![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
в ListView правильно SubItems.add или SubItems.Strings[1]
Garacio © (2007-01-14 13:54:00)Может возникать ошибка при компиляции, если я пытаюсь ввести значение в третью колоку, оставив приэмом вторую пустой?
Пока строка была такой:
ListView1.Items[g].SubItems.add('Ок');
Всё работало. Поменял на:
ListView1.Items[g].SubItems.Strings[1] := 'Ок';
Появилась ошибка:
procedure TFormMain.FormCreate(Sender: TObject);
begin
Ini:=TiniFile.Create(extractfilepath(Application.ExeName)+'save.ini');
Edit1.Text := Ini.ReadString('tools', 'Edit1', '');
if Edi1t.Text ='' //ошибка сдесь!
then begin
ButtonObzorClick(Sender);
end;
Ini.Free;
end;
Что не так?
unknown (2007-01-14 22:32:00) [1]
with ListView.Items[g] do
begin
SubItems.Clear;
SubItems.Add('');
SubItems.Add('Demo');
end;
Garacio (2007-01-14 21:42:00) [2]Дело в том, что мне многое для этого нужно переделать в своей программе, впереди рабочие дни... Если кто-то это уже делал, неужели ему тяжело ответить? А так придётся снова задавать вопрос и пол дня (как сегодня) ждать, что кто-нибудь ответит! Короче, философия-философией, но если знаете ответ... напишите!
FAskerQ (2007-01-14 20:54:00) [3]
> Garacio © (14.01.07 17:32) [9]
> Но что, если во второй колонке до этого уже было какое-то
> значение?
А что мешает проверить что будет ?
Garacio (2007-01-14 17:32:00) [4]Вот как сработало:
with ListView1.Items[g] do begin
SubItems.Add('');
SubItems.Add('Demo');
Но что, если во второй колонке до этого уже было какое-то значение?
Garacio (2007-01-14 17:08:00) [5]Объясню:
ListView
____________________________________
название файла | тип файла | статус |
-----------------------------------------
121243.dll |системный | удалён |
453253.dll |скрытый | удалён |
1dawd332.dll | | удалён | <- вот для чего!
142342343.dll |системный | удалён |
12342443.dll |системный | удалён |
........
Смысл работы моей программы тот-же! При запуске я заполняю 1 и 2-й стобцы, нажимаю кнопку "Выполнить" и все файлы в папке удаляются, соответственно в 3-ий я помещаю отчёт "удалён"
Ну это ладно, можно ещё какое-нибудь слово, вроде "обычный" придумать и заполнить пустые, но остаётся вопрос: почему программа болезненно реагирует на замену строчкиListView1.Items[g].SubItems.add('Ок');, строчкой:ListView1.Items[g].SubItems.Strings[1] := 'Ок';илиListView1.Items[g].SubItems.Strings[0] := 'Ок';
FAskerQ (2007-01-14 16:39:00) [6]или так
with ListView1.Items.Add do begin
Caption:= '0';
SubItems.Add('');
SubItems.Add('Ok');
end;
CODE>
FAskerQ (2007-01-14 16:37:00) [7]
> Garacio © (14.01.07 16:15) [5]
> Народ!, ну что-же не так?
Нахрена в третий столбец добавлять пукт а во второй нет ? добавляйте во второй а третий нетрогайте
Garacio (2007-01-14 16:15:00) [8]Народ!, ну что-же не так?
Может как-нибудь columns[2] надо вписать, чтобы в третий столбец (колонку) данные вписать?
Kostafey (2007-01-14 15:34:00) [9]> Это не оказало никакого эффекта!
По-моему Item - просто свойство по умолчанию ?
Garacio (2007-01-14 15:27:00) [10]Поменял:
ListView1.Items[g].SubItems.Strings[1] := 'Ок';
на:ListView1.Items.Item[g].SubItems.Strings[1] := 'Ок';
Это не оказало никакого эффекта!
Garacio (2007-01-14 13:56:00) [11]А как же тогда добавить значение в третий столбец, не добавляя во второй?
kaZaNoVa (2007-01-14 13:55:00) [12]ListView1.Items[g].SubItems.add('Ок');