Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.04.2008, 19:16
bombovix bombovix вне форума
Прохожий
 
Регистрация: 16.04.2008
Сообщения: 11
Репутация: 10
Смущение 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  
Старый 16.04.2008, 21:39
Аватар для AXS
AXS AXS вне форума
Новичок
 
Регистрация: 26.11.2006
Адрес: РК г. Талдыкорган
Сообщения: 67
Репутация: 15
По умолчанию

Когда в твоём 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  
Старый 17.04.2008, 06:54
bombovix bombovix вне форума
Прохожий
 
Регистрация: 16.04.2008
Сообщения: 11
Репутация: 10
По умолчанию

Это теперь понятно.
Но ведь я знаю, что выбрал что-то в этом списке, почему же тогда значение равно -1?
Просто если использовать Exit, то программа не имеет смысла, при нажатии на любую строку в ЛистБоксе, ничего не происходит, а должен отображаться текст.

Добавлено:
Все, сам решил эту проблему.

Последний раз редактировалось bombovix, 17.04.2008 в 07:50.
Ответить с цитированием
  #4  
Старый 17.04.2008, 15:40
bombovix bombovix вне форума
Прохожий
 
Регистрация: 16.04.2008
Сообщения: 11
Репутация: 10
По умолчанию

А еще вопрос:
Как можно высчитать количество строк в ЛистБоксе?

Так же хотелось бы узнать команды перевода переменных из одного вида в другой(из целочисленной в строку например). А то я раньше в 7 делфи делал IntToStr, вроде получалось, а сейчас в 2007 не знаю.

Последний раз редактировалось bombovix, 17.04.2008 в 15:47.
Ответить с цитированием
  #5  
Старый 17.04.2008, 16:10
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Высчитать колличество строк в ListBox
Код:
ListBox1.Cout{тип integer}

Перевод из целочисленного в строковый
Так и остался IntToStr. Если не получается, то проверь тип объявленной переменной, к которой присваиваешь строковое значение
Ответить с цитированием
  #6  
Старый 17.04.2008, 16:13
bombovix bombovix вне форума
Прохожий
 
Регистрация: 16.04.2008
Сообщения: 11
Репутация: 10
По умолчанию

Count пробывал,
PHP код:
i:=ListBox1.Count
Не работает.


Одна из переменных string, другая integer, IntToStr все равно не работает, пишет неопределенный идентификатор(udeclared identificator)
Код в котором вылазит ошибка:
Цитата:
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:=i(IntToStr);
i1:=Solutions.Count;
s1:=i1(IntToStr);
Memo1.Lines.Add('На данный момент в нашей базе данных кодов и прохождений:');
Memo1.Lines.Add('Прохождений: к '+s+' играм');
Memo1.Lines.Add('Кодов: к '+s1+' играм');
end;

Последний раз редактировалось bombovix, 17.04.2008 в 16:29.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:19.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter