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

[SOLUCIONADO] Plantear variable

Estas en el tema de Plantear variable en el foro de Visual Basic clásico en Foros del Web. Buenas,de nuevo pido ayuda. ¿Cómo puedo optimizar el siguiente código? Código: Private Sub Command1_Click(Index As Integer) If Index = 1 Then Form1.Show Form1.Left = Me.Left ...
  #1 (permalink)  
Antiguo 12/12/2014, 16:38
 
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 3
Plantear variable

Buenas,de nuevo pido ayuda.

¿Cómo puedo optimizar el siguiente código?

Código:
Private Sub Command1_Click(Index As Integer)

If Index = 1 Then
Form1.Show
Form1.Left = Me.Left
Form1.Top = Me.Top
ElseIf Index = 2 Then
Form2.Show
Form2.Left = Me.Left
Form2.Top = Me.Top
ElseIf Index = 3 Then
Form3.Show
Form3.Left = Me.Left
Form3.Top = Me.Top
'y así un montón más de formularios
End If

End Sub
Lo he intentado por esta vía y unas cuantas más, pero me da error:

Código:
Dim i as Integer
For i = 1 to 20
Index(i) = Form& (i).show
Next i
Gracias de antemano.
Un saludo
  #2 (permalink)  
Antiguo 12/12/2014, 18:11
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Plantear variable

Código vb:
Ver original
  1. Private Sub Form_Load()
  2. ' No se puede detectar un formulario que no se haya cargado.
  3. ' Para que esto funcione todos los formularios deben
  4. ' estar ya cargados, aunque esten ocultos.
  5.  'ejemplo:
  6.  Load Form2
  7.   Form2.Hide
  8. End Sub
  9.  
  10. Private Sub Command1_Click(Index As Integer)
  11.   Dim formu As Form
  12.   For Each formu In Forms
  13.     If formu.Name = "Form" & Index Then
  14.       formu.Show
  15.       formu.Left = Me.Left
  16.       formu.Top = Me.Top
  17.       Exit For
  18.     End If
  19.   Next formu
  20. End Sub
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #3 (permalink)  
Antiguo 13/12/2014, 04:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Plantear variable

Gracias de nuevo por la ayuda, pkj.

Un saludo

Edito para modificar:

Abro los Form con:

Dim frmForm
For Each frmForm In Forms
Unload frmForm
Next

pero no sé porqué razón, tengo que enviarles alguna orden para que el código funcione, por ejemplo:

Form2.tag = 1 y así respectivamente con todos los Forms

Última edición por truskyvb; 13/12/2014 a las 10:53

Etiquetas: variable
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 18:59.