Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++ Builder

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
Flash211
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 20
#1

Вводились только числа. - C++ Builder

06.09.2009, 19:10. Просмотров 2396. Ответов 10
Метки нет (Все метки)

Нужна помошь, есть два элемента StringGrid и Edit, я хочу сделать так, что бы в них можно было вводить только цифры. Понимаю можно было сделать так, что бы выводилась ошибка, аля нельзя так. Но я хочу что бы вводились числа, а остальные клавиши с символами она просто игнорила. Искал в поиске подобные темы, но там немного другое. Помогите глупому студенту. Ну или на крайней случай, хотя бы что бы ошибку выводила сразу же после того как начал вводить не число )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2009, 19:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вводились только числа. (C++ Builder):

Как сделать, чтоб вводились только числа? - C++ Builder
Лююди добрые помогите( я написал программу по записи данных в базу данных, там есть пункт Количество (Edit2), надо чтобы там можно было...

Как сделать, чтобы в Edit вводились только цифры? - C++ Builder
Як зробити щоб в Edit (Builder c++) вводились тільки цифри?

Вывод из даты только числа - C++ Builder
В общем ситуация такая, мне нужно получить в лабел из текущей даты 09.02.2013 только число "09", то есть мне нужно получить первый и второй...

Выделить из строки только числа - C++ Builder
Доброго времени суток. Помогите с задачкой пожалуйста. Суть такова: есть строчка, состоящая из: чисел , знаков '+' и '-',букв. Нужно чтобы...

Создать новый стек, содержащий только четные числа из первого стека - C++ Builder
Вот программа создания стека. //--------------------------------------------------------------------------- #include <vcl.h> ...

StringGrid: найти номер первого из столбцов матрицы, содержащих только нечетные числа - C++ Builder
Дано целочисленную матрицу размером M × N. Найти номер первого из ее столбцов , содержащих только нечетные числа. Если таких столбцов нет,...

10
chelovechek
сишник
Автор FAQ
130 / 37 / 0
Регистрация: 25.07.2009
Сообщений: 291
06.09.2009, 19:17 #2
C++
1
2
3
4
5
6
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if(((Key > '0')&&(Key < '9'))||(Key == VK_CLEAR)||(Key == VK_BACK))return;
Key = 0;
}
//---------------------------------------------------------------------------
0
qizer
8 / 8 / 1
Регистрация: 06.09.2009
Сообщений: 21
06.09.2009, 19:20 #3
ошибочка, не вводятся цифры 9 и 0

правильный вариант

C
1
  if ((Key < '0' || Key > '9') && Key!=8) Key=0;
0
chelovechek
сишник
Автор FAQ
130 / 37 / 0
Регистрация: 25.07.2009
Сообщений: 291
06.09.2009, 19:22 #4
C++
1
2
3
4
5
6
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if(((Key >= '0')&&(Key <= '9'))||(Key == VK_CLEAR)||(Key == VK_BACK))return;
Key = 0;
}
//---------------------------------------------------------------------------
0
Flash211
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 20
06.09.2009, 19:28  [ТС] #5
очень оперативно) думаю я тут выучусь языку лучше чем в своём учебном заведении ))) если у кого-то есть желание объяснить что значит "(Key == VK_CLEAR)||(Key == VK_BACK))return;" был бы благодарен XD
0
qizer
8 / 8 / 1
Регистрация: 06.09.2009
Сообщений: 21
06.09.2009, 20:13 #6
Цитата Сообщение от Flash211 Посмотреть сообщение
(Key == VK_CLEAR)||(Key == VK_BACK))return;
я сам это хотел бы узнать, т.к. начальные зачатки си есть, а в тему случайно заглянул (:

chelovechek, смысл в двух одинаковых сообщениях?
0
chelovechek
сишник
Автор FAQ
130 / 37 / 0
Регистрация: 25.07.2009
Сообщений: 291
06.09.2009, 21:37 #7
qizer, они разные (>= и <= вместо < и >) и это c++, а не си. В си, кажется, (a=0 & b>3 & f!=2*z.get())
Flash211,
Цитата Сообщение от chelovechek Посмотреть сообщение
if(((Key >= '0')&&(Key <= '9'))||(Key == VK_CLEAR)||(Key == VK_BACK))
Код
    если
	(
	   ( 
	      (
		    код_клавиши >= '0'
		  )
		  и
		  (
		    код_клавиши <= '9'
		  )
	    ) 
		или
		(
		  код_клавиши = Del
		)
		или
		(
		  код_клавиши = Backspace
		)
	)
0
qizer
8 / 8 / 1
Регистрация: 06.09.2009
Сообщений: 21
06.09.2009, 21:50 #8
прошу прощения, не заметил. А синтаксис я выбрал, который первый увидел.
0
singleplayer
0 / 0 / 0
Регистрация: 06.07.2009
Сообщений: 42
07.09.2009, 09:38 #9
C++
1
2
3
4
5
void __fastcall TForm1::Edit10KeyPress(TObject *Sender, char &Key)
{
        if ( (isdigit(Key))||(Key==VK_BACK) ) {}
        else Key = 0;
}
имхо так лучше.
0
rangerx
1940 / 1549 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
07.09.2009, 13:34 #10
C++
1
if(!isdigit(Key) && Key != VK_BACK) Key = 0;
0
qizer
8 / 8 / 1
Регистрация: 06.09.2009
Сообщений: 21
07.09.2009, 17:46 #11
Цитата Сообщение от rangerx Посмотреть сообщение
!isdigit(Key)
можно пояснить этот момент?
0
07.09.2009, 17:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2009, 17:46
Привет! Вот еще темы с ответами:

Edit1 только char , edit 2 только цифры - C++ Builder
Здравствуйте. Видимо не умею использовать поиск. Прошу помощи. У меня есть два edit , при нажатии кнопки должна произойти проверка что в...

Что надо прописать в батон , что бы с мемо1 вывести в мемо2 только числа , что есть в мемо1 - C++ Builder
Что надо прописать в батон , что бы с мемо1 (который состоит с текста, символов, знаков&quot;+&quot;и&quot;-&quot;) вывести в мемо2 только числа , что есть в...

Как сделать так чтобы вводились только числа в Edit? - Delphi
Мне нужно чтобы Edit был всегда integer.

Нужно чтобы в форму вводились только цифры. - C# ASP.NET
Господа, пожалуйста, киньте мне работающий код или подскажите, как мне сделать так, чтобы в поля форм для ввода телефона можно было вводить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru