ue statt ü 

Um Texte manipulieren zu können, muss man sie zunächst in ihre Einzelteile zerlegen. Texte zerlegt man in Zeilen, Zeilen in Wörter, Wörter wiederum in Zeichen (z.B. Buchstaben). Lädt man eine Textdatei z.B. in eine Listbox, so ist das Zerlegen in einzelne Zeilen bereits geschehen:

zeile := ListBox1.Items[z]

wobei z ein Zähler ist, der von 0 bis ListBox1.Items.Count-1, dem Index der letzten Zeile läuft. Jede Zeile ist eine Zeichenkette (string), dessen einzelne Zeichen man wiederum mit

ch := zeile[n]

auslesen kann. (zeile[0] beschreibt übrigens in Pascal die Länge des Strings zeile)

Jetzt muss man nur noch entscheiden, ob ein ausgelesenes Zeichen z.B. ein  deutscher Umlaut ist, und ihn dann durch die entsprechenden Umschreibungen ersetzen. Es gibt zwar in Pascal Funktionen, die Zeichenketten suchen und ersetzen, eleganter kann dies jedoch durch folgende Prozedur geschehen:

procedure Ersetze;

var n,z : integer;
zeile,hz : string;
ch : char; 

begin
for z := 0 to ListBox1.Items.Count-1 do begin
  zeile := ListBox1.Items[z];
  hz := '';
  for n := 1 to length(zeile) do begin
     ch := zeile[n];
     case ch of
       'ü' : hz := hz+'ue';
       'ö' : hz := hz+'oe';
       'ä' : hz := hz+'ae';
       else hz := hz +ch;
   end;
   ListBox1.Items[z] := hz;
 end
end;
end;

Man initialisiert eine Hilfsvariable hz zu Beginn jeder Zeile und fügt sie dann zeichenweise zusammen, indem man  die einzelnen Zeichen einer Zeile wieder hinten anfügt, es sei denn, man wolle ein Zeichen durch ein anderes oder eine bestimmte Zeichenkette ersetzen.

Aufgaben

Zurück zu Delphi

© Dietrich Praclik