FiveWeb

FiveWeb

Postby hugojtheler » Mon Feb 29, 2016 12:20 pm

Estoy haciendo mis primeros pasos con FiveWeb , hasta ahora todo bien... Pero lo que estoy necesitando es llamar un programa EXE ( Harbourd - FiveWin ) desde el programa de fiveweb.
Este programa lo tengo que ejecutar para armar un reporte en FastReport debido a que no pude linkar el fast dentro de mi aplicación FiveWeb.
no me funcionaron
ShellExecute
WaitRun
WinExec
como debería hacer ese llamado...

Desde ya muchas gracias..
Sdo
Hugo Theler
hugojtheler
 
Posts: 12
Joined: Thu Nov 12, 2015 1:51 pm

Re: FiveWeb

Postby Antonio Linares » Tue Mar 01, 2016 9:30 am

Hugo,

Añade estás líneas al final de tu PRG de FiveWeb:

Code: Select all  Expand view  RUN
#pragma BEGINDUMP

#include <windows.h>
#include <hbapi.h>

HB_FUNC( SHELLEXECUTE )
{
   hb_retnl( ( LONG ) ShellExecute( ( HWND ) hb_parnl( 1 ), hb_parc( 2 ),
                                    hb_parc( 3 ), hb_parc( 4 ), hb_parc( 5 ),
                                    hb_parnl( 6 ) ) );
}

#pragma ENDDUMP


De esta forma puedes añadir funciones que te hagan falta de FWH :-)
regards, saludos

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

Re: FiveWeb

Postby hugojtheler » Tue Mar 01, 2016 1:52 pm

Hola :

Gracias Antonio.. Funciono Perfecto..

Te comento que entre que hice la pregunta y contestaste reacomode la compilación del proyecto y pude incorporar la libreria fastreport dentro de este.

Es decir pude desde el sistema FiveWeb llamar a un reporte ( Fast ) y generar como salida un PDF, lo cree en la carpeta c:\xampp\htdocs\dashboard\

La pregunta seria como debería llamar al archivo PDF, para que lo levante en otro folder del navegador..? Lo logre llamar en el mismo folder pero pierdo control del programa.

Sdos
Felicitaciones por este proyecto
hugojtheler
 
Posts: 12
Joined: Thu Nov 12, 2015 1:51 pm

Re: FiveWeb

Postby Antonio Linares » Tue Mar 01, 2016 9:29 pm

Hugo,

Prueba asi:

window.open(documentUrl, '_blank'); // ponlo como ACTION ...

Lo he visto aqui:
https://answers.squarespace.com/questions/15060/how-can-i-make-a-linked-pdf-open-in-new-browser-tabwindow.html

Me alegra que te sea de utilidad :-)
regards, saludos

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

Re: FiveWeb

Postby hugojtheler » Wed Mar 02, 2016 11:29 pm

Hola : Funciono !!!
Gracias Antonio...

Les dejo un ejemplo ( Funciona igual sin el parametro "_blank" ) :

AvisoReporte( "menuprofesional.exe?" , '../dashboard/'+AllTrim( aParams[2] )+'.pdf' )

function AvisoReporte ( cPrgRetorno , cNmbRep )
*====================
LOCAL oDlg

DEFINE DIALOG oDlg TITLE "Atención !!!!" SIZE 600 , 300

@ 60, 30 SAY 'Se genero el reporte : ' + cNmbRep SIZE 556, 40 OF oDlg

@ 150 , 80 BUTTON 'Ver Reporte' SIZE 200, 40 OF oDlg ACTION ( 'window.open( "' + cNmbRep + '" )' ) // , "_blank" ' )
@ 150 , 360 BUTTON 'Volver' SIZE 200 , 40 OF oDlg ACTION ( 'document.location = "' + cPrgRetorno + '"' )

ACTIVATE DIALOG oDlg NOWAIT

Return nil



Pregunta :
Como puedo eliminar la tecla escape...??, al tocala pierdo el control


Lo estoy usando con el motor de ADS
FWH 13.07
Borland 5.8.2


Sdos
Hugo
hugojtheler
 
Posts: 12
Joined: Thu Nov 12, 2015 1:51 pm

Re: FiveWeb

Postby Antonio Linares » Thu Mar 03, 2016 8:01 am

Hugo,

Esta parece ser la forma de deshabilitar el escape usando jquery ui que es el GUI que usa FiveWeb:

Code: Select all  Expand view  RUN
$( ".selector" ).dialog({ closeOnEscape: false });


Visto aqui:
http://stackoverflow.com/questions/4197285/how-do-i-overwrite-the-esc-key-pressed-behavior-for-jquery-dialog

Ese código lo debemos generar desde la clase TDialog.

Cual sería la forma más adecuada de hacerlo ?

1. Usamos un setting global, por ejemplo: SetEscape( .F. )

2. Lo implementamos para cada diálogo:

DEFINE DIALOG oDlg NOESCAPE ...

Cual sería la forma más simple de las 2 ?
regards, saludos

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

Re: FiveWeb

Postby hugojtheler » Mon Mar 07, 2016 10:49 pm

Hola : Se termino el encanto.. :D

La función que me enviaste la intente sumar de distintas maneras y en distintos lugares sin éxitos... Intente modificar la clase dialog.. pero no consegui nada..

Tendrías algún ejemplo de como llamarla..??

No conteste antes porque termine el soft y ya lo subimos a internet.. hasta ahora funciona bien, por ahora lo único que me quedo sin resolver es la tecla escape que al presionarla pierdo el control.

Gracias
Hugo
hugojtheler
 
Posts: 12
Joined: Thu Nov 12, 2015 1:51 pm

Re: FiveWeb

Postby Antonio Linares » Mon Mar 07, 2016 11:34 pm

Hugo,

Lo puedo incorporar a FiveWeb. Quieres ese comportamiento para todos los diálogos ? En tal caso deberiamos usar SetEscape( .F. )
Voy a implementarlo

Puedes publicar aqui algunos pantallazos de tu aplicación para que veamos como se ve ? :-)

Muchas gracias
regards, saludos

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

Re: FiveWeb

Postby hugojtheler » Tue Mar 08, 2016 1:08 pm

Hola Antonio.

ahí va parte de mi experiencia en FiveWeb, espero le sea útil

https://dl.dropboxusercontent.com/u/496 ... veweb.docx

Sdos
Hugo
hugojtheler
 
Posts: 12
Joined: Thu Nov 12, 2015 1:51 pm

Re: FiveWeb

Postby hugojtheler » Tue Mar 08, 2016 1:50 pm

Hola : Para mi debería ser un set a nivel general..
SetEscape( .F. )

Sdos
Hugo
hugojtheler
 
Posts: 12
Joined: Thu Nov 12, 2015 1:51 pm

Re: FiveWeb

Postby ruben Dario » Wed Mar 09, 2016 4:34 am

hugo estoy compilando tu codigo me da este error.

Code: Select all  Expand view  RUN

#include "FiveWeb.ch"

function Main()

 local oDlg

 if conexion_Config()

     DEFINE DIALOG oDlg TITLE "Tramites On Line" SIZE 563.8, 532.4

     @ 20, 20 SAY VeoNombre( 'CONFIGRL' , '700' , 1 , 3 ) SIZE 540, 60 OF oDlg

[b]     @ 70  , 110 BUTTON 'Comercios'            SIZE 348, 40 OF oDlg  ACTION document.location = "menucomercio.exe?ingreso"
     @ 120 , 110 BUTTON 'Inmuebles Urbanos'    SIZE 348, 40 OF oDlg  ACTION document.location = "menuurbanos.exe?ingreso"  
     @ 170 , 110 BUTTON 'Inmuebles Rurales'    SIZE 348, 40 OF oDlg  ACTION document.location = "menururales.exe?ingreso"  
     @ 220 , 110 BUTTON 'Inmuebles Cementerio' SIZE 348, 40 OF oDlg  ACTION document.location = "menucementerio.exe?ingreso"  
     @ 270 , 110 BUTTON 'Proveedores'          SIZE 348, 40 OF oDlg  ACTION document.location = "menuproveedor.exe?ingreso"
     @ 320 , 110 BUTTON 'Profesionales'        SIZE 348, 40 OF oDlg  ACTION document.location = "menuprofesional.exe?ingreso"

     @ 420, 450 BUTTON 'Salir' SIZE 100 , 40 OF oDlg action ( oDlg:End() )
[/b]
me da error
   Error E0030 syntax error  "Syntax error At '@'
   Warking W0001  Ambiguos refeence 'LOCATION'


     ACTIVATE DIALOG oDlg NOWAIT
  Endif

return nil


function conexion_Config()   //la conexión con la BDD ( ADS )
//*=======================
local lVlrRet := .f. , CONF
RDDActual()
if AdsConnect60( "
N:\ps-datos\xxxxxxxxx.add" , 7 , "ADSSYS" , "xxxx-yyy" )

   lVlrRet := .t.
   CONF := abro( 'CONFIGRL' )

   Dbseek( '010' )
   
   if AllTrim( (CONF)->Valor ) = 'N'

      Dbseek( '810' ) ; SET BACKIMAGE TO AllTrim( Field->Valor )
      Dbseek( '811' ) ; SetTheme( AllTrim( Field->Valor ) )

   else

      MsgInfo( 'Atencion !! Se estan haciendo tareas de mantenimiento, intente ingresar mas tarde.' )
      lVlrRet := .f.

   endif    

  (CONF)->( dbclosearea() )

endif

Return( lVlrRet )  

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: FiveWeb

Postby hugojtheler » Wed Mar 09, 2016 11:16 am

Hola :

La idea era tener un ejemplo de como esta usado.

La función conexion_Config() , hace la conexión con un diccionario de datos de ADS y presenta el fondo de pantalla y el aspecto de los botones.
Creo que lo que hay que entender es esto : En todos mis programas fiveweb lo primero es esta conexión, recorda que todos los programas son .exe que se van llamando.. inclusive se autollaman.. pasandose parametros. al llamar al próximo se cierran todas tus tablas , por eso al principio de cada exe se vuelve a hacer la conexión. Cambia el concepto de programación ( Espero Explicarme ) ojo .. así lo entendí yo ..

La función VeoNombre es una función propia que trae el contenido de un campo de una tabla.

Si eliminas estas 2 llamadas seguro te va a compilar.

Sdos
Hugo

include "FiveWeb.ch"

function Main()
local oDlg
// if conexion_Config()

DEFINE DIALOG oDlg TITLE "TramitesOn Line" SIZE 563.8, 532.4

// @ 20, 20 SAY VeoNombre( 'CONFIGRL' , '700' , 1 , 3 ) SIZE 540, 60 OF oDlg
@ 70 , 110 BUTTON 'Comercios' SIZE 348, 40 OF oDlg ACTION document.location = "menucomercio.exe?ingreso"
@ 120 , 110 BUTTON 'Inmuebles Urbanos' SIZE 348, 40 OF oDlg ACTION document.location = "menuurbanos.exe?ingreso"
@ 170 , 110 BUTTON 'Inmuebles Rurales' SIZE 348, 40 OF oDlg ACTION document.location = "menururales.exe?ingreso"
@ 220 , 110 BUTTON 'InmueblesCementerio' SIZE 348, 40 OF oDlg ACTION document.location = "menucementerio.exe?ingreso"
@ 270 , 110 BUTTON 'Proveedores' SIZE 348, 40 OF oDlg ACTION document.location = "menuproveedor.exe?ingreso"
@ 320 , 110 BUTTON 'Profesionales' SIZE 348, 40 OF oDlg ACTION document.location = "menuprofesional.exe?ingreso"

@ 420, 450 BUTTON 'Salir' SIZE 100 , 40 OF oDlg action ( oDlg:End() )

ACTIVATE DIALOG oDlg NOWAIT

// Endif

return nil
[/b]
hugojtheler
 
Posts: 12
Joined: Thu Nov 12, 2015 1:51 pm

Re: FiveWeb

Postby ruben Dario » Wed Mar 09, 2016 2:23 pm

Gracias por tu indicacion.-

Hice lo que tu dices pero me da error en estas lineas

@ 70 , 110 BUTTON 'Comercios' SIZE 348, 40 OF oDlg ACTION document.location = "menucomercio.exe?ingreso"
@ 120 , 110 BUTTON 'Inmuebles Urbanos' SIZE 348, 40 OF oDlg ACTION document.location = "menuurbanos.exe?ingreso"
@ 170 , 110 BUTTON 'Inmuebles Rurales' SIZE 348, 40 OF oDlg ACTION document.location = "menururales.exe?ingreso"
@ 220 , 110 BUTTON 'Inmuebles Cementerio' SIZE 348, 40 OF oDlg ACTION document.location = "menucementerio.exe?ingreso"
@ 270 , 110 BUTTON 'Proveedores' SIZE 348, 40 OF oDlg ACTION document.location = "menuproveedor.exe?ingreso"
@ 320 , 110 BUTTON 'Profesionales' SIZE 348, 40 OF oDlg ACTION document.location = "menuprofesional.exe?ingreso"

@ 420, 450 BUTTON 'Salir' SIZE 100 , 40 OF oDlg action ( oDlg:End() )

el error es
Error E0030 Syntax error "Syntaxis error AT '@' "
es como que no reconociera la sintaxis @ .... ..
Sera la version de Fiveweb , pero baje la ultima.


estan instruccion document.location es propie de Fiveweb

Gracias
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: FiveWeb

Postby Antonio Linares » Wed Mar 09, 2016 8:17 pm

Ruben,

Aqui se compila bien con la versión de FiveWeb más reciente

Asegurate de que estas usando los ficheros de cabecera mas recientes
regards, saludos

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

Re: FiveWeb

Postby ruben Dario » Thu Mar 10, 2016 12:34 am

Gracias Antonio, Solucionado.
HAbia descargado la version fiveweb_1.3 y esta da error
Baje source-archive.zip con esta funciona bien, pienso que esta es la ultima

Gracias
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1070
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Lailton and 45 guests