textbox с ограниченным вводом дробных чисел

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ravan77
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.05.2007 (Пн) 13:20

textbox с ограниченным вводом дробных чисел

Сообщение ravan77 » 20.02.2008 (Ср) 22:48

Привет всем. короче текстбох должен проверять введённые дробные числа от 1,1 до 999,99 не меньше не больше. Дайте совет как это реализовать

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 21.02.2008 (Чт) 8:33

Проверять значение в событиях LostFocus или Validate
Весь мир матрица, а мы в нем потоки байтов!

ravan77
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.05.2007 (Пн) 13:20

Сообщение ravan77 » 21.02.2008 (Чт) 17:43

спасибо Viper разобрался с событиями. Ещё проверяю ввод на буквы
If Not IsNumeric (tnor14.Text) Then MsgBox "Только буквы !!!": tnor14.SelStart = 0: tnor14.SelLength = Len(tnor14.Text)

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

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 21.02.2008 (Чт) 19:46

ravan77
Ну так находи целую и дробную часть и делай из них число :wink:
#define ROFL 0xDDDD

ravan77
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.05.2007 (Пн) 13:20

Сообщение ravan77 » 21.02.2008 (Чт) 21:43

Дело в том что для сохранения инфы вот в таком виде "154.8" точка нужна. Если можеш подскажи код

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 22.02.2008 (Пт) 0:33

Попробуй так:

Код: Выделить всё
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not Chr(KeyAscii) = "." Then KeyAscii = 0
End Sub
В нашем деле главное ЛОГИКА.

косил косой косой косой.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 22.02.2008 (Пт) 1:21

ravan77
Ну заменяй на точку, или дели на десять чтобы получить дробную часть(столько раз сколько символов в дробной части) и прибавляй к ней целую... Задачка ну просто детская :wink:
А вообще Gemini показал правильный код который прекрасно работает :wink:
#define ROFL 0xDDDD

ravan77
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.05.2007 (Пн) 13:20

Сообщение ravan77 » 22.02.2008 (Пт) 21:45

Спасибо ребята, помогли новичку. :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 89

    TopList