FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index Utilities / Utilidades Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posts: 344
Joined: Sat Jul 22, 2006 09:04 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Tue Oct 23, 2018 08:12 PM
Hola buenas tardes, Cristobal estoy probando el testmdi.prg que compartiste, donde el menu lateral se puede ocultar.
El tema es que solo me toma una rayita en la parte superior para hacer doble click.
Te adjunto la imagen para que te des cuenta.


otra cosa en la linea 168 comente esto //:nAlign := 3 porque daba error, luego lo compilo y te adjunto el error

Code (fw): Select all Collapse
Application
===========
聽 聽Path and name: C:\FEFWH\testmdi.exe (32 bits)
聽 聽Size: 3,958,784 bytes
聽 聽Compiler version: Harbour 3.2.0dev (r1801051438)
聽 聽FiveWin 聽version: FWH 18.04
聽 聽C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
聽 聽Windows version: 6.2, Build 9200 

聽 聽Time from start: 0 hours 0 mins 0 secs 
聽 聽Error occurred at: 10/23/18, 17:11:00
聽 聽Error description: Error BASE/1075 聽Argument error: >
聽 聽Args:
聽 聽 聽[ 聽 1] = U 聽 
聽 聽 聽[ 聽 2] = N 聽 1035

Stack Calls
===========
聽 聽Called from: .\source\classes\TEXPLBAR.PRG => TEXPLORERBAR:RESIZE( 244 )
聽 聽Called from: .\source\classes\CONTROL.PRG => TPANEL:_NALIGN( 1561 )
聽 聽Called from: testmdi.prg => HAZEXPLORERBAR( 168 )
聽 聽Called from: testmdi.prg => (b)MAIN( 56 )
聽 聽Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1041 )
聽 聽Called from: testmdi.prg => MAIN( 56 )

Saludos y Muchas gracias
Marcelo
FWH - Harbour - BCC7 - PellesC
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Tue Oct 23, 2018 08:53 PM

Marcelo, el ejemplo me funciona perfectamente y sin problemas

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 344
Joined: Sat Jul 22, 2006 09:04 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Tue Oct 23, 2018 09:15 PM
Le agregue el alto de la wnd al panel 2 en la linea 170

:nHeight := oWnd:nHeight()

Code (fw): Select all Collapse
 聽 WITH OBJECT ( oPnel2 := TPanel():New( 0, 0, 0, nWPanel, oExplBar ) )
聽 聽 聽 :SetColor( 0, METRO_OLIVE )
聽 聽 聽 :SetBrush( oBrush )
聽 聽 聽 //:nAlign 聽:= 3

聽 聽 聽 :nHeight := oWnd:nHeight() 聽// ESTO AGREGUE YO

聽 聽 聽 WndHeight( :hWnd, :nHeight + 2 )
聽 聽 聽 :bPainted 聽 := { | o | HazSayPnel() }
聽 聽 聽 :bLDblClick := { | o | lHide := !lHide, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oVSplitL:SetPosition( if( !lHide, nWPanel + 1, nPosVSp ) ), ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Eval( oVSplitL:bChange ), ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oVSplitL:Adjust(), oWndCalend:Refresh() }
聽 聽END WITH


y ahora si se ve.

Saludos
Marcelo
FWH - Harbour - BCC7 - PellesC
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Tue Oct 23, 2018 10:36 PM

Bien, pero como te comento sin poner lo que has a帽adido y con el nalign a mi me funciona, tendr茅 que ver por qu茅

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Sun Nov 11, 2018 06:33 PM
cnavarro wrote:Primera version para implementar la tecnica de BlockChain
Ejemplo desarrollado con hashs
Para entender bien el ejemplo, por favor vea este video antes.
Espero sus comentarios

First version to implement the BlockChain technique
Example developed with hashs
To understand the example well, please watch this video before.
I await your comments

https://youtu.be/_160oMzblY8



EXE sample

https://bitbucket.org/fivetech/fivewin- ... OCKFUL.EXE


Incluido en la nueva version de Fivewin 18.10

viewtopic.php?f=16&t=36338#p216789
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Sat Dec 22, 2018 01:11 AM
Aunque no creo que me d茅 tiempo a terminarlo, aqu铆 dejo una imagen de un proyecto que llevo desarrollando hace tiempo
Pero aprovecho para desear a todos los componentes del foro Feliz Navidad

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 344
Joined: Sat Jul 22, 2006 09:04 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Sat Dec 22, 2018 12:14 PM

Hola Cristobal, buenos d铆as que bien se ve la imagen del proyecto, gracias e igualmente el saludo a todo el foro. Bendiciones

FWH - Harbour - BCC7 - PellesC
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Sat Dec 22, 2018 04:23 PM
Otro proyecto que estoy desarrollando: FASTREPORT.NET desde Fivewin

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1096
Joined: Fri Oct 28, 2005 02:27 AM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Fri May 31, 2019 02:35 AM
cnavarro wrote:Aunque no creo que me d茅 tiempo a terminarlo, aqu铆 dejo una imagen de un proyecto que llevo desarrollando hace tiempo
Pero aprovecho para desear a todos los componentes del foro Feliz Navidad



Hi Cristobal,
Could you share the code of this? It's ok if it's not finished, I'm interested in the part that creates the UI.

Thank you very much
FWH 11.08/FWH 19.12

BCC5.82/BCC7.3

xHarbour/Harbour
Posts: 1
Joined: Tue Jun 18, 2019 08:47 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Tue Jun 18, 2019 09:29 PM
Me encanta esta parte de la navidad, puedo dejar volar mi imaginaci贸n con la intenci贸n de que mi 脕rbol de navidad sean el mejor de todo el vecindario, adem谩s me puedo reunir con toda mi familia en esta 茅poca del a帽o.
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Tue Jul 09, 2019 06:01 PM

Crist贸bal,

Por favor, 驴nos puedes informar como llevas Fastreport? Gracias.

Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producci贸n]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Thu Jul 11, 2019 05:07 AM
lucasdebeltran wrote:Crist贸bal,

Por favor, 驴nos puedes informar como llevas Fastreport? Gracias.

I am also interested to know more about using Fastreport.net from Fivewin
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Thu Jul 11, 2019 12:12 PM
anserkk wrote:
lucasdebeltran wrote:Crist贸bal,

Por favor, 驴nos puedes informar como llevas Fastreport? Gracias.

I am also interested to know more about using Fastreport.net from Fivewin


Dear Lucas and Anser
I had not seen much interest in this topic and I devoted my time to other topics
I am developing a class that facilitates access to FastReport.Net
At the moment the class contains:
Code (fw): Select all Collapse
CLASS TFwFastReport FROM TDotNet

   DATA cFileReport      INIT ""      PROTECTED
   DATA cFilePrepared    INIT ""      PROTECTED
   DATA cFileExport      INIT ""      PROTECTED
   DATA lSeparatepages   INIT .T.     PROTECTED
   DATA nQuality         INIT 0       PROTECTED
   DATA nResolution      INIT 0       PROTECTED
   DATA cFolderIn        INIT "" 
   DATA cFolderOut       INIT ""
   DATA cFolderExp       INIT ""
   DATA lPreview         INIT .T.
   DATA bPreviewWnd
   DATA bPreviewExp
   DATA cExeDesigner
   DATA cExeViewer
   DATA oWnd

   METHOD New( cDll, cSpace, cVerFrame, cLib ) CONSTRUCTOR
   METHOD Designer()
   METHOD FwExecute( cMethod, cParam )         INLINE ::Execute( , , cMethod, cParam )
   METHOD FwPrepare()                          INLINE ::FwExecute( "FwhPrepare", "" )
   METHOD FwReport()                           INLINE ::FwExecute( "FwhReport", "" )
   METHOD FwSavePrepare()                      INLINE ::FwExecute( "FwhSavePrepare", "" )
   METHOD FwExport( cFile, cType )
   METHOD FwExportHtml( cFile )
   METHOD FwExportPng( cFile )
   METHOD FwExportJpg( cFile )
   METHOD FwExportBmp( cFile )
   METHOD FwExportTif( cFile )
   METHOD FwExportGif( cFile )
   METHOD FwExportEmf( cFile )

   METHOD PreviewEmf( cFile )

   METHOD SetArraytoData( aDatos )
   METHOD SetDataArray( aDatos )
   METHOD SetDesigner( cExe )
   METHOD SetFileExport( cFile, cExt )
   METHOD SetFileReport( cFile, lExec )
   METHOD SetFilePrepared( cFile, lExec )

   METHOD SetViewer( cExe )
   METHOD Show( cFile )
   METHOD Viewer()

ENDCLASS


Also, the main problem I have is that I have never used FastReport and I do not know exactly the scope it has to have and the priorities to which I must give importance in its development.

These are my tests that work correctly

Code (fw): Select all Collapse
#include "FiveWin.ch"

Static cDll       := "d:\fwh\fwhteam\samples\FastFwh.dll"
Static cWorkSpace := "FastFwhR.Fwh"

Static oWnd
Static aTasks    := {}

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

Function Main()

   DEFINE WINDOW oWnd TITLE "FastReport NET from Fivewin: " + FWVERSION + ;
      " - 庐 Cristobal Navarro ( 2019 ) " + " - Right Click to Active"

   ACTIVATE WINDOW oWnd MAXIMIZED ;
      ON RIGHT CLICK FastReportNet()


Return nil

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


Function FastReportNet()

   local cPathReports := "D:\FastReportNet\VSC2017\Demos\Reports"
   //local cFileFrx  := "D:\Fwh\FwhTeam\samples\fastreport\frh\reps\4.frx"
   //local cFilePrx  := "D:\Fwh\FwhTeam\samples\fastreport\frh\reps\4.fpx"
   local cFileFrx  := "D:\FastReportNet\VSC2017\Demos\Reports\box.frx"
   local cFileFpx  := "D:\FastReportNet\VSC2017\Demos\Reports\box2.fpx"
   local cFileFpx1 := "D:\FastReportNet\VSC2017\Demos\Reports\box.fpx"
   local cFileExp  := "D:\FastReportNet\VSC2017\Demos\Reports\box2.html"
   local cFilePng  := "D:\FastReportNet\VSC2017\Demos\Reports\box2.png"
   local cFileBmp  := "D:\FastReportNet\VSC2017\Demos\Reports\box2.bmp"
   local cFileJpg  := "D:\FastReportNet\VSC2017\Demos\Reports\box2.jpg"
   local cFileTif  := "D:\FastReportNet\VSC2017\Demos\Reports\box2.tif"
   local cFileGif  := "D:\FastReportNet\VSC2017\Demos\Reports\box2.gif"
   local cFileHtml := "D:\FastReportNet\VSC2017\Demos\Reports\box2.html"
   local cFileEmf  := "D:\FastReportNet\VSC2017\Demos\Reports\box3.emf"
   local aDatos    := { "a", "b", "c", "d" }
   local oNet
   local oErr

   TRY
      oNet := TFwFastReport():New( cDll, cWorkSpace )
      WITH OBJECT oNet
         //
         //:SetDllName( cDll )
         //:SetNameSpace( cWorkSpace )
         //

         :oWnd    := oWnd

         //
         :SetDesigner( "D:\FastReportNet\FastReport.Community\Designer.exe" ) // .frx
         :SetViewer( "D:\FastReportNet\FastReport.Community\Viewer.exe" )     // .fpx
         //

         cFileFrx := "D:\FastReportNet\VSC2015_1\FastFwh\FastFwh\in\report.frx"

         :SetFileReport( cFileFrx )
         //
         if Empty( :GetNetError() )
            :SetFilePrepared() // cFileFpx )
         endif
         if Empty( :GetNetError() )
            :FwReport()
         endif
         if Empty( :GetNetError() )
            :SetDataArray( aDatos )
         endif
         if Empty( :GetNetError() )
            :FwPrepare()
         endif
         if Empty( :GetNetError() )
            :FwSavePrepare()
         endif
         //
         if Empty( :GetNetError() )

            //:Viewer()
            //:Designer()

            //:FwExport( cFilePng )
            //:FwExportPng()

            //:FwExport( cFileBmp )
            //:FwExportBmp()

            //:FwExport( cFileJpg )
            //:FwExportJpg()

            //:FwExport( cFileTif )
            //:FwExportTif()

            //:FwExport( cFileGif )
            //:FwExportGif()

            //:FwExport( cFileHtml )
            //? :SetFileExport( , "html" )
            //:FwExport( , "html" )
            
            //:FwExportHtml()

            ? :SetFileExport( , "emf" )
            :FwExport( , "emf" )

            //:FwExportEmf()

         endif
         if Empty( :GetNetError() )
            //? :GetResult()
            //? :GetReturnValue()
            //? :GetValueReturn()
            if :lPreview
               :Show()
            endif
         endif

         if !Empty( :GetNetError() )
            ? :GetNetError()
         endif

         :End()
      END
   CATCH oErr
   
   END TRY

Return nil

//----------------------------------------------------------------------------//
// Export FastReport to standard preview of FW
//----------------------------------------------------------------------------//

function PreviewEmf( cFile )

   LOCAL oPrn, oFont

   PRINTER oPrn PREVIEW

      DEFINE FONT oFont NAME "Times New Roman" SIZE 0,-14 OF oPrn

      PAGE
      oPrn:ImportWMF( cFile )

      oPrn:CmSay(  0.4,  1, cFile )
      oPrn:CmSay(  1.0,  1, "Fichero Exportado de FastReport .NET" )
      oPrn:CmSay(  1.6,  1, "Cristobal Navarro" )
      
      ENDPAGE

   ENDPRINT

   oFont:End()

   //MsgInfo( "Work done!", "Look" )

return nil

//----------------------------------------------------------------------------//
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Wed Jul 17, 2019 04:31 AM
Dear Mr.Cristobal,

Thank you for sharing the code.

cnavarro wrote:Also, the main problem I have is that I have never used FastReport and I do not know exactly the scope it has to have and the priorities to which I must give importance in its development.


The FastReport available for Harbour ( I am NOT talking about FastReport.NET ) is a one single DLL file without any external dependency which is to be distributed along with our application EXE file ie something similar to the way FreeImage.DLL works. The viewer, the designer everything is inbuilt into that FastReport DLL file.

To me, the following are the main attractions in FastReport

1. No other files required, just one single DLL along with our FiveWin application EXE file.
2. Another advantage of FastReport is that it can generate PDF files with a very small file size.
3. The preview of the report is good.

Inspecting your code, I see few references to other external EXE's for the viewer, designer etc. For eg
Code (fw): Select all Collapse
Static cDll       := "d:\fwh\fwhteam\samples\FastFwh.dll"
...
:SetDesigner( "D:\FastReportNet\FastReport.Community\Designer.exe" ) // .frx
:SetViewer( "D:\FastReportNet\FastReport.Community\Viewer.exe" )     // .fpx
...


I was of the assumption that FastReport.NET also works in the same way as FastReport for Harbour ie with one single DLL file. Of course, the .NET Framework dependency will be there but then it is not a problem because nowadays Windows OS comes with preloaded .NET Framework. Dependency on multiple EXE's and DLL's for the report engine to function is always a maintenance headache.

Fivewin application is one single EXE and that's the charm. Hope I explained it correctly

Regards
Anser
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Decoremos el arbol de navidad de FWH - Decorate the FWH tree
Posted: Wed Jul 17, 2019 10:12 AM

Dear Anser

The references to these external programs are one more feature that I have added to verify, at the moment, that the reports are valid, but are not necessary for the operation of FastReport.net.
Its operation is identical to the one you mention. A single DLL that is called from Fw.

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces