by joseluisysturiz » Mon Apr 14, 2008 3:31 am
Aca te dejo un pequeño ejemplo, cualquier duda avisas... igual peudes bajar un manual basico desde UTILERIAS....
#include "FiveWin.ch"
MEMVAR oBARPPAL, oREPORT, oDLGACCESO, oCOMBOBOX, oWPPAL, oWHIJAS, oCURMANO, rBMP, rDLL, lARCHIVOS,;
lPRINT, nMENU, lAPPEND, lORIGEN, nRECNO, nTOP, cTitulo, dDesde, dHasta, nMEMO
FUNCTION clasicli(lORIGEN) // MAESTRO CLASIFICACION CLIENTES
local oDlgClaCli, oLbxClaCli, oDbfClaCli,;
oGetBuscar, cBuscar,;
oCmbClaCli, aCmbIndice := {"Código", "Nombre"}, nIndice := 1,;
oBtnInc, oBtnCon, oBtnMod, oBtnEli, oBtnSel, oBtnImp, oBtnSalir
DEFINE DIALOG oDlgClaCli RESOURCE "MAESTRO" OF oWppal;
TITLE " CUENTAS POR COBRAR - Maestro Clasificación Clientes"
DBSELECTAREA("jlclicla"); jlclicla->(OrdSetFocus(nIndice)); jlclicla->(DBGOTOP())
DATABASE oDbfClaCli; oDbfClaCli:GoTop(); oDbfClaCli:Blank(); nRecno := RecNo()
REDEFINE LISTBOX oLbxClaCli;
FIELDS jlclicla->&(FIELDNAME(1)), jlclicla->&(FIELDNAME(2));
ID 109;
FIELDSIZES 80, 150;
HEADERS " Código", " Nombre Clasificación";
ON RIGHT CLICK msginfo("Mostrar Menu POPUP");
ON DBLCLICK (IIF(lORIGEN, oDlgClaCli:END(), dataclacli(.F., oDlgClaCli, oDbfClaCli, oLbxClaCli)));
WHEN (RecCount() > 0 ) UPDATE OF oDlgClaCli
oLbxClaCli:GoTop(); oLbxClaCli:REFRESH()
REDEFINE BTNBMP oBtnInc ID 106 OF oDlgClaCli NOBORDER; // INCLUIR
ACTION (dataclacli(.T., oDlgClaCli, oDbfClaCli, oLbxClaCli));
PROMPT "Incluir"// FILE rBmp+"floppy.bmp"
REDEFINE BTNBMP oBtnCon ID 107 OF oDlgClaCli NOBORDER; // MODIFICAR
ACTION (dataclacli(.F., oDlgClaCli, oDbfClaCli, oLbxClaCli));
PROMPT "Modificar"; //FILE rBmp+"floppy.bmp"
WHEN (RecCount() > 0 )
REDEFINE BTNBMP oBtnMod ID 108 OF oDlgClaCli NOBORDER; // CONSULTAR
ACTION (msginfo("Que quieres Saber?"));
PROMPT "Consultar"; //FILE rBmp+"floppy.bmp"
WHEN (RecCount() > 0 )
REDEFINE BTNBMP oBtnEli ID 110 OF oDlgClaCli NOBORDER; // ELIMINAR
ACTION (delrecord(oLbxClaCli, ,"jlclicla"));
PROMPT "Eliminar"; //FILE rBmp+"floppy.bmp"
WHEN (RecCount() > 0 )
REDEFINE BTNBMP oBtnSel ID 112 OF oDlgClaCli NOBORDER; // SELECCIONAR
ACTION (msginfo("Seleccionar"));
PROMPT "Selecionar"; //FILE rBmp+"floppy.bmp"
WHEN (RecCount() > 0 )
REDEFINE BTNBMP oBtnImp ID 113 OF oDlgClaCli NOBORDER; // IMPRIMIR
ACTION (oLbxClaCli:REPORT());
PROMPT "Imprimir"; //FILE rBmp+"floppy.bmp"
WHEN (RecCount() > 0 )
REDEFINE BTNBMP oBtnSalir ID 114 OF oDlgClaCli NOBORDER; // SALIR
ACTION (oDlgClaCli:END());
FILE rBmp+"salidaP1.bmp", rBmp+"salidaP2.bmp"
REDEFINE COMBOBOX oCmbClaCli VAR nIndice; // COMBO-BOX
ITEMS aCmbIndice;
ON CHANGE (OrdSetFocus(nIndice), jlclicla->(DBGOTOP()),;
oLbxClaCli:REFRESH(), oLbxClaCli:SetFocus());
WHEN (RecCount() > 0 ) UPDATE;
ID 105 OF oDlgClaCli
REDEFINE GET oGETBuscar VAR cBuscar ID 111 PICTURE "@!"; // GET BUSCAR
VALID(buscar(cBuscar, oLbxClaCli, OrdSetFocus(nIndice)));
WHEN (RecCount() > 0 );
OF oDlgClaCli
*** Solo ToolTips
oLbxClaCli:cTooltip := 'Botón Derecho para Opciones'
oBtnInc:cTooltip := 'Incluir Registro'
oBtnCon:cTooltip := 'Modificar Registro'
oBtnMod:cTooltip := 'Consultar Registro'
oBtnEli:cTooltip := 'Eliminar Registro'
oBtnSel:cTooltip := 'Selecionar Registro'
oBtnImp:cTooltip := 'Imprimir Los Registros'
oBtnSalir:cTooltip := 'Retorna al Menu Principal'
oCmbClaCli:cTooltip := 'Seleccione para Ordenar Datos'
oGETBuscar:cTooltip := 'Introduzca para Buscar según Ordenado'
ACTIVATE DIALOG oDlgClaCli CENTER
* aRetorno := {jlemple->mpl_codigo, jlemple->mpl_nombre}
* IF lORIGEN // CONTROLA SI ES LLAMADO DESDE OTRA PATALLA
* RETURN (aRetorno)
* ENDIF
RETURN NIL // FIN MAESTRO CLASIFICACION CLIENTES
FUNCTION dataclacli(lAPPEND, oDlg, oDbf, oLbx) // FICHA CLASIFICACION CLIENTE
local oGET1, oGET2, oDlgDatCC, oBtnAce, oBtnSalir, oBtnAnt, oBtnSig,;
cAPPEND := "Nuevo"
IF !lAPPEND
cAPPEND := "Modificar"
oDbf:LOAD() // TRAE LOS CAMPOS PARA MODIFICAR
ELSE
oDbf:BLANK()
ENDIF
DEFINE DIALOG oDlgDatCC RESOURCE "DAT_MAESTRO" OF oDlg;
TITLE oDlg:cCaption+" - "+cAPPEND
REDEFINE GET oGET1 VAR oDbf:ccl_codigo ID 103 OF oDlgDatCC PICTURE "@!";
VALID(novacio(oDbf:ccl_codigo), vcodigo(oDbf:ccl_codigo, lAPPEND));
WHEN(lAPPEND) UPDATE
REDEFINE GET oGET2 VAR oDbf:ccl_nombre ID 104 OF oDlgDatCC;
VALID(novacio(oDbf:ccl_nombre));
WHEN(!EMPTY(oDbf:ccl_codigo)) UPDATE
REDEFINE BTNBMP oBtnAnt ID 107 OF oDlgDatCC NOBORDER; // ANTERIOR
ACTION (oLbx:GoUp(),;
oDbf:LOAD(),;
oGET1:REFRESH(),;
oGET2:REFRESH(),;
oLbx:REFRESH());
FILE rBmp+"anteP.bmp" UPDATE;
WHEN (!lAPPEND)
REDEFINE BTNBMP oBtnSig ID 108 OF oDlgDatCC NOBORDER; // SIGUIENTE
ACTION (oLbx:GoDown(),;
oDbf:LOAD(),;
oGET1:REFRESH(),;
oGET2:REFRESH(),;
oLbx:REFRESH());
FILE rBmp+"sigueP.bmp" UPDATE;
WHEN (!lAPPEND)
REDEFINE BUTTON oBtnAce ID 105 OF oDlgDatCC; // BOTON ACEPTAR
ACTION (graba(oDbf, oLbx, lAPPEND, "jlclicla", , ), oDlgDatCC:END());
PROMPT IIF(lAPPEND, "Agregar", "Actualizar"); //FILE rBmp+"grabarP.bmp";
WHEN (!EMPTY(oDbf:ccl_nombre)) UPDATE
REDEFINE BUTTON oBtnSalir ID 106 OF oDlgDatCC;// NOBORDER; // BOTON CANCELAR
ACTION (oDlgDatCC:END());//FILE rBmp+"salidaP1.bmp", rBmp+"salidaP2.bmp";
CANCEL
*** Solo ToolTips
oBtnAce:cTooltip := 'Haga Click para Grabar'
oBtnSalir:cTooltip := 'Haga Click para Salir'
ACTIVATE DIALOG oDlgDatCC CENTER
RETURN NIL // FIN FICHA CLASIFICACION CLIENTE
Dios no está muerto...
Gracias a mi Dios ante todo!