![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ListView1.Items.Count
Zalumhan © (2008-10-07 14:17:00)Почему когда в цикле использую число вместо ListView1.Items.Count, то все работает нормально, а если писать как в коде ниже, то вылетает ошибка.
for i:=0 to ListView1.Items.Count do
{RASkov} (2008-10-07 21:36:00) [1]> [8] Zalumhan © (07.10.08 14:30)
> k1:=ListView1.Items.Count;
> for i:=0 to 3 do
и т.д.
но далее kХ не используются.... Сильно :)
Вообще [8] - это ужасно :) Не прими за наезд, но за намек...
MsGuns (2008-10-07 16:25:00) [2]Стрингридом не пробовал пользоваться. ИМХО, проще
Германн (2008-10-07 15:14:00) [3]
> Palladin © (07.10.08 14:55) [18]
>
> для самых маленьких с высшим образованием :)
Фамилия весьма характерная!
:)
Palladin (2008-10-07 14:55:00) [4]для самых маленьких с высшим образованием :)
Германн (2008-10-07 14:54:00) [5]
> На картинках, по шагам:
Учебник "Дельфи в комиксах за 5 минут"
:)
Palladin (2008-10-07 14:50:00) [6]
> Zalumhan © (07.10.08 14:42) [14]
:)
На картинках, по шагам:
1. Ставишь курсор на самый первый begin
2. Нажимаешь F5
3. Жмешь F9
4. Как только программа останавливается на красненькой строчке, жмешь F8 и, идя по коду, видишь где ты думал, а оно оказалось
Поросенок Винни-Пух (2008-10-07 14:45:00) [7]Все это существует
Значит твоя ошибка - это оптический обман. Забей на нее.
Zalumhan (2008-10-07 14:42:00) [8]
> а может не существует C[i] при i=0а может Prj_note_new[i]а
> может Preview_date_new[i]а может Prjver_name_new[i]
Все это существует
Германн (2008-10-07 14:39:00) [9]
> Ошибка, которая вываливает когда после запуска программы
> проходит 10с.(10с.-время установленное в свойстве Interval
> таймера)
А что такое отладчик ты не знаешь?
Palladin (2008-10-07 14:38:00) [10]а может не существует C[i] при i=0
а может Prj_note_new[i]
а может Preview_date_new[i]
а может Prjver_name_new[i]
ты уж разберись со своими списками сам,
открою тебе тайну: в IDE есть (и работают) клавиши F5, F7,F8
Zalumhan (2008-10-07 14:36:00) [11]
> у тебя несуществует ListView1.Items[j].SubItems[0]а так
> же может не существовать ListView1.Items[j].SubItems[2]
У меня в ListView заполнено 4 столбца и 3 строки с помощью Items Editor'а
Palladin (2008-10-07 14:32:00) [12]у тебя несуществует
ListView1.Items[j]. SubItems[0]
а так же может не существоватьListView1.Items[j]. SubItems[2]
DVM (2008-10-07 14:31:00) [13]
> for i:=0 to ListView1.Items.Count-1 do-так тоже ошибка
вероятно удаляешь внутри цикла?
Zalumhan (2008-10-07 14:30:00) [14]
procedure TForm1.Timer1Timer(Sender: TObject);
var i,j,k1,k2:Integer;
begin
k1:=ListView1.Items.Count;
for i:=0 to 3 do
begin
C[i]:=0;
for j:=0 to ListView1.Items.Count-1 do
begin
if Prj_note_new[i] = ListView1.Items[j].SubItems[0] then C[i]:=1;
end;
end;
k2:=ListView1.Items.Count;
for i:=0 to 3 do
begin
if C[i]=1 then
begin
for j:=0 to ListView1.Items.Count-1 do
begin
if Prj_note_new[i] = ListView1.Items[j].SubItems[0] then
begin
if Prjver_name_new[i]<> ListView1.Items[j].SubItems[2] then
begin
ListView1.Items[j].SubItems[2]:=Prjver_name_new[i];
ListView1.Items[j].SubItems[1]:=Preview_date_new[i];
end;
end;
end;
end;
end;
for i:=0 to 3 do
begin
if C[i]=0 then
begin
with ListView1.Items.Add do begin
SubItems.Add(Prj_note_new[i]);
SubItems.Add(Preview_date_new[i]);
SubItems.Add(Prjver_name_new[i]);
end;
end;
end;
end;
Ошибка, которая вываливает когда после запуска программы проходит 10с.(10с.-время установленное в свойстве Interval таймера)
Project Project1.exe raised exception class EStringListError with message 'List index out of
bounds(0)'.Process stopped.Use Step or Run to continue.
Palladin (2008-10-07 14:23:00) [15]и что вообще за мода, ошибка и все тут... а мы тут все такие мудрейшие уже конечно знаем, что это за ошибка... я тут блокнот открываю, а у меня ошибка. Не подскажешь почему не открывается блокнот??
Поросенок Винни-Пух (2008-10-07 14:23:00) [16]исправь ее
Palladin (2008-10-07 14:22:00) [17]это у тебя уже в программе ошибка, в 17 строке
Zalumhan (2008-10-07 14:22:00) [18]
> Palladin
for i:=0 to ListView1.Items.Count-1 do-так тоже ошибка
Германн (2008-10-07 14:20:00) [19]
> Zalumhan © (07.10.08 14:17)
А подумать? От 0 до 1 сколько будет?
Palladin (2008-10-07 14:19:00) [20]если количество5, а элементы нумеруются с нуля, как ты думаешь, какой будет индексу последнего пункта? срочно пересмотреть учебники начальных классов