Как узнать, буква или цифра?
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Всем привет! Подскажите, есть Едит, в него попадает либо цифра либо буква, от этого мне нада менять путь по которому пойдет программа, как узнать что попало в Едит?
-
- Сообщения: 273
- Зарегистрирован: 30 июн 2005, 14:53
Код: Выделить всё
If (Edit1.Text<'0')and(Edit1.Text>'9') then
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
-
- Сообщения: 74
- Зарегистрирован: 10 май 2006, 12:19
- Откуда: Санкт-Петербург
- Контактная информация:
Нужно обрабатывать событие OnKeyPress
Код: Выделить всё
procedure TAddEditListColumnForm.eWidthKeyPress(Sender: TObject;
var Key: Char);
begin
if Key in ['0'..'9'] then
//цифра
else
//другое
end;
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
OnKeyPress cкорее всего не пойдет, т.к. значения присваиваются в процессе программы.
Есть проблема
Фишка работает, только если заданна цифра или буква отдельно, а у меня попался случай что появилось значение - 2Т, в этом случае прога сказала что цифра, другой случай Т2 - это сказала что буква.
Мне нужно все таки чтоб даже 2Т была буква, а то появляется косяк в программе
Есть проблема
Код: Выделить всё
If (Edit1.Text<'0')and(Edit1.Text>'9') then
Мне нужно все таки чтоб даже 2Т была буква, а то появляется косяк в программе

Код: Выделить всё
function isNumber(S: String): boolean;
var
i: Integer;
begin
if Length(S) = 0 then Result := False
else begin
Result := True;
for i := 1 to Length(S) do
Result := Result and (S[i] in ['0'..'9']);
end;
end;
С уважением, Lost Angel...
Или проще

Код: Выделить всё
function isNumber(S: String): Boolean;
begin
Result := True;
try StrToInt(S);
except Result := False;
end;
end;
С уважением, Lost Angel...
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
ВО-О-О-О-О! Вот это тема! Самая что не на есть функция проверки, коротко и просто 

-
- Сообщения: 273
- Зарегистрирован: 30 июн 2005, 14:53
я бы так сделал:LAngel писал(а):Или проще ]function isNumber(S: String): Boolean;
begin
Result := True;
try StrToInt(S);
except Result := False;
end;
end;[/code]
Код: Выделить всё
function isNumber(S: String): Boolean;
var
v,c:integer;
begin
val(s,v,c);
Result := c=0;
end;
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.