Announcement

Collapse
No announcement yet.

neues Dateiformat

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • neues Dateiformat

    Hallo,

    ich möchte für mein Programm ein eigenes Dateiformat erstellen. Die Daten in dieser Datei sollen dann solche sein wie zum Beispiel Benutzername, Kennwort,usw. Daher soll diese Datei, wenn sie mit einem anderen Programm (zB Word oder Notepad) codiert angezeigt werden.
    Meine Frage ist nun, wie ich eine solche Datei erstelle und wieder auslese.

    Schonmal 1ooo Dank im Vorraus,

    Andy

    PS: Es wäre total nett, wenn Ihr mir dieses an einem Beispiel erklären könntet.

  • #2
    Hallo,

    in meinem neuen Buch <b>Delphi Win32-Lösungen</b> sind Beispiele für den Einsatz von eigenen Dateiformaten (File of Record) zu finden. Das folgende Beispiel ist eine Unit aus einem im Buch vorgestellten Projekt, das die tägliche Arbeitszeit erfasst und das Gleitzeitkonto berechnet. Die Daten jeden Arbeitstages werden als Pascal-Record in der Datei abgelegt:<pre>
    unit RecFile;

    interface

    type
    GZRec = record
    lDateCode : TDateTime; { Auswertund des Monats / Jahrs }
    sDay : String[6]; { Zeilenbeschriftung für EditGrid }
    sVormonat : String[6]; { Vormonatkontostand }
    sK1 : String[6]; { Kommen 1 }
    sG1 : String[6]; { Gehen 1 }
    sK2 : String[6]; { Kommen 2 }
    sG2 : String[6]; { Gehen 2 }
    sSoll : String[6] { Soll }
    end;

    const
    { max. Arraygröße = 6 Seiten mal 7 Spalten }
    imaxDay = 42;

    var
    { globale Variable enthält Dateinamen der GZ-Datei }
    sGZFile : String[80];
    { Array zur Datenspeicherung }
    GZDays : array[1..imaxDay] of GZRec;

    procedure LoadGZValues; { Daten aus der Datei laden }
    procedure SaveGZValues; { Daten in die Datei schreiben }

    implementation

    procedure LoadGZValues;
    var
    F : File of GZRec;
    iRec : Integer;
    begin
    Assign(F, sGZFile);
    try
    Reset(F);
    for iRec:= 1 to imaxDay do Read(F, GZDays[iRec]);
    finally
    CloseFile(F)
    end
    end;

    procedure SaveGZValues;
    var
    F : File of GZRec;
    iRec : Integer;
    begin
    Assign(F, sGZFile);
    try
    Rewrite(F);
    for iRec:= 1 to imaxDay do Write(F, GZDays[iRec]);
    finally
    CloseFile(F)
    end
    end;

    end.
    </pre>
    Über die beiden Hilfsprozeduren werden alle Daten in die Datei geschrieben bzw. in die Record-Variablen ausgelesen

    Comment

    Working...
    X