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

Ayuda Please

Estas en el tema de Ayuda Please en el foro de ASP Clásico en Foros del Web. '--------------------------------------------------- ' SUBRUTINA '--------------------------------------------------- ' Escribir Configuración meterlos en un TXT. Function EscribirConfiguracion(saltos, premio) set FSO = CreateObject ("Scripting.FileSystemObject") set Escribir = FSO.OpenTextFile("c:\Inetpub\wwwroot\prueba\config uracion.txt",2) ' ...
  #1 (permalink)  
Antiguo 17/08/2005, 12:44
 
Fecha de Ingreso: agosto-2005
Mensajes: 24
Antigüedad: 18 años, 10 meses
Puntos: 0
Ayuda Please

'---------------------------------------------------
' SUBRUTINA
'---------------------------------------------------

' Escribir Configuración meterlos en un TXT.

Function EscribirConfiguracion(saltos, premio)
set FSO = CreateObject ("Scripting.FileSystemObject")
set Escribir = FSO.OpenTextFile("c:\Inetpub\wwwroot\prueba\config uracion.txt",2)
' set Escribir = FSO.OpenTextFile("c:\Inetpub\wwwroot\prueba\config uracion.txt",8)
a = 0
Do While not (a = saltos)
Do While not (a = saltos)
prueba = Leer.ReadLine()
a = a + 1
Loop
Escribir.WriteLine (premio)
Loop
Escribir.Close
Leer.Close
set Leer = Nothing
set Escribir = Nothing
End Function


'---------------------------------------------------
' PROGRAMA
'---------------------------------------------------
Premio1_D = Request.Form("Premio1_D")

saltos = 3
a = EscribirConfiguracion(saltos, Premio1_D)

Hola a todos, antes de nada decir que sois unos artistas y dar las gracias por la ayuda que me

estais aportando

Bueno a lo que iba, quiero editar un TXT, una linea concreta. Con el codigo que os dejo para que

lo mireis, solo consigo que borre todo el contenido del TXT y que inserte el valor de la

variable Premio1_D en la primera linea.

La idea es, con la variable SALTOS pasarle que linea del TXT deseo Editar o mejor dicho

sustituir por el valor de la variable Premio1_D, pero como podeis ver por mi mail no lo consigo.

Tambien intente abrir el fichero con: set Escribir = FSO.OpenTextFile("c:\Inetpub\wwwroot\prueba\config uracion.txt",8), pero como es lógico solo conseguia insertar datos en la ultima linea, no se si la solucion pasa por ahi.

Bueno eso es todo, a quien me pueda ayudar muchas gracias y un abrazo
Darhas
  #2 (permalink)  
Antiguo 18/08/2005, 02:27
Avatar de macedo  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 124
Antigüedad: 22 años, 4 meses
Puntos: 0
Hola Darhas.

Si el archivo no es muy grande, puedes ir almacenando todas las lineas en un string y despues escribirlo todo junto al final con un solo write.

el write hace justamente lo que tu dices, borra el archivo y empieza por el principio.

Yo lo haría así.

Function EscribirConfiguracion(saltos, premio)
set FSO = CreateObject ("Scripting.FileSystemObject")
set Escribir = FSO.OpenTextFile("c:\Inetpub\wwwroot\prueba\config uracion.txt",2)

a = 0
Do While Not Escribir.AtEndofStream
if a=saltos then
Cadena=cadena & premio & chr(13)&chr(10)
else
Cadena=cadena & Escribir.ReadLine() & chr(13)&chr(10)
end if
a = a + 1
Loop
Escribir.Write (Cadena)
Escribir.Close
Leer.Close
set Leer = Nothing
set Escribir = Nothing
End Function


o así

Function EscribirConfiguracion(saltos, premio)
set FSO = CreateObject ("Scripting.FileSystemObject")
set Leer= FSO.OpenTextFile("c:\Inetpub\wwwroot\prueba\config uracion.txt",1)
set Escribir= FSO.OpenTextFile("c:\Inetpub\wwwroot\prueba\config uracion2.txt",2)

a = 0
Do While Not Leer.AtEndofStream
if a=saltos then
Escribir.WriteLine(premio)
else
Escribir.WriteLine(Leer.ReadLine())
end if
a = a + 1
Loop
Escribir.Close
Leer.Close
set Leer = Nothing
set Escribir = Nothing
Set oFSO = CreateObject("Scripting.FileSystemObject")
sSourceFile = "c:\Inetpub\wwwroot\prueba\configuracion.txt"
oFSO.DeleteFile sSourceFile
sSourceFile2 = "c:\Inetpub\wwwroot\prueba\configuracion2.txt"
oFSO.MoveFile sSourceFile2 , sSourceFile
oFSO.close
End Function

En el primer codigo lee todas las lineas y las almacena en una cadena excepto cuando a=saltos (ahí añade premio a la cadena). Luego escribe todo junto en el archivo.

En el segunto va leyendo y escribiendo las lineas una por una pero en archivos distintos. Al final borra el original y renombra el editado.
Este caso es mejor si el archivo es muy grande porque el string que te generaría en el primer caso prodría ocupar demasiada memoria.

Espero que te sirva.

Saludos
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:19.