"Começando" com GUI
Enviado: 04 Mar 2018 09:37
Anos atrás, antes de você começar com GTWVG fiz o seguinte comentário: dá uma geral primeiro nos fontes, melhore os fontes, melhore o conhecimento antes de complicar mais.
Tá fazendo falta isso.
Tá aí o wvgCrt.
Variável por referência, igual faria com console, igual pode fazer com HMG, igual pode fazer com HWGUI.
Esse é um conhecimento básico do Clipper, obrigatório nos dias atuais.
Continua deixando isso de lado, e tá fazendo falta.
hb_gtSelect() é o tal conjunto de tela/teclado/mouse a ser movido entre janelas.
Nem sequer uso isso, multithread não precisa disso, porque cada thread tem seu próprio conjunto de tela/teclado/mouse.
Mas não invente usar multithread agora..... vai ser outra complicação, que NINGUËM vai querer/poder te ensinar.
Ou tente... começando em reescrever todos os fontes existentes pra algo mais prático, antes de mexer com multithread.
Tá fazendo falta isso.
Código: Selecionar todos
#include "inkey.ch"
PROCEDURE Main
LOCAL codigo := 1, descricao := SPace(25), complemento := Space(25)
LOCAL CST := 0, ncm := 0, cfop := 0, GetList := {}, nCont
SETMODE(33,80)
CLS
FOR nCont = 0 TO 33
@ nCont, 0 SAY Replicate("W", 80)
NEXT
SAVE SCREEN
SetColor( "W/B,B/W,,,W/B")
@ 8, 10 CLEAR TO 17, 50
@ 8, 10 TO 17, 50 COLOR "G+/B"
@ 9, 11 SAY Padc( "UMA JANELA", 39) COLOR "W/B"
@ 10, 11 TO 10, 49 COLOR "G+/B"
@ 11,11 SAY "Codigo:" GET codigo PICTURE "99999" VALID OkCodigo( @Codigo )
@ 12,11 SAY "Descricao:" GET descricao PICTURE "@!"
@ 13,11 SAY "Compl:" GET complemento PICTURE "@!"
@ 14,11 SAY "CST:" GET cst PICTURE "9999999999" VALID OkCst( @Cst )
@ 15,11 SAY "NCM:" GET ncm PICTURE "99999999"
@ 16,11 SAY "CFOP:" GET cfop PICTURE "9999"
READ
RESTORE SCREEN
RETURN
PROCEDURE HB_GTSYS
REQUEST HB_GT_WVG_DEFAULT
RETURN
FUNCTION OkCodigo( mCodigo )
LOCAL oCrt, GetList := {}, oGT
IF mCodigo != 0
RETURN .T.
ENDIF
oGT := hb_gtSelect()
oCrt := wvgCrt():New(,,{ 2, 2 }, { 20, 20 }, .T. )
oCrt:Create()
@ 2, 1 GET mCodigo
READ
oCrt:Destroy()
hb_gtSelect( oGt )
RETURN .F.
FUNCTION OkCst( mCst )
RETURN mCst == mCst
Variável por referência, igual faria com console, igual pode fazer com HMG, igual pode fazer com HWGUI.
Esse é um conhecimento básico do Clipper, obrigatório nos dias atuais.
Continua deixando isso de lado, e tá fazendo falta.
hb_gtSelect() é o tal conjunto de tela/teclado/mouse a ser movido entre janelas.
Nem sequer uso isso, multithread não precisa disso, porque cada thread tem seu próprio conjunto de tela/teclado/mouse.
Mas não invente usar multithread agora..... vai ser outra complicação, que NINGUËM vai querer/poder te ensinar.
Ou tente... começando em reescrever todos os fontes existentes pra algo mais prático, antes de mexer com multithread.