Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка list index out of bounds (75) 
:(
    Опции темы
igorx86
  Дата 28.4.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 8.10.2006

Репутация: нет
Всего: нет



Вылезает ошибка при добавлении элемента в ListView

Парсю строку вида 

Код

AUTOEXEC.BAT?0?---a-?BJPrinter?0?d-h--?boot.ini?214?--h-s?Bootfont.bin?4952?-rhas?
CanoScan?0?d-h--?CONFIG.SYS?0?---a-?cvavreval?0?d----?Documents and Settings?0?d----?Downloaded Videos?0?d----?Downloads?0?d----?eMule?0?d----?hiberfil.sys?267964416?--has?IO.SYS?0?-rhas?
MSDOS.SYS?0?-rhas?NTDETECT.COM?47564?-rhas?ntldr?250624?-rhas?NVIDIA?0?d----?pagefile.sys?
402653184?--has?Program Files?0?dr---?ProgramFiles?0?d----?RECYCLER?0?d-h-s?System Volume Information?0?d-h-s?Temp?0?d----?WINDOWS?0?d----?work?0?d----?


процедурой
Код

procedure _parser(str:string;var s:tstringlist);
var
i : integer;
st : integer;
sp : boolean;
begin
st := 0;
sp := true;
s := tstringlist.create;
s.add('');

for i := 1 to length(str) do begin
    if str[i] = '?' then begin
        if not sp then begin
            inc(st);
            s.add('');
        end;//end if
    sp := true;
    end //end if
    else begin
        sp := false;
        s.strings[st] := s.strings[st] + str[i];
    end;//end if
end;//end for
if sp then s.delete(s.count-1);
end;


потом пытаюсь вывести в ListView
Код

li:=lv1.Items.Add;
  _parser(par,s);

  for i:=0 to s.Count-1 do begin
    li.Caption:=s.Strings[i];
    li.SubItems.Add(s.Strings[i+1]);
    li.SubItems.Add(s.Strings[i+2]);
  end;//end for

И почемуто вылезает ошибка list index out of bounds (75)
В чем я допустил ошибку?
Заранее спасибо!

Это сообщение отредактировал(а) igorx86 - 28.4.2007, 18:04
PM MAIL   Вверх
MetalFan
Дата 28.4.2007, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



да запросто! обращаешься к несуществующему элементу списка


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Bose
Дата 28.4.2007, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Цитата(igorx86 @  28.4.2007,  18:03 Найти цитируемый пост)
    
li.SubItems.Add(s.Strings[i+1]);    
li.SubItems.Add(s.Strings[i+2]);

вот эти две строки и вызывают ошибку
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2775 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.