Clipper On Line • Ver Tópico - Necesito ayuda con el use de gtwvg

Necesito ayuda con el use de gtwvg

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

Moderador: Moderadores

 

Necesito ayuda con el use de gtwvg

Mensagempor Ruben Dario » 19 Jan 2020 18:59

Saludos
Como le cambio el fondo por un color especifico a WvtDialog


          WITH OBJECT ::oCrt :=  WvtDialog():New( 30, 90, "My Dialog Two" )
           :nTooltipWidth     := 300
           :nTooltipTextColor := RGB( 255,0,0 )   
           :Create()
         ENDWITH 

Ruben Dario
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 115
Data de registro: 14 Jun 2015 23:19
Cidade/Estado: Colombia
Curtiu: 3 vezes
Mens.Curtidas: 0 vez

Necesito ayuda con el use de gtwvg

Mensagempor Ruben Dario » 28 Jan 2020 23:00

Saludos

Deacuerdo a tu ejemplo Test.

Estoy aumentado y Botton para grabar. Le estoy asignanco la letra G.
el problema que tengo cuando se le da grabar captura la letra G en el GET como controlo que no le captura y ejecute el botton.
Ruben Dario
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 115
Data de registro: 14 Jun 2015 23:19
Cidade/Estado: Colombia
Curtiu: 3 vezes
Mens.Curtidas: 0 vez

Necesito ayuda con el use de gtwvg

Mensagempor JoséQuintas » 29 Jan 2020 00:39

Ruben Dario escreveu:Estoy aumentado y Botton para grabar. Le estoy asignanco la letra G.
el problema que tengo cuando se le da grabar captura la letra G en el GET como controlo que no le captura y ejecute el botton.


#include "inkey.ch"

PROCEDURE Main

   LOCAL a := 10, b := 10, c := 10, d := 10, GetList := {}
   LOCAL cmdWrite, cmdCancel

   SetMode( 40, 100 )
   SetColor( "W/B" )
   CLS
   cmdWrite := wvgPushButton():New()
   WITH OBJECT cmdWrite
      :Caption := "Gravar"
      :Activate := BlockKeyboard( K_CTRL_W )
      :PointerFocus := .F.
      :Create( ,, { -1, -1 }, { -3, -6 } )
   ENDWITH
   cmdCancel := wvgPushButton():New()
   WITH OBJECT cmdCancel
      :Caption := "Cancelar"
      :Activate := BlockKeyboard( K_ESC )
      :PointerFocus := .F.
      :Create( ,, { -1, -7 }, { -3, -6 } )
   ENDWITH

   DO WHILE .T.
      @  5, 1 SAY "Any 1:" GET a
      @  7, 1 SAY "Any 2:" GET b
      @  9, 1 SAY "Any 3:" GET c
      @ 11, 1 SAY "Any 4:" GET d
      READ
      DO CASE
      CASE LastKey() == K_ESC
         @ 15, 1 SAY "END  " COLOR "N/W"
         Inkey(5)
         EXIT
      CASE LastKey() == K_CTRL_W
         @ 15, 1 SAY "WRITE"  COLOR "N/W"
         Inkey(5)
         @ 15, 1
      ENDCASE
   ENDDO

   RETURN

FUNCTION BlockKeyboard( nKey )

   RETURN { || hb_KeyPut( nKey ) }
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Necesito ayuda con el use de gtwvg

Mensagempor JoséQuintas » 29 Jan 2020 12:08

Só comentário:

Ao colocar no button pra fazer um Keyboard, no fonte pode continuar como antes.
Pode num tbrowse criar buttons pra fazer K_UP, K_DOWN, K_PGUP, K_PGDN, K_HOME, K_END, K_ESC e usar a mesma rotina de tbrowse pra teclado, apenas adiciona os buttons pra fazer hb_KeyPut().
A vantagem é que vai funcionar por teclado ou por clique de mouse, o usuário usa como quiser.

