Delphi 4: INI-Dateien beschreiben

Hallo Delphianer,
wie kann ich in der folgenden Prozedur den Schriftstil in eine INI-Datei schreiben ? Denn laut Online-Hilfe ist für INI-Dateien kein Typ ‚TFontStyles‘ vorgesehen.

procedure TFormHaupt.ActionSchriftenartWaehlenExecute(Sender: TObject);
var
sSchriftart : string;
iGroesse : integer;
iFarbe : integer;
fsStil : TFontStyles;
begin
if FontDialog1.Execute then
begin
StringGrid1.Font.Assign(FontDialog1.Font);
sSchriftart := StringGrid1.Font.Name;
iGroesse := StringGrid1.Font.Size;
iFarbe := StringGrid1.Font.Color;
fsStil := StringGrid1.Font.Style;

ifBT8PFP_INI := TIniFile.Create(‚C:\DATEI.INI‘);
ifBT8PFP_INI.WriteString(‚FONT‘, ‚Schriftart‘, sSchriftart);
ifBT8PFP_INI.WriteInteger(‚FONT‘, ‚Groesse‘, iGroesse);
ifBT8PFP_INI.WriteInteger(‚FONT‘, ‚Farbe‘, iFarbe);
ifBT8PFP_INI.Free;
end;
end;

Hätte jemand eine Lösung für mich ?
MfG.
Uwe

Hallo Uwe,

Versuch’s mal so:

procedure
TFormHaupt.ActionSchriftenartWaehlenExecute(Sender:
TObject);

function StyleWandler(FS: TFontStyles): string;
begin
if fsBold in FS then result := ‚1‘ else result := ‚0‘;
if fsItalic in FS then result := result + ‚1‘ else result := result + ‚0‘;
if fsUnderline in FS then result := result + ‚1‘ else result := result + ‚0‘;
if fsStrikeOut in FS then result := result + ‚1‘ else result := result + ‚0‘;
end;

var
sSchriftart : string;
iGroesse : integer;
iFarbe : integer;
fsStil : TFontStyles;
begin
if FontDialog1.Execute then
begin

StringGrid1.Font.Assign(FontDialog1.Font);
sSchriftart := StringGrid1.Font.Name;
iGroesse := StringGrid1.Font.Size;
iFarbe :=
StringGrid1.Font.Color;
fsStil :=
StringGrid1.Font.Style;

ifBT8PFP_INI :=
TIniFile.Create(‚C:\DATEI.INI‘);
ifBT8PFP_INI.WriteString(‚FONT‘,
‚Schriftart‘, sSchriftart);
ifBT8PFP_INI.WriteInteger(‚FONT‘,
‚Groesse‘, iGroesse);
ifBT8PFP_INI.WriteInteger(‚FONT‘,
‚Farbe‘, iFarbe);

ifBT8PFP_INI.WriteString(‚FONT‘, ‚Style‘, StyleWandler(StringGrid1.Font.Style));

ifBT8PFP_INI.Free;
end;
end;

Wenn dann z.B. fsBold=True ist und alle anderen = False, so wird ‚1000‘ geschrieben.

Hilft das?

Gruß Dieter