<%
'Creado por Carlos Urquizo La Paz Bolivia curquizom@hotmail.com
Function generadordeclaves(longituddeclave)
' Nota para los principientes : el simbolo "_" es el de continuación de linea
' Definicion del array
Dim numerodecaracteres
Dim salida
Dim char_array
char_array = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", _
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", _
"U", "V", "W", "X", "Y", "Z")
Randomize()
Do While Len(salida) < longituddeclave
salida = salida & char_array(Int(26 * Rnd()))
Loop
' establecemos el valor del resultado a devolver
generadordeclaves = salida
End Function
numerodecaracteres=8
archi=generadordeclaves(numerodecaracteres)&".rpv"
'Abrimos la conexion con la BD
Set conn = Server.CreateObject ("ADODB.Connection")
'aca se encuentra la cadena de conexion a sqlserver
'conn.Open "driver={SQL Server};server=sqlservername; database=; uid=c;pwd="
pat = Server.MapPath("./")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&pat&"base.mdb;"
'hacemos la consulta
sql = "SELECT * from usuarios "
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
'creamos el nombre del archivo
archivo= request.serverVariables("APPL_PHYSICAL_PATH") & archi
'conectamos con el FSO
set confile = createObject("scripting.filesystemobject")
'creamos el objeto TextStream
set fich = confile.CreateTextFile(archivo)
'mandamos la cabecera
fich.writeline("report_title=EJEMPLO EN ASP")
fich.writeline("Papersize=letter")
fich.writeline("orientation=2")
fich.writeline("spacing=250")
fich.writeline("$c1=1000")
fich.writeline("$c2=3400")
fich.writeline("[header]")
fich.writeline("{pic=rpvlogo.bmp,400,400,1400,1400}")
fich.writeline("{f=arial;s=8}")
fich.writeline("{pic=rpvlogo.bmp,400,400,1400,1400}")
fich.writeline("{n;$c1} Page {12800;pag}")
fich.writeline("{s=16;n;n;2000;c=2;b=y} Aplicación de Ejemplo {spacing=350;n}")
fich.writeline("{c=1;2000} Reporte de ejemplo en ASP (una línea por registro). {c=0;b=n;n;n;n;n}")
fich.writeline("{LINE=400,14000;n}")
fich.writeline("{s=8;b=y;$c1} Nombre {$c2} usuario {b=n;spacing=375;n}")
fich.writeline("{LINE=400,14000;n}")
fich.writeline("[data]")
'imprimimos el cuerpo del reporte
do while Not rs.eof
fich.writeline("{$c1}"&Server.HTMLEncode(rs.Fields("nombre").Value)&"{$c2}"&Server.HTMLEncode(rs.Fields("usuario").Value)&"{n}")
rs.MoveNext
loop
'cerramos la conexión a la base de datos
Conn.Close
set Conn = nothing
'cerramos el fichero
fich.close()
'reenviamos el archivo al navegador
response.redirect (archi)
'borra el archivo del servidor
Set fso = Server.CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Call fso.DeleteFile(Server.MapPath(archi), True)
Set fso = Nothing
'eso es todo amigos
%> |