home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------- *)
- (* P.PAS *)
- (* Phonetische Suche *)
- (* (c) 1991 Ulrich Borgdorf & DMV-Verlag *)
- (* ------------------------------------------------- *)
- PROGRAM Phonetische_Suche;
-
- USES Crt;
-
- VAR
- Eingabe, Ausgabe : STRING [40];
-
- FUNCTION Phonetisch(Ein : STRING) : STRING;
- VAR
- Zeichen : CHAR;
- Aus : STRING;
- i, Code : BYTE;
- BEGIN
- Aus := '';
- FOR i := 1 TO Length(Ein) DO BEGIN
- Zeichen := UpCase(Ein[i]);
- CASE Zeichen OF
- 'A','ä','Ä','E','H',
- 'I','U','ü','Ü','W','Y' : Aus := Aus + 'A';
- 'B','F','P','V' : Aus := Aus + 'B';
- 'C','G','J','K','Q',
- 'S','ß','X','Z' : Aus := Aus + 'C';
- 'D','T' : Aus := Aus + 'D';
- 'M','N' : Aus := Aus + 'M';
- 'L' : Aus := Aus + 'L';
- 'R' : Aus := Aus + 'R';
- END;
- IF (Zeichen >= '0') AND (Zeichen <= '9') THEN
- Aus := Aus + Zeichen;
- END;
- Ein := Aus;
- Aus := '';
- FOR i := 1 TO Length(Ein) DO BEGIN
- IF Ein[i] <> Aus[Length(Aus)] THEN
- Aus := Aus + Ein[i];
- END;
- Phonetisch := Aus;
- END;
-
- BEGIN
- ClrScr;
- WriteLn('Phonetische Suche');
- REPEAT
- ReadLn(Eingabe);
- Ausgabe := Phonetisch(Eingabe);
- WriteLn('Aus ', Eingabe, ' wird ', Ausgabe);
- UNTIL Ausgabe = 'AMDA';
- WriteLn('* Ende *');
- REPEAT UNTIL KeyPressed;
- END.
- (* ------------------------------------------------- *)
- (* Ende von P.PAS *)
-