AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken .csv File durchsuchen oder andere Datenbank??
Thema durchsuchen
Ansicht
Themen-Optionen

.csv File durchsuchen oder andere Datenbank??

Ein Thema von Osse · begonnen am 26. Mai 2005 · letzter Beitrag vom 2. Jun 2005
 
Osse

Registriert seit: 25. Mär 2005
Ort: Hamburg
74 Beiträge
 
Delphi 5 Enterprise
 
#15

Re: .csv File durchsuchen oder andere Datenbank??

  Alt 31. Mai 2005, 13:49
Nach einigen Nachlesen und Nachdenken (deshalb hat das auch so lange gedauert ) bin ich zu dem Entschluss gekommen B-Bäume zu benutzen. Muss nun erstmal wissen was das ist.

Die Daten die ich spechern muss sind in TCANRcvMsg enthalten.

Delphi-Quellcode:
// Eine CAN-Message, die ueber CAN_Read_Multi() empfangen wurde.
  TCANRcvMsg = record
    msgbuff: TCANMsg; // Message
    hNet: byte; // Netz, aus dem die Msg empfangen wurde
    rcvtime: TCANTimestamp; // Rueckgabe des Empfangszeitpunktes
  end;

// total microseconds = micros + 1000 * millis + 0xffffffff * 1000 * overflows
  TCANTimestamp = record
    millis: Longword; // base-value: milliseconds: 0.. 2^32-1
    millis_overflow: Word; // roll-arounds of millis
    micros: Word; // microssecond: 0..999
  end;

// Eine CAN-Message
  TCANMsg = record
    ID: Longword; // 11/29 Bit-Kennung
    MSGTYPE: Byte; // <> 0, wenn remote request
    LEN: Byte; // Anzahl der gueltigen Daten-Bytes (1..8)
    DATA: array[0..7] of Byte; // Daten-Bytes 0..7
  end;
msgbuff : Wichtige Daetn aus dem Protokoll z.B. ID, Datenlänge und selbsverständlich die Daten
Timestamp : Zeit, die ich vom Microcntroller ausgelesen bekomme und nur zur berechnung brauche. Wenn zweimal das gleiche Telegramm
kommt, soll ein Index hochgezählt werden und die Zeit, welche dazwischen verstrichen ist soll angezeigt werden.

Später will ich dann nach ID sortieren und auch die Möglichkeit haben auch in den Daten nach bestimmen Einträgen zu suchen.

Da häufig die gleiche ID kommt und Teilweise auch Telegramme mit 0 Daten ankommen ist das wohl die efizienteste Methode Daten zu speichern.

Ich versuchs mal mit einem theoretischem Ansatz:

Ich lege den Index mit meiner ID fest (Knotenpunkt)


ID---------------Daten-------------------Timestamp---------------Wiederholungen

3----------------344567-------------------345277----------------------- 2
-----------------345663-------------------222256----------------------- 0
-----------------45634673 ----------------223457----------------------- 3

5----------------345664-------------------345767----------------------- 2
-----------------123444-------------------678876----------------------- 0
-----------------78978666 ----------------789667----------------------- 3

.....

Oberstes Suchkriterium ist die immer ID. Danach folden dann die Daten als "Unterkriterium". Also recht gut als Datenbank aufzubauen, oder??

Tja, da steh ich nun mit meinem Ansatz.
Ist das einigermassen OK so, oder gibt es andere Anregungen??

Wenn ja, dann wäre jetzt der nächste schritt sich über die Datenbank und über das Speichern gedanken zu machen.
Weche DB nehme ich denn da?? mysql, Firebird,...
Gibt es fertige Komponenten in Delphi, die das schreiben von B Bäumen übernehmen??
Problematisch sehe ich nur das schreiben der Daten. Kann man zum schreiben in eine Datenbank eine höhere Priorität wählen als zum lesen???

Fragen über Fragen.

Vielen Dank
  Mit Zitat antworten Zitat
 


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 11:19 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