FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Convert wBrowse to xBrowse
Posts: 187
Joined: Mon Oct 20, 2008 06:33 PM
Convert wBrowse to xBrowse
Posted: Tue Sep 23, 2014 10:27 AM
How can I change wBrowse in xBrowse in this example?

Code (fw): Select all Collapse
*------------------------------------------------------------------------------------*
Function AchaEmbalagem( oArquivo, oVar, oOrdem, oCampo )
*------------------------------------------------------------------------------------*
   local oLbx,oCbx,oAcha,oDlg
   Local cOrdem,mOrdem,cDbfAcha
   Local cAcha
   Local SelOld
   Local nOrdem
   Local lOk:=.F.
   Local RecN:= RecNo()
   Local cPrg := oArquivo
   Local oBt[8]

   oOrdem:=iif( oOrdem=nil, 2, oOrdem)
   oCampo:=iif( oCampo=nil,"NR_EM", oCampo)

   SelOld := Select()
   SysWait( 0.1 )
   if Compara_Valor(Len(cPrg),2,"=")
      if !Net_Use("MTEMBALA",cPrg)
         Select(SelOld)
         Return Nil
      endif
      oArquivo := ALIAS()
      cDbfAcha   := cPRG+"MTEMBALA"
   else
      cDbfAcha:=cPrg
   endif
   Select(oArquivo)
   nOrdem := ORDNUMBER()
   nRegAtu:= RecN()
   Set Order To oOrdem
   DBGOTOP()

   IF oOrdem == 1
      cOrdem := "1-C贸digo"
   Elseif oOrdem == 2
      cOrdem := "2-Nome"
   Endif
   mOrdem := {"1-C贸digo","2-Descri莽茫o"}

   Select(oArquivo)
   DEFINE DIALOG oDlg RESOURCE "PLANILHA" TITLE StrZero(RecCount(),6)+"  Encontra Embalagens" FONT oFontSay //TRANSPARENT

   Select(cDbfAcha)
   REDEFINE ICON ID ID_BITMAP OF oDlg RESOURCE "ACHA"
   REDEFINE SAY PROMPT "Embalagens" ID 1100 OF oDlg ;
            FONT oFontBig COLOR CLR_BLUE
   REDEFINE LISTBOX oLbx;
            FIELDS (cDbfAcha)->Nr_EM,;
                   (cDbfAcha)->Descr;
            HEADERS "C贸digo","Descri莽茫o";
            ID 8000 OF oDlg UPDATE FONT oFontBrw;
            ON DBLCLICK (  lOk:=.T. , oDlg:end() )
            oLbx:bKeyDown := {|nKey|iif(nKey=13,( lOk:=.T., oDlg:end()),"")}

    REDEFINE GET oAcha VAR cAcha ID 111 OF oDlg UPDATE;
            ON CHANGE ( ::Assign(),;
                        If( nKey=13, (oLbx:Refresh(),oLbx:SetFocus()),;
                        If( (cDbfAcha)->(DbSeek(Upper(SubS(cAcha,1,::nPos-1))+IIF(oaVersao="16",Upper(Chr(nKey)),''))),;
                            (oLbx:UpStable(),oLbx:Refresh(),.t.),;  // accept the Key
                            (oLbx:UpStable(),oLbx:Refresh(),.f.)))) // refuse the key
   REDEFINE ButtonBmp ID 100 OF oDlg                   ;        && Pesquisa
            PROMPT "C&onfirma" BITMAP "B_OK1";
            ACTION ( lOk:=.T. , oDlg:end() )
   REDEFINE ButtonBmp ID 110 OF oDlg                   ;        && Lista
            PROMPT "&Pesquisa" BITMAP "B_PROCURA1";
            ACTION ( Pesquisa( cDbfAcha, oLbx, oDlg, 3, "C贸digo ou Descri莽茫o", "Embalagem", .F. ), cOrdem:=mOrdem[(cDbfAcha)->(ORDNUMBER())], oCbx1:Refresh(), cAcha:=Space(50), oAcha:Refresh() )

   REDEFINE Button oBt[2] ID 120 OF oDlg
   REDEFINE Button oBt[3] ID 130 OF oDlg
   REDEFINE Button oBt[4] ID 140 OF oDlg
   REDEFINE Button oBt[6] ID 160 OF oDlg
   REDEFINE Button oBt[7] ID 170 OF oDlg

   REDEFINE ButtonBmp ID 180 OF oDlg                ;        && Fechar
            PROMPT "&Cancela" BITMAP "B_CANCEL1";
            ACTION oDlg:End() Cancel

   REDEFINE SAY PROMPT "Ordem:" ID 330 OF oDlg COLOR CLR_RED

   REDEFINE COMBOBOX oCbx1 VAR cOrdem ITEMS mOrdem ;
            ID 350 ON CHANGE Ordem( oLbx, cDbfAcha, cOrdem, oa_focus(oLbx), cAcha:=Space(50), oAcha:Refresh() ) OF oDlg

   ACTIVATE DIALOG oDlg CENTERED;
            ON INIT ( oBt[2]:Hide(),oBt[3]:Hide(),oBt[4]:Hide(),oBt[6]:Hide(),oBt[7]:Hide(),;
                      SetaBrw3d( oLbx ) )
   if Select(oArquivo)>0 // 12/08/2013: Evita erro na pr贸xima linha
      Select(oArquivo)
      DBSetOrder( nOrdem )
   endif
   if (lOk) .AND. Select(cDbfAcha)>0
      Stor (cDbfAcha)->&oCampo To oVar
   endif
   SysWait( 0.1 )
   if Compara_Valor(Len(cPrg),2,"=")
      fecha_arquivo( oArquivo )
   endif
   Select( SelOld )
Return( oVar )


Resource: PLANILHA
Code (fw): Select all Collapse
PLANILHA DIALOG 6, 18, 418, 221
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Planilha"
FONT 8, "MS Sans Serif"
{
 EDITTEXT 111, 46, 203, 295, 11, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
 LTEXT "Titulo", 1100, 25, 1, 200, 25, NOT WS_GROUP
 CONTROL "", -1, "STATIC", SS_GRAYFRAME | WS_CHILD | WS_VISIBLE | WS_GROUP, 3, 26, 340, 172
 GROUPBOX "", 102, 346, 1, 71, 217, BS_GROUPBOX
 CONTROL "", 8000, "twbrowse", 0 | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 4, 27, 335, 169
 COMBOBOX 350, 252, 5, 91, 94, CBS_DROPDOWNLIST | WS_TABSTOP
 PUSHBUTTON "Novo", 100, 349, 9, 65, 20
 PUSHBUTTON "Modifica", 110, 349, 30, 65, 20
 PUSHBUTTON "Apaga", 120, 349, 51, 65, 20
 PUSHBUTTON "Consulta", 130, 349, 72, 65, 20
 PUSHBUTTON "Pesquisa", 140, 349, 93, 65, 20
 PUSHBUTTON "Lista", 160, 349, 114, 65, 20
 PUSHBUTTON "Filtra", 170, 349, 135, 65, 20
 PUSHBUTTON "Fecha", 180, 349, 195, 65, 20
 CONTROL "", -1, "STATIC", SS_GRAYFRAME | WS_CHILD | WS_VISIBLE | WS_GROUP, 3, 200, 340, 18
 RTEXT "Ordem:", 330, 226, 7, 24, 9, SS_RIGHT | NOT WS_GROUP
 RTEXT "Pesquisa:", -1, 8, 204, 34, 8
 ICON "", 1000, 3, 3, 18, 20
}
Oscar Ribeiro

OASyS Inform谩tica

Fwh18.02 + xHarbour 1.2.3 + Bcc72
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Convert wBrowse to xBrowse
Posted: Tue Sep 23, 2014 02:27 PM

Hi Oscar.
Try this:

In your main.prg: "Include "XBrowse.ch"
Replace this REDEFINE LISTBOX oLbx, with REDEFINE XBROWSE oLbx
Remove all oLbx:UpStable()
Replace this CONTROL "", 8000, "twbrowse", with CONTROL "", 8000, "txbrowse" ( in your .rc)

Regards.

Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 187
Joined: Mon Oct 20, 2008 06:33 PM
Re: Convert wBrowse to xBrowse
Posted: Thu Sep 25, 2014 12:49 PM
What command replaces the olbx:UpStable() ?

With this command the wBrowse allowed incremental research pointing to the record in typing time.

Code (fw): Select all Collapse
   REDEFINE GET oAcha VAR cAcha ID 111 OF oDlg UPDATE;
            ON CHANGE ( ::Assign(), ;
                        If( nKey=13, (oLbx:Refresh(),oLbx:SetFocus()),;
                        If( (cDbfAcha)->(DbSeek(Upper(SubS(cAcha,1,::nPos-1)))),;
                            (oLbx:UpStable(),oLbx:Refresh(),.t.),;  // accept the Key
                            (oLbx:UpStable(),oLbx:Refresh(),.f.)))) // refuse the key
Oscar Ribeiro

OASyS Inform谩tica

Fwh18.02 + xHarbour 1.2.3 + Bcc72
Posts: 100
Joined: Fri Dec 12, 2008 04:39 PM
Re: Convert wBrowse to xBrowse
Posted: Thu Sep 25, 2014 02:37 PM
Bom dia Oscar.

Segue abaixo um pequeno exemplo usando xbrowse e dbf, voc锚 pode analisar e adaptar a sua necessidade:


Code (fw): Select all Collapse
聽 聽 聽 REDEFINE XBROWSE oBrw_Formas ;
聽 聽 聽 聽 聽 HEADER "Forma de Pagamento", "Valor(R$)" ;
聽 聽 聽 聽 聽 COLSIZES 370, 184 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 ARRAY albx_formas ;
聽 聽 聽 聽 聽 when !tefcnc .and. (oBrw_Formas:SelectCol( 2 ), .t.) ;
聽 聽 聽 聽 聽 ID 306 FASTEDIT ;
聽 聽 聽 聽 聽 UPDATE 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 AUTOCOLS 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 ON CHANGE (Lista_Parcelas(albx_formas[oBrw_Formas:nArrayAt, 16])) ; 
聽 聽 聽 聽 聽 OF odlg_pag
聽 聽 聽 
聽 聽 聽 oBrw_Formas:setfont(oFont_xforma)

聽 聽 聽 oBrw_Formas:nMarqueeStyle 聽 聽 聽 := MARQSTYLE_HIGHLCELL
聽 聽 聽 oBrw_Formas:nColDividerStyle 聽 聽:= LINESTYLE_BLACK
聽 聽 聽 oBrw_Formas:nRowDividerStyle 聽 聽:= LINESTYLE_BLACK
聽 聽 聽 oBrw_Formas:lColDividerComplete := .t.
聽 聽 聽 oBrw_Formas:lAllowRowSizing := .f.
聽 聽 聽 oBrw_Formas:lFooter := .t.
聽 聽 聽 oBrw_Formas:lHeader := .t.
聽 聽 聽 oBrw_Formas:lUpdate 聽 := .t.
聽 聽 聽 oBrw_Formas:nHeaderHeight := 40

聽 聽 聽 oBrw_Formas:aCols[1]:cFooter := "SUB-TOTAL:"

聽 聽 聽 oBrw_Formas:aCols[1]:nEditType := EDIT_NONE

聽 聽 聽 oBrw_Formas:aCols[2]:nEditType := EDIT_GET
聽 聽 聽 oBrw_Formas:aCols[2]:cEditPicture := "@E 999,999.99"

聽 聽 聽 oBrw_Formas:aCols[2]:bClrFooter := {|| { RGB(255, 0, 0), GetSysColor( COLOR_BTNFACE ), ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽nRGB( 125, 165, 224 ), nRGB( 203, 225, 252 ) } }

聽 聽 聽 oBrw_Formas:aCols[2]:oFooterFont := oFont_Receb

聽 聽 聽 oBrw_Formas:nFreeze := 2

聽 聽 聽 oBrw_Formas:aCols[2]:bEditWhen := { || if(albx_formas[oBrw_Formas:nArrayAt, 5], .f., .t.) }

聽 聽 聽 oBrw_Formas:aCols[2]:bEditValid := { |oGet| Valida(@oGet:VarGet(), @oBrw_Formas:nArrayAt, 聽 ;
聽 聽 聽 albx_formas[oBrw_Formas:nArrayAt, 3] ) }


Tambem existem bons exemplos na pasta samples do fwh usando a xbrowse, inclusive com pesquisa incremental.

Abra莽os.
Contagem/Brazil

FWH/xharbour 15.12/PELLES C, MED, DBF
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Convert wBrowse to xBrowse
Posted: Thu Oct 09, 2014 03:12 AM
What command replaces the olbx:UpStable() ?

Upstable() is not requred for XBrowse, because XBrowse does this automatically when required.
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion