Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Beratung und Hilfe Array Speichern

  Alt 3. Mai 2013, 09:23
Es kommt immer auf die Interpretation der Daten an.

Beispiel:

Ein Texteditor zeigt für eine Datei folgendes an
Code:
42
Preisfrage: Welche Zahl ist dort in der Datei gespeichert?

Antwort: 3276852 (Integer)

Warum nicht 42?

Die Datei beinhaltet folgende Bytes
Code:
00 34 00 32
Mit einem Texteditor werden diese Bytes interpretiert als Text (UTF-8 ohne BOM) und dadurch als 42 angezeigt.
Mein Programm hat aber den Integer-Wert 3276852 dort gespeichert.
Delphi-Quellcode:
program WriteData;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.SysUtils, Classes;

var
  Stream : TStream;
  Data : Integer;

begin
  try
    Data := 3276852;

    Stream := TFileStream.Create( 'test.dat', fmCreate );
    try
      Stream.WriteData( Data );
    finally
      Stream.Free;
    end;

  except
    on E : Exception do
      Writeln( E.ClassName, ': ', E.Message );
  end;

end.
Entweder die Struktur der Datei ist dem Programm komplett bekannt, oder es müssen halt Strukturinformationen mit in die Datei (so wie bei XML, JSON, etc.). Dann muss das Programm nur noch wissen, um welches Format es sich handelt und kann die restlichen Strukturinformationen dort herauslesen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 3. Mai 2013 um 09:26 Uhr)
  Mit Zitat antworten Zitat