PDA

Ver la Versión Completa : TFontStylesToInt y viceversa


[Gunman]
08-06-2006, 21:05:22
Estas son dos pequeñas funciones que hice para cuando queremos guardar el estilo de una fuente en un archivo INI por ejemplo.
Función para convertir el estilo a entero:

function FontStylesToInt(FontStyles: TFontStyles): ShortInt;
var
Res: ShortInt;
begin
Res := 0;
if fsBold in FontStyles then
Res := Res+1;
if fsItalic in FontStyles then
Res := Res+2;
if fsUnderline in FontStyles then
Res := Res+5;
if fsStrikeOut in FontStyles then
Res := Res+10;
Result := Res;
end;


Función para convertir el entero a stilo de fuente:

function IntToFontStyles(ShInt: ShortInt): TFontStyles;
begin
case ShInt of
0: Result := [];
1: Result := [fsBold];
2: Result := [fsItalic];
3: Result := [fsBold, fsItalic];
5: Result := [fsUnderline];
6: Result := [fsBold, fsUnderline];
7: Result := [fsItalic, fsUnderline];
8: Result := [fsBold, fsItalic, fsUnderline];
10: Result := [fsStrikeOut];
11: Result := [fsBold, fsStrikeOut];
12: Result := [fsItalic, fsStrikeOut];
13: Result := [fsBold, fsItalic, fsStrikeOut];
15: Result := [fsUnderline, fsStrikeOut];
16: Result := [fsBold, fsUnderline, fsStrikeOut];
17: Result := [fsItalic, fsUnderline, fsStrikeOut];
18: Result := [fsBold, fsItalic, fsUnderline, fsStrikeOut];
end;
end;

Si algún usuario lee el truco y sabe como mejorarlo, que lo notifique a un moderador y el lo editará.

dec
08-06-2006, 21:57:54
No es necesario Joan, gracias por el truco. Si alguien sabe cómo mejorarlo que lo haga en los comentarios, como estoy haciendo yo ahora, y así además podría verse un "historial" de lo que se va consiguiendo a este respecto.

Lepe
10-06-2006, 11:31:49
En el siguiente hilo se amplia la rutina para guardar el nombre de la fuente, tamaño y atributos (negrita, cursiva, etc).

http://www.clubdelphi.com/foros/showthread.php?t=18686&highlight=strtofont

Saludos