Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизПроверить пустая ли строка??? Найти похожие ветки
← →
новичок_из_сыктывкара © (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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c