Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Anfängerproblem !? (https://www.delphipraxis.net/172976-anfaengerproblem.html)

ItsMe1 31. Jan 2013 14:19

Anfängerproblem !?
 
Hallo Leute,

Kann mir bitte jemand helfen... Ich bin neu hier und hab auch erst vor kurzem mit dem schreiben von Programmen in Delphi angefangen. Jetzt hab ich mein erstes Problem bei dem ich im Forum nichts finde.
Ich möchte, dass mein Programm wenn in einem Edit-feld 0 steht das es mir eine showmessage zeigt (das funktioniert noch) und dann mich die Zahl ändern lässt(das ist mein Problem).
Mein programm macht einfach weiter und gibt mir dann aus, dass ein Fehler aufgetreten ist.
Der teil von dem Programm sieht so aus
Code:
begin
  if edit3.text='0' then
    begin
      showmessage('Zahl 3 bitte ändern')
    end else
      label1.Color:=clred;
      label1.Caption:= Floattostr(strtofloat(Edit1.Text)/strtofloat(edit2.text)/strtofloat(edit3.text));
end;
Bitte um Hilfe
Grüße ItsMe1

DeddyH 31. Jan 2013 14:24

AW: Anfängerproblem !?
 
Da fehlen ein begin und ein end.
Delphi-Quellcode:
begin
  if edit3.text='0' then
    begin
      showmessage('Zahl 3 bitte ändern')
    end else
    begin //hier
      label1.Color:=clred;
      label1.Caption:= Floattostr(strtofloat(Edit1.Text)/strtofloat(edit2.text)/strtofloat(edit3.text));
    end; //und hier
end;

MeierZwoo 31. Jan 2013 14:25

AW: Anfängerproblem !?
 
Durch 0 teilen (Division by Zero) kommt nie gut

Lemmy 31. Jan 2013 14:26

AW: Anfängerproblem !?
 
Zitat:

Zitat von ItsMe1 (Beitrag 1201515)
Code:
begin
  if edit3.text='0' then
    begin
      showmessage('Zahl 3 bitte ändern')
      edit3.SetFocus;
    end else
    begin
      label1.Color:=clred;
      label1.Caption:= Floattostr(strtofloat(Edit1.Text)/strtofloat(edit2.text)/strtofloat(edit3.text));
    end;
end;

Du hast das begin-End beim Else vergessen. Als weitere Option würde sich ein edit3.SetFocus anbieten, damit der Cursor gleich wieder im Editfeld steht. Mit Edit3.SelectAll kannst Du dann den inhalt auch gleich markieren zum überschreiben...

MeierZwoo 31. Jan 2013 14:29

AW: Anfängerproblem !?
 
Auf mit begin end erfolgt keine Abfrage nach einem anderen Wert, nur die Meldung. Im Bereich der die Meldung ausgibt, sollte auch die Änderung erfolgen und dann, wenn <>0 mit dem neuen Wert berechnet werden.

ItsMe1 31. Jan 2013 14:29

AW: Anfängerproblem !?
 
Danke für die schnellen Antworten

Luckie 1. Feb 2013 11:21

AW: Anfängerproblem !?
 
Bei deiner nächsten Frage vergib bitte auch einen aussagekräftigen Titel, der was über das Problem aussagt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr.

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