Страницы: 1
RSS
Combobox. Проверка данных.
 
Приветствую!  
Подарите идею.  
Есть Комбо, 10 значений которого беруся из списка. 9 из них - целые числа, одно - 0,5.  
Как организовать проверку ввода из списка понятно.  
Но в комбо может быть введено любое другое значение (пусть до 100), которое должно быть целым числом.  
С проверкой на целые числа тоже проблем нет, я это реализую передачей значения комбо в переменную Long и проверкой на ошибку, но влезает 0,5.
 
"пусть до 100"  
"передачей значения комбо в переменную Long и проверкой на ошибку"  
можно Integer ограничиться или, вообще, Byte, если >= 0.  
 
If ЗначениеВведенноеВКомбо Не целое число Then  
*if ЗначениеВведенноеВКомбо <> Елементу списка 0,5 Then Дейсвия  
end if  
 
*как вариант можно проверить весь список
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
TO nerv  
Не помню где, но нашел информацию, что архитектура современных компьютеров заточена под использование переменных типа Long, которые обрабатываются даже быстрее, чем Integer или Byte.    
А как проверить  
If ЗначениеВведенноеВКомбо Не целое число    
Если через Long, то как туда потом впихнуть 0,5?  
 
#48444# - Каре!
 
If CSng(combobox1.Value) = CLng(combobox1.Value) Or combobox1.Value = "0,5" Then MsgBox "Normal!"
Я сам - дурнее всякого примера! ...
 
ну, не знаю, не знаю... Когда я изучал Asm, мне казалось наоборот)  
 
byte: 11111111  
long: 11111111111111111111111111111111  
 
Думайте сами : )
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Я бы сделал так, на случай, если чисел типа Single > 1:  
 
If CSng(combobox1.Value) <> CByte(combobox1.Value) then  
For q = НачалоСписка To КонецСписка  
If Элемент(q) = CSng(combobox1.Value)Then Действия:Exit for  
Next  
End If  
 
Надеюсь, я не ошибся :D Без примеров не очень ориентируюсь...
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
?  
:
 
Спасибо вам, люди за ответы!...но..... пока что ваш креатив имеет расхождение с моим ~ 10 - 15%.(т.е. я все предложенные варианты рассматривал в том или ином виде)  
Это как ладошкой....  
Вот взял бы кто-нибудь лопату...:-)
 
{quote}{login=The_Prist}{date=09.07.2011 11:29}{thema=}{post}Ведь Вы просили решения: Вам предоставили.{/post}{/quote}  
Дмитрий, спасибо за бред..-:)  
Он будет рассмотрен должным образом и учтен при принятии окончательного решения.  
Я просил не решение, а ИДЕЮ! Просто где-то под столом завалялась мысль - "А ВДРУГ?".  
И то, что предложенные идеи мною уже рассматривались, нисколько не умаляет помошь участников форума. За что я и выразил им благодарность.А мои не то, что бы попытки, но алгоритмы решения задачи, были описаны в стартовом посте.
 
Отсечь 0,5 на первом этапе, а дальше Ваша проверка. Хотя, 0,5 ТАКОЕ родное значение...
 
Юрий М  
В принципе, я и сам склоняюсь к подобному решению...  
Ну а с этим  
{quote}{login=Юрий М}{date=10.07.2011 12:13}{thema=}{post}Хотя, 0,5 ТАКОЕ родное значение...{/post}{/quote}  
кто бы спорил!!!-:)
Страницы: 1
Читают тему
Наверх