powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi7, обработка вставки из буфера в комбобокс
18 сообщений из 18, страница 1 из 1
Delphi7, обработка вставки из буфера в комбобокс
    #39713634
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При наборе символов по каждому нажатию клавиши ищется набранное значение в списке и курсор в комбобоксе переводится на первое похожее значение. Это то что нужно.
НО Проблема возникает, если текст введен по ctrl-v. При этом поиск в комбобоксе не происходит, а т.к. с точки зрения оператора значение введено, он переходит в следующую ячейку. ItemIndex при этом -1, хотя вставленное значение в справочнике есть.

Как заставить комбобокс искать набранное значение не только по нажатию обычной клавиши, но и при вставке из буфера тоже?
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713637
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Conejo,

По идее вставка текста должна вызывать OnChange(). Поиск у тебя свой или стандартный?
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713639
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DropedDown := true;
ItemIndex := FindMyItems(what, Items);
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713640
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все стандартное, и все работало во время демонстрации, пока я набирала руками. Но по факту операторы работают через буфер, и вылезла такая особенность. Если знать, как принудительно вызвать поиск, все решится
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713642
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
05.10.2018 15:17, Conejo пишет:
> Если знать, как принудительно вызвать поиск...

нету там принудительного поиска.
либо эмулировать нажатия клавиш,
либо искать самостоятельно.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713644
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МимопроходящийDropedDown := true;
ItemIndex := FindMyItems(what, Items);


что это за функция FindMyItems? Мне нужно вызвать стандартный поиск. А разворачивать комбобокс наоборот - очень не желательно
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713647
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
05.10.2018 15:22, Conejo пишет:
> что это за функция FindMyItems?

это функция, которую тебе нужно написать.

> Мне нужно вызвать стандартный поиск.

нет такого.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713648
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящийлибо эмулировать нажатия клавиш,


т.е. стирать последний символ, и эмулировать нажатие соответствующей клавиши... Ну если нельзя лучше, буду использовать этот костыль)
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713650
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Conejoвсе стандартное

А точнее? Некоторые считают "стандартным" скопипащеный с гугля кусок кода для поиска в
OnKeyPress...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713651
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно попробовать послать CB_FINDSTRING
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713657
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Conejo,

Найти строку с списке строк - проблема? IndexOf() тебе в руки - если нужно точное соответствие. Если не нужно - тупой for ...
Вешаешься на событие OnChange() у ComboBox. В обработчике получаешь вставленный текст из буфера (Combo.Text) и ищешь через Combo.Items.IndexOf() или просто

Код: pascal
1.
2.
3.
4.
5.
6.
7.
for i:=0 to Combo.Items.Count-1 do
   if (AText=....) then
      begin
          Combo.Text:=Combo.Items[i];
          Combo.ItemIndex:=i;
          break; 
      end;
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713676
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
05.10.2018 15:07, Conejo пишет:
> НО Проблема возникает, если текст введен по ctrl-v. При этом поиск в комбобоксе не происходит

а ведь ты крольчиха гонишь.
по ctrl-v комбобокс позиционируются на воткнутую строку (если таковая есть).

проверено.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713708
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

похоже на то что ты прав. Вероятно даже ищет. Но не находит. А значение есть...
Пробовала сделать через CB_FINDSTRING.
Вставляю из буфера ибупрофен - не находит. Стираю и ввожу с клавиатуры последнюю н - находит. Мистика...
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713712
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConejoВставляю из буфера ибупрофен - не находит. Стираю и ввожу с клавиатуры последнюю н - находит.

Значит в буфере на конце есть пара невидимых символов типа перевода строки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713726
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

s := ComboBox1.Text;
showmessage(IntToStr(Length(s)));

выводит 9 и после вставки из буфера, и при ручном вводе последней буквы...
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713730
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пощупай латиницу.
проявляется глюк или нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713740
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с латиницей то же самое
...
Рейтинг: 0 / 0
Delphi7, обработка вставки из буфера в комбобокс
    #39713787
Conejo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В итоге сделала поиск indexOf() в событии OnExit. По другому не работало, возвращалась -1 и все... Так и не поняла что происходит, наверно пятница.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi7, обработка вставки из буфера в комбобокс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]