FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Recursos
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Recursos
Posted: Sun Oct 13, 2019 03:39 PM

Se puede utilizar
:lIncrFilter ,etc

desde recursos? Ya que no lo puedo hacer funcionar, y no encuentro en el forum ejemplos.

Gracias

Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: Recursos
Posted: Mon Oct 14, 2019 12:57 AM
Les dejo lo que hice y no funciona la busqueda incremental :

Code (fw): Select all Collapse
FUNCTION fabricas( lnimp, nNimp1, lcodigo, nCodigo1,lproa, nProa )

聽 聽LOCAL oFab, oBrw
聽 聽LOCAL oDlg
聽 聽LOCAL nBut := Array( 4 )
聽 聽LOCAL aNimp := Array( 0 )
聽 聽LOCAL aProd := Array( 0 )
聽 聽LOCAL aProv := Array(0)
聽
聽 聽LOCAL nCodigo
聽 聽local bproveedor
聽 聽LOCAL aSelGrad := { { .5, RGB( 255, 255, 251 ), RGB( 255, 237, 178 ) }, ;
聽 聽 聽 { .5, RGB( 255, 218, 103 ), RGB( 255, 233, 162 ) } }
聽 聽LOCAL aGradBarSel := { { .5,RGB( 255,255,251 ), RGB( 255, 196, 178 ) }, ;
聽 聽 聽 { .5, RGB( 255, 218, 103 ), RGB( 255, 233, 162 ) } }

聽 聽LOCAL bprod := 聽{|| iif( Empty( oFab:codigo ), "", ( aProd := BPRODU(oFab:codigo ), aProd[ 2 ] ) ) }
聽 聽LOCAL bprove := {|| iif( Empty( oFab:npro ), "", ( aProv := Buspro(oFab:npro ), aProv[ 2 ] ) ) }
聽 聽LOCAL bimpor := {|| iif( Empty( oFab:nimp ), "", ( aNimp := BUSIMP(oFab:nimp ), aNimp[ 2 ] ) ) }

聽 聽DEFAULT lnimp := .F.
聽 聽DEFAULT lcodigo := .F.
聽 聽DEFAULT lproa := .f.


聽 聽nCodigo := iif( lcodigo, nCodigo1, 0 )
聽 聽nProa :=iif( lproa, nProa, 0 )



聽 聽IF !pasaje( "fabricas" );RETURN nil; ENDIF
聽 聽DATABASE oFab

聽 聽IF lnimp
聽 聽 聽 oFab:setfilter( "nimp 聽=" + AllTrim( Str( nNimp ) ) )
聽 聽 聽 oFab:gotop()
聽 聽ENDIF

聽 聽IF lcodigo
聽 聽 聽 oFab:setfilter( "codigo 聽=" + AllTrim( Str( nCodigo ) ) )
聽 聽 聽 oFab:gotop()
聽 聽ENDIF

聽 聽if lproa
聽 聽 聽 oFab:setfilter( "npro 聽=" + AllTrim( Str( nProa ) ) )
聽 聽 聽 oFab:gotop()
聽 聽endif


聽 聽DEFINE DIALOG oDlg resource "Brx_grup1"
聽 聽oDlg:cCaption := "Documentos F谩bricas"





