Ler dados da dbf e imprimir na tela com minigui
Enviado: 07 Abr 2014 09:54
Josivan, segue um exemplo do que você pode fazer:
Utilizei as cores já definidas na MiniGui, assim evita algumas linhas de programação. Para ver outras opções de cores, veja o arquivo \INCLUDE\I_COLOR.CH
Abraços,
Código: Selecionar todos
# include 'minigui.ch'
static v_cor
Func Main()
local cButton,k
public sit
Private aApto:={}
use aptos
If !File("aptos1.ntx")
Index on strzero(val(apt),3) to aptos1
Endif
Set index to aptos1
set delete on
define window Form_1 ;
at 0,0;
width 1024;
height 768;
main;
backcolor {0,0,0}
janela()
end window
Form_1.Center
Form_1.Activate
Return Nil
*******************************************************************************
func janela()
goto top
totap:= LastRec() - 1
lin := 10
for i= 1 to 10
col := 0
do while (!EOF())
if (col >488)
exit
endif
do case
case sit =="LI"
v_cor:= GREEN
case sit== "OC"
v_cor:= RED
case sit == "CL" .or. sit =="AR"
v_cor:= WHITE
case sit== "IT"
v_cor:= PURPLE
case sit== "EC"
v_cor:= YELLOW
otherwise
v_cor:= YELLOW
end case
cButton := ltrim(apt)
@ lin,col LABEL &cButton;
VALUE cButton CENTERALIGN WIDTH 40 HEIGHT 20;
FONT "verdana" SIZE 8 BOLD;
FONTCOLOR BLACK BACKCOLOR v_cor TOOLTIP 'A Suite Esta '+cButton + sit;
ACTION {|| clicou(this.caption)}
AADD(aApto,{ltrim(apt),sit})
skip
col += 50
enddo
if (EOF())
exit
endif
lin += 40
next i
Return
return Nil
**********************************
Func Clicou(cCap)
nAp:=ASCAN(aApto,{|e| e[1]==cCap})
cCor:=This.BackColor
If aApto[nAp,2] =="LI"
If msgyesno('deseja mudar a situaçao?','Apto: '+cCap+' Sit: '+aApto[nAp,2])
Go Top
Seek StrZero(Val(cCap),3)
Replace sit with "OC"
aApto[nAp,2] := "OC"
This.BackColor := RED
Endif
Endif
Return NilAbraços,
Muito boa essa.