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

Проверка Edit

23.07.2009, 23:08. Показов 4877. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru