Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить введена в 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо