Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: CRAB en 2 Septiembre 2005, 00:45 am



Título: ABRIR UN *.txt EN MUCHOS TextBox:
Publicado por: CRAB en 2 Septiembre 2005, 00:45 am
Hola, de nuevo estoy auí perguntando cosas, espero no ser muy pesado, ahí va mi pregunta:

Tengo 93 TextBox que se llaman txtData(1)....txtData(93), bien, pues lo que no se es como puedo abrir un archivo *.txt en todas esas TextBox, en el archivo hay esto:

03            11            44            06            21            32            01            12            67            28            81            37            02            17            92            31            43            57            71            60            23            38            62            84            05            50            13            27            49            70            64            83            10            29            47            87            22            61            85            04            14            99            48            66            86            34            51            72            68            30            97            42            53            69            82            26            09            52            35            89            16            55            73            88            46            24            07            59            95            20            58            77            36            90            63            25            19            80            08            45            98            18            56            94            39            91            80            41            96            54


Pues de lo que se trata es de que el primer número va en un TextBox, el segundo en otro, y así sucesivamente.
                    ¿COMO SE PUEDE HACER ESO?

Por ahora ya he hecho que se guarden, pero no se hacer que se habra en cada uno su número correspondiente.

GRACIAS de nuevo.


Título: Re: ABRIR UN *.txt EN MUCHOS TextBox:
Publicado por: NYlOn en 2 Septiembre 2005, 01:07 am
mira podes hacer lo siguiente:
1ro que todo vas a tener que hacer los 93 txtbox independientes (sin los Index) y abrir el arcihvo en un TxtBox que lo podes hacer invisible

Código:
Private Sub Form_Load()
Text2.Text = Mid(Text1.Text, 1, 2) 'el Text1 es el TxtBox invisible que contiene el archivo
Text3.Text = Mid(Text1.Text, 15, 2)' al 1 se le agregan 14, q son los espacios entre numero y numero
Text4.Text = Mid(Text1.Text, 29, 2)'14 + 14...
'etc...
End Sub
espero que te sirva, y fijate si podes hacer un boocle para no escribir tanto xD
un saludo

G0nz4


Título: Re: ABRIR UN *.txt EN MUCHOS TextBox:
Publicado por: Xpeed en 2 Septiembre 2005, 03:05 am
Código:
Dim i%, hFile% , a$
hFile = Freefile
    For i = 0 To 93
        Do While Not EOF(hFile)       
         Open "C:\a.txt" For Input As #hFile
         Line Input #hFile, a
         Text(i).Text = Text(i).text & a
         Close #hFile
        Loop
    Next i


un saludo.


Título: Re: ABRIR UN *.txt EN MUCHOS TextBox:
Publicado por: CRAB en 3 Septiembre 2005, 14:42 pm
Muchas gracias NYlOn y Xpeed,
Hola Xpeed, el cófigo que me has dado ya lo he provado yt me da error en la línea de la función

Do While Not EOF(hFile),

no se porque, si me pudieras decir como puedo solucionarlo te lo agradecería mucho.

Yo lo que he hecho es esto:

Private Sub abrir_Click()
Dim i%, hFile%, A$
cmd4.DialogTitle = "Guardar archivo de números"
cmd4.Filter = "(*.amf-num)|*.amf-num|Todos los archivos(*.*)|*.*"
cmd4.ShowOpen
hFile = FreeFile
    For i = 0 To 93
        Do While Not EOF(hFile)
         Open cmd4.FileName For Input As #hFile
         Line Input #hFile, A
         txtData(i).Text = txtData(i).Text & A
         Close #hFile
        Loop
    Next i
End Sub

Si he cometido algun error me lo dices. GRACIAS a los dos.


Título: Re: ABRIR UN *.txt EN MUCHOS TextBox:
Publicado por: Xpeed en 3 Septiembre 2005, 20:19 pm
efectivamente he cometido 2 errores magistrales, esa linea va despues de abrir el archivoy se debe serrar despues del loop o no habra len de ningun arhivo ya que estará cerrado .. duh... en definitiva queda así

Código:
Dim i%, hFile%, a$
hFile = FreeFile
    For i = 0 To 93
         Open "C:\a.txt" For Input As #hFile
         Do While Not EOF(hFile)
         Line Input #hFile, a
         Text1(i).Text = Text1(i).Text & a
         Loop
         Close #hFile
    Next i


un saludo.


EDITO: lo he probado y corre correctamente, pero, lo he hecho coin 5 textboxes y con un texto de 30 kb y creeme que va muy mal, es muy lento.... asi que hazlo de esta manera que es la mejor para este caso

Código:
Dim i%, hFile%, a$
hFile = FreeFile
    For i = 0 To 93
         Open "D:\a.txt" For Input As #hFile
         a = Input(LOF(hFile), #hFile)
         Text1(i).Text = a
         Close #hFile
    Next i

la anterior es para cuando necesites leer necesariamente linea por linea

un saludo.


Título: Re: ABRIR UN *.txt EN MUCHOS TextBox:
Publicado por: 5v5 en 7 Septiembre 2005, 19:52 pm
Te aclaro que soy novato en visual basic 6...

Pero porque no haces que tus numeros se guarden en forma lineal en el .txt...ejemplo...

1
2
3
4
5

asi seria mas facil, y evitarias espacios y solo usarias lineas...

Otra sugerencia podrias dividir los numeros de la siguiente forma...

1|2|3|4|5

asi solo haces la carga condicionando por cada vez que encuantre un |....bueno espero me haya explicado ...

hasta pronto