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

Problema urgente!!

Estas en el tema de Problema urgente!! en el foro de ASP Clásico en Foros del Web. Buenas tardes. Tengo el siguiente problema: Trabajo en un pagina en la que es necesario el registro para poder acceder a una sección privada, el ...
  #1 (permalink)  
Antiguo 03/12/2003, 10:22
 
Fecha de Ingreso: noviembre-2003
Mensajes: 41
Antigüedad: 20 años, 6 meses
Puntos: 0
Problema urgente!!

Buenas tardes. Tengo el siguiente problema:

Trabajo en un pagina en la que es necesario el registro para poder acceder a una sección privada, el problema está en que no puedo utilizar una base de datos. Por eso, empleo un archivo *.txt (son poco usuarios). Cuando introduzco la información de registro en el archivo, separo los campos por "|", quedando una línea del archivo txt de la siguiente forma:

login|password.

Lo que yo queria saber es si existe alguna forma de poder coger cada línea del archivo de texto y separar el login y el pass. Recuerdo que el Visual Basic había una función que hacía esto directamene, sólo habia que indicarle la cadena de texto y el separador empleado...y así se obtenían los valores de la cadena. Lo que no se es si en ASP existe alguna función similar o si alguien ya ha hecho algo asi...

Por favor, necesito ayuda.

Muchas gracias de antemano. Un saludo,

José Manuel
  #2 (permalink)  
Antiguo 03/12/2003, 11:48
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
con split("cadena", "separador")

luego tenés en cadena(0) el login y en cadena(1) el password
__________________
...___...
  #3 (permalink)  
Antiguo 03/12/2003, 14:30
 
Fecha de Ingreso: noviembre-2003
Mensajes: 41
Antigüedad: 20 años, 6 meses
Puntos: 0
Ya lo descubrí....gracias de todos modos.

Otra cuestión. Cuando tengo el archivo de texto, si kiero borrar una línea específica, por ejemplo la 24, ¿como puedo hacerlo? Porque solo hay tres modos, lectura, escritura (borra y escribe al comienzo) y otro de escritura que añade una línea mas....

¿¿De q forma se puede borrar una línea específica??

Alguna sugerencia por favor

Un saludo
  #4 (permalink)  
Antiguo 03/12/2003, 15:16
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
"creo" que no se puede borrar una línea específica.

Lo que se me ocurre es que pases todo el contenido del archivo a una variable, le hagas un split por el salto de línea... Lineas = split(variable, vbcrlf)... y luego, para eliminar la línea ## eliminás Lineas(## - 1) y posteriormente reemplazás todo el contenido del archivo.

no se... se me ocurre eso
  #5 (permalink)  
Antiguo 03/12/2003, 18:42
 
Fecha de Ingreso: noviembre-2003
Mensajes: 41
Antigüedad: 20 años, 6 meses
Puntos: 0
Algo así estaba pensando yo...lo probaré a ver que tal y ya os contaré.
  #6 (permalink)  
Antiguo 03/12/2003, 22: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
Dale, yo te espero. Me interesa saber el resultado ya que una vez estube en tu mismo problema y desistí de usar archivos de texto por eso mismo... por no poder eliminar de manera fácil una línea intermedia (terminé usando una BD ya que le dije a mi jefe que no hay manera de eliminar una línea usando FSO... y se lo creyó... y yo también lo hice xD)
__________________
...___...
  #7 (permalink)  
Antiguo 04/12/2003, 11:51
 
Fecha de Ingreso: noviembre-2003
Mensajes: 41
Antigüedad: 20 años, 6 meses
Puntos: 0
Poz ya está...el archivo eliminar.asp es algo tal que así

<%


xTotal=request.querystring("total") 'Número total de registros
xLinea=request.querystring("linea") 'Linea a eliminar


Dim objFSO
Dim NomFichero, NomFichero2, objTextStream

NomFichero1=Server.MapPath("usuarios.txt")
NomFichero2=Server.MapPath("temp.txt")

'Objeto FSO
Set objFSO=Server.CreateObject("Scripting.FileSystemOb ject")


'________________Leeo todo el archivo antes de borrarlo y lo guardo como medida de seguridad__________
'________________Leer
Set objTextStream=objFSO.OpenTextFile(NomFichero1,1)
seguridad=objTextStream.ReadAll
'Cierro e inicializo objetos
objTextStream.Close
Set objTextStream=nothing
'________________Guardar
Set objTextStream=objFSO.OpenTextFile(NomFichero2,2)
objTextStream.write seguridad
'Cierro e inicializo objetos
objTextStream.Close
Set objTextStream=nothing
'_________________________________________________ __________________________________________________ __

'_________________Guardo en una variable todos los registros excepto el que kiero borrar______________
Set objTextStream=objFSO.OpenTextFile(NomFichero1,1)

for i = 1 to xTotal ' Un bucle que recorre todos los registros del archivo
if i=int(xLinea) then 'Convierto xLinea a entero ya que como la he cogido como queystring, es una cadena y no podría igualarla a ningún número
objTextStream.SkipLine
else
l= l & objTextStream.ReadLine & vbcrlf
end if
next

'Cierro e inicializo objetos
objTextStream.Close
Set objTextStream=nothing
'_________________________________________________ __________________________________________________ __

'_____________________Reescribo el archivo con los nuevos datos_______________________________________
Set objTextStream=objFSO.OpenTextFile(NomFichero1,2)
objTextStream.write l
'Cierro e inicializo objetos
objTextStream.Close
Set objTextStream=nothing
Set objFSO=nothing
'_________________________________________________ __________________________________________________ __

response.redirect("leer.asp") 'Actualizo la página de registros

%>


De una página anterior cojo como datos el número total de registros y el que kiero eliminar. Guardo todos los datos por si las moscas...y leeo toto el archivo excepto la línea a borrar (utilizando un skipline)...la variable que me da como resultado la utilizo para reescribir el archivo con los datos y actualizo la página.

Por ahora funciona...gracias a todos.

Yo también sugerí lo de la base de datos, pero no está por la labor de gastarse los cuartos

Un Saludo y hasta la próxima....

Bueno, una cosa...¿en ASP se pueden hacen ventanas de alarma como en java??

José Manuel
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:53.