![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Crear Tipos de Datos Propios?
Hola que tal, pues lo que quisiera saber (si se puede) es como definir tipos de datos proios... bueno, por ejemplo hace tiempo compre un componente (un Grid) que tiene un metodo:
AddButton(ACol, ARow, bw, bh: Integer; Caption: string; hal: TCellHalign; val: TCellValign); En este metodo los primero parametros ACol, ARow, bw, bh: Integer; Caption: string; son de tipo predefinidos en Delphi, pero los siguientes son de la Clase del Componente (TCellHalign; val: TCellValign) Al invocar al metodo lo tengo que hacer de la sig, manera: grid1.AddButton(0,0,10,10,'Boton',haCenter,vaCenter) En los dos ultimos parametros le tengo mandar forzosamente los tipos que me pide (haCenter,haLeft,vaCenter,etc) Pues bueno yo quisiera hacer algo parecido en mi programa: Tengo una Clase x, con un metodo llamado MueveRenglon MueveRenglon(posicion:Boolean);pero no quiero que al invocar al metodo de la clase desde el un Form le pasen directamente el valor boolean p.e. Form.objetoDeClaseX.MueveRenglon(True) me gustaria definir un tipo de dato pripio (como el caso que les puse arriba) y que al invocar mi metodo de clase desde un form se haga de la sig. manera: Form.objetoDeClaseX.MueveRenglon(cArriba) y que mi metodo quedara definido MueveRenglon(posicion:TPosicion);Como se declaran y usan lo tipos de datos propios (cArriba y cAbajo). De antemano muchas gracias. Buen Dia. |
#2
|
||||
|
||||
Lo puedes hacer con los llamados tipos enumerados:
Te recomiendo que leas la ayuda de delphi, la parte de Delphi Language guide|Data types, variables and constants. // Saludos |
#3
|
||||
|
||||
Hola jbautista, como te dice el amigo Román puedes definirte un tipo enumerado, en el cual colocas todos los posibles valores que puede tomar tu tipo (identificadores) y esos identificadores puedes utilizar en tu codigo como si fueran constantes.
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#4
|
||||
|
||||
Gracias gracias a los dos por ayudarme, ya habia leido algo asi por ahi pero no lo entendi ya con el ejemplo todo bien.
Gracias Roman y Caro por su tiempo. |
#5
|
||||
|
||||
como puedo mostrar en pantalla el tipo de dato que acabo de crear en un showmessage() por que dice que string y el nuevo dato no son compatibles , tengo que crear una operacion para convertir ese tipo de dato a string?
__________________
Todo es Relativo |
#6
|
||||
|
||||
Hola, es que, por ejemplo, en:
cArriba=0, cAbajo=1, cIzquierda=2, cDerecha=3 No son strings.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
||||
|
||||
Hola.
Como te explica claramente Casimiro en el ejemplo, no son strings que se puedan mostrar directamente, son de tipo ordinal. Cada nombre definido (cArriba, cAbajo, cIzquierda, cDerecha) tiene una órdinalidad que comienza desde cero y termina en el enésimo término. Para mostrar el valor de un tipo ordinal debés hacer:
Para realizar la operación inversa, es decir, dado el órden obtener el nombre, se puede usar la función GetEnumName:
Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 12-11-2011 a las 09:24:29. |
#8
|
||||
|
||||
ohhhhhhh muchas gracias , que utiles son estas funciones. supongo que hace falta bucear un poco por las funciones y procedimientos de delphi
hasta luego y gracias
__________________
Todo es Relativo |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
crear mis propios cursores | federiconqn21 | Varios | 8 | 25-02-2010 16:02:18 |
Tipos de Datos de Excel. | sanluisme | Servers | 0 | 23-07-2008 12:11:17 |
Tipos de Datos de InterBase | atunng | Firebird e Interbase | 1 | 22-02-2007 21:16:04 |
tipos de datos interbase 6.5 | ronimaxh | Firebird e Interbase | 1 | 10-02-2004 13:00:27 |
Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) | frankmch | Conexión con bases de datos | 2 | 08-09-2003 19:44:52 |
![]() |
|