elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Se puede hace lo siguiente mediante un 'FOR'?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Se puede hace lo siguiente mediante un 'FOR'?  (Leído 1,677 veces)
JungleBoogie

Desconectado Desconectado

Mensajes: 174


Metal Freak


Ver Perfil WWW
Se puede hace lo siguiente mediante un 'FOR'?
« en: 16 Febrero 2006, 20:00 pm »

Hola muy buenas, tengo un 'problemilla'

Lo que me pasa es que quiero hacer unas acciones (que siempre son las mismas) pero el codigo queda MUY largo. Os lo explico:

Imaginad que tengo 16 Picture Boxes, nombrados segun su posicion en la pantalla (Fila, Columna), por ejemplo:
img0101, img0102, img0103, img0104
img0201, img0202, img0203, img0204
img0301, img0302, img0303, img0304
img0401, img0402, img0403, img0404

Al pulsar la tecla W (por poner un ejemplo, quisiera que cada fila cogiera la imagen de la fila de abajo, y lo tengo que hacer de la siguiente forma:

Código:
Private Sub Form_Keypress (KeyASCII as integer)
'Si la tecla presionada es 'W' o 'w' entonces:
If (KeyASCII = (87 Or 119)) Then
' Fila 1:
img0101.picture = img0201.picture
img0102.picture = img0202.picture
img0103.picture = img0203.picture
img0104.picture = img0204.picture

' Fila 2:
img0201.picture = img0301.picture
img0202.picture = img0302.picture
img0203.picture = img0303.picture
img0204.picture = img0304.picture

' Fila 3:
img0301.picture = img0401.picture
img0302.picture = img0402.picture
img0303.picture = img0403.picture
img0304.picture = img0404.picture

' La Fila 4 que se quede asi, no importa lo de esto =P
End If
End Sub

En vez de escribir un codigo tan largo, no se podria hacer algo parecido a lo siguiente?

Código:
Private Sub Form_Keypress (KeyASCII as integer)
if (KeyASCII = (87 Or 119)) Then
for Fila=1 to 3
for Col=1 to 4
SigFila = Fila + 1
imgFilaCol.picture = imgSigFilaCol.picture
Next
Next
End Sub

Se podria hacer algo por el estilo? Es que no es que sean 16 imagenes, he puesto 16 como ejemplo =P Y no es que solo sea pa mover las imagenes hacia arriba xD

Bueno, espero una respuesta, aunque sea un "No, no se puede hacer nada de eso"

Ale, Saludos ;)


En línea

Ironhorse

Desconectado Desconectado

Mensajes: 150



Ver Perfil
Re: Se puede hace lo siguiente mediante un 'FOR'?
« Respuesta #1 en: 16 Febrero 2006, 21:02 pm »

Lo que tenes que hacer es crear una matriz de controles, los nombras a todos igual y lo que le cambias es la propiedad Index. Asi los podes recorrer con un bucle:

Código:
Dim i as long
For i=0 to 15
  imgX(i).picture = imgY(i).picture
Next i



En línea

Pégense una vuelta por Cracton :)
JungleBoogie

Desconectado Desconectado

Mensajes: 174


Metal Freak


Ver Perfil WWW
Re: Se puede hace lo siguiente mediante un 'FOR'?
« Respuesta #2 en: 17 Febrero 2006, 17:02 pm »

o.0 Me he perdido en lo de crear una matriz de controles. Como se hace eso? Porke en batxiller no recuerdo haberlo dado (fue hace 2 años)
En línea

Ironhorse

Desconectado Desconectado

Mensajes: 150



Ver Perfil
Re: Se puede hace lo siguiente mediante un 'FOR'?
« Respuesta #3 en: 17 Febrero 2006, 21:32 pm »

Es facil, creas un control, lo copias y lo pegas, al pegarlo te va a preguntar si queres crear una matriz de controles, le pones que si y listo, a la segunda vez ya no te pregunta porque la matriz ya esta creada, si seguis pegando te agrega los controles a la matriz.

Saludos
En línea

Pégense una vuelta por Cracton :)
JungleBoogie

Desconectado Desconectado

Mensajes: 174


Metal Freak


Ver Perfil WWW
Re: Se puede hace lo siguiente mediante un 'FOR'?
« Respuesta #4 en: 18 Febrero 2006, 17:02 pm »

JuaS! Dicho asi parece facil. Esta misma noche me pongo a experimentar.

Gracias por tu ayuda ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Qué significa o qué hace el código siguiente? (es una curiosidad)
Programación C/C++
theluigy13etv 0 1,517 Último mensaje 27 Abril 2012, 04:59 am
por theluigy13etv
Que hace el siguiente codigo bat?
Scripting
lucas25cba 3 3,757 Último mensaje 26 Septiembre 2012, 06:41 am
por dac
¿¿Se puede ocultar la pantalla de comando en el siguiente código??
Scripting
Xwatmin 5 4,573 Último mensaje 20 Marzo 2013, 01:12 am
por daryo
¿Como se hace en excel lo siguiente?
Dudas Generales
Fox_Neo 4 3,132 Último mensaje 22 Julio 2013, 18:35 pm
por Fox_Neo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines