Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: gianpa - Febbraio 08, 2014, 03:20:29 pm

Titolo: try-except
Inserito da: gianpa - Febbraio 08, 2014, 03:20:29 pm
Per evitare la divisione per 0 mi sono scritto la seguente procedura:

procedure TForm1.BitconvertiClick(Sender: TObject);

var costolibbra,costochilo:double;
begin
     IF Not isFloat(Editlibbre1.Text)
     then ShowMessage( 'Errore nei Dati');

try
 costolibbra:=strtoFloat(editlibbre1.text);
costochilo:=costolibbra*2.2;
editchili2.Text:=floattostr(costochilo);
    Except
On EZeroDivide do Gestiscierrori;
On EOverFlow do Gestiscierrori;
On EMathError do Gestiscierrori;
  on EConvertError do
    ShowMessage('Errore di conversione');
end;

ma cliccando sul bottone invece del messaggio il programma si interrompe per l'errore"division x 0"
cosa sbaglio?

ciao
Titolo: Re:try-except
Inserito da: gianpa - Febbraio 08, 2014, 03:24:16 pm
Ovviamente avrò fatto come Frankq in un precedente topic !!!
ora controllo e vedo se è la stessa cosa !

ciao
Titolo: Re:try-except
Inserito da: gianpa - Febbraio 08, 2014, 03:27:19 pm
Infatti sono incorso nello stesso errore di concetto !
il programma,COMPILATO, funziona perfettamente!

Ciao
Titolo: Re:try-except
Inserito da: xinyiman - Febbraio 08, 2014, 04:27:19 pm
Bene, l'importante è risolvere :)