estimado estoy intentando construir xharbour ultima versión con la particularidad que deseo que la opción
memory tracing and statistics este en off.
noten que he agregado HB_FM_STATISTICS_OFF a la definicio y aun asi esta en on.
nError:=oSql:Execute( "select * from clientes",.t.,.t.,,"MYUSER" )
nError:=oSql:Exec( "UPDATE clientes SET NOMBRE='CARLOS' WHERE NUM_CLIE=10" )
nError:=oSql:Execute( "select * from clientes",.t.,.t.,,"MYUSER" ) )
DBUSEAREA( .T.,, "SELECT SUM(ABONO) AS RESULTADO FROM COBROXDIA WHERE FECHA='2014-01-01'", "ABONO" )
? ABONO->RESULTADO // " 3500.00"
/*-------------------------------------------------------------------------------------------------*/
#include "expats.ch"
/*-------------------------------------------------------------------------------------------------*/
/*Ok*/
PROCEDURE DocuE( cNumEmpl )
LOCAL cNombreEmpl
PRIVATE oDlgD, oBrwD
PRIVATE cSql, aKInfoD
IF EMPL->( Eof() )
MsgInfo( "No hay empleados registrados.", "Información" )
RETURN
ENDIF
cSql := "SELECT * FROM VEMPLEADOD WHERE TIPO='D' AND NUM_EMPL=" + KValToSQL( nNumEmpl )
aKInfoD := { cSql, "EMPL_DOC" }
IF !KQuery( cSql, NIL, "EMPL_DOC" )
MsgAlert( KErrorText(), "Alerta" )
RETURN
ENDIF
cNombreEmpl := EMPL->NOMBRECOMP
DEFINE DIALOG oDlgD NAME "DLG_DOCUEC" OF oDlgE ICON GetIcon() FONT oFontD
REDEFINE GET nNumEmpl ;
ID 101 OF oDlgD ;
WHEN FALSE
REDEFINE GET cExpatID ;
ID 102 OF oDlgD ;
WHEN FALSE
REDEFINE GET cNombreEmpl ;
ID 103 OF oDlgD ;
WHEN FALSE
REDEFINE XBROWSE oBrwD ALIAS "EMPL_DOC" ;
ID 104 OF oDlgD ;
FONT oFontD
ADD TO oBrwD DATA EMPL_DOC->NOMBRE+CRLF+EMPL_DOC->DESCRIPCIO TITLE "Nombre de archivo"+FINL+"Descripción" SIZE 350
ADD TO oBrwD DATA EMPL_DOC->FECHA TITLE "Fecha" SIZE 070 LEFT
WITH OBJECT oBrwD
:MyConfig()
:aCols[ 01 ]:bPaintText := { |oCol, hDC, cText, aCoord| XColDrawText( oCol, hDC, cText, aCoord ) }
:lHScroll := FALSE
:nHeaderHeight := 36
:nFreeze := 2
:nDataLines := 2.5
:nHeaderLines := 2
:nMarqueeStyle := 7
:bLDblClick := {|| IIf( !EMPL_DOC->( Eof() ), DocuE_Visualizar(), NIL ) }
:bDropFiles := {|nRow, nCol, aFiles| DocuE_DragDropFile( aFiles ) }
END
REDEFINE BUTTONBMP ;
ID 105 OF oDlgD ;
BITMAP "BMS_ADD" ;
TOOLTIP "Agregar documento." ;
ACTION DocuE_Agregar( TRUE )
REDEFINE BUTTONBMP ;
ID 106 OF oDlgD ;
BITMAP "BMS_DEL" ;
TOOLTIP "Quitar documento." ;
WHEN !EMPL_DOC->( Eof() ) ;
ACTION DocuE_Borrar()
REDEFINE BUTTONBMP ;
ID 107 OF oDlgD ;
BITMAP "BMS_VIEW" ;
TOOLTIP "Visualizar documento." ;
WHEN !EMPL_DOC->( Eof() ) ;
ACTION DocuE_Visualizar()
REDEFINE BUTTON ;
ID 201 OF oDlgD ;
ACTION oDlgD:END()
ACTIVATE DIALOG oDlgD ON INIT ( DragAcceptFiles( oBrwD:hWnd, TRUE ), 1 )
KCloseTbl( "EMPL_DOC" )
RETURN
/*-------------------------------------------------------------------------------------------------*/
/*Ok*/
PROCEDURE DocuE_DragDropFile( aFiles )
LOCAL cArchivo := ""
LOCAL cDescripcion := Space( 80 )
LOCAL nNumDocu
IF Len( aFiles ) > 1
MsgAlert( "Arrastre un archivo a la vez.", "Alerta" )
RETURN
ENDIF
cArchivo := aFiles[ 01 ]
IF !Empty( cArchivo )
IF MsgGet( "Agregar un archivo", "Descripción de archivo", @cDescripcion, "@!", "BM_DOCUMENT" )
IF !Empty( cDescripcion )
KSetErrorRT( TRUE )
TRY
KBegin()
nNumDocu := KIncCont( "CONTROL", "CONT_DOCU" )
IF nNumDocu > 0
KInsert( "EMPLEADOS_DOCU", { { "NUM_EMPL" , nNumEmpl }, ;
{ "NUM_DOCU" , nNumDocu }, ;
{ "TIPO" , "D" }, ;
{ "FECHA" , Date() }, ;
{ "DESCRIPCION", cDescripcion } } )
KInsert( "DOCUMENTOS" , { { "NUM_DOCU" , nNumDocu }, ;
{ "NOMBRE" , cFileNoPath( cArchivo ) }, ;
{ "ARCHIVO" , HB_StrToHex( FileStr( cArchivo ) ) } } )
ENDIF
KCommit()
KReQuery( aKInfoD )
CATCH oError
KRollback()
ShowError( oError )
END
KSetErrorRT( FALSE )
ENDIF
ENDIF
ENDIF
oBrwD:Refresh()
RETURN
/*-------------------------------------------------------------------------------------------------*/
/*Ok*/
PROCEDURE DocuE_Agregar()
LOCAL cArchivo := ""
LOCAL cDescripcion := Space( 80 )
LOCAL nNumDocu
cArchivo := cGetFile( "Archivo | *.*", "Seleccione archivo a adjuntar ", 1, GetFolderMyDocuments(), XBL_OPENFILE, XBL_WITHLONGNAME )
IF !Empty( cArchivo )
IF MsgGet( "Agregar un archivo", "Descripción de archivo", @cDescripcion, "@!", "BM_DOCUMENT" )
IF !Empty( cDescripcion )
KSetErrorRT( TRUE )
TRY
KBegin()
nNumDocu := KIncCont( "CONTROL", "CONT_DOCU" )
IF nNumDocu > 0
KInsert( "EMPLEADOS_DOCU", { { "NUM_EMPL" , nNumEmpl }, ;
{ "NUM_DOCU" , nNumDocu }, ;
{ "TIPO" , "D" }, ;
{ "FECHA" , Date() }, ;
{ "DESCRIPCION", cDescripcion } } )
KInsert( "DOCUMENTOS" , { { "NUM_DOCU" , nNumDocu }, ;
{ "NOMBRE" , cFileNoPath( cArchivo ) }, ;
{ "ARCHIVO" , HB_StrToHex( FileStr( cArchivo ) ) } } )
ENDIF
KCommit()
KReQuery( aKInfoD )
CATCH oError
KRollback()
ShowError( oError )
END
KSetErrorRT( FALSE )
ENDIF
ENDIF
ENDIF
oBrwD:Refresh()
RETURN
/*-------------------------------------------------------------------------------------------------*/
/*Ok*/
PROCEDURE DocuE_Borrar()
LOCAL lBorrar := TRUE
LOCAL nNumDocu := 0
IF EMPL_DOC->( Eof() )
MsgAlert( "No hay documentos que borrar.", "Alerta" )
RETURN
ELSE
IF MsgNoYes( "Desea borrar documento seleccionado?", "Seleccionar" )
nNumDocu := EMPL_DOC->NUM_DOCU
KSetErrorRT( TRUE )
TRY
KBegin()
KExecute( "DELETE FROM EMPLEADOS_DOCU WHERE NUM_DOCU=%1", { nNumDocu } )
KExecute( "DELETE FROM DOCUMENTOS WHERE NUM_DOCU=%1", { nNumDocu } )
KCommit()
KReQuery( aKInfoD )
CATCH oError
KRollback()
ShowError( oError )
END
KSetErrorRT( FALSE )
ENDIF
ENDIF
oBrwD:Refresh()
RETURN
/*-------------------------------------------------------------------------------------------------*/
/*Ok*/
PROCEDURE DocuE_Visualizar()
IF EMPL_DOC->( Eof() )
MsgAlert( "No hay documentos para visualizar.", "Alerta" )
RETURN
ENDIF
VisorDocumentos( EMPL_DOC->NUM_DOCU )
RETURN
/*-------------------------------------------------------------------------------------------------*/
/*EOF*/
/*-------------------------------------------------------------------------------------------------*/
si se pudiera mejorar SQLMIX (vaya si lo he intentado, he revisado el código pero mi nivel de c no llega a tanto
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 76 guests