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

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

помогите! [D5, Win95/98, WinME, Win2k, WinXP]


Ulugbek ©   (2002-06-19 08:25:00) 

Привет мастерам!
Мастера помогит, как узнать значение цифровое или текстовое в TEdit.
Я с этим вешшем сталкивалься в VB.
VB это было так:
isnumberic(S)
если значение цифровое то возврашал Trueиначе False.
В Delphiкак это сделать.
Помогите.


Севостьянов Игорь   (2002-06-19 13:03:00) [1]

По моему все таки через Val проще и надежней как писал MBo © (19.06.02 08:55)

function IsNumeric(S: string): Boolean;
var
Code: Integer;
V: Comp;
begin
Val(S, V, Code);
Result := Code = 0;
end;

procedure TfrmRepairResult.Button1Click(Sender: TObject);
begin
if IsNumeric(Edit1.Text) then
ShowMessage("Is Numeric")
else
ShowMessage("Is Not Numeric");
end;


MVova   (2002-06-19 11:30:00) [2]

Для Integer - посмотрите исходник StrToInt;
Для Float - посмотрите исходник StrToFloat;

Неужели тяжело посмотреть откуда берется Exception???


Bakca   (2002-06-19 10:18:00) [3]

Купить книгу "Delphi для улугбека" :)


Lord Warlock   (2002-06-19 09:53:00) [4]


> Ulugbek (19.06.02 09:49)


Все правильно, запусти прогу не из Дельфи


Ulugbek   (2002-06-19 09:49:00) [5]

я нашел эту ошибку, но дает после этого другую. После захода в функцию говорить что значение которую я дал не "Is not numeric value". Я ввел как тестовы вариант букву "s" и дал такую ошибку.


Ulugbek   (2002-06-19 09:44:00) [6]


> MBo © (19.06.02 09:40)

Я написал функция в форму , после этого говорить что переменная не определена.
Что делать


MBo   (2002-06-19 09:40:00) [7]

так, как я написал - функция НЕ ЯВЛЯЕТСЯ методом формы


Ulugbek   (2002-06-19 09:37:00) [8]


> MBo © (19.06.02 08:55)

Я сделал так ка Вы сказали но программа говорить
[Error] RepairResult.pas(64): Unsatisfied forward or external declaration: "TfrmRepairResult.isintegernumber"
Как это исправить надо.


MBo   (2002-06-19 08:55:00) [9]

еще один вариант - и для целых, и для вещественных чисел

function isnumber(s:string):Boolean;
var
code:integer;
x:double;
begin
val(s,x,code);
result:=Code=0;
end;


MBo   (2002-06-19 08:43:00) [10]

function isintegernumber(s:string):Boolean;
begin
try
strtoint(s);
result:=true
except
result:=false
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if isintegernumber(edit1.text) then caption:="yes"
else caption:="no"
end;


Ulugbek   (2002-06-19 08:30:00) [11]


> MBo ©

не поняль все который вы потсказали писать в код?


MBo   (2002-06-19 08:27:00) [12]

try
i:=strtoint(edit1.text);
result:=true
except
result:=false
end;

или Val и анализ Code


Наверх

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