fiveweb

fiveweb

Postby silvinamazzaro » Tue Feb 02, 2016 8:34 pm

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
silvinamazzaro
 
Posts: 61
Joined: Tue Nov 19, 2013 2:13 pm

Re: fiveweb

Postby Antonio Linares » Tue Feb 02, 2016 9:09 pm

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/src/a14fecf44a7031757e19b7341dc5ba0453cea4b6/samples/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: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: fiveweb

Postby Antonio Linares » Tue Feb 02, 2016 9:14 pm

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
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

fiveweb

Postby silvinamazzaro » Wed Feb 10, 2016 2:01 pm

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 + ":" ;
silvinamazzaro
 
Posts: 61
Joined: Tue Nov 19, 2013 2:13 pm

Re: fiveweb

Postby Antonio Linares » Wed Feb 10, 2016 5:42 pm

Silvina,

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

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

Re: fiveweb

Postby silvinamazzaro » Wed Feb 10, 2016 7:25 pm

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/images/beach.jpg"
SET BACKIMAGE TO "http://fiveweb.googlecode.com/svn/trunk/images/citynight.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
silvinamazzaro
 
Posts: 61
Joined: Tue Nov 19, 2013 2:13 pm

Re: fiveweb

Postby Antonio Linares » Wed Feb 10, 2016 7:33 pm

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: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: fiveweb

Postby Antonio Linares » Wed Feb 10, 2016 7:34 pm

Puedes proporcionarme una URL para probar tu aplicación ?

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

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

Re: fiveweb

Postby silvinamazzaro » Wed Feb 10, 2016 8:00 pm

ok, lo preparo y te lo mando por mail..
silvinamazzaro
 
Posts: 61
Joined: Tue Nov 19, 2013 2:13 pm

Re: fiveweb

Postby Antonio Linares » Thu Feb 11, 2016 10:17 pm

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
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: fiveweb

Postby silvinamazzaro » Fri Feb 12, 2016 12:15 pm

:D :D

Sldos
Silvina
silvinamazzaro
 
Posts: 61
Joined: Tue Nov 19, 2013 2:13 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Horizon and 92 guests