Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
 Аватар для dimacyxarev
0 / 0 / 0
Регистрация: 18.07.2009
Сообщений: 39

Проверка Edit

23.07.2009, 23:08. Показов 4933. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как проверить Edit, чтоб в нем были ток цифры??? подскажите плиз.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2009, 23:08
Ответы с готовыми решениями:

Запись в файл из полей Edit и проверка Edit на пустоту
TForm1 *Form1; int Ext=0; int i; //--------------------------------------------------------------------------- __fastcall...

Проверка Edit
Помогите исправить. Если в Edit пусто, то выводятся оба сообщения по очереди. if...

Проверка Edit
как задать чтоб при в вводе в Edit делало проверку? Типа вводу пароля и логина... if(Edit1->Text="kolya") and...

22
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
23.07.2009, 23:18
Проверка символа

Аналогично и с Edit


C++
1
2
3
4
5
6
7
8
9
int i;
 try
{
StrToInt(Edi1->Caption);
}
catch (...)
{
ShowMessage("Ошибка!");
}
0
 Аватар для dimacyxarev
0 / 0 / 0
Регистрация: 18.07.2009
Сообщений: 39
23.07.2009, 23:28  [ТС]
catch (...) --- что это?)
0
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
23.07.2009, 23:54
Обработка всех исключений

Можно и так: if(!(Key >= '0' && Key <= '9')) Key = 0x00;
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
24.07.2009, 00:03
Цитата Сообщение от VtaMC Посмотреть сообщение
Можно и так: if(!(Key >= '0' && Key <= '9')) Key = 0x00;
(Это в OnKeyDown)
Только из буфера можно всё равно будет вставить много чего другого.
0
0 / 0 / 0
Регистрация: 06.07.2009
Сообщений: 42
24.07.2009, 09:21
а не легче просто запретить ввод в едит всего, кроме цифр?
0
 Аватар для dimacyxarev
0 / 0 / 0
Регистрация: 18.07.2009
Сообщений: 39
24.07.2009, 17:29  [ТС]
Цитата Сообщение от singleplayer Посмотреть сообщение
а не легче просто запретить ввод в едит всего, кроме цифр?
как?
0
6 / 6 / 1
Регистрация: 25.07.2009
Сообщений: 49
25.07.2009, 22:19
Цитата Сообщение от singleplayer Посмотреть сообщение
а не легче просто запретить ввод в едит всего, кроме цифр?
тоже очень хочу знать как?
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
25.07.2009, 22:26
Так уже ведь вам писали?
C++
1
2
3
4
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if((Key!=VK_BACK)&&(Key<'0'||Key>'9')&&(Key!='.'))Key=0; // Воспринимаем только цифры
}
0
6 / 6 / 1
Регистрация: 25.07.2009
Сообщений: 49
26.07.2009, 00:12
Цитата Сообщение от Otaka Посмотреть сообщение
Так уже ведь вам писали?
C++
1
2
3
4
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if((Key!=VK_BACK)&&(Key<'0'||Key>'9')&&(Key!='.'))Key=0; // Воспринимаем только цифры
}
Цитата Сообщение от Somebody Посмотреть сообщение
(Это в OnKeyDown)
Только из буфера можно всё равно будет вставить много чего другого.
тоже писали...
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
26.07.2009, 14:27
А если нечто типа этого?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
TEdit*e=(TEdit*)Sender;
int CaretPos=e->SelStart;
int l=e->Text.Length();
String res;
for(int i=1;i<=l;i++)
        {
        if(e->Text[i]>='0'&&e->Text[i]<='9')res+=e->Text[i];
        }
e->Text=res;
e->SelStart=CaretPos;
}
0
6 / 6 / 1
Регистрация: 25.07.2009
Сообщений: 49
26.07.2009, 18:38
Цитата Сообщение от Otaka Посмотреть сообщение
А если нечто типа этого?
глупо как-то получается - вроде ничего не вводится, а каретка убегает в конец. да еще, если копировать текст с цифрами, то твой алгоритм работает как маска, т.о. в поле вставляются только цифры. а смысл?

надо что-то другое.
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
26.07.2009, 18:58
Так ты используй Edit1Change и процедуру Edit1KeyPress.
А насчет маски, мне было так удобно в одном из проектов, вот я и кинул её сюда.
0
 Аватар для sloosar
2 / 2 / 1
Регистрация: 20.07.2009
Сообщений: 55
26.07.2009, 20:47
C++
1
2
3
4
5
6
7
8
try
{ 
    StrToInt(Edit1->Text);
}
catch(...)
{ 
    ShowMessage("Its not an integer");
}
Или Вам нужно вытереть все символы кроме цифр?
0
6 / 6 / 1
Регистрация: 25.07.2009
Сообщений: 49
26.07.2009, 22:23
Цитата Сообщение от sloosar Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
try
{ 
    StrToInt(Edit1->Text);
}
catch(...)
{ 
    ShowMessage("Its not an integer");
}
Или Вам нужно вытереть все символы кроме цифр?
да нет же, нужно всего-навсего организовать обработку вводимых данных в строку ввода, а точнее разрешить ввод лишь чисел (int). ну и про буфер обмена не забыть.
дданые в поле еще не введены! сообщения об ошибке выводить не требуется, это лишее.
0
0 / 0 / 0
Регистрация: 06.07.2009
Сообщений: 42
27.07.2009, 11:35
C++
1
2
3
4
5
void __fastcall TForm1::Edit10KeyPress(TObject *Sender, char &Key)
{
        if ( (isdigit(Key))||(Key==VK_BACK) ) {}
        else Key = 0;
}
вот разрешен ввод только цифр и клавиши бекспейс, чтобы нельзя было из буфера вставлять запрети ПКМ в поле едит. Поюзай поиск, как это реализовать подымалось здесь, как минимум в 3х темах.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
27.07.2009, 13:40
Или вот ещё один вариант

C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TMainForm::Edit1KeyPress(TObject *Sender, char &Key)
{
Set < char, 0, 255 > Dig;
 if ( ! (Dig << '0' <<'1' << '2' << '3' <<'4' << '5'
             << '6' << '7'<< '8' << '9'<<'\b'<<'\r').Contains(Key))
 
 if ( ! Dig.Contains(Key))
    {
     Application->MessageBox("В это поле, необходимо вводить только цифры!!!!!!","Внимание",MB_ICONWARNING);
     Key = 0;
     }
0
0 / 0 / 0
Регистрация: 06.07.2009
Сообщений: 42
27.07.2009, 16:18
вот, смотри-имхо это лучший вариант-запрет букв и ПКМ,разрешены только цыфры и бекспейс(ну и делит конечно)
https://www.cyberforum.ru/post187184.html
0
6 / 6 / 1
Регистрация: 25.07.2009
Сообщений: 49
29.07.2009, 02:03
а если мне правая кнопка нужна рабочая?
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
29.07.2009, 12:07
Юзайте поиск: тут все есть Проверить, находятся ли в Edit только цифры
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2009, 12:07
Помогаю со студенческими работами здесь

Проверка на изменение Edit
Ребят.. Такая задача. Есть два компонента типа TEdit и один TButton. до меня немного не доходит, как при изменении обоих полей TEdit...

Проверка на ввод в edit
метод прямоугольников для интегралов, не суть. После того, как ввожу проверку на ввод данных в edit, не правильные ответы выводиться...

Проверка числа в Edit
Доброе время суток. Проблема такая. Есть поле Edit. Необходимо, чтобы при событии OnExit проверялось то, что в эдите написано. Если это...

Проверка значений в Edit
Появилась проблема проверки вводимого значения в поле Edit. Смысл в том, что если в поле введено число то выполняется выборка по полю...

Проверка синтаксиса Edit
В общем поискал нашел как сделать проверку синтаксиса... но не нашел как сделать так, чтобы можно было вводить, например, - первым символом...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru