El siguiente fragmente de código muestra un ejemplo de cómo subir archivos usando protocolo HTTP desde una página Web con WebSpeed.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<META NAME="AUTHOR" CONTENT="Your Name">
<TITLE>WebSpeed Script</TITLE>
</HEAD>
<BODY>
<form name="formu" method="POST" action="pagina1.html" ENCTYPE="multipart/form-data">
Archivo:<input type="file" value="" name="archivito" />
<input type="submit" value="enviar" name="smt" />
</form>
<SCRIPT LANGUAGE="SpeedScript">
IF REQUEST_METHOD = "POST" THEN
DO:
DEFINE VAR mFile AS MEMPTR NO-UNDO.
DEFINE VAR cfile AS CHAR NO-UNDO.
ASSIGN mFile = get-binary-data("archivito").
ASSIGN cfile = get-value("archivito").
DEF VAR oFile AS CHAR NO-UNDO.
oFile = GET-CONFIG("fileUploadDirectory") + "\" + cfile.
{&out} 'Binario ' oFile.
COPY-LOB FROM mFile TO FILE oFile NO-CONVERT.
END.
</SCRIPT>
</BODY>
</HTML>
Aquí iré publicando los pequeños trozo de código y trucos para la Configuracion de Bases de Datos Progress y la programación en Opendedge.
martes, 1 de febrero de 2011
jueves, 27 de enero de 2011
Obtener Datos de la Conexion desde el Cliente
DEF VAR id AS CHAR FORMAT "X(32)".
INPUT THROUGH hostname.
SET id.
ASSIGN id.
INPUT CLOSE.
MESSAGE id
VIEW-AS ALERT-BOX INFO BUTTONS OK.
UTILIDADES
NUM-DBS : Devuelve el número de bases de datos conectadas.
LDBNAME : Devuelve el nombre lógico de la base de datos.
PDBNAME : Devuelve el nombre físico de la base de datos.
DBPARAM : Devuelve los parámetros de conexión.
DICTDB: Alias de la Primera de las Bases de Datos Conectadas.
INPUT THROUGH hostname.
SET id.
ASSIGN id.
INPUT CLOSE.
MESSAGE id
VIEW-AS ALERT-BOX INFO BUTTONS OK.
UTILIDADES
NUM-DBS : Devuelve el número de bases de datos conectadas.
LDBNAME : Devuelve el nombre lógico de la base de datos.
PDBNAME : Devuelve el nombre físico de la base de datos.
DBPARAM : Devuelve los parámetros de conexión.
DICTDB: Alias de la Primera de las Bases de Datos Conectadas.
miércoles, 26 de enero de 2011
Moverse por un Browser.
Posicionarse:
REPOSITION brw:handle TO ROW numFila.
Seleccionar varias:
DEFINE VARIABLE iCont AS INTEGER NO-UNDO.
DEFINE VARIABLE cAux AS CHARACTER NO-UNDO.
DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO.
hBrowse = DYNAMIC-FUNCTION('getBrowseHandle':U IN h_handleBrowse).
REPEAT iCont = 1 TO hBrowse:NUM-SELECTED-ROWS:
hBrowse:FETCH-SELECTED-ROW(iCont).
cAux = DYNAMIC-FUNCTION('colValues' IN h_sdo, INPUT '<lista de campos>').
/* Ahora en cAux tendrás los valores */
END.
Browser estatico:
DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO.
DEFINE VARIABLE hAux AS HANDLE NO-UNDO.
DEFINE VARIABLE iAux AS INTEGER NO-UNDO.
hBrowse = DYNAMIC-FUNCTION('getBrowseHandle':U IN h_handleBrowse).
/* Si tuvieramos directamente accesible el browse no haría falta dado que ya tendríamos el handle del mismo */
hAux = hBrowse:QUERY.
hAux = hAux:GET-BUFFER-HANDLE.
hAux = hAux:BUFFER-FIELD("<nombre campo>").
REPEAT iAux = 1 TO hBrowse:NUM-SELECTED-ROWS:
hBrowse:FETCH-SELECTED-ROW(iAux).
MESSAGE hAux:BUFFER-VALUE VIEW-AS ALERT-BOX.
END.
REPOSITION brw:handle TO ROW numFila.
Seleccionar varias:
DEFINE VARIABLE iCont AS INTEGER NO-UNDO.
DEFINE VARIABLE cAux AS CHARACTER NO-UNDO.
DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO.
hBrowse = DYNAMIC-FUNCTION('getBrowseHandle':U IN h_handleBrowse).
REPEAT iCont = 1 TO hBrowse:NUM-SELECTED-ROWS:
hBrowse:FETCH-SELECTED-ROW(iCont).
cAux = DYNAMIC-FUNCTION('colValues' IN h_sdo, INPUT '<lista de campos>').
/* Ahora en cAux tendrás los valores */
END.
Browser estatico:
DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO.
DEFINE VARIABLE hAux AS HANDLE NO-UNDO.
DEFINE VARIABLE iAux AS INTEGER NO-UNDO.
hBrowse = DYNAMIC-FUNCTION('getBrowseHandle':U IN h_handleBrowse).
/* Si tuvieramos directamente accesible el browse no haría falta dado que ya tendríamos el handle del mismo */
hAux = hBrowse:QUERY.
hAux = hAux:GET-BUFFER-HANDLE.
hAux = hAux:BUFFER-FIELD("<nombre campo>").
REPEAT iAux = 1 TO hBrowse:NUM-SELECTED-ROWS:
hBrowse:FETCH-SELECTED-ROW(iAux).
MESSAGE hAux:BUFFER-VALUE VIEW-AS ALERT-BOX.
END.
martes, 25 de enero de 2011
Instalar Progress ODBC de 32 bits, en una maquina de 64 bits.
La solución es ejecutar en el directorio C:\WINDOWS\SysWOW64, el siguiente comando (siempre instalando la versión 10.2A):
C:\>odbcconf /a {INSTALLDRIVER "Progress OpenEdge 10.2A|Driver=c:\progress\openedge10.2A\bin\pgoe1023.dll|Setup=c:\progress\openedge10.2A\bin\pgoe1023.dll|DriverODBCVer=3.50|FileUsage=0|ConnectFunctions=YYN|APILevel=1|UsageCount=1"}
C:\>odbcconf /a {INSTALLDRIVER "Progress OpenEdge 10.2A|Driver=c:\progress\openedge10.2A\bin\pgoe1023.dll|Setup=c:\progress\openedge10.2A\bin\pgoe1023.dll|DriverODBCVer=3.50|FileUsage=0|ConnectFunctions=YYN|APILevel=1|UsageCount=1"}
Suscribirse a:
Entradas (Atom)