Bueno, estoy haciendo un programita y me falta algo.
Lo que necesito es abrir un archivo de text y guardar las primeras 2 lineas en variables por separado.
Logre hacerlo pero solamente si tengo el archivo de texto en mi pc.
Lo que necesito es sacar esa info pero de un TXT que esta en la web.
Espero que puedan ayudarme
===================
Esto es lo que hice yo
Dim Cadena$, Numero%
Dim nF%
nF = FreeFile
Open "c:\prueba.txt" For Input As nF
Line Input #nF, Cadena
Line Input #nF, sTmp
Numero = Val(sTmp)
Close nF
=====================
necesitaria que la direccion sea una web en vez de c:\prueba.txt
obviamente open no funciona....alguien sabe como?
Asi tal cual no lo vas a conseguir. Primero deberias hacer que tu programa se descargue el archivo, que lo guarde en el disco y posteriormente ya puedes abrirlo en local y leer.
Si, es lo que dice Gorky primero tienes que descargar el archivo. Lo más lógico es utilizar sockets pero hay una forma más sencilla y es utilizando la API URLDownloadToFile. Aquí tienes un ejemplo que descarga archivo.txt desde http://www.misitio.com/archivo.txt.
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function
Private Sub Form_Load()
DownloadFile "http://www.misitio.com/archivo.txt", "c:\archivo.txt"
End Sub
Ok, supongamos que el archivo ya se ha descargado. Según lo dicho, si disponemos de un archivo de texto en la ruta "C:\archivo.txt", con la instrucción:
Open "C:\datos.txt" For Input Lock Write As #1
podemos abrirlo para lectura impidiendo además su modificación durante el proceso (Lock Write). Le asignamos el número 1 como identificador.
Ahora, para leer su primera línea podemos escribir:
Dim Linea As String
Line Input #1, Linea
La instrucción Line Input leerá la línea actual de un archivo (especificado a través de su número identificador, que en este caso es uno) y la anota en la variable de tipo texto (String) que se le indique como segundo parámetro. Tras ejecutar esta instrucción en la variable Linea tendremos el texto correspondiente a la primera línea del archivo indicado.
Ojo. El puntero de lectura del archivo (la posición actual de lectura) se habrá situado automáticamente al principio de la siguiente línea del archivo, de manera que si ejecutamos otra vez:
Line Input #1, Linea
Linea contendrá ahora el texto de esta segunda línea.
Creo que ya tienes todo lo que necesitas para hacerlo pero si tienes alguna duda concreta no dudes en preguntar.
Un saludo
Un garron :( no me sirve eso.
Tengo que leerlo directamente del server.
Un amigo me tiro una linea pero despues se desconecto del msn y no pude terminar.
Era esto, a ver si a alguno le prende una luz :p
-Agregue el componente MSINET.DLL (Microsoft internet transfer control)
-Luego de esto en vez de poner "open" y el archivo pongo:
Control.OpenURL ("http://www.pagina.com/prueba.txt")
y ahi se desconecto mi amigo :p
Me falto como leer las lineas del archivo despues....porque con line input no pasa nada :p
Likeu!
Bueno entenderás que yo no pueda estar en la cabeza de tu amigo para continuar su explicación... así que porqué no nos dices que prblema tienes? Ya sabes, dudas concretas. Un "no me sirve" no nos sirve para nada xD
Un saludo ;)
Tenes razon :p
Bueno, estuve pensando y puede ser que sirva el bajar el archivo, siempre y cuando luego lo pueda borrar y ademas, QUE NO LO ABRA, que solo lo lea.
El tema es que no quiero que el usuario que use mi programa pueda ver el TXT ese.
Yo lo quiero usar para subir un archivo de texto con 2 filas; una para el usuario y otra para contraseña.
Entonces al leer los datos, los comparo con los datos que puso el usuario y asi autentico el login.
Se que no es para nada seguro, pero es un programita para un par de amigos, y no son de los que entienden mucho de estas cosas.
Pasa que no quiero que lo pasen porque...bueno por varios motivos :p
Likeu!