ABRIR UN *.txt EN MUCHOS TextBox:

Iniciado por CRAB, 2 Septiembre 2005, 00:45 AM

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

CRAB

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.

NYlOn

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


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

Xpeed

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.

CRAB

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.

Xpeed

#4
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í

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

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.

5v5

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