AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Solange warten bis Bedingung erfüllt ist?

Solange warten bis Bedingung erfüllt ist?

Ein Thema von Lion · begonnen am 28. Okt 2020 · letzter Beitrag vom 30. Okt 2020
Antwort Antwort
Lion

Registriert seit: 5. Mär 2012
19 Beiträge
 
#1

Solange warten bis Bedingung erfüllt ist?

  Alt 28. Okt 2020, 16:02
Delphi-Version: 7
Hallo zusammen,

irgendwie komme ich nicht auf die Idee wie ich in einer Schleife auf die Erfüllung einer Bedingung warten kann? Ich habe also folgendes vor: ich kopiere nacheinander jeweils 3 Dateien in ein Verzeichnis, aber nur mit der Bedingung, dass das Verzeichnis leer ist. Ist das der Fall dann werden 3 Dateien reinkopiert, danach muss ich warten bis sie von jemanden ausgeschnitten werden. Ist das Verzeichnis wieder leere, dann werden die nächsten 3 Dateien reinkopiert usw.

Wie mache ich das am schlausten?
Danke für die Tipps!
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
704 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Solange warten bis Bedingung erfüllt ist?

  Alt 28. Okt 2020, 16:07
Ich würde das mit einem Timer machen. Intervall auf eine sinnvolle Dauer stellen (1 Sekunde? 10 Sekunden? 1 Minute?). Im OnTimer-Event das Verzeichnis checken und ggf. neue Dateien reinkopieren.

Sauberer wäre es ggf., wenn derjenige, der die Dateien aus dem Verzeichnis rausnimmt, dein Programm darüber benachrichtigt. Aber dazu müsste man mehr darüber wissen, was du wie tust.
The angels have the phone box.
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
598 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Solange warten bis Bedingung erfüllt ist?

  Alt 28. Okt 2020, 18:21
Ich werfe mal die Win-API-Funktionen FindFirstChangeNotification und ReadDirectoryChangesW in den Raum.
  Mit Zitat antworten Zitat
Rollo62
Online

Registriert seit: 15. Mär 2007
2.865 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Solange warten bis Bedingung erfüllt ist?

  Alt 28. Okt 2020, 18:44
Habe vor zig Jahren mal mit SHChangeNotifyRegister was gemacht.
Funktionierte hervorragend, kann aber leider nichts zur aktuellen Win10 Version sagen.
Ich gehe mal davon aus das es noch gut funktioniert.
  Mit Zitat antworten Zitat
Lion

Registriert seit: 5. Mär 2012
19 Beiträge
 
#5

AW: Solange warten bis Bedingung erfüllt ist?

  Alt 30. Okt 2020, 14:03
Hallo,
vielen Dank!
Mir hat jetzt die Schleife
Delphi-Quellcode:
repeat
// ...
until z = y;
gepasst. Und gleich eine Frage dazu: kommt ich mit einem Exit; aus dieser Schleife heraus?
  Mit Zitat antworten Zitat
Poelser

Registriert seit: 21. Apr 2008
Ort: Europa
102 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Solange warten bis Bedingung erfüllt ist?

  Alt 30. Okt 2020, 14:12
Nein, Exit verläßt die gesamte Prozedur, in der sich der Code befindet.
Was du suchst, heißt Break.

LG aus dem hohen Norden, Edmund
  Mit Zitat antworten Zitat
Lion

Registriert seit: 5. Mär 2012
19 Beiträge
 
#7

AW: Solange warten bis Bedingung erfüllt ist?

  Alt 30. Okt 2020, 14:52
Ok, super! Exit passt dann sehr gut, denn ich muss ganz raus.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.350 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Solange warten bis Bedingung erfüllt ist?

  Alt 30. Okt 2020, 16:18
Du kannst natürlich auch z und y gleich setzen
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf