| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
nuno Cmdr

Registrado: 10 Feb 2003Mensajes: 143Ubicación: Córdoba - Argentina
|
Publicado: Lun 01 Dic, 2003 9:32 pm Asunto: Borrado masivo de todos los Edit de un formulario???? |
|
|
Hola gente lo que necesito es una forma de sber cuantos Edit tengo en el form y borrarlos a todos juntos conocen alguna funcion o algo para que se pueda hacer esto?
desde ya muchas gracias |
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Lun 01 Dic, 2003 9:46 pm Asunto: |
|
|
Hola, puedes usar el arreglo de controles del componente contenedor de tus Edits, cada objeto tiene un metodo llamado IsClass("NombreClase") (Si es que no me equivoco) en este caso TEdit, te devuelve true o false si cumple con la condicion, si es true haces un delete. Creo que asi debiera funcionar, en estos momentos no tengo builder instalado en este pc, cuando llegue a mi casa te podria dar un ejemplo funcionando.
Saludos! _________________ "Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez
Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!! |
|
| Volver arriba |
|
 |
nuno Cmdr

Registrado: 10 Feb 2003Mensajes: 143Ubicación: Córdoba - Argentina
|
Publicado: Lun 01 Dic, 2003 9:57 pm Asunto: |
|
|
| Te agradeceria si me puedes pasar ese ejemplito |
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Lun 01 Dic, 2003 10:27 pm Asunto: |
|
|
| No hay apuro. Muchas gracias victor |
|
| Volver arriba |
|
 |
Marky Master

Registrado: 28 Dic 2002Mensajes: 251Ubicación: Las Rozas - Madrid (España)
|
Publicado: Lun 01 Dic, 2003 10:53 pm Asunto: |
|
|
Prueba algo como:
| Código: |
int TotalEdits=0;
for(int x=0;x<Form1->ControlCount;x++)
{
if(Form1->Controls[x]->ClassNameIs("TEdit"))
{
TotalEdits++; //cuento el TEdit
dynamic_cast<TEdit*>(Form1->Controls[x])->Text=""; //borro el contenido
}
}
ShowMessage("Numero total de edits "+IntToStr(TotalEdits));
|
Espero que sea esto lo que buscabas. |
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Mar 02 Dic, 2003 2:31 am Asunto: |
|
|
Yo lo hago de esta forma que es muy similar:
| Código: |
for(int i=0;i<ControlCount;i++)
{
if(Controls[i]->ClassNameIs("TEdit"))
((TEdit*)Controls[i])->Clear();
}
|
Claro que esto limpia los Edits del Form donde pongas este codigo, si quieres limpiar los de un determinado Form tendrias que incluir FormX-> a ambos datos miembros de la clase (ControlCount y Controls[])
Eso, espero te sirva.
Saludos!! _________________ "Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez
Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!! |
|
| Volver arriba |
|
 |
|