FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour hbpgsql/harbour + xbrowse
Posts: 43
Joined: Fri Jun 01, 2007 12:41 PM
hbpgsql/harbour + xbrowse
Posted: Thu May 05, 2011 01:51 PM

gostaria de saber como usar xbrowse com hbpgsql

"I would like to know how to use xbrowse hbpgsql"

HARBOUR CVS....

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: hbpgsql/harbour + xbrowse
Posted: Thu May 05, 2011 05:56 PM
Hope you will be able to open a table object with a query.

If the class of the object has some minimum methods like goto, gotop, recno, etc.xbrowse may be able to browse the object.

Please help me to try testing this:

First open the table / query in your own way. Let us call the object oQry. Then test whether xbrowse can automatically browse the object by:

Code (fw): Select all Collapse
? XBrowsableObj( oQry ).

If the result is .T., then xbrowse can browse the object without much effort from your side. In such a case, next step is:
Code (fw): Select all Collapse
DEFINE WINDOW oWnd
@ 0,0 XBROWSE oBrw OF oWnd DATASOURCE oQry FIELDS oQry:FieldGet(1) // or whatever way you access the fields.
oBrw:CreateFromCode()
oWnd:oClient := oBrw
ACTIVATE WINDOW oWnd

Depending on the results, I can guide you next.
Regards



G. N. Rao.

Hyderabad, India
Posts: 43
Joined: Fri Jun 01, 2007 12:41 PM
Re: hbpgsql/harbour + xbrowse
Posted: Fri May 06, 2011 09:08 AM
nageswaragunupudi wrote:Hope you will be able to open a table object with a query.

If the class of the object has some minimum methods like goto, gotop, recno, etc.xbrowse may be able to browse the object.

Please help me to try testing this:

First open the table / query in your own way. Let us call the object oQry. Then test whether xbrowse can automatically browse the object by:

Code (fw): Select all Collapse
? XBrowsableObj( oQry ).

If the result is .T., then xbrowse can browse the object without much effort from your side. In such a case, next step is:
Code (fw): Select all Collapse
DEFINE WINDOW oWnd
@ 0,0 XBROWSE oBrw OF oWnd DATASOURCE oQry FIELDS oQry:FieldGet(1) // or whatever way you access the fields.
oBrw:CreateFromCode()
oWnd:oClient := oBrw
ACTIVATE WINDOW oWnd

Depending on the results, I can guide you next.


return .F.
Posts: 43
Joined: Fri Jun 01, 2007 12:41 PM
Re: hbpgsql/harbour + xbrowse
Posted: Sat May 07, 2011 10:27 PM

hello ;

G. N. Rao. Hyderabad, India

know what can I do?

saberia oque posso fazer ?

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: hbpgsql/harbour + xbrowse
Posted: Sun May 08, 2011 09:27 AM
Please try adopting the following code to your query.
Code (fw): Select all Collapse
function PgQryBrowse( oQry )

   DEFINE WINDOW oWnd
   
   @ 0,0 XBROWSE oBrw OF oWnd ;
         FIELDS oQry:FieldGet( 1 ), oQry:FieldGet( 2 ) ;
         HEADERS oQry:FieldName( 1 ), oQry:FieldName( 2 ) ;
         CELL LINES
   
   WITH OBJECT oBrw
      :nDataType        := DATATYPE_USER
      
      :bGoTop           := { || oQry:GoTo( 1 ) }
      :bGoBottom        := { || oQry:GoTo( oQry:LastRec() ) }
      :bKeyCount        := { || oQry:LastRec() }
      :bKeyNo           := ;
      :bBookMark        := { |n| If( n == nil, oQry:RecNo(), ( oQry:GoTo( Max( n, oQry:LastRec() ) ), oQry:RecNo() ) ) }
      :bBof             := { || oQry:Bof() }
      :bEof             := { || oQry:Eof() }
      :bSkip            := { |n| PgSkipper( oQry, n ) }
      
   END
   
   oBrw:CreateFromCode()
   oWnd:oClient         := oBrw
   
   ACTIVATE WINDOW oWnd
   
return nil

function PgSkipper( oQry, nToSkip )

   local nSkipped    := 0
   local nRecNo      := oQry:RecNo()
   
   DEFAULT nToSkip   := 1
   
   if oQry:LastRec() > 0
      oQry:GoTo( Max( 1, Min( nRecNo + nToSkip, oQry:LastRec() ) ) )
      nSkipped          := oQry:RecNo() - nRecNo
   endif

return nSkipped

Please test and post the results.
Regards



G. N. Rao.

Hyderabad, India
Posts: 43
Joined: Fri Jun 01, 2007 12:41 PM
Re: hbpgsql/harbour + xbrowse
Posted: Sun May 08, 2011 10:06 PM

I did the test shows only one record ...
and the bank has 10 000 records

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: hbpgsql/harbour + xbrowse
Posted: Mon May 09, 2011 12:55 AM
luiz53 wrote:I did the test shows only one record ...
and the bank has 10 000 records

I am sorry, there was a small mistake in the code I posted originally. I corrected the above code in PgSkipper() function.
Please use the revised code above
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion