![]() |
Daten laden - unabhängig von Version
Hi,
ich habe ein Programm geschrieben, was sich in seinem Funktionsumfang immer wieder verändert. Die Daten des Programms werden in einer Datei ausgelagert. Wenn die neue Version meines Programms nun neue Funktionen hat, wird natürlich auch die Auslagerungsdatei größer, in der ja die neuen Daten gespeichert werden müssen. Nun meine Frage: Wenn der Nutzer eine neue Version installiert, aber noch die alten Einstellungen in der alten Datei hat, versucht die neue Version ja auf noch nicht vorhandene Zeilen in der Datei zuzugreifen. Wie kann ich das verhindern, damit nur die Daten ausgelesen werden, die auch in der "alten Datei" auslesbar sind? Gruß Yheeky |
Also per INI und das pro neue Version immer eine Neue Rubrik dazu kommt
Beispiel: Zitat:
|
Alternativ kannst du auch eine Versionskontrolle in die Datei einbauen:
Code:
Version := StrToInt(ErsteZeileEinlesen);
[i]// gemeinsame Zeilen einlesen...[/i] [b]if[/b] Version > 100 [b]then begin[/b] [i]// zusätzliche Zeilen einlesen...[/i] [b]end;[/b] [i]// gemeinsame Zeilen einlesen...[/i] |
jbg, ich würd deinen Vorschlag etwas abändern, damit man auch die Möglichkeit hat, alte Einstellungen durch neue zu ersetzen. Also einfach die Sache rumdrehen:
Code:
Version := StrToInt(ErsteZeileEinlesen);
[i]// gemeinsame Zeilen einlesen...[/i] [b]if[/b] Version > 100 [b]then begin[/b] [i]// zusätzliche Zeilen einlesen...[/i] [b]end;[/b] |
Gute Idee! Danke, das werde ich mal testen.
Gruß Yheeky |
Mein Tipp, nimm Miracle... Nein, im Ernst. Vor kurzem hatten wir einen Thread zum Thema " Nach einem Update ein Programm einmalig laufen lassen ". Etwas in der Art würde ich auch empfehlen. Dann lässt Du einfach nach dem Update ein kleines Programm laufen, welches die Dateien auf den Stand der neuesten Version bringt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 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