![]() |
Wie kann ich Mit Button Tags arbeiten(bitte helfen wichtig)
Habe ein Problem habe 5 Buttons bei jedem button den ich klicken kann soll ein wert abgezogen ausgegeben werden.
Angenommen ich muss 10 Euro bezahlen und drücke button1 dann sind es noch 5 euro. Button 2 drücken dann sinds noch 3 euro .... Also im Prinzip die Funktion einen Park Automates. Ich wollte das mit Tags machen also habe ich jedem button einen tag zugewiesen von 1 bis 5. Leider weiß ich nicht wie ich das anspreche (den Tag). Bitte helft mir es ist sehr wichtig. |
Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht
Delphi-Quellcode:
Meinst du das? :gruebel:
Button1.Tag:=23;
|
Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht
Durch Typecast in der Ereignisprozedur:
Delphi-Quellcode:
procedure TForm1.Button1CLick(Sender: TObject);
begin case TButton(Sender).Tag of 1: //Mach was 2: //Mach was anderes //... end; //... end; |
Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht
Delphi-Quellcode:
hast vielleicht das gemeint?
wert:=wert-Button1.Tag;
|
Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht
mmh also ich meinte. so ne art case oder so.
Oder ne IF abfrage: If tag = 1 then Geld - 5 If Tag = 2 then Geld -2 ........ kann ich das irgentwie in einer procedure ansprechen alles? Die buttons haben alle tags von 1-5 |
Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht
Code:
case TButton(Sender).Tag of
1: Endbetrag:= Parkgebuehr - 10; 2: Endbetrag:= Parkgebuehr - 5; 3: Endbetrag:= Parkgebuehr - 2; 4: Endbetrag:= Parkgebuehr - 1; 5: Endbetrag:= Parkgebuehr - 0,5; so habe jetzt ein problem ich kann nicht minus 0,5 rechnen wieso beide var sind double. Wieso nicht? und wie kann ich das ändern? |
Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht
Ersetz mal das Komma in der 0,5 durch einen Punkt ;-)
[edit]Oder du schreibst:
Delphi-Quellcode:
[/edit]
DecimalSeparator:=',';
|
Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht
Endbetrag muss als DOuble definiert sein und Fliesskommazahlen schriebt man in Delphi mit ., also 0.5.
|
Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht
so nächstes problem wenn ich jetzt auf einen button drücke kommt da aber nix habe jetzt mal mit showmessage getestet wieso nimmt der den button(sender) nicht=?
|
Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht
Code:
so bin jetzt so weit gekommen wenn ich 2,5 Parkgebühr habe und dann auf den 2 euro button klicke dann stehen im Memo noch 0,5 aber klicke ich dann auf 0,5 so gibt das Memo wieder 2 aus also heißt es das parkgebuehr doch immer noch 0 ist oder nicht?const Gebuehr = 1/2; procedure TForm1.Button1Click(Sender: TObject); var Parkgebuehr,Endbetrag: Currency; Zeit1, Zeit2, Zeit : TDateTime; Stunden : integer; begin //Endbetrag := 0; Parkgebuehr :=0; Zeit2 := Time; Zeit1 := StrToTime(EditZeit1.Text); LabelAZeit.Caption := TimeToStr(Zeit2); Zeit:= Zeit2-Zeit1; LabelZeit.Caption := TimeToStr (Zeit); Stunden := Hourof(Zeit); if Minuteof(Zeit) > 0 then Stunden := Stunden + 1; LabelStunden.Caption := IntToStr(Stunden); Parkgebuehr := Stunden * Gebuehr; LabelGebuehr.Caption := FloatToStr (Parkgebuehr); case TButton(Sender).Tag of 1:begin If Parkgebuehr >=10 then begin Parkgebuehr := Parkgebuehr -10; Endbetrag:= Parkgebuehr; Memo1.Lines.Add((Format('%4f',[Endbetrag]))); end; end; 2:begin If (Parkgebuehr>=5) then begin Parkgebuehr := Parkgebuehr -5; Endbetrag:= Parkgebuehr; Memo1.Lines.Add((Format('%4f',[Endbetrag]))); end; end; 3:begin If (Parkgebuehr>=2) then begin Parkgebuehr := Parkgebuehr -2; Endbetrag:= Parkgebuehr; Memo1.Lines.Add((Format('%4f',[Endbetrag]))); end; end; 4:begin If (Parkgebuehr>=1) then begin Parkgebuehr := Parkgebuehr -1; Endbetrag:= Endbetrag - Parkgebuehr; Memo1.Lines.Add((Format('%4f',[Endbetrag]))); end; end; 5:begin If (Parkgebuehr>=0.5) then begin Parkgebuehr := Parkgebuehr -0.5; Endbetrag:= Parkgebuehr; Memo1.Lines.Add((Format('%4f',[Endbetrag]))); end; end; 6:begin If (Parkgebuehr>=0.2) then begin Parkgebuehr := Parkgebuehr -0.2; Endbetrag:= Parkgebuehr; Memo1.Lines.Add((Format('%4f',[Endbetrag]))); end; end; 7:begin If (Parkgebuehr>=0.1) then begin Parkgebuehr := Parkgebuehr -0.1; Endbetrag:= Parkgebuehr; Memo1.Lines.Add((Format('%4f',[Endbetrag]))); end; end; 8:begin If (Parkgebuehr>=0.05) then begin Parkgebuehr := Parkgebuehr -0.05; Endbetrag:= Parkgebuehr; Memo1.Lines.Add((Format('%4f',[Endbetrag]))); end; end; Wie kann ich das ändern oder verbessern? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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