Warten bis datei erstellt wurde?



  • hi

    wie kann ich abfragen wann eine datei erstellt wurde?
    ich möchte wissen wann die datei "C:\programme\corbana.mpg" (120mb) fertig erstellt wurde. kann man das irgendwie mit einer message oder schleife abfragen?



  • Hallo

    am einfachsten mit TTimer, der in seinem OnTimer-Event einfach FileExists(...) ausführt und entsprechend reagiert.

    bis bald
    akari



  • aber genau das ist ja mien problem. 🕶
    die datei ist ja bereits vorhanden, jedoch nicht komplett. windows erstellt ja direkt die dateien und füllt sie dann auf. der ort bzw. die datei ist ja also schon vorhanden. insofern bringt mir FileExists nicht viel.



  • ich war eigentlich der meinung das sowas hier mal besprochen wurde...
    leider geht bei mir die suchfunktion nicht richtig. jedenfalls krieg ich mit nur dem wort "datei" kein ergebniss, also es wurde nichts gefunden. 🙄



  • wie akari schon sagte, mit timer.
    ich würde die größe der datei abfragen, und wenn sich die dateigröße in zwei (oder auch drei) hintereinander erfolgten abfragen nicht geändert hat, dann ist die datei fertig.



  • dateigröße schrieb:

    ..und wenn sich die dateigröße in zwei (oder auch drei) hintereinander erfolgten abfragen nicht geändert hat, dann ist die datei fertig.

    Das ist nicht gut.
    Was ist wenn es eine Datei via emule (nur ein beispiel) geladen wird. Und mitten drin stehen bleibt, weil keiner mehr das File hat? Dann bleibt die größe auch stehen.

    Er sollte schon die Dateigröße vergleichen, mit der erwarteten Größe.



  • DJ BlackEagle hat den nagel auf den kopf getroffen.
    leider kann ich die grösse aber nicht vergleichen da diese mir unbekannt ist. das mit den 120mb war nur als beispiel. ich weis zwar stehts um welchen pfad bzw. dateiname(n) es sich handelt, doch variert die grösse immer... 🙄



  • Gratuliere... dann wirst du wohl irgendwie die INteraktion mit dem erstellenden Programm suchen müssen.

    -junix



  • furzkissen,
    wenn Du Glück hast, hält das andere Programm während der gesamten Zeit ein Zugriffs-Handle auf die Datei. In diesem Fall könntest Du periodisch versuchen, einen ausschließlichen Schreib- und Lese-Zugriff auf die Datei zu erlangen (z.B. mit TFileStream). Erst wenn dies gelingt, könnte man darauf schließen, daß der Schreibvorgang beendet wurde.


Anmelden zum Antworten