![]() |
AW: Nicht eindeutige Dateinamen zueinander zuordnen
Ist doch alles ganz einfach: Wenn die Einträge in der DB nach Datum sortiert sind, hast du doch schon alle beisammen. Die ersten drei gehören zusammen, die nächsten drei gehören zusammen usw. Und das Datum aus dem Filenamen zu ermitteln, dürfte wohl die leichteste Übung sein ...
|
AW: Nicht eindeutige Dateinamen zueinander zuordnen
Theoretisch richtig. Aber wenn eine Datei der Dreiergruppe fehlt oder ausnahmsweise eine zusätzliche Datei hinzukommt, passt das nicht mehr.
Ich würde auch die einzelnen 'SC-Status' Dateien nehmen und jeweils die beiden ältesten Dateien dazu packen. Als Kriterium würde ich noch sicherstellen, das sich die Zeitstempel nur um 1-2 Sekunden unterscheiden. Aber die Lösung wurde ja schon skizziert. |
AW: Nicht eindeutige Dateinamen zueinander zuordnen
Jede Lösung, die sich an der Existenz und Zeit einer der 3 Dateien und oder der Reihenfolge orientiert, geht mglw in die Hose.
Also auch eine Lösung, die die Dateien nach Eingang, also sequentiell analysiert und wegschreibt/weiterverarbeitet. Da es eh in eine DB / Tabelle kommt, würde ich wie bereits vorgeschlagen dort ansetzen. Dazu wird dann das technische Intervall mit einem Sicherheitszuschlag verwendet und die Zusammengehörigkeit der Dateien anhand dessen bestimmt und in einem extra Feld per gemeinsamer ID markiert (Dateigruppe). Im Zweifel können dabei auch 2er, 1er oder Ner Gruppen entstehen, die entweder korrekt sind, weil eine Datei fehlt oder aber falsch, weil grad Schaltsekunde, Sommerzeitumstellung oder was weiß ich war. Alle Daten, besonders die mit mehr oder weniger als 3 Dateien können /sollten geprüft und ggF. korrigiert werden, was ja mit der Zuordnungsspalte möglich ist. |
AW: Nicht eindeutige Dateinamen zueinander zuordnen
Zitat:
Ansonsten... if Datei gefunden... then Finde 2 Dateien die maximal +/- 29 Sekunden vor oder nach dieser Datei erzeugt wurden... Fertig... Ohne Viel bla bla... |
AW: Nicht eindeutige Dateinamen zueinander zuordnen
Zitat:
Hmm, um das jetzt innerhalb der Datenbank zu lösen muss ich eine Menge umschreiben, aber ich schau mal, ob das eine befriedigende Lösung gibt. |
AW: Nicht eindeutige Dateinamen zueinander zuordnen
.. da Du die Datensätze täglich bekommst/abholst sollte das mit dem Schaltjahr, Monatsende etc.
nicht eine so große Rolle spielen. Grüße Klaus |
AW: Nicht eindeutige Dateinamen zueinander zuordnen
Also bei dem ca. 30 Sekundenintervall sehe ich in der Umwandlung der Datums- und Zeitangaben aus dem Dateinamen in einen TDateTime die sicherste Möglichkeit der Zuordnung von drei Dateien.
Schaltjahr... ist dann egal, es müssen immer in einem Zeitintervall von ca. 2 Sekunden drei Dateien zu finden sein (die über den Dateinamen bzw. die Dateiendung noch eindeutig klassifiziert werden können), ansonsten stimmt (ausgehend von Deinen Vorgaben) irgendetwas nicht. Du könntest Datum und Uhrzeit auch in die Form YYYYMMDDHHMMSS bringen, dann kannst Du auch über Zeichenfolgen sortieren und bekommst die zusammengehörenden Dateien hintereinander, Plausibilität wie oben. Ausgehend davon das 1 = 1 Tag ist, ist eine Sekunde (ca.) 1,1574074074074074074074074074074e-5 (= 1 / 24 / 60 / 60) Drei Dateien sind also in einem Zeitfenster von 2 * 1,1574074074074074074074074074074e-5 zu suchen und zwei Dateisätze liegen ca. 30 * 1,1574074074074074074074074074074e-5 auseinander. Derartige Berechnungen gehen mit TDateTime ganz einfach, das ist nur ein bisserl Mathematik mit ein Größe-/Kleinervergleichen. Dies erscheint mir deutlich einfacher, als irgendwie über Zeichenfolgenvergleiche in den Dateinamen zu einer Zuordnung zu kommen. |
AW: Nicht eindeutige Dateinamen zueinander zuordnen
Zitat:
|
AW: Nicht eindeutige Dateinamen zueinander zuordnen
Zitat:
Wie wäre es mit SecondsBetween(A,B) < 30 |
AW: Nicht eindeutige Dateinamen zueinander zuordnen
Zitat:
PS: Da die Erzeugung der Dateien nicht eindeutig ist, kann eine nachträgliche Zuordnung per se nicht eindeutig sein. Ich gehe davon aus, das Du genau das meinst... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 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