Ayuda DbCombo

Ayuda DbCombo

Postby remtec » Thu May 12, 2022 2:20 am

Hola Amigos.

Necesito solucionar un problema que tengo con el uso de DbCombo.

Tengo una Get, que puede digitar un código del tipo de pago y mostrar además mostrar el nombre del tipo de pago.

La idea es que el DbCombo entre Disable(), tengo uno botón al lado del Get, que muestra una lupa, la idea es que se Enable(), cuando se presiona, se pueda buscar en el dbcombo, actualizar la variable del Get para que tome el tipo de pago seleccionado y dejar disable nuevamente el dbcombo.

Espero se entienda la idea.

Muchos saludos.
Antonio.

Codigo:
Code: Select all  Expand view

     @ 070,185 GET oGet1    Var Tip_Pag1       SIZE 50,22 PIXEL OF oDlg2   PICTURE "@!"   COLOR RGB(0,0,128)   FONT oFont2 UPDATE
   
       @ 70,245 BTNBMP SIZE 20, 20  OF oDlg2 PIXEL 2007 Resource "#8055" FONT oFont2 ;
                ToolTip  "BUSCAR TIPO PAGO";
                    Action oGet20:Enable()
     
     @ 70,300 DBCOMBO oGet20 var Tip_Pag1 of oDlg2;
      alias oStates:cAlias;
      size 250,200 pixel;
      itemfield "Tip_Pag";
      listfield "Nom_Pag";
      update           // Aqui Necesito Actualizar  oGet1 y deshabilitar  el DcCombo

        oGet20:Disable()   // Desactivo el DbCombo
        oGet20:Refresh()


 
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 717
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda DbCombo

Postby karinha » Thu May 12, 2022 10:58 am

\samples\DBCTEST.PRG

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Ayuda DbCombo

Postby remtec » Thu May 12, 2022 3:32 pm

Hola João.

Muchas gracias por responder.

He revisado mi version de FWH, pero no se encuentra el prg que me indicas.

Mi primera idea era que el pinchar el boton de la lupa para buscas, se abriera un lisbox en ese punto, pero vi esta opcion de DbCombo, a ver si logro hacer lo que pienso.


Muchos Saludos.

Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 717
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda DbCombo

Postby karinha » Fri May 13, 2022 11:34 am

// \samples\dbctest.prgs

Code: Select all  Expand view

// Basic MDI application with reporting examples                ä
/*
File Name  : Customer.PRG

Description: Basic MDI application with reporting examples

Modified   :
  10/10/95 : Code formatted, Grokked & verified by QA Team
             Tested by QA under FiveWin 1.9
  04/26/95 : Elliott Whitticar: Uses DBCombo class for STATE. // EMW
*/


#INCLUDE "FiveWin.ch"
#include "dbcombo.ch"   // EMW - Translations for DBCombo class

#DEFINE ID_FIRST       110
#DEFINE ID_LAST        120
#DEFINE ID_STREET      130
#DEFINE ID_CITY        140
#DEFINE ID_STATE       150
#DEFINE ID_ZIP         160
#DEFINE ID_HIREDATE    170
#DEFINE ID_MARRIED     180
#DEFINE ID_AGE         190
#DEFINE ID_SALARY      200
#DEFINE ID_NOTES       210
#DEFINE ID_NEXT        220
#DEFINE ID_NAME        230
#DEFINE ID_SALES       240
#DEFINE ID_ADDRESS     250
#DEFINE ID_PREV        260
#DEFINE ID_NEW         270
#DEFINE ID_EDIT        280
#DEFINE ID_DEL         290
#DEFINE ID_PRINT       300

STATIC oWnd, oClients, oClient, oName
STATIC cName
STATIC oState, cState   // EMW

//-------------------------------------------------------------//

FUNCTION Main()

   LOCAL cIniFile := GetWinDir()+"\FiveWin.ini"

   IF !file("Customer.dbf") .OR.                        ;
      !file("Sales.dbf")    .OR. ;
      !file("States.dbf")  // EMW - check for state table
      MsgStop("Missing Tables!")
      QUIT
   ENDIF

   IF GetPvProfString("FiveWin","ThreeD","1",cIniFile ) == "1"
      SET _3DLOOK ON
   ENDIF

   #ifdef __CLIPPER__
      SET RESOURCES TO "Customer.dll"
   #else
      SET RESOURCES TO "Custom32.dll"
   #endif

   use CUSTOMER alias CLIENTS NEW

   use SALES NEW

