Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-28812
Yrtimd
2003-02-02 11:19
2003.02.10
Получение изображения экрана в


3-28656
CASU
2003-01-22 11:16
2003.02.10
Как отобразить процесс передачи данных на сервер?


1-28773
Chizh
2003-01-16 22:58
2003.02.10
Подскажите, plz, как скопировать файлы из буфера обмена


7-29127
Eugene
2002-12-06 16:05
2003.02.10
Как перестроить кэш значков Windows?


7-29142
Prizrak-ppm
2002-12-03 17:11
2003.02.10
Как посредствами делфи узнать объем памяти, какой проц и тп?




   Наверх