Charger/Enregistrer un TFont dans un fichier ini

uses In if iles;

procedure SaveFont(FName: String; Section: string; smFont: TFont);
var
FStream: TIniFile;
begin
FStream := TIniFile.Create(FName);

FStream.WriteString(Section, 'Name', smFont.Name);
FStream.WriteInteger(Section, 'CharSet', smFont.CharSet);
FStream.WriteInteger(Section, 'Color', smFont.Color);
FStream.WriteInteger(Section, 'Size', smFont.Size);
FStream.WriteInteger(Section, 'Style', Byte(smFont.Style));
end;

procedure LoadFont(FName: String; Section: string; smFont: TFont);
var
FStream: TIniFile;
begin
FStream := TIniFile.Create(Fname);

smFont.Name := FStream.ReadString(Section, 'Name', smFont.Name);
smFont.CharSet := TFontCharSet(FStream.ReadInteger(Section, 'CharSet', smFont.CharSet));
smFont.Color := TColor(FStream.ReadInteger(Section, 'Color', smFont.Color));
smFont.Size := FStream.ReadInteger(Section, 'Size', smFont.Size);
smFont.Style := TFontStyles(Byte(FStream.ReadInteger(Section, 'Style', Byte
(smFont.Style))));
end;

//Exemple:

//Enregistrer le TFont
procedure TForm1.Button1Click(Sender: TObject);
begin
SaveFont('font.ini', 'label', Label1.Font);
end;

//changer le TFont
procedure TForm1.Label1DblClick(Sender: TObject);
begin
if FontDialog1.Execute then
Label1.Font := FontDialog1.Font
end;


//Chargerle TFont
procedure TForm1.Button2Click(Sender: TObject);
begin
LoadFont('font.ini', 'label', Label1.Font);
end;
Commentaire des internautes
avatar
olibul le 26/02/2009
var
fn: string;

begin

Result:= False;
if strFont <> \'\' then begin

// Tester le nom: si affectation directe à TFont, modifications aléatoires
fn:= _parse( strFont );

// Police présente ?
if Screen.Fonts.IndexOf( fn ) <> -1 then begin
Font.Name:= fn;
Font.Color:= StrToInt( _parse( strFont ) );
Font.Height:= StrToInt( _parse( strFont ) );
Font.Pitch:= TFontPitch( StrToInt( _parse( strFont ) ) );
Font.PixelsPerInch:= StrToInt( _parse( strFont ) );
Font.Size:= StrToInt( _parse( strFont ) );
Font.Style:= TFontStyles( Byte( StrToInt( strFont ) ) );
Result:= True;
end;
end;
end;


( extrait de o_fonctions :
http://www.fobec.com/protec/grenier2/encadre.php3?cat=VUnité&id_log=35 )
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour10/04/2004
VisualisationVu 1096 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Fichier
Auteur de l'article
SwissDelphiCenter SwissDelphiCenter
connecté le 02/11/2011
329 articles dans la section
Contacter l'auteur