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

Вниз

Корректная работа программы   Найти похожие ветки 

 
Оля   (2003-01-30 13:55) [0]

Форма имеет ряд ячеек для ввода значений Edit. В ячейках прописаны циферки учавствующие в расчете. Программа не очень хорошо воспринимает пустую ячейку при выполнении расчета. Можно ли сделать так чтобы даже при нажатии Backspace or Delete в ячейке оставался "0"?


 
MBo ©   (2003-01-30 13:57) [1]

А почему не очень хорошо воспринимает? Как обрабатывается строка из Edit? Может, устроит что-то вроде StrToIntDef(Edit.Text,0)?


 
Anatoly Podgoretsky ©   (2003-01-30 14:05) [2]

Приведи коротенький пример расчета


 
Оля   (2003-01-30 14:25) [3]

Допустим ячейка Edit4 (Dtr_1) пуста,
а procedure TForm1.Edit4Change(Sender: TObject) еще весит на Edit12 и Edit13

StrToFloat как я поняла не может считывать из пустой ячейки

procedure TForm1.Edit4Change(Sender: TObject);
begin
Dtr_1:= StrToFloat(Edit4.Text);
Dtr_7:= StrToFloat(Edit12.Text);
Dtr_8:= StrToFloat(Edit13.Text);

Dtr_2:=Dtr_1+Dtr_7-Dtr_8;
Edit17.Text:=FloatToStrF(Dtr_2,ffGeneral,5,1);
end;


 
Max Zyuzin ©   (2003-01-30 14:29) [4]

Попробуй что нить вроде
onChange у Edit-а и проверку
if Edit1.Text = "" then Edit1.Text := "0";


 
Anatoly Podgoretsky ©   (2003-01-30 14:36) [5]

Все зависит как относиться к пустому полу, это же не число, включи преобразование в блок try except end

try
Dtr_1:= StrToFloat(Edit4.Text);
except
Dtr_1:= 0; // или то что ты считаешь должно быть вместо пустого значения.
end

И так же для остальных преобразований.


 
han_malign ©   (2003-01-30 14:36) [6]

if(Not TextToFloat(PChar(Edit.Text),dtr,fvExtended))then dtr:=0;


 
Романов Р.В. ©   (2003-01-30 14:39) [7]

Пишем за 30 секунд такую функцию и усе работает без вопросов.

function StrToFloatDef(const Text: string; Def: double = 0): double;
begin
try
Result := StrToFloat(Text);
except
Result := Def;
end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
1-28806
OxOTHuK
2003-02-02 11:00
2003.02.10
Загрузка


7-29110
alexta
2002-12-04 01:43
2003.02.10
Окно


6-28981
Verner
2002-12-16 15:34
2003.02.10
Локальный порт для клиента TCP


6-28972
Manulo
2002-12-12 16:20
2003.02.10
переролнение буфера сетевухи


1-28826
peugeot605
2003-02-02 18:13
2003.02.10
Динамическое создание объектов