Delphi 4: INI-Dateien beschreiben

Von: , Frage gestellt am So, 12. Sep 1999

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

1 Antworten zu dieser Frage

  1. Antwort von nach einem Tag hilfreich
    Re: Delphi 4: INI-Dateien beschreiben

    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

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!