0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 28
1

Запрет ввода символов в едит, кроме комы

09.04.2012, 17:32. Показов 1276. Ответов 5
Метки нет (Все метки)

вот есть код который запрещает ввод символов в едит кроме комы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm3::Edit1KeyPress(TObject *Sender, char &Key)
{
switch(Key)
  {
   case '0':case '1':case '2':case '3':case '4':case '5':case '6':
   case '7':case '8':case '9':case 8:break;
   case ',':
           {
            Key=',';
            if(Edit1->Text.Pos(Key)!=0) Key=0;
            break;
           }
   case 13:
   {
    Button1->Click();
    break;
   }
   default: Key=0;
  }
}
я его взял с Ввод в поле Edit только цифр
как теперь добавить в этот код чтоб можна ввести символ '-' и только раз? Помогите
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2012, 17:32
Ответы с готовыми решениями:

Запрет ввода определенных символов в Edit
Я искал на форуме и в гугле, нашел разные варианты, но не нашел который мне бы подошел... Ведь у...

Запрет ввода определенных символов (перевод с Delphi)
Доброго времени суток!!! Ребята помогите перевести код с Дэлфы на C++...Пишу Курсач и мне осталось...

Перевод Delphi -> C++ - запрет ввода в эдит определенных символов
Помогите пожалуйста сделать перевод защиты из Delphi на C++. Нужно сделать так, чтобы нельзя было...

Показ, скрытие символов поля едит
вот поле едит по умолчанию в свойствах поля Edit, PasswordChar ставлю символ "*" потом на CheckBox...

5
871 / 447 / 35
Регистрация: 25.10.2011
Сообщений: 910
09.04.2012, 17:37 2
Через switch немного странно все это дело выглядит, ну да ладно. Проверяйте наличие символа через Pos у вашего Edit. Или просто используйте MaskEdit.
0
Практикантроп
4680 / 2600 / 496
Регистрация: 23.09.2011
Сообщений: 5,581
09.04.2012, 17:46 3
Цитата Сообщение от VDFORS Посмотреть сообщение
как теперь добавить в этот код чтоб можна ввести символ '-' и только раз?
да просто перед case 13: нужно добавить (аналогично запятой)
Код C++1
case '-':
{ Key='-';
if(Edit1->Text.Pos(Key)!=0) Key=0;
break;
}

Не по теме:

P.S. не! я балдею с этого редактора...

0
0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 28
09.04.2012, 17:52  [ТС] 4
Цитата Сообщение от nick42 Посмотреть сообщение
да просто перед case 13: нужно добавить (аналогично запятой)
Код C++1
case '-':
{ Key='-';
if(Edit1->Text.Pos(Key)!=0) Key=0;
break;
}

Не по теме:

P.S. не! я балдею с этого редактора...

да я только что так сделал только оно позволяет ставить знак '-' в любом месте а можна както сделать чтоб ставить его или на первом месте иль вообще не ставить?
0
Практикантроп
4680 / 2600 / 496
Регистрация: 23.09.2011
Сообщений: 5,581
09.04.2012, 18:00 5
конечно, можно. Функция с Pos как раз и возвращает номер символа с дефисом (или 0, если не встречается). Добавьте анализ на равенство 1 (это когда на первой позиции), в противном случае - Key=0.
А, нет
не получится. Просто анализируйте длину текста: если < 1 (первый вводимый символ), то пропускается; иначе =0.
0
0 / 0 / 0
Регистрация: 22.03.2012
Сообщений: 28
09.04.2012, 18:10  [ТС] 6
окей спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2012, 18:10

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Запрет ввода только минуса в ячейке StringGrid, и запрет на ввод минуса между цифрами
Ребята,очень нужна ваша помощь!Нужно сделать запрет ввода ТОЛЬКО минуса в ячейке и запрет на ввод...

Запрет ввода определенных символов в dbgrid
Добрый вечер! Ввожу данные непосредственно dbgrid, как мне запретить ввод знаков кроме чисел в...

Запрет ввода символов кроме цифр в TextBox
как запретить ввод букв и остальных символов кроме цифр в textbox'e

Запрет ввода всех символов кроме цифр и запятой
Здравствуйте как можно сделать так чтобы в textBox можно было бы вводить с клавиатуры лишь цифры и...


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

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

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