![]() |
Probleme mit BitBtn...
Wie der Titel schon verrät habe ich ein Problem mit BitBtn.
Ich hab die BitBtn in einem Panel eingefügt. Das Panel hab ich dann mit einem OnClick Ereignis versehen. In diesem hab ich dann folgenden Code geschrieben:
Delphi-Quellcode:
Die eig. funktion der BitBtn ist es, das lbPreis - Label wieder auf 0 bzw. unter null zu setzen (man kann auch ins Minus geraten). Doch wenn ich darauf klicke, passiert nichts.
procedure TForm5.plRechnungClick(Sender: TObject);
begin if Sender = bbt10cent then Preis := Preis - 0.1; if Sender = bbt20cent then Preis := Preis - 0.2; if Sender = bbt50cent then Preis := Preis - 0.5; if Sender = bbt1euro then Preis := Preis - 1; if Sender = bbt2euro then Preis := Preis - 2; if Sender = bbt5euro then Preis := Preis - 5; if Sender = bbt10euro then Preis := Preis - 10; if Sender = bbt20euro then Preis := Preis - 20; if Sender = bbt50euro then Preis := Preis - 50; if Preis<=0 then begin lbPreis.Caption := FloatToStrF(0,ffCurrency,6,2); lbWechsel.Caption := FloatToStrF(-Preis,ffCurrency,6,2); Preis := 0; end else lbpreis.Caption:=FloatToStrF(Preis,ffCurrency,6,2); end; Wenn ihr aus dem Abschnitt keinen Fehler entnehmen könnt, dann lad ich gerne das Projekt hoch, damit ihr es euch einsehen könnt. Ich weiß nicht mehr weiter ! |
Re: Probleme mit BitBtn...
Wenn ich das richtig gesehen habe, dann fragst du im OnClick-Ereignis eines Panels
den Sender auf BitBtn ab. Das geht nicht, denn der Sender kann ja nur das Panel sein |
Re: Probleme mit BitBtn...
Wie sollte ich das stattdessen machen?
Jeden Button einzelnd mit einem OnClick Ereignis versehen? Das hatte ich schonmal, dann hat er den Preis vor jedem Button Drücken sozusagen wieder resettet. Meinetwegen der Preis lag bei 15€ und ich hab dann auf den Button 2€ geklickt, dann hat er 15-2=13€ gerechnet. Wenn ich dann auf 1 Euro dann hat er wieder 15-1=14€. Allerdings hat ich das da noch nicht mit dem ff,Currency. Sollte ich das bei jedem Button neu einfügen oder wie? |
Re: Probleme mit BitBtn...
Du kannst ein Event auch mehreren BitBtns zuweisen, dann klappt Deine Überprüfung mit dem Sender.
|
Re: Probleme mit BitBtn...
WIe würde das aussehen?
|
Re: Probleme mit BitBtn...
wie ist "Preis" definiert? - bzw. wo?
kann es sein, dass du irgendwo den Wert von Preis wieder auf 15€ setzt? Du kannst ruhig eine OnClick-Ereignis jedem BitBtn-OnClick-Ereignis zuweisen und dann mit deiner Sender=BitBtn Abfrage den jeweiligen Button abfragen. Wobei du dir mal die Property "Tag" anschauen solltest. Wenn du jedem Button einen Wert in Tag zuweist, dann könntest in der OnClick-Procedure den jeweiligen Button mittels:
Delphi-Quellcode:
den jeweiligen BitBtn-Button abfragen
begin
case TBitBtn(Sender).Tag of 1: ShowMessage('1'); 2: ShowMessage('2'); end; end; |
Re: Probleme mit BitBtn...
Hm, also bei meinem Parkautomaten ging das aber so wie ich es hier hab xD Ich weiß nicht warum das nun anders ist.
Der Preis ist als Preis in einer Variablen : real definiert. Er setzt sich aus lpreis*Liter zusammen. lpreis ist ebenfalls eine Variable, die von den Buttons bestimmt wird, die die Kosten für einen Liter des jeweiligen Treibstoffs beschreiben. |
Re: Probleme mit BitBtn...
häng das ganze mal an, ich schau mal :)
|
Re: Probleme mit BitBtn...
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habs gelöst bekommen. xD Man musste dem ganzen nur eine eigene Procedur geben. Ich häng es trotzdem mal an.
Wenn ihr euch das denn schon einmal anguckt, dann guckt doch bitte, wie ich es schaffe, dass der btWechsel Enabled ist, wenn sich das Label lbWechsel über 0 bewegt. Irgendwo muss ich da bestimmt:
Delphi-Quellcode:
einfügen. Nur wo?! if lbWechsel<0 then btWechsel.Enabled:=true; Ich danke schon jetzt für eure Hilfe ! |
Re: Probleme mit BitBtn...
Der Anhang fehlt ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 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