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

objFSO.OpenTextFile que da error al abrir pero existe

Estas en el tema de objFSO.OpenTextFile que da error al abrir pero existe en el foro de ASP Clásico en Foros del Web. Estoy utilizando Set objTextStream = objFSO.OpenTextFile(strFileName, fsoLectura, true) para abrir un fichero. Antes que nada compruebo si existe el fichero de la forma: Código PHP: ...
  #1 (permalink)  
Antiguo 07/10/2003, 04:52
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
objFSO.OpenTextFile que da error al abrir pero existe

Estoy utilizando Set objTextStream = objFSO.OpenTextFile(strFileName, fsoLectura, true) para abrir un fichero. Antes que nada compruebo si existe el fichero de la forma:

Código PHP:
Set objFSO Server.CreateObject("Scripting.FileSystemObject")

    IF 
objFSO.FileExists(strFileName)  THEN
       Set objTextStream 
objFSO.OpenTextFile(strFileNamefsoLecturatrue
Lo que ocurre es que si el fichero existe intenta hacer el OpenTextFile, pero hay archivos que no están bien creados y la página me da un error ASP de que el archivo nó es válido. :-p

He estado buscando alguna forma de comprobar también que el OpenTExtFile se hace sin problemas pero no encuentro nada por internet ni en manuales de ASP que me diga como hacerlo.

He probado a poner un IF objTextStream THEN.. END IF pero nada, me da error en esa nueva linea.

Alguna idea?

Gracias

Un beso
  #2 (permalink)  
Antiguo 09/10/2003, 04:36
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
En serio nadie sabe algo aunque sea chiquitito chiquitito? :(
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #3 (permalink)  
Antiguo 09/10/2003, 04:57
 
Fecha de Ingreso: septiembre-2003
Ubicación: Nerja
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
Hola, si quieres, pon el codigo completo que te lo revise.
  #4 (permalink)  
Antiguo 09/10/2003, 05:08
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
Gracias Galx por el interés.

No publico el código completo porque mi pregunta es independiente de mi código. Sólo quiero saber la forma de comprobar si al abrir un fichero que existe y que la ruta es correcta, si se produce un error al abrirlo o no.

He probado a ver si devuelve false al abrirlo pero parece ser que esa comprobación no es en ASP así como en otros lenguajes como el C o en php.

Mi código funciona perfectamente tanto con archivos que existen y que no existen, para esos casos lo trato bien en ASP pero por lo visto si el archivo está dañado es lo que no se como testearlo con código ASP.

Espero haberme explicado mejor. Sólo pregunto una cosa concreta: "Cómo puedo saber si se produjo un error al abrir un archivo con código ASP".

Muchísimas gracias.

Un beso
  #5 (permalink)  
Antiguo 09/10/2003, 06:11
 
Fecha de Ingreso: septiembre-2003
Ubicación: Nerja
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
Prueba esto para gestionar errores:
<%
on error resume next
Set fso = CreateObject("Scripting.FileSystemObject")
Set abretxt = fso.OpenTextFile(server.MapPath("archivo.txt") )

IF err <> 0 THEN
response.write "Ha ocurrido un error"
ELSE
response.write"Todo va bien"
END IF

abretxt.close
Set abretxt = nothing
Set fso = nothing
%>
  #6 (permalink)  
Antiguo 09/10/2003, 06:14
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
u_U, que buena pinta!!! lo pruebo y te cuento. Gracias
  #7 (permalink)  
Antiguo 09/10/2003, 06:19
 
Fecha de Ingreso: septiembre-2003
Ubicación: Nerja
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
De nada ;)
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 12:14.