0 / 0 / 0
Регистрация: 05.05.2011
Сообщений: 6

Как запретить ввод букв с клавиатуры

05.05.2011, 13:44. Показов 11507. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане,помогите,пожалуйста новичку,как сделать так чтобы нельзя было ввести с клавиатуры ничего , кроме цифр,и ограничить ввод до 4 символов,заранее спасибо.

Добавлено через 1 минуту
Забыл сказать,в си ,не си++,работаю в dev c++
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2011, 13:44
Ответы с готовыми решениями:

Как запретить ввод букв
Как запретить ввод букв в TextBox в visual c++

Как запретить ввод букв и цифр
Всем привет !!!у меня такой вопрос:написал программу на wpf "перевод систем счисления".системы у меня выбираются в комбобоксе.как мне...

Как запретить ввод букв в dataGridView ?
Подскажите, пожалуйста.. В visual studio 2005 мне нужно, что бы в dataGridView вводились только цифры (и работала клавиша backspace)

11
 Аватар для olleg90
40 / 40 / 12
Регистрация: 06.01.2011
Сообщений: 90
05.05.2011, 16:38
ввод осуществляй посимвольно функцией getch() из библиотеки conio.h
что бы проверить цифра или нет есть функция isdigit()
0
 Аватар для Kastaneda
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
05.05.2011, 17:25
Если очень сильно заморочиться, можно читать буфер консоли (до того, как символ отобразиться на экране) и если это не цифра, то считать его в никуда и не отображать его.
0
0 / 0 / 0
Регистрация: 05.05.2011
Сообщений: 6
06.05.2011, 12:15  [ТС]
Можешь ,пожалуйста,привести пример ,как это сделать?

Добавлено через 1 минуту
С буфером обмена

Добавлено через 15 часов 24 минуты
Кто нибудь может подсказать как читать буфер обмена в си,или ссылку дать,я не нахожу нужного материала,пожалуйста,очень нужно...

Добавлено через 48 секунд
В частности как закрыть буквы
0
 Аватар для Kastaneda
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
06.05.2011, 16:14
Вот, обрати внимание на низкоуровневые функции.
0
0 / 0 / 0
Регистрация: 05.05.2011
Сообщений: 6
06.05.2011, 16:31  [ТС]
Большое спасибо)))
0
Заблокирован
06.05.2011, 16:33
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include<conio.h>
  #include<stdlib.h>
#include<string.h>
#include<stdio.h>
#include<iostream.h>
int err;
 
int vvod (void)
{
 int result;
 verh:err=0;
 char ch[100];
 cin>>ch;
 char *string=ch;
 int i;
 i=strlen(string);
 int p;
  for (p=0; p<i; p++)
  { char k;
  k=ch[p];int f;
  f=isdigit(k);
  if (!f) { if (err==0) err=1; }
  }
  if (err==1)
  {
cout<<"->";
  goto verh;
  }
result=atoi(ch);
return result;
}
 
 
int main()
{
 int x,y;
 x=vvod();
 y=vvod();
 cout<<"\nx="<<x;
 cout<<"\ny="<<y;
 getch();
 return 0;
}
1
0 / 0 / 0
Регистрация: 05.05.2011
Сообщений: 6
07.05.2011, 12:43  [ТС]
А на СИ(без плюсов) как это будет выглядеть,мне надо чтобы буквы блокировались до появления на экран(все кроме цифр)
0
 Аватар для Kastaneda
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
07.05.2011, 16:13
Akkch, тебе нужна ф-ция PeekConsoleInput(), ссылку на описания низкоуровневых ф-ций в/в давал выше.
0
0 / 0 / 0
Регистрация: 05.05.2011
Сообщений: 6
10.05.2011, 14:57  [ТС]
Kastaneda,прогуглил ,но не могу разобраться как пользоваться этой функцией,то есть где проверять на цифры,если тебе не сложно объяснить в 2 словах,буду благодарен
0
 Аватар для Kastaneda
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
10.05.2011, 16:01
Лучший ответ Сообщение было отмечено Ev_Hyper как решение

Решение

Посмотри пример, там считывание клавиши, без отображения символа на экране. Попозже напишу то, что тебе нужно, сейчас некогда.

Добавлено через 53 минуты
Вот смотри, написал на скорую руку. Тут программа ждет когда будет нажата цифра (другие символы не отображаются), после того, как нажата цифра, она отображается и считывается в переменную 'a'
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <windows.h>
using namespace std;
//-----------------------------------------
void wait_digits(int&);
HANDLE hstd=GetStdHandle(STD_INPUT_HANDLE);
//------------------------------------------
int main(){
    int a;
    cout<<"Enter some character: ";
    wait_digits(a);
    cout<<"You press "<<a<<endl;
    system("pause");
    return 0;
}
void wait_digits(int &a){
    const int count=10;//с этим числом можно эксперементировать
    INPUT_RECORD IR[count];
    DWORD read;
    while(PeekConsoleInputA(hstd,IR,count,&read)) {
        for(int i=0; i<read; i++)
            if(IR[i].EventType==KEY_EVENT && isdigit(IR[i].Event.KeyEvent.wVirtualKeyCode)) {
                cin>>a;
                return;
            }
        FlushConsoleInputBuffer(hstd);
    }
 
}
только у меня почему-то при повторном запуске глючно работает (начинает отображать символы на экране только после второй нажатой цифры. Но выяснять в чем дело сейчас некогда, может сам разберешся))
1
0 / 0 / 0
Регистрация: 05.05.2011
Сообщений: 6
10.05.2011, 16:10  [ТС]
Kastaneda ,спасибо тебе большое,сегодня как домой попаду буду разбираться че к чему)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.05.2011, 16:10
Помогаю со студенческими работами здесь

Как запретить ввод пробела и букв?
Собственно тут если вводятся буквы, то программа творит что то страшное... Да и через пробел вытворяет что то неадекватное. Нельзя ли их...

Как запретить ввод букв в TextBox?
Добрый день. Пишу свою первую программу (для windows phone), и столкнулся с такой проблемой: нужно ограничить введение в textBox с...

Как запретить ввод в Edit букв?
procedure TForm5.Button1Click(Sender: TObject); var a,b,i:integer; s:real; begin a:=strtoint(edit1.text); s:=0; i:=1; ...

Как запретить ввод букв в TextBox?
Как запретить ввод букв в textBox? Вот эта конструкция неверно работает public void textBox1_KeyDown(object sender, KeyEventArgs e) ...

[WPF] Как запретить ввод букв в textBox?
Не получается заблокировать ввод букв, помогите пожалуйста.


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

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

Новые блоги и статьи
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru