Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Aktion nach einer bestimmter Zeit durchführen (https://www.delphipraxis.net/100824-aktion-nach-einer-bestimmter-zeit-durchfuehren.html)

taktaky 4. Okt 2007 12:03


Aktion nach einer bestimmter Zeit durchführen
 
Hallo,

mit einem Klick auf ein Button wird den ganzen Bildschirm kopiert
Ich möchte aber, dass mein Form nicht mitkopiert werden, deswegen habe ich folgendes gemacht :

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Hide;// Form1 verstecken
// dann kommt der Code um den Bildschirm zu kopieren
...

Form1.Show; // Form1 wieder sichtbar machen
end;

end.
Trotzdem wird mansch mal Form1 erwischt :mrgreen:

Also ich möchte gerne Form1 ein paar Sekunden (und nicht Bruchsekunde) ausblenden

Oder gibt es eine andere Idee?

(Ich möchte zuerst nicht einen Timer verwenden :mrgreen:)

Matze 4. Okt 2007 12:04

Re: Aktion nach einer bestimmter Zeit durchführen
 
Hilft DelayDelay denn nicht?

brinkee 4. Okt 2007 12:14

Re: Aktion nach einer bestimmter Zeit durchführen
 
Lass ihn eine Sekunde warten... ;) Oder wie auch immer, dann sollte Dein Form weg sein...

Delphi-Quellcode:
Sleep(1000);
LG, Markus

Matze 4. Okt 2007 12:17

Re: Aktion nach einer bestimmter Zeit durchführen
 
Da bei Sleep() das komplette Programm einfriert, würde ich darauf tippen, dass es damit auch nicht zuverlässig funktioniert.

brinkee 4. Okt 2007 12:23

Re: Aktion nach einer bestimmter Zeit durchführen
 
Hmm, da könntest Du natürlich richtig liegen... Jedoch wäre es einen Versuch wert ;)

LG, Markus

taktaky 4. Okt 2007 12:24

Re: Aktion nach einer bestimmter Zeit durchführen
 
wie kann ich den Procedure delay über mein Button aufrufen?
Delphi-Quellcode:
{Uses WINPROCS}

procedure TForm1.Delay(ms: Longint); {ms = milliseconds}
var
  TimeOut: Longint;
begin
  TimeOut:= GetTickCount + ms;
  While GetTickCount < TimeOut do
  begin
    {... do something or do nothing}
  end;
end;

taktaky 4. Okt 2007 12:28

Re: Aktion nach einer bestimmter Zeit durchführen
 
Zitat:

Zitat von brinkee
Lass ihn eine Sekunde warten... ;) Oder wie auch immer, dann sollte Dein Form weg sein...

Delphi-Quellcode:
Sleep(1000);
LG, Markus

Was sleep() mach, das Form frieren. Und das hat nicht mit dem Problem zu tun oder?

Kann man nicht das Form für eine bestimmte Zeit ausblenden?

shmia 4. Okt 2007 12:28

Re: Aktion nach einer bestimmter Zeit durchführen
 
Zitat:

Zitat von taktaky
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Hide;// Form1 verstecken

Schon wieder dieser ganz böse Fehler!
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form1.Hide;// Falsch !!!
  Hide;  // Richtig
  Self.Hide; // Auch richtig

brinkee 4. Okt 2007 12:33

Re: Aktion nach einer bestimmter Zeit durchführen
 
Na, probier es aus. Trial-and-Error ist ne feine Sache für Anfänger. Dein Programm kommt ja offensichtlich nicht nach, das Form verschwinden zu lassen, bevor Du einen Screenshot machst. Ob Sleep() funktioniert oder Delay() weiß ich nicht - versuch es. Jedenfalls:

Delphi-Quellcode:

procedure TForm1.Delay(ms: Longint); {ms = milliseconds}
var
  TimeOut: Longint;
begin
  TimeOut:= GetTickCount + ms;
  While GetTickCount < TimeOut do
  begin
    {... do something or do nothing}
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  Self.Hide;
  Delay(1000); //oder so...
  //Was auch immer...
  Self.Show;
end;
LG, Markus

taktaky 4. Okt 2007 12:34

Re: Aktion nach einer bestimmter Zeit durchführen
 
Zitat:

Zitat von shmia
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form1.Hide;// Falsch !!!
  Hide;  // Richtig
  Self.Hide; // Auch richtig

Aber es funktioniert bei mir mit Form1.Hide; !!!

Ich möchte das Form (das Programm) nicht ausblenden sondern für einer bestimmten Zeit ausblenden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:30 Uhr.
Seite 1 von 3  1 23      

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