Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Radiobuttons (https://www.delphipraxis.net/174496-delphi-radiobuttons.html)

Hanswurst1 25. Apr 2013 12:43

Delphi Radiobuttons
 
Hallo,

für die Schule sollen wir ein Programm für eine Bank erstellen.
Dabei habe ich zwei radiobutton und ich möchte das Delphi automatisch rechnet wenn man auf einen dieser beiden klickt. Ich habe Probleme dabei die Rechnung zu erstellen denn Delphi zeigt mir immer einen Syntax fehler an.

Ich hoffe ihr könnt mir helfen.

Hier ist der Quellcode:
begin
if (RadioButton1.Checked = True)and
(RadioButton2.Checked = False) then
Zahl1:= StrToFloat (Edit1.text);
Zahl2:= StrToFloat (100);
Label9.caption := Flaottostr (Zahl1 div Zahl2)
else '0';

end;

Klaus01 25. Apr 2013 12:50

AW: Delphi Radiobuttons
 
Hallo,

vielleicht geht es so:

Delphi-Quellcode:
if (RadioButton1.Checked) then
  begin
    Zahl1:= StrToFloat(Edit1.text);
    Zahl2:= {StrToFloat(100)} 100; // siehe Morphies Post
    Label9.caption := FloatToStr(Zahl1 div Zahl2)
  end
else
  Label9.caption :='0';
Grüße
Kalus

Morphie 25. Apr 2013 12:53

AW: Delphi Radiobuttons
 
Delphi-Quellcode:
Zahl2:= StrToFloat(100);
sollte einen Fehler schmeißen...
Delphi-Quellcode:
Zahl2 := 100;
sollte reichen

Hanswurst1 25. Apr 2013 13:03

AW: Delphi Radiobuttons
 
ja dake soweit geht es allerdings zeigt er mir jetzt an das Zahl1 und Zahl 2 als Operandentypen nicht zusammenpassen. Woran könnte das liegen ?

Klaus01 25. Apr 2013 13:05

AW: Delphi Radiobuttons
 
..vielleich weil div nur Ganzzahlen (Integer) mag?

Grüße
Klaus

p80286 25. Apr 2013 13:05

AW: Delphi Radiobuttons
 
Ggf. ist es so noch ein wenig besser

Delphi-Quellcode:
type
  Zahl1,
  Zahl2 : currency;

.....

if (RadioButton1.Checked) and not(Radiobutton2.Checked) then
  begin
    Zahl1:= StrToFloat(Edit1.text);
    Zahl2:= {StrToFloat(100)} 100; // siehe Morphies Post
    Label9.caption := FloatToStr(Zahl1 / Zahl2)
  end
else
  Label9.caption :='0';
Gruß
K-H

Hanswurst1 25. Apr 2013 13:15

AW: Delphi Radiobuttons
 
Jetzt Funktioniert es Dankeschön!

Morphie 25. Apr 2013 13:39

AW: Delphi Radiobuttons
 
Damit man dir nächstes Mal besser helfen kann, solltest du dir ein paar grundlegende Dinge angewöhnen:
1. Deinen Delphi-Code solltest du in die dafür vorgesehenen Code-Tags einschließen. Das ist der Helm in der Symbolleiste bei der Texterfassung. Damit formatiert das Forum den Code entsprechend und man kann ihn dadurch besser lesen.
2. Auf eine Fehlerbeschreibung wie "Delphi zeigt mir immer einen Syntax fehler an." reagieren wir hier normalerweise allgerisch. Heute haben wir einen guten Tag ;-) Gibt nächstes Mal also die genaue Fehlermeldung an, und wo der Fehler auftritt.
4. Dein Code war nicht vollständig. Die Deklarationen fehlten z.B... Beim nächsten Mal solltest du also den vollständigen Code posten.
3. Bitte versuche die Fehlermeldung erst mal zu verstehen. Wenn du verstehst, was für Fehler du machst, kannst du sie auch selbst beheben.

Und noch etwas:
Sowas wie
Delphi-Quellcode:
if (RadioButton1.Checked = True) and (RadioButton2.Checked = False) then
macht man nicht. Die Eigenschaft "Checked" ist bereits vom Typ Boolean, kann also schon True oder False sein.
Du prüfst in deinem Code nochmals ob die Bedingung zutrifft... Ist also völlig überflüssig.

Und weil es RadioButtons sind, bei denen vermutlich sowieso nur die eine oder die andere Option eingestellt werden kann (nicht beide gleichzeitig), brauchst du auch nicht zu prüfen, ob
Delphi-Quellcode:
RadioButton2.Checked = false
ist, denn das ist sie automatisch, wenn RadioButton1 gesetzt ist.

Dieser Code hier sollte also für dich reichen:
Delphi-Quellcode:
if (RadioButton1.Checked) then
begin
  Zahl1 := StrToFloat(Edit1.text);
  Zahl2 := 100;
  Label9.caption := FloatToStr(Zahl1 / Zahl2)
end else
  Label9.caption := '0';

Hanswurst1 25. Apr 2013 13:50

AW: Delphi Radiobuttons
 
Ja gut das wusste ich nicht ist aber für nächste mal gespeichert :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:51 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