Clipper On Line • Ver Tópico - Usar WAIT WINDOW com Minigui Extends

Usar WAIT WINDOW com Minigui Extends

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Usar WAIT WINDOW com Minigui Extends

Mensagempor rubens » 25 Abr 2017 12:41

Ola...

Alguém sabe como usar o WAIT WINDOW na Minigui Extends?
Vi no exemplo em C:\MiniGUI\SAMPLES\BASIC\WAIT_WINDOW\demo.prg que é muito simples... mas quando tento usar dá erro de sintaxe no Wait Window.
Daí vi no exemplo que ele inclui o HMG.CH na compilação.... tentei incluir também no meu PRG, compila só que o programa fica executando em segundo plano... não aparece na tela... e para finalizalo tenho que pressionar ctrl+alt+del
p.s. compilo pela IDE

Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Usar WAIT WINDOW com Minigui Extends

Mensagempor bjbernal » 25 Abr 2017 22:47

Eu usei um exemplo, também da pasta SAMPLES (não me lembro o nome) e adaptei para mim !

*****************************************************************************************
Segue o utilitário (winespera.prg) abaixo:
***************************************************************************************************

#include "minigui.ch"

//////////////////////////////////////////////////////////////////////////////
FUNCTION WaitWinCreate( cTitle, lCenter, nWRow, nWCol)
   LOCAL cFormName := "WaitWin_" + HB_NtoS( _GetId() )
   LOCAL nTime := SECONDS()
   LOCAL aPict := {"FR01","FR02","FR03","FR04","FR05","FR06","FR07","FR08",;
                   "FR09","FR10","FR11","FR12"}
   DEFAULT cTitle := "Aguarde...", lCenter := .T., nWRow := 0, nWCol := 0

   nStaticLogo := 1  // assign a number to display picture

   SET INTERACTIVECLOSE OFF

   DEFINE WINDOW &cFormName ;
     ROW 0 COL 0          ;
     WIDTH 420 HEIGHT 230 ;
     TITLE ''             ;
     MINWIDTH 420 MINHEIGHT 230 ;
     MAXWIDTH 420 MAXHEIGHT 230 ;
     CHILD NOCAPTION      ;
     TOPMOST              ;
     BACKCOLOR WHITE      ;
     FONT 'Tahoma' SIZE 12

     @ 10, 10 LABEL Label_1   ;
       WIDTH 400 HEIGHT 20 ;
       VALUE "Tempo transcorrido " + TIME() ;
       CENTERALIGN VCENTERALIGN TRANSPARENT

     @ 40, (420-128)/2 IMAGE Image_1 PICTURE aPict[nStaticLogo] ;
       WIDTH 128 HEIGHT 128 ;
       TRANSPARENT

     @ 178, 10 LABEL Label_2   ;
       WIDTH 400 HEIGHT 20 ;
       VALUE cTitle        ;
       CENTERALIGN VCENTERALIGN TRANSPARENT

   END WINDOW

   IF lCenter == .F.
      SetProperty( cFormName, "Row", nWRow )
      SetProperty( cFormName, "Col", nWCol )
   ELSE
      Center Window &cFormName
   ENDIF

   Activate Window &cFormName NoWait

RETURN { cFormName, aPict, nTime } // return the number of windows to then kill him by the window

//////////////////////////////////////////////////////////////////////
FUNCTION WaitWinTimer( aDim, cExtra )
   LOCAL cFormName := aDim[1], aPict := aDim[2], cTime, nTime := aDim[3]

      cTime := cExtra + "      Tempo Transcorrido " + SECTOTIME( SECONDS() - nTime )
      SetProperty( cFormName, "Label_1", "Value", cTime )

      nStaticLogo ++  // the number of display picture
      nStaticLogo := IIF( nStaticLogo > LEN(aPict), 1, nStaticLogo )
      SetProperty( cFormName, "Image_1", "Picture", aPict[nStaticLogo] )

RETURN NIL

FUNCTION WaitWinCreate2( cTitle, lCenter, nWRow, nWCol)
   LOCAL cFormName := "WaitWin_" + HB_NtoS( _GetId() )
   LOCAL nTime := SECONDS()
   LOCAL aPict := {"FR01","FR02","FR03","FR04","FR05","FR06","FR07","FR08",;
                   "FR09","FR10","FR11","FR12"}
   DEFAULT cTitle := "Aguarde...", lCenter := .T., nWRow := 0, nWCol := 0
   
   #define CLR2_LIGHTBLUE  { 165, 175, 245 }   

   
   SET INTERACTIVECLOSE OFF

   DEFINE WINDOW &cFormName ;
     ROW 0 COL 0          ;
     WIDTH 400 HEIGHT 64 ;
     TITLE ''             ;
     MINWIDTH 400 MINHEIGHT 64 ;
     MAXWIDTH 400 MAXHEIGHT 64 ;
     CHILD NOCAPTION      ;
     TOPMOST              ;
     BACKCOLOR CLR2_LIGHTBLUE ;
     FONT 'Tahoma' SIZE 12
/*
     @ 10, 10 LABEL Label_1   ;
       WIDTH 400 HEIGHT 20 ;
       VALUE cTitle ;
       CENTERALIGN VCENTERALIGN TRANSPARENT
*/
      @ 16, 10 LABEL Label_1 VALUE cTitle WIDTH 380 HEIGHT 24 FONT 'Arial' SIZE 14 ;
         FONTCOLOR BLUE BOLD BACKCOLOR CLR2_LIGHTBLUE CENTERALIGN

   END WINDOW

   IF lCenter == .F.
      SetProperty( cFormName, "Row", nWRow )
      SetProperty( cFormName, "Col", nWCol )
   ELSE
      Center Window &cFormName
   ENDIF

   Activate Window &cFormName NoWait

RETURN cFormName

//////////////////////////////////////////////////////////////////////
FUNCTION WaitWinClose( cFormName )

   SET INTERACTIVECLOSE ON

   Domethod( cFormName, "Release" )

   DO MESSAGE LOOP

RETURN NIL


*************************************************************************************************
Exemplo de como usar o utilitario acima:
***************************************************************************************************
Function exemplo()
  Local sformwait := ""
 
  sformwait := WaitWinCreate2( 'Aguarde...' ) // cria o form de espera, tem dois modos a escolher (WaitWinCreate e WinWaitCreate2)
        executa_tarefa()
  WaitWinClose( sformwait )  // encerra o form de espera
Return nil
bjbernal
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 31
Data de registro: 06 Ago 2004 17:27
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Usar WAIT WINDOW com Minigui Extends

Mensagempor Toledo » 25 Abr 2017 22:54

Rubens, tente usar direto a função WaitWindow(), ai não precisa chamar HMG.CH.

Por exemplo:
WaitWindow( "Sua mensagem...", .F. )


Veja comando correspondente que está no CH:
#xcommand WAIT WINDOW <message> => WaitWindow( <message>, .F. )

#xcommand WAIT WINDOW <message> NOWAIT => WaitWindow( <message>, .T. )

#xcommand WAIT CLEAR => WaitWindow()


Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Usar WAIT WINDOW com Minigui Extends

Mensagempor bjbernal » 25 Abr 2017 22:55

Desculpa se o meu post acima ficou mau estilizado. Parece que o editor do fórum bugou ! Espero que tenha conseguido tirar proveito !
bjbernal
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 31
Data de registro: 06 Ago 2004 17:27
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Usar WAIT WINDOW com Minigui Extends

Mensagempor rubens » 26 Abr 2017 00:53

Boa noite...

Bjbernal a sua função tá demais para o que eu tô querendo de qualquer forma abre possibilidades... obrigado...

Toledo... era isso mesmo que tava procurando... bem simples e prático funcionou direitinho... obrigado

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Usar WAIT WINDOW com Minigui Extends

Mensagempor JoséQuintas » 26 Abr 2017 12:10

Só comentário:

Vocês nunca estranharam esse comando?
O Harbour tem o comando WAIT, não faz confundir?

Quando digo que as LIBs "des-ensinam" Harbour nem tinha visto essas coisas, parece pior do que eu pensava....

Num outro post tem o DO EVENTS também, que não é o comando DO...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Usar WAIT WINDOW com Minigui Extends

Mensagempor Nascimento » 02 Mai 2017 21:55

gostei vou testar porque tentei algumas vezes deu erro , então deixei sem usar
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

Usar WAIT WINDOW com Minigui Extends

Mensagempor JoséQuintas » 03 Mai 2017 01:21

Avisar só por precaução:

Se não tiver o #include da minigui, vai acabar executando o comando padrão do Harbour/xHarbour que não tem nada a ver.
Não sei se por isso pode não ter funcionado da outra vez.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para MiniGui

Quem está online

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