Autor Beitrag
Pascall
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 08.11.09 12:42 
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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:

ausblenden 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;

_________________
We are, we were and will not be.
Pascall Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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.
forum.delphi-treff.d...owthread.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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: 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: www.delphipraxis.net...1099063.html#1099063

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Pascall Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 08.11.09 15:52 
Dankeschön =)

Pascall

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