Witam!
Robię program do administracji plikami do sieci lokalnej w mojej szkole. Przysyłami listę w postaci:
Nazwa1
Typ1
Rozmiar1
Nazwa2
Typ2
Rozmiar2
Wczytałem to do Memo i zrobiłem prostą pentelkę, żeby rozdzieliło to do ListView'a:
I := Pomoc.Lines.Count -1;
repeat
begin
Item := ListView1.Items.Add;
Application.ProcessMessages;
Item.Caption := Memo1.Lines.Strings[0];
Pomoc.Lines.Delete(0);
Item.SubItems.Add(Memo1.Lines.Strings[0]);
Pomoc.Lines.Delete(0);
Item.SubItems.Add(Memo1.Lines.Strings[0]);
Pomoc.Lines.Delete(0);
I := I -3;
end
until I <= 0;
Wszystko działa OK z wyjątkiem tego, kiedy pliki mają dość długą nazwę, wtedy pętla rozkłada nazwę na 2 SubItemy i dalej już cała lista jest skopana. Gdzie jest problem? Analizowałem pętlę chyba 20 razy i ne znalazłem błędu.
Prosze o pomoc, to ważne!
Pozdrawiam
Moze wpis do ListView ma za dluga nazwe i dlatego go dzieli (jesli ListView ma takie ograniczenie znakow np. AnisiString) ??
Jest to możliwe, właśnie na to wstawiałem. Ale pojawia się pytanie czy i jak można zmienić te ograniczenie?
Pozdrawiam
Nazwa1
Typ1
Rozmiar1
Jak jest mozliwos to mozesz podac co jest w tych zmiennych przechowywane ?? jakis <ort>pszyklad </ort>;)
Bo ja widze wyjscie jedynie takie na teraz :)
*) Obcinac stringa na 255 znaku, jeslii to np. jest sciezka do pliku to daj ShortPath
Cala sciezka moze byc zapisana do pliku TXT a do bazy dodany uciety string, a np. HINT mozesz dac dlugiego bo HINT nie ma chyba ograniczen jak sie nie myle
Trochę tego nie rozumiem co mi napisałeś ;)
Ale tu masz przykład, może pomoże. Całe dane przesyłane są w takiej postaci:
piosenka.mp3
Plik
302013
Filmy
Folder
0
szkola.doc
Plik
123424
Próbuję to rozdzielać powyższą pętlą
Mam nadzieję, że mnie zrozumiałeś ;]
Pozdawiam
pamietaj o tym ze sockety maja bufory, gdzie miesci sie tylko ilestam danych, jesli sie nie miesci, to czesc nazwy przychodzi w nastepnym pakiecie.
moim zdaniem tu tkwi błąd.
OK, błąd już rozwiązany. Ale to nie to co myślisz nav ;]
Pozdrawiam i THX za dobre chęci :D
Wiem, że już po problemie, ale może to ci pomoże:
http://www.vxcprogramming.prv.pl/module.php?name=nvread&f=3&id=33
Możesz wysłać tę listę jako strumień lub rekord.