/*****************************************************************************
**                   Semantische Ueberpruefungen                           *** 
**                                                                         ***
** Da z.b. ein I,l,1 sehr gleich aussehen werden bei nicht-erfolgreicher   ***
** Suche im Woerterbuch einfach mal die anderen Moeglichkeiten eingesetzt. ***
**                                                                         ***
*****************************************************************************/

#include <stdlib.h>
#include <stdio.h>
#include "baum.h"
#include "win.h"


char GefundeneWoerter[60][60];
extern struct Objekt *WListe,*Wort,*WEingabe,*FLERNEN,*FWEITER;
extern char *arg1;
extern long Statu;
long aha;

short int GrossAnfang(Text,Anzahl)
char *Text;
long Anzahl;
{
 char retten;
 retten=Text[0];
 if ((Text[0]>='A') && (Text[0]<='Z')) Text[0]=Text[0]-'A'+'a';
 if (Text[0]=='Ö') Text[0]='ö';
 if (Text[0]=='Ü') Text[0]='ü';
 if (Text[0]=='Ä') Text[0]='ä';
 if (SucheElement(Text)) { Text[0]=retten; return(1); }
 Text[0]=retten;
 if ((Text[0]>='a') && (Text[0]<='z')) Text[0]=Text[0]-'a'+'A';
 if (Text[0]=='ü') Text[0]='Ü';
 if (Text[0]=='Ö') Text[0]='ö';
 if (Text[0]=='Ä') Text[0]='ä';
 if (SucheElement(Text)) { Text[0]=retten; return(1); }
 Text[0]=retten;
 return(0);
}

