Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 leer archivos de texto
 Foro Bloqueado  Tema Bloqueado


Autor Temas
mephibosheth
Starting Member

Chile
26 Posts
Mensajes - 29 Oct 2003 :  05:53:14  Ver Perfil  Enviar Email
lo ke kero es ir leyendo linea por linea un archivo de texto, hasta ke llegue al fin del archivo. he tratado codigos pero se keda pegado y no muestra nada, alguien sabe el codigo ke funcione?

m0j0
Junior Member

Espa�a
209 Posts
Posted - 29 Oct 2003 :  08:54:34  Ver perfil  Enviar e-mail
Hola mephiboshet,

Échale un vistazo a la documentación y ejemplos sobre el objeto File System Object. Aunque supongo que si dices que has probado ya algún código, ya habrás leído sobre FSO.

Documentación en Devguru sobre el método OpenTextFile de File System Object:
http://www.devguru.com/Technologies/vbscript/quickref/filesystemobject_opentextfile.html

En este foro también se ha comentado muchas veces este tema. En este mensaje por ejemplo hablamos sobre FSO, pero en este caso para escribir en un fichero. Si lo que quieres es leer sería de una forma bastante similar, supongo:
http://www.asptutor.com/foros/topic.asp?TOPIC_ID=7460&FORUM_ID=9&CAT_ID=2&Topic_Title=ESCRITURA+DE+ARCHIVOS&Forum_Title=ASP

Simplemente en lugar de utilizar el método OpenTextFile en modo escritura, hazlo en modo lectura, por ej.

Un saludo

Javier-msn@mixmail.com


"Un viaje de mil millas comienza con un solo paso" (Lao Tse)

Edited by - m0j0 on 29 Oct 2003 08:55:52Inicio Pagina

dos
Moderator

España
1575 Posts
Posted - 29 Oct 2003 :  09:45:07  Ver perfil  Enviar e-mail
tienes que jugar con el metodo "readline" del objeto TextStream obtenido a traves del File System Object o de un objeto File.

Este método lee una línea y deja el cursor en la siguiente línea listo para leer. Ademas debes usar otra propiedad: "AtEndOfStream", que te dice si estas al final del archivo.

Lo suyo es hacer algo como esto:

<%
Dim objFSO, objStream
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objStream
= objFSO.OpenTextFile("c:\somefile2.txt", 1, false)

Do While objStream.AtEndOfStream <> true
Response.Write "Linea: " & objStream.ReadLine & "<br>" 'pongo el br porque html no reconoce los saltos de línea de los archivos de texto.
Loop

objStream.Close()
Set objStream = null
Set objFSO = null
%>

No he probado el ejemplo, asi que si tienes problemas con el, dimelo.

Saludos.

Solo se ayuda al que se ayuda a si mismo. No esperes que nosotros resolvamos tus problemas si tu no te preocupas por intentar resolverlos tu antes.Inicio Pagina

mephibosheth
Starting Member

Chile
26 Posts
Posted - 31 Oct 2003 :  05:39:42  Ver perfil  Enviar e-mail
hola, sabes probe tu codigo pero se keda pegado, no se porke y no procesa nunca, es un archivo de una sola linea, no se si tendre ke instalar alguna dll o ke, pero no corre

Inicio Pagina

dos
Moderator

España
1575 Posts
Posted - 31 Oct 2003 :  09:39:52  Ver perfil  Enviar e-mail
mi script tenia un fallo, usaba null en lugar de nothing (la costumbre de c#). Tambien se bailó un salto de línea, asi debe ser el script:

<%
Dim objFSO, objStream
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objStream = objFSO.OpenTextFile("C:\Inetpub\wwwroot\pruebasASP\archivos_FSO\alguno.htm", 1, false)

Do While objStream.AtEndOfStream <> true
Response.Write "Linea: " & objStream.ReadLine & "<br>" 'pongo el br porque html no reconoce los saltos de línea de los archivos de texto.
Loop

objStream.Close()
Set objStream = nothing
Set objFSO = nothing
%>

Asegurate de poner bien la ruta del archivo que quieres leer.

De todas formas los fallos que habia eran muy facilmente detectables pues afectaban a la misma sintaxis de la estructura de vbscript.

Instalar dll's?? ninguna, la unica requerida ya viene con el iis.

Saludos.

Solo se ayuda al que se ayuda a si mismo. No esperes que nosotros resolvamos tus problemas si tu no te preocupas por intentar resolverlos tu antes.

Edited by - dos on 31 Oct 2003 09:41:22Inicio Pagina

mephibosheth
Starting Member

Chile
26 Posts
Posted - 04 Nov 2003 :  01:12:11  Ver perfil  Enviar e-mail
hola, ya puedo leer los archivos txt, y consegui sacar pedazo por pedazo de cada linea, para transformar eso en un insert de sql, funciona, pero algunas lineas no las toma, como ke se las salta, estoy pensando si habria alguna funcion ke lea una linea especifica?

asi iria una por una y no se saltaria

yo ocupo objStream.ReadLine , pero me gustaria alguna ke leyera una linea especifica ej: linea 10

grax

Inicio Pagina

dos
Moderator

España
1575 Posts
Posted - 04 Nov 2003 :  09:55:06  Ver perfil  Enviar e-mail
Estoy pensando, porque no haces algo mucho mas sencillo. Leer todo el archivo de golpe y luego lo diseccionas en un array unidimensional.

Yo lo haria asi:

<%
Dim objFSO, objStream
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objStream = objFSO.OpenTextFile("C:\Inetpub\wwwroot\pruebasASP\archivos_FSO\alguno.htm", 1, false)

Dim contenidoTxt
contenidoTxt = objStream.ReadAll 'con esto metemos en contenidoTxt todo el contenido del archivo

'limpiamos los objetos que ya no son necesarios

objStream.Close()
Set objStream = nothing
Set objFSO = nothing

'ahora tenemos que diseccionarlo con la función split
contenidoTxt = Split(contenidoTxt, vbcrlf)
'hemos transformado contenidoTxt en un array.
'ejemplo de uso:
for i = 0 to ubound(contenidoTxt)
response.write "Línea " & i & ": " & contenidoTxt(i) & "<br>"
next
%>

Pillas mas o menos la idea??

PD: aviso, el script no esta probado, por tanto puede que partirlo con vbcrlf no funcione, entonces tendrás que partirlo, si no recuerdo mal, con Chr(10) & Chr(13) que con el salto de linea y el retorno de carro

Saludos.

Solo se ayuda al que se ayuda a si mismo. No esperes que nosotros resolvamos tus problemas si tu no te preocupas por intentar resolverlos tu antes.Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar