Einzelnen Beitrag anzeigen

Carsten1234

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

Re: Sortierung von Daten in Textdateien

  Alt 31. Aug 2009, 07:43
Hallo zusammen,

da hier inzwischen wieder ein paar Antworten kamen, mal eine Zusammenfassung dieser nebst Antworten meinerseits.

Zitat von p80286:
Wenn ich das richtig verstanden habe, dann trödeln bei Dir immer irgendwelche Datensätze ein, die von jwd kommen.
Jein. Es trödeln keine Datensätze bei mir ein, sondern ich frage in einem Intervall x nach den Datensätzen. Mit anderen Worten: Nicht das Gerät spricht mit mir, sondern ich mit dem Gerät. Stell Dir am besten vor, das Gerät wäre der Server und mein Programm der Client. So lange ich keine Anfragen an das Gerät stelle, ist dieses stumm.
Das Gerät wiederum speichert alle Ereignisse in den genannten CSV-Dateien "ereignisse.csv", "ergeignisse.ba0" usw., was ja nix anders ist als simple Textdateien. Ich sage dem Gerät "Gib mir mal die Datei ereignisse.csv", woraufhin es mir den Inhalt der Datei als Bytestrom liefert (serielle Datenübertragung). Ein Zeitstempel auf meiner Seite ist somit unmöglich.

@himitsu: Deinen Code werde ich mir mal anschauen, allerdings befürchte ich jetzt schon, dass er mich nicht viel weiter bringt.

Meine Idee übers WoEn war:
Jeder Datensatz enthält die gleiche Anzahl Semikolons, so dass ich diese im Bytestrom mitzählen kann. Ist nun ein kompletter Datensatz auf meiner Seite eingetroffen, setze ich, bevor ich die Daten auf HDD zwischenspeichere, ans Ende eines jeden Datensatzes "Indexe".
Diese definieren sich wie folgt:
Dateiindex: Die erste Datei "ereignisse.csv" hat den Index 0, die Datei "ereignisse.ba0" den Index 1 usw.
Datensatzindex: Pro Datensatz setze ich einen Datensatzzähler und erhöhe ihn je Datensatz.
Um das an den Beispieldaten oben zu verdeutlichen:

ereignisse.csv
==============
24.08.09;11:19;...;0;1;
24.10.09;12:26;...;0;2;
24.08.09;13:04;...;0;3;
24.08.09;13:38;...;0;4;

Dateiindex: 0
Datensatzindex: 1..4

ereignisse.ba0
==============
23.08.09;11:35;...;1;5;
23.08.09;11:37;...;1;6;
23.08.09;12:13;...;1;7;
23.08.09;14:27;...;1;8;
24.08.09; 11:17;..;1;9;

Dateiindex: 1
Datensatzindex: 5..9

Jetzt bräuchte ich nur noch einen geschickten Sortieralgorithmus, der absteigend nach Dateiindex und in diesem wiederum aufsteigend nach Datensatzindex sortiert.

Gruß, Carsten
  Mit Zitat antworten Zitat