Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.21;
Скачать: CL | DM;

Вниз

TStringList   Найти похожие ветки 

 
demo ©   (2002-10-10 17:26) [0]

Неподскажите как сохранять и загружать содержимое LISTVIEW ???


 
McSimm ©   (2002-10-10 17:39) [1]

приблизительно так.

procedure WriteStr(const S: String; Stream: TStream);
var
L: Integer;
begin
L := Length(S);
Stream.Write(L, SizeOf(L));
Stream.Write(S[1], L)
end;

function ReadStr(Stream: TStream): String;
var
L: Integer;
begin
Stream.Read(L, SizeOf(L));
SetLength(Result, L);
if L > 0 then
Stream.Read(Result[1], L)
end;

procedure WriteLB(Stream: TStream; Items: TListItems);
var
I, J, L: Integer;
begin
for I := 0 to Items.Count - 1 do
begin
WriteStr(Items[I].Caption, Stream);
L := Items[I].SubItems.Count;
Stream.Write(L, SizeOf(L));
for J := 0 to L - 1 do
WriteStr(Items[I].SubItems[J], Stream);
end
end;

procedure ReadLB(Stream: TStream; Items: TListItems);
var
S: String;
L, I: Integer;
begin
Items.Clear;
while Stream.Position < Stream.Size do
begin
S := ReadStr(Stream);
with Items.Add do
begin
Caption := S;
Stream.Read(L, SizeOf(L));
for I := 0 to L - 1 do
SubItems.Add(ReadStr(Stream))
end
end;
end;

procedure TForm1.BtnSaveClick(Sender: TObject);
var
FS: TFileStream;
begin
FS := TFileStream.Create("c:\lb.dat", fmCreate);
try
WriteLB(FS, ListView1.Items)
finally
FS.Free
end
end;

procedure TForm1.BtnLoadClick(Sender: TObject);
var
FS: TFileStream;
begin
FS := TFileStream.Create("c:\lb.dat", fmOpenRead);
try
ReadLB(FS, ListView1.Items)
finally
FS.Free
end
end;



Страницы: 1 вся ветка

Текущий архив: 2002.10.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-68987
Beglec
2002-09-28 21:54
2002.10.21
Где можно СКАЧАТЬ Delphi 7.0


6-68893
Weber
2002-08-13 09:42
2002.10.21
Где-то месяца 2-3 назад здесь пролетала тема насчет создания ..


14-68992
Rouse_
2002-09-29 01:46
2002.10.21
Безопасный код и правильный стиль программирования


1-68738
Igor_
2002-10-11 12:10
2002.10.21
Временно отключить прорисовку формы


7-69033
Бахус
2002-08-10 16:43
2002.10.21
Как узнать серийный номер железа