Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Saber el nombre de todos los form de un proyecto

Estas en el tema de Saber el nombre de todos los form de un proyecto en el foro de Visual Basic clásico en Foros del Web. Hola a todos, Cómo puedo saber el nombre de todos los form que tengo en mi proyecto? Estoy buscando hacer algo como: Código: Dim Ctrl ...
  #1 (permalink)  
Antiguo 19/01/2005, 19:29
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Saber el nombre de todos los form de un proyecto

Hola a todos,

Cómo puedo saber el nombre de todos los form que tengo en mi proyecto?
Estoy buscando hacer algo como:

Código:
Dim Ctrl As Control
For Each Ctrl In Project
   If TypeOf Ctrl Is Form Then
       var = Ctrl.name
   End If
Next


Lo que quiero hacer es lo siguiente:
Voy hacer un módulo de seguridad en mi aplicación en la cual el usuario podrá activar y desactivar cualquier textbox de cada pantalla de la aplicación.

Lo que quiero hacer es grabar en la base de datos todos los textbox de todas las pantallas para luego cagarlos en un listbox y así, en una pantalla de mantenimiento, el usuario administrador pueda elegir que textbox de cada pantalla un usuario podrá tener habilitado o no.

Luego pienso poner una subrutina en cada pantalla que habilite o deshabilite cada textbox dependiendo de los permisos del usuario.

A ver si me dan una idea de cómo podría hacer esto, o alguna otra idea de ponerle una seguridad así de avanzada a una aplicación.

__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--

Última edición por RsOfT; 20/01/2005 a las 06:06
  #2 (permalink)  
Antiguo 20/01/2005, 06:09
 
Fecha de Ingreso: diciembre-2003
Ubicación: WWW
Mensajes: 98
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola RsOFT,

He hecho algo como esto:
Código:
 
Dim frm  As Form
 
    For Each frm In Forms
        If frm.Name = "ggg" Then
             ...
        End If
    Next
Espero que te sirva...
__________________
"No nos atrevemos a muchas cosas porque son difíciles, pero son difíciles porque no nos atrevemos a hacerlas" :si:

Séneca

Última edición por siannah; 20/01/2005 a las 06:13
  #3 (permalink)  
Antiguo 20/01/2005, 06:24
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
No me funciona

Creo que ese algoritmo es solo para saber los nombres de los formularios MDI Child.

Puse el código en un módulo y solo me trae el nombre del primer formulario que ha cargado.

Alguna otra idea?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #4 (permalink)  
Antiguo 21/01/2005, 13:41
Avatar de PherPhenix  
Fecha de Ingreso: enero-2005
Mensajes: 16
Antigüedad: 19 años, 3 meses
Puntos: 0
Efectivamente el codigo de siannah sirve para los formularios cargados, no hay algo para los formularios no cargados ya que al no estar cargados los objetos no existen, lo que podes hacer es algo asi:

load Form1
load Fom2
...etc

usar el codigo de siannah

y luego

unload Form1
unload Form2
...Etc

Aunque si son muchos formularios no te lo sugiero.

Espero te sirva, Pher
  #5 (permalink)  
Antiguo 22/01/2005, 05:58
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Bueno, es una buena idea la tuya.

Si tengo muchos form, son más de 100, pero lo que haré es hacer un algoritmo que lea los archivos .frm ya que el nombre lógico que uso en VB es el mismo que el nombre físico.

Con esto consigo todos los nombre de todos los form y genero el código para que cargue c/u de estos.

Muchas gracias por sus ideas...
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:46.