problem listView zapisywanie i odczytywanie

0

Zapisywanie:

var
i: integer;
s: Tstringlist;
begin
  S := TStringList.Create;
  for i := 0 to ListView1.Items.Count-1 do
  S.Add('"'+ ListView1.Items[i].Caption +'",'+ ListView1.Items[i].SubItems.CommaText);
  S.SaveToFile('buddys.txt');
  S.Free;
end;

Odczytywanie:

 var
   i:integer;
  S:TStringList;
 begin
  S := TStringList.Create;
    S.LoadFromFile('buddys.txt');
  for i := 0 to ListView2.Items.Count-1 do
   S.Add('"'+ ListView2.Items[i].Caption +'",'+ ListView2.Items[i].SubItems.CommaText);
  end;

Moze mi ktos powiedziec co jest w kodzie z odczytywania nie tak? Zapisywanie dziala ok. Przy wczytywaniu tekstu (nacisnieciu buttona) nic sie na lisview2 nie dzieje.. nic nie wyswietla. obie listy maja taka sama strukture (kolumny). Prosze o pomoc.

0

Pewnie dlatego, że dodajesz do zmiennej "S" ...

S.Add('"'+ ListView2.Items[i].Caption +'",'+ ListView2.Items[i].SubItems.CommaText);
0

a jak powinno być?

0

E...nie za bardzo rozumiem kod, ale

Var I: Integer;
    S: TStringList;
begin
  S := TStringList.Create;
  S.LoadFromFile('buddys.txt');
  ListView2.Items.Clear; //Wyczyść list-view
  For I := 0 To S.Count-1 Do
   ListView2.Items.Add(S[I]); //Dodaj do list-view
End;

Mój błąd, sorki poprawiłem

0

[DCC Error] Unit5.pas(115): E2003 Undeclared identifier: 'Lines'

0

No i co w związku z tym? Przecież komunikat o błędzie "mówi" wszystko. Niezadeklarowany identyfikator
"Lines", więc popraw te linijkę której nawet nie przytaczasz żeby było dobrze. Poza tym na pewno to nie
jest błąd w kodzie który podał Tobie Patryk27. Przecież w jego kodzie nie ma obiektu z taką własnością.

0

[DCC Error] Unit5.pas(58): E2034 Too many actual parameters

Teraz taki problem.. grrr

0

Zaczynasz mnie wkurzać, nie trud poprawić ?

Var I: Integer;
    S: TStringList;
begin
  S := TStringList.Create;
  S.LoadFromFile('buddys.txt');
  ListView2.Items.Clear; //Wyczyść list-view
  For I := 0 To S.Count-1 Do
   ListView2.AddItem(S[I], nil); //No niby mój błąd, ale...
End;

Sprawdziłem i działa

0

A o zwolnieniu pamięci to kto ma pamiętać ?

0

to jeszcze Cie dobije :P ;)

Wszystko działa ładnie pięknie ale interesuje mnie wczytywanie tego pliku do np. 3 kolumny (nie wiersza).
Wiem że nie dużo trzeba dodać..

0

Juz mam. Nie meczcie sie ;)
dzieki
pozdro

0

Faktycznie nie trzeba dużo, trzeba tylko trochę pomyśleć.

  1. Jeżeli trzeba czyściesz zawartość ListView.
  2. Tworzysz dynamicznie obiekt typu StringList.
  3. Ładujesz do niego plik tekstowy.
  4. W pętli przetwarzasz wszystkie wiersze StringListy dodając jednocześnie item do ListView.
    Dodawany ListItem musi mieć Caption jakiś i nazwę pozostałych kolumn poza ową trzecią
    (może być ''), a trzeciej kolumnie ustawiasz taki tekst jaki jest aktualnie wiersz w StringList.
  5. Zwalniasz obiekt typu StringList po pętli. Wszystko. Wystarczy mysleć i tylko myśleć [!!!]

EDIT: no niesamowite - sam sobie poradziłeś. Brawo. Wnioskuje do Lecha K. o nadanie nazwy
jakiejś ulicy w Warszawie Twoim nickiem. Dowiesz się o tym niedługo i pewnie z "Panoramy" ;P

0

nie zesikaj sie.. kazdy kiedys jakos zaczynal.. help mi nie dziala w delphi.
Ty widze ze wszystkie zmysly juz pozjadales.

0

Ech pyskaczu, kolewjne dziecie neo które zamiast dinstalować helpa i używać google, które
chyba działa w przeciwieństwie do helpa woli się ponapinać, bo przez net tak jest najłatwiej.
A jakbyś dziecko czytało forum to byś wiedziało że ja chętnie jak potrafie to pomagam ale
ludziom kótrzy nie olewają pomocy i pomyslą coś samodzielnie i nie "zjadam zmysłów" :P

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