browse.png
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Necesito ayuda con el use de gtwvg

Mensagempor Ruben Dario » 05 Fev 2020 17:38

Saludos
Con base a tu ejemplo test.
como se puede contralar que inicie la pantalla Maximizada.
Ruben Dario
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 115
Data de registro: 14 Jun 2015 23:19
Cidade/Estado: Colombia
Curtiu: 3 vezes
Mens.Curtidas: 0 vez

Necesito ayuda con el use de gtwvg

Mensagempor JoséQuintas » 06 Fev 2020 20:37

Deixo por conta do usuário escolher o tamanho.

Se não me engano usam wvt_Maximize(.t.)

ou hb_gtInfo( HB_GTI_MAXIMIZE, .T. ) ou algo assim ou HB_GT_FULLSCREEN.
No arquivo hbgtinfo.ch vai encontrar os nomes a serem usados.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Necesito ayuda con el use de gtwvg

Mensagempor Ruben Dario » 07 Fev 2020 13:07

Gracias Maestro me Funciono
Ruben Dario
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 115
Data de registro: 14 Jun 2015 23:19
Cidade/Estado: Colombia
Curtiu: 3 vezes
Mens.Curtidas: 0 vez

Necesito ayuda con el use de gtwvg

Mensagempor Ruben Dario » 07 Fev 2020 13:32

Saludos
Te cuento que no he podido resolver que cuando uso WvgCrt(), se sale del sistema.

Este Problema lo tengo con WvgCrt(), cuando uso el WvtDialog() si funciona.
la Idea es que me regrese al menu Principal.

El Problema con WvtDialog() si me funciona, es como controlo que no me limpie la pantalla, quiero que me coloque la ejecucion del WvtDialog() sin limpiar deacuerdo a la imagen

Este es el metodo para salir de la opcion y me deberia retornar al menu principal.

Asi uso WvtDialog()
          WITH OBJECT ::oCrt :=  WvtDialog():New(kb1, kb2, ::cSistema, "Courier New", )
           :nTooltipWidth     := 300
           :nTooltipTextColor := RGB(  16,  16,  16 )   //RGB( 255,0,0 )
           :Create()
         ENDWITH 

Asi uso WvgCrt()
     WITH OBJECT ::oCrt := WvgCrt():New(,, { ka1,ka2 }, { kb1,kb2 },, .t. )
              :lModal     := .T.
              :fontName   := "Courier"
              :fontHeight := 13
              :fontWidth  := 0
              :Title      := ::cSistema
              :icon       := 'icojpa.Ico'
              :ReSizable  := .F.
              :Closable   := .F.
              :create() 
           ENDWITH     
            CLS 
 

METHOD lsalir() CLASS TApp01
   ::aContl[1] := 0 ; ::aContl[2] := 0
    ::CTLFIN := 1
    ::GUIDestroy()
    ::oCrt:Destroy()
     alert("Salida ")
   ::CLOSE()
RETURN self



https://www.4shared.com/photo/OocUoM5yiq/pantalla_0.html
Nota de Moderação:
Itamar M. Lins Jr.: Pequena correção na tag [code] .prg [/code] tava [code .prg ][/code]
Ruben Dario
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 115
Data de registro: 14 Jun 2015 23:19
Cidade/Estado: Colombia
Curtiu: 3 vezes
Mens.Curtidas: 0 vez

Necesito ayuda con el use de gtwvg

Mensagempor JoséQuintas » 07 Fev 2020 21:35

Gostaria de ver um exemplo de como está usando a wvtDialog(), pra tentar entender qual é o problema.
Não uso, então no momento não faço idéia do funcionamento prático.
Pelo que imagino, não dá pra usar Dialog numa crt, e sim uma crt numa dialog.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Necesito ayuda con el use de gtwvg

Mensagempor Ruben Dario » 08 Fev 2020 01:13

