03. november 2003 - 17:45Der er
9 kommentarer og 1 løsning
Hvorfor bliver erroren ikke fanget?
Hvorfor bliver EConvertError ikke fanget her?
begin try TempD := StrtoFloat(AnslEdit.text); except on EConvertError do begin showmessage('Forkert type i Anslået tid. Bemærk at , skal være .'); Exit; end; end;
Der er intet af det der virker. Hvis jeg sætter et tjeckpoint ind før og efter TempD := StrtoFloat(AnslEdit.text); kommer den første men ikke den anden. Det er altså fordi at den ikke fatter at der står try. Men hvorfor?
Synes godt om
Slettet bruger
03. november 2003 - 18:02#4
Tror det er fordi du starter programmet fra delphi. Her virker det hvis jeg starter programmet fra mappen exe filen er i.
Du kan også tjekke om strengen er float med Val metoden:
var S: String; F: Single; I: Integer; begin S := '1.2'; Val(S, F, I); if I <> 0 then begin ShowMessage('Forkert type i Anslået tid. Bemærk at , skal være .'); Exit; end;
Nej det tror jeg ikke, for så sammenligner man int og float. Nå, men skidt pyt. Tak for hjælpen.
Synes godt om
Ny brugerNybegynder
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.