Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Typisierte Datei ändern? (https://www.delphipraxis.net/108502-typisierte-datei-aendern.html)

freak4fun 14. Feb 2008 23:25


Typisierte Datei ändern?
 
Hallo,
ich habe eine typisierte Datei, die auf einem Record aufbaut. Kann ich nun ohne weiteres den Record ändern, oder gibt es da Probleme? Wenn ja, wie kann man diese umgehen? :gruebel:

mkinzler 14. Feb 2008 23:27

Re: Typisierte Datei ändern?
 
Ich würde mit 2 Dateien arbeiten.

freak4fun 14. Feb 2008 23:30

Re: Typisierte Datei ändern?
 
Zitat:

Zitat von mkinzler
Ich würde mit 2 Dateien arbeiten.

Wie meinst du das? Eine neue Datei für den neuen Record anlegen? Kommt eigentlich nicht in Frage. :(

Was hhätte ich als alternative, um den Record speichern zu können, aber bei Änderungen nicht eine neue Datei anlegen zu müssen. :roll:

mkinzler 14. Feb 2008 23:32

Re: Typisierte Datei ändern?
 
Dann bliebe nur die Alternative, alles in den Speicher zu laden.

freak4fun 14. Feb 2008 23:35

Re: Typisierte Datei ändern?
 
Zitat:

Zitat von mkinzler
Dann bliebe nur die Alternative, alles in den Speicher zu laden.

Ich glaube da liegt ein Missverständnis vor. Ich will den Aufbau des Records veränder. Also eine Eigenschaft wegnehmen und zwei andere hinzufügen. Die Datei hat aber den "alten" Aufbau und weiß ja von der Änderung nichts. :(

mkinzler 14. Feb 2008 23:36

Re: Typisierte Datei ändern?
 
DEshalb bleibt dir ja nichts anderes übrig, die datei neu zu schreiben; entweder mit 2 Dateien oder über den Speicher.

freak4fun 14. Feb 2008 23:39

Re: Typisierte Datei ändern?
 
Ok, ich glaube ich kann dir folgen. Ich muss also gucken ob die "alte" Datei den aktuellem Format entspricht und ggf. die Daten konvertieren, indem ich die gesamte Datei nue schreibe. :gruebel: Oh man, so ein Mist. Gibt es eine Möglichkeit dem vorzubeugen? Das Kind ist noch nicht ganz in den Brunnen gefallen. :mrgreen:

grenzgaenger 14. Feb 2008 23:45

Re: Typisierte Datei ändern?
 
also, wenn der typ gleich bleibt, kannst du jederzeit deine daten innerhalb deines typs ändern.

daher wird in aller regel, vorgebeugt und ein paar byte reserve im Typ platziert, welcher dann einfach bei bedarf anders belegt werden kann. somit ist keine reorganisation der db erforderlich, falls mal die eine oder andere information hinzukommen sollte.

cruiser 14. Feb 2008 23:49

Re: Typisierte Datei ändern?
 
Am besten als erstes einen Format-Header zuerst schreiben... dann weiss dein Prog (egal welche Version) wie es das File weiter zu laden hat. Wenn du dann noch je FileType-Version die Lese-Funktion wählst Bleibt das Prog abwärtskompatibel. Wenn deine Daten bis jetzt keinen Header haben würd ich das für die Zukunft nachrüsten. Wenn ein File noch keinen Header hat wird es einfach wie bisher verarbeitet (ausser dem einen Wert, der ignoriert wird)

greetz

freak4fun 14. Feb 2008 23:49

Re: Typisierte Datei ändern?
 
Zitat:

Zitat von grenzgaenger
... daher wird in aller regel, vorgebeugt und ein paar byte reserve im Typ platziert, welcher dann einfach bei bedarf anders belegt werden kann. somit ist keine reorganisation der db erforderlich, falls mal die eine oder andere information hinzukommen sollte.

Ok, wie sähe das aus?
Delphi-Quellcode:
TDS = record
  Zahl1: Integer;
  Text1: String[50];
  Text2: String[3];
end;

Datei: File of TDS;
Zitat:

Zitat von cruiser
Format-Header

Was ist das?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 Uhr.
Seite 1 von 2  1 2      

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