Aufzählungstypen speichern |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Wie in der Onlinehilfe von Delphi nachzulesen ist, handelt es sich bei Aufzählungstypen um eine Menge von Werten mit eindeutiger Reihenfolge. Als Beispiel der Typ der Eigenschaft WindowState eines jeden Formulars:
type
TWindowState = (wsNormal, wsMinimized, wsMaximized);
Möchte man nun eine Variable von diesem Typ speichern, speichert man nicht wsNormal oder wsMinimized, sondern seine ordinale Entsprechnung. Der Ordinalwert gibt quasi den Index oder die Position eines Wertes in der Menge wieder. Dies geschieht entweder über einen Typecast zu Integer oder mithilfe der Funktion Ord. Folgendes Beispiel zeigt, wie man die Eigenschaft WindowState eines Formulars in einer Ini-Datei speichert:
uses
IniFiles;
procedure TForm1.Button1Click(Sender: TObject);
var
Ini: TIniFile;
begin
Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Config.ini');
try
Ini.WriteInteger('Default', 'WindowState', Ord(WindowState));
finally
Ini.Free;
end;
end;
Der Ladevorgang sieht ähnlich aus, nur dass dann zum entsprechenden Typ zurückgecastet werden muss:
procedure TForm1.Button2Click(Sender: TObject);
var
Ini: TIniFile;
begin
Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Config.ini');
try
WindowState := TWindowState(Ini.ReadInteger('Default', 'WindowState', 0));
finally
Ini.Free;
end;
end;