Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei mit eigenem Format speichern - Arrays? Wie? (https://www.delphipraxis.net/109407-datei-mit-eigenem-format-speichern-arrays-wie.html)

Yheeky 29. Feb 2008 18:39


Datei mit eigenem Format speichern - Arrays? Wie?
 
Hi,

ich möchte eine Datei aus meinem Programm heraus speichern. Der Aufbau sieht in Etwa wie folgt aus:

Delphi-Quellcode:
type
 TPerson = record
   Vorname : String;
   Nachname : String;
   Geschwister : TGeschwister;
 end;

type
 TGeschwister = record
   Vorname : String;
   Nachname : String;
   Alter : String;
 end;
Nun möchte ich eine Datei erstellen, die unendlich viele dieser Datensätze erhalten soll. Wie kann ich das machen? Es kann ja nämlich sein, dass eine Person mehrere Geschwister hat. Ein Array würde hier passen, aber da muss ich ja eine Größe angeben, richtig?

Wäre super, wenn ihr mir helfen könntet.

Danke schonmal!

DeddyH 29. Feb 2008 18:43

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Ich bin mir nicht im Klaren, wie Du das abspeichern willst. Was soll denn der Unterschied sein zwischen TPerson und TGeschwister? Wenn es 3 Geschwister sind, hat ja jeder von denen 2 Geschwister, ist aber selbst eine Person.

Yheeky 29. Feb 2008 18:49

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Gehe mal davon aus, dass die Geschwister selbst nicht als Person gespeichert werden ;-)

DeddyH 29. Feb 2008 18:52

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Gibt es einen bestimmten Grund, wieso Du nicht besser eine Datenbank verwendest? Ansonsten fällt mir bei verschachtelten Strukturen nur XML ein.

s-off 29. Feb 2008 18:52

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Die Eigenschaft 'Geschwister' im Record 'TPerson' sollte wohl eher ein dynamisches 'Array of TGeschwister' sein.
Dort fügst Du dann neue Geschister ein, in dem Du die Länge des Arrays um eins ehöhst, und das neue Element am Ende einfügst.

Das Ganze würde ich dann in einer XML-Struktur speichern.

Yheeky 29. Feb 2008 19:16

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Mhmm, geht das nicht noch anders, als als XML Datei? Muss doch auch "sauber" mit Delphi gehen?!

DeddyH 29. Feb 2008 19:18

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Du könntest Dir ein eigenes Format definieren, das aber wahrscheinlich auf etwas Ähnliches wie XML (das ist auch "Delphi") hinausläuft.

Larsi 29. Feb 2008 19:22

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
[OT] Was hast du denn für ne Festplatte dass du unendlich viele Daten absoeichern kannst^^??? [OT]

Yheeky 29. Feb 2008 19:24

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Die Sache ist: Ich würde es ungern zulassen, dass man die Daten von außerhalb des Programmes ändern kann. Deswegen hätte ich gerne eine eigene Struktur.
Hat da vielleicht jemand ein Beispiel oder eine Idee?

DeddyH 29. Feb 2008 19:26

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Ja, nimm eine "anständige" Datenbank.

Apollonius 29. Feb 2008 19:30

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Bitte was? Wie kann man durch eine eigene Struktur verhindern, dass die Daten verändert werden?

Yheeky 29. Feb 2008 19:47

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Verhindern kann man es natürlich nicht, aber Laien kann man es somit unterbinden...
Welche "anständige" Datenbank kannst du denn empfehlen? Hast du vielleicht Links oder ein Beispiel-Tutorial wie man damit arbeitet?

Namenloser 29. Feb 2008 20:01

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Wenn du es vor Laien schützen willst, speicher es als XML und lass hinterher eine XOR-verschlüsselung drüberlaufen. Das ist zwar unsicher, aber für den Durchschnittsbenutzer dürfte es wohl reichen, wenn man die Daten nicht mehr im Klartext sehen kann. Wer es knacken will, kann's eh.

DeddyH 29. Feb 2008 20:03

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Mit "anständig" meinte ich eigentlich jede DB, die außerhalb des Dunstkreises von Paradox, Access und Konsorten liegt. Als kostenlose DB kann ich Firebird empfehlen, Tutorials dazu gibt es z.B. hier.

bluesbear 29. Feb 2008 20:06

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Ich glaube, Du brauchst auch noch eine "anständige" Datenstruktur:
Delphi-Quellcode:
type
TPerson = record
  PersonId : Integer;
  Vorname : String;
  Nachname : String;
  IstGeschwisterVon : Integer; // PersonId
end;
Nur sone Idee...

Yheeky 29. Feb 2008 20:13

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
@DeddyH: Super, danke! Schaue ich mir gleich mal an! :-D

@bluesbear: Die Struktur, die ich hier gepostet habe, war nur eine, um die in sich verweisende Struktur klar zu machen. Hätte ich eigentliche Struktur gepostet, hätte vermutlich niemand geantwortet, weil sie zu umfangreich/kompliziert ist ;-)

bluesbear 29. Feb 2008 20:18

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
Zitat:

Zitat von Yheeky
@bluesbear: Die Struktur, die ich hier gepostet habe, war nur eine, um die in sich verweisende Struktur klar zu machen. Hätte ich eigentliche Struktur gepostet, hätte vermutlich niemand geantwortet, weil sie zu umfangreich/kompliziert ist ;-)

Na dann brauch ich mich nicht wundern, warum ich die Frage nicht verstanden habe :mrgreen: Danke für den Hinweis.

Yheeky 29. Feb 2008 20:22

Re: Datei mit eigenem Format speichern - Arrays? Wie?
 
War etwas schnell dahin geschrieben, ja, muss ich zugeben :zwinker:
Werde mich jetzt mal in die Datenbank-Geschichte einlesen und vielleicht nochmal über die Struktur drüber schauen :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:30 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