AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Schleife erst wiederholen, wenn Vorgang abgeschlossen ist ??
Thema durchsuchen
Ansicht
Themen-Optionen

Schleife erst wiederholen, wenn Vorgang abgeschlossen ist ??

Ein Thema von Nicolai1234 · begonnen am 9. Jun 2004 · letzter Beitrag vom 9. Jun 2004
Antwort Antwort
Seite 1 von 2  1 2      
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#1

Schleife erst wiederholen, wenn Vorgang abgeschlossen ist ??

  Alt 9. Jun 2004, 17:41
Ich möchte eine Schleife bauen, die alle 100 ms das gleiche tut!
Vom Prinzip her reicht ja ein Timer! Nur leider ist die procedure die dann jedes mal ausgelöst wird so lang, dass ich angst habe, dass der Computer zum berechnen länger als 100ms braucht!
Wie kann ich es so machen, das er eine procedure immer dann wiederholt, wenn er sie "durchgerechnet" hat und min. 100 ms vergangen sind?

Hoffe ihr versteht was ich meine!
Danke im Voraus
Nicolai

PS: Ein besserer Titel fiel mir nicht ein!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: Schleife erst wiederholen, wenn Vorgang abgeschlossen is

  Alt 9. Jun 2004, 17:43
Die Prozedur wird erst wieder aufgerufen, wenn diese abgearbeitet wurde.

Eine Ausnahme könnte sein, wenn Du inerhalb dieser Application.Processmessages aufrufst.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Smokey
Smokey

Registriert seit: 10. Nov 2003
Ort: Puerto de la Cruz
158 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Schleife erst wiederholen, wenn Vorgang abgeschlossen is

  Alt 9. Jun 2004, 17:48
Du könntest auch weiterhin Timer nutzen und diesen im Ontimer Event ausstellen.
Dann nimmst du am anfang und am ende die zeit, rechnest aus wieviel verbraucht wurde und
aktivierst den timer wieder mit der differenz zwischen verbrauchter Zeit und 100ms.
Greif dir ein gutes Stück Fleisch auf deinem Weg nach draussen !!!
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Schleife erst wiederholen, wenn Vorgang abgeschlossen is

  Alt 9. Jun 2004, 17:54
Gibt es denn eine möglichkeit die dauer einer procedure so genau zu bestimmen?
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Schleife erst wiederholen, wenn Vorgang abgeschlossen is

  Alt 9. Jun 2004, 18:05
Schau mal in der OH unter gettickcount.

Grüsse
Woki
  Mit Zitat antworten Zitat
eroe

Registriert seit: 15. Mai 2004
Ort: Brandenburg
31 Beiträge
 
#6

Re: Schleife erst wiederholen, wenn Vorgang abgeschlossen is

  Alt 9. Jun 2004, 18:52
Hmm .. soweit ich dich verstanden habe, wäre eine - sicherlich NICHT elegante aber durchaus wirksame - Lösung die folgende :

Delphi-Quellcode:

for i:=0 to 100 do
  begin
  //Anweisungsblock
  sleep(100);
  end;
"Der ganze Rummel um die Emanzipation hat nichts daran geändert, dass Frauen sich hübsch machen um Männern zu gefallen"
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Schleife erst wiederholen, wenn Vorgang abgeschlossen is

  Alt 9. Jun 2004, 18:53
Aber wenn die procedure 50ms braucht und dein sleep, kommte man auf 150ms und das wäre verschwenderisch!
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#8

Re: Schleife erst wiederholen, wenn Vorgang abgeschlossen is

  Alt 9. Jun 2004, 18:55
mach es so wie smokey vorgeschlagen hat
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Schleife erst wiederholen, wenn Vorgang abgeschlossen is

  Alt 9. Jun 2004, 18:58
Hat sich eh erledigt, nachdem was Sakura geschrieben hat:

Zitat von sakura:
Die Prozedur wird erst wieder aufgerufen, wenn diese abgearbeitet wurde.

Eine Ausnahme könnte sein, wenn Du inerhalb dieser Application.Processmessages aufrufst.

......
  Mit Zitat antworten Zitat
eroe

Registriert seit: 15. Mai 2004
Ort: Brandenburg
31 Beiträge
 
#10

Re: Schleife erst wiederholen, wenn Vorgang abgeschlossen is

  Alt 9. Jun 2004, 18:58
Zitat von Nicolai1605:
Aber wenn die procedure 50ms braucht und dein sleep, kommte man auf 150ms und das wäre verschwenderisch!
Das stimmt wohl, hatte ich überlesen .. Ich dachte, er soll nach dem Anweisungsblock noch 100 ms warten, aber das hat sich ja dann erledigt
"Der ganze Rummel um die Emanzipation hat nichts daran geändert, dass Frauen sich hübsch machen um Männern zu gefallen"
  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 16:23 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