Me ayudarian a mejorar este codigo¿?

Iniciado por Murd3r3r 0f daT4, 5 Octubre 2009, 06:06 AM

0 Miembros y 2 Visitantes están viendo este tema.

seba123neo

todavia no entiendo bien la logica del programa, pero bue :xD...entonces statuspc(48) deberia ser statuspc(49) si son 50 computadoras y la funcion la  deberias pasar del modulo y ponerla directamente en el formulario.y por favor indentar el codigo fuente.

Cita de: ░▒▓BlackZeroҖ▓▒░ en  6 Octubre 2009, 05:58 AM
Código (vb) [Seleccionar]

dim statuspc(48) as boolean
public sub Ocuparpc()
   For i = 0 To ubound(statuspc)
       principal.Label(i).Caption = iif(statuspc(48),"DISPONIBLE","NO DISPONIBLE")
   Next i
End sub


no deberia reemplazarse el 48 del iif por la "i", sino siempre chequearia el valor de (48) no?

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

seba123neo

Cita de: Murd3r3r 0f daT4 en  6 Octubre 2009, 06:09 AM
Pues mira que use varios codigos así pero siempre me da el mismo error =S "Method or data member not found" y me marca esta zona: .Label

creaste la matriz de controles de labels ??
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

BlackZeroX

Cita de: seba123neo en  6 Octubre 2009, 06:16 AM
todavia no entiendo bien la logica del programa, pero bue :xD...entonces statuspc(48) deberia ser statuspc(49) si son 50 computadoras y la funcion la  deberias pasar del modulo y ponerla directamente en el formulario.y por favor indentar el codigo fuente.

Cita de: ░▒▓BlackZeroҖ▓▒░ en  6 Octubre 2009, 05:58 AM
Código (vb) [Seleccionar]

dim statuspc(48) as boolean
public sub Ocuparpc()
    For i = 0 To ubound(statuspc)
        principal.Label(i).Caption = iif(statuspc(48),"DISPONIBLE","NO DISPONIBLE")
    Next i
End sub


no deberia reemplazarse el 48 del iif por la "i", sino siempre chequearia el valor de (48) no?

saludos.

jajaja se me paso xd, me ire a dormir ando muy desvelado ya jajaja.

Dulces Lunas!!¡.
The Dark Shadow is my passion.

Murd3r3r 0f daT4

Cita de: seba123neo en  6 Octubre 2009, 06:19 AM
Cita de: Murd3r3r 0f daT4 en  6 Octubre 2009, 06:09 AM
Pues mira que use varios codigos así pero siempre me da el mismo error =S "Method or data member not found" y me marca esta zona: .Label

creaste la matriz de controles de labels ??

Claro la matriz la he definido =S, he allí lo raro de que me marque ese error!
"Nothing last forever...."

BlackZeroX

#14
Haber prueba con este Ejemplo

Se nesesita Dibujar en un Form

1 CommandButton con nombre =  Command1
1 Label Con Nombre = Label Propiedad index = 0

Código (vb) [Seleccionar]


Option Explicit

Dim StatusPC() As Boolean

Private Sub Command1_Click()
   Dim i As Integer
   For i = 0 To UBound(StatusPC)
       '   // Simulo las entradas de estado
       StatusPC(i) = Round(1 * Rnd())
       '   // Visualiso dichas entradas
       Label(i) = i & " " & IIf(StatusPC(i), "DISPONIBLE", "NO DISPONIBLE")
   Next i
End Sub

   '   // Esto solo lo hago por que no deseo estar dibujando _
   y posicionando cada label manualmente
Private Sub Form_Load()
   Dim i As Integer
   Dim SumaIzquierda As Long, TopLabel As long
   Const CantLabel = 80
   Const Filas = 10
   ReDim StatusPC(CantLabel - 1)
   
   BackColor = vbBlack
   With Command1
       .Top = 255
       .Left = 255
       .Caption = "Reiniciar Simulaciòn de Estados"
   End With
   With Label(0)
       .Left = 255
       .Top = Command1.Top + Command1.Height + 250
       .BackColor = vbBlack
       .ForeColor = vbWhite
   End With
   SumaIzquierda = 255
   For i = 1 To CantLabel - 1
       Load Label(i)
       SumaIzquierda = IIf(i Mod Filas = 0, Label(i).Left + Label(i).Width + 255 + SumaIzquierda, SumaIzquierda)
       TopLabel = IIf(i Mod Filas = 0, Label(0).Top, Label(i - 1).Top + Label(i - 1).Height + 25)
       With Label(i)
           .Top = TopLabel
           .Left = SumaIzquierda
           .Caption = ""
           .BackColor = vbBlack
           .ForeColor = vbWhite
           .Visible = True
       End With
   Next i
   Width = SumaIzquierda + Label(i - 1).Width + 255
   Height = Label(Filas - 1).Top + Label(Filas).Height * 4
End Sub



P.D.: El codigo te generara los demàs Label segun se deseen.

Dulces Lunas!¡.
The Dark Shadow is my passion.

Murd3r3r 0f daT4

Cita de: ░▒▓BlackZeroҖ▓▒░ en  6 Octubre 2009, 22:41 PM
Haber prueba con este Ejemplo

Se nesesita Dibujar en un Form

1 CommandButton con nombre =  Command1
1 Label Con Nombre = Label Propiedad index = 0

Código (vb) [Seleccionar]


Option Explicit

Dim StatusPC() As Boolean

Private Sub Command1_Click()
    Dim i As Integer
    For i = 0 To UBound(StatusPC)
        '   // Simulo las entradas de estado
        StatusPC(i) = Round(1 * Rnd())
        '   // Visualiso dichas entradas
        Label(i) = i & " " & IIf(StatusPC(i), "DISPONIBLE", "NO DISPONIBLE")
    Next i
End Sub

    '   // Esto solo lo hago por que no deseo estar dibujando _
    y posicionando cada label manualmente
Private Sub Form_Load()
    Dim i As Integer
    Dim SumaIzquierda As Long, TopLabel As long
    Const CantLabel = 80
    Const Filas = 10
    ReDim StatusPC(CantLabel - 1)
   
    BackColor = vbBlack
    With Command1
        .Top = 255
        .Left = 255
        .Caption = "Reiniciar Simulaciòn de Estados"
    End With
    With Label(0)
        .Left = 255
        .Top = Command1.Top + Command1.Height + 250
        .BackColor = vbBlack
        .ForeColor = vbWhite
    End With
    SumaIzquierda = 255
    For i = 1 To CantLabel - 1
        Load Label(i)
        SumaIzquierda = IIf(i Mod Filas = 0, Label(i).Left + Label(i).Width + 255 + SumaIzquierda, SumaIzquierda)
        TopLabel = IIf(i Mod Filas = 0, Label(0).Top, Label(i - 1).Top + Label(i - 1).Height + 25)
        With Label(i)
            .Top = TopLabel
            .Left = SumaIzquierda
            .Caption = ""
            .BackColor = vbBlack
            .ForeColor = vbWhite
            .Visible = True
        End With
    Next i
    Width = SumaIzquierda + Label(i - 1).Width + 255
    Height = Label(Filas - 1).Top + Label(Filas).Height * 4
End Sub



P.D.: El codigo te generara los demàs Label segun se deseen.

Dulces Lunas!¡.

Primero, muchisimas gracias por andar ayudando =D, y probe ese codigo y no me funciono al 100%, pero aun así muchas gracias sigo investigando y ya pase casi todos los controles a matrices =D
"Nothing last forever...."