![]() |
FindFirst findet nicht alles
Hallo zusammen,
ich habe ein kleines Problem mit findfirst. Ich nutze findfirst um ein Importverzeichnis mit Textdateien abzuarbeiten. Soweit funktioniert auch alles bestens. Bis sich der Verzeichnisinhalt in der Zeit der Abarbeitung der Files verändert. Diese neu hinzu gekommenen Files werden von Findfirst einfach ignoriert. Macht findfirst Anfangs eine Art Momentaufnahme des Verzeichnisses und arbeitet dann diese ab? |
Re: FindFirst findet nicht alles
Wie schaut denn deine FindFiles-Procedure aus ?
|
Re: FindFirst findet nicht alles
Delphi-Quellcode:
mask := IncludeTrailingBackSlash(ImportPath)+'*.*';
if (findfirst(mask,faAnyFile,Search)=0) then repeat FileExt := UpperCase(ExtractFileExt(Search.Name)); {Alle DAT Dateien abfangen} if fileext = '.DAT' then begin {Abfragen ob beim Import alles klar ging} if importdatfile(Search.Name) = 0 then begin ZipMaster1.FSpecArgs.Clear; ZipMaster1.FSpecArgs.Add(IncludeTrailingBackSlash(ImportPath)+Search.Name); ZipMaster1.Add; end; end; until(findNext(Search)<>0); {Zipfile schreiben} FindClose(Search); |
Re: FindFirst findet nicht alles
Es wäre möglich das FindNext gerade die 3.Datei (in irgendeiner Reihenfolge) liefert, die neue Datei aber an 2.ter Stelle eingefügt wird.
Du kannst aber z.B. über ein Shell-Notify-Ereignis auf Änderungen im Importverzeichnis unterrichtet werden. Alternativ solltest Du entweder die importierten Dateien löschen oder z.B. das Archivbit löschen, um die Datei als "Verarbeitung abgeschlossen" zu markieren. Natürlich verarbeitest Du beim nächsten Scan nur die unmarkierten Dateien. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz