Komponenten speichern/laden |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Über die Methode WriteComponentRes bzw. ReadComponentRes eines Streams kann man Komponenten (TComponent) bequem in eine Datei speichern und aus einer Datei laden. So lassen sich bequem Eigenschaftswerte wiederherstellen.
procedure ComponentSaveToFile(Component: TComponent; const FileName: String);
var
fs: TFileStream;
begin
fs := TFileStream.Create(FileName, fmCreate);
try
fs.WriteComponentRes(Component.Name, Component);
finally
fs.Free;
end;
end;
procedure ComponentLoadFromFile(Component: TComponent; const FileName: String);
var
fs: TFileStream;
begin
fs := TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone);
try
fs.ReadComponentRes(Component);
finally
fs.Free;
end;
end;
Folgendes Beispiel zeigt, wie man ein Edit-Feld in der Datei C:Test.txt speichert und später wieder lädt. Als erster Parameter muss die Komponente übergeben werden, als zweiten den Dateinamen inkl. Pfad.
procedure TForm1.Button1Click(Sender: TObject);
begin
ComponentSaveToFile(Edit1,'C:Test.txt');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ComponentLoadFromFile(Edit1,'C:Test.txt');
end;
Auf diese Weise können alle Komponenten auf dem Formular gesichert werden:
For t:=0 to ComponentCount-1 do
ComponentSaveToFile(Components[t],'C:Test'+IntToStr(t+'.txt');
In diesem Beispiel wird für jede Komponente eine extra Datei angelegt.Benutzt man anstatt ComponentCount, ControlCount und statt Components, Controls, werden nur Steuerelemente gespeichert.Durch wiederholten Aufruf von WriteComponentRes können natürlich auch mehrere Komponenten in der gleichen Datei gespeichert werden.
- Überblick
- Laden und Speichern von Texten aus Memofeldern in Dateien
- Komponenten vom Formular entfernen
- Komponenten zur Laufzeit erzeugen
- Eigenschaften von Komponenten zur Laufzeit ändern
- Zugriffsmethoden auf Komponenten
- Komponente beim Fokussieren farblich hervorheben
- TWinControl beim Mauszeiger ermitteln
- Steuerelement am Neuzeichnen hindern
- Zugriff auf Komponenten über ihre Namen