struct        StringsBase     *StringsBase=0L;

/*#define RUN*/
#ifdef RUN

char *GetWord(s,numberl) char *s; long numberl; {
  char *p,*ps,*as; char c;
  ps=s; if(numberl<1) numberl=1; 
  if(s) {
   do {                             /* wordcountlloop */
    do { c=*ps++; } while (c==' '); /* readover SPACES */
    ps--; as=ps;
    if(c) {     /* charscpy until SPACE (next word) or EOS */
     do { c=*ps++; } while (!(c==' ') && c ); 
    }
    if(!c) numberl=0; if(numberl>0) numberl--;
   } while (numberl);
   p=s; ps--; 
   do { *p++=*as++; } while (as<ps);
   ps++; if(!c) *ps=0;
   *p=0;
  }
  if(!s) ps=0;
  return ps; 
 }                                                /* $VER: GetWord 0.1 */

#endif

main() {
  long el=0,il; char *p; char ds[256],s[256],ts[256];  el++; p=0;
  StringsBase=(struct StringsBase *)OpenLibrary("Strings.library",0);
  if(StringsBase) {
   strcpy(ds,"    "); strcpy(s,ds); GetWord(s,1); 
   printf("ds = <%s> s = <%s>\n",ds,s);
   strcpy(ds," "); strcpy(s,ds);   GetWord(s,2); 
   printf("ds = <%s> s = <%s>\n",ds,s);
   strcpy(ds,""); strcpy(s,ds);   GetWord(s,3); 
   printf("ds = <%s> s = <%s>\n",ds,s);
   strcpy(ds,"  Dies ist   ein      Teststring der nacheinander aufgeteilt wird"); 
   for(il=0,printf(" <%s> \n",s),strcpy(s,ds); il<11; il++,strcpy(s,ds)) {
    p=(char *)GetWord(s,il); printf("s = <%s>  p = <%s>  %ld\n",s,p,il); 
   };
   strcpy(ds,"Dies ist ein Teststring der nacheinander aufgeteilt wird");
   strcpy(s,ds);
   for(il=0,printf(" <%s> \n",s),strcpy(s,ds);il<11; il++,strcpy(s,ds)) {
    p=(char *)GetWord(s,il); printf("s = <%s>  p = <%s>  %ld\n",s,p,il);  
   };
   CloseLibrary(StringsBase);
  }
 }  /*
ds = <    > s = <>
ds = < > s = <>
ds = <> s = <>
 <>
s = <Dies>  p = <ist   ein      Teststring der nacheinander aufgeteilt wird>  0
s = <Dies>  p = <ist   ein      Teststring der nacheinander aufgeteilt wird>  1
s = <ist>  p = <  ein      Teststring der nacheinander aufgeteilt wird>  2
s = <ein>  p = <     Teststring der nacheinander aufgeteilt wird>  3
s = <Teststring>  p = <der nacheinander aufgeteilt wird>  4
s = <der>  p = <nacheinander aufgeteilt wird>  5
s = <nacheinander>  p = <aufgeteilt wird>  6
s = <aufgeteilt>  p = <wird>  7
s = <wird>  p = <>  8
s = <wird>  p = <>  9
s = <wird>  p = <>  10
 <Dies ist ein Teststring der nacheinander aufgeteilt wird>
s = <Dies>  p = <ist ein Teststring der nacheinander aufgeteilt wird>  0
s = <Dies>  p = <ist ein Teststring der nacheinander aufgeteilt wird>  1
s = <ist>  p = <ein Teststring der nacheinander aufgeteilt wird>  2
s = <ein>  p = <Teststring der nacheinander aufgeteilt wird>  3
s = <Teststring>  p = <der nacheinander aufgeteilt wird>  4
s = <der>  p = <nacheinander aufgeteilt wird>  5
s = <nacheinander>  p = <aufgeteilt wird>  6
s = <aufgeteilt>  p = <wird>  7
s = <wird>  p = <>  8
s = <wird>  p = <>  9
s = <wird>  p = <>  10  */


