Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Warnen vor dem schließen (https://www.delphipraxis.net/166622-warnen-vor-dem-schliessen.html)

DeddyH 22. Feb 2012 11:16

AW: Warnen vor dem schließen
 
Wir reden von dem Button aus dem gezeigten Quelltext, oder? Da würde dann jedesmal die Message kommen, programmier das doch schnell mal eben nach.

schmitty89 22. Feb 2012 15:23

AW: Warnen vor dem schließen
 
Zitat:

Zitat von Medium (Beitrag 1152260)
Delphi-Quellcode:
procedure TForm1.OnCloseQuery(Sender: TObject; CanClose: Boolean);
begin
  if MessageDlg('Echt schließen?', mtConfirmation, [mbYes, mbNo], 0) = mrNo then
    CanClose := false;
end;
Wäre ein einfacher und sauberer Weg.

Das hat mir doch schon geholfen aber kann man das abhängig machen von dem was eingegeben wurde?
Also wenn er richtig geraten hat soll es gar nicht erst angezeigt werden, sonst schon.
Müsste man dann um das ganze eine If-schleife laufen lassen?
Könnte man das nicht einfach ans Ende dieser if bedingung setzen:

Delphi-Quellcode:
if r < z then Label2.Caption := 'Zu niedrig'
   else if r > z then Label2.Caption := 'Zu hoch'

DeddyH 22. Feb 2012 15:25

AW: Warnen vor dem schließen
 
*Hahaaa* da isse wieder (If-Schleife) :cheer:
Zum Problem: merk Dir doch einfach in einer Boolean-Variablen, ob richtig geraten wurde. Du setzt sie am Spielanfang auf false und bei Treffer auf true. Nun musst Du nur noch prüfen, ob sie false ist und in dem Fall nachfragen.

schmitty89 22. Feb 2012 15:29

AW: Warnen vor dem schließen
 
Du hast gut reden.

ich brauch schon irgendwie ein Beispiel.
Bin total neu darin und hab noch erstaunlich wenig Ahnung, wie man immer wieder sieht :D

DeddyH 22. Feb 2012 15:40

AW: Warnen vor dem schließen
 
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    ...
  private
    FTreffer: Boolean;
  ...
  end;

...

//im ButtonClick:
if r < z then
  Label2.Caption := 'Zu niedrig'
else if r > z then
  Label2.Caption := 'Zu hoch'
else
  begin
    Label2.Caption := 'Erraten';
    FTreffer := true;
  end;
...

procedure TForm1.CloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := FTreffer or (MessageBox(0, 'Spiel wirklich abbrechen?', 'Bestätigen', MB_YESNO or MB_ICONQUESTION) = idYes);
end;
Ohne Gewähr, da aus dem Kopf getippt.

Popov 22. Feb 2012 16:44

AW: Warnen vor dem schließen
 
Zitat:

Zitat von DeddyH (Beitrag 1152375)
*Hahaaa* da isse wieder (If-Schleife) :cheer:

Natürlich gibt es if schleifen ;)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  a: Byte;
  Label Schleife;
begin
  a := 0;

  Schleife: a := a + 1;
  ShowMessage('Durchgang ' + IntToStr(a));
  if a < 5 then Goto Schleife;

  ShowMessage('Das waren ' + IntToStr(a) + ' Schleifen');
end;
Edit:

Das mit der Schleife war natürlich nur ein Scherz, nur hat keiner reagiert. Also mache ich es bevor es einer in paar Wochen macht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:04 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