FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
matriz de controles
Tengo una duda, estoy haciendo unas ventanas que tienen una cantidad considerable de componentes. ¿Cómo hago una matriz de controles? Sería algo como:
Tengo 100 Edits y quiero ponerles el mismo nombre y diferenciarlos por algún número... a ver.. caja(1) caja(2) ... caja(100) y poder poner los valores correspondientes en sus propiedades text solamente localizandolos por el número en la matriz. No quiero ser comparativo pero en Visual Basic los componentes tienen una propiedad index la cual me permite armar esa matriz de controles y luego puedo encontrarlos a través de ese índice. Bien, supongo que delphi tiene algo similar pero por desgracia aún no lo encontré. Saludos.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#2
|
||||
|
||||
Hola,
Cita:
Declara un arreglo de TEdit en tu formulario:
Coloca todos los Edit dentro de un mismo Panel que no contenga ningún otro control. Esto no es estrictamente necesario pero facilita el llenado del arreglo. En el constructor del formulario pon:
Con esto ya puedes manipular las propiedades de los edits del formulario através del arreglo Edits, por ejemplo:
// Saludos |
#3
|
||||
|
||||
si, me pasa casi igual, tengo 4 edits que meti en un panel, imagino que los otros edits que estan fuera del panel tambien estan en el array.
la pregunta es, tengo esos 4 edits dentro del panel pero tambien tengo otros edits qu eno me interesa que esten fuera, hasta ahi es correcto la procedure que pusiste, pero a la hora de editar cada uno de esos edit, me usa el edit[i].text o edit1.text, porque en pantalla me sigue usando los edit originales y tampoco se como usar los edit[i] para ir cambiando de uno a otro sin usar un for y que valgan los onexit. Perdon si no me explique bien..... |
#4
|
||||
|
||||
Cita:
// Saludos |
#5
|
||||
|
||||
si gracias. A ver. Tengo un formulario con varios controles, entre ellos tedit, labels etc.
tal y como sugerias, genere un array con los tedit, y luego agrupe en un panel algunos edit, porque me interesa hacer calculos con ellos. los edit se siguen llamando precio, debe, y haber, y se siguen llamando asi aunque haya creado el array porque en las propiedades del objeto no puedo poner en el nombre edit[1]. Como manipulo entonces los eventos onexit, onkeypressed o simplemente cambio de un edit a otro para que se este usando el edit[i] en vez del edit precio, debe o haber?. es un poco enrevesada la pregunta... gracias |
#6
|
||||
|
||||
La verdad es que sigo sin entender lo que buscas pero vamos a aclarar algunos puntos, y quizá de ahí puedas partir.
El colocar los edits dentro de un panel es nada más para facilitar la inicialización del arreglo mediante un ciclo for, pero si tienes varios controles mezclados y no todos ellos han de formar parte del arreglo, siempre puedes optar por hacer la asignación directa:
Ahora, para efectos de eventos asociados a estos edits, te conviene, además, asignar a cada edit el índice que ocupa en el arreglo. Esto puedes hacerlo en la propiedad Tag del edit.
EditExit y EditKeyPressed son métodos que declaras manualmente con los mismos parámetros que los eventos normales:
Nota que los pones en la sección private, porque no los genera el IDE sino tú mismo. Entonces, todos los edits del arreglo comparten los mismos manejadores de eventos, así que en éstos, debes distinguir cuál es el que está generando el evento, y para ello usas el Tag que asignaste:
// Saludos |
#7
|
|||
|
|||
Cita:
Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#8
|
||||
|
||||
se agradece roman por la explicacion, voy aprobar. Gracias de nuevo.
egostar, aqui vale todo tipo de comentarios, asi aprendemos todos, tambien voy aprobar como funciona el stringGrid a ver como funciona. voy a intentar buscar un manual donde vengan explicados los componentes asi no doy tanto la lata . |
#9
|
||||
|
||||
gracias roman, la cosa funciona.
egostar, de momento el tstringgrid no lo uso porque me lia un poco, tengo que investigar mas a ver como funciona. gracias de nuevo |
#10
|
||||
|
||||
gracias roman, la cosa funciona.
egostar, de momento el tstringgrid no lo uso porque me lia un poco, tengo que investigar mas a ver como funciona. gracias de nuevo |
#11
|
||||
|
||||
gracias roman, la cosa funciona.
egostar, de momento el tstringgrid no lo uso porque me lia un poco, tengo que investigar mas a ver como funciona. gracias de nuevo |
#12
|
||||
|
||||
¿Piensas que no lo hemos visto o tu pc manda mensajes por su cuenta // Saludos |
#13
|
||||
|
||||
Inconscientemente le he dado una ostia al pc, pensando que estaba 'rayao' - es que vamos para mayores -
Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#14
|
||||
|
||||
gracias roman, la cosa funciona.
egostar, de momento el tstringgrid no lo uso porque me lia un poco, tengo que investigar mas a ver como funciona. gracias de nuevo |
#15
|
||||
|
||||
mil disculpas, al enviar le di y me dio error, asi que le di a actualizar, normalmente me suelo fijar por si se envio.
Sorry. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
matriz editable | jsanchez | OOP | 11 | 20-01-2006 15:28:41 |
matriz 3 dimensiones | Lidia | SQL | 2 | 12-12-2005 18:59:58 |
inverza de una matriz | gulder | Varios | 7 | 15-11-2005 23:40:29 |
Imprimir matriz | NuncaMas | Impresión | 6 | 19-11-2003 19:05:23 |
Guardar matriz? | danytorres | Varios | 1 | 27-10-2003 04:10:23 |
|