AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

selber erkennen von CheckBox

Ein Thema von homerunjack · begonnen am 23. Aug 2005 · letzter Beitrag vom 25. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
homerunjack

Registriert seit: 22. Aug 2005
31 Beiträge
 
#1

selber erkennen von CheckBox

  Alt 23. Aug 2005, 21:52
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
  Mit Zitat antworten Zitat
Jarmen_Kell

Registriert seit: 17. Mär 2005
188 Beiträge
 
#2

Re: selber erkennen von CheckBox

  Alt 23. Aug 2005, 22:06
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.
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#3

Re: selber erkennen von CheckBox

  Alt 24. Aug 2005, 13:47
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;
Christian
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#4

Re: selber erkennen von CheckBox

  Alt 24. Aug 2005, 13:50
Ich würde statt der einzelnen Radiobuttons eine Radiogroup nehmen, dann kannst du mit dem ItemIndex ein Case machen...

Gruß
Daniel
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#5

Re: selber erkennen von CheckBox

  Alt 24. Aug 2005, 14:48
Sind ja keine Radiobuttons, sondern Checkboxes
Christian
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#6

Re: selber erkennen von CheckBox

  Alt 24. Aug 2005, 14:50
Zitat von tigerman33:
Sind ja keine Radiobuttons, sondern Checkboxes
Na, in deinem ersten Posting hast du geschrieben du verwendest 3 Radiobuttons, 5 Checkboxes...
Deshalb der Hinweis auf die RadioGroup...

Gruß
Daniel
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#7

Re: selber erkennen von CheckBox

  Alt 24. Aug 2005, 14:53
Ups...sorry

Bisschen vorschnell gepostet, dachte du beziehst dich auf mein Posting.
Christian
  Mit Zitat antworten Zitat
homerunjack

Registriert seit: 22. Aug 2005
31 Beiträge
 
#8

Re: selber erkennen von CheckBox

  Alt 24. Aug 2005, 18:53
ok, danke. jetzt kann pizzas bestellen
  Mit Zitat antworten Zitat
homerunjack

Registriert seit: 22. Aug 2005
31 Beiträge
 
#9

Re: selber erkennen von CheckBox

  Alt 24. Aug 2005, 20:53
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 ???
  Mit Zitat antworten Zitat
homerunjack

Registriert seit: 22. Aug 2005
31 Beiträge
 
#10

Re: selber erkennen von CheckBox

  Alt 24. Aug 2005, 22:34
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 ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:23 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