AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Sortierung von Daten in Textdateien

Ein Thema von Carsten1234 · begonnen am 28. Aug 2009 · letzter Beitrag vom 1. Sep 2009
 
Carsten1234

Registriert seit: 9. Apr 2008
Ort: Vechelde
178 Beiträge
 
Delphi 8 Professional
 
#1

Sortierung von Daten in Textdateien

  Alt 28. Aug 2009, 09:48
Hallo zusammen,

aus einem Gerät sollen mehrere Textdateien aus einem Gerät ausgelesen und in einer Tabelle dargestellt werden. Diese Dateien heissen "ereignisse.csv", "ereignisse.ba0".."ereignisse.ba9"; in jeder dieser Textdateien befinden sich max. 500 Zeilen ("Datensätze").
Zuerst werden vom Gerät anfallenden Ereignisse in die Datei "ereignisse.csv" geschrieben und wenn diese Datei ihre 500 Datensätze erreicht hat, wird sie umbenannt in "ereignisse.ba0". Im Anschluss daran wird eine neue Datei "ereignisse.csv" im Gerät erzeugt. Existiert bereits eine Datei "ereignisse.ba0", so wird zunaächst diese Datei in "ereignisse.ba1" umbenannt, dann die "ereignisse.csv" in "ereignisse.ba0".

Der Inhalt diese Dateien ist (Bsp.):

ereignisse.ba0
==============
23.08.09;11:35;
23.08.09;11:37;
23.08.09;12:13;
23.08.09;14:27;
(...)
24.08.09; 11:17;

ereignisse.csv
==============
24.08.09;11:19;
24.10.09;12:26;Datum/Uhrzeit verstellt <=== 24.10.09 KEIN Tippfehler!!!
24.08.09;13:04;Datum/Uhrzeit verstellt
24.08.09;13:38;


Angezeigt werden an der Oberfläche sollen die Ereignisse in absteigender Reihenfolge, also das jüngste Ereignis ganz oben. Bislang war das auch kein Problem, denn ich las die ereignisse-Dateien einfach ein und sortierte absteigend nach Datum/Uhrzeit.
Nun jedoch viel auf (weil man im Gerät auch Datum/Uhrzeit von meinem Programm aus verstellen kann), dass die Sortierung nach Datum/Uhrzeit nur noch bedingt richtig ist, denn - und jetzt komme ich zum 24.10.09 da oben - bei der Sortierung nach Datum/Uhrzeit bleibt der Eintrag vom 24.10.09 so lange oben in meiner Liste stehen, bis das Gerät den 24.10.09 wieder erreicht bzw. überschritten hat. Lt. Ereignisliste dort oben hatte der Anwender zunächst das Datum vorgestellt auf den 24.10.09 und im nächsten Schritt wieder zurück gestellt auf den 24.08.09.

Kurzum: Man möchte die Anzeige nun so, wie sie in den Ereignissdateien wirklich stehen mit dem jüngsten Ereignis ganz oben. Ich darf den Mist nun ausbaden und überlege wie!?
Das kleine Schmankerl dabei: Die Daten (Ereignis-Dateien) kommen nacheinander und byteweise in max. 4k-Blöcken über die serielle Schnittstelle aus dem Gerät.
Bisher hatte ich es so gemacht, dass ich den Datenstrom aus dem gerät erstmal direkt in eine TMP-Datei auf HDD zwischenspeicherte, um nach der Übertragung die TMP-Datei einzulesen. Dies hatte nicht nur den schicken Vorteil, dass in der TMP-Datei die Daten bzw. Datensätze wieder zeilenweise so wie im Gerät vorlagen, sondern auch die Reihenfolge in der Datei erstmal völlig unerheblich war, weil ich ja die Sortierkriterien Datum&Uhrzeit hatte und danach sortieren konnte.

Frage: Hat jemand eine Idee, wie ich die neu gewünschte Sortierreihenfolge am besten hinbekommen?

Dank vorab und Gruß, Carsten
  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 06:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz