Hallo,
ich versuche, einen Text aus einem Memo an einer bestimmten Stelle zu splitten und dann den ersten Teil in die erste Spalte eines ListViews und den zweiten Teil in dessen zweite Spalte zu schreiben.
Der Text, mit dem es uA funktionieren soll ist folgender:
Zitat:
...
CDA102309/13 EMEA1
CDA102309/14 EMEA2
CDA102309/15 EMEA3
CDA102309/16 EMEA4
CDA102309/17 EMEA5
CDA102309/18 EMEA6
CDA102309/19 EMEA7
CDA102309/20 EMEA8
CDA102309/21 US1
CDA102309/22 US2
CDA102309/101 AL1
CDA102309/102 AL2
CDA102309/103 AL3
CDA102309/104 AL4
CDA102307/11 Generic Trade Taiwan
CDA102307/13 Generic Trade China
CDA102307/14 Generic Trade Hong Kong
CDA102307/31 Generic Trade Malaysia
CDA102307/32 Generic Trade Philippines
CDA102307/33 Generic Trade Netherlands
CDA102307/34 Generic Trade Italy
CDA102307/35 Generic Trade France
...
Der erste Teil (bis zum ersten Leerzeichen) soll in die erste Spalte, der Rest in die zweite.
Das funktioniert auch soweit ganz gut, allerdings trennt er bei den Werten ab "CDA102307/11 Generic Trade Taiwan" erst beim zweiten Leerzeichen.
Hier ist mein Quellcode:
Delphi-Quellcode:
var
Form1: TForm1;
i, j, Posi: Integer;
S: String;
found: Boolean;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ListView1.Clear;
Posi := 1;
for i := 0 to Memo1.Lines.Count-1 do
begin
found := false;
S := Memo1.Lines.Strings[i];
for j := 1 to length(S) do
If not found then
begin
begin
Posi := PosEx(Seperator.Text, S, Posi);
If S[Posi] = Seperator.Text then
begin
found := true;
end;
end;
ListView1.Items.Add;
ListView1.Items[i].Caption := copy (S,1,Posi);
ListView1.Items[i].SubItems.Add(copy (S,Posi+1,Length(S)-Posi));
end;
end;
end;
Kann mir jemand sagen, warum das so ist?