Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];

Вниз

ListView1.Items.Count   Найти похожие ветки 

 
Zalumhan ©   (2008-10-07 14:17) [0]

Почему когда в цикле использую число вместо ListView1.Items.Count, то все работает нормально, а если писать как в коде ниже, то вылетает ошибка.
for i:=0 to ListView1.Items.Count do


 
Palladin ©   (2008-10-07 14:19) [1]

если количество 5, а элементы нумеруются с нуля, как ты думаешь, какой будет индекс у последнего пункта? срочно пересмотреть учебники начальных классов


 
Palladin ©   (2008-10-07 14:19) [2]

по математике, или что там было, арифметике


 
Германн ©   (2008-10-07 14:20) [3]


> Zalumhan ©   (07.10.08 14:17)  

А подумать? От 0 до 1 сколько будет?


 
Zalumhan ©   (2008-10-07 14:22) [4]


> Palladin


for i:=0 to ListView1.Items.Count-1 do-так тоже ошибка


 
Palladin ©   (2008-10-07 14:22) [5]

это у тебя уже в программе ошибка, в 17 строке


 
Поросенок Винни-Пух ©   (2008-10-07 14:23) [6]

исправь ее


 
Palladin ©   (2008-10-07 14:23) [7]

и что вообще за мода, ошибка и все тут... а мы тут все такие мудрейшие уже конечно знаем, что это за ошибка... я тут блокнот открываю, а у меня ошибка. Не подскажешь почему не открывается блокнот??


 
Zalumhan ©   (2008-10-07 14:30) [8]

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.


 
DVM ©   (2008-10-07 14:31) [9]


> for i:=0 to ListView1.Items.Count-1 do-так тоже ошибка

вероятно удаляешь внутри цикла?


 
Palladin ©   (2008-10-07 14:32) [10]

у тебя несуществует ListView1.Items[j].SubItems[0]
а так же может не существовать ListView1.Items[j].SubItems[2]


 
Zalumhan ©   (2008-10-07 14:36) [11]


> у тебя несуществует ListView1.Items[j].SubItems[0]а так
> же может не существовать ListView1.Items[j].SubItems[2]

У меня в ListView заполнено 4 столбца и 3 строки с помощью Items Editor"а


 
Palladin ©   (2008-10-07 14:38) [12]

а может не существует C[i] при i=0
а может Prj_note_new[i]
а может Preview_date_new[i]
а может Prjver_name_new[i]

ты уж разберись со своими списками сам,
открою тебе тайну: в IDE есть (и работают) клавиши F5, F7,F8


 
Германн ©   (2008-10-07 14:39) [13]


> Ошибка, которая вываливает когда после запуска программы
> проходит 10с.(10с.-время установленное в свойстве Interval
> таймера)

А что такое отладчик ты не знаешь?


 
Zalumhan ©   (2008-10-07 14:42) [14]


> а может не существует C[i] при i=0а может Prj_note_new[i]а
> может Preview_date_new[i]а может Prjver_name_new[i]

Все это существует


 
Поросенок Винни-Пух ©   (2008-10-07 14:45) [15]

Все это существует
Значит твоя ошибка - это оптический обман. Забей на нее.


 
Palladin ©   (2008-10-07 14:50) [16]


> Zalumhan ©   (07.10.08 14:42) [14]

:)
На картинках, по шагам:
1. Ставишь курсор на самый первый begin
2. Нажимаешь F5
3. Жмешь F9
4. Как только программа останавливается на красненькой строчке, жмешь F8 и, идя по коду, видишь где ты думал, а оно оказалось


 
Германн ©   (2008-10-07 14:54) [17]


> На картинках, по шагам:

Учебник "Дельфи в комиксах за 5 минут"
:)


 
Palladin ©   (2008-10-07 14:55) [18]

для самых маленьких с высшим образованием :)


 
Германн ©   (2008-10-07 15:14) [19]


> Palladin ©   (07.10.08 14:55) [18]
>
> для самых маленьких с высшим образованием :)

Фамилия весьма характерная!
:)


 
MsGuns ©   (2008-10-07 16:25) [20]

Стрингридом не пробовал пользоваться. ИМХО, проще


 
{RASkov} ©   (2008-10-07 21:36) [21]

> [8] Zalumhan ©   (07.10.08 14:30)
> k1:=ListView1.Items.Count;
> for i:=0 to 3 do
и т.д.
но далее kХ не используются.... Сильно :)

Вообще [8] - это ужасно :) Не прими за наезд, но за намек...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.005 c
2-1222950578
Brabus
2008-10-02 16:29
2008.11.16
Проверка существования поля в таблице


2-1223030545
Alex7
2008-10-03 14:42
2008.11.16
Наследование от главной формы


15-1221713615
avr
2008-09-18 08:53
2008.11.16
Бортовой компьютер на микроконтроллере.


2-1223375576
alexnmsk
2008-10-07 14:32
2008.11.16
Обработка WM_SETTEXT


15-1221728218
Palladin
2008-09-18 12:56
2008.11.16
Генератор документации





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский