AGB  ·  Datenschutz  ·  Impressum  







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

Stringgrösse in einem Record ändern

Ein Thema von oldmann · begonnen am 24. Sep 2024 · letzter Beitrag vom 28. Sep 2024
Antwort Antwort
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#1

AW: Stringgrösse in einem Record ändern

  Alt 25. Sep 2024, 05:29
Wobei sich auch die Frage stellt, ob es bei dieser Art der Speicherung bleiben soll. Klar, es ist einfach zu verwenden, aber bei der nächsten Anpassung stehst du wieder an der gleichen Stelle.

Alternativen gibt es viele (z.B. JSON). Aber natürlich ist der Aufwand für eine Umstellung größer. Inkompatibel mit dem vorherigen Format ist das neue Format aber in jedem Fall, auch wenn es nur ein neuer Record wird, wie Uwe ausführlich gezeigt hat. Da also ohnehin zwischen den Dateiversionen unterschieden werden muss, könnte man auch ganz etwas anderes verwenden.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (25. Sep 2024 um 05:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.686 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Stringgrösse in einem Record ändern

  Alt 25. Sep 2024, 08:53
Das Problem bei Uwes Vorschlag ist, wie er selbst schon schreibt, dass man beim Lesen einer Datei wissen muss, welcher Record-Typ in die Datei geschrieben wurde. Das kann schnell mal in die Hose gehen.

Wir verwenden deshalb intern ein selbstbeschreibenden File of Record Format, basierend auf dem Code aus "Tomes of Delphi". Darin wird in einem Header u.a. der Name und eine Feldbeschreibung des gespeicherten Records geschrieben. Das hat noch den Vorteil, dass wir dafür einen generischen Viewer bauen konnten.

Zusätzlich haben wir noch eine Prüfsumme und Metadaten für die ganze Datei eingebaut.
Thomas Mueller

Geändert von dummzeuch (25. Sep 2024 um 08:56 Uhr)
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#3

AW: Stringgrösse in einem Record ändern

  Alt 26. Sep 2024, 12:54
Wenn man unbedingt abwärts kompatibel bleiben muss.
Für Energieart nur eine Kürzel speichern und die Übersetzung Kürzel zu Langbezeichnung in einer zusätzlichen Datei.
Den neuen Record vor dem Speichern in den alten Record kopieren und dabei die Langbezeichnung durch das Kürzel ersetzen.
Beim Lesen entsprechend umgekehrt.
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
161 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Stringgrösse in einem Record ändern

  Alt 26. Sep 2024, 16:21
Hallo,
erst einmal Danke für Eure Antworten.
Die meisten waren mir schon beknnt, aber ich dachte vielleicht gibt es eine ganz einfache Lösung.
Es wird mir wohl nichts anderes Übrig bleiben, als die Daten im alten Record auszulesen und in einem neue Record zu speichern.
Also nochmal danke.
Oldmann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#5

AW: Stringgrösse in einem Record ändern

  Alt 26. Sep 2024, 16:58
oder besser gleich in was Anderem speichern, welches sich zukünftig problemloser ändern lässt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
161 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Stringgrösse in einem Record ändern

  Alt 28. Sep 2024, 13:03
Hi himitsu,
Was gibt es da für Möglichkeiten?
Was wäre die beste Möglichkeit?
Eventuel Bespiele ?
Gruss Okdmann
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#7

AW: Stringgrösse in einem Record ändern

  Alt 28. Sep 2024, 13:43
JSON habe ich ja schon genannt. Möglich wäre auch XML, das für Menschen besser lesbar ist.

Grundsätzlich kannst du dann entweder das Speichern und Einlesen z.B. mit superobject manuell machen oder ein Marshalling verwenden, wie hier gezeigt wird:
https://github.com/pult/SuperObject....in-delphi-2010
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:39 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