VBScript-> Set fso=Create... ->Set x=fso.OpenTextFile-> x.Line=3 ???

Iniciado por ‡‡‡ Ðξλ†Ћ Щλ†ζЋ ‡‡‡, 15 Diciembre 2008, 02:15 AM

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

‡‡‡ Ðξλ†Ћ Щλ†ζЋ ‡‡‡

Hola, como estan:  :)

Estoy haciendo un script en VBScript, que despues he de postear aqui a ver que opinan o si les sirve de algo.

Pero tengo una duda, que espero que me puedan orientar:  :huh:

Set fso=CreateObject("Scripting.FileSystemObject")

Set arch=fso.OpenTextFile("C:\Scripts\archivo.txt", 1)
' archivo.txt tiene + de 5 lineas.

' En esta linea esta todo el problema.
arch.Line=2

lec=arch.ReadLine

arch.close

msgbox lec

Lo que quiero es que se pase a la linea 2, para que la lea y la guarde en la variable lec, pero me manda el siguiente error:

Wrong number of arguments or invalid property assignment: 'arch.Line'

No existe el metodo var.Line=# como tal?

Gracias de antemano.

Un saludo y Feliz Navidad.................. ;)  ;)  ;)

Novlucker

#1
No, no existe lo que pides, pero existe skipline  :P

Código (vb) [Seleccionar]
Set fso=CreateObject("Scripting.FileSystemObject")

Set arch=fso.OpenTextFile("C:\Scripts\archivo.txt", 1)
' archivo.txt tiene + de 5 lineas.

arch.skipline
'con esta funcion saltas una linea

lec=arch.ReadLine

arch.close

msgbox lec


Con skipline lo que haces es saltar una linea, en tu ejemplo saltas una linea y quedas en la segunda, de este modo cuando la lees te da el texto de la segunda  ;)

Saludos y feliz navidad

P.d: Con etiquetas GeSHi queda más claro, pon las de VB  :P
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

‡‡‡ Ðξλ†Ћ Щλ†ζЋ ‡‡‡

Amigo:

Te agradezco tu respuesta y tan rapido.

Perdon por volver a lo mismo, pero en el siguiente ejemplo que pongo:

Código (vb) [Seleccionar]
Set fso=CreateObject("Scripting.FileSystemObject")

Set arc=fso.OpenTextFile("C:\Scripts\archivo.txt", 1)

Do Until arc.Line=5
var=arc.ReadLine
msgbox var
Loop

arc.Close


no entiendo muy bien si realmente es que no se puede aplicar de forma independiente:

Código (vb) [Seleccionar]
var=3
x.Line=var


Por lo de GeSHi, es que no lo habia usado nunca  :P. De hecho ni sabia que existía  :o  ;D

Gracias nuevamente amigo.

Sabes de alguna propiedad que te permita colocarte en una linea en particular, como lo que estaba intentando yo con el Line?

Saludos!!!

Novlucker

CitarSabes de alguna propiedad que te permita colocarte en una linea en particular, como lo que estaba intentando yo con el Line?
El DO que ya tienes, pasa que lo estas aplicando mal, y como opción más legible tienes el FOR  :rolleyes:
Te lo muestro con el primer ejemplo que dejaste...

Código (vb) [Seleccionar]
Set fso=CreateObject("Scripting.FileSystemObject")

Set arch=fso.OpenTextFile("C:\Scripts\archivo.txt", 1)
' archivo.txt tiene + de 5 lineas.

For i=1 to 5
arch.skipline
Next

lec=arch.ReadLine
'Leemos la línea 6

arch.close
msgbox lec

Ya ves? con el For salto 5 líneas y leo la sexta :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

‡‡‡ Ðξλ†Ћ Щλ†ζЋ ‡‡‡

Vientos amigo  :laugh:, me has ahorrado varias lineas de codigo.

Es una super opción.
No cabe duda que el que sabe, sabe.

Gracias. Lo he de adecuar al script y ya si tengo alguna duda, te vuelvo a dar lata  ;D.

Saludos!!!