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

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

Как работать с ListView? [D7, XP]


Tigraman ©   (2006-06-03 16:53:00) 

Скажите, как работать с ListView, точнее как добавлять текст в айтемс. Если после такого кода form3.ListView1.AddItem('text',form3.ListView1); добавляется text только в 1-й столбец. То как добавить не только в первый столбец, а и во второй. Мне нужен компонент напоминающий диспетчер задач(вкладка с процессами), чтобы несколько разных переменных занести в разные колонки, а потом если надо, выделить строку и нажать кнопку удалить ее. ListView это тот компонент что мне нужен?


Tigraman   (2006-06-07 02:08:00) [1]

Так в том то и проблема. Я записываю данные так
var f:textfile; g,h:string;
begin
AssignFile(f, ExtractFilePath(paramstr(0))+'\items.txt');
  {$I-}
 rewrite(f);
 for i:=0 to ListView1.Items.Count-1 do begin
    g:=listview1.Items.Item[i].Caption;
     Writeln(f,g);
   end; CloseFile(f);
   AssignFile(f, ExtractFilePath(paramstr(0))+'\subitems.txt');
   rewrite(f);
 for i:=0 to ListView1.Items.Count-1 do begin
      h:=listview1.Items.Item[i].SubItems.Strings[i];
  Writeln(f,h);
       CloseFile(f);{$I+}
end;    end;

Но записывается только первая колонка, которая является Items, а вот subitems не записывается.

Считывать пытаюсь так,

memo1.Lines.LoadFromFile(ExtractFilePath(paramstr(0))+'\items.txt');
//мемо использую для определения кол-во строк из-за незнания как это правильно делать.
AssignFile(f, ExtractFilePath(paramstr(0))+'\items.txt');
  {$I-}
 reset(f);
 for i:=0 to Memo1.Lines.Count-1 do begin
 readln(f,g);
     begin with form3.ListView1 do begin
   ListItem := Items.Add;
 ListItem.Caption := g;
                 end; end;end;
   closefile(f);
 for i:=0 to Memo1.Lines.Count-1 do begin
   AssignFile(f, ExtractFilePath(paramstr(0))+'\subitems.txt');
 reset(f);
readln(f,h);
  ListItem.SubItems.Add(h);     end;

Но subitems записывается не 1,2,3 строку, а в 2,3 колонку последней строки.


Пусик   (2006-06-05 23:07:00) [2]


>  айтемс


Блин, c трудом поняла, что это означает Items...


> А вот еще меня интересует, как хранить данные из колонок
> listview? Как их записывать и потом считывать?


А прочитать ты их можешь, эти данные?

Если можешь, тогда запиши в файл и все.
Если записать в файл не можешь, тогда это тема другой ветки.


Tigraman   (2006-06-05 22:43:00) [3]

А вот еще меня интересует, как хранить данные из колонок listview? Как их записывать и потом считывать?


Tigraman   (2006-06-04 10:13:00) [4]

Спасибо.


chai   (2006-06-04 01:33:00) [5]


procedure TForm1.Button1Click(Sender: TObject);
var
 Col: TListColumn;
 ListItem: TListItem;
 I: Integer;
begin
 with ListView1 do
 begin
   ViewStyle := vsReport;
   ShowColumnHeaders := True;
   ListItem := Items.Add;
   ListItem.Caption := 'Item #1';
   for I := 1 to 4 do
   begin
     Col := Columns.Add;
     Col.Caption := 'Column #'+ IntToStr(I);
     ListItem.SubItems.Add('SubItem #' + IntToStr(I));
   end;
 end;
end;


Наверх

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