Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Button wird sichtbar (https://www.delphipraxis.net/179882-button-wird-sichtbar.html)

Popov 8. Apr 2014 20:36

AW: Button wird sichtbar
 
Hier ein Simulator:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  GBGN = 'Gibt einen Betrag größer Null ein:';
  HHS = 'Himmi Herrgott Sakrament, Wert größer Null';
var
  Abzug: Integer;
begin
  Preis := StrToIntDef(InputBox('Preis angeben', GBGN, '100'), 0);
  if Preis <= 0 then raise Exception.Create(HHS);

  Abzug := StrToIntDef(InputBox('Abzug (Ersatz für Button mit Preis) angeben', GBGN, '100'), 0);
  if Abzug <= 0 then raise Exception.Create(HHS);

  //----------------------------------------------------------------------------

  Preis := Preis - Abzug; //100 erstetzt durch Variable Abzug;
  L_Rest.Caption:=inttostr(Preis)+'&#8364;';
  if Preis <=0 then
  begin
    L_Wechsel.Caption := 'Ihr Wechselgeld: ' + IntToStr((Preis-Wechsel)*-1)+'&#8364;';
    L_Rest.Caption := IntToStr(0)+'&#8364;';
    Wechsel := Wechsel + Abzug; //100 erstetzt durch Variable Abzug;
    //... das ist hier unwichtig
    B_Wechsel.Enabled := False;
    B_zumTicket.Enabled := True;
  end;

  if Wechsel > 0 then
  begin
    B_Wechsel.Enabled := True;
    B_zumTicket.Enabled := False;
  end;
end;
Man bracht zwei Buttons und Labels. Danach kann man tasten was passiert wenn man etwas angibt.

Also es ist mir bisher nicht gelungen was der TE vor hatte. Der Button bleib immer an.

Aviator 8. Apr 2014 20:59

AW: Button wird sichtbar
 
Zitat:

Zitat von TForm1 (Beitrag 1255033)
OT: Kann es sein, dass der Server noch auf Winterzeit eingestellt ist, oder wird der nicht umgestellt?

In deinen Profileinstellung kannst du einstellen, ob Sommer- / Winterzeit automatisch erkannt werden soll. (Nützliche Links --> Benutzerkontrollzentrum --> Einstellung ändern --> Datum & Zeit)

TForm1 9. Apr 2014 15:28

AW: Button wird sichtbar
 
So, ich habe jetzt mal versucht nachzuvollziehen, was Du genau meinst:
Der Preis ist eigenlich der noch zu bezahlende Betrag, der immer kleiner wird. Wenn man alles abbezahlt hat und kein Wechselgeld übrig bleibt, soll sofort der zum_Ticket- Button freigeschaltet werden, wenn zu viel bezahlt wurde und Wechselgeld herausgegeben wird, soll der Wechselgeld- Button freigeschaltet werden. Das Problem ist, dass du das Wechselgeld extra zählst. Eigentlich ist es ja nichts anderes als das noch zu zahlende und zwar negativ. Du sagst gleich Wechselgeld:= Wechselgeld +100; (falls jemand noch mal Bezahlt obwohl alles schon bezahlt ist) wo das Wechselgeld eigentlich 0 sein müsste. Deswegen gehört stattdessen dort eigentlich ein Wechselgeld:= -Preis;. Damit bekommst du den Betrag heraus, der zuviel gezahlt wurde. Soweit meine Interpretation des Quellcodes.
Trotz alledem wäre es hier angebracht das ganze anders zu lösen, so dass Du 3 Möglichkeiten hast (>0, 0 und <0) und nicht erst den Button anschaltest und dann wieder ausschaltest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr.
Seite 2 von 2     12   

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