Med FontDialog komponenten forsøger jeg,
at valge mellem forskellige Font.Style i knappen "Opsætning",
så de valgte opsætninger hentes ind ved opstart af et program
og ved afslutning af programmet gemmes opsætningen i en INI file.
Har prøve med: Memo1.Font.Style := MyINI.ReadInteger('MinSektion', 'FontStyle', 0); Som du foreslå.
Men få fejlmeddelserne:
[Error] Unit1.pas(252): Incompatible types: 'String' and 'Integer'
[Error] Unit1.pas(280): Incompatible types: 'TFontStyles' and 'Integer'
Har også forsøgt med de 2 functio'ner her.
Men jeg tror ikke jeg indskriver dem rigtig!
Function StyleToString( styles: TFontStyles ): String;
var
style: TFontStyle;
Begin
Result := '[';
For style := Low(style) To High(style) Do Begin
If style IN styles Then Begin
If Length(result) > 1 Then
result := result + ',';
result := result + GetEnumname( typeInfo(TFontStyle), Ord(style));
End; { If }
End; { For }
Result := Result + ']';
End; { StyleToString }
Function StringToStyle( S: String ): TFontStyles;
Var
sl : TStringlist;
style: TfontStyle;
i : Integer;
Begin
Result := [];
If Length(S) < 2 Then Exit;
If S[1] = '[' Then
Delete(S, 1, 1);
If S[Length(S)] = ']' Then
Delete(S, Length(S), 1);
If Length(S) = 0 Then Exit;
sl:= TStringlist.Create;
try
sl.commatext := S;
For i := 0 To sl.Count-1 Do Begin
try
style := TFontStyle( GetEnumValue( Typeinfo(TFontStyle), sl[i] ));
Include( Result, style );
except
end;
End; { For }
finally
sl.free
end;
End; { StringToStyle }
Men som Gandalf skrev, så skyldes det, at font.style er en enumerator og ikke en streng værdi.
Men alle de andre functioner i FontDialog'en har jeg fårt til at fungerer, så det er kun Font.Style der driller mig.
Hvis du er intresseret, så kan jeg sende det lille program- stykke, så send din E-mail adresse til mig.
Min E-mail: monie@sunwind.dk
Med venlig hilsen
Monie Jacobsen