Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi record mit einem Bitmap in Datei speichern (https://www.delphipraxis.net/101376-record-mit-einem-bitmap-datei-speichern.html)

Jackie1983 12. Okt 2007 00:07


record mit einem Bitmap in Datei speichern
 
hi zusammen,

habe ein Record das wie folgt aufgebaut ist.
Delphi-Quellcode:
  TDevice = record
    fID : integer;                
    fScannDate : TDateTime;        
    fData : record
      fBitmap : TBitmap;           //Bitamp zum zeichnen
    end;
  end;
  pDevice = ^TDevice;
Das speichern
Delphi-Quellcode:
var
  i : integer;
  device : pDevice;
  file_device_info : File of TDevice;
begin
  AssignFile(file_device_info,'test.dat');
  Rewrite(file_device_info);
  for i:=0 to DeviceManager.list.Count-1 do begin
    device_info := pDevice(DeviceManager.list.Objects[i]);
    Write(file_device_info,device_info^);
  end;
  CloseFile(file_device_info);
das laden
Delphi-Quellcode:
var
  device_info : pDevice;
  file_device_info : File of TDevice;
begin
  AssignFile(file_device_info,'test.dat');
  Reset(file_device_info);
  Seek(file_device_info,0);
  while not eof(file_device_info) do
  begin
    device_info := DeviceManager.CreateNewDevice;
    device_info.fData.fBitmap := TBitmap.Create;
    Read(file_device_info,device_info^);
  end;
  CloseFile(file_device_info);
end;
nur leider funktioniert das nicht wenn ich nach dem laden auf das Bitmap zugreifen möchte.
Mir ist klar das ein Bitmap nur der Zeiger ist. Aber ich dachte wenn ich es mit write in eine datei schreibe das nicht der zeiger sondern die daten gespeichert werden.

Wie kann ich das lösen das das Bild in die Datei gespeichert wird? Mit einem Stream?

Jackie1983 12. Okt 2007 00:11

Re: record mit einem Bitmap in Datei speichern
 
habe da schon was über google gefunden :wall:
http://www.delphipraxis.net/internal...t.php?p=781592

die frage habe ich schon mal gefragt :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz