Foros del Web » Programando para Internet » ASP Clásico »

Archivo de texto - Split

Estas en el tema de Archivo de texto - Split en el foro de ASP Clásico en Foros del Web. Tengo este codigo que funciona, pero muestra el error cuando el archivo de texto esta en otra carpeta y no en la raiz: El subíndice ...
  #1 (permalink)  
Antiguo 29/09/2008, 13:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Busqueda Archivo de texto - Split

Tengo este codigo que funciona, pero muestra el error cuando el archivo de texto esta en otra carpeta y no en la raiz:
El subíndice está fuera del intervalo: '[number: 0]'


Código:
archivo = "archivo.txt"
archivo = Server.MapPath("carpeta/"&archivo)  ' Mal
archivo = Server.MapPath(archivo) '   bien

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objStream = objFSO.OpenTextFile(archivo, 1, false)

Do While objStream.AtEndOfStream <> true

line= objStream.ReadLine

Response.Write(line)

line = split(line, ";")

Response.write(line(0))
Response.Write("<br>")
Response.write(line(1))
Response.Write("<br>")
Response.write(line(2))
Response.Write("<br>")
Response.write(line(3))
Response.Write("<br>")
Response.write(line(4))
Response.Write("<br>")

Loop

objStream.Close()
Set objStream = nothing
Set objFSO = nothing
%>
Solo lee la primera linea para la segunda muestra el error.
  #2 (permalink)  
Antiguo 29/09/2008, 13:50
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Respuesta: Archivo de texto - Split

Probá así;

archivo = Server.MapPath("/carpeta/"&archivo)
__________________
...___...
  #3 (permalink)  
Antiguo 29/09/2008, 13:53
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Archivo de texto - Split

Cita:
Iniciado por Al Zuwaga Ver Mensaje
Probá así;

archivo = Server.MapPath("/carpeta/"&archivo)
Ahora dice :

Ruta de acceso no encontrada

Última edición por kubuntu; 29/09/2008 a las 14:07
  #4 (permalink)  
Antiguo 29/09/2008, 14:09
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Archivo de texto - Split

ademas de que si comento el split, funciona, pero necesito para sacarlo por campos.


line = split(line, ";")

Response.write(line(0))
Response.Write("<br>")
Response.write(line(1))
Response.Write("<br>")
Response.write(line(2))
Response.Write("<br>")
Response.write(line(3))
Response.Write("<br>")
Response.write(line(4))
Response.Write("<br>")


Ayuda por favor! He mirado otros codigos nada

Última edición por kubuntu; 30/09/2008 a las 06:10
  #5 (permalink)  
Antiguo 30/09/2008, 08:54
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Archivo de texto - Split

Ayuda, por favor como hago para leer el archivo pero con el split y dentro de un subcarpeta.
  #6 (permalink)  
Antiguo 01/10/2008, 07:18
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Error: El subíndice está fuera del intervalo

El error solo sale cuando utilizo el split para separar la linea por campos, de un txt que esta en una subcarpeta.

viewtxt.asp
carpeta/archivo.txt --> no funciona
archivo.txt -------------> si funciona


Código asp:
Ver original
  1. dim archivo, cadenasep, objFSO, objStream,linea
  2. archivo = "archivo.txt"
  3. dir="carpeta"
  4. 'archivo=server.MapPath(".")&"\"&dir&"\"&archivo
  5. archivo = Server.MapPath(archivo)
  6.  
  7. Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
  8. Set objStream = objFSO.OpenTextFile(archivo, 1, false)
  9.  
  10. Do While objStream.AtEndOfStream <> true
  11.  
  12. line =""
  13. line= objStream.ReadLine
  14.  
  15. Response.Write(line)
  16.  
  17. linea = split(line, ";")
  18.  
  19. Response.write(line(0))
  20. Response.Write("<br>")
  21. Response.write(line(1))
  22. Response.Write("<br>")
  23. Response.write(line(2))
  24. Response.Write("<br>")
  25. Response.write(line(3))
  26. Response.Write("<br>")
  27. Response.write(line(4))
  28. Response.Write("<br>")
  29.  
  30. 'Response.End()
  31. Loop
  32.  
  33. objStream.Close()
  34. Set objStream = nothing
  35. Set objFSO = nothing
  #7 (permalink)  
Antiguo 01/10/2008, 10:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Respuesta: Error: El subíndice está fuera del intervalo

Habría que ver el contenido de tu archivo *.txt.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 01/10/2008, 10:16
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Respuesta: Error: El subíndice está fuera del intervalo

por que no haces una comprobacion, quizas no esta leyendo el archivo en la carpeta, solo cuando esta en la misma raiz y por eso te marca el error
  #9 (permalink)  
Antiguo 01/10/2008, 10:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Error: El subíndice está fuera del intervalo

Cita:
Iniciado por David el Grande Ver Mensaje
Habría que ver el contenido de tu archivo *.txt.
el archivo tiene 6 columnas separadas por ";" (split)

cc;nombre;pais;ciudad;edad;valor


y si esta leyendo el archivo solo que solo lee la primera linea

por eso tengo ---> "response.end"
  #10 (permalink)  
Antiguo 01/10/2008, 11:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Pregunta Respuesta: Archivo de texto - Split

Al final no entendí, ¿no da ningún error pero no lee todo el archivo?. ¿Es eso lo que sucede?.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 01/10/2008, 12:26
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Archivo de texto - Split

Si encuentra el archivo.
no lee todo el archivo por que para la segunda linea se queda en el error.
se puede ver la primera linea del archivo con el response.end().
  #12 (permalink)  
Antiguo 01/10/2008, 12:30
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Respuesta: Archivo de texto - Split

no seria en lugar de esto:
Response.write(line(0))

ESTO:
Response.write(linea(0))
....
  #13 (permalink)  
Antiguo 01/10/2008, 12:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Archivo de texto - Split

Cita:
Iniciado por sjam7 Ver Mensaje
no seria en lugar de esto:
Response.write(line(0))

ESTO:
Response.write(linea(0))
....
lo siento, al copiarlo quedo asi, pero lo tengo tengo bien (linea(0)), tanto que cuando utilizo el archivo txt de la raiz funciona todo bien.

viewtxt.asp
carpeta/archivo.txt --> no funciona
archivo.txt -------------> si funciona
  #14 (permalink)  
Antiguo 04/10/2008, 07:41
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Archivo de texto - Split

Gracias a todos por su atencion.

Conclusion no se puede.
  #15 (permalink)  
Antiguo 06/10/2008, 12:19
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Respuesta: Archivo de texto - Split

a mi lo que se me hace raro es que poniendo el archivo en la raiz si funcione, de lo que quiero pensar que es exactamente el mismo archivo, las carpetas tienen los mismos permisos, etc...

2 opciones mas:
1.- Comprueba con FSO que si se este leyendo el archivo cuando esta en la carpeta, quizas sea un problema de configuracion del servermap
2.- Pon el archivo en la raiz siempre
  #16 (permalink)  
Antiguo 06/10/2008, 16:53
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Archivo de texto - Split

Cita:
Iniciado por kubuntu Ver Mensaje
Si encuentra el archivo.
no lee todo el archivo por que para la segunda linea se queda en el error.
se puede ver la primera linea del archivo con el response.end().
si lee al menos la primera linea, cuando va a leer la segunda linea es que se pierde y da el error.
  #17 (permalink)  
Antiguo 07/10/2008, 07:56
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Pregunta Respuesta: Archivo de texto - Split

¿Has probado sin hacer Split leer todas las líneas para ver si realmente las está leyendo o no?.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #18 (permalink)  
Antiguo 07/10/2008, 22:07
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: Archivo de texto - Split

si no estoy muy equivocado y esta espuma me deja pensar (ya valio)

al parecer el error esta presisamente en la forma en que estan realizando el split
por que? por que al principio evaluas el ";" (punto y coma), pero.... has verificado que las siguientes lineas sigan el mismo estandar???

no te has fijado si esos estan separados en " " (espacio)????

otra, porque no lees linea por linea, si ya lo tienes configurado de esa manera (el archivo), y despues aplicas el split???

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #19 (permalink)  
Antiguo 08/10/2008, 16:45
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Archivo de texto - Split

lo primero, el archivo si mantiene el formato, ya que este codigo "funciona" con la variantes que he mensionado.

Y lo de leer el archivo linea x linea y despues el Spit, es buena.
  #20 (permalink)  
Antiguo 08/10/2008, 16:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 60
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Archivo de texto - Split

Cita:
Iniciado por David el Grande Ver Mensaje
¿Has probado sin hacer Split leer todas las líneas para ver si realmente las está leyendo o no?.

si, y si las lee todas, pero la necesito por campos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:12.