Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Stakewinner00 en 17 Enero 2013, 16:39 pm



Título: Bucles
Publicado por: Stakewinner00 en 17 Enero 2013, 16:39 pm
Hola, tengo una duda que no pude resolver, busque por google  y nada.

Lo que me pasa es que quiero analizar por ejemplo 20 rectangulos y todos tienen un nombre tipo RectangleShape1 y lo que necesito es hacer un bucle que modifique el 1 hasta el 20 algo como este bucle que no me funciono.

La idea es hacer que veinte rectangulos o más se muevan de forma aleatorio y por eso necesito el bucle

Código
  1.        For a As Integer = 1 To 4
  2.            Dim aa = "RectangleShape" + a
  3.            aa.left += 1
  4.             RectangleShape+a+.Left += Aleatorio(1, -1)
  5.            ' RectangleShape2.Left += Aleatorio(1, -1)
  6.  
  7.        Next a

Gracias!!


Título: Re: Bucles
Publicado por: $Edu$ en 17 Enero 2013, 17:11 pm
Ni siquiera con tu intento fallido de hacer eso lo haz hecho bien xD
Lee un buen tutorial de Visual Basic, pero leerlo y aprenderlo bien, no leer a la ligera...

Asumiendo que me haras caso y leeras un buen tutorial, te digo que le prestes atencion bien a la parte de Matrices o Arrays de Controles


Título: Re: Bucles
Publicado por: Stakewinner00 en 17 Enero 2013, 17:52 pm
Ni siquiera con tu intento fallido de hacer eso lo haz hecho bien xD
Lee un buen tutorial de Visual Basic, pero leerlo y aprenderlo bien, no leer a la ligera...

Asumiendo que me haras caso y leeras un buen tutorial, te digo que le prestes atencion bien a la parte de Matrices o Arrays de Controles

Me lei un libro de visual basic. Y me sirvio para comenzar.

No recuerdo si allí había algo sobre esto, lo voi a repasar pero creo que no había nada sobre esto


Título: Re: Bucles
Publicado por: $Edu$ en 17 Enero 2013, 19:53 pm
Busca sobre "el guille" que tiene un buen tutorial bastante completo.


Título: Re: Bucles
Publicado por: Stakewinner00 en 18 Enero 2013, 15:19 pm
Alguien me puede dar una pista? Por uqe ya busque pero no sale como poder haacer algo similar a esto.

Citar
    For i = 1 To 3
            var = "RectangleShape" & i
        Next i
MSGBOX (var.location.y)


Título: Re: Bucles
Publicado por: $Edu$ en 18 Enero 2013, 15:34 pm
Ya te dije que hacer y luego que buscar...

No podes hacer eso que queres hacer, si tenes un TextBox1 no podes ir aumentando la parte del numero. Lo que tenes que hacer es crear un array de controles cosa que quede TextBox(0) el primero que creas y luego el segundo TextBox(1), etc, asi ahi si haces TextBox(i) en el bucle.


Título: Re: Bucles
Publicado por: raul338 en 18 Enero 2013, 15:52 pm
1º Eso es .net, ahora lo muevo al foro de .net
2º En .net no se pueden crear array de controles, puedes hacer que varios controles apunten a un msimo evento (identificalos por el sender), o puedes recorrer la propiedad  "Controls" del contenedor (te recomiendo meter todos esos "rectangulos" en un panel)

Recorrelos usando For Each


Título: Re: Bucles
Publicado por: $Edu$ en 18 Enero 2013, 16:08 pm
Hola Raul tanto tiempo! me confundi porque como estaba en visual basic pensaba que era vb6 ademas de que no preste mucha atencion a su codigo porque a simple vista ya estaba mal, debi ver esa declaracion mas cuidadosamente xD


Título: Re: Bucles
Publicado por: Eleкtro en 18 Enero 2013, 16:42 pm
Código
  1. Public Class Form1
  2.  
  3.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.  
  5.        Me.Size = New Point(600, 600)
  6.        Dim Rando As New Random
  7.  
  8.        ' Creo los controles y los añado al form, para este ejemplo.
  9.        Dim Button_(10) As Button
  10.        For num = 0 To 10 : Button_(num) = New Button : Me.Controls.Add(Button_(num)) : Next
  11.  
  12.        For Each Control In Me.Controls
  13.            If Control.GetType.ToString.Contains("Button") Then ' Si el control es de tipo Button...
  14.                Control.location = New Point(Rando.Next(1, 500), Rando.Next(1, 500)) ' Los coloco aleatóriamente
  15.            End If
  16.        Next
  17.    End Sub
  18.  
  19. End Class


Título: Re: Bucles
Publicado por: Stakewinner00 en 18 Enero 2013, 19:06 pm
Gracias a todos, ya lo arregle de una forma similar a la de EleKtro H@cker.

PD:Eso estaba seguro que si que era visual basic 2008, como minimo cuando recupere windows me descargue Microsoft visual basic 2008. Si no es visual basic tendré que repasar las bases.




Título: Re: Bucles
Publicado por: $Edu$ en 18 Enero 2013, 19:10 pm
Esque Visual basic 2008 es de .NET, pero despues esta el Visual basic 6 que es donde habias creado tu tema, y es una version mas vieja de VB que no usa la plataforma NET framework, por lo tanto no tiene miles de funciones como vb.net y no es orientada a objetos.


Título: Re: Bucles
Publicado por: Stakewinner00 en 18 Enero 2013, 20:11 pm
A, gracias por aclararme las dudas para futuros posts.

Yo vi visual basic y pensé que ya estaba bien colocado.