|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ListBox - ошибка: list index out of bounds (-1)
Код:
Код:
procedure TApplication01.CheatsClick(Sender: TObject); var n: string; begin n:=Cheats.Items[Cheats.ItemIndex]; Memo1.Lines.LoadFromFile('cheats\'+n+'.txt'); end; Пишет ошибку: List Index Out Of Bounds (-1) Обвиняет строку: n:=Cheats.Items[Cheats.ItemIndex]; Подскажите в чем ошибка. |
#2
|
||||
|
||||
Когда в твоём Cheats не выделен ни один элемент Cheats.ItemIndex равно -1. А Cheats.Items[-1] не существует (список начинается со строки номер ноль ). Вот тебе и ошибка... пиши так:
Код:
procedure TApplication01.CheatsClick(Sender: TObject); var n: string; begin if Cheats.ItemIndex = -1 then Exit; n:=Cheats.Items[Cheats.ItemIndex]; Memo1.Lines.LoadFromFile('cheats\'+n+'.txt'); end; |
#3
|
|||
|
|||
Это теперь понятно.
Но ведь я знаю, что выбрал что-то в этом списке, почему же тогда значение равно -1? Просто если использовать Exit, то программа не имеет смысла, при нажатии на любую строку в ЛистБоксе, ничего не происходит, а должен отображаться текст. Добавлено: Все, сам решил эту проблему. Последний раз редактировалось bombovix, 17.04.2008 в 07:50. |
#4
|
|||
|
|||
А еще вопрос:
Как можно высчитать количество строк в ЛистБоксе? Так же хотелось бы узнать команды перевода переменных из одного вида в другой(из целочисленной в строку например). А то я раньше в 7 делфи делал IntToStr, вроде получалось, а сейчас в 2007 не знаю. Последний раз редактировалось bombovix, 17.04.2008 в 15:47. |
#5
|
|||
|
|||
Высчитать колличество строк в ListBox
Код:
ListBox1.Cout{тип integer} Перевод из целочисленного в строковый Так и остался IntToStr. Если не получается, то проверь тип объявленной переменной, к которой присваиваешь строковое значение |
#6
|
|||
|
|||
Count пробывал,
PHP код:
Одна из переменных string, другая integer, IntToStr все равно не работает, пишет неопределенный идентификатор(udeclared identificator) Код в котором вылазит ошибка: Цитата:
Последний раз редактировалось bombovix, 17.04.2008 в 16:29. |
#7
|
|||
|
|||
Цитата:
Шутник)) А не пробывал так? Код:
procedure TApplication01.FormCreate(Sender: TObject); var i, i1: integer; s, s1: string; begin Solutions.Visible:=False; Solutions.Enabled:=false; Solutions.Items.LoadFromFile('solutions\z-games.sys'); Cheats.Items.LoadFromFile('cheats\z-games.sys'); i:=Solutions.Count; s:=IntToStr(i); i1:=Solutions.Count; s1:=IntToStr(i1); Memo1.Lines.Add('На данный момент в нашей базе данных кодов и прохождений:'); Memo1.Lines.Add('Прохождений: к '+s+' играм'); Memo1.Lines.Add('Кодов: к '+s1+' играм'); end; |
#8
|
|||
|
|||
сори, заработался со flash
|
#9
|
|||
|
|||
|
#10
|
||||
|
||||
В uses наверно нету модуля, в котором эти функции описаны. Кажется SysUtils называется
Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#11
|
|||
|
|||
The Shadow, мудрец
Спасибо, и правда не было |
#12
|
|||
|
|||
Думали думали, а оказалось так просто))
|
#13
|
|||
|
|||
[quote=bombovix]Count пробывал,
PHP код:
А ListBox1.Items.Count не пробывал? Ты у кого кол-во запрашиваешь? У самого ListBox'а или у коллекции его элементов? Учите матчасть, вьюноша!!! |
#14
|
|||
|
|||
lmikle, вобщето и так все уже заработало, ошибка в другом была.
|