¿ Que estoy haciendo mal ?

Iniciado por Mr.Know, 14 Junio 2010, 23:16 PM

0 Miembros y 1 Visitante están viendo este tema.

Mr.Know



Perfecto ! gracias a todos el codigo ya tira genial  ;-)

BlackZeroX▓▓▒▒░░  Gracias por el codigo pero creo que no me va a servir, para el diseño general del programa puedo usar Label1....LabelX  pero luego tengo que asignar a cada label un Nomnre especifico y no creo que el metodo ese me sirva.

De todas formas como el codigo ya no me devuelve ningun error perfecto.

un saludo
360 Piratas: Un blog sobre la consola Xbox 360

Echarle un vistazo !

BlackZeroX

#11
siempre hay forma sabes!¡

callbyname()

For Each ObjControl in controls... Next

Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

BlackZeroX

#12
Aqui te lo dejo... el codigo de arriba deje el array MaxNumeros perdona era TmpLine xP
A y no no era CallByName sorry!¡.

Código (vb) [Seleccionar]

Private Sub leer_partido(ByVal StrPath$): On Error Resume Next
If Dir(StrPath, vbArchive) = "" Then Exit Sub
Dim TMPLine$        '   //  String
Dim i%              '   //  Long    de forma Pre esta en 0
Dim nFic#           '   //  Integer
Dim Label_Tmp       As label
   Label_Tmp = Information.TypeName(tmplabel)
   nFic = FileSystem.FreeFile
   Open StrPath For Input As nFic
       Do While Not FileSystem.EOF(nFic)
           Input #nFic, TMPLine$
           i = i + 1
           If Information.IsNumeric(TMPLine$) Then
               Dim lbl As Control
               For Each lbl In Me.Controls
                   Debug.Print TypeName(lbl)
                   If TypeName(lbl) = Label_Tmp Then ' puede dejarse como comentario pero mejor estar seguro no xP
                       If Strings.LCase(lbl.Name) = Strings.LCase("label" & i) Then
                           lbl.Caption = TMPLine$
                           Exit For
                       End If
                   End If ' puede dejarse como comentario pero mejor estar seguro no xP
               Next
           Else
               resultados.AddItem = TMPLine$
           End If
           DoEvents
       Loop
   Close nFic
   Contador1 = Contador1 + 1
End Sub


Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

Psyke1

#13
Aunque el tema este solucionado queria hacer una recomendacion:
Cita de: Mr.Know en 15 Junio 2010, 11:08 AM
Hola

Perfecto creo que ya lo he entendido mejor  :P ahora haber que tal de esta manera:


Veis algun fallo importante en el codigo ?

Código (vb) [Seleccionar]

Public Final As String ' Esta variable la calcule en otra funcion, pero la necesito en varias funciones asique la declaro como publica
Sub leer_partido()
   Dim MasNumeros(1 To 19) As String ' Tengo que usar String porque 18 lineas son numeros y 1 es alfanumerica
   Dim i%
   Dim nFic%
   Dim inicial As Integer
   inicial = 1
   nFic = FreeFile
   Open Final For Input As nFic
   For i = 1 To 19
       Input #nFic, MasNumeros(i)
   Next
   Close nFic
   Contador1 = Val(Contador1) + Val(inicial) ' Necesito llevar la cuenta de cuantas veces se llama a esta funcion.
'Ahora voy volcando dato a dato del array en su correspondiente label
   Label1.Caption = MasNumeros(1) & vbCrLf
   Label2.Caption = MasNumeros(2) & vbCrLf
   Label3.Caption = MasNumeros(3) & vbCrLf
   Label4.Caption = MasNumeros(4) & vbCrLf
   Label5.Caption = MasNumeros(5) & vbCrLf
   Label6.Caption = MasNumeros(6) & vbCrLf
   Label7.Caption = MasNumeros(7) & vbCrLf
   Label8.Caption = MasNumeros(8) & vbCrLf
   Label9.Caption = MasNumeros(9) & vbCrLf
   Label10.Caption = MasNumeros(10) & vbCrLf
   Label11.Caption = MasNumeros(11) & vbCrLf
   Label12.Caption = MasNumeros(12) & vbCrLf
   Label13.Caption = MasNumeros(13) & vbCrLf
   Label14.Caption = MasNumeros(14) & vbCrLf
   Label15.Caption = MasNumeros(15) & vbCrLf
   Label16.Caption = MasNumeros(16) & vbCrLf
   Label17.Caption = MasNumeros(17) & vbCrLf
   Label18.Caption = MasNumeros(18) & vbCrLf
   resultados.AddItem = MasNumeros(19) & vbCrLf ' Esto es un listbox y le meto datos alfanumericos ( una frase con numeros )
End Sub
Creo que se podria simplificar haciendo una matriz de controles con los labels, ahorrarias mucho codigo, en una linea lo que haces en 18:
Código (vb) [Seleccionar]

For x = 1 to 18 : Label1(x).Caption = MasNumeros(x) & vbCrLf : Next


Salu2! :)

Citar
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.