Hallo Leute, ich habe folgendes Problem.
Wir müssen für die Schuele ein Programm schreiben, was umlaute und die SOnderzeichen die man über die Tastatur eingeben kann ändert, also ä in ae ö in oe... und ! in eine Lücke, " in eine Lücke...
Das funktioniert auch schon fast.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| function TForm1.umlaute(um: string): string; var i: integer; begin um := lowercase(um);
for i := 1 to length(um) do begin case um[i] of 'ä': um := 'ae'; 'ö': um := 'oe'; 'ü': um := 'ue'; 'ß': um := 'ss'; '!': um := ' '; '"': um := ' '; '§': um := ' '; '$': um := ' '; '%': um := ' '; '&': um := ' '; '/': um := ' '; '(': um := ' '; ')': um := ' '; '=': um := ' '; '?': um := ' '; end; end; umlaute := um; end; |
Und in der Buttonklick Procedure steht
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.Button6Click(Sender: TObject); begin umlau := edit6.text; panel6.caption := umlaute(umlau); end; |
So, wenn ich nun auf den Button klicke, und ein Umlaut oder Sonderzeichen eingegeben habe, dann wird nur die veränderung ausgegeben.
Ich habe es auch schon so versucht
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| function TForm1.umlaute(um: string): string; var i: integer; begin um := lowercase(um);
for i := 1 to length(um) do begin case um[i] of 'ä': um[i] := 'ae'; 'ö': um[i] := 'oe'; 'ü': um[i] := 'ue'; 'ß': um[i] := 'ss'; '!': um[i] := ' '; '"': um[i] := ' '; '§': um[i] := ' '; '$': um[i] := ' '; '%': um[i] := ' '; '&': um[i] := ' '; '/': um[i] := ' '; '(': um[i] := ' '; ')': um[i] := ' '; '=': um[i] := ' '; '?': um[i] := ' '; end; end; umlaute := um; end; |
Mit der gleichen Buttonklick Procedure, aber dann kommt die Fehlermeldung:
Inkompatible Typen: 'Char' und 'String'
Könntet ihr mir vielleicht helfen, wie es anders geht.
mfg:Somebody