Форум: "Начинающим";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
ВнизПоиск в ListBox Найти похожие ветки
← →
Johny © (2006-12-27 18:53) [0]procedure TMy_key.Button2Click(Sender: TObject);
var
text: String;
begin
text:= ComboBox3.text;
if text <> "" then
begin
With ListBox1 do
begin
ListBox1.Perform(LB_SELECTSTRING, ItemIndex, LongInt(text));
end;
if ListBox1.Selected[ListBox1.ItemIndex] then
begin
Memo1.Lines.Add(ListBox1.Items[ListBox1.ItemIndex]);
end
else
MessageDlg("Ничего не найдено", mtInformation, [mbOk], 0);
end
else
Exit;
end;
Не могу найти ошибку! "List index out of bounds(-1)"
← →
umbra © (2006-12-27 19:12) [1]с таким кодом Вы еще легко отделались. А то ведь и format c: где-то мог затеряться :)
← →
Palladin © (2006-12-27 19:14) [2]ну а над ситуацией когда в listbox1 ничего не выделено твой моск не думал?
← →
Anatoly Podgoretsky © (2006-12-27 19:14) [3]> Johny (27.12.2006 18:53:00) [0]
ItemIndex = -1
← →
Johny © (2006-12-27 19:48) [4]
> ItemIndex = -1
Я пытался вставлять это в код, всё по прежнему. Если что то выделено, то проблем нет, а если нет то выдаёт ошибку!
← →
Palladin © (2006-12-27 19:57) [5]Убей себя ап стену.
← →
Johny © (2006-12-27 20:15) [6]
> ну а над ситуацией когда в listbox1 ничего не выделено твой
> моск не думал?
> Убей себя ап стену.
Ты в двух предложениях умудрился две ошибки сделать! Я представляю сколько ты их исходниках делаешь! Лучше бы помог.
← →
Anatoly Podgoretsky © (2006-12-27 20:36) [7]> Johny (27.12.2006 19:48:04) [4]
Это не надо вставлять в код, это значение ItemIndex, при котором возникает у тебя ошибка.
← →
Johny © (2006-12-27 20:46) [8]Я уже понял!
Если ItemIndex = 0 тогда Selected = True, а если ItemIndex = -1 то Selected = False и добавлять в Memo нечего. Но почему не срабатывает оператор сравнения?
← →
Virgo_Style © (2006-12-27 21:08) [9]Johny © (27.12.06 20:46) [8]
Но почему не срабатывает оператор сравнения?
чтобы сравнить что-то, надо его в руки взять, этого чего-то и нету, вот и получаешь по рукам
← →
Johny © (2006-12-27 21:13) [10]Дастали демагоги! Хоть бы кто дельный совет дал.
← →
Virgo_Style © (2006-12-27 21:17) [11]А, тебе дельный? Тогда книжки читай и язык учи.
← →
Johny © (2006-12-27 21:27) [12]
> А, тебе дельный? Тогда книжки читай и язык учи.
Ну как бы ты написал этот код? Докажи что ты прочёл нужные книжки и выучил язык. И вообще, для чего нужен этот форум? Репликами обмениватся?
← →
Virgo_Style © (2006-12-27 21:44) [13]Позволю себе поддаться на слабо.
я бы использовал оператор if и сравнение ItemIndex с -1.
← →
Johny © (2006-12-27 22:17) [14]Я всё исправил сам:
procedure TMy_key.Button2Click(Sender: TObject);
var
text: String;
sl: Integer;
begin
text:= ComboBox3.text;
if text <> "" then
begin
With ListBox1 do
begin
sl:= ListBox1.Perform(LB_SELECTSTRING, ItemIndex, LongInt(text));
end;
if sl > 0 then
Memo1.Lines.Add(ListBox1.Items[ListBox1.ItemIndex])
else
MessageDlg("Ничего не найдено!", mtInformation, [mbOk], 0);
end
else
Exit;
end;
Ларчик просто открывался!
Теперь надо решить проблемму с ListBox1.Perform что бы дойдя до конца файла не возвращался в начало.
Всем спасибо за помощь.
← →
Anatoly Podgoretsky © (2006-12-27 22:23) [15]> Johny (27.12.2006 21:13:10) [10]
Не хочешь на себя взглянуть?
← →
Johny © (2006-12-27 22:25) [16]
> Не хочешь на себя взглянуть?
В смысле?
← →
Anatoly Podgoretsky © (2006-12-27 22:48) [17]> Johny (27.12.2006 22:25:16) [16]
Ну тогда перечитай ветку.
← →
Германн © (2006-12-28 00:26) [18]
> Ларчик просто открывался!
Ага. Только стОит ли "ларчик" открывать динамитом. Почитай справку по методу IndexOf.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.059 c