AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit BitBtn...

Ein Thema von Pro-Grammierer · begonnen am 23. Nov 2008 · letzter Beitrag vom 23. Nov 2008
Antwort Antwort
Seite 1 von 2  1 2      
Pro-Grammierer

Registriert seit: 13. Nov 2008
46 Beiträge
 
#1

Probleme mit BitBtn...

  Alt 23. Nov 2008, 10:27
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:
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;
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.

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 !
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Probleme mit BitBtn...

  Alt 23. Nov 2008, 10:34
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
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Pro-Grammierer

Registriert seit: 13. Nov 2008
46 Beiträge
 
#3

Re: Probleme mit BitBtn...

  Alt 23. Nov 2008, 10:49
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?
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Probleme mit BitBtn...

  Alt 23. Nov 2008, 10:53
Du kannst ein Event auch mehreren BitBtns zuweisen, dann klappt Deine Überprüfung mit dem Sender.
  Mit Zitat antworten Zitat
Pro-Grammierer

Registriert seit: 13. Nov 2008
46 Beiträge
 
#5

Re: Probleme mit BitBtn...

  Alt 23. Nov 2008, 10:57
WIe würde das aussehen?
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Probleme mit BitBtn...

  Alt 23. Nov 2008, 10:58
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:
begin
  case TBitBtn(Sender).Tag of
    1: ShowMessage('1');
    2: ShowMessage('2');
  end;
end;
den jeweiligen BitBtn-Button abfragen
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Pro-Grammierer

Registriert seit: 13. Nov 2008
46 Beiträge
 
#7

Re: Probleme mit BitBtn...

  Alt 23. Nov 2008, 11:08
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.
  Mit Zitat antworten Zitat
Noedel
(Gast)

n/a Beiträge
 
#8

Re: Probleme mit BitBtn...

  Alt 23. Nov 2008, 11:15
häng das ganze mal an, ich schau mal
  Mit Zitat antworten Zitat
Pro-Grammierer

Registriert seit: 13. Nov 2008
46 Beiträge
 
#9

Re: Probleme mit BitBtn...

  Alt 23. Nov 2008, 11:22
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:
 
if lbWechsel<0 then
   btWechsel.Enabled:=true;
einfügen. Nur wo?!

Ich danke schon jetzt für eure Hilfe !
Angehängte Dateien
Dateityp: zip tankstelle_211.zip (340,2 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#10

Re: Probleme mit BitBtn...

  Alt 23. Nov 2008, 11:24
Der Anhang fehlt
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 20:56 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