PDA

Ver la Versión Completa : Como usar font symbol en un edit ???


QuarkBcn
19-09-2008, 15:53:10
Hola Grupo !!!

He buscado por el foro, pero aunque he visto alguien con una problematica identica a la que necesito resolver he visto que no hay respuesta satisfactoria. Así que escribo de nuevo para ver si en este tiempo alguien ha encontrado una solución.

El problema viene dado por tener que representar dentro de un Edit y/o Label un caracter que solo esta en el font symbol por ejemplo alfa, beta, etc ... al lado de otros caracteres leibles por el usuario.

Alguien ha solventado este problema ??? Existe algun componente, para solventarlo ????

Gracias por la atención prestada.

Saludos a todos.

Chris
19-09-2008, 20:54:32
Las letras como alfa o omega, son parte del Unicode. Lamentablemente Delphi no soporta unicode hasta ya su última versión

Estoy seguro de que existen componente que superan esta limitación. Buscalos en Internet.

Saludos.

cHackAll
20-09-2008, 02:39:33
Qué quieres concretamente QuarkBcn, acaso mostrar un texto usando varios Fonts simultaneamente? pues como he adjuntado lo que pides con Delphi 7 es posible...

QuarkBcn
20-09-2008, 14:38:02
Qué quieres concretamente QuarkBcn, acaso mostrar un texto usando varios Fonts simultaneamente? pues como he adjuntado lo que pides con Delphi 7 es posible...


Hola, lamentablemente lo que me comentas no es posible ... has probado a colocar la letra C, la D, etc ... :D

Gracias a todos y sigo a la espera de alguna mente preclara :-)

cHackAll
20-09-2008, 20:45:13
Hola, lamentablemente lo que me comentas no es posible ... has probado a colocar la letra C, la D, etc ...

Me temo que mi anterior intervención estaba orientada a D&W.

Qué quieres concretamente QuarkBcn, acaso mostrar un texto usando varios Fonts simultaneamente?

Bueno, ante tu comentario solo me queda deducir lo obvio; para futuras ocaciones te rogaría seas mas claro en tus preguntas.

procedure TForm1.Button1Click(Sender: TObject);
const Letter: array [Boolean] of string = ('Symbol', 'Thaoma');
var
Index, Left: Cardinal;
Flag: Boolean;
Str: string;
begin
Left := 0;
Flag:= True;
Str := 'Club'#0'Delphi ro'#0'c'#0'ks!';
for Index := 0 to Length(Str) do
if (Index = 0) or (Str[Index] = #0) then
begin
Flag:= not Flag;
Canvas.Font.Name := Letter[Flag];
end
else
begin
Canvas.TextOut(100 + Left, 100, Str[Index]);
Inc(Left, Canvas.TextWidth(Str[Index]));
end;
end;

Saludos

QuarkBcn
30-09-2008, 09:02:19
Perdona el retraso en la respuesta, pero he estado unos dias de vacaciones, que ya tocaban :D

Tu solución se acerca bastante a lo que necesitaba.

Muchas gracias por tu ayuda !!!

Saludos !!!