asi Uso WvtDialog()

El Problema con WvtDialog() si me funciona y me retorna al menu principal.
El problema, es como controlo que no me limpie la pantalla, quiero que me coloque la ejecucion del WvtDialog() sin limpiar de acuerdo a la imagen
o sea que me coloque la ejecucion WvtDialog encima de menu principal.
Asi como ilustre en la imagenes.
He revisado tu codigo de JoseQuintas-master pero no manejas estos recursos. no se si vi mal. esto es posible costruir el .exe para ver las pantallas.

Gracias por todo.

METHOD FORM_CAPT(ME1,ME2,ME3,ME4,ME5,ME6,opr,cnt,a1,a2,b1,b2,o1,o2,p1,p2) CLASS TApp01
          WITH OBJECT ::oCrt :=  WvtDialog():New(kb1, kb2, ::cSistema, "Courier New", )
           :nTooltipWidth     := 300
           :nTooltipTextColor := RGB(  16,  16,  16 ) 
           :Create()
         ENDWITH 

RETURN self

METHOD lsalir() CLASS TApp01
   ::aContl[1] := 0 ; ::aContl[2] := 0
    ::CTLFIN := 1
    ::GUIDestroy()
    ::oCrt:Destroy()
     alert("Salida ")
   ::CLOSE()
RETURN self



Pantalla UsandoWvtDialog
https://www.4shared.com/photo/l-HnKgFEea/pantalla_con__WvtDialog.html

Pantalla Usando WvgCrt
https://www.4shared.com/photo/_WWNrQLzi ... vgCrt.html
Ruben Dario
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 115
Data de registro: 14 Jun 2015 23:19
Cidade/Estado: Colombia
Curtiu: 3 vezes
Mens.Curtidas: 0 vez

Necesito ayuda con el use de gtwvg

Mensagempor JoséQuintas » 08 Fev 2020 21:10

Vou fazer testes.
Talvez você tenha descoberto algo que eu estava procurando.
Ou talvez nem esteja usando a Dialog.

Se quiser usar multithread, talvez facilite, mas tem que esquecer variáveis públicas.
Em multithread, o módulo se comporta como um EXE em separado, e tem sua própria janela.

#include "inkey.ch"

PROCEDURE Main

   hb_ThreadStart( { || Test1() } )
   hb_ThreadStart( { || Test1() } )
   hb_ThreadStart( { || Test1() } )
   hb_ThreadStart( { || Test1() } )
   hb_ThreadWaitForAll()

   RETURN

FUNCTION Test1()

   hb_gtReload( "WVG")
   SetMode( 25, 80 )
   CLS
   ? "This is a Thread"
   Inkey(0)

   RETURN NIL

PROCEDURE HB_GTSYS

   REQUEST HB_GT_WVG_DEFAULT

   RETURN


hbmk2 test -mt gtwvg.hbc

Importante:
O módulo principal fica escondido, vai se manter enquanto houver thread em execução.
Dependendo do que acontecer no módulo, o programa pode ficar como um processo no Windows, sem janela, e precisar ser fechado pelo gerenciador de tarefas.

TALVEZ você esteja usando essa mesma janela, e não uma Dialog.

multithread.png
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Necesito ayuda con el use de gtwvg

Mensagempor Ramos » 05 Mai 2020 15:49

Boa tarde,
Usando o exemplo DEMOXBP, com GTWVG, também necessito de uma ajuda com o seguinte:
1) Ao APLICAR ir para uma função com o radiobutton selecionado(são usados 4 radiobutt) e as variáveis digitadas(3 variáveis)
2) Na funcção Calculos, faria algumas operações e de acordo com o radiobutt ia atualizar o Memoread().
3) Em um dos botões, preciso configurar o diretório com os arquivos. Isso ficaria em um DBF. Exemplo. Arquivo PARAMETRO - Nome01 -C 20
Tentei fazer mas, não mostra o SAY e nem o GET.

