Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Buchstaben in Text suchen & ersetzen


Pascall - So 08.11.09 12:42
Titel: Buchstaben in Text suchen & ersetzen
Hey

Ich bin ein Delphi Neuling und würde mich freuen wenn ihr mir helfen könntet.
Folgendes Problem versuche ich zu beheben.

Ich habe einen Text in einem Memo Feld. In diesem Memo Feld will ich jedes Wort durchgehen und alle Buchstaben ersetzen.
Folgendes soll passieren:

Text wird durchgegangen und der erste Buchstabe in einer Tabelle (Stringgrid) gesucht. Zu diesem Buchstaben gibt es in der Tabelle ein Gegenstück, durch was es ersetzt werden soll.


Erst habe ich es mit Ansireplace versucht, nur dabei ist das Problem, dass wenn der Text durchgegangen wird z.B. das erste mal A -> Z ersetzt wird, schließlich wird am Ende dann wieder Z -> G ersetzt und alles stimmt nicht mehr. Anfangen will ich mit: for i := 1 to L do begin (L ist die Länge des Textes)

Vielen Dank für eure Hilfe

Pascall


Gausi - So 08.11.09 13:15

Hallo und :welcome: in der Entwickler-Ecke,

das sollte mit der Case-Of-Anweisung ganz gut gehen. In etwa so:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
var s: String;

// Memo-Text kopieren
s := Memo1.Text;
for i := 1 to length(s) do
begin
  case s[i] of
      'A': s[i] := 'Z';
      'Z': s[i] := 'G';
      /// usw.
  end;
end;
// Text im Memo neu setzen
Memo1.Text := s;


Pascall - So 08.11.09 13:34

Hey

Danke schon Mal für deine Hilfe.
Mein neues Problem ist, dass ich gerne die Buchstaben direkt aus einer Tabelle auslesen möchte (da sie sich verändern können), mit deinem Beispiel etwa so:

for i := 1 to length(mOriginal.Text) do begin
case Text2[i] of
stringgrid1.Cells[0,0]: Text2[i] := stringgrid1.Cells[3,0]; //usw.
end;


Wie kann man dann das Problem lösen? Danke =)

Pascall

(Wie kann man in dem Forum Delphi Code einfügen? )


jaenicke - So 08.11.09 14:13

Wenn du die geposteten Quelltexte nicht selbst anpassen möchtest, dann wird die Frage hier auch wenig Sinn haben. Schließlich hast du bereits Beispiele bekommen.

Was dabei herauskommt, wenn du nicht dazuschreibst, dass du bereits woanders gefragt hast, siehst du ja... :roll:
user profile iconGausi hat quasi das selbe gepostet wie drüben schon gepostet wurde.
http://forum.delphi-treff.de/showthread.php?t=27800

Ich sehe nicht wo dein Problem bei den Beispielen ist, was das StringGrid angeht hatte ich ja auch noch etwas geschrieben.


Lannes - So 08.11.09 14:27

Hallo,
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
...
Was dabei herauskommt, wenn du nicht dazuschreibst, dass du bereits woanders gefragt hast, siehst du ja... :roll:

Bei seiner dritten Anlaufstelle sieht man was dabei herrauskommt, er hat fertigen Code bekommen :wink:
DP: http://www.delphipraxis.net/post1099063.html#1099063


Pascall - So 08.11.09 15:52

Dankeschön =)

Pascall

PS: Vielleicht finden sich ja noch weiter Anlaufstellen, nur weiter Googlen