| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Kurroman Lt

Registrado: 07 Dic 2003Mensajes: 79
|
Publicado: Mar 22 Mar, 2005 11:13 am Asunto: Saber componentes de un formulario |
|
|
A ver, una cuestion un tanto extraña. Resulta que tengo un form con unas 20 pestañas y cada una de estas con 2 o 3 TCheckListBox. Lo que quiero es que al pulsar un boton se me guarde en una base de datos cada item marcado de cada TCheckListBox.
Lo que busco es alguna forma de no tener que ir componente a componente, mirando lo que está marcado o no, sino de alguna manera tener en un array o similar todos los CheckList del formulario e irlos recorriendo en un bucle o algo, ya que para cada ChekListBox voy a hacer la misma operacion. En pseudocodigo...
MIENTRAS (i MENOR longitud(array_checklists)) {
MIRO QUE ITEMS TIENE EL array_checklists[i] MARCADO E INSERTO EN BD
Incremento(i)
FINMIENTRAS
Gracias. |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Mar 22 Mar, 2005 5:40 pm Asunto: |
|
|
Puedes hacer algo asi:
| Código: |
for(int i=0;i<this->ComponentCount;i++)
{
if(this->Components[i]->ClassNameIs("TCheckListBox"))
{
TCheckListBox *lista = (TCheckListBox*)this->Components[i];
for(int j=0;j<lista->Items->Count;j++)
{
if(lista->Checked[i])
Marcado y guardar en BD (o lo que quieras hacer aqui)
}
}
}
|
Y si no me equivoco, creo que seria todo _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Mie 23 Mar, 2005 7:26 pm Asunto: |
|
|
| Cuando welva de vakaciones lo pruebo y te komento, tiene wena pinta. |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Lun 28 Mar, 2005 1:13 pm Asunto: |
|
|
si señor, perfekto y fabuloso codigo, korrijo una tonteria y lo pego (i por j en el segundo for) por si alguien lo usa.
| Código: | for(int i=0;i<this->ComponentCount;i++) {
if(this->Components[i]->ClassNameIs("TCheckListBox")) {
TCheckListBox *lista = (TCheckListBox*)this->Components[i];
for(int j=0;j<lista->Items->Count;j++) {
if(lista->Checked[j]) {
//Tratar el item de ese check
}
}
}
} |
[/code]
No tienes ni idea del trabajo k me has ahorrado. Mil gracias  |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Lun 28 Mar, 2005 5:34 pm Asunto: |
|
|
De nada, para eso estamos  _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
|