// EMW - State names and abbrevs
   use STATES alias "STATES" NEW SHARED

   dbselectarea("Clients")

   DEFINE WINDOW oWnd                                           ;
      TITLE "Reporting tools"                                   ;
      MDI                                                       ;
      MENU BuildMenu()

   SET MESSAGE OF oWnd                                          ;
      TO "Testing the FiveWin Report Class"                     ;
      CENTERED

   ACTIVATE WINDOW oWnd                                         ;
      VALID MsgYesNo( "Do you want to end?" )

   SET RESOURCES TO

RETURN( NIL )

//-------------------------------------------------------------//

FUNCTION BuildMenu()

   LOCAL oMenu

   MENU oMenu
      MENUITEM "&File"                                      //CLW
      MENU
         MENUITEM "&Clients..."                                 ;
            ACTION  BrwClients()                                ;
            MESSAGE "Clients management"

         MENUITEM "&Report..."                                  ;
            ACTION GenReport()
         SEPARATOR
         MENUITEM "E&xit"                                       ;
            ACTION oWnd:End()                                   ;
            MESSAGE "End this test"

      ENDMENU

      oMenu:AddMdi()  // Add standard MDI menu options

   ENDMENU

RETURN( oMenu )

//-------------------------------------------------------------//

FUNCTION BrwClients()

   LOCAL oBrw, oIco, oBar

   IF oClients != NIL
      RETURN( NIL )
   ENDIF

   DEFINE ICON oIco FILENAME "..\icons\Customer.ico"

   DEFINE WINDOW oClients                                       ;
      TITLE "Clients management"                                ;
      MDICHILD                                                  ;
      ICON oIco

   DEFINE BUTTONBAR oBar OF oClients

   DEFINE BUTTON OF oBar                                        ;
      TOOLTIP "Clients"                                         ;
      ACTION ShowClient()

   @ 2, 0 LISTBOX oBrw FIELDS OF oClients                       ;
      SIZE 500, 500                                             ;
      ON CHANGE ChangeClient() ;
      ON DBLCLICK ShowClient()

   oClients:SetControl( oBrw )

   ACTIVATE WINDOW oClients                                     ;
      VALID( oClients := NIL, .T. )
   // We destroy the object

RETURN( NIL )

//-------------------------------------------------------------//

FUNCTION GenReport()
   LOCAL oWnd, oIco

   DEFINE ICON oIco FILENAME "..\icons\print.ico"

   DEFINE WINDOW oWnd                                           ;
      TITLE "Clients report"                                    ;
      MDICHILD                                                  ;
      VSCROLL HSCROLL                                           ;
      ICON oIco

   ACTIVATE WINDOW oWnd

RETURN( NIL )

//-------------------------------------------------------------//

FUNCTION ShowClient()

   LOCAL oIco, cAlias

   IF oClient != NIL
      RETURN( NIL )
   ENDIF

   cAlias := ALIAS()

   DEFINE ICON oIco FILENAME "..\icons\Person.ico"

   DEFINE DIALOG oClient RESOURCE "Client" ;
      ICON oIco

   REDEFINE SAY ID 3 OF oClient        // To get the proper color
   REDEFINE SAY ID 4 OF oClient
   REDEFINE SAY ID 5 OF oClient

   REDEFINE GET oName VAR cName ID ID_NAME OF oClient WHEN ( cAlias )->AGE > 50

   // EMW - Add a combo-box for State
   REDEFINE DBCOMBO oState VAR cState ID ID_STATE OF oClient ;
      ALIAS "STATES" ;
      ITEMFIELD "CODE" ;
      LISTFIELD "NAME"

   REDEFINE BUTTON ID ID_NEXT OF oClient                        ;
      ACTION GoNext()

   dbselectarea("Sales")
   // We select Sales to properly initialize the Browse

   REDEFINE LISTBOX FIELDS ID ID_SALES OF oClient

   ACTIVATE DIALOG oClient                                      ;
      CENTERED                                                  ;
      NOWAIT                                                    ;
      VALID ( oClient := NIL, .T. )
   // Destroy the object

   SELECT Clients

RETURN( NIL )

//-------------------------------------------------------------//

FUNCTION ChangeClient()

   IF oClient != NIL
      cName = alltrim( Clients->Last ) + ", " + Clients->First
      oName:Refresh()

      cState = Clients->State               // EMW - Refresh state combobox
      oState:Refresh()
   ENDIF

RETURN( NIL )

//-------------------------------------------------------------//

FUNCTION GoNext()

   IF oClients != NIL

      oClients:oControl:GoDown()

   ELSE

      dbskip(1)

      IF eof()
         dbgobottom()
      ENDIF

   ENDIF

   ChangeClient()

RETURN( NIL )
//-------------------------------------------------------------//
 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 90 guests