[Delphi] zapisywanie przy zamykaniu

0

jak zapisać do pliku wszystkie dane z komponentu TListView do pliku np. baza.txt przy zamykaniu programu w formacie:

dane1||dane2||dane3||dane4||
dane1||dane2||dane3||dane4||
dane1||dane2||dane3||dane4||

oczywiście dane1, 2, 3 i 4 są dodawane ręcznie i są inne :) i w tym komponencie mam 4 kolumny, które nazywają się np. 1, 2, 3 i 4

<font size="12">Bardzo prosze o pomoc</span>

0

Najłatwiej byłoby, gdybyś zapisywał dane do strumienia (ale wówczas nie byłoby takie czytelne).
W takim razie musisz przechodzić po TListView:

var
i: Integer;
linia: string;
begin
for i := 0 to ListView1.Items.Count-1 do
with ListView1.Items.Item[i] do
linia := Caption +'||'+ SubItems.Strings[0]+'||'+ SubItems.Strings[1]+'||'+ SubItems.Strings[2];
end;

i zapisywać każdą linię.

0

Bardzo prosto...stworz sobie plik Ini: (pisze z glowy)

uses IniFiles;

[b]procedure [/b]Zapisz;
[b]var [/b]PlikIni:TIniFile;
il_komp:integer;
[b]begin[/b]
[b]try[/b]
PlikIni:=TIniFile.Create(kolumny.ini');
[b]for [/b]il_komp:=0 [b]to [/b]ListView1.Items.Count-1 [b]do [/b][b]begin[/b]
Plikini.WriteString(Kolumna1,'k'+inttostr(il_komp+1),ListView1.Items[il_komp].Caption);
Plikini.WriteString(kolumna2,'k'+inttostr(il_komp+1),ListView1.Items[il_komp].SubItems[0]);
[b]end[/b];
[b]finally[/b]
Plikini.Free;
[b]end[/b];

coś takiego, ale możesz jeszcze zastosowac index czyli wpisz sobie w pliku ile jest pozycji w kolumnach - bedzie Ci to potrzebne przy odczycie....jakbys cos nie wiedzial to mailme - POMOGE!

0

Dzięki Dryobates tylko jak mam tą linie zapisywać do pliku (ale jestem ciemny :P ) i to tak aby na początku cała poprzednia zawartość się skasowała?

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