fiveweb

Post Reply
silvinamazzaro
Posts: 61
Joined: Tue Nov 19, 2013 2:13 pm

fiveweb

Post by silvinamazzaro »

Hola Antonio
estamos dando los primeros pasos en fiveweb
He logrado mi primera pantalla para pedir usuario y contraseña
lo que no logro saber y no encuentro en los ejemplos es , por ejemplo, en el Action del boton
OK cerrar el dialogo actual y abrir otro
no comprendo bien la lógica, pude llamar desde alli a un HTML y a un EXE
No se si tengo que tener un exe por cada pantalla o puedo tener un unico exe para el sitio
te agradesco que me desburres algun ejemplo ayudaría, hasta ahora trabajé con clipxnet

gracias, esta muy bueno el proyecto fiveweb
Silvina
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: fiveweb

Post by Antonio Linares »

Silvina,

Solo tienes que usar un EXE (en Windows) ó un ejecutable (en Linux) y según los parámetros
que le pases, tu aplicación hará una cosa u otra.

Revisa el ejemplo Otto.prg que está en la carpeta samples de FiveWeb:

https://bitbucket.org/fivetech/fiveweb/ ... s/otto.prg

Es importante que entiendas la lógica de FiveWeb:

El EXE en el servidor, es una aplicación Harbour y FiveWeb, que genera salida en HTML que
es lo que crea las cajas de diálogo, etc (usando jquery ui) y las acciones que ejecutas desde
el navegador ejecutan código javascript (desde el cliente que está usando la aplicación).

Cuando comprendas bien esta diferencia, empezarás a poder hacer con FiveWeb lo que necesites :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: fiveweb

Post by Antonio Linares »

Si necesitas un ejemplo concreto de dos diálogos, y no sabes como hacerlo a partir de Otto.prg
indícamelo y te construyo un ejemplo
regards, saludos

Antonio Linares
www.fivetechsoft.com
silvinamazzaro
Posts: 61
Joined: Tue Nov 19, 2013 2:13 pm

fiveweb

Post by silvinamazzaro »

Hola, bueno estudiando el ejemplo logre llamar la primera pantalla (usuario y contraseña) y la segunda (cambio de contraseña).

Luego tengo que llamar una tercera pantalla . antes debo hacer una validación y necesito una variable que fue calculada en la 2da

como es que se pasan? x ejemplo, para pasar los valores de los gets lo hago asi pero si es una variable, en este caso el id de la persona

@ 210, 160 BUTTON "Ok" OF xDlg ;
ACTION document.location = "otto.exe?dos:"+;
document.getElementById( "oGet3" ).value + ":" + ;
document.getElementById( "oGet4" ).value + ":" ;
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: fiveweb

Post by Antonio Linares »

Silvina,

Envíame el código fuente o publicalo aqui y lo revisaré
regards, saludos

Antonio Linares
www.fivetechsoft.com
silvinamazzaro
Posts: 61
Joined: Tue Nov 19, 2013 2:13 pm

Re: fiveweb

Post by silvinamazzaro »

aca va el código, por favor cualquier sugerencia y/o corrección serán bienvendias
gracias !!!

#include "FiveWeb.ch"
#include "ads.ch"



//----------------------------------------------------------------------------//

function Main( cParams )

local oDlg, oGet1, oGet2
local cDni := Space( 11 ), cPass := ''
local AppName:= AppName()

cDni := Space( 11 )
cPass := Space( 8 )
// SET BACKIMAGE TO "http://fiveweb.googlecode.com/svn/trunk ... /beach.jpg"
SET BACKIMAGE TO "http://fiveweb.googlecode.com/svn/trunk ... ynight.jpg"
SetTheme( "start" )
if pcount() > 0
Process( cParams )
return nil
endif

DEFINE DIALOG oDlg TITLE "Gestión de Profesionales" SIZE 600, 360

@ 38, 40 SAY "D.N.I.:" OF oDlg

@ 36, 190 GET oGet1 VAR cDni OF oDlg SIZE 200, 35

@ 85, 40 SAY "Contraseña :" OF oDlg

@ 83, 190 GET oGet2 VAR cPass OF oDlg SIZE 200, 35 PASSWORD

@ 210, 160 BUTTON "Ok" OF oDlg ;
ACTION document.location = "otto.exe?uno:"+;
document.getElementById( "oGet1" ).value + ":" + ;
document.getElementById( "oGet2" ).value + ":"

@ 210, 300 BUTTON "Cancel" OF oDlg

ACTIVATE DIALOG oDlg NOWAIT
return nil


//----------------------------------------------------------------------------//

function Process( cParams )
local TPAS , aPer
local i
local aParams := hb_aTokens( cParams, ":" )
do case
case aParams[ 1 ] == "uno"
SetIniciales()
RDDActual()
if !AdsConnect60( "\\192.168.1.8\comuna2\ps-datos\unire.add" , 7 , "ADSSYS" , "/-789" )
msginfo('No se puedo conectar al diccionario de datos.')
endif
BuscoPersona ( aParams )
case aParams[ 1 ] == "dos"
if !aParams[2]=aParams[3]
msginfo('Error al ingresar la nueva contraseña.','Atención.')
else
SetIniciales()
RDDActual()
if !AdsConnect60( "\\192.168.1.8\comuna2\ps-datos\unire.add" , 7 , "ADSSYS" , "/-789" )
msginfo('No se puedo conectar al diccionario de datos.')
endif

