![]() |
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: |
Re: Typisierte Datei ändern?
Ich würde mit 2 Dateien arbeiten.
|
Re: Typisierte Datei ändern?
Zitat:
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: |
Re: Typisierte Datei ändern?
Dann bliebe nur die Alternative, alles in den Speicher zu laden.
|
Re: Typisierte Datei ändern?
Zitat:
|
Re: Typisierte Datei ändern?
DEshalb bleibt dir ja nichts anderes übrig, die datei neu zu schreiben; entweder mit 2 Dateien oder über den Speicher.
|
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:
|
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. |
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 |
Re: Typisierte Datei ändern?
Zitat:
Delphi-Quellcode:
TDS = record
Zahl1: Integer; Text1: String[50]; Text2: String[3]; end; Datei: File of TDS; Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 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