Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Button ende und abschiedsgruß.


forcedbydelphi - Di 14.12.10 19:07
Titel: Button ende und abschiedsgruß.
Hi Leute,
es geht um folgendes:
wenn ich auf einen Button klicke schließt sich das Programm, aber davor soll noch einmal kurz in einem Label " Schau nocheinmal vorbei" oder so stehen. Wie mache ich das??
Das Programm sollte sich aber nach 3-5sek oder so schließen.
mit dem text im Label kriege ich hin aber weiter wüsste ich nicht^^


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 14.12.2010 um 18:08


bummi - Di 14.12.10 19:19

Einen Timer im Button.Click aktivieren der im OnTimer ein Close aufruft;


forcedbydelphi - Di 14.12.10 19:21


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.BtendClick(Sender: TObject);
begin
     Lbbye.Caption := 'Danke fürs vorbeischauen :)';
     Timer1.Enabled := (true);

   close;
end;


hab den timer deaktiviert und halt on click auf button wird er aktiviert


Martok - Di 14.12.10 19:22

Hallo!

Bitte verwende für Quellcode die entsprechenden [delphi]-Tags, dann wird er "schöner" dargestellt als im Fließtext. Beispiel:

Quelltext
1:
<span class="inlineSyntax"><span class="codecomment">{PROTECTTAGc1cc2f496f04ea3d4b6ca63549ff5a85}</span></span>                    

Wird:

Delphi-Quelltext
1:
var Test: integer;                    


Einfach oben bei Deinem Beitrag auf user defined image oder user defined image klicken und ändern. Danke Dir!

Viele Grüße,
Martok


jaenicke - Di 14.12.10 19:24

user profile iconforcedbydelphi hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.BtendClick(Sender: TObject);
begin
     Lbbye.Caption := 'Danke fürs vorbeischauen :)';
     Timer1.Enabled := (true);

   close;
end;
Naja, du hast zwar den Timer aktiviert, schließt aber bevor der (nach der Zeit) überhaupt etwas macht bereits das Fenster. Das muss der Timer aber nach der Zeit erst machen. :idea:


gnomecoder - Di 14.12.10 20:28

Wie wärs mit nem einfachen Sleep vor dem close?
Vllt nicht die eleganteste Lösung, aber sollte doch reichen ;)


jaenicke - Di 14.12.10 20:37

Dann sieht man den Text aber nicht unbedingt, da das Fenster nicht auf Zeichenbefehle reagiert, zudem denkt Windows das Programm sei abgestürzt.

Wenn, dann Delay:
[url]http://www.delphipraxis.net/topic7355_delay+revisited.html[/url]


Gerd Kayser - Di 14.12.10 21:40

user profile icongnomecoder hat folgendes geschrieben Zum zitierten Posting springen:
Wie wärs mit nem einfachen Sleep vor dem close?
Ich würde es so machen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Close;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  Label1.Caption := 'Bis bald.';
  Application.ProcessMessages;
  Sleep(3000);
end;