Як перевірити введена в edit рядок або число

Власне сабж, більше додати нічого. Дякуємо.

в Edit завжди вводиться рядок, в деяких випадках вона може бути перетворена в число.
Наприклад, можна перевірити функцією TryStrToInt і їй подібними. Подробиці по F1.


numb: = true;
for i: = 1 to length (Edit1.Text) do if not (Edit1.Text [i] in [ "0" .. "9", DecimalSeparator]) then numb: = false;

var t: integer;
# XA0; # XA0; c: real;


val (Edit1.Text, c, t);
if t> 0 then showmessage ( "рядок") else showmessage ( "Дійсне число")

Числа, вони і такі бувають 23E9

Дякую всім за поради, вирішив зробити ось так:

# XA0;
# XA0; # XA0; try
# XA0; # XA0; # XA0; StrToInt (EditSearch.Text);
# XA0; # XA0; except
# XA0; # XA0; # XA0; On EConvertError do
# XA0; # XA0; # XA0; # XA0; begin
# XA0; # XA0; # XA0; # XA0; MessageDlg ( "Невірний формат пошукового слова. Введіть число.", MtWarning, [mbOK], 0);
# XA0; # XA0; # XA0; # XA0; Exit;
# XA0; # XA0; # XA0; # XA0; end;

Ось тільки він чомусь спочатку свою помилку видає, а потім вже мою. У чому прикол. (


> Числа, вони і такі бувають 23E9

Ні, у мене в базі без букв вони.

xyz - це теж число. 35-ковий, правда :)


> Xyz - це теж число. 35-ковий, правда :)

Там тільки 10-ковий.

> Ось тільки він чомусь спочатку свою помилку видає, а потім вже мою. У чому прикол. (

У тому, що ти запускаєш програму під Delphi IDE.

> Xyz - це теж число. 35-ковий, правда :)

Звичайне десятеричная число 23E9


> В тому, що ти запускаєш програму під Delphi IDE.

Зрозумів, спс. Тепер все нормуль :)

Є функція IsNumeric (D7)

>> Числа, вони і такі бувають 23E9

> Ні, у мене в базі без букв вони.

Бувають і такі - $ ABCDEF

Пам'ять: 0.75 MB
Час: 0.057 c