| Autor |
Beitrag |
Goolix
      
Beiträge: 83
|
Verfasst: Mi 25.02.04 15:50
Hi, also ich habe jetzt seit einem halben jahr Informatik-Unterricht.
Bei dieser Aufgabe komm ich allerdings garnicht weiter, wenn ihr mir da wohl weiterhelfen könntet:
Aufgabenstellung ist folgende:
2 Memofenster, in einem ein Text (Drei Chinesen mit dem kontrabass...)
mit dem buttonklick [A] sollen jetzt alle Vokale in ein 'a' umgewandelt werden und die neue Strophe
im Memo2-Feld ausgegeben werden. Leider weiß ich überhaupt nicht wie ich da voran gehen soll, da ich die meisten befehle nicht kenne
und auch in der hilfe nix gescheites gefunden habe.
Es wäre super wenn jemand einen Bsp-source schreiben könnte
gruß
goolix
|
|
Phantom1
      
Beiträge: 390
|
Verfasst: Mi 25.02.04 16:12
Du kannst dafür die Function StringReplace benutzen.
| Zitat: |
Die Funktion gibt einen String mit ersetzten Sub-Strings zurück.
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
Beschreibung
Mit StringReplace ersetzen Sie in dem angegebenen String den im Parameter OldPattern festgelegten Sub-String mit dem im Parameter NewPattern übergebenen neuen Sub-String. StringReplace nimmt an, dass der String Multibyte-Zeichen enthalten kann.
S ist der Ausgangs-String, dessen Sub-Strings geändert werden sollen.
OldPattern ist der Sub-String, der gefunden und durch NewPattern ersetzt werden soll.
NewPattern ist der Sub-String, bei dem die Vorkommen von OldPattern ersetzt werden sollen.
Flags ist eine Gruppe von Flags, die steuern, wie StringReplace die Vorkommen von OldPattern sucht und ersetzt. Wenn Flags rfReplaceAll nicht enthält, ersetzt StringReplace nur das erste Vorkommen von OldPattern
in S. Andernfalls ersetzt StringReplace alle Instanzen von OldPattern durch NewPattern. Wenn der Parameter Flags rfIgnoreCase enthält, wird die Groß-/Kleinschreibung nicht berücksichtigt. |
|
|
Chatfix
      
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: Mi 25.02.04 16:34
Da Du ja anhängen möchtest must du nur noch ne schleife machen
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure ButtonAClick(...); var i: Integer; TmpStr: String; begin for i := 0 to Memo1.Lines.Count - 1 do begin TmpStr := StringReplace(Memo1.Lines[i], 'e', 'a', [rfReplaceAll, rfIgnoreCase]); TmpStr := StringReplace(TmpStr, 'i', 'a', [rfReplaceAll, rfIgnoreCase]); TmpStr := StringReplace(TmpStr, 'o', 'a', [rfReplaceAll, rfIgnoreCase]); Memo1.Lines.Add(TmpStr); end; end; |
Code nicht getestet!
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
StefanH
      
Beiträge: 1144
Win XP
D5 Standard, D7 Pers, D2005 Pers
|
Verfasst: Mi 25.02.04 18:20
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| var TmpStr: string; begin TmpStr:= Memo1.Text; TmpStr := StringReplace(TmpStr, 'e', 'a', [rfReplaceAll, rfIgnoreCase]); TmpStr := StringReplace(TmpStr, 'i', 'a', [rfReplaceAll, rfIgnoreCase]); TmpStr := StringReplace(TmpStr, 'o', 'a', [rfReplaceAll, rfIgnoreCase]); TmpStr := StringReplace(TmpStr, 'u', 'a', [rfReplaceAll, rfIgnoreCase]); Memo1.Lines.Add(TmpStr); end; |
ist doch viel kürzer  und außer dem hattest du "u" vergessen dank an obbschtkuche : D
_________________ "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
|
|
Goolix 
      
Beiträge: 83
|
Verfasst: Fr 27.02.04 12:05
danke für eure hilfe... habs jetzt *freu*
/goolix
|
|
|