Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-07-2010
andresorozco86 andresorozco86 is offline
Miembro
 
Registrado: abr 2010
Posts: 23
Poder: 0
andresorozco86 Va por buen camino
Question Cambio De String A Style

BUENOS DIAS

Lo que sucede es que estoy trabajando en delphi y tengo en una variable un registro de tipo style y necesito cambiarlo a string. ¿Alguien me puede decir como lo hago?
Responder Con Cita
  #2  
Antiguo 08-07-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.281
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Código Delphi [-]
TProgrammerType = (tpDelphi, tpVisualC, tpVB, tpJava) ;


uses TypInfo;
var s: string;
s := GetEnumName(TypeInfo(TProgrammerType),
                  integer(tpDelphi)) ;

//s tendrá la cadena 'tpDelphi'


Vía about.com
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 08-07-2010
andresorozco86 andresorozco86 is offline
Miembro
 
Registrado: abr 2010
Posts: 23
Poder: 0
andresorozco86 Va por buen camino
El codigo que tengo implementado es el siguiente.

ft := TFont.Create;
ft.Name := qRender.FieldByName('SYMBOLFONTNAME').AsString; ft.Color:=StringToColor(qRender.FieldByName('SYMBOLFONTCOLOR').AsString);
ft.size :=qRender.FieldByName('SYMBOLFONTSIZE').AsInteger;
ft.style:=qRender.FieldByName('SYMBOLFONTSTYLE').AsString;

y cuando asigno el ft.style me sale que no son compatibles los tipos string y style. Lo que necesito es cambiar el tipo string a style pero no se como hacerlo.

no se como implementar lo que me envio.


gracias
Responder Con Cita
  #4  
Antiguo 09-07-2010
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
Que yo sepa, pues no hay una manera automática. Esto se debe a que el estilo de fuente es un conjunto, y no existe una manera de convertir de string a conjunto.

Hacerlo a mano tampoco es tan complicado. Hay dos cosas que se me ocurren, en la base de datos, ¿guardás un string o un integer? Lo pregunto porque un conjunto es un número de ocho bits, así que podrías usar eso para almacenar en la base, y después levantarlo:

Código Delphi [-]
ft.style:= TFontStyles(qRender.FieldByName('SYMBOLFONTSTYLE').AsInteger);

Si lo guardaste como un string, entonces habría que ver cómo codificaste el estilo en string y hacer el proceso opuesto.
Responder Con Cita
  #5  
Antiguo 09-07-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.281
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por andresorozco86 Ver Mensaje
...tengo en una variable un registro de tipo style y necesito cambiarlo a string.
Hasta ahí nos había quedado claro.

Cita:
Empezado por andresorozco86 Ver Mensaje
y cuando asigno el ft.style me sale que no son compatibles los tipos string y style.
Normal, son de diferente tipo.

Cita:
Empezado por andresorozco86 Ver Mensaje
Lo que necesito es cambiar el tipo string a style pero no se como hacerlo.
Esto es lo que pasa cuando uno no le dedica el suficiente tiempo a redactar una pregunta. Que dice justo lo contrario de lo que quería decir.
Y es resto perdemos el tiempo, cosa que molesta mucho.

Cita:
Empezado por Lord Delfos Ver Mensaje
Que yo sepa, pues no hay una manera automática. Esto se debe a que el estilo de fuente es un conjunto, y no existe una manera de convertir de string a conjunto.
Sí hay una manera, utilizando RTTI, muy similar a como hemos comentado arriba (el caso justo contrario).


Código Delphi [-]
  // Supongamos que esta variable tiene el tipo
  Str := 'fsBold';
  // Convertir el String a entero segun el tipo a Estilo
  i := GetEnumValue(TypeInfo(TFontStyle), Str);
  // comprobamos que existe ese valoir (por si lo hemos escrito mal)
  if (i <> -1) then begin
    // Y sacamos el estilo asociado
    fs := TFontStyle(i);
    // Ya lo podemos asignar
    Label1.Font.Style := Label1.Font.Style + [fs];
  end;

Otro detalle, es que como Font.Style es un conjunto, no puedes asignarlo directamente a la variable:

Código Delphi [-]
   Label1.Font.Style := fs;

Sino que debes añadir o eliminar elementos:

Código Delphi [-]
   Label1.Font.Style := Label1.Font.Style + [fs];
   Label1.Font.Style := Label1.Font.Style - [fs];
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 09-07-2010
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
Ja, chupate esa mandarina. Hoy he aprendido otra valiosa lección.

¡Gracias Neftali!
Responder Con Cita
  #7  
Antiguo 09-07-2010
andresorozco86 andresorozco86 is offline
Miembro
 
Registrado: abr 2010
Posts: 23
Poder: 0
andresorozco86 Va por buen camino
gracias neftali funciona bien
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TCombobox style csDropDownList mjjj Varios 2 12-12-2007 21:54:25
Saber el Style de una fuente Lionel Varios 11 06-05-2004 23:53:43
TCombobox STYLE en csOwnerDrawFixed Carlos Arevalo Varios 12 09-01-2004 21:56:15
Style y color en un Rich Tonio Varios 0 18-08-2003 00:08:21


La franja horaria es GMT +2. Ahora son las 21:42:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi