![]() |
Umlaute ersetzen?
Hallo!
Ich schreibe gerade an einer Prozedur, die ae, ue, oe in ä,ü,ö umwandelt. Doch leider stoße ich da grad an ein Problem. Das Problem ist, dass der zwar ae durch ein ä ersetzt, aber blöderweiße dann noch das e von ae im String bleibt und noch mit hin geschrieben wird. Letztendlich steht dann dort äe. Das habe ich versucht durch diese Prozedur zu lösen:
Delphi-Quellcode:
Wie zu erkennen, habe ich versucht das ganze mit einer Case - Auswahl zu lösen. Das klappt bei auch sonst ganz gut, nur bei dem e happerts. Man müsste doch die Zählvariable ( in meinen Fall z ) erhöhen können. Geht das?
'e':
begin if eingabe[z-1]<>'u' then txt:= txt+'e'; if eingabe[z-1]<>'o' then txt:= txt+'e'; if eingabe[z-1]<>'A' then txt:= txt+'e'; if eingabe[z-1]<>'U' then txt:= txt+'e'; if eingabe[z-1]<>'O' then txt:= txt+'e'; end; Die restliche Prozedur ist nach dem Schema aufgebaut:
Delphi-Quellcode:
Freue mich schon auf eure Hilfe, weil ich da echt schon jetzt lange dran knabber :gruebel:
eingabe:= Edit2.Text;
txt:= ''; for z:=1 to length(eingabe) do begin case eingabe[z] of 'a': begin if eingabe[z+1]='e' then txt:= txt+'ä'; end; |
Re: Umlaute ersetzen?
Wieso nutzt Du nicht einfach StringReplace?
|
Re: Umlaute ersetzen?
wie funktioniert StringReplace denn?
|
Re: Umlaute ersetzen?
Delphi-Quellcode:
Macht aus allen kleinen 'ae's kleine 'ä's.
Text := StringReplace(Text,'ae','ä',[rfRepaceAll]);
|
Re: Umlaute ersetzen?
supi danke :)
Ich muss dann noch vorher txt:= Edit2.Text setzen, oder? |
Re: Umlaute ersetzen?
Mach in meinem Beispiel einfach aus Text Edit2.Text, das passt schon.
|
Re: Umlaute ersetzen?
Funzt leider nicht...
Delphi-Quellcode:
eingabe:= Edit2.Text;
eingabe := StringReplace(Text,'ae','ä',[rfReplaceAll]); eingabe := StringReplace(Text,'ue','ü',[rfReplaceAll]); eingabe := StringReplace(Text,'oe','ö',[rfReplaceAll]); eingabe := StringReplace(Text,'Ae','Ä',[rfReplaceAll]); eingabe := StringReplace(Text,'Ue','Ü',[rfReplaceAll]); eingabe := StringReplace(Text,'Oe','Ö',[rfReplaceAll]); Edit1.Text:= eingabe; Er schreibt meinen Programmnamen in das EditFeld : :shock: |
Re: Umlaute ersetzen?
Delphi-Quellcode:
eingabe:= Edit2.Text;
eingabe := StringReplace(eingabe ,'ae','ä',[rfReplaceAll]); eingabe := StringReplace(eingabe ,'ue','ü',[rfReplaceAll]); eingabe := StringReplace(eingabe ,'oe','ö',[rfReplaceAll]); eingabe := StringReplace(eingabe ,'Ae','Ä',[rfReplaceAll]); eingabe := StringReplace(eingabe ,'Ue','Ü',[rfReplaceAll]); eingabe := StringReplace(eingabe ,'Oe','Ö',[rfReplaceAll]); Edit1.Text:= eingabe; |
Re: Umlaute ersetzen?
Ich Dummkopf :wall:
vielen Dank! :spin2: |
Re: Umlaute ersetzen?
Zitat:
wenn du schon so weit bist, dann könntest du jetzt auch reif sein für die Erkenntnis, dass die ganze Funktion weitgehend sinnlos ist, weil man zwar ä durch ae ersetzen kann, nicht aber umgekehrt: Bauernkriege -> Baürnkriege??? Gruss Reinhard PS: Bis zum Lottöinzahlungsschluss daürt es noch etwas, trinken Sie solange eine Tasse Mokkärsatz? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz