hbpgsql/harbour + xbrowse

Post Reply
luiz53
Posts: 43
Joined: Fri Jun 01, 2007 12:41 pm
Contact:

hbpgsql/harbour + xbrowse

Post by luiz53 »

gostaria de saber como usar xbrowse com hbpgsql

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

HARBOUR CVS....
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: hbpgsql/harbour + xbrowse

Post by nageswaragunupudi »

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: Select all

? 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: Select all

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
luiz53
Posts: 43
Joined: Fri Jun 01, 2007 12:41 pm
Contact:

Re: hbpgsql/harbour + xbrowse

Post by luiz53 »

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: Select all

? 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: Select all

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.
luiz53
Posts: 43
Joined: Fri Jun 01, 2007 12:41 pm
Contact:

Re: hbpgsql/harbour + xbrowse

Post by luiz53 »

hello ;

G. N. Rao. Hyderabad, India

know what can I do?



saberia oque posso fazer ?
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: hbpgsql/harbour + xbrowse

Post by nageswaragunupudi »

Please try adopting the following code to your query.

Code: Select all

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
luiz53
Posts: 43
Joined: Fri Jun 01, 2007 12:41 pm
Contact:

Re: hbpgsql/harbour + xbrowse

Post by luiz53 »

I did the test shows only one record ...
and the bank has 10 000 records
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: hbpgsql/harbour + xbrowse

Post by nageswaragunupudi »

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
Post Reply