Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehleranalyse (https://www.delphipraxis.net/112860-fehleranalyse.html)

Gisi 28. Apr 2008 14:33


Fehleranalyse
 
Folgendes ich soll einen Masseinheitenrechner Programmieren der 4 Einheiten in 4 Einheiten umrechnen kann und umgekehrt! Dies mache ich wiefolgt um es euch einmal zu veranschaulichen

Delphi-Quellcode:
procedure TForm1.Edit2Change(Sender: TObject);
var groesse1 : double;
begin
if edit2.text='' then edit2.text:='0';
groesse1 := strtofloat(edit2.Text);
label2.Caption := '->';
if label3.Caption = '' then label3.Caption := 'Bitte Größe wählen';
if label4.Caption = '' then label4.Caption := 'Bitte Größe wählen';
if label3.Caption = 'Bitte Größe wählen' then label2.caption:='';
if label4.Caption = 'Bitte Größe wählen' then label2.caption:='';
if Meter2 = 1 then if Meter1 = 1 then edit1.Text := floattostr(groesse1) else if Meter1 = 2 then edit1.Text := floattostr(groesse1*0.1)else if Meter1 = 3 then edit1.Text := floattostr(groesse1*0.01) else if Meter1 = 4 then edit1.Text := floattostr(groesse1*0.001);
if Meter2 = 2 then if Meter1 = 1 then edit1.Text := floattostr(groesse1*10) else if Meter1 = 2 then edit1.Text := floattostr(groesse1) else if Meter1 = 3 then edit1.Text := floattostr(groesse1*0.1) else if Meter1 = 4 then edit1.Text := floattostr(groesse1*0.01);
if Meter2 = 3 then if Meter1 = 1 then edit1.Text := floattostr(groesse1*100) else if Meter1 = 2 then edit1.Text := floattostr(groesse1*10) else if Meter1 = 3 then edit1.Text := floattostr(groesse1) else if Meter1 = 4 then edit1.Text := floattostr(groesse1*0.1);
if Meter2 = 4 then if Meter1 = 1 then edit1.Text := floattostr(groesse1*1000) else if Meter1 = 2 then edit1.Text := floattostr(groesse1*100)else if Meter1 = 3 then edit1.Text := floattostr(groesse1*10) else if Meter1 = 4 then edit1.Text := floattostr(groesse1);
if label3.caption = 'Bitte Größe wählen' then edit1.text:='0';
end;
Nun zu meiner Frage ich habe das Problem das wenn ich einen Buchstaben eingebe ein Fehler kommt! Ich benutze delphi 6 weil mir leider nichts anderes zur Verfügung steht! Könnte mir bitte jemand helfen ich bin am verzweifeln!!!!!!!!!

mkinzler 28. Apr 2008 14:34

Re: Fehleranalyse
 
Verwende Try<Typ>To<Typ> statt <Typ>To<Typ>

s-off 28. Apr 2008 14:36

Re: Fehleranalyse
 
Hallo,

was sagt denn der Fehler?

Starte die Anwendung im Debug-Modus. Wenn dann der Fehler auftritt, sollte der Debugger an der entsprechenden Stelle stehenbleiben.

Fussball-Robby 28. Apr 2008 14:39

Re: Fehleranalyse
 
Du könntest auch bei der Eingabe nur Zaheln erlauben, so etwa:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
const
  Erlaubt = ['0'..'9', #8];//#8 = Backspace
begin
  if not (Key in Erlaubt) then Key := #0;
end;

mkinzler 28. Apr 2008 14:43

Re: Fehleranalyse
 
Oder TMaskEdit verwenden

s-off 28. Apr 2008 14:45

Re: Fehleranalyse
 
Dass Ihr Euch immer die Mühe gebt, Euch soetwas durchzulesen, anstelle den Autor darum zu bitten

1. die ihm gegebenen Möglichkeiten zur Fehleranalyse zu nutzen
2. seinen Quelltext ordentlich zu formatieren, um es potenziellen Helfern einfacher zu machen
3. auftretende Fehlermeldungen zu spezifizieren

In diesem Fall mag das ja alles noch einleuchtend sein, aber...


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz