Clipper On Line • Ver Tópico - keysec(27,20,,.T.) no hBrowse()

keysec(27,20,,.T.) no hBrowse()

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

keysec(27,20,,.T.) no hBrowse()

Mensagempor gilbertosilverio » 17 Fev 2018 08:33

Ola amigos,

Existe alguma maneira para fechar uma célula aberta na hBROWSE, tipo o keysec(27,20,,.T.) do READ.


       @ 13,400 BROWSE oBrw2 DATABASE SIZE 960,150 STYLE WS_TABSTOP AUTOEDIT                  ;
            FIRST {|| XARDEX->( DBSEEK(xESTOQUE->(SUBSTR(DESCRICAO,1,49)), .F.) ) }           ;
            WHILE {|| XARDEX->(SUBSTR(DESCRICAO,1,49)) == xESTOQUE->(SUBSTR(DESCRICAO,1,49))} ;
            ON UPDATE {|| kardex_onPosChange() }

       oBrw2:nHeadHeight := 24
       oBrw2:alias       := 'xARDEX'
       oBrw2:nColumns    := 4
       Obrw2:freeze      := 1

       SELECT (oBrw2:alias)

       oBrw2:AddColumn( HColumn():New('Descrição', FieldBlock( 'DESCRICAO' ) ,'C',50, 0 ,.F.,0,0,,,,,,,,,)) // ESQUERDA
       oBrw2:AddColumn( HColumn():New('N Lote'   , FieldBlock( 'nlote' )     ,'C',20, 0 ,.T.,0,0,,,,,,,,,))
       oBrw2:AddColumn( HColumn():New('Validade' , FieldBlock( 'validade')   ,'C',10, 0 ,.T.,0,0,'99/9999',,,,,,,,)) // CENTRO
       oBrw2:AddColumn( HColumn():New('Qtde'     , FieldBlock( 'qtde' )      ,'N',06, 0 ,.T.,1,2,'9999999',,,,,,,,))

       oBrw2:acolumns[03]:footing    := [Qtde Total: ]
       oBrw2:acolumns[04]:footing   := TRANSF( fVLR01, [@E 999,999] )
       oBrw2:aColumns[03]:nJusFoot   := DT_RIGHT
       oBrw2:aColumns[04]:nJusFoot   := DT_RIGHT


O que preciso, e fechar uma coluna que foi deixada aberta depois de um determinado período, tem como?

Grato
gilbertosilverio
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

keysec(27,20,,.T.) no hBrowse()

Mensagempor asimoes » 17 Fev 2018 09:58

Eu não sei exatamente o que você quer fazer, mas o evento de tempo em hwgui é SET TIMER

SET TIMER oTimer of oJanela VALUE 1000 ACTION {|| Acao() }
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

keysec(27,20,,.T.) no hBrowse()

Mensagempor gilbertosilverio » 17 Fev 2018 10:12

Asimoes,

O que acontece, e que tem usuário, que principalmente no final do expediente, larga tudo aberto e vai embora, queria fechar a tabela que ficou aberta, dei como exemplo este caso, que e quando o pessoal ta acertando os itens em estoque, e isso as vezes deixa o item do arquivo preso.

Queria matar esta janela ou pelo menos liberar o arquivo, para que o item não fique preso para outro usuário poder usar.

Ja cansei de pedir para fecharem tudo antes de saírem, mais sabe como é... neguinho na hora de ir embora não quer nem saber, larga tudo e se manda... kkkk

Você tem algum exemplo pratico, baseado no set timer para fechar uma janela em execução apos um tempo de inatividade, ou isso não existe.

Grato
gilbertosilverio
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

keysec(27,20,,.T.) no hBrowse()

Mensagempor asimoes » 17 Fev 2018 10:23

SET TIMER oTimer of oJanela VALUE 10000 ACTION {|| Acao() } // 10 segundos para inibir a coluna 1

FUNCTION Acao()

   oBrowse:aColumns[1]:lHide := .T. // .T. esconde, .F. exibe
   
ENDIF   
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

keysec(27,20,,.T.) no hBrowse()

Mensagempor asimoes » 17 Fev 2018 10:26

Tenho exemplo sim de inatividade, espera um pouco que vou olhar nos meus arquivos.
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

keysec(27,20,,.T.) no hBrowse()

Mensagempor asimoes » 17 Fev 2018 10:45

Não testei , mas a ideia é seguinte se não houver atividade de teclado/mouse em 30 segundos as tabelas serão fechadas em seguida a janela.
SET TIMER oTimer of oJanela VALUE 1000 ACTION {|| Inatividade( 30, oJanela )} //Aguarda 30 segundos para fechar se não houver atividade na jenela

FUNCTION Inatividade( nTime, oJanela )

THREAD STATIC nSeconds

   IF nSeconds = Nil
      nSeconds := Seconds()
   ENDIF

   IF Round( PegaInatividade(), 0 ) == 0
      nSeconds := Seconds()
   ENDIF
     
   IF Seconds() - nSeconds >= nTime
      DbCloseAll()
      oJanela:Close()
      nSeconds:=Seconds()
   ENDIF
   
   hwg_doevents()
   
RETURN Nil

#pragma BEGINDUMP
#include "windows.h"
#include "time.h"
#include "hbapi.h"
#include "hbapiitm.h"
#include "hbapifs.h"
#include "shellapi.h"
#include "shlobj.h"
#include "shlwapi.h"
#include "lmcons.h"
#include "commctrl.h"

HB_FUNC( PEGAINATIVIDADE )
{
   LASTINPUTINFO lpi;
   lpi.cbSize = sizeof (LASTINPUTINFO);
   GetLastInputInfo (&lpi);
   hb_retnd( ( DOUBLE ) ( GetTickCount() - lpi.dwTime ) / CLOCKS_PER_SEC );
}

#pragma ENDDUMP
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

keysec(27,20,,.T.) no hBrowse()

Mensagempor gilbertosilverio » 17 Fev 2018 11:28

Asimões,

Muito obrigado,

Ja me deu uma luz de como proceder, vou testar e ver se mato mais este problema...

:-Y :-Y :-Y
gilbertosilverio
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 3 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