Avatar billede janbb Juniormester
03. august 2003 - 23:08 Der er 2 kommentarer og
1 løsning

floating point division by zero

Har nogle edit-felter hvor der skal indtastes tal(3 stk)
der skal være fejlmeddelse ved forkerte indtastninger.
Det går fint hvis man ikke taster forkert, men hvis man
ikke taster noget sker det som spm-titlen siger ?.Kan det undgåes ?
Avatar billede janbb Juniormester
03. august 2003 - 23:08 #1
Koden er :procedure TForm1.Button2Click(Sender: TObject);
var
code:integer;
ovf,perspir,perspiro:real;
I:Integer;
g:integer;
f:real;
ts:string;
begin
val(edit1.text,I,code);
if code <> 0 then
begin
messagedlg (' udfyld  vægt igen' +Inttostr(code),mtwarning ,[mbok] ,0)
end
else
repeat until code=0;

val(edit2.text,g,code);
if code <> 0 then
begin
messagedlg ('kun tal:slet HELE FELTET ! og tast forfra og udfyld høj osse' +Inttostr(code),mtwarning ,[mbok] ,0)
end
else
repeat until code=0;
val(edit5.text,f,code);
if code <> 0
then
begin
messagedlg ('brug punktum som . og ikke , og kun tal:slet HELE FELTET ! og tast forfra Og udfyld S-K osse' +Inttostr(code),mtwarning ,[mbok] ,0)
end
else
repeat until code=0;

begin
ovf:=(exp(0.425*ln(I)))*(exp(0.725*ln(g)))*0.007184;



  perspiro:=ovf*375;
    perspir:=perspiro+(perspiro*0.2*(f-37));
    str(perspir:3:1,ts);
Avatar billede stone Forsker
03. august 2003 - 23:52 #2
du kunne bruge en MaskEdit, og selv definere indputtet som er tilladt
//snip fra hjælpen

Use EditMask to restrict the characters a user can enter into the masked edit control to valid characters and formats. If the user attempts to enter an invalid character, the edit control does not accept the character. Validation is performed on a character-by-character basis by the ValidateEdit method.
//snip end
Avatar billede janbb Juniormester
04. august 2003 - 03:01 #3
Stone: det lyder smart, men det er nok for svært alligevel for mig: har klaret det ved at lave en slags default-værdi:
val(edit2.text,g,code);
if code <> 0 then
begin
// her er default-værdien
g:=50;
messagedlg ('kun tal:slet HELE FELTET ! og tast forfra og udfyld høj osse' +Inttostr(code),mtwarning ,[mbok] ,0)
end
else
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester