Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi selber erkennen von CheckBox (https://www.delphipraxis.net/52102-selber-erkennen-von-checkbox.html)

homerunjack 23. Aug 2005 20:52


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

Jarmen_Kell 23. Aug 2005 21:06

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:
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)
Für Fortgeschrittene: Ich weiß, dass "+0,40" nicht sinnvoll ist, aber es verdeutlicht den Geldbetrag besser


Dein Titel ist nicht sehr aussagekräftig. Für spätere Suchende solltest du ihn vielleicht ändern.

tigerman33 24. Aug 2005 12:47

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;

dfried 24. Aug 2005 12:50

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

tigerman33 24. Aug 2005 13:48

Re: selber erkennen von CheckBox
 
Sind ja keine Radiobuttons, sondern Checkboxes

dfried 24. Aug 2005 13:50

Re: selber erkennen von CheckBox
 
Zitat:

Zitat von tigerman33
Sind ja keine Radiobuttons, sondern Checkboxes

Na, in deinem ersten Posting hast du geschrieben du verwendest 3 Radiobuttons, 5 Checkboxes... :gruebel:
Deshalb der Hinweis auf die RadioGroup...

Gruß
Daniel

tigerman33 24. Aug 2005 13:53

Re: selber erkennen von CheckBox
 
Ups...sorry

Bisschen vorschnell gepostet, dachte du beziehst dich auf mein Posting. :oops:

homerunjack 24. Aug 2005 17:53

Re: selber erkennen von CheckBox
 
ok, danke. jetzt kann pizzas bestellen :thumb:

homerunjack 24. Aug 2005 19:53

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 ???

homerunjack 24. Aug 2005 21:34

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 00:08 Uhr.
Seite 1 von 2  1 2      

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