Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-01-2008
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
TAlign

Hola compañer@s,
tengo un pequeño problema, veréis, necesito hacer una conversión de un string a un tipo TAlign, dado que en ese string tengo por ejemplo 'alClient' pero al asignarlo a la propiedad me dice que los tipos no coinciden. No consigo dar con la forma de hacerlo... Alguien se ha encontrado con esto antes?

Gracias a todos!
Responder Con Cita
  #2  
Antiguo 03-01-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Cita:
Empezado por dvlt Ver Mensaje
Hola compañer@s,
tengo un pequeño problema, veréis, necesito hacer una conversión de un string a un tipo TAlign, dado que en ese string tengo por ejemplo 'alClient' pero al asignarlo a la propiedad me dice que los tipos no coinciden. No consigo dar con la forma de hacerlo... Alguien se ha encontrado con esto antes?

Gracias a todos!
Hola podrias mostrarnos su codigo para ver lo que estas haciendo o al menos nos puedes dar un poco mas de informacion acerca de lo que intentas hacer?.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 03-01-2008
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
Claro,
a ver, el tema esta que en una cadena tengo el align que voy a darle a un componente, por ejemplo, un GroupBox que quiero que su propiedad Align sea 'alClient'. Bien, ese string no es de tipo TAlign, necesito convertir mi string al tipo TAlign.

Eso es todo, pero no consigo hacerlo

Gracias de nuevo!
Responder Con Cita
  #4  
Antiguo 03-01-2008
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
Y porque no asignas directamente el valor a una variable Talign, y despues esa variable asignala al componente. P.Ej:

Código Delphi [-]
var
al : Talign;
begin
al := alLeft;
GroupBox1.Align := al;
end;


Porque hacer una conversion tipo StrToTalign creo que sería complicado.
Digo.. este codigo que puse yo es totalmente innecesario pero quiero decir que puedes asignarle un valor a la variable tipo talign en cualquier lugar de tu codigo en vez de asignarselo a una string y despues tratar de convertir.

Última edición por Gaim2205 fecha: 03-01-2008 a las 19:48:21.
Responder Con Cita
  #5  
Antiguo 03-01-2008
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
El problema es que leo de un xml y me devuelve un string, de ahi que tenga que hacer la conversión, sino ya se lo metería directamente el valor.

Gracias de todos modos
Responder Con Cita
  #6  
Antiguo 03-01-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Cita:
Empezado por dvlt Ver Mensaje
El problema es que leo de un xml y me devuelve un string, de ahi que tenga que hacer la conversión, sino ya se lo metería directamente el valor.

Gracias de todos modos
Esa información no la habias expuesto anteriormente, si lo hubieras dicho habria mas respuestas y mas acordes. .

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #7  
Antiguo 03-01-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Una forma facil y sin meternos en complicaciones es haciendo esto:

Código Delphi [-]
 
if valorXML = 'alClient' then
   objeto.TAlign := alClient;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 03-01-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Los valores de TAlign no son cadenas por eso no los pueden asignar como lo estas haciendo. alClient, alTop, alRight...etc. son todas constantes de tipo númerico.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #9  
Antiguo 04-01-2008
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
Numérico, pero de que tipo? Como convierto el string a ese tipo de numérico? La ayuda de Delphi no me da ningún otro tipo que no sea TAlign
Responder Con Cita
  #10  
Antiguo 04-01-2008
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
Nada, ya esta... jejeje, dejo la solución por aqui por si a alguien le interesa

Solo hay que pasar el string a entero y este a un tipo Variant ole ole
Responder Con Cita
  #11  
Antiguo 04-01-2008
adfa adfa is offline
Miembro
 
Registrado: may 2003
Ubicación: Montevideo-Uruguay
Posts: 119
Poder: 22
adfa Va por buen camino
Esto capaz que te servia.

El tipo TAlign se define así:
TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient, alCustom);
Osea que los valores son numeros del 0 al 6
Si hacer objeto.Align := TAlign(1); lo pone alTop

Saludos
Responder Con Cita
  #12  
Antiguo 04-01-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Cita:
Empezado por adfa Ver Mensaje
Esto capaz que te servia.

El tipo TAlign se define así:
TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient, alCustom);
Osea que los valores son numeros del 0 al 6
Si hacer objeto.Align := TAlign(1); lo pone alTop

Saludos
Hola, gracias a ti me he aprendido algo nuevo, un 10!!

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #13  
Antiguo 07-01-2008
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
Hola de nuevo!
Siguiendo con este hilo, y con el echo de que creo componentes en tiempo de ejecución... a ver, intento recuperar un componente creado en tiempo de ejecución para repintarlo, pero no consigo encontrarlo, ni por el nombre ni recorriendo uno a uno los elementos del form... alguna idea más?

Gracias de nuevo!
Responder Con Cita
  #14  
Antiguo 07-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Es posible recuperarlo por el nombre. Por ejemplo:

Código Delphi [-]
begin
  with TButton.Create(Self) do
  begin
    Parent := Panel1;
    Name := 'BotonX';
    OnClick := BotonXClick;
  end;
end;
//...
//...
begin
  TButton(FindComponent('BotonX')).Caption := 'Me encontró!';
end;

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #15  
Antiguo 07-01-2008
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
Pues no me lo encuentra,
es más, recorro todos los componentes del form con un bucle for, y debugando veo que solo me recorre los que ya existian en el form no los que he ido creando en tiempo de ejecución... Alguna idea de porque?

Gracias de nuevo!
Responder Con Cita
  #16  
Antiguo 07-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Seguramente no estas buscando en el owner de los objetos que has creado. Podrías mostrar la sentencia con la que creas los componentes en corrida?

Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #17  
Antiguo 07-01-2008
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
Tenías toda la razón, no buscaba en el Parent. Gracias por la indicación!!!

Saludos!
Responder Con Cita
  #18  
Antiguo 07-01-2008
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Si recorres todos los componentes de form y no lo encuentra quiere decir que el form no es su parent. Por ahi pueden venir tus problemas

Hubo hace pocos días un hilo hablando de este mismo tema. Buscalo que te puede ser muy interesante.

Saludos

Edito: Vaya, se me adelantaron
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #19  
Antiguo 07-01-2008
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.295
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 dvlt Ver Mensaje
...necesito hacer una conversión de un string a un tipo TAlign
Esto puedes hacerlo de forma fácil utilizando RTTI.
GetEnumValue y GetEnumName. Para utilizarlas puedes añadir TypInfo al USES.

Creo que lo más sencillo es un ejemplo.
Archivos Adjuntos
Tipo de Archivo: zip Enumerados a String.zip (6,5 KB, 5 visitas)
__________________
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
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


La franja horaria es GMT +2. Ahora son las 11:05:07.


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