TreeView cd...

0

Hej :) udało mi się zwlaczyć popieraine danych z pliku textowego i ich wyświetlanie w treeView - tylko wyszedł mi przy tym mały problem -nie wszystkie dane są wczytywane do TreeView...:/ Zawsze bierze 1 pozycje...
mam 2 pliki textowe:
grupa.dat:
1|1|grupa
2|1|grupa1
3|2|grupa2
4|3|grupa3
5|3|grupa4
6|3|grupa5
7|4|grupa5
i kategoria.dat:
1|test
2|test1
5|test4
6|test5
7|test6
3|test2
4|test3
i teraz program ma wyświetlić coś takiego:
-nazwa kategori(np. test,test1,test2) a pod nim przyporządkowane im grupy (plik grupy-2 rząd cyferek) i wyświetlić je w treeViewie -np:

  • test
    --grupa
    --grupa1
    -test1
    --grupa2
    -test2
    --grupa3
    --grupa4

Napisałem coś takiego:
var
F : TextFile;
F1 : TextFile;
S : string;
S1 : string;
i : Integer;
a :String;
b :String;
c: string;
d:string;
e:string;
begin
AssignFile(F, 'grupa.dat');
AssignFile(F1, 'kategoria.dat');
try
Reset(F);
Reset(F1);
while not Eof(F) do
begin
Readln(F,S);
Readln(F1,S1);
a:= Explode('|',S,2);
b:= Explode('|',S1,1);
//memo.Lines.Add(a);
c:= Explode('|',S1,0);
d:= Explode('|',S,1);
ProductsList.Items.Add(nil, b);
if (c=d) then
begin
e:= Explode('|',S,2);
memo.Lines.Add(e);
ProductsList.Items.AddChild(ProductsList.Selected,e);
end;

end;
finally
CloseFile(F);
end;
end;

i byłoby prawie ok - gdyby poprawine wyświetlało (wyświetla tak:
-test
--grupa
-test1
-test4
-test5
-test6
-test2
-grupa5
-test3
-grupa5

Co robię nie tak?? Mógłby ktoś mi pomóc??

0

ta funkcja explode jest z tematu http://4programmers.net/Forum/viewtopic.php?id=59666

0

Ehh - nie wiem co tam robisz źle bo nie widzę tego - stosuj tag delphi + wciecia - wtedy może łatwiej będzie analizować te źródła..

Ale ja bym zrobił tak: stworzył sobie swój rekord mniej więcej taki:

type
  TGrupy = packed record
    Kat_Id: Integer; 
    Kat_Name: string; 
    Kat_Grupy: array of string;
  end;

I teraz sobie spokojnie wszystko wczytał, a później załadował do TreeView - zaufaj mi, że będzie o wiele prościej i czytelniej. Teraz odczyt z pliku nie powinien stanowić już problemu..

0

a gdybym chciał to dalej robić po swojemu - tzn. to co teraz mam-tylko coś dorobić?? (ps. sorki że tak marudze,ale tak chyba będzie dla mnie czytelniej)

0

ok,poradziłem sobie :) thx za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1