Clipper On Line • Ver Tópico - fazer refreshall() em um browser

fazer refreshall() em um browser

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

fazer refreshall() em um browser

Mensagempor paiva_dbdc » 15 Jun 2020 15:19

BOA tarde

tenho a exibição de um dbf em um Browser OK

Vários vendedores estarão alimentando este dbf.

como fazer o refreshall() deste browser SEM que precise mexer nas teclas ????

+++ abaixo tambem tentei com o Timer

bcrapedc:= TBrowseDB( li+2, ci+1, lf-2, cf-1) // coordenada do tbrowse

column := TBColumnNew( "V", {||_verifica_contagem()})
bcrapedc:addColumn( column )

column := TBColumnNew( "C¢digo", {|| codigo} )
bcrapedc:addColumn( column )
column := TBColumnNew( "Cliente", {||_crapedc_verifica_nome()})
bcrapedc:addColumn( column )

do WHILE .T.

xforcaida = .f.
IF ( bcrapedc:colPos <= bcrapedc:freeze )
bcrapedc:colPos := bcrapedc:freeze + 1
ENDIF
_crapedc_forcestable( bcrapedc )
bcrapedc:hilite()
IF ( bcrapedc:stable )
nKey := INKEY(0)
ENDIF
salva_recno_browser = recno()
IF !_crapedc_tbmovecursor( bcrapedc, nKey )
IF ( nKey == K_ESC )
SCROLL()
EXIT
endif
xtotal = 0
if lastkey() = 5 .or. ;
lastkey() = 24 .or. ;
lastkey() = 18 .or. ;
lastkey() = 3
if salva_recno_browser = recno()
loop
endif
endif
if lastkey() = -45
ptaskmgr() && Control + F12
endif
if lastkey() = 1015
skip
bcrapedc:configure()
bcrapedc:refreshall()
bcrapedc:refreshcurrent()
_crapedc_forcestable( bcrapedc )
elseif nKey = 1014
skip -1
bcrapedc:configure()
bcrapedc:refreshall()
bcrapedc:refreshcurrent()
_crapedc_forcestable( bcrapedc )
end
if lastkey() <> 1002
if pmax = .t.
salva__crapedc_db_crapedc:=savescreen(00,00,wvw_maxmaxrow(),wvw_maxmaxcol())
else
salva__crapedc_db_crapedc:=savescreen(00,00,24,80)
endif
_crapedc__okkdD()
devo_enviar_mesa_para_plugfoods = .f.
_crapedc_db_crapedc() && funcao p/ auxiliar a debdit()
if pmax = .t.
restscreen(00,00,wvw_maxmaxrow(),wvw_maxmaxcol(),salva__crapedc_db_crapedc)
else
restscreen(00,00,24,80,salva__crapedc_db_crapedc)
endif
_crapedc__prodecide()
endif
if xforcaida = .t.
SCROLL()
EXIT
endif
_crapedc_draw_tela()
bcrapedc:configure()
bcrapedc:refreshall()
bcrapedc:refreshcurrent()
para_plugfoods = .f.
else
msgstop("else "+pempresa+pfilial+crpedc->codigo)
ENDIF
END

*********************** timer **************

Tentei com o WVW_SETTIMER(0,1000*val(ttime_senha)) && X segundos
+++ como ja uso em outro prg esta sempre indo para a MESMA funcao usada no primeiro antigo
ai coloquei um case para diferenciar ++ da PAU ao fazer o bcrapedc:refreshall()

Teria como ter DUAS funcoes de controle do TIMER ? (pode ser que de PAU por estarem em prg diferentes)

pelo visto pega a primiera funcao começando com WVW_TIMER NAO importando se o nome das funçoes estao diferentes

FUNCTION WVW_TIMER_crapeda( nWindow, hWnd, message, wParam, lParam )

do case
case pprograma='crapeda'
select CRpeda
rec_atual_timer = recno()
xmodificou_mesa_pelo_app = .f.
xincluiu_mesa_pelo_app = .f.

ler_pedidos_csv()
select CRpeda
pprograma='crapeda'
b:configure()
b:refreshall()
b:refreshcurrent()
if xmodificou_mesa_pelo_app = .T.
select CRpeda
go rec_atual_timer

if xincluiu_mesa_pelo_app = .T.
keyboard chr(30) && seta para TOP Control + PgUp
select CRpeda
go top
b:configure()
b:refreshall()
b:refreshcurrent()
_crapeda_forcestable( b )
else
b:configure()
b:refreshall()
b:refreshcurrent()
_crapeda_forcestable( b )
endif

endif
return(2)

case pprograma='crapedc'

select crpedc
go top
bcrapedc:configure()
bcrapedc:refreshall()
bcrapedc:refreshcurrent()
*_crapeda_forcestable( bcrapedc )

return(2)

endcase
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

fazer refreshall() em um browser

Mensagempor paiva_dbdc » 15 Jun 2020 18:58

resolvido

era erro aqui de logica rs

Paiva
paiva_dbdc
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 342
Data de registro: 12 Nov 2012 08:58
Cidade/Estado: uberlandia mg
Curtiu: 0 vez
Mens.Curtidas: 6 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 12 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro