![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проверить введена в Edit строка или число?
Perf2k2 © (2006-01-12 10:34:00)Собственно сабж, больше добавить нечего... Спасибо.
evvcom (2006-01-12 11:52:00) [1]
> Perf2k2 © (12.01.06 11:03) [8]
>
> > Числа, они и такие бывают 23E9
>
> Нет, у меня в базе без букв они.
Если они действительно числа, то они и хранятся без букв/символов и прочего в виде числа. А то что мы вводим в edit и видим в гридах и т.п. - это уже графическое представление последовательности символов. Как эту последовательность символов в edit будешь интерпретировать ты базе абсолютно по барабану.
Leonid Troyanovsky (2006-01-12 11:41:00) [2]
> Perf2k2 © (12.01.06 11:03) [8]
> > Числа, они и такие бывают 23E9
> Нет, у меня в базе без букв они.
Бывают и такие - $ABCDEF
--
Regards, LVT.
Vlad (2006-01-12 11:11:00) [3]Есть функция IsNumeric (D7)
evvcom (2006-01-12 11:10:00) [4]
> Barsky © (12.01.06 10:41) [3]
А попробуй такую строку "123.456.789" при DecimalSeparator='.' :)
Perf2k2 (2006-01-12 11:07:00) [5]
> В том, что ты запускаешь программу под Delphi IDE.
Понял, спс. Теперь все нормуль :)
Johnmen (2006-01-12 11:06:00) [6]>xyz - это тоже число. 35-ричное, правда :)
Обычное десятеричное число 23E9
Johnmen (2006-01-12 11:04:00) [7]>Вот только он почему-то сначала свою ошибку выдает, а потом уже мою. В чем прикол? :(
В том, что ты запускаешь программу под Delphi IDE.
Perf2k2 (2006-01-12 11:04:00) [8]
> xyz - это тоже число. 35-ричное, правда :)
Там только 10-ричные.
TUser (2006-01-12 11:03:00) [9]xyz - это тоже число. 35-ричное, правда :)
Perf2k2 (2006-01-12 11:03:00) [10]
> Числа, они и такие бывают 23E9
Нет, у меня в базе без букв они.
Perf2k2 (2006-01-12 11:03:00) [11]Всем спасибо за советы, решил сделать вот так:
try
StrToInt(EditSearch.Text);
except
On EConvertError do
begin
MessageDlg('Неверный формат поискового слова. Введите число.', mtWarning, [mbOK], 0);
Exit;
end;
Вот только он почему-то сначала свою ошибку выдает, а потом уже мою. В чем прикол? :(
Johnmen (2006-01-12 10:48:00) [12]Числа, они и такие бывают 23E9
vidiv (2006-01-12 10:43:00) [13]
var t:integer;
c:real;
...
val(Edit1.Text, c, t);
if t>0 then showmessage('строка') else showmessage('Действительное число')
begin...end (2006-01-12 10:43:00) [14]Val
Barsky (2006-01-12 10:41:00) [15]
numb:=true;
for i:=1 to length(Edit1.Text) do if not ( Edit1.Text[i] in ['0'..'9', DecimalSeparator]) then numb:=false;
stone (2006-01-12 10:39:00) [16]в Edit всегда вводится строка, в некоторых случаях она может быть преобразована в число.
Например, можно проверить функцией TryStrToInt и ей подобными. Подробности по F1.
Johnmen (2006-01-12 10:38:00) [17]try
StrToFloat(...)
except
...
end