(Kleines) Problem mit Buttons
-
Hier eine ungefähre "GUI Entwurf" meines vollständigen Programms.
[GUI]
.........[Button1(Caption): "Rechnung A"]
.........[Button2(Caption): "Rechnung B"]
.........[Button3(Caption): "Rechnung C"].........[Button4(Caption): "Um +1 erhöhen"]
---[Memo1(Lines): "5"]
---[Memo1(Lines): "18"]
---[Memo1(Lines): "ABC"][/GUI]
Wenn man auf Rechnung A klickt erscheinen im Memo1 die Ergebnisse dafür (oben).
So wenn ich jetzt auf Button 4 klicke, soll die Zahl "18" um +1 erhöht werden.
Wie realisiere ich das ??Das Problem ist:
Das Programm muss wissen, dass gerade die Angaben von Rechnung A angezeigt
werden.
Es muss wissen, dass nur die Zahl 18 erhöht werden darf und nicht etwa "5"
oder "ABC".Ich werde hier parallel alle Möglichkeiten ausprobieren, würde mich aber über
Hinweise sehr freuenlg Martin
-
Hallo
Das solltest du nicht auf GUI-Ebene lösen. Viel wichtiger ist doch die Frage, in welchen Datenstrukturen du die Werte der Rechnung überhaupt zur Laufzeit verwaltest? Dort must du dann auch die Addition durchführen. Danach aktualisierst du dann nur noch das entsprechende Memo.
bis bald
akari
-
akari schrieb:
Hallo
Das solltest du nicht auf GUI-Ebene lösen. Viel wichtiger ist doch die Frage, in welchen Datenstrukturen du die Werte der Rechnung überhaupt zur Laufzeit verwaltest? Dort must du dann auch die Addition durchführen. Danach aktualisierst du dann nur noch das entsprechende Memo.
bis bald
akariErstmal vielen dank für deine Schnelle Antwort
Also was meinst du mit "in welchen Datenstrukturen du die Werte der Rechnung überhaupt zur Laufzeit verwaltest?"
Also ich hätte da ein Vorschlag, leider weiß ich nicht
wie es Korrekt geschrieben wird:void __fastcall TForm1::Button4Click(TObject *Sender) //um +1 erhöhen { if Button 1 == clicked //Damit weiß ich: Es geht um Rechnung A rechnung.Tomate++ //Ich arbeite mit Klasse (Vererbung) und meine Zahl 18 ist von "rechnung.Tomate++" (es soll heißen Totmaten kosten 18 €). Also wird 18 um +1 erhöht }
-
Soll ich einfach ein int x global definieren
und in Button4 i++ einfügen
und dann einfach rechnung.Tomate+i ?
-
sry so lautet es richtig: hab x und i verwechselt
Marteeeyn schrieb:
Soll ich einfach ein int i global definieren
und in Button4 i++ einfügen
und dann einfach rechnung.Tomate+i ?
-
Marteeeyn schrieb:
Also was meinst du mit "in welchen Datenstrukturen du die Werte der Rechnung überhaupt zur Laufzeit verwaltest?"
Normalerweise hält man die Daten nicht in der UI, sondern in einer passenden Datenstruktur, etwas in der folgenden Form:
class Rechnungsposition { private: int menge; //... public: //... }; class Rechnung { private: std::vector<Rechnungsposition> rechnungspositionen; //... public: //... };