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

Por que tengo este error en el contador

Estas en el tema de Por que tengo este error en el contador en el foro de ASP Clásico en Foros del Web. Gracias a todos de antemano. Tengo una pagina en donde meti un contador que utiliza un archivo txt. El codigo es el siguiente. <% 'primero ...
  #1 (permalink)  
Antiguo 08/09/2004, 11:19
Avatar de juanmi321  
Fecha de Ingreso: septiembre-2004
Mensajes: 262
Antigüedad: 19 años, 9 meses
Puntos: 1
Exclamación Por que tengo este error en el contador

Gracias a todos de antemano.

Tengo una pagina en donde meti un contador que utiliza un archivo txt.
El codigo es el siguiente.

<%
'primero indicamos el path virtual donde se localiza el archivo
fp = Server.MapPath("contador.txt")
'Creamos el objeto FileSystem que es con el cual vamos a pòder accesar el archivo
Set fs = CreateObject("Scripting.FileSystemObject")
'Abrimos el archivo
Set a = fs.OpenTextFile(fp)
'Leemos el archivo
ct = Clng(a.ReadLine)
'Checamos si existe la variable de sesion "ct" si no existe la crea. Le aumenta el valor a la variable
if Session("ct") = "" then
Session("ct") = ct
ct = ct + 1
'Escribimos y guardamos el archivo el archivo
'Cerramos el archivo
a.close
'Abrimos el archivo para grabarlo
Set a = fs.CreateTextFile(fp, True)
a.WriteLine(ct)
end if
'Cerramos el archivo
a.Close
'Mostramos el contador
Response.Write ct
%>

Y me funciona bien solo unos instantes y ya despues me manda este error:

Microsoft VBScript
runtime error '800a003e'

Input past end of file

Alguien me puede decir como arreglo esto, o me podrian sugerir alguna forma de realizar el contador, gracias
  #2 (permalink)  
Antiguo 08/09/2004, 17:08
Avatar de juanmi321  
Fecha de Ingreso: septiembre-2004
Mensajes: 262
Antigüedad: 19 años, 9 meses
Puntos: 1
Alguien ayudeme con mi duda por favor
  #3 (permalink)  
Antiguo 08/09/2004, 17:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
En qué linea te manda el error?
Este error como sea es de que se pasa de la línea que puede leer, es como un EOF (End Of File) trata de utilizar cuando lees y asignas la línea, la propiedad AtEndOfStream

If NOT Objeto.AtEndOfStream
'ejecutas
Else
'no ejecutas
End If

Este código que llamas está dentro de un Loop?


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 08/09/2004, 17:22
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Estaba viendo bien el código y cuando incrementas la variable, creas el archivo y escribes, estás escribiendo una línea(writeLine) probablemente te está escribiendo un vbCrLf por eso que te da ese desbordamiento, trata primero en lugar de escribir una línea, escribir sobre el archivo (objeto.Write)

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 08/09/2004, 17:33
Avatar de juanmi321  
Fecha de Ingreso: septiembre-2004
Mensajes: 262
Antigüedad: 19 años, 9 meses
Puntos: 1
Gracias u_goldman.

Mira la linea donde me manda el error es esta.

ct = Clng(a.ReadLine)

he estudaido por que el error, y lo que pasa es que como te comentaba, al principio me lee bien y me escribe bien incrementando la variable, pero despues de mandarme ese error es por que vacia el archivo de texto, osea en algun momento ya no escribio, solo vacio el contenido.

Y pues la verdad se me dificulta mucho por que no le entiendo muy bien a ese codigo, pues el compañero que implemento el codigo ya no esta.

Se puede que me ayudes con esto, o tienes otra forma mas facil de hacer el contador?

Gracias.
  #6 (permalink)  
Antiguo 08/09/2004, 17:47
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98

Bueno, hice unas pruebas con tu mismo código y anda bien, no se que otras cosas tengas en ese código, por eso te preguntaba si estaba en un Loop, por principio de cuentas cambia como te dije, en lugar de utilizar el método writLine, solo pon write:

'Abrimos el archivo para grabarlo
Set a = fs.CreateTextFile(fp, True)
a.Write(ct)
end if


Prueba así y nos cuentas
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 08/09/2004, 17:55
Avatar de juanmi321  
Fecha de Ingreso: septiembre-2004
Mensajes: 262
Antigüedad: 19 años, 9 meses
Puntos: 1
Pues ahorita, ya esta jalando bien, si en un futuro vuelve a descomponerse te aviso, sale?

Gracias.

Solo que ahora tarda mucho en abrir la pagina.
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 01:07.