![]() |
selber erkennen von CheckBox
Hallo, ich habe ein problem bei einem programm.
ich möchte ein pizza programm erstellen, falls ich mal eine pizza bestelle. es soll mir ausrechnen, wie viel ich für meine zusammenstellung bezahlen soll. dazu habe ich 3 radio buttons, 5 CheckBox und 1 berechnenbutton und ein edit1 feld RadioButton 1- 3 für die Pizza Größe und CheckBox 1-5 für Beläge ich will jetzt mit einer if-schleife den preis der pizza berechnen: wenn berechnenbutton angeklickt wird If RadioButton1.checked then > wie kann ich jetzt von delphi herausfinden lassen welche checkboxes angeklickt sind? Zum Beispiel RadioButton 1: Caption Mini Pizza 2€ checked CheckBox1: Caption Ei 0,5€ checked CheckBox2: Caption Salami 0,5€ CheckBox3: Caption Mais 0,5€ checked CheckBox4: Caption Thunfisch 0,5€ CheckBox5: Caption Ananas 0,5€ und das das programm so rechnet: Mini Pizza 2€ + Ei 0,5€ + Mais 0,5€ = 3€ dann ausgabe in edit1: 3€ else if RadioButtin2.checked them... ich hoffe ich habe das problem ausreichend erklärt. im vorraus schonmal danke für eure hilfe |
Re: selber erkennen von CheckBox
Ich weiß natürlich nicht, wie das alles bei dir heißt, aber es sollte verständlich sein.
Die Tatsache, dass das ein komisches Prog ist ist ja nicht relevant
Delphi-Quellcode:
Für Fortgeschrittene: Ich weiß, dass "+0,40" nicht sinnvoll ist, aber es verdeutlicht den Geldbetrag besser
var
Kosten:Real; If kleinePizza.Checked then Kosten:=1,50; // 3 Radiobuttons - Pizzagröße If mittlerePizza.Checked then Kosten:=2,30; If grossePizza.Checked then Kosten:=3; if Thunfisch.Checked then Kosten:=Kosten+0,30; // 5 Chechboxen - Belag if Ei.Checked then Kosten:=Kosten+0,40; if Salami.Checked then Kosten:=Kosten+1; if Käse.Checked then Kosten:=Kosten+0,50; if Gold.Checked then Kosten:=Kosten+5016; EditKosten.Text:=FloatToStr(Kosten) Dein Titel ist nicht sehr aussagekräftig. Für spätere Suchende solltest du ihn vielleicht ändern. |
Re: selber erkennen von CheckBox
Wenn du in der Tag property der Checkboxes den Preisaufschlag speicherst, geht auch folgendes:
Delphi-Quellcode:
for i := 0 to Form1.ControlCount - 1 do
if Form1.Controls[i] is TCheckbox then GesamtPreis := GesamtPreis + Form1.Controls[i].Tag; |
Re: selber erkennen von CheckBox
Ich würde statt der einzelnen Radiobuttons eine Radiogroup nehmen, dann kannst du mit dem ItemIndex ein Case machen...
Gruß Daniel |
Re: selber erkennen von CheckBox
Sind ja keine Radiobuttons, sondern Checkboxes
|
Re: selber erkennen von CheckBox
Zitat:
Deshalb der Hinweis auf die RadioGroup... Gruß Daniel |
Re: selber erkennen von CheckBox
Ups...sorry
Bisschen vorschnell gepostet, dachte du beziehst dich auf mein Posting. :oops: |
Re: selber erkennen von CheckBox
ok, danke. jetzt kann pizzas bestellen :thumb:
|
Re: selber erkennen von CheckBox
ich hab das jetzt nach dem modell von Jarmen_Kell aufgebaut:
var Kosten:Real; begin If RadioButton1.checked then Kosten:= 3.50; If RadioButton2.checked then Kosten:= 6.50; If RadioButton3.checked then Kosten:=3.20; If RadioButton1.checked then if CheckBox1.Checked then Kosten:= Kosten + 0.55; if CheckBox2.Checked then Kosten:= Kosten + 0.55; if CheckBox3.Checked then Kosten:= Kosten + 0.55; if CheckBox4.Checked then Kosten:= Kosten + 0.55; if CheckBox5.Checked then Kosten:= Kosten + 0.55; if CheckBox6.Checked then Kosten:= Kosten + 0.55; if CheckBox7.Checked then Kosten:= Kosten + 0.55; if CheckBox8.Checked then Kosten:= Kosten + 0.55; if CheckBox9.Checked then Kosten:= Kosten + 0.55; if CheckBox10.Checked then Kosten:= Kosten + 0.55; if CheckBox11.Checked then Kosten:= Kosten + 0.55; if CheckBox12.Checked then Kosten:= Kosten + 0.55; if CheckBox13.Checked then Kosten:= Kosten + 0.55; if CheckBox14.Checked then Kosten:= Kosten + 0.55; if CheckBox15.Checked then Kosten:= Kosten + 0.55; if CheckBox16.Checked then Kosten:= Kosten + 0.55; if CheckBox17.Checked then Kosten:= Kosten + 0.55; if CheckBox18.Checked then Kosten:= Kosten + 0.55; if CheckBox19.Checked then Kosten:= Kosten + 0.55; if CheckBox20.Checked then Kosten:= Kosten + 0.55; if CheckBox21.Checked then Kosten:= Kosten + 0.55; if CheckBox22.Checked then Kosten:= Kosten + 0.55; if CheckBox23.Checked then Kosten:= Kosten + 0.55; if CheckBox24.Checked then Kosten:= Kosten + 0.55; if CheckBox25.Checked then Kosten:= Kosten + 0.55; if CheckBox26.Checked then Kosten:= Kosten + 0.55; if CheckBox27.Checked then Kosten:= Kosten + 0.55; if CheckBox28.Checked then Kosten:= Kosten + 0.8; if CheckBox29.Checked then Kosten:= Kosten + 0.8; if CheckBox30.Checked then Kosten:= Kosten + 0.8; if CheckBox31.Checked then Kosten:= Kosten + 0.8; if CheckBox32.Checked then Kosten:= Kosten + 0.8; if CheckBox33.Checked then Kosten:= Kosten + 0.8; if CheckBox34.Checked then Kosten:= Kosten + 0.8; if CheckBox35.Checked then Kosten:= Kosten + 0.8; if CheckBox36.Checked then Kosten:= Kosten + 0.8; if CheckBox37.Checked then Kosten:= Kosten + 0.8; if CheckBox38.Checked then Kosten:= Kosten + 2.3; if CheckBox39.Checked then Kosten:= Kosten + 2.3; if CheckBox40.Checked then Kosten:= Kosten + 2.3; if CheckBox41.Checked then Kosten:= Kosten + 2.3; if CheckBox42.Checked then Kosten:= Kosten + 2.3; Label3.caption:= FloatToStr (Kosten) ; If RadioButton3.checked then if CheckBox1.Checked then Kosten:= Kosten + 0.55; if CheckBox2.Checked then Kosten:= Kosten + 0.55; if CheckBox3.Checked then Kosten:= Kosten + 0.55; if CheckBox4.Checked then Kosten:= Kosten + 0.55; if CheckBox5.Checked then Kosten:= Kosten + 0.55; if CheckBox6.Checked then Kosten:= Kosten + 0.55; if CheckBox7.Checked then Kosten:= Kosten + 0.55; if CheckBox8.Checked then Kosten:= Kosten + 0.55; if CheckBox9.Checked then Kosten:= Kosten + 0.55; if CheckBox10.Checked then Kosten:= Kosten + 0.55; if CheckBox11.Checked then Kosten:= Kosten + 0.55; if CheckBox12.Checked then Kosten:= Kosten + 0.55; if CheckBox13.Checked then Kosten:= Kosten + 0.55; if CheckBox14.Checked then Kosten:= Kosten + 0.55; if CheckBox15.Checked then Kosten:= Kosten + 0.55; if CheckBox16.Checked then Kosten:= Kosten + 0.55; if CheckBox17.Checked then Kosten:= Kosten + 0.55; if CheckBox18.Checked then Kosten:= Kosten + 0.55; if CheckBox19.Checked then Kosten:= Kosten + 0.55; if CheckBox20.Checked then Kosten:= Kosten + 0.55; if CheckBox21.Checked then Kosten:= Kosten + 0.55; if CheckBox22.Checked then Kosten:= Kosten + 0.55; if CheckBox23.Checked then Kosten:= Kosten + 0.55; if CheckBox24.Checked then Kosten:= Kosten + 0.55; if CheckBox25.Checked then Kosten:= Kosten + 0.55; if CheckBox26.Checked then Kosten:= Kosten + 0.55; if CheckBox27.Checked then Kosten:= Kosten + 0.55; if CheckBox28.Checked then Kosten:= Kosten + 0.8; if CheckBox29.Checked then Kosten:= Kosten + 0.8; if CheckBox30.Checked then Kosten:= Kosten + 0.8; if CheckBox31.Checked then Kosten:= Kosten + 0.8; if CheckBox32.Checked then Kosten:= Kosten + 0.8; if CheckBox33.Checked then Kosten:= Kosten + 0.8; if CheckBox34.Checked then Kosten:= Kosten + 0.8; if CheckBox35.Checked then Kosten:= Kosten + 0.8; if CheckBox36.Checked then Kosten:= Kosten + 0.8; if CheckBox37.Checked then Kosten:= Kosten + 0.8; if CheckBox38.Checked then Kosten:= Kosten + 2.3; if CheckBox39.Checked then Kosten:= Kosten + 2.3; if CheckBox40.Checked then Kosten:= Kosten + 2.3; if CheckBox41.Checked then Kosten:= Kosten + 2.3; if CheckBox42.Checked then Kosten:= Kosten + 2.3; Label3.caption:= FloatToStr (Kosten) ; if RadioButton2.checked then if CheckBox1.Checked then Kosten:= Kosten + 1.10; if CheckBox2.Checked then Kosten:= Kosten + 1.10; if CheckBox3.Checked then Kosten:= Kosten + 1.10; if CheckBox4.Checked then Kosten:= Kosten + 1.10; if CheckBox5.Checked then Kosten:= Kosten + 1.10; if CheckBox6.Checked then Kosten:= Kosten + 1.10; if CheckBox7.Checked then Kosten:= Kosten + 1.10; if CheckBox8.Checked then Kosten:= Kosten + 1.10; if CheckBox9.Checked then Kosten:= Kosten + 1.10; if CheckBox10.Checked then Kosten:= Kosten + 1.10; if CheckBox11.Checked then Kosten:= Kosten + 1.10; if CheckBox12.Checked then Kosten:= Kosten + 1.10; if CheckBox13.Checked then Kosten:= Kosten + 1.10; if CheckBox14.Checked then Kosten:= Kosten + 1.10; if CheckBox15.Checked then Kosten:= Kosten + 1.10; if CheckBox16.Checked then Kosten:= Kosten + 1.10; if CheckBox17.Checked then Kosten:= Kosten + 1.10; if CheckBox18.Checked then Kosten:= Kosten + 1.10; if CheckBox19.Checked then Kosten:= Kosten + 1.10; if CheckBox20.Checked then Kosten:= Kosten + 1.10; if CheckBox21.Checked then Kosten:= Kosten + 1.10; if CheckBox22.Checked then Kosten:= Kosten + 1.10; if CheckBox23.Checked then Kosten:= Kosten + 1.10; if CheckBox24.Checked then Kosten:= Kosten + 1.10; if CheckBox25.Checked then Kosten:= Kosten + 1.10; if CheckBox26.Checked then Kosten:= Kosten + 1.10; if CheckBox27.Checked then Kosten:= Kosten + 1.10; if CheckBox28.Checked then Kosten:= Kosten + 1.60; if CheckBox29.Checked then Kosten:= Kosten + 1.60; if CheckBox30.Checked then Kosten:= Kosten + 1.60; if CheckBox31.Checked then Kosten:= Kosten + 1.60; if CheckBox32.Checked then Kosten:= Kosten + 1.60; if CheckBox33.Checked then Kosten:= Kosten + 1.60; if CheckBox34.Checked then Kosten:= Kosten + 1.60; if CheckBox35.Checked then Kosten:= Kosten + 1.60; if CheckBox36.Checked then Kosten:= Kosten + 1.60; if CheckBox37.Checked then Kosten:= Kosten + 1.60; if CheckBox38.Checked then Kosten:= Kosten + 4.60; if CheckBox39.Checked then Kosten:= Kosten + 4.60; if CheckBox40.Checked then Kosten:= Kosten + 4.60; if CheckBox41.Checked then Kosten:= Kosten + 4.60; if CheckBox42.Checked then Kosten:= Kosten + 4.60 ; Label3.caption:= FloatToStr (Kosten); Kurze Erklärung: RadioButton1 : kleine pizza Radiobutton2: mittlere Radiobutton3: große CheckBox1-42: Beläge jetzt kostet der belag für große pizza mehr als für klein und mittel. wenn ich nun eine pizza ausrechnen möchte kommt immer etwas falsches raus . liegt es vielleicht an der If-Schleife ??? |
Re: selber erkennen von CheckBox
wie kann ich also das zusammenfassen
das wenn der erste RadioButton nicht angeklickt ist, das das programm zum nächsten button geht If RadioButton1.checked then if CheckBox1.Checked then Kosten:= Kosten + 0.55; if CheckBox2.Checked then Kosten:= Kosten + 0.55; if CheckBox3.Checked then Kosten:= Kosten + 0.55; if CheckBox4.Checked then Kosten:= Kosten + 0.55; ... wenn nicht .checked dann soll er den nächsten button prüfen If RadioButton3.checked then if CheckBox1.Checked then Kosten:= Kosten + 0.55; if CheckBox2.Checked then Kosten:= Kosten + 0.55; if CheckBox3.Checked then Kosten:= Kosten + 0.55; ... was muss ich an der schleife ändern, damit das programm funktioniert ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:00 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