Dann sollte das Trim ausreichen, da das u. a. führende und folgende Zeilenumbrüche wegnimmt.
Bei Stringlisten (und SubItems scheint hier dann jeweils eine zu sein (
TListItem.SubItems Property)), bekommt man beim Zugriff auf Text immer einen Zeilenumbruch am Ende "mitgeliefert". Der ist bei Integer nicht so wirklich hilfreich.
Mögliche Lösung (grob und ungetestet):
Delphi-Quellcode:
if Listview1.items[i].Subitems.Count > 0 then begin
if tdata1.Locate('ID', Listview1.items[i].Subitems[0]), []) then begin
end;
end;
// oder
if Listview1.items[i].Subitems.Count > 0 then begin
if tdata1.Locate('ID', StrToInt(Listview1.items[i].Subitems[0])), []) then begin
end;
end;
// oder
if tdata1.Locate('ID', StrToInt(Trim(Listview1.items[i].Subitems.Text))), []) then begin
end;