Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2011, 16:29   #1
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию как узнать какой тип символа вводится в едит?

как узнать какой тип символа вводится в едит?
TotKtoNado вне форума Ответить с цитированием
Старый 30.06.2011, 16:50   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

В смысле? Кодировка? Или числовой - символьный?
По-конретнее, если можно.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 30.06.2011, 16:52   #3
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
В смысле? Кодировка? Или числовой - символьный?
По-конретнее, если можно.
числовой//
TotKtoNado вне форума Ответить с цитированием
Старый 30.06.2011, 17:02   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Вообще-то тип в Эдите AnsiString (в Delphi не силён, утверждать не берусь). Кодировка ASCII (возможно расширенная). Если нужно из ASCII получить "чистый" числовой тип можно вычесть из него 0x30h. Ну, или через приведение типов.
Для C++ скажу, можно использовать конструцию
Код:
try 
{}
catch{};
В большинстве случаев спасает.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 30.06.2011, 17:06   #5
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Вообще-то тип в Эдите AnsiString (в Delphi не силён, утверждать не берусь). Кодировка ASCII (возможно расширенная). Если нужно из ASCII получить "чистый" числовой тип можно вычесть из него 0.30h. Ну, или через приведение типов.
Для C++ скажу, можно использовать конструцию
Код:
try 
{}
catch{};
В большинстве случаев спасает.
я имею ввиду если пользователь введет букву или пробел то выскачит ошибка что тут не должна буква
вобщем надо чтоб пользователь вводил только числа

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

тока событие какое возникает при редактировании?

или такой код в интернете нашел
Код:
if    NOT (Key in ('0'..'9', #8, #13))
    OR (StrToInt (Edit1.Text + Key) < LowLimit)
    OR (StrToInt (Edit1.Text + Key) > HighLimit)
    then
    begin
      Key := #0;
      MessageBeep (MB_OK);
ругаеться что то Checking project dependencies...
[DCC Error] UnitDobRashod.pas(95): E2029 ')' expected but '..' found

Последний раз редактировалось TotKtoNado; 30.06.2011 в 17:30.
TotKtoNado вне форума Ответить с цитированием
Старый 30.06.2011, 17:36   #6
Vova777
Уважаемый
Форумчанин
 
Аватар для Vova777
 
Регистрация: 04.07.2010
Сообщений: 318
По умолчанию

Цитата:
Сообщение от TotKtoNado Посмотреть сообщение
как узнать какой тип символа вводится в едит?
Скажи точнее, ты хочешь чтобы пользователь мог вводить только числа и все? Я тебе могу фрагмент кода выдать.
даешь высокое напряжение
Vova777 вне форума Ответить с цитированием
Старый 30.06.2011, 17:38   #7
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию

Цитата:
Сообщение от Vova777 Посмотреть сообщение
Скажи точнее, ты хочешь чтобы пользователь мог вводить только числа и все? Я тебе могу фрагмент кода выдать.
да////////
TotKtoNado вне форума Ответить с цитированием
Старый 30.06.2011, 17:39   #8
Vova777
Уважаемый
Форумчанин
 
Аватар для Vova777
 
Регистрация: 04.07.2010
Сообщений: 318
По умолчанию

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
  #8,'0'..'9': ; // цифры и <Backspace>
  '.': // разделитель целой и дробной частей числа
  begin
    if Pos(DecimalSeparator, Edit1.Text) <> 0 then Key:= Chr(0); 
                           // запрет ввода второго разделителя
  end;
  else // остальные символы запрещены
    Key := Chr(0);
end;
end;
даешь высокое напряжение
Vova777 вне форума Ответить с цитированием
Старый 30.06.2011, 17:56   #9
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию

Цитата:
Сообщение от Vova777 Посмотреть сообщение
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
  #8,'0'..'9': ; // цифры и <Backspace>
  '.': // разделитель целой и дробной частей числа
  begin
    if Pos(DecimalSeparator, Edit1.Text) <> 0 then Key:= Chr(0); 
                           // запрет ввода второго разделителя
  end;
  else // остальные символы запрещены
    Key := Chr(0);
end;
end;
ага спасибо
TotKtoNado вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как узнать код символа? Arassir Свободное общение 10 30.03.2011 12:10
Как узнать тип данных передаваемых sendbuf и send? Crystallon Работа с сетью в Delphi 4 29.07.2010 19:22
как узнать тип файла VAsiliyMvv Общие вопросы Delphi 61 07.07.2010 10:27
Как узнать тип (класс) OLE Automation объекта? Stilet Win Api 2 02.07.2010 09:07
Как узнать код символа в Java? ) PavelZet Помощь студентам 2 01.11.2009 06:41