AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Wie kann ich Mit Button Tags arbeiten(bitte helfen wichtig)

Wie kann ich Mit Button Tags arbeiten(bitte helfen wichtig)

Ein Thema von PeterPan · begonnen am 22. Nov 2004 · letzter Beitrag vom 22. Nov 2004
Antwort Antwort
PeterPan

Registriert seit: 22. Nov 2004
5 Beiträge
 
#1

Wie kann ich Mit Button Tags arbeiten(bitte helfen wichtig)

  Alt 22. Nov 2004, 20:32
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.
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht

  Alt 22. Nov 2004, 20:33
Button1.Tag:=23; Meinst du das?
Julian J. Pracht
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#3

Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht

  Alt 22. Nov 2004, 20:34
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;
  Mit Zitat antworten Zitat
geisi

Registriert seit: 19. Sep 2003
449 Beiträge
 
Delphi 6 Professional
 
#4

Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht

  Alt 22. Nov 2004, 20:35
wert:=wert-Button1.Tag; hast vielleicht das gemeint?
mfg geisi
  Mit Zitat antworten Zitat
PeterPan

Registriert seit: 22. Nov 2004
5 Beiträge
 
#5

Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht

  Alt 22. Nov 2004, 20:39
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
  Mit Zitat antworten Zitat
PeterPan

Registriert seit: 22. Nov 2004
5 Beiträge
 
#6

Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht

  Alt 22. Nov 2004, 20:49
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?
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht

  Alt 22. Nov 2004, 20:50
Ersetz mal das Komma in der 0,5 durch einen Punkt

[edit]Oder du schreibst:
DecimalSeparator:=','; [/edit]
Julian J. Pracht
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#8

Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht

  Alt 22. Nov 2004, 20:50
Endbetrag muss als DOuble definiert sein und Fliesskommazahlen schriebt man in Delphi mit ., also 0.5.
  Mit Zitat antworten Zitat
PeterPan

Registriert seit: 22. Nov 2004
5 Beiträge
 
#9

Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht

  Alt 22. Nov 2004, 20:55
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=?
  Mit Zitat antworten Zitat
PeterPan

Registriert seit: 22. Nov 2004
5 Beiträge
 
#10

Re: Wie kann ich Mit Button Tags arbeiten(bitte helfen wicht

  Alt 22. Nov 2004, 23:08
Code:
 
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;
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?

Wie kann ich das ändern oder verbessern?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:28 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