Code: Select all | Expand
#include "FiveWin.ch"
#include "Report.ch"
#include "xBrowse.ch"
#include "constant.ch"
REQUEST DBFCDX
REQUEST DBFFPT
EXTERNAL ORDKEYNO,ORDKEYCOUNT,ORDCREATE,ORDKEYGOTO
Function Test()
Local oDlg
Local nBottom := 33
Local nRight := 75
Local nWidth := Max( nRight * DLG_CHARPIX_W, 180 )
Local nHeight := nBottom * DLG_CHARPIX_H
Local oggettoBmp:= { 'HARD_01', 'HARD_02' }
Local cInventario := space(30)
Local oFldMat,oBtnSel,aGet[20]
Local cBmp:="1"
RddSetDefault( "DBFCDX" )
DEFINE DIALOG oDlg ; //
TRANSPARENT SIZE nWidth, nHeight PIXEL ;
TITLE "test" ;
STYLE nOr( DS_MODALFRAME, WS_POPUP, WS_CAPTION, 4 );
@ 30, 4 FOLDER oFldMat PIXEL ;
ITEMS "&Materiale";
SIZE 288,50
@ 5, 5 SAY "&Num. Inventario :" OF oFldMat:aDialogs[1] SIZE 50, 8 PIXEL
@ 5, 70 GET aGet[2] VAR cInventario PICTURE "@!" OF oFldMat:aDialogs[1] SIZE 60, 10 PIXEL UPDATE
@ 5, 133 BUTTON oBtnSel PROMPT "..." OF oFldMat:aDialogs[1] PIXEL SIZE 10, 9 ;
ACTION (HwSeleccion( cInventario, aGet, oDlg ),;
cBmp:= aGet[20]:cResName ,;
aGet[20]:Refresh())
oBtnSel:cTooltip := i18n("selezionare il materiale da riparare")
@ 2, 250 BITMAP aGet[20] RESOURCE oggettoBmp[val(trim(cBmp))] NOBORDER PIXEL;
OF oFldMat:aDialogs[1] SIZE 20,20 UPDATE
ACTIVATE DIALOG oDlg center
retur nil
Function HwSeleccion( cProveed,aControl, oParent )
local oDlg, oBrowse, oCol, oBtnAceptar, oBtnCancel, oBNew, oBMod, oBDel, oBBus
local lOk := .f.
local aItems := {"CALC" ,;
"FAX" }
Crea_dbf() // FOR THE TEST
DEFINE DIALOG oDlg OF oParent ;
TITLE "Seleccion" ;
FROM 0, 0 TO 240, 530 PIXEL
@05, 10 XBROWSE oBrowse OF oDlg ;
SIZE 180,100 PIXEL
oBrowse:lColDividerComplete := .t.
oBrowse:lRecordSelector := .t.
oBrowse:lHScroll := .t.
oBrowse:cAlias := "HW"
oCol := oBrowse:AddCol()
oCol:bStrData := { || HW->INVENTARIO }
oCol:cHeader := "Inv."
oCol:nWidth := 100
oCol:bLDClickData := {|| ( lOk := .t., oDlg:End() ) }
oCol := oBrowse:AddCol()
oCol:bStrData := { || HW->TYPE }
oCol:cHeader := "Tipo"
oCol:nWidth := 50
oCol:bLDClickData := {|| ( lOk := .t., oDlg:End() ) }
WITH OBJECT oBrowse
WITH OBJECT oBrowse:aCols[2]
:AddResource( 'HARD_01')
:AddResource( 'HARD_02')
:bBmpData := { || AScan( aItems, Trim( HW->type )) }
:bStrData := { || " " }
END
END
oBrowse:SetRDD()
oBrowse:CreateFromCode()
@ 80, 202 BUTTON oBtnAceptar PROMPT "&Select" ;
SIZE 45, 12 PIXEL OF oDlg ;
ACTION (lOk := .t., oDlg:End())
@ 94, 202 BUTTON oBtnCancel PROMPT "&Exit" ;
SIZE 45, 12 PIXEL OF oDlg ;
ACTION (lOk := .f., oDlg:End())
ACTIVATE DIALOG oDlg CENTERED
if lOK
aControl[2]:cText := alltrim(Hw->Inventario)
aControl[20]:cResName:= STR(AScan( aItems, Trim( HW->type )))
endif
return nil
Function Crea_dbf()
DbCreate('Hw', {{'Seriale' , 'C', 30, 0} ,;
{'Type' , 'C', 20, 0} ,;
{'Marca' , 'C', 30, 0} ,;
{'Modello' , 'C', 30, 0} ,;
{'Laboratory' , 'C', 30, 0} ,;
{'TypeLab' , 'N', 1, 0} ,;
{'Licenza1' , 'C', 30, 0} ,;
{'Licenza2' , 'C', 30, 0} ,;
{'Tipo1' , 'C', 15, 0} ,;
{'Tipo2' , 'C', 15, 0} ,;
{'Attivato' , 'N', 1, 0} ,;
{'Ripri1' , 'L', 1, 0} ,;
{'Dischi1' , 'N', 2, 0} ,;
{'Ripri2' , 'L', 1, 0} ,;
{'Dischi2' , 'N', 2, 0} ,;
{'Inventario' , 'C', 10, 0} ,;
{'Dotazione' , 'C', 10, 0} ,;
{'Dotaltro' , 'C', 20, 0} ,;
{'Dotaltro2' , 'C', 20, 0} ,;
{'Appunti' , 'M', 10, 0}}, 'DBFCDX')
close all
use &('Hw') alias Hw new
select Hw
if FILE('HARDWARE.DBF')
delete file &('HARDWARE.cdx')
append from &('HARDWARE')
dbcommitall()
close all
delete file &('HARDWARE.dbf')
delete file &('HARDWARE.fpt')
endif
close all
rename &('Hw.dbf') to &('HARDWARE.dbf')
rename &('Hw.fpt') to &('HARDWARE.fpt')
use HARDwARE alias HW new
HW->(DbAppend())
Replace HW->INVENTARIO with "5555"
Replace HW->TYPE with "CALC"
HW->(DbAppend())
Replace HW->INVENTARIO with "9999"
Replace HW->TYPE with "FAX"
return nil
//---------------------------------------------------------