聽 聽REDEFINE XBROWSE oBrw ID 103 聽of oDlg update;
聽 聽 聽 columns 1, 2, 3, 4, 5, 6, 7;
聽 聽 聽 HEADERS "Estado", "Proveedor", "Producto", "F谩brica", "Guardado", "Vto", "Alta" ;
聽 聽 聽 OBJECT oFab lines cell 聽 ON DBLCLICK 聽(ShellExecute( , "open", 聽 ( oApp:dirdoc + oFab:buscar ),,, 1 )
聽 聽// COLSIZES 85, 90, 290, 80, 95, 65, 80;



聽 聽WITH OBJECT oBrw
聽 聽 聽 :nMarqueeStyle := 4
聽 聽 聽 :nColDividerStyle := LINESTYLE_BLACK
聽 聽 聽 :nStretchCol := STRETCHCOL_LAST
聽 聽 聽 :bClrSelFocus 聽:= {|| { CLR_BLACK, colores1( oBrw,oFab ) } }
聽 聽 聽 :lColDividerComplete := .F.
聽 聽 聽 :l2007 := .T.
聽 聽 聽 :lAllowColHiding := .F.
聽 聽 聽 :bClrSel := {|| { nRGB( 聽0, 聽0,255 ),aGradBarSel } }
聽 聽 聽 :bClrStd := {|| { rgb( 0,0,0 ),colores( oBrw,oFab ) } }
聽 聽 聽 :lIncrFilter 聽 聽 聽:= .t.
聽 聽 聽 :lSeekWild 聽 聽 聽 聽:= .t.
聽 聽 聽 :cFilterFld 聽 聽 聽 := "oFab:buscar"

聽 聽END WITH


聽 聽WITH OBJECT oBrw:aCols[ 1 ]
聽 聽 聽 :bStrData := {|| iif( !oFab:estado, "Activo", "Vencido" ) 聽}
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽 聽 :nWidth := 70
聽 聽END WITH

聽 聽WITH OBJECT oBrw:aCols[ 2 ]
聽 聽 聽 :bStrData := {|| IIF(!Empty(oFab:nImp), Eval( bimpor), Eval( bprove) )}
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽 聽 :nWidth := 200
聽 聽END WITH

聽 聽WITH OBJECT oBrw:aCols[ 3 ]
聽 聽 聽 :bStrData := {|| Eval( bprod ) }
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽 聽 :nWidth := 150
聽 聽END WITH

聽 聽WITH OBJECT oBrw:aCols[ 4 ]
聽 聽 聽 :bStrData := {|| oFab:fabrica }
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽 聽 :nWidth := 150
聽 聽END WITH

聽 聽WITH OBJECT oBrw:aCols[ 5 ]
聽 聽 聽 :bStrData := {|| convertir(oFab:buscar) }
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽END WITH

聽 聽WITH OBJECT oBrw:aCols[ 6 ]
聽 聽 聽 :bStrData := {|| oFab:vto }
聽 聽 聽 :cEditPicture := "@d"
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽END WITH



聽 聽WITH OBJECT oBrw:aCols[ 7 ]
聽 聽 聽 :bStrData := {|| oFab:alta }
聽 聽 聽 :cEditPicture := "@d"
聽 聽 聽 :nDataStrAlign := AL_LEFT

聽 聽END WITH

聽 聽REDEFINE BTNBMP 聽nBut[ 1 ] id 106 OF oDlg resource "BTNNUEVO", "BTNNUEVO1" 聽ACTION 聽nuefab( 聽oFab, oBrw, .T., lnimp )

聽 聽REDEFINE BTNBMP 聽nBut[ 2 ] id 107 OF oDlg resource "BTNCAMBIAR", "BTNCAMBIAR1" ACTION 聽nuefab( 聽oFab, oBrw, .F.,lnimp )

聽 聽REDEFINE BTNBMP 聽nBut[ 3 ] id 108 OF oDlg resource "BTNELIMINA", "BTNELIMINA1" ACTION 聽borro( 聽oFab, oBrw )
聽 聽
聽 // REDEFINE BTNBMP 聽nBut[ 4 ] id 104 OF oDlg resource "BTBUSCAR", "BTBUSCAR1" ACTION 聽FABRICA1( 聽) 聽 

聽 聽oDlg:oClient := oBrw


聽 聽ACTIVATE DIALOG oDlg

聽 聽oFab:deactivate()

RETURN NIL
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: Recursos
Posted: Mon Oct 14, 2019 01:02 AM
Si creo el dialogo desde c贸digo funciona (c贸digo que saque de samples)

Code (fw): Select all Collapse
#INCLUDE  "fivewin.ch"

memvar oapp

function FABRICA1()


   local oDlg, oBrw, oFont

   IF !pasaje("FABRICAS"); return nil; endif

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
   DEFINE DIALOG oDlg SIZE 800,300 PIXEL FONT oFont
   @ 30,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg DATASOURCE "FABRICAS" ;
      COLUMNS "FABRICA","BUSCAR"  ;
      CELL LINES AUTOSORT NOBORDER ON DBLCLICK  (ShellExecute( , "open",   ( oapp:dirdoc +buscar ),,, 1 ), HB_GCALL())

   WITH OBJECT oBrw
      :lIncrFilter      := .t.
      :lSeekWild        := .t.
      :cFilterFld       := "BUSCAR"
      //
      :CreateFromCode()
   END


   WITH OBJECT oBrw:aCols[ 2 ]
      :bStrData := {|| convertir(buscar) }
      :nDataStrAlign := AL_LEFT
   END WITH



   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont
   DBCloseArea()



return nil


Alguien sabe porque el error en el primer c贸digo

Luis
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: Recursos
Posted: Mon Oct 14, 2019 01:39 AM

Me parece que el problema es el uso de la clase database algo estoy definiendo mal. Si me pueden orientar

Gracias

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Recursos
Posted: Mon Oct 14, 2019 01:13 PM
Intenta asi:

Code (fw): Select all Collapse
   OrdListAdd( "FABRICANTE", "NIMP", "CODIGO", "NPRO" )  // indices.

   // OrdDescend( ,,.T. ) // - Crescente
   OrdDescend( ,,.F. )    // - Decrescente

   DATABASE oFab

   oFab:Gotop()
   oFab:Load()
   oFab:SetBuffer( .T. )
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: Recursos (solucionado mas o menos)
Posted: Mon Oct 14, 2019 03:59 PM
Si lo solucion茅 quitando la clase database (por eso lo de mas o menos), porque para mi lo ideal era hacerlo con esta clase, pero indudablemente hay algo que hago mal al declararla, funciona perfecto todo menos la b煤squeda incremental. Les agrego el c贸digo nuevo por si alguien sabe que esta mal en el c贸digo anterior que es el que quer铆a utilizar.
Este funciona perfecto
Code (fw): Select all Collapse
#include "Fivewin.ch"



MEMVAR oApp
聽 聽 聽 聽 聽 聽 聽 聽// 聽fabricas( .F.,0 , .T., oData:codigo,.f.,0 )
FUNCTION fabricas( lnimp, nNimp, lcodigo, nCodigo1,lproa, nProa )

聽 聽LOCAL 聽oBrw
聽 聽LOCAL oDlg
聽 聽LOCAL nBut := Array( 4 )
聽 聽LOCAL aNimp := Array( 0 )
聽 聽LOCAL aProd := Array( 0 )
聽 聽LOCAL aProv := Array(0)
聽// 聽LOCAL nNimp := iif( lnimp, nNimp1, 0 )
聽 聽LOCAL nCodigo
聽 聽local bproveedor
聽 聽LOCAL aSelGrad := { { .5, RGB( 255, 255, 251 ), RGB( 255, 237, 178 ) }, ;
聽 聽 聽 { .5, RGB( 255, 218, 103 ), RGB( 255, 233, 162 ) } }
聽 聽LOCAL aGradBarSel := { { .5,RGB( 255,255,251 ), RGB( 255, 196, 178 ) }, ;
聽 聽 聽 { .5, RGB( 255, 218, 103 ), RGB( 255, 233, 162 ) } }

聽 聽LOCAL bprod
聽 聽LOCAL bprove
聽 聽LOCAL bimpor, cAlias

聽 聽DEFAULT lnimp := .F.
聽 聽DEFAULT lcodigo := .F.
聽 聽DEFAULT lproa := .f.


聽 聽nCodigo := iif( lcodigo, nCodigo1, 0 )
聽 聽nProa :=iif( lproa, nProa, 0 )

聽/* 聽if PCount() != 0
聽 聽 聽 bproveedor := IIF(lnimp,bimpor,bprove)
聽 聽endif 聽*/

聽 聽IF !pasaje( "fabricas" );RETURN nil; ENDIF
聽 聽 聽 cAlias := alias(select())
聽 // DATABASE oFab

聽 IF lnimp
聽 聽 聽 聽set filter to (cAlias)->nimp 聽= nNimp 
聽 聽 聽 聽dbgotop()
聽 聽ENDIF

聽 聽IF lcodigo
聽 聽 聽 set filter to (cAlias)->codigo 聽= nCodigo 
聽 聽 聽 dbgotop()
聽 聽ENDIF

聽 聽if lproa
聽 聽 聽 set filter to (cAlias)->npro 聽= 聽nProa 
聽 聽 聽 dbgotop()
聽 聽endif
聽 聽bprod := 聽{|| iif( Empty( 聽(cAlias)->codigo ), "", ( aProd := BPRODU((cAlias)->codigo ), aProd[ 2 ] ) ) }
聽 聽bprove := {|| iif( Empty( 聽(cAlias)->npro ), "", ( aProv := Buspro((cAlias)->npro ), aProv[ 2 ] ) ) }
聽 聽bimpor := {|| iif( Empty( 聽(cAlias)->nimp ), "", ( aNimp := BUSIMP((cAlias)->nimp ), aNimp[ 2 ] ) ) } 聽 

聽 聽DEFINE DIALOG oDlg resource "Brx_grup1"
聽 聽oDlg:cCaption := "Documentos F谩bricas"





聽 聽REDEFINE XBROWSE oBrw ID 103 聽of oDlg update;
聽 聽 聽 columns 1, 2, 3, 4, 5, 6, 7;
聽 聽 聽 HEADERS "Estado", "Proveedor", "Producto", "F谩brica", "Guardado", "Vto", "Alta" ;
聽 聽 聽 COLSIZES 60, 90, 120, 80, 200, 65, 65; 聽 聽 聽
聽 聽 聽 DATASOURCE "FABRICAS" lines cell 聽 ON DBLCLICK 聽(ShellExecute( , "open", 聽 ( oApp:dirdoc + (cAlias)->buscar ),,, 1 ), HB_GCALL())




聽 聽WITH OBJECT oBrw
聽 聽 聽 :nMarqueeStyle := 4
聽 聽 聽 :nColDividerStyle := LINESTYLE_BLACK
聽 聽 聽 :nStretchCol := STRETCHCOL_LAST
聽 聽 聽 :bClrSelFocus 聽:= {|| { CLR_BLACK, colores1( oBrw, cAlias ) } }
聽 聽 聽 :lColDividerComplete := .F.
聽 聽 聽 :l2007 := .T.
聽 聽 聽 :lAllowColHiding := .F.
聽 聽 聽 :bClrSel := {|| { nRGB( 聽0, 聽0,255 ),aGradBarSel } }
聽 聽 聽 :bClrStd := {|| { rgb( 0,0,0 ),colores( oBrw, cAlias ) } } 
聽 聽 聽 :lIncrFilter 聽 聽 聽:= .t.
聽 聽 聽 :lSeekWild 聽 聽 聽 聽:= .t.
聽 聽 聽 :cFilterFld 聽 聽 聽 := "buscar"

聽 聽END WITH


聽 聽WITH OBJECT oBrw:aCols[ 1 ]
聽 聽 聽 :bStrData := {|| iif( !(cAlias)->estado, "Activo", "Vencido" ) 聽}
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽 聽 :nWidth := 70
聽 聽END WITH

聽 聽WITH OBJECT oBrw:aCols[ 2 ]
聽 聽 聽 :bStrData := {|| IIF(!Empty((cAlias)->nImp), Eval( bimpor), Eval( bprove)) }
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽 聽 :nWidth := 200
聽 聽END WITH

聽 聽WITH OBJECT oBrw:aCols[ 3 ]
聽 聽 聽 :bStrData := {|| Eval( bprod), aProd[ 2 ] 聽 }
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽 聽 :nWidth := 150
聽 聽END WITH

聽 聽WITH OBJECT oBrw:aCols[ 4 ]
聽 聽 聽 :bStrData := {|| (cAlias)->fabrica }
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽 聽 :nWidth := 150
聽 聽END WITH

聽 聽WITH OBJECT oBrw:aCols[ 5 ]
聽 聽 聽 :bStrData := {|| convertir((cAlias)->buscar) }
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽END WITH

聽 聽WITH OBJECT oBrw:aCols[ 6 ]
聽 聽 聽 :bStrData := {|| (cAlias)->vto }
聽 聽 聽 :cEditPicture := "@d"
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽END WITH



聽 聽WITH OBJECT oBrw:aCols[ 7 ]
聽 聽 聽 :bStrData := {|| (cAlias)->alta }
聽 聽 聽 :cEditPicture := "@d"
聽 聽 聽 :nDataStrAlign := AL_LEFT

聽 聽END WITH

聽 聽REDEFINE BTNBMP 聽nBut[ 1 ] id 106 OF oDlg resource "BTNNUEVO", "BTNNUEVO1" 聽ACTION 聽nuefab( 聽oBrw, .T., lnimp, cAlias )

聽 聽REDEFINE BTNBMP 聽nBut[ 2 ] id 107 OF oDlg resource "BTNCAMBIAR", "BTNCAMBIAR1" ACTION 聽nuefab( 聽oBrw, .F.,lnimp, cAlias )

聽 聽REDEFINE BTNBMP 聽nBut[ 3 ] id 108 OF oDlg resource "BTNELIMINA", "BTNELIMINA1" ACTION 聽borro( oBrw )

聽 // REDEFINE BTNBMP 聽nBut[ 4 ] id 104 OF oDlg resource "BTBUSCAR", "BTBUSCAR1" ACTION 聽FABRICA1( 聽)

聽 聽oDlg:oClient := oBrw


聽 聽ACTIVATE DIALOG oDlg

聽 聽DBCloseAll()

RETURN NIL

///////////////////////////////////////////////////////////////////////////////


Muchas Gracias Karinha por contestarme creo que el problema esta al utilizar la clase database
y yo no tengo idea de como reformularlo. Ya que comparando este c贸digo con el anterior son iguales

Luis

Continue the discussion