Einzelnen Beitrag anzeigen

Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Record und in File speichern

  Alt 12. Mär 2007, 12:23
Hallo Nicodius,

Zitat von Nicodius:
ok vielen herzlichen dank


problem ist das hier wird ja nur in den zwischenspeicher geschrieben oder?

die datei sollte jederzeit speicher und ladbar sein

lg nico
So lässt sich die Datei doch jederzeit laden und speichern oder?
Du kannst auch mehrere Datensätze mit der Hilfe von arrays mit setLength() anlegen und speichern.

Delphi-Quellcode:
type
Vert_Ent = record
  vtjahr : Integer;
  vtproz : array [0..11] of Integer;
end;

Steuer = record
  st_bez : string[30];
  st_jahr : array [0..11] of Integer;
  st_vert : string[10];
  st_aufk : array [0..11] of longint;
end;

Modell = record
  und_bez : string[30];
  und_st : array [0..31] of Steuer;
end;

Alles= record
// Vert_ast : array [0..30] of array [0..22] of string;
  Vert_ast : array [0..30] of array [0..22] of string[255]; // <-- hier geändert
  vert_datum : array [0..31] of Vert_ent;
  mod_ : array [0..15] of Modell;
end;

//schreiben
procedure TForm1.Button1Click(Sender: TObject);
var
  AlleDaten : Alles;
  stream : TFileStream;
  filename : string;
begin
  filename := ChangeFileExt (Application.ExeName, '.ext');
  stream := TFileStream.Create (filename, fmCreate);
  AlleDaten.mod_[2].und_bez:= 'Haus';//Beispiel
  try
    stream.WriteBuffer(AlleDaten, SizeOf (AlleDaten));
  finally
    stream.Free;
  end;
end;

//lesen
procedure TForm1.Button2Click(Sender: TObject);
var
  AlleDaten : Alles;
  stream : TFileStream;
  filename : string;
begin
  filename := ChangeFileExt(Application.ExeName, '.ext');
  if FileExists(filename) then
  begin
    stream := TFileStream.Create (filename, fmOpenRead);
    try
      stream.ReadBuffer(AlleDaten, SizeOf (AlleDaten));
    finally
      stream.Free;
    end;
    caption:= AlleDaten.mod_[2].und_bez;//Beispiel
  end;
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat