FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
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! |
#2
|
||||
|
||||
Cita:
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#3
|
|||
|
|||
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! |
#4
|
||||
|
||||
Y porque no asignas directamente el valor a una variable Talign, y despues esa variable asignala al componente. P.Ej:
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. |
#5
|
|||
|
|||
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 |
#6
|
||||
|
||||
Cita:
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#7
|
|||
|
|||
Una forma facil y sin meternos en complicaciones es haciendo esto:
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#8
|
||||
|
||||
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|| |
#9
|
|||
|
|||
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
|
#10
|
|||
|
|||
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 |
#11
|
|||
|
|||
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 |
#12
|
||||
|
||||
Cita:
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#13
|
|||
|
|||
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! |
#14
|
||||
|
||||
Es posible recuperarlo por el nombre. Por ejemplo:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#15
|
|||
|
|||
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! |
#16
|
||||
|
||||
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 |
#17
|
|||
|
|||
Tenías toda la razón, no buscaba en el Parent. Gracias por la indicación!!!
Saludos! |
#18
|
||||
|
||||
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 - |
#19
|
||||
|
||||
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.
__________________
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. |
|
|
|