1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74:
| procedure TForm1.Button12Click(Sender: TObject); Var LoadList, ErsteLW, ZweiteLW: TStrings; i, ActPos, PrevPos: Integer; Const ItemTrenner = #134; ListTrenner1 = #179; ListTrenner2 = #178;
Begin If Not OpenDialog1.Execute Then Exit; LoadList := TStringList.create; ErsteLW:=TStringList.create; ZweiteLW:=TStringList.create;
Try LoadList.LoadFromFile(OpenDialog1.FileName); ListView1.Items.Clear; Listview2.items.clear;
For i := 0 To pred(LoadList.Count) Do Begin ErsteLW.add(Copy(LoadList[i], 1, Pos (ListTrenner1, Loadlist[i]) - 1)); ZweiteLW.add(Copy(LoadList[i], Pos (ListTrenner1, Loadlist[i]) + 1, Pos (ListTrenner2, Loadlist[i]) -1)); end;
For i := 0 To pred(ErsteLW.Count) Do Begin PrevPos := 1; ActPos := 1; ActPos := PosEx(ItemTrenner, ErsteLW[i], succ(ActPos)); With ListView1.Items.Add Do Begin Caption := Copy(ErsteLW[i], PrevPos, (ActPos - PrevPos)); PrevPos := succ(ActPos); Repeat ActPos := PosEx(ItemTrenner, ErsteLW[i], succ(ActPos)); If ActPos <> 0 Then SubItems.Add(Copy(ErsteLW[i], PrevPos, (ActPos - PrevPos))) Else SubItems.Add(Copy(ErsteLW[i], PrevPos, Length(ErsteLW[i]))); PrevPos := succ(ActPos); Until ActPos = 0; End; End;
For i := 0 To pred(ZweiteLW.Count) Do Begin PrevPos := 1; ActPos := 1; ActPos := PosEx(ItemTrenner, ZweiteLW[i], succ(ActPos)); With ListView2.Items.Add Do Begin Caption := Copy(ZweiteLW[i], PrevPos, (ActPos - PrevPos)); PrevPos := succ(ActPos); Repeat ActPos := PosEx(ItemTrenner, ZweiteLW[i], succ(ActPos)); If ActPos <> 0 Then SubItems.Add(Copy(ZweiteLW[i], PrevPos, (ActPos - PrevPos))) Else SubItems.Add(Copy(ZweiteLW[i], PrevPos, Length(ZweiteLW[i]))); PrevPos := succ(ActPos); Until ActPos = 0; End; End;
Finally FreeAndNil(LoadList); FreeAndNil(ErsteLW); FreeAndNil(ZweiteLW); End; End; |