![]() |
Record abspeichern-TFileStream??
Servus,
bevor ihr mich alle steinigt ich hab schon im forum danach gesucht und es gibt auch echt viel darüber aber irgendwie funktioniert das net bei mir. hier mal der code:
Delphi-Quellcode:
Wenn ich das jetzt aber speicher ist die datei immer 64 byte groß egal wie gros die bilder sind.
type
tbuddy = record nick, geb, hobby, beruf, ort : string; foto: TJpegImage; gallerie: array[1..10] of TJpegImage; end; var myprofil: TBuddy; procedure tform1.save; var datei:TFileStream; begin datei:=TFileStream.Create(Pchar('test.txt'),fmCreate); Datei.WriteBuffer(myprofil,Sizeof(myprofil)); datei.Free; end; In myprofil steht auch was drin daran ligt es nicht. Wie kann ich es denn richtig speichern und wieder laden?? Schon mal danke im vorraus!! ralf |
Re: Record abspeichern-TFileStream??
Hallo,
kein Wunder. Du speicherst ja nur die Zeiger auf die Datentypen ab. Vergiss Records !!! Dies ist der klassiche Fall für den Einsatz der ![]() |
Re: Record abspeichern-TFileStream??
Ist ja auch klar.
Strings werden nur als Zeiger in der Struktur gespeichert. TJpegImage nur als Zeiger auf die Images nick, geb, hobby, beruf, ort 5 * Zeiger(4 Byte) = 20 Byte foto: TJpegImage: 1 * Zeiger = 4 Byte gallerie: array[1..10] of TJpegImage; 10 * Zeiger = 40 Byte -> 64 Byte. Für Strings könntest Du z.B. Längendefinierte Strings String[100] verwenden. Für TJpegImage ist das einfachste erst eine Längenangabe (4 Byte) und den Inhalt des JpegImage in einen MemoryStream kopierst und den in der Datei speichert. => Arbeite mit TFileStream nötig, um die Daten korrekt zu speichern. |
Re: Record abspeichern-TFileStream??
Danke für die antworten.
also das mit streams scheint mir einfacher als das erste. Aber wie kann ich das denn genau machen. Mit streams hat ich überhaupt keine Erfahrung. Über ein wenig Code würd ich mich riesig freun!! danke ralf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 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