[Delphi] Jak zapisać/odczytać zawartość listview

0

Jak zapisać całą zawartość listview z captionami i subitemsami do np. txt ?! A potem jeszcze dobrze odczytać??

0

Musisz zrobić własne procki, które bedą dokonywały zapisu/odczytu do pliku. Nie ma z tym dużo pracy - robiłem coś takiego niedawno ale żródła mam w domu. Jak nic do jutra nie wymyslisz to Ci podrzucę.

0

próbowałem pętle for:
np.

for i:=1 to listview1.items.count do (błąd)
for i:=0 to listview1.items.count do (też błąd)
for i:=1 to listview1.items.count-1 do (błąd [nuda] )

a potem to dodawanie do memo (visible false) i zapisywanie treści do pliku... HELP ;-(

0

Ja tam sobie sprytnie kiedys tam wykompbinowalem ze jesli listVoiew ma 3 kolumny, to do textfile zapisywane sa dane w mniej wiecej taki sposob, ze do pierwszej linijki zapisywany jest pierwszy wiersz z pierszej koilumny, do 2 linijki pierwszy wiersz z 2 kolumny, do 3 linijki 1 wiersz z 3 kol, pozniej do 4 linijki 2 wiersz z 1 kol, do 4 linijki 2 wiersz z 2 kol itd. Mam nadzieje ze mnie zobumiales.... :-) :-)

0

ALE CHODZI MI O TĄ PĘTLE TAK TO SE PORADZE!!!
;-(

0

Nie wiem może tak:

for i:=0 to ListView1.Items.Count-1 do
begin
Memo1.Lines.Add(ListView1.Items[I].Caption);
//dalej co tam chcesz :) np. Memo1.Lines.Add(ListView1.Items[I].Subitems[0];
end;

0

kiedyś to robiłem i wyszło mi coś takiego (działa):

[code]Stringi := TStringList.Create; //utwórz listę strngów
For j := 0 to ListView.Items.Count - 1 do //od 0 do liczby itemów
begin
Stringi.Append(ListView.Items.Item[j].Caption); //zapisuje tytuł
Stringi.AddStrings(ListView.Items.Item[j].SubItems); //zapisuje subitemy
end;
Stringi.SaveToFile(SaveDialog.FileName); //zapis do pliku
Stringi.Free; //zwolnij ram[/code]

U mnie działa. Odcyt w podobny sposób.

0

a oczyt?

0

Taa
Zapisywanie działa ale odczyt w nie:((((((

0

odczyt

[code]List.Items.Clear;
Stringi := TStringList.Create;
Stringi.LoadFromFile(dlgOpen.FileName);
For j := 0 to Stringi.Count div 3 - 1 do //powinno byc div przez ilosc linii na jeden item w listview
begin
Item := TListItem.Create(MainFrm.ListView.Items);
Item.Caption := Stringi.Strings[j * 3];
List.Items.AddItem(Item, -1); //tworzenie obiektu
Item.SubItems.Add(Stringi.Strings[j * 3 + 1]);
SubItems.Add(Stringi.Strings[j * 3 + 2]);
end;
Stringi.Free;[/code]

troche skomplikowane :) ale u mnie działa. w razie błędów spóbuj zmieniać wartości dzielenia (div 3 - 1). ewentulanie przesle ci fragment kodu mojego programu z wykorzystanym tym kodem

0

dziwne że ci to dobrze działa...

0

zobacz jeszcze to:

http://www.swissdelphicenter.com/en/showcode.php?id=729

ktos już o to pytał i mu działało

0

Dzięęęęęęęki działa:) NAwet szybko 8-0

0

wyszukiwarka forum czyni cuda :-)

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