Hi,
ich versuche gerade 2 Strings zu vergleichen. Der erste kommt aus einer xml-Datei und wurde mit txmlcfg.getvalue geholt, der zweite ist aus einer Listbox und wurde mit tlistbox.getselectedtext geholt.
Ich habe alle Varianten probiert, die ich gefunden habe (einfach =, comparestr usw), aber wie man unten sieht, unterscheiden sich die Strings immer in einem Zeichen angeblich.
Warum ?
edit: ok, hat sich erledigt, mit trim() geht es. getselectedtext liefert ein (?Leer?)Zeichen zuviel.
Strings vergleichen
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Ich könnte mir vorstellen das bei einem String irgendein steuer Zeichen mit dabei ist.
setzt doch mal beide Strings in der Ausgabe in "". dann siehst du die Unterschiede am besten.
Damit meine ich sowas hier :
setzt doch mal beide Strings in der Ausgabe in "". dann siehst du die Unterschiede am besten.
Damit meine ich sowas hier :
Code: Alles auswählen
ShowMessage(' "' + Str1+'"' + ' "' + Str2 + '" ')
MFG
Michael Springwald
Michael Springwald
- af0815
- Lazarusforum e. V.
- Beiträge: 6947
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Es hat sich erledigt. Almantic hat seinen Eintrag vor deinem Post bereits editiert und die Lösung hinzugefügt.pluto hat geschrieben:Ich könnte mir vorstellen ...
Es stimmt schon Leerzeichen und Steuerzeichen können beim Vergleichen von Strings ein erhebliches Problem sein.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).