Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2010, 15:03   #11
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
потому как список у меня примерно следущий
А00 - УБРАТЬ
А00.1
А00.2
...
Код:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if (ComboBox1.Text[1]+ComboBox1.Text[2]+ComboBox1.Text[3]+ComboBox1.Text[4]<>'A00.') or
(SendMessage(ComboBox1.Handle,CB_FINDSTRING,0,integer(pchar(ComboBox1.Text)))=-1) then
begin
ComboBox1.Text:='A00.';
ComboBox1.SelStart:=4;
end else
ComboBox1.ItemIndex:=SendMessage(ComboBox1.Handle,CB_FINDSTRING,0,integer(pchar(ComboBox1.Text)));
end;

procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=8 then
begin
ComboBox1.Text:='A00.';
ComboBox1.SelStart:=4;
end;
end;
Можно условие
Код:
(ComboBox1.Text[1]+ComboBox1.Text[2]+ComboBox1.Text[3]+ComboBox1.Text[4]<>'A00.')
вычислять по-другому, через Copy, например... Но тогда появится куча проверок - на длину и т.д.

Последний раз редактировалось mihali4; 28.01.2010 в 15:06.
mihali4 вне форума Ответить с цитированием
Старый 28.01.2010, 21:10   #12
Katunya
Новичок
Джуниор
 
Регистрация: 28.01.2010
Сообщений: 9
По умолчанию

mihali4, это конечно все хорошо) спасибо за код, но он не подойдет
помимо А00 у меня таких строк порядка 18500..всевозможные наборы и А00 и А00.1 до самого Z99.9...и ничего из набора убрать нельзя, эти шифровки используются в программе..
я так понимаю олучается чт реализовать мою задачу почти невозможно...
а так хотелось... может будут еще мысли у кого...буду благодарна
Katunya вне форума Ответить с цитированием
Старый 28.01.2010, 21:21   #13
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
у меня таких строк порядка 18500
В комбобоксе ??? 18500 итемсов ???
Тогда у вас что-то с логическим мышлением не в порядке.
И как следствие - с алгоритмом...
mihali4 вне форума Ответить с цитированием
Старый 29.01.2010, 06:38   #14
Katunya
Новичок
Джуниор
 
Регистрация: 28.01.2010
Сообщений: 9
По умолчанию

значения грузятся из файла..
я бы с радостью отказалась от идеи все это делать, но начальник требует...
а на счет мышления у меня с ним все хорошо ) но объяснить начу, что все учесть нереально - бесполезно..

поэтому во думала что может кто-то сталкивался с такой задачей.
и тем не менее большое спасибо за ответы - много нового для себя узнала!
Katunya вне форума Ответить с цитированием
Старый 29.01.2010, 07:37   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Тогда у вас что-то с логическим мышлением не в порядке.
И как следствие - с алгоритмом
Не, дружище, ты не прав. Такой контент тоже бывает.
Заказы, служебная документация... У нас тоже иногда набирается порядочное количество элементов подобных контролов, и наши используют сторонний компонент по-моему из библиотеки EhLib, который якобы задачу с автопоиском при вводе решает.
Кстати, Катя, попробуй поставить себе эту библиотеку, или сделай как я сказал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2010, 08:59   #16
Katunya
Новичок
Джуниор
 
Регистрация: 28.01.2010
Сообщений: 9
По умолчанию

Stilet, спасибо большое за помощь! взяла то, что ты предложил в #7.а чтоб и с А работала - просто тупо сделала первый элемент пустым)
осталось вбить проверку на ввод первого символа, чтоб это была не цифра и не знак...наверно это уже проще, да? ))
думаю этим справлюсь..если же нет - то где-то здесь видела подобные темы даже вроде.
Katunya вне форума Ответить с цитированием
Старый 29.01.2010, 09:55   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
осталось вбить проверку на ввод первого символа, чтоб это была не цифра и не знак
Ну в принципе не сложно
Код:
IF (length(ComboBox.Text)=1)and(ComboBox.Text='a') then делать что -то else делать другое
где a - первый символ

Единственные грабли - верно подбери в каком событии это делать в OnKeyPress или в OnChange. Ну думаю это прямо в OnKeyPress зарядить можно
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2010, 10:11   #18
Katunya
Новичок
Джуниор
 
Регистрация: 28.01.2010
Сообщений: 9
По умолчанию

закинула в OnChange! все прекрасно работает!!
большое спасибо за помощь!!!!!!!!
Katunya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка вводимых значений nik1905 Microsoft Office Excel 7 26.08.2009 17:06
проверка вводимых значений не производится при удалении Air_kplp Microsoft Office Excel 7 29.05.2009 09:01
Присвоение значений в ComboBox maxi_mum Помощь студентам 6 09.04.2009 12:48
Задача переменным значений для разных Item-ов Combobox-а Stalker209 Общие вопросы C/C++ 0 24.03.2009 12:22
Задачка для ComboBox Comer_Jus Компоненты Delphi 9 13.08.2008 09:50