You're here: Snippet Directory » Delphi (11)
Language:

Werte als Record in eine Datei speichern und laden

Language: Deutsch
Programming Language: Delphi
Published by: pumi
Last Update: 5/16/2006
Views: 945


Description

Hier mal ein kleines Beispiel anhand einer Person, wie man ein Record in eine Datei speichert und die Werte dann wieder aus der Datei liest.

Das Beispiel ist aus Übersichtsgründen auf zwei Eigenschaften der Person begrenzt.

Code

1 ... 2 3 // Record vom Typ TPerson definieren 4 5 type TPerson = record 6 7 Name: string[30]; 8 9 Vorname: string[30]; 10 11 end; 12 13 ... 14 15 16 17 //globale variable Person vom Typ TPerson definieren 18 19 var Person: TPerson; 20 21 22 23 implementation 24 25 26 27 //Hilfsfunktion zum speichern des Records 28 29 procedure SpeicherRecord(const fname: string; person: TPerson); 30 31 begin 32 33 with TFileStream.Create(fname, fmCreate) do begin 34 35 try WriteBuffer(person, sizeof(person)); finally free; end; 36 37 end; 38 39 end; 40 41 42 43 //Hilfsfunktion zum lesen des Records 44 45 function LeseRecord(const fname: string): TPerson; 46 47 begin 48 49 case Fileexists(fname) of False: Exit; end; 50 51 with TFileStream.Create(fname, fmOpenRead) do begin 52 53 try ReadBuffer(result, sizeof(result)); finally free; end; 54 55 end; 56 57 end; 58 59 60 61 //Ablauf speichern 62 63 procedure TForm1.btnspeichereClick(Sender: TObject); 64 65 begin 66 67 //Record füllen 68 69 with Person do begin 70 71 Name := edtName.Text; 72 73 Vorname := edtVorname.Text; 74 75 end; 76 77 //Record in d:\test.dat speichern 78 79 SpeicherRecord('d:\test.dat', Person); 80 81 end; 82 83 84 85 //Ablauf laden 86 87 procedure TForm1.btnladeClick(Sender: TObject); 88 89 begin 90 91 //Record füllen (aus Datei d:\test.dat lesen) 92 93 Person:=LeseRecord('d:\test.dat'); 94 95 //Daten aus Record an Edit-Felder zuweisen 96 97 with Person do begin 98 99 edtName.Text := Name; 100 101 edtVorname.Text := Vorname; 102 103 end; 104 105 end; 106 107 108

No comments avaiable

Add a comment

Name *  

Email (won't be displayed) *    

Website  

Comment *  

Sicherheitscode Security Code *    

RSS