AGB  ·  Datenschutz  ·  Impressum  







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

Pause methode bis tastendruck

Ein Thema von bonanza · begonnen am 3. Mai 2006 · letzter Beitrag vom 3. Mai 2006
Antwort Antwort
bonanza

Registriert seit: 13. Sep 2005
134 Beiträge
 
RAD-Studio 2009 Arc
 
#1

Pause methode bis tastendruck

  Alt 3. Mai 2006, 13:33
Hi,

ich wollte eine Pause in mein programm einbringen, die so lange anhalten soll, bis eine bestimmte Taste gedrück wird.

Bei Pascal ging es meines Wissens nach so (dann aber für eine beliebige Taste, was aber auch nicht so schlimme wäre):
Delphi-Quellcode:
repeat
until
keypress;
Gibt es eine Funktion o.ä. die soetwas in delphi bewirkt ?


danke schonmal im voraus
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#2

Re: Pause methode bis tastendruck

  Alt 3. Mai 2006, 13:40
Hallo,

DelayDelay könnte nützlich sein. Ich würde da empfehlen

Delphi-Quellcode:
var Stoppen: Boolean = false;

procedure Wieauchimmer;
begin
  repeat
    pause(500);
  until Stoppen;
end;

procedure TForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
  Stoppen := true;
end;
Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
bonanza

Registriert seit: 13. Sep 2005
134 Beiträge
 
RAD-Studio 2009 Arc
 
#3

Re: Pause methode bis tastendruck

  Alt 3. Mai 2006, 14:09
erstmal danke...

ich hab das jetzt mal folgendermaßen implementiert:

Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
stoppen := true;
end;

procedure pausieren;
begin
  repeat
    sleep(500);
  until Stoppen;
end;

{..}

//im programm rufe ich dann pausieren auf:
pausiere;
Doch das programm friert komplett ein und das über mehrere sekunden, obwohl ich wie bekloppt auf die tastatur einhaue ^^
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Pause methode bis tastendruck

  Alt 3. Mai 2006, 14:14
Delphi-Quellcode:
  
procedure pausieren;
begin
  repeat
    sleep(500);
    application.ProcessMessages;
  until Stoppen;
end;
oder anstelle von sleep delay verwenden.
delay findest Du in der CodeLib.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: Pause methode bis tastendruck

  Alt 3. Mai 2006, 14:18
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
stoppen := true;
end;

procedure pausieren;
begin
  while not stoppen do
  begin
    sleep(1);
    Application.ProcessMessages;
  end;
end;

{..}

//im programm rufe ich dann pausieren auf:
pausiere;
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#6

Re: Pause methode bis tastendruck

  Alt 3. Mai 2006, 14:22
Zitat von Pseudemys Nelsoni:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
stoppen := true;
end;

procedure pausieren;
var
  i: integer;
begin
  while not stoppen do
  begin
    sleep(1);
    Application.ProcessMessages;
  end;
end;

{..}

//im programm rufe ich dann pausieren auf:
pausiere;
Es reicht Application.ProcessMessages zu nutzen, da in ProcessMessages selbst die Zeitscheibe an andere Anwendungen abgegeben wird, sofern keine Nachrichten für die Anwendung da sind.

Delphi-Quellcode:
procedure pausieren;
var
  i: integer;
begin
  Stoppen:=false;
  while not stoppen do
    Application.ProcessMessages;
end;
Edit: Ach ja das Stoppen sollte auch auf false gesetzt werden
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
bonanza

Registriert seit: 13. Sep 2005
134 Beiträge
 
RAD-Studio 2009 Arc
 
#7

Re: Pause methode bis tastendruck

  Alt 3. Mai 2006, 15:02
danke ...

es stockt zwar jetzt nichtmehr, doch wird der danach folgende Teil der Procedur nicht bearbeitet...

z.b.:

Delphi-Quellcode:
showmessage('blubb');
pausieren;
showmessage('Blubb-teil2');
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Pause methode bis tastendruck

  Alt 3. Mai 2006, 15:12
und Du bist Dir sicher, das Du aus dem pausieren wieder herausgekommen bist?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#9

Re: Pause methode bis tastendruck

  Alt 3. Mai 2006, 15:13
Hast du KeyPreview beim Form auch auf true, da sonst das Formular von dem Tastendruck nichts mitbekommt.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  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 06:06 Uhr.
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