Witam.... robie program i mam tak,... dane zapisywane sa po linijce w pliku
przy odczycie chce zeby wyswietlilo mi sie wszystko w drzewku np:

Rok: 2006
|
|---- Miesiąc: 02
| |-----Dzien: 03
| |------ Zmiana: 1
| |----Zlecenie: 12345
|---- Zlecenie: 123456
|------ Zmiana: 2
|---- Zlecenie: 123
|---- Zlecenie: 1234
|---- Dzien: 04
| |---- Zmiana: 3
|---- Zlecenie: 12345678
|
|
|
|---- Miesiąc: 03
|
itp...itd..

teraz odczyt jednego pliku wyglada tak:

begin
        // czytanie danych....
//...
        Zlec := IntToStr(Numer);
        Dzie := Data[9] + Data[10];
        Zmia := Form9.Rot13(ZmianaM);

        Zn := 0;
        for I := 0 to TreeView1.Items.Count - 1 do
        if TreeView1.Items[I].Text = ('Rok: ' + Rok) then
        begin
          Zn := 1;
          Num := I;
        end;
        if Zn = 0 then
        begin
          MyTreeNode1 := TreeView1.Items.Add(nil, 'Rok: ' + Rok);
          MyTreeNode2 := MyTreeNode1.getFirstChild;
          MyTreeNode2 := TreeView1.Items.AddChild(MyTreeNode1, 'Miesiąc: ' + Mies);
          MyTreeNode3 := MyTreeNode2.getFirstChild;
          MyTreeNode3 := TreeView1.Items.AddChild(MyTreeNode2, 'Dzień: ' + Dzie);
          MyTreeNode4 := MyTreeNode3.getFirstChild;
          MyTreeNode4 := TreeView1.Items.AddChild(MyTreeNode3, 'Zmiana: ' + Zmia);
          MyTreeNode5 := MyTreeNode4.getFirstChild;
          MyTreeNode5 := TreeView1.Items.AddChild(MyTreeNode4, 'Zlecenie: ' + Zlec);
        end else
        begin
          MyTreeNode1 := TreeView1.Items[Num];
          Zn := 0;
          MyTreeNode2 := MyTreeNode1.getFirstChild;
          repeat
            if MyTreeNode2 <> nil then
            begin
              if MyTreeNode2.Text = ('Miesiąc: ' + Mies) then
              begin
                Zn := 1;
                Num := MyTreeNode2.Index;
              end;
            end;
            MyTreeNode2 := MyTreeNode2.GetNextChild(MyTreeNode2);
          until MyTreeNode2 = nil;

          if Zn = 0 then
          begin
            MyTreeNode2 := TreeView1.Items.AddChild(MyTreeNode1, 'Miesiąc: ' + Mies);
            MyTreeNode3 := MyTreeNode2.getFirstChild;
            MyTreeNode3 := TreeView1.Items.AddChild(MyTreeNode2, 'Dzień: ' + Dzie);
            MyTreeNode4 := MyTreeNode3.getFirstChild;
            MyTreeNode4 := TreeView1.Items.AddChild(MyTreeNode3, 'Zmiana: ' + Zmia);
            MyTreeNode5 := MyTreeNode4.getFirstChild;
            MyTreeNode5 := TreeView1.Items.AddChild(MyTreeNode4, 'Zlecenie: ' + Zlec);
          end else
          begin
            MyTreeNode2 := TreeView1.Items[Num];

            Zn := 0;
            MyTreeNode3 := MyTreeNode2.getFirstChild;
            repeat
              if MyTreeNode3 <> nil then
              begin
                if MyTreeNode3.Text = ('Dzień: ' + Dzie) then
                begin
                  Zn := 1;
                  Num := MyTreeNode3.Index;
                end;
              end;
              MyTreeNode3 := MyTreeNode3.GetNextChild(MyTreeNode3);
            until MyTreeNode3 = nil;

            if Zn = 0 then
            begin
              MyTreeNode3 := TreeView1.Items.AddChild(MyTreeNode2, 'Dzień: ' + Dzie);
              MyTreeNode4 := MyTreeNode3.getFirstChild;
              MyTreeNode4 := TreeView1.Items.AddChild(MyTreeNode3, 'Zmiana: ' + Zmia);
              MyTreeNode5 := MyTreeNode4.getFirstChild;
              MyTreeNode5 := TreeView1.Items.AddChild(MyTreeNode4, 'Zlecenie: ' + Zlec);
            end else
            begin
              MyTreeNode3 := TreeView1.Items[Num];

              Zn := 0;
              MyTreeNode4 := MyTreeNode3.getFirstChild;
              repeat
                if MyTreeNode4 <> nil then
                begin
                  if MyTreeNode4.Text = ('Zmiana: ' + Zmia) then
                  begin
                    Zn := 1;
                    Num := MyTreeNode4.Index;
                  end;
                end;
                MyTreeNode4 := MyTreeNode4.GetNextChild(MyTreeNode4);
              until MyTreeNode4 = nil;

              if Zn = 0 then
              begin
                MyTreeNode4 := TreeView1.Items.AddChild(MyTreeNode3, 'Zmiana: ' + Zmia);
                MyTreeNode5 := MyTreeNode4.getFirstChild;
                MyTreeNode5 := TreeView1.Items.AddChild(MyTreeNode4, 'Zlecenie: ' + Zlec);
              end;
            end;

i robiac to wychodzi mi cos takiego:

Rok: 2006
|
|---- Miesiąc: 02
| |-----Dzien: 03
| |------ Zmiana: 1
| | |----Zlecenie: 12345
| |---- Zlecenie: 123456
|Zmiana: 2
|---- Zlecenie: 123
|---- Zlecenie: 1234
|---- Dzien: 04
| |---- Zmiana: 3
|---- Zlecenie: 12345678
|
|
|
|---- Miesiąc: 03

zamiast porzadek to pod miesiac mam juz zmiane :| a powinien byc dzien.... co jest nie tak :/