AGB  ·  Datenschutz  ·  Impressum  







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

Button wird sichtbar

Ein Thema von justMatzi · begonnen am 8. Apr 2014 · letzter Beitrag vom 9. Apr 2014
Antwort Antwort
justMatzi

Registriert seit: 4. Nov 2013
6 Beiträge
 
Delphi 7 Personal
 
#1

Button wird sichtbar

  Alt 8. Apr 2014, 18:08
Hallo Community,
ich habe folgende Frage: Ich habe ein Programm geschrieben, dass vorsieht, das ein Button sichtbar wird bzw. eingeschaltet wird, wenn eine Variable einen Wert über 0 hat. Ist der Wert aber nun gleich 0, soll dieser ausgeschaltet bleiben und dafür ein anderer Button aktiviert werden.
Nun klappt das leider nicht so ganz. Der Code sieht so aus:

Code:
procedure TForm1.B_100erClick(Sender: TObject);
begin
 Preis:=Preis-100;
 L_Rest.Caption:=inttostr(Preis)+'€';
 if Preis <=0 then
  begin
   L_Wechsel.Caption:='Ihr Wechselgeld: '+inttostr((Preis-Wechsel)*-1)+'€';
   L_Rest.Caption:=inttostr(0)+'€';
   Wechsel:=Wechsel+100;
   B_5er.Enabled:=false;
   B_10er.Enabled:=false;
   B_20er.Enabled:=false;
   B_50er.Enabled:=false;
   B_100er.Enabled:=false;
   B_200er.Enabled:=false;
   B_500er.Enabled:=false;
   B_Wechsel.Enabled:=false;
   B_zumTicket.Enabled:=true;
   end;
 if Wechsel >0 then
  begin
   B_Wechsel.Enabled:=true;
   B_zumTicket.Enabled:=false;
  end;
end;
Ich hoffe ihr kennt meinen Fehler.
Danke schonmal
justMatzi
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Button wird sichtbar

  Alt 8. Apr 2014, 18:13
Nun klappt das leider nicht so ganz.
Ich hoffe ihr kennt meinen Fehler.
Also ich kenne ihn nicht. Buttons werden enabled und disabled. Das scheint zu klappen. Kannst du etwas genauer werden, was nicht funktioniert oder sich anders verhält als erwartet?

Geändert von Der schöne Günther ( 8. Apr 2014 um 18:49 Uhr) Grund: Nein.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

AW: Button wird sichtbar

  Alt 8. Apr 2014, 18:22
Nur eine Anmerkung am Rande. Das:
Delphi-Quellcode:
 if Preis <=0 then
  begin
   ...
   B_Wechsel.Enabled:=false;
   B_zumTicket.Enabled:=true;
   end;
 if Wechsel >0 then
  begin
   B_Wechsel.Enabled:=true;
   B_zumTicket.Enabled:=false;
  end;
ist u. U. interessanter wenn man es so löst:
Delphi-Quellcode:
  if Preis <=0 then
  begin
    ...
  end;

  B_Wechsel.Enabled := Wechsel > 0;
  B_zumTicket.Enabled := not B_Wechsel.Enabled;
Man spart sich die doppelte Pflege.
  Mit Zitat antworten Zitat
justMatzi

Registriert seit: 4. Nov 2013
6 Beiträge
 
Delphi 7 Personal
 
#4

AW: Button wird sichtbar

  Alt 8. Apr 2014, 19:01
Also ich klicke mit Buttons den Betrag von Preis runter. Wenn die auf genau 0 auskommt, schaltet sich der Button B_Wechsel ein, obwohl er das nicht sollte. Wenn dabei genau 0 rauskommt, soll nur der Button B_zumTicket aktiviert werden, wobei der Button B_Wechsel deaktiviert bleibt.

Gruß
justMatzi
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: Button wird sichtbar

  Alt 8. Apr 2014, 19:10
Das macht er auch. Hier:

Delphi-Quellcode:
 if Preis <=0 then
  begin
   ...
   B_Wechsel.Enabled:=false;
   B_zumTicket.Enabled:=true;
   end;
Was ist aber damit?

Delphi-Quellcode:
 if Wechsel >0 then
  begin
   B_Wechsel.Enabled:=true;
   B_zumTicket.Enabled:=false;
  end;
Beide Abfragen sind in einer Prozedur. Die erste Anfrage mit Preis <= 0 stellt Wechsel.Enabled auf False, dann aber kommt die zweite Anfrage mit Wechsel > 0. Ist also der Pries <= 0, aber der Wechsel > 0, dann wird zwar zuerst der Button Wechsel abgeschaltet, dann aber gleich wieder eingeschaltet.
  Mit Zitat antworten Zitat
justMatzi

Registriert seit: 4. Nov 2013
6 Beiträge
 
Delphi 7 Personal
 
#6

AW: Button wird sichtbar

  Alt 8. Apr 2014, 19:29
Hallo Popov,
das ist mir schon klar und das ist auch eigentlich Absicht. In der Prozedur steht ja, dass Wechsel einen höheren Wert bekommt, wenn der Preis, welcher bei jedem Klick verringert wird, unter 0 fällt, bzw. gleich 0 ist. Das soll letztendlich eine Art Wechselgeld sein, welches man durch B_Wechsel entnehmen kann. Nun ist es aber ja blöd, wenn B_zumTicket deaktiviert ist, selbst wenn das Wechselgeld 0 ist. Ich muss also, auch wenn die Variable Wechsel 0 ist, erst B_Wechsel betätigen, um B_zumTicket zu aktivieren. Und das soll halt nicht sein, wenn Wechsel =0 ist.

Gruß
justMatzi
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:02 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