// TPAS:=abro('TPASWORD',1)
//ACA ES DONDE NECESTIO LA VARIABLE IDBIEN
msginfo(aParams[4])

/* if (TPAS)->(dbseek( IdBien ))
(TPAS)->(dbrlock())
(TPAS)->reset:=.F.
(TPAS)->(dbunlock())
msginfo('Contraseña cambiada.')
endif
*/
// (TPAS)->(dbclosearea())
// UNA VEZ VALIDADA PERSONA Y CONTRASEÑA PIDE EL INMUEBLE A CONSULTAR
PidoCuim()
// CON EL ID DEL INMUEBLE GENERA UN REPORTE QUE VA A PDF (FALTA)
endif
end case

return nil

//----------------------------------------------------------------------------//

function BuscoPersona ( aParams )
*=====================
LOCAL xDlg , oGet4:='' , oGet3:='' , lRet:=.T. , xSave:=.F. , Nombre:='' , Profe:='' , oSay , IdBien
LOCAL cvar:=space(8)
LOCAL cnue:=space(8)
LOCAL AGRI , TPAS , TPER:=abro('TPERSONA',5)

if !(TPER)->(dbseek( aParams[2] ))
msginfo('No existe la persona.','Atención')
lRet:=.F.
else
Nombre:=(TPER)->doc_nro+' - '+(TPER)->apellido
AGRI:=abro('TAGRIMEN',1)
if !(AGRI)->(dbseek( (TPER)->idc_con ))
msginfo('La persona no es PROFESIONAL','Atención')
lRet:=.f.
else
Profe:= (AGRI)->titulo
endif
(AGRI)->(dbclosearea())
endif

// *** cambia contraseña ***
TPAS:=abro('TPASWORD',1)
IdBien:=(TPER)->idc_bien

if (TPAS)->(dbseek((TPER)->idc_bien)) .and.alltrim(aParams[3])=alltrim((TPAS)->password)
if (TPAS)->reset // SI ES TRUE TENGO QUE PEDIR A USUARIO NUEVA CONTRASEÑA Y GRABAR .F. EN RESET

DEFINE DIALOG xDlg TITLE "Cambio de Contraseña" SIZE 600, 360

@ 15, 150 SAY 'D.N.I.: '+Nombre SIZE 300, 40 OF xDlg
@ 35, 150 SAY 'Profesional : '+Profe SIZE 300, 40 OF xDlg

@ 79, 90 SAY "Nueva Contraseña :" SIZE 250, 40 OF xDlg
@ 76, 310 GET oGet3 VAR cvar SIZE 200, 35 OF xDlg

@ 139, 30 SAY "Reingresa Nueva Contraseña :" SIZE 300, 40 OF xDlg
@ 136, 310 GET oGet4 VAR cNue SIZE 200, 35 OF xDlg

@ 210, 160 BUTTON "Ok" OF xDlg ACTION ACTION document.location = "otto.exe?dos:"+;
document.getElementById( "oGet3" ).value + ":" + ;
document.getElementById( "oGet4" ).value + ":"

// ACA ES DONDE QUIERO MANDAR LA VARIABLE IDBIEN

@ 210, 300 BUTTON "Cancel" OF xDlg ACTION xDlg:end()

ACTIVATE DIALOG xDlg
endif
else
lRet:=.F.
msginfo('Contraseña errónea.','Atención')
endif
PidoCuim()
(TPER)->(dbclosearea())
(TPAS)->(dbclosearea())
*************************
return ( lRet )




function PidoCuim
*================
LOCAL xDlg , oget
LOCAL cvar:=' '
DEFINE DIALOG xDlg TITLE "Seleccione el Inmueble" SIZE 650, 400

@ 69, 180 SAY "C.U.I.M.:" SIZE 140, 40 OF xDlg
@ 66, 305 GET OGET VAR cvar SIZE 300, 40 OF xDlg
ACTIVATE DIALOG xDlg NOWAIT


return nil
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: fiveweb

Post by Antonio Linares »

Silvina,

No uso ADS ni lo tengo instalado.

Que librerías enlazas y que tendría que instalar para poder probar tu aplicación ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: fiveweb

Post by Antonio Linares »

Puedes proporcionarme una URL para probar tu aplicación ?

Envíame la URL por email si quieres
regards, saludos

Antonio Linares
www.fivetechsoft.com
silvinamazzaro
Posts: 61
Joined: Tue Nov 19, 2013 2:13 pm

Re: fiveweb

Post by silvinamazzaro »

ok, lo preparo y te lo mando por mail..
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: fiveweb

Post by Antonio Linares »

Solucionado asi:

@ 210, 160 BUTTON "Ok" OF xDlg ACTION ACTION document.location = "otto.exe?dos:"+;
document.getElementById( "oGet3" ).value + ":" + ;
document.getElementById( "oGet4" ).value + ":"

ATail( oDlg:aControls ):cAction += '+ "' + aParams[ 4 ] + '"'
regards, saludos

Antonio Linares
www.fivetechsoft.com
silvinamazzaro
Posts: 61
Joined: Tue Nov 19, 2013 2:13 pm

Re: fiveweb

Post by silvinamazzaro »

:D :D

Sldos
Silvina
Post Reply