Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.49 MB
Время: 0.053 c
2-1167342503
Bolt
2006-12-29 00:48
2007.01.21
Как сделать что бы дочерняя форма открывалась как Dialog


2-1167749353
FIL-23
2007-01-02 17:49
2007.01.21
мешают компоненты


4-1157539348
Array
2006-09-06 14:42
2007.01.21
Функция принудительного выключения


11-1144418740
Maloric
2006-04-07 18:05
2007.01.21
ListView высота строк


2-1168004094
Тиммммм
2007-01-05 16:34
2007.01.21
монохром





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский