Page 1 of 1

TBrowse & report objects in FiveWin.

PostPosted: Sat May 24, 2008 8:10 am
by HunterEC
I'm new to FiveWin. :oops: I have a generic routine for browsing files in Clipper. I called it DbBrowse(nRow1, nCol1, nRow2, nCol2, aoColumns, ...). Basically I send the coordinates and the Columns (array) and that's it. How can I implement these using FiveWin ?

How can I implement a report with preview ? I need the simplest example of both (TBrowse & a report) using FiveWin. Thank you.

PostPosted: Sat May 24, 2008 1:21 pm
by Armando
HunterEc:

There are many samples in C:\FW\Samples folder, I'm sure you
will find what you need.

Regards

PostPosted: Sat May 24, 2008 1:41 pm
by Antonio Linares
This is a simple way to create a browse:
Code: Select all  Expand view
   @ 1, 1 LISTBOX oLbx ;
        FIELDS Clients->Name, AllTrim( Clients->Address ),;
                   Clients->Phone, Str( Clients->Age, 3 ) ;
        HEADERS    "Name", "Address", "Phone", "Age" ;
        FIELDSIZES 222, 213, 58, 24 ;
        SIZE 284, 137 OF oWnd


A simple way to create a Report with preview:
Code: Select all  Expand view
#include "FiveWin.ch"
#include "report.ch"

function Main()

     local oReport

     USE TEST INDEX TEST NEW

     REPORT oReport TITLE  "*** My First Report ***" PREVIEW

     COLUMN TITLE "St"         DATA Test->State
     COLUMN TITLE "First Name" DATA Test->First
     COLUMN TITLE "   Salary"  DATA Test->Salary

     END REPORT

     oReport:CellView()

     ACTIVATE REPORT oReport

     CLOSE TEST

RETURN NIL

PostPosted: Sat May 24, 2008 9:19 pm
by HunterEC
Antonio:

Thank you for your help and GREAT support. On the browse subject, is there a way to receive the columns as PARAMETERS and then do the browse. This way I can port my generic TBrowse routine? On the example that you posted, fields are hard coded. Thanks in advance.

PostPosted: Sat May 24, 2008 9:54 pm
by Enrico Maria Giordano
Code: Select all  Expand view
#include "Fivewin.ch"


FUNCTION MAIN()

    LOCAL oDlg, oBrw

    USE TEST

    DEFINE DIALOG oDlg;
           SIZE 800, 600

    @ 0, 0 LISTBOX oBrw FIELDS

    oBrw:bLine = &( "{ || { TEST -> last, TEST -> first } }" )

    ACTIVATE DIALOG oDlg;
             ON INIT oDlg:SetControl( oBrw );
             CENTER

    CLOSE

    RETURN NIL


EMG

Embedding the listbox in a window.

PostPosted: Sat May 24, 2008 10:25 pm
by HunterEC
Enrico: thank you very much for your example. Now, how can I make this LISTBOX pop up when the user press, for example, F2 to activate a lookup window (which will be the listbox). Thank you.

Using DBFCDX

PostPosted: Sat May 24, 2008 10:31 pm
by HunterEC
Enrico: if I use the Test file VIA DBFCDX in your example and REQUEST & link the library, the LISTBOX does not come up on screen. Any thoughts on this? Thank you.

PostPosted: Sun May 25, 2008 7:34 am
by Antonio Linares
Gustavo,

You have all the required tools to build your application in 32 bits with Harbour/xHarbour and FWH.

We strongly recommend you to migrate your application to 32 bits. It will solve many troubles

Re: Embedding the listbox in a window.

PostPosted: Sun May 25, 2008 8:05 am
by Enrico Maria Giordano
HunterEC wrote:Enrico: thank you very much for your example. Now, how can I make this LISTBOX pop up when the user press, for example, F2 to activate a lookup window (which will be the listbox). Thank you.


Code: Select all  Expand view
SETKEY( VK_F2, { || YourLookUpFunction() } )


or better

Code: Select all  Expand view
oDlg:bKeyDown = { || If( GetKeyState( VK_F2 ), YourLookUpFunction(), ) }


EMG

Re: Using DBFCDX

PostPosted: Sun May 25, 2008 8:07 am
by Enrico Maria Giordano
HunterEC wrote:Enrico: if I use the Test file VIA DBFCDX in your example and REQUEST & link the library, the LISTBOX does not come up on screen. Any thoughts on this? Thank you.


Code: Select all  Expand view
#include "Fivewin.ch"


REQUEST DBFCDX


FUNCTION MAIN()

    LOCAL oDlg, oBrw

    RDDSETDEFAULT( "DBFCDX" )

    USE TEST

    DEFINE DIALOG oDlg;
           SIZE 800, 600

    @ 0, 0 LISTBOX oBrw FIELDS

    oBrw:bLine = &( "{ || { TEST -> last, TEST -> first } }" )

    ACTIVATE DIALOG oDlg;
             ON INIT oDlg:SetControl( oBrw );
             CENTER

    CLOSE

    RETURN NIL


EMG

Re: Using DBFCDX

PostPosted: Sun May 25, 2008 8:08 am
by Enrico Maria Giordano
Anyway, I agree with Antonio: 32 bit is the way to go. 16 bit is a dead platform.

EMG

Thanks...

PostPosted: Mon May 26, 2008 3:59 am
by HunterEC
Enrico:
Thank you for your help & suggestion to move up to 32 bits. :)