Título: leer un archivo txt Publicado por: RED_HORSE en 8 Abril 2006, 01:32 am hola estoy intentando hacer un proyecto y lo que queria preguntarles es si alguien sabe como hacer esto:
Bueno tengo un archivo txt con muchas lineas de texto de los cuales yo solo quiero obtener alguna parte de ese texto que es solo la parte que contiene los numeros. Seria algo asi Volt = 12244 v voltage expl................... Amp = 4578 A amperaje dado en mili............... Tem = 4785 F farenjei en lo..................... amb = 7889 E fdfsf ................... etc. etc. etc yo quiero que mi aplicasion solo lea los numeros que estan en rojo aqui en mi ejemplo y los coloque en una variable. Intentando por alli trate de hacer con esta forma para poder leer el txt y solo leia la primera linea y lo demas no :-( solo leia Volt = 12244 v voltage expl................... Private Sub Form_Load() Dim a As String If a = "" Then Open "c:\texto.txt" For Input As #1 Input #1, a Close #1 End If Text1.Text = a End Sub bueno espero que alguien me pude ayudar se lo agradecería mucho ;D ;D ;D ;D Título: Re: leer un archivo txt Publicado por: Cicklow en 8 Abril 2006, 02:13 am Código: sw1=0:sw2=0 espero que te ayude, este ejemplo no fue provado con el vb ya que no lo tengo aka Título: Re: leer un archivo txt Publicado por: .:CorTeX:. en 8 Abril 2006, 03:09 am Miralo:
Código: Private Sub Form_Load() Título: Re: leer un archivo txt Publicado por: Cicklow en 8 Abril 2006, 15:37 pm Miralo: Código: Private Sub Form_Load() tu programa tiene un error, seria haci para que funcione: Código: Private Sub Form_Load() Título: Re: leer un archivo txt Publicado por: RED_HORSE en 8 Abril 2006, 16:29 pm si no me equivoco eso no sirve para leer un archivo sino par escribir en el y cosa que yo no quiero hacer ;D
Miralo: Código: Private Sub Form_Load() tu programa tiene un error, seria haci para que funcione: Código: Private Sub Form_Load() Título: Re: leer un archivo txt Publicado por: RED_HORSE en 8 Abril 2006, 16:39 pm esta parte del codigo de ciclos tampoco nunjca lo pedi :-\
lo que yo quiero hacer es que primero me abra todo ese texto que estaba en un txt y lo pueda leer entero en text1.text y de alli resin que tome eso datos numericos lo meta en diferentes varieables para luego utilizarlo en unas ecuasiones que tengo que hacer ;D ;D ;D open "numeros.txt" for append as #2 print #2, numero close numero="" sw1=0:sw2=0 exit for end if next close Título: Re: leer un archivo txt Publicado por: Cicklow en 8 Abril 2006, 17:36 pm ok,..........
pero kon lo que te di ni una idea te das.... no lo podes hacer????? es facil: Código: open "file.txt" for input as #1 Ahora teens que recorrer el text1, para ver lo que tenes!!! y meter los numeros en variables!!! Código: sw1=0:sw2=0:X=1 Título: Re: leer un archivo txt Publicado por: RED_HORSE en 8 Abril 2006, 18:07 pm bueno gracias cicklow mira eso de leer el txt y ponerlo en un texbox ya lo hice y funciona y mira yo lo hice de este otra forma pero es casi iguak
Private Sub Command1_Click() Dim strName As String, strFile As String, strTemp As String On Error GoTo ErrHandler strName = InputBox("Filename:") Open strName For Input As #1 strFile = "" Do Until EOF(1) Line Input #1, strTemp strFile = strFile & strTemp & vbCrLf Loop Text1.Text = strFile Close #1 ErrHandler: End Sub Pero de lo otro estoy tratando de entender y lo que estendi fue esto: sw1=0:sw2=0:X=1 // Definimos cada valor Dim Numeros(1 TO 10000) //Ponemos la variable numeros del 1 al 10000 for i=1 to len(text1.text) //leemos lo que tiene el texbox car = mid(text1.text,i,1) // Lo colocamos en la variable car if car="=" and sw1=0 then //Si car es igual a = y sw1=0 entonces lavariable numero sera igual a numero y a car y sw2=1 numero = numero & car sw2=1 end if if sw2=1 and car=" " then // Si sw2=1 y car es igual a nada entonces numero(x) ba a ser igual a Numero y x sera igual a x +1 y numero igual a nada y sw1 y sw2 igual a cero Numeros(X) = Numero X=X+1 numero="" sw1=0:sw2=0 end if next Y DE QUE ME SERVIRIA TODO ESTO???? Título: Re: leer un archivo txt Publicado por: .:CorTeX:. en 8 Abril 2006, 18:17 pm Si, disculpame, lo de el error es porque no hice terminar el bucle osea que me falto el Wend.
Gracias Cicklow Por la correccion ;) Título: Re: leer un archivo txt Publicado por: RED_HORSE en 8 Abril 2006, 18:17 pm POR EJEMPLO SI YO PUSIERA UN BOTN CON ESTE CODIGO NO ME MOSTRARIA NINGUN NUMERO QUE APARECE EN EL TEXTBOX
Private Sub Command1_Click() Text2.Text = numero End Sub Título: Re: leer un archivo txt Publicado por: RED_HORSE en 9 Abril 2006, 18:19 pm perdon ciclos pero es que aun no lo puedo entender ;D ;D
Título: Re: leer un archivo txt Publicado por: Cicklow en 10 Abril 2006, 17:43 pm Tuve un error, osea no mire bien mi codigo y ahora cuando te lo estaba esplicando me fije bien y no funcionaria, esta es la correccion
Código: sw1=0:sw2=0:X=1 'Iniciamos las variables car =1 Numero = "52" 'ya iniciado Entonces Numero = Nunmero & Car Numero = "521" ' Resultado final o semifinal!!! Ponemos el sw2=1, para que deje de grabar numeros si encuentra un espacio 2- si el car=" " (un espacio) y sw2=1 entonces significa que el numero ya fue gravado en la variable Numero, lo que hacemos entonces es: Guardamos ese numero en el vector Numeros, le sumamos unos mas a X (este sera el indice del vector), y vaciamos variables 3- verificamos si el caracter es un "=" entonces lo que hacesmos es poner sw1 en 1 para que komienze a guardar caracteres como resultad fianl tendremos en el vector todos los numeros, y si lo keremos mostrar en un textbox seria de esta manera: Código: tmptxt = "" Saludos espero ek te ayude!! Título: Re: leer un archivo txt Publicado por: RED_HORSE en 11 Abril 2006, 01:06 am gracias de nuevo cicklow ahora me quedo mas claro que nunca
lo que no me quedo muy en claro es lo de verlo en el texbox ya que esto me da error if Numeros(I) != "" Then luego quite el caracter ! y me dio otro error en Text1.Value = tmptxt PD: yo puse otro texbox con el nombre tmptxt Título: Re: leer un archivo txt Publicado por: Cicklow en 11 Abril 2006, 01:46 am gracias de nuevo cicklow ahora me quedo mas claro que nunca lo que no me quedo muy en claro es lo de verlo en el texbox ya que esto me da error if Numeros(I) != "" Then luego quite el caracter ! y me dio otro error en Text1.Value = tmptxt PD: yo puse otro texbox con el nombre tmptxt con respecto al != es porke laburo con torls lenguajes jejeje reeemplaza el != por <> y listo!!! con el tmptxt cambialo por otro nombre (que se yo: tmptxt2, u lo que kieras) saludos! Título: Re: leer un archivo txt Publicado por: RED_HORSE en 11 Abril 2006, 16:55 pm perdon cicklow te sigo al pie dela letra y aun no lo logro te paso tal cual como lo puse y fijate:
(http://img143.imageshack.us/img143/8122/trabajo5xy.png) Private Sub Command1_Click() beto.Value = tmptxt End Sub Private Sub Form_Load() Open "c:\texto.txt" For Input As #1 contenido = Input(LOF(1), 1) Close Text1.Text = contenido sw1 = 0: sw2 = 0: X = 1 'Iniciamos las variables Dim Numeros(1 To 10000) 'Creamos un vector 'rellenamos el vector (no es nesesario pero sirve For I = 1 To UBound(Numeros) Numeros(I) = "" Next '************************************************** For I = 1 To Len(Text1.Text) 'desde 1 hasta lo que tiene el text1 car = Mid(Text1.Text, I, 1) 'guardamos de a 1 caracter If sw1 = 1 Then '1 numero = numero & car sw2 = 1 End If If sw2 = 1 And car = " " Then '2 Numeros(X) = numero X = X + 1 numero = "" sw1 = 0: sw2 = 0 End If If car = "=" Then sw1 = 1 '3 Next '*********************************************** Dim tmptxt tmptxt = "" For I = 1 To UBound(Numeros) If Numeros(I) <> "" Then tmptxt = Numeros(I) & vbNewLine & tmptxt Else Exit For End If Next End Sub Título: Re: leer un archivo txt Publicado por: Cicklow en 11 Abril 2006, 18:32 pm perdon cicklow te sigo al pie dela letra y aun no lo logro te paso tal cual como lo puse y fijate: (http://img143.imageshack.us/img143/8122/trabajo5xy.png) Private Sub Command1_Click() beto.Value = tmptxt End Sub Private Sub Form_Load() Open "c:\texto.txt" For Input As #1 contenido = Input(LOF(1), 1) Close Text1.Text = contenido sw1 = 0: sw2 = 0: X = 1 'Iniciamos las variables Dim Numeros(1 To 10000) 'Creamos un vector 'rellenamos el vector (no es nesesario pero sirve For I = 1 To UBound(Numeros) Numeros(I) = "" Next '************************************************** For I = 1 To Len(Text1.Text) 'desde 1 hasta lo que tiene el text1 car = Mid(Text1.Text, I, 1) 'guardamos de a 1 caracter If sw1 = 1 Then '1 numero = numero & car sw2 = 1 End If If sw2 = 1 And car = " " Then '2 Numeros(X) = numero X = X + 1 numero = "" sw1 = 0: sw2 = 0 End If If car = "=" Then sw1 = 1 '3 Next '*********************************************** Dim tmptxt tmptxt = "" For I = 1 To UBound(Numeros) If Numeros(I) <> "" Then tmptxt = Numeros(I) & vbNewLine & tmptxt Else Exit For End If Next End Sub si no declaramos tmptxt como global no funcionara. mejoremoslo!:: Código: Private Sub Command1_Click() podes usar el script anterior si declaras "Dim tmptxt" en la general!!, y asi te ahorras de amontonar todo! Título: Re: leer un archivo txt Publicado por: RED_HORSE en 11 Abril 2006, 22:50 pm Me da un error en esta parate:
No tengo ni la minima idea de por que ya que ahora puse tosa editadas las variables fijate (http://img57.imageshack.us/img57/2848/error5mt.jpg) Título: Re: leer un archivo txt Publicado por: Cicklow en 12 Abril 2006, 00:29 am por una sensilla razon... el texbox no tiene la propiedad value (la tiene pero es de solo lectura), asike usa
Código: beto.text = ? Título: Re: leer un archivo txt Publicado por: RED_HORSE en 12 Abril 2006, 23:21 pm No amigo creo que esto ya es en vano ahora no da mas ningun error pero no muestra ningun numero.
te pongo de nuevo los codigos: Private Sub Command1_Click() beto.Text = tmptxt End Sub Private Sub Form_Load() Open "c:\texto.txt" For Input As #1 contenido = Input(LOF(1), 1) Close Text1.Text = contenido sw1 = 0: sw2 = 0: X = 1 'Iniciamos las variables Dim Numeros(1 To 10000) 'Creamos un vector 'rellenamos el vector (no es nesesario pero sirve For I = 1 To UBound(Numeros) Numeros(I) = "" Next '************************************************** For I = 1 To Len(Text1.Text) 'desde 1 hasta lo que tiene el text1 car = Mid(Text1.Text, I, 1) 'guardamos de a 1 caracter If sw1 = 1 Then '1 numero = numero & car sw2 = 1 End If If sw2 = 1 And car = " " Then '2 Numeros(X) = numero X = X + 1 numero = "" sw1 = 0: sw2 = 0 End If If car = "=" Then sw1 = 1 '3 Next '*********************************************** Dim tmptxt tmptxt = "" For I = 1 To UBound(Numeros) If Numeros(I) <> "" Then tmptxt = Numeros(I) & vbNewLine & tmptxt Else Exit For End If Next End Sub Título: Re: leer un archivo txt Publicado por: Cicklow en 13 Abril 2006, 16:54 pm aver provemos esto pone un punto de corte en
tmptxt = "" y fijate el contenido del array Numeros() fijate si tiene algo podes hacer que te los muestre en la ventana de inmediato haci: msgbox Numeros(1) si te muestra algo es que se guardan los numeros pero sino es que hay otro problema... hoy me llevo el codigo este y lo pruevo en mi casa!! Título: Re: leer un archivo txt Publicado por: RED_HORSE en 14 Abril 2006, 00:42 am no me muestra nada espero que me ayudes amigo eres mi dios ;D ;D ;D ;D ;D
Título: Re: leer un archivo txt Publicado por: Cicklow en 14 Abril 2006, 01:12 am weno fiera poneme unas velitas!!!!! jejejeje no mentira:
(http://img20.imageshack.us/img20/7545/clipboard5sg.jpg) Código: Private Sub Form1_Load() Título: Re: leer un archivo txt Publicado por: RED_HORSE en 14 Abril 2006, 22:06 pm gracias amigo me sacaste un peso mas de ensima che ;D ;D ;D ;D ;D
|