Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Проверить пустая ли строка???   Найти похожие ветки 

 
новичок_из_сыктывкара ©   (2004-03-30 18:39) [0]

Люди помогите надопроверить пустая ли Edit ? если пустая то messagebox? если что то есть то тогда выполнять дальше...вроде все правильно, но что то не получается...может подскажете в чем ошибка, или свой метод...Очень прошу помочь...)

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
d,e,r:real;
kd,ke:real;
code:integer;
begin
e:=strtofloat(edit3.text);
if edit3.Text="" then    application.MessageBox(PChar(введи курс evro"), "Ошибка", MB_OK);
d:=strtofloat(edit4.text);
if edit4.Text="" then    application.MessageBox(PChar(введи курс dollar"), "Ошибка", MB_OK);
r:=strtofloat(edit1.text);
if edit1.Text="" then application.MessageBox(PChar(введи количество рублей"), "Ошибка", MB_OK);
try
ke:=r/e;
kd:=r/d;
except on EZeroDivide do application.MessageBox(PChar("Ââåäè êóðñ èí. âàëþòû-äåëåíèå íà íîëü+"), "Îøèáêà", MB_OK);
end;
edit2.text:=floattostr(ke);
edit5.text:=floattostr(kd);
end;


 
Smithson ©   (2004-03-30 18:42) [1]

Что именно не получается-то? Телепатов нету


 
новичок_из_сыктывкара ©   (2004-03-30 18:43) [2]

в общем не выводит сообщение об ошибке...


 
panov ©   (2004-03-30 18:44) [3]

>новичок_из_сыктывкара ©   (30.03.04 18:43) [2]

в общем не выводит сообщение об ошибке...

А что выводит?


 
имя   (2004-03-30 18:45) [4]

if (Edit3.Text = "") then raise Exception.Create("Введите курс Euro");

P.S. А в чем ошибка-то?


 
Smithson ©   (2004-03-30 18:46) [5]

У тебя в корне неверный подход. Если в строке не число (или строка пустая), то StrToFloat выдаст исключение. Поэтому после нее проверять строку на отсутсвие значения бессмысленно - это нужно делать до. Или не делать вовсе, а заключать каждый StrToFloat в try except и реагировать на ошибку тама.


 
PVOzerski ©   (2004-03-30 18:46) [6]

>PChar(введи
апостроф Пушкин введет? И телепатия не требуется. На будущее: просьба писать внятно, программа не компилируется или работает, но не так


 
новичок_из_сыктывкара ©   (2004-03-30 18:47) [7]

надо что бы выводилась не виндосовское сообщение об ошибке а отлавливалась програмно, а она не отлавливается


 
PVOzerski ©   (2004-03-30 18:51) [8]

>e:=strtofloat(edit3.text);
>if edit3.Text="" then    application.MessageBox(PChar(введи курс >evro"), "Ошибка", MB_OK);
Дык надо же сначала проверять содержимое, а потом strtofloat


 
Smithson ©   (2004-03-30 18:51) [9]

виндосовское сообщение об ошибке
Такового зверя здесь нет в принципе. Все сообщения об ошибках выдает твоя прогамма. Те ошибки, которые ТЫ не обработал, обработает код Borland`а и выдаст стандартное уведомление об ошибке. Не нравиться оно - обрабатывай ошибки сам :))

А windows, по-моему, только про Access Violation ругается сама, поскольку защита ресурсов - привелегия OC.


 
новичок_из_сыктывкара ©   (2004-03-30 18:51) [10]

всем спасибо огромное


 
имя   (2004-03-30 18:56) [11]

1.
try
 E := StrToFloat(Edit3.Text);
except
 on Excp: Exception do // что-то сделать
end;


2.
if (Edit3.Text = "") then
begin
 ShowMessage("Введите курс Euro");
 Exit;
end;
E := StrToFloat(Edit3.Text);


3.
if (Edit3.Text = "") then raise Exception.Create("Введите курс Euro");
E := StrToFloat(Edit3.Text);


4....


 
новичок_из_сыктывкара ©   (2004-03-30 18:57) [12]

:)



Страницы: 1 вся ветка

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
14-1080498979
ikivio
2004-03-28 22:36
2004.04.18
Просто устал


1-1080412965
Veon
2004-03-27 21:42
2004.04.18
Как создать форму????


14-1080116643
Alex_Bredin
2004-03-24 11:24
2004.04.18
Еврофутбол


1-1080791120
esa
2004-04-01 07:45
2004.04.18
CRC-16 CCITT


11-1061053896
Vitalon
2003-08-16 21:11
2004.04.18
проблема с хинтами