Leer archivos

Iniciado por likeu, 21 Agosto 2006, 10:16 AM

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

likeu

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?
   

Gorky

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.

_Sergi_

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
Proyecto de Ingeniero

likeu

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!

_Sergi_

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  ;)
Proyecto de Ingeniero

likeu

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.



likeu

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!