AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigenes Dateiformat

Ein Thema von Coder · begonnen am 23. Okt 2010 · letzter Beitrag vom 24. Okt 2010
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
203 Beiträge
 
Delphi 3 Professional
 
#1

Eigenes Dateiformat

  Alt 23. Okt 2010, 18:13
Delphi-Version: 5
Hallo,


und zwar möchte ich mein von mir selbst entwickeltes Dateiformat
(jaaa, lobt mich ! ) wieder auslesen.

Ich hab nämlich nicht bedacht, wie man da vorgehen könnte.
Dämlicherweise hab ich schon einige tausend Einträge derart gespeichert.

Und zwar handelt es sich dabei um etwa folgende Struktur:

Code:
<Name>
Karl Heinz
<Adresse>
 Im weiten Feld 23
 Zimmer 3
 79856 Fritzlar
<Telefon>
07985/ 865656
<Geb.datum>
14.07.1978
<Name>
also ich brauche eigentlich kein richtiges XML, da ich keine direkten Childs habe (so, wie ich das seh), dacht ich... zudem wollte ich Speicherplatz sparen.
Und da das alles nur so hintereinander eingelesen werden muß...
Einzig ist natürlich nur, daß ich einige Teile der Datensätze hab, die über mehrere Zeilen gehen können - so wie die Adresse.
und da ist der Knackpunkt. ..
wie weit les ich ein, bis ich auf den nächsten Tag stoße?
Oder wie handelt man eine solche [schon vorhandene Struktur ...eeeek, s.o.]
und liest die am besten wieder aus?
ICQ: 204141443
Delphi 3 Professional, Intel 2x 2,4Ghz, 3 GB-Graka, Sound-onBrd, --
außerdem D2S, D3Pro, D4S, D5S, D6S, D7S + Indy, Lazarus, VB5Std, VC++5Pro, Tasm4+5 - was braucht man mehr?
-
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Eigenes Dateiformat

  Alt 23. Okt 2010, 18:24
Mach es entweder richtig mit XML oder nimm typisierte Dateien, wobei ich XML-Dateien vor ziehen würde.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Eigenes Dateiformat

  Alt 23. Okt 2010, 18:27
Also entweder ein wildes Konstrukt bauen, was den ganzen Sermon wieder auseinanderfudelt

Oder die Daten in einem Record speichern und den Record in die Datei schreiben.
Das Auslesen geht dann so einfach wie das Schreiben und ist mit ein paar Zeilen Code erledigt.

Du hast die Wahl
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von vergessen
vergessen

Registriert seit: 29. Jun 2010
85 Beiträge
 
Delphi 5 Professional
 
#4

AW: Eigenes Dateiformat

  Alt 23. Okt 2010, 20:36
Brenn' Deine selbstvermurxte "Datenbank" sofort auf eine CD/DVD, bevor Du noch (viel) mehr Schaden in der "Datenbank" anrichtest!
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Eigenes Dateiformat

  Alt 23. Okt 2010, 20:41
Selbst wenn er zukünftig ein anderes Datenformat verwendet, muss er ja die Daten wieder Einlesen um die zu konvertieren. Zumindest wenn es sich um einige tausend Einträge handelt, wie er geschrieben hat.

Ganz so schlimm ist das Einlesen aber nicht, einfach bei Auftreten eines <Tag> entsprechend reagieren. Also neuen Datensatz schalten bei <Name> und Datenfeld bei den anderen Tags.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Eigenes Dateiformat

  Alt 23. Okt 2010, 20:42
Was für eine Datenbank? Das ist strukturierter Datenmüll.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#7

AW: Eigenes Dateiformat

  Alt 23. Okt 2010, 20:48
Man nehme Perl oder eine andere beliebige Skriptsprache und konvertiere in ein Format welches mit Delphi leichter zu verarbeiten ist

Alternativ kann man auch einen mit flex selbstgeschriebenen Scanner benutzen.

Ach ja, als Antwort auf Luckies Hinweis XML zu benutzen, möchte ich ein rotzfreches: "Benutz SQLite" einwerfen
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Eigenes Dateiformat

  Alt 23. Okt 2010, 20:59
Leutchens? Für sowas ist Automatentheorie gut
Man nehme einen Bei Google suchendeterministischen endlichen Automaten (DEA) und schon geht das ganze ganz einfach.

In etwa so:
Delphi-Quellcode:
type
  TReader = class
  private
    IsTag: Boolean;
    Values: TDictionary<string, string>;
    Current, Tag: string;
  public
    procedure Feed(c: Char);
    procedure Push;
  end;

procedure TReader.Push;
begin
  if IsTag then begin
    Tag := Current;
    Current := '';
  end else begin
    Values[Tag] := Current;
    Current := '';
  end;
end;

procedure TReader.Feed(c: Char);
begin
  if c = '<then begin
    Push;
    IsTag := true;
  end else if c = '>then begin
    Push;
    IsTag := false;
  end else Current := Current + c;
end;

...

for i := 1 to Length(dateialsstring) do
  Reader.feed(dateialsstring[i]);
Keine Garantie auf Richtigkeit, nur schnell zusammengetippt.

Geändert von implementation (23. Okt 2010 um 21:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Eigenes Dateiformat

  Alt 23. Okt 2010, 21:02
Man beachte die Delphi Version: D3 Prof.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Eigenes Dateiformat

  Alt 23. Okt 2010, 21:04
Man beachte die Delphi Version: D3 Prof.
Demnach geht dann halt kein generisches Dictionary. Aber bei dem Beispiel ging es eher um das Prinzip des Automaten.

[ot]Mit Generics in Delphi habe ich sowieso noch nie gearbeitet. Bin zum FPC und dann zu C# gewechselt, bevor die kamen. Und beim FPC ham die 'ne andere Syntax. [/ot]

Geändert von implementation (23. Okt 2010 um 21:07 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 08:37 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