Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по ListView [D6, D7, WinXP]


Ivolg ©   (2004-08-06 09:54:00) 

Всем привет! У меня один вопрос. Как можно сохранить содержимое ListView в файл, и потом с него считать?.СПАСИБО!!!!


Digitman   (2004-08-06 10:37:00) [1]

var
 fs: TFileStream;
 s: String;
 li : TListItem;
 ic, i, j, l, si: Integer;
..

//сохранение

with ListView do
begin
ic := Items.Count;
fs.WriteBuffer(ic, sizeof(ic));
for i:= 0 to ic - 1 do
 begin
  li := Items[i];
  s := li.Caption;
  l := Length(s);
  fs.WriteBuffer(l, sizeof(l));
  fs.WriteBuffer(PChar(s)^, l);
  si := SubItems.Count;
  fs.WriteBuffer(si, sizeof(si));
  for j := 0 to si - 1 do
   begin
    s := li.SubItems[j];
    l := Length(s);
    fs.WriteBuffer(l, sizeof(l));
    fs.WriteBuffer(PChar(s)^, l);
   end;
 end;
end;

//восстановление

with ListView do
begin
Items.Clear;
fs.ReadBuffer(ic, sizeof(ic));
for i:= 0 to ic - 1 do
 begin
  fs.ReadBuffer(l, sizeof(l));
  Setlength(s, l);
  fs.ReadBuffer(PChar(s)^, l);
  li := Items.Add;
  li.Caption := s;
  fs.ReadBuffer(si, sizeof(si));
  for j := 0 to si - 1 do
   begin
    fs.ReadBuffer(l, sizeof(l));
    Setlength(s, l);
    fs.ReadBuffer(PChar(s)^, l);
    li.SubItems.Add(s);
   end;
 end;
end;


TUser   (2004-08-06 10:32:00) [2]

assignfile, rewrite, writeln, reset, readln, blockread, blockwrite, filestream, Items.Count, Caption, data ect.
Кокрентно - важно знать, что и куда ты сохраняешь, например, надо ли сохранять стиль (list, report и пр.) Кода здесь тебе никто не напишет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо