AGB  ·  Datenschutz  ·  Impressum  







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

Pause wie beim Sleep-Befehl

Ein Thema von Delphi-Narr · begonnen am 29. Aug 2009 · letzter Beitrag vom 29. Aug 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#1

Pause wie beim Sleep-Befehl

  Alt 29. Aug 2009, 13:03
Hi, ich hab jetzt in der Schule Delphi und bin eigentlich recht zufrieden mit meinem Programm. Mein Problem:

Ich habe eine Art Spiel programmiert und es werden erst ein paar Variablen zufällig gesetzt und dann sollen je nach Wert bestimmte Texte und Bilder erscheinen - Klappt auch prima.

Jetzt hab ich da ein Wort stehen, dahinter eine Variable auf einem Label und in der Mitte ein Bild, das sich verändert hat (Altes wurde versteckt, neues an gleicher Position gezeigt).

Danach verschwindet das neue Bild und das alte kommt zurück - soll auch so sein. Aber da ich ja eine gewisse Zeit brauche, um das Bild zu sehen und den Text zu lesen möchte ich ZWISCHEN Erscheinen und Verschwinden eine Pause von 5 Sekunden einfügen.

Habe mir gedacht, da reicht ja der Sleep(5000) Befehl.
Es dauert auch 5 Sekunden, dann wird das alte Bild wieder angezeigt, doch alle Label, die verändert wurden, und das neue Bild sind nicht da. Da wo sie sein sollten ist nur der Hintergrund. Nach 5 Sekunden kommen dann die Werte wieder, die schon 5 Sekunden vorher hätten angezeigt werden sollen und das alte Bild kehrt an seinen Platz zurück.

Was kann ich tun?!?

LG
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

Re: Pause wie beim Sleep-Befehl

  Alt 29. Aug 2009, 13:07
Klingt so als könnte delaydelay (statt sleep) dir helfen.

MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Pause wie beim Sleep-Befehl

  Alt 29. Aug 2009, 13:24
Danke schonmal.
Ich bekomme jedoch die Meldung bei

delay(5000) | Ist das so richtig?!? Ich hab mir mein Wissen hauptsächlich durch INet angereichert...


[Fehler] Unit4.pas(89): Undefinierter Bezeichner: 'delay'

Scheint wohl nicht so ganz zu stimmen...

LG
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Pause wie beim Sleep-Befehl

  Alt 29. Aug 2009, 13:30
Hallo,

du brauchst natürlich auch noch den Code für Delay.
Delay ist keine Delphi-Board-eigene Funktion.

Hier mal der Link zu der Delay-Procedure link
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Pause wie beim Sleep-Befehl

  Alt 29. Aug 2009, 13:36
Hast du die procedure in dein Programm übernommen?

Delphi-Quellcode:
implementation

{$R *.dfm}
procedure delay(msec:longint);
var
  start,stop:longint;
begin
...

Gruß

Wolfgang
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Pause wie beim Sleep-Befehl

  Alt 29. Aug 2009, 13:45
Hm, das versteh ich erlich gesagt nicht so ganz...
Warum klappt das mit dem Sleep denn nicht?
Die darf ja ruhig einfrieren, es soll ja 5 Sekunden lang nichts passieren, man soll nichts klicken können, einfach eine Art Standbild.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#7

Re: Pause wie beim Sleep-Befehl

  Alt 29. Aug 2009, 13:47
dann mach einmal vorher und einmal nachher ein application.processmessages()
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Pause wie beim Sleep-Befehl

  Alt 29. Aug 2009, 13:54
heute meinen netten tag habe *gg*

Delphi-Quellcode:
procedure Delay(msec: integer);
var start, stop: LongInt;
begin
  start := GetTickCount;
  repeat
    stop := GetTickCount;
    Application.ProcessMessages;
  until (stop-start)>=msec;
end;
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Pause wie beim Sleep-Befehl

  Alt 29. Aug 2009, 14:00
Bei mir funktioniert das so:


Delphi-Quellcode:
var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure Delay(Milliseconds: Integer);
var
  Tick: DWord;
  Event: THandle;
begin
  Event := CreateEvent(nil, False, False, nil);
  try
    Tick := GetTickCount + DWord(Milliseconds);
    while (Milliseconds > 0) and
          (MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
    begin
      Application.ProcessMessages;
      if Application.Terminated then Exit;
      Milliseconds := Tick - GetTickcount;
    end;
  finally
    CloseHandle(Event);
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage('Bitte warten ...');
  delay(5000);
  showmessage('Das Waren ca. 5 secs');
end;

end.
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Pause wie beim Sleep-Befehl

  Alt 29. Aug 2009, 14:08
Wolfgang? meins iss kuerzer
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:34 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