Exemplos
   oXbp := WvgPushButton():new( oStatic2 )
   oXbp:caption := "Aplicar"
   oXbp:create( , , { 830, 520 }, { 60, 25 } )
   oXbp:activate := {||  CALCULOS(cVarA,cVarB,cVarC,cR1,cR2,cR3,cR4) , oCrt:sendMessage( WM_SIZE, 0, 0 ) }
   
   oRadio  := WvgRadioButton():new( oStatic2, , { 10, 10 }, { 130, 15 } )
   oRadio:caption   := "Sequência Fibonacci"
   oRadio:selection := .T.
   oRadio:selected  := {| cR1, obj | cR1 := cR1,  Wvg_MessageBox( , obj:caption + iif( obj:selection, "< S >", "< N >" ) ) }
   oRadio:create()

  // Create first SLE, specify position using :create()
   // On :typeOut set the focus to the second SLE
   oXbp                := WvgSLE():new()
   oXbp:autoTab        := .T.
   oXbp:bufferLength   := 15
   // Data code block containing assignment to LOCAL variable
   oXbp:dataLink       := {| x | iif( x == NIL, cVarA, cVarA := x ) }
   oXbp:create( oStatic2, , { 10, 170 }, { 150, 20 } )
   oXbp:setData()
   // Assign the value of the edit buffer to a LOCAL variable when the input focus is lost
   oXbp:killInputFocus := {| x, y, oSLE | x := x, y := y, oSLE:getData(), oPanel:caption := "cVarA =" + cVarA }

FUNCTION CONFIGURA()
********* colocar say e get para atualizar um arquivo de parametros -> campos para personalizar diretorios(pastas)
******** não consigo usar SAY E nem GET

RETURN NIL

STATIC FUNCTION CALCULOS()  // função após usar o botão APLICAR
*** ao escolher radiobutton e aplicar faria uns calculos aqui, criando os arquivos textos de depois
*** queria atualizar o memoread(), pois seria um arquivo com os cálculos
*** Se botão for 1, fazer alguns calculos e  memoread("1.JRC")
*** SE botão for 2, fazer alguns calculos e memoread("2.JRC")
*** não consigo passar a variável, nem o radiobutton,

RETURN NIL


Se alguém puder ajudar. De qualquer forma estou grato,

Ramos
Anexos
ORGANIZADOR ESTUDOS.png
JRCFI.prg
(16.48 KiB) Baixado 30 vezes
Nota de Moderação:
JoséQuintas: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
Ramos
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 9
Data de registro: 15 Ago 2014 17:38
Cidade/Estado: GV/MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Necesito ayuda con el use de gtwvg

Mensagempor JoséQuintas » 05 Mai 2020 16:39

wvgDialog() é exclusiva pra GUI, não tem tela texto.
Talvez uma wvgCrt() vinculada à dialog, ou label.

Vou fazer testes aqui pra ver o que consigo.
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: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Necesito ayuda con el use de gtwvg

Mensagempor Ramos » 08 Mai 2020 19:27

Boa noite!
José usando o que disse, consegui criar WvgCrt()

FUNCTION CONFIGURA(oCrt)
Local a1 := 7
Local       a2 :=12
Local       b1 := 33
Local       b2 := 119
Local  oCrt1
local GetList := {}
SetMode( 33,100)
      oCrt1 := WvgCrt():New(,, { a1,a2 }, { b1,b2 },, .t. )
         oCrt1:Title := "Parametros"
         oCrt1:ReSizable := .T.  // redimensionar
         oCrt1:Closable := .T.
         oCrt1:create()
      @ 0,0 get a1
      read
           oCrt1:destroy()
RETURN oCrt


Vou continuar testando. Obrigado.

Ramos
Ramos
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 9
Data de registro: 15 Ago 2014 17:38
Cidade/Estado: GV/MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Anterior



Retornar para Harbour

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