![]() |
Problem mit Checkbox
Hallo,
ich habe folgendes Problem. Als Projektarbeit fertigen wir in der Schule einen MC Donalds Bestellservice an. Funktioniert auch soweit, bloß es ergab sich nun das Problem mit den Preisen Wenn man in der Checkbox beispielsweise eine Cola und eine kleine Pommes wählt, soll es in der Ausgabe (sprich dem Kasse Button) die verschiedenen Preise addieren. Das ist die Theorie, nur leider funktioniert die Praxis nich :-( Bitte um Hilfe :coder2: Vielen Dank schonmal im Voraus :spin2: :mrgreen: |
Re: Problem mit Checkbox
Wie sieht denn Dein bisheriger Code aus und was genau funktioniert nicht? :glaskugel:
|
Re: Problem mit Checkbox
Hallo,
liegen Dein CheckBoxen in einem Array of TChaeckBox? Dann könntest Du in einer Schleife dieses Array durchlaufen und prüfen ob denn die Checkbox enabled ist. Oder Du kannst FindComponent (SuchFunktion) verwenden. Einfacher wäre es aber wenn Du direkt wenn die CheckBox angekreuzt wird die Rechnungssummer erhöhst. (OnCheck Ereignis) Grüße Klaus |
Re: Problem mit Checkbox
Hallo,
und was sollen wir jetzt machen ? Glaskugel rausholen ? zuerst benutze bitte im OnButtonClick des Kasse-Buttons F5/F7/F8 Dann entweder das Projekt anhängen (ohne Exe), oder die Stelle zeigen, die nicht klappt. Heiko |
Re: Problem mit Checkbox
Ach ja, noch ein Problem:
Wir haben auch Radio Button verwendet, isrt das dann genauso wie mit den Checkboxen? (also praktisch mit dem true und false?) Es gibt noch keinen Code für das mit den Berechnen des Endpreises, wir haben bis jetzt nur Überlegungen , also das mit Checkbox1.checked... Wir wissen aber nicht wie das mit den Preis funktionieren soll, da ja praktisch jedes einzelne Produkt einen anderen Preis hat... Danke für die Antworten |
Re: Problem mit Checkbox
Checkboxen und Radiobuttons verfügen beide über die Checked-Eigenschaft (angehakt oder nicht). Eine schnelle Lösung könnte so etwas sein:
Delphi-Quellcode:
Die einzelnen Preise hätte ich dann als Konstanten hinterlegt und würde diese dann verwenden (z.B. Preis_Cola = 1,99).
function TMainForm.Gesamtpreis: double;
begin Result := 0; if CheckboxCola.Checked then Result := Result + Preis_Cola; if CheckBoxCheeseburger.Checked then Result := Result + Preis_Cheeseburger; //usw. end; [edit] Rechtschreibung [/edit] |
Re: Problem mit Checkbox
Oder wohl sonst die einfachste Lösung: Du benutzt eine Variable in deiner Procedure...
Delphi-Quellcode:
Aber ansonsten ist die Lösung von Detlef noch optimaler.
var
sum: Currency; begin if checkbox1.Checked then sum:= sum + ColaPreis; if checkbox2.Checked then sum:= sum + WasauchimmerPreis; {...} end; |
Re: Problem mit Checkbox
Hallo,
wo habt ihr denn dann den Preis versteckt ??? Werden die CheckBoxen dynamisch erzeugt ? Mehr Infos !!! Eine Möglichkeit wäre Nutzung von Tag. Ist ne Integer-Zahl, die jede Komponente hat. Jede CheckBox/RadioButton bekommt ein Tag. Anhand des Tag wird der Preis ermittelt:
Delphi-Quellcode:
Dann benutzt man z.B. Components/ComponentCount,
function GetEuroCentOnTag(theTag: Integer): Integer;
begin case theTag of 1: Result:= 100; // 1.00 EUR 2: Result:= 150; // 1.50 EUR else Result:= 0; end; um alle CB/RB zu durchlaufen und den Preis aufzurechnen Heiko PS: Immer in Cent, nie in Euro rechnen (Rundungsfehler) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 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