Hallo..
Wenn ich das richtig gelesen habe, dann kommt ein Datenträger mit diversen dieser Event-Dateien.
Dann würde ich anders vorgehen..
Einlesen aller Dateinamen in eine Liste.
Dekodieren der Zeitanteile zu TDateTime.
Prüfen, welche Dateien innerhalb, sagen wir mal 5 Sekunden, beisammen sind, ausgehend von einer der Dateien, z.B. die .csv und dann diese 3 Dateien zusammen einlesen/verarbeiten.
Mit FileExists würde man im ungünstigsten Fall 4-5 Versuche je Paket machen, und jedes Mal somit auf dem Datenträger hantieren und jedes mal die Dateinamen formatieren.
Wenn so alles im Speicher stattfindet, ist dies einfach nur zunächst ein sortieren der Liste nach Zeitpunkt und dann die nächsten 2 Dateien prüfen.
Sollte am schnellsten gehen...
Deshalb hatte ich ja auch mal vorgeschlagen, den "Spass" (da ja sowieso mit 'ner Datenbank gearbeitet wird) in der Datenbank "abzufackeln".
Dateiname rein in die Tabelle, Datums-/Zeitanteil aus dem Dateinamen in eine Datums-/Zeitspalte, sortieren und schon hat man alles beieinander.
Und man hat die Informationen nicht nur zur Laufzeit im Arbeitsspeicher, sondern dauerhaft zur Verfügung.