FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour FiveWeb
Posts: 12
Joined: Thu Nov 12, 2015 01:51 PM
FiveWeb
Posted: 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

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: FiveWeb
Posted: Tue Mar 01, 2016 09:30 AM
Hugo,

A帽ade est谩s l铆neas al final de tu PRG de FiveWeb:

Code (fw): Select all Collapse
#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
Posts: 12
Joined: Thu Nov 12, 2015 01:51 PM
Re: FiveWeb
Posted: Tue Mar 01, 2016 01: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

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: FiveWeb
Posted: Tue Mar 01, 2016 09: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
Posts: 12
Joined: Thu Nov 12, 2015 01:51 PM
Re: FiveWeb
Posted: 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

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: FiveWeb
Posted: Thu Mar 03, 2016 08:01 AM
Hugo,

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

Code (fw): Select all Collapse
$( ".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
Posts: 12
Joined: Thu Nov 12, 2015 01:51 PM
Re: FiveWeb
Posted: 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

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: FiveWeb
Posted: 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
Posts: 12
Joined: Thu Nov 12, 2015 01:51 PM
Re: FiveWeb
Posted: Tue Mar 08, 2016 01: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

Posts: 12
Joined: Thu Nov 12, 2015 01:51 PM
Re: FiveWeb
Posted: Tue Mar 08, 2016 01:50 PM

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

Sdos
Hugo

Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: FiveWeb
Posted: Wed Mar 09, 2016 04:34 AM
hugo estoy compilando tu codigo me da este error.

Code (fw): Select all Collapse
#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
Posts: 12
Joined: Thu Nov 12, 2015 01:51 PM
Re: FiveWeb
Posted: 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]
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: FiveWeb
Posted: Wed Mar 09, 2016 02: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 = &quot;menucomercio.exe?ingreso&quot; 
 @ 120 , 110 BUTTON 'Inmuebles Urbanos'    SIZE 348, 40 OF oDlg  ACTION document.location = &quot;menuurbanos.exe?ingreso&quot;   
 @ 170 , 110 BUTTON 'Inmuebles Rurales'    SIZE 348, 40 OF oDlg  ACTION document.location = &quot;menururales.exe?ingreso&quot;   
 @ 220 , 110 BUTTON 'Inmuebles Cementerio' SIZE 348, 40 OF oDlg  ACTION document.location = &quot;menucementerio.exe?ingreso&quot;   
 @ 270 , 110 BUTTON 'Proveedores'          SIZE 348, 40 OF oDlg  ACTION document.location = &quot;menuproveedor.exe?ingreso&quot; 
 @ 320 , 110 BUTTON 'Profesionales'        SIZE 348, 40 OF oDlg  ACTION document.location = &quot;menuprofesional.exe?ingreso&quot;

 @ 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
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: FiveWeb
Posted: Wed Mar 09, 2016 08: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
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: FiveWeb
Posted: 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