short int SematischerCheck(Puffer,Anzahl)
char *Puffer;
long Anzahl;
{
 char Text[100],retten; 
 long t,i;
 aha=0; 
 strcpy(Text,Puffer);
 if (Anzahl==1) return(1); 

 /*************************/
 /* Grossb. durch Kleinb. */
 /*************************/

 for (i=0;i<Anzahl;i++)
 {
  if ((Text[i]>='A') && (Text[i]<='Z')) { Text[i]=Text[i]-'A'+'a'; }
  if (Text[i]=='Ä') Text[i]='ä';
  if (Text[i]=='Ö') Text[i]='ö';
  if (Text[i]=='Ü') Text[i]='ü';
 }
 if (SucheElement(Text)) { return(1); }
 Text[0]=Text[0]-'a'+'A';
 if (SucheElement(Text)) { return(1); }
 for (i=0;i<Anzahl;i++)
 {
  if ((Text[i]>='a') && (Text[i]<='z')) { Text[i]=Text[i]-'a'+'A'; }
  if (Text[i]=='ä') Text[i]='Ä';
  if (Text[i]=='ü') Text[i]='Ü';
  if (Text[i]=='ö') Text[i]='Ö';
 }
  if (SucheElement(Text)) { return(1); }
  strcpy(Text,Puffer);


 for (t=0;t<Anzahl;t++)
 {
  retten=Text[t];
 
 /***************************/
 /* Check ob I,l,1 vorkommt   */
 /***************************/

 if (Text[t]=='1') 
 { 
   Text[t]='l';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t]; return(1); }
   Text[t]='I';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t]; return(1); }
   Text[t]=retten; 
 }

 if (Text[t]=='I') 
 { 
   Text[t]='l';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t]; return(1); }
   Text[t]=retten; 
 }

 if (Text[t]=='l') 
 { 
   Text[t]='I';  
   if (SucheElement(Text))        { Puffer[t]=Text[t];  return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 

 if ((Text[t]=='I') && (Text[t+1]=='I')) 
 { 
   Text[t]='l'; Text[t+1]='l';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; Puffer[t+1]=Text[t+1]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t]; Puffer[t+1]=Text[t+1]; return(1);  }
   Text[t]='I'; Text[t+1]='l';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='l'; Text[t+1]='I';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   Text[t]=retten; Text[t+1]=Puffer[t+1];
 }

 if ((Text[t]=='I') && (Text[t+1]=='l')) 
 { 
   Text[t]='I'; Text[t+1]='I';  
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='l'; Text[t+1]='I';
   if (SucheElement(Text))       { Puffer[t]=Text[t];   Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)){ Puffer[t]=Text[t];   Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='l'; Text[t+1]='l';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]=retten; Text[t+1]=Puffer[t+1];
 }


 if ((Text[t]=='l') && (Text[t+1]=='I')) 
 { 
   Text[t]='l'; Text[t+1]='l';  
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1];  return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1];  return(1); }
   Text[t]='I'; Text[t+1]='I';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
    Text[t]='I'; Text[t+1]='l';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]=retten; Text[t+1]=Puffer[t+1];
 }

 if ((Text[t]=='l') && (Text[t+1]=='l')) 
 { 
   Text[t]='I'; Text[t+1]='I';  
   if (SucheElement(Text))        { Puffer[t]=Text[t];     Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];     Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='l'; Text[t+1]='I';
   if (SucheElement(Text))        { Puffer[t]=Text[t];     Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];     Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='I'; Text[t+1]='l';
   if (SucheElement(Text))        { Puffer[t]=Text[t];     Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];     Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]=retten; Text[t+1]=Puffer[t+1];
 }

 if ((Text[t]=='I') && (Text[t+1]=='1')) 
 { 
   Text[t]='l'; Text[t+1]='l';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; Puffer[t+1]=Text[t+1]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t]; Puffer[t+1]=Text[t+1]; return(1);  }
   Text[t]='I'; Text[t+1]='l';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='l'; Text[t+1]='I';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   Text[t]='I'; Text[t+1]='I';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   Text[t]=retten; Text[t+1]=Puffer[t+1];
 }

 if ((Text[t]=='1') && (Text[t+1]=='I')) 
 { 
   Text[t]='I'; Text[t+1]='I';  
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='l'; Text[t+1]='I';
   if (SucheElement(Text))       { Puffer[t]=Text[t];   Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)){ Puffer[t]=Text[t];   Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='l'; Text[t+1]='l';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='I'; Text[t+1]='l';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   Text[t]=retten; Text[t+1]=Puffer[t+1];
 }
 
 if ((Text[t]=='l') && (Text[t+1]=='1')) 
 { 
   Text[t]='l'; Text[t+1]='l';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; Puffer[t+1]=Text[t+1]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t]; Puffer[t+1]=Text[t+1]; return(1);  }
   Text[t]='I'; Text[t+1]='l';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='l'; Text[t+1]='I';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   Text[t]='I'; Text[t+1]='I';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   Text[t]=retten; Text[t+1]=Puffer[t+1];
 }

 if ((Text[t]=='1') && (Text[t+1]=='l')) 
 { 
   Text[t]='I'; Text[t+1]='I';  
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='l'; Text[t+1]='I';
   if (SucheElement(Text))       { Puffer[t]=Text[t];   Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)){ Puffer[t]=Text[t];   Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='l'; Text[t+1]='l';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1); }
   Text[t]='I'; Text[t+1]='l';
   if (SucheElement(Text))        { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  Puffer[t+1]=Text[t+1]; return(1);  }
   Text[t]=retten; Text[t+1]=Puffer[t+1];
 }

 /****************************/
 /* Check ob 8,B,ß  vorkommt */
 /****************************/
 
 if (Text[t]=='8') 
 { 
   Text[t]='B';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='ß';
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }
 if (Text[t]=='ß') 
 { 
   Text[t]='B';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
 }
 if (Text[t]=='B') 
 { 
   Text[t]='ß';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
 }
 
 /**************************/
 /* Check O,D vorkommt     */
 /**************************/

 if (Text[t]=='O') 
 { 
   Text[t]='D';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }

 if (Text[t]=='D') 
 { 
   Text[t]='O';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 

 /*************************/
 /* Check ob k,h,b        */
 /*************************/
 
 if (Text[t]=='b') 
 { 
   Text[t]='h';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='k';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 
 if (Text[t]=='h') 
 { 
   Text[t]='b';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='k';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 
 if (Text[t]=='k') 
 { 
   Text[t]='h';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='b';  
   if (SucheElement(Text))         { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl))  { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  
 
 /*************************/
 /* Check M,W             */
 /*************************/
 
 if (Text[t]=='M') 
 { 
   Text[t]='W';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  
 if (Text[t]=='W') 
 { 
   Text[t]='M';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  
 
 /*************************/
 /* Check U,V             */
 /*************************/

 if (Text[t]=='U') 
 { 
   Text[t]='V';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  
 if (Text[t]=='V') 
 { 
   Text[t]='U';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  
 
 /*************************/
 /* Check f,t             */
 /*************************/

 if (Text[t]=='f') 
 { 
   Text[t]='t';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  
 if (Text[t]=='t') 
 { 
   Text[t]='f';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  
 
 /*************************/
 /* Check H,tt            */
 /*************************/
 
 if (Text[t]=='H') 
 {
  for (i=Anzahl;i!=t;i--) Text[i+1]=Text[i];
  Text[t]='t';
  Text[t+1]='t';
  if (SucheElement(Text))        { strcpy(Puffer,Text); return(1); }                  
  if (GrossAnfang(Text,Anzahl)) { strcpy(Puffer,Text); return(1); }
  strcpy(Text,Puffer);                  
 }
 if ((Text[t]=='t') && (Text[t+1]=='t'))
 {
  for (i=t;i<=Anzahl;i++) Text[i]=Text[i+1]; 
  Text[t]='H';
  if (SucheElement(Text))        { strcpy(Puffer,Text); return(1); }
  if (GrossAnfang(Text,Anzahl)) { strcpy(Puffer,Text); return(1); }
  strcpy(Text,Puffer);
 }  
 
 /*************************/
 /* Check m,rn            */
 /*************************/
 
 if (Text[t]=='m') 
 {
  for (i=Anzahl;i!=t;i--) Text[i+1]=Text[i];
  Text[t]='r';
  Text[t+1]='n';
  if (SucheElement(Text))        { strcpy(Puffer,Text); return(1); }                  
  if (GrossAnfang(Text,Anzahl)) { strcpy(Puffer,Text); return(1); }
  strcpy(Text,Puffer);                  
 }
 if ((Text[t]=='r') && (Text[t+1]=='n'))
 {
  for (i=t;i<=Anzahl;i++) Text[i]=Text[i+1]; 
  Text[t]='m';
  if (SucheElement(Text))        { strcpy(Puffer,Text); return(1); }
  if (GrossAnfang(Text,Anzahl)) { strcpy(Puffer,Text); return(1); }
  strcpy(Text,Puffer);
 }  

 /*************************/
 /* Check rr,n            */
 /*************************/
 
 if (Text[t]=='n') 
 {
  for (i=Anzahl;i!=t;i--) Text[i+1]=Text[i];
  Text[t]='r';
  Text[t+1]='r';
  if (SucheElement(Text))        { strcpy(Puffer,Text); return(1); }                  
  if (GrossAnfang(Text,Anzahl)) { strcpy(Puffer,Text); return(1); }
  strcpy(Text,Puffer);                  
 }
 if ((Text[t]=='r') && (Text[t+1]=='r'))
 {
  for (i=t;i<=Anzahl;i++) Text[i]=Text[i+1]; 
  Text[t]='n';
  if (SucheElement(Text))        { strcpy(Puffer,Text); return(1); }
  if (GrossAnfang(Text,Anzahl)) { strcpy(Puffer,Text); return(1); }
  strcpy(Text,Puffer);
 }  

 /*************************/
 /* Check n,u,v           */
 /*************************/
  
 if (Text[t]=='n') 
 { 
   Text[t]='u';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); } 
   Text[t]='v';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 
 if (Text[t]=='v') 
 { 
   Text[t]='u';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='n';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 
 if (Text[t]=='u') 
 { 
   Text[t]='v';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t]; return(1);  }
   Text[t]='n';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  

 /*************************/
 /* y,g,q                 */
 /*************************/

 if (Text[t]=='y') 
 { 
   Text[t]='q';  
   if (SucheElement(Text))         { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl))  { Puffer[t]=Text[t];  return(1); }
   Text[t]='g';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 
 if (Text[t]=='q') 
 { 
   Text[t]='g';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='y';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 
 if (Text[t]=='g') 
 { 
   Text[t]='y';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='q';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  

 /*************************/
 /* a,o,u                 */
 /*************************/

 if (Text[t]=='a') 
 { 
   Text[t]='o';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='u';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 
 if (Text[t]=='o') 
 { 
   Text[t]='u';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='a';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 
 if (Text[t]=='u') 
 { 
   Text[t]='a';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='o';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1); }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  
  
 /*************************/
 /* ae,oe,ue              */
 /*************************/
 
 if (Text[t]=='ä') 
 { 
   Text[t]='ö';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='ü';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 
 if (Text[t]=='ö') 
 { 
   Text[t]='ü';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]='ä';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 } 
 if (Text[t]=='ü') 
 { 
   Text[t]='ä';  
   if (GrossAnfang(Text,Anzahl)) {  Puffer[t]=Text[t]; return(1); }
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1);  }
   Text[t]='ö';  
   if (SucheElement(Text))        { Puffer[t]=Text[t]; return(1);  }
   if (GrossAnfang(Text,Anzahl)) { Puffer[t]=Text[t];  return(1); }
   Text[t]=retten; 
 }  

 /*************************/
 /* !! Sezte alles ein !! */
 /*************************/
 if (Anzahl>=9)
 {  
  if (t==0) 
  {
   for (i=0;i<26;i++)
   {
    Text[t]=i+'A';
    if (SucheElement(Text))       { strcpy(GefundeneWoerter[aha],Text); aha++; }    
    if (GrossAnfang(Text,Anzahl)) { strcpy(GefundeneWoerter[aha],Text); aha++; }
    if (aha>59) aha=59;
   } /* for */
  } /* t != 0 */
  for (i=0;i<26;i++)
  {
   Text[t]=i+'a';
   if (SucheElement(Text))       { strcpy(GefundeneWoerter[aha],Text); aha++; } else
   if (GrossAnfang(Text,Anzahl)) { strcpy(GefundeneWoerter[aha],Text); aha++; }
   if (aha>59) aha=59;
  } 
  Text[t]='Ä';
  if (SucheElement(Text))        { strcpy(GefundeneWoerter[aha],Text); aha++;  } else
  if (GrossAnfang(Text,Anzahl))  { strcpy(GefundeneWoerter[aha],Text); aha++;  }
  Text[t]='Ü';
  if (SucheElement(Text))        { strcpy(GefundeneWoerter[aha],Text); aha++;  } else
  if (GrossAnfang(Text,Anzahl))  { strcpy(GefundeneWoerter[aha],Text); aha++;  }
  Text[t]='Ö';
  if (SucheElement(Text))        { strcpy(GefundeneWoerter[aha],Text); aha++;  } else
  if (GrossAnfang(Text,Anzahl))  { strcpy(GefundeneWoerter[aha],Text); aha++;  }
  Text[t]='ö';
  if (SucheElement(Text))        { strcpy(GefundeneWoerter[aha],Text); aha++;  } else
  if (GrossAnfang(Text,Anzahl))  { strcpy(GefundeneWoerter[aha],Text); aha++;  }
  Text[t]='ä';
  if (SucheElement(Text))        { strcpy(GefundeneWoerter[aha],Text); aha++;  } else
  if (GrossAnfang(Text,Anzahl))  { strcpy(GefundeneWoerter[aha],Text); aha++;  }
  Text[t]='ü';
  if (SucheElement(Text))        { strcpy(GefundeneWoerter[aha],Text); aha++;  } else
  if (GrossAnfang(Text,Anzahl))  { strcpy(GefundeneWoerter[aha],Text); aha++;  }
  Text[t]=retten;
  if (aha>59) aha=59;
  } /* t>9 */
 } /* for () */
  if (aha==1)
  {
    strcpy(Puffer,GefundeneWoerter[0]); return(1);
  } else
  { /* keine oder mehr als eine weitere Moeglichkeit gefunden ! */
   ClearListe(WListe);
   for (t=0;t<aha;t++)
   {
    AddListElement(WListe,GefundeneWoerter[t]);
   }
   if (aha==0) AddListElement(WListe,"KEIN EINTRAG");
   PutString(WEingabe,Puffer);
   SetWindow(Wort);
   SetObjektSichtbar(Wort,WAHR);
   TakeControlUntil(FLERNEN,FWEITER,FWEITER,FWEITER,FWEITER,FWEITER);
   SetObjektSichtbar(Wort,FALSCH);
   strcpy(Puffer,GetString(WEingabe));
   if (Statu==1)
   {
    FILE *file;
    file=fopen(arg1,"a+");
    if (file==NULL) return(1);
    fseek(file,0,2);
    fprintf(file,"\n%s ",Puffer);
    fclose(file);             
    ElementEinfuegen(Puffer);
   }
   return(1);
  }
 return(0);
}

