Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.172.115] |
|
Сообщ.
#1
,
|
|
|
Привет всем!
Хотел спросить следующее есть загрузка из файла в listview var I : Integer; F : TextFile; S : String; S1 : String; ListItem : TListItem; begin ListView1.Clear; if FileExists('Listview1.txt') then begin AssignFile(F, 'Listview1.txt'); Reset(F); while not Eof(F) do begin ReadLn(F, S); ListItem := Listview1.Items.Add; ListItem.Caption := s; ReadLn(F, S1); ListItem.SubItems.Add(s1); end; CloseFile(F); end; в 1 столбец у меня грузится путь к каталогу Как реализовать чтобы в listview строка закрашивалась другим цветом например, если этот путь недоступен? второй момент если я перебираю строки уже в listview и так же обнаруживаю что данный путь недоступен в listview как правильно удалить строку for I2 := 0 to Listview1.Items.Count - 1 do begin Label9.Caption:= Listview1.Items.Item[I2].Caption; for J := 0 to Listview1.Items.Item[I2].SubItems.Count - 1 do Label7.Caption := Listview1.Items.Item[I2].SubItems.Strings[J]; if (DirectoryExists(Label9.Caption)) and (DateToStr(Now)=Label7.Caption) then begin Memo5.Lines.Add('Путь всё ещё существует время подошло '+Label9.Caption +' - ' + Label7.Caption); Listview1.Items.Item[I2].Free; end else begin Memo5.Lines.Add('Путь всё ещё существует так как не подошло время удалять каталог '+Label9.Caption +' ' + Label7.Caption); end end; В данном случае Listview1.Items.Item[I2].Free; |
Сообщ.
#2
,
|
|
|
Заполнение делай всегда от последнего до нуля, а не на оборот
|
Сообщ.
#3
,
|
|
|
Цитата djmix777 @ как правильно удалить строку Лень проверять, но скорее всего что-то типа Listview1.Items.Delete(Item[I2]) По раскрашиванию - OwnerDraw |
Сообщ.
#4
,
|
|
|
Цитата Fr0sT @ Лень проверять, но скорее всего что-то типа Listview1.Items.Delete(Item[I2]) вот в том то и дело что выпадает в эту самую ошибку сразу, что указано. по окраске надо проверить. |
Сообщ.
#5
,
|
|
|
Цитата djmix777 @ Как реализовать чтобы в listview строка закрашивалась другим цветом например, если этот путь недоступен? Написать обработчик OnCustomDrawItem: procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView); var Item: TListItem; begin if (not DirectoryExists(Item.Caption)) then (Sender as TCustomListView).Canvas.Brush.Color:= clRed; end; Цитата djmix777 @ как правильно удалить строку ListView1.Items[i].Delete; |