[Delphi] ListBox auslesen

csjudge

abgemeldet
abgemeldet
19 Mai 2006
470
98
Hallo,
hab da ein kleines Problem. Ich lese eine Datei in die ListBox ein. In jeder Zeile hab ich dann

Gruppe;Nummer;Name;

Bsp.: Freunde;12345;Bernd;

jeweils mit ";" voneinander getrennt.
So, nun möchte ich das nur die Nummer beim anklicken in ein Edit-Feld gepackt wird. Hab das zwar grob hinbekommen, aber da die Nummern in der Länge variieren schleciht sich da schonmal nen Buchstabe mit rein.

Wie kann cih nur die Zahlen einlesen, egal wie lang sie sind...?

Danke für die Hilfe. :)

EDIT: Kann leider kein MaskEdit benutzen, irgendwie muss das anders gehen :/
 
Zuletzt bearbeitet:
Hi,

ich würde dies mit dem RegExp
Code:
/;[1-9]+;/gi
lösen und das 1. und das letzte Zeichen abschneiden.

Was besseres fällt mir dank meinen nicht so ausgereifen RegExp-Erfahrungen nicht ein. Man sollte allerdings auch den Fall berücksichtigen, dass vor dem 1. Semikolon z.B. "Bernd;3;hu" stehen könnte.

Gruß
 
aus "Gruppe;Nummer;Name;" kriegt man wie folgt die Einzelstrings:

Code:
var
  // str :string = 'Gruppe;Nummer;Name;'
  gruppe, nummer, name :  string;
begin
  gruppe := copy(str, 0, pos(';', str)-1);
  delete(str, 1, pos(';', str)+1);
  nummer := copy(str, 0, pos(';', str)-1);
  delete(str, 1, pos(';', str)+1);
  name := copy(str, 0, pos(';', str)-1);
end;

Wobei ich mir mit den -1 und +1 jeweils nicht so sicher bin.. wäre ggf. zu prüfen und wegzulassen.. ;)

Sprich immer n Teil rauskopieren und dann diesen Teil löschen (bis zum Trennzeichen ';') ..