Hallo an alle hier im Forum.
Hab' mal wieder ein Problem und zwar mit Umlauten.
Ich muss aus einem String mit dem Copy-Befehl bestimmte Stellen auslesen.
Beispiel:
In einem String A steht folgender Text: 'Änderungsdatum:16.01.2010'.
Ich möchte nur das Datum aus diesem String A nach String B bringen.
A: String;
B: String;
B:=Copy (A,16,10);
danach steht im String B leider nicht '16.01.2010' sondern ':16.01.201'
Das ist wohl deshalb so, weil ein Umlaut 2 Stellen belegt und dadurch alles verschoben wird.
Hat jemand eine Idee wie man das lösen könnte?
Dank schon mal vorweg, Hercules.
Das ewige Thema mit den Umlauten
-
martin_frb
- Beiträge: 597
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: Das ewige Thema mit den Umlauten
LCLProc.UTF8Copy
Schau dir mal die LCLProc unit an, da sind jede Menge utf8 helfer
Schau dir mal die LCLProc unit an, da sind jede Menge utf8 helfer
-
Hercules
- Beiträge: 104
- Registriert: Mi 2. Jun 2010, 17:56
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: Das ewige Thema mit den Umlauten
Hallo Martin, danke für den Hinweis, hab' die Unit gefunden, muß mich da mal durchwühlen.
Danke und noch schönen Tag.
Danke und noch schönen Tag.
-
Socke
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Das ewige Thema mit den Umlauten
String[] und Copy() arbeiten auf Byte-Basis. Wenn du also UTF-8 verwendest, ist dein 'Ä' genau zwei Byte lang.
Code: Alles auswählen
B := Copy(A,17,10);
// oder etwas universeller
i := pos(':',A);
B := Copy(A,i+1,Length(A)); // kopiert immer den RestMfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
Hercules
- Beiträge: 104
- Registriert: Mi 2. Jun 2010, 17:56
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: Das ewige Thema mit den Umlauten
Hallo Socke,
danke für Deine Vorschläge.
Daran hab' ich noch garnicht gedacht, ich glaube so geht's!
Danke und Schönen Tag noch!
M.f.G. Hercules
danke für Deine Vorschläge.
Daran hab' ich noch garnicht gedacht, ich glaube so geht's!
Danke und Schönen Tag noch!
M.f.G. Hercules