Clipper On Line • Ver Tópico - Iniciando com HWGUI

Iniciando com HWGUI

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Iniciando com HWGUI

Mensagempor JoséQuintas » 24 Set 2020 10:12

Preciso de ajuda.
Vou precisar de window e vou precisar da main hwgui.

Preciso de uma main invisivel, e talvez que fique recebendo e executando codeblocks
Isso é possível?
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: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 24 Set 2020 10:24

Talvez até vocês usem isso numa tela de login... ou não?
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: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 24 Set 2020 10:56

HSayIcon ainda não está legal, tá faltando fundo transparente.

hwgui.png


era pra ter ficado assim

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

Iniciando com HWGUI

Mensagempor Itamar M. Lins Jr. » 24 Set 2020 12:18

Ola!

#xcommand @ <x>,<y> BITMAP [ <oBmp> SHOW ] <bitmap> ;
            [<res: FROM RESOURCE>]     ;
            [ OF <oWnd> ]              ;
            [ ID <nId> ]               ;
            [ SIZE <width>, <height> ] ;
            [ BACKCOLOR <bcolor> ]     ;
            [ STRETCH <nStretch>]      ;
            [<lTransp: TRANSPARENT> [COLOR  <trcolor> ]] ;
            [ ON INIT <bInit> ]        ;
            [ ON SIZE <bSize> ]        ;
            [ ON CLICK <bClick> ]      ;
            [ ON DBLCLICK <bDblClick> ];
            [ TOOLTIP <ctoolt> ]       ;


Use esse pq tem transparência. (ICON/BMP) herdam hSayImage

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Iniciando com HWGUI

Mensagempor Itamar M. Lins Jr. » 25 Set 2020 18:43

Ola!
Achei o browse com cores, o browse zebrado, e até um browse ADO com meu nome kkkkk

Já está no SVN a opção para ADO... Vc não está lendo as postagens.
Já tinha dito que na pasta samples tem exemplos.
Tem uns bugs em alguns exemplos. Mas isso quando o pessoal voltar a mexer vou avisando para eles.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 27 Set 2020 14:12

Tô chegando lá....
Ao invés de caçar manual.....

hbmk2 -doc hwindow

SYNTAX
------
INIT WINDOW <oWnd>
APPNAME <appname> TITLE <cTitle> AT <x>, <y> SIZE <nWidth>, <nHeight> ICON <ico>
SYSCOLOR <clr> COLOR <bColor> BACKGROUND BITMAP <oBmp> STYLE <nStyle> EXCLUDE <nExclude>
FONT <oFont> MENU <cMenu> MENUPOS <nPos>
ON INIT <bInit> ON SIZE <bSize> ON PAINT <bPaint> ON GETFOCUS <bGfocus>
ON LOSTFOCUS <bLfocus> ON OTHER MESSAGES <bOther> ON EXIT <bExit>
HELP <cHelp> HELPID <nHelpId>

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

Iniciando com HWGUI

Mensagempor JoséQuintas » 28 Set 2020 17:51

Bom....

Quero fazer igual console.

Já tenho a tela do aplicativo inteiro, pra ser usada por herança.

Agora é a vez do browse: um browse único pro aplicativo inteiro, ou dois.

Vão ver o que um programador console consegue fazer em GUI ! kkkk
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: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 28 Set 2020 18:08

Vai ficar quase igual em HWGUI.


#include "hbclass.ch"
#include "inkey.ch"

MEMVAR m_Prog

PROCEDURE pBancoCCusto

   LOCAL oFrm := JPBACCUSTOClass():New()

   IF ! AbreArquivos( "jpempresa", "jptabel", "jpconfi" )
      RETURN
   ENDIF
   oFrm:Execute()

   RETURN

CREATE CLASS JPBACCUSTOClass INHERIT FrmCadastroClass

   VAR axKeyValue INIT { 0 }
   VAR cDataTable INIT "JPBACCUSTO"
   VAR cDataField INIT "IDBACCUSTO"
   VAR cnSQL      INIT ADOClass():New( AppConexao() )
   METHOD Especifico( lExiste )
   METHOD TelaDados( lEdit )
   METHOD GridSelection()

   ENDCLASS

METHOD GridSelection() CLASS JPBACCUSTOClass

   LOCAL oTBrowse, bCode
   LOCAL cnSQL := ADOClass():New( AppConexao() )

   WITH OBJECT cnSQL
      :cSQL := "SELECT IDBACCUSTO, CUCCUSTO, CUGRUPO FROM JPBACCUSTO ORDER BY CUCCUSTO"
      :Execute()
      oTBrowse := { ;
         { "CCUSTO", { || :String( "CUCCUSTO", 10 ) } }, ;
         { "GRUPO",  { || :String( "CUGRUPO", 10 ) } }, ;
         { "#ID",    { || Str( :Number( "IDBACCUSTO" ), 6 ) } } }
      IF "ID" $ Upper( ReadVar() )
         bCode := { || Ltrim( Str( :Number( "IDBACCUSTO" ) ) ) }
      ELSE
         bCode := { || :String( "CUCCUSTO" ) }
      ENDIF
      BrowseADO( cnSQL, oTBrowse, "CUCCUSTO,CUGRUPO", bCode )
      :CloseRecordset()
   ENDWITH

   RETURN NIL

METHOD Especifico( lExiste ) CLASS JPBACCUSTOClass

   LOCAL GetList := {}, nIdbaCCusto := 0

   IF ::cOpc != "I"
      nIdBaCCusto := ::axKeyValue[ 1 ]
      @ Row() + 1, 20 GET nIdbaCCusto PICTURE "@K 999999" VALID nIdbaCCusto > 0
      Mensagem( "Digite código para cadastro, F9 Pesquisa, ESC sai" )
      READ
      Mensagem()
      IF LastKey() == K_ESC .OR. nidbaCCusto < 0
         RETURN .F.
      ENDIF
      IF ! ::EspecificoExiste( lExiste, ADORecCount( "JPBACCUSTO", "IDBACCUSTO = " + NumberSQL( nidBaCCusto ) ) == 0 )
         RETURN .F.
      ENDIF
   ENDIF
   ::axKeyValue := { nIdBaCCusto }

   RETURN .T.

METHOD TelaDados( lEdit ) CLASS JPBACCUSTOClass

   LOCAL GetList := {}, nidbaCCusto, mcuGrupo, mcuCCusto
   LOCAL cnSQL     := ADOClass():New( AppConexao() )

   nIdBaCCusto := ::axKeyValue[ 1 ]
   WITH OBJECT cnSQL
      :cSQL := "SELECT * FROM JPBACCUSTO WHERE IDBACCUSTO = " + NumberSQL( nIdbaCCusto )
      :Execute()
      mcuGrupo  := :String( "CUGRUPO", 10 )
      mcuCCusto := :String( "CUCCUSTO", 10 )
      :CloseRecordset()
   ENDWITH

   hb_Default( @lEdit, .F. )

   DO WHILE .T.
      ::ShowTabs()
      DO CASE
      CASE ::nNumTab == 1
         @ Row() + 1, 1 SAY "#ID..............:" GET nidbaCCusto PICTURE "999999" WHEN .F.
         @ Row() + 2, 1 SAY "Centro de Custo..:" GET mcuCCusto PICTURE "@K!"
         @ Row() + 2, 1 SAY "Grupo de CCusto..:" GET mcuGrupo  PICTURE "@K!"
      ENDCASE
      //SetPaintGetList( GetList )
      IF lEdit
         Mensagem( "Digite campos, F9 Pesquisa, ESC Sai" )
         READ
         Mensagem()
      ELSE
         CLEAR GETS
         EXIT
      ENDIF
      ::nNumTab += 1
      IF LastKey() == K_ESC .OR. ::nNumTab > 1
         EXIT
      ENDIF
   ENDDO
   IF ! lEdit .OR. LastKey() == K_ESC
      RETURN NIL
   ENDIF
   WITH OBJECT cnSQL
      :QueryCreate()
      :QueryAdd( "CUCCUSTO", mcuCCusto )
      :QueryAdd( "CUGRUPO",  mcuGrupo )
      IF ::cOpc == "I"
         :QueryAdd( "CUINFINC", LogInfo() )
         nidbaCCusto := :QueryExecuteInsert( "JPBACCUSTO" )
         ::axKeyValue := { nidbaCCusto }
      ELSE
         :QueryAdd( "CUINFALT", LogInfo() )
         :QueryExecuteUpdate( "JPBACCUSTO", "IDBACCUSTO= " + NumberSQL( nidbaCCusto ) )
      ENDIF
   ENDWITH

   RETURN NIL

FUNCTION ValidBancarioCCusto( cResumo )

   LOCAL lOk := .T.

   DO CASE
   CASE cResumo == Pad( "APLIC", 10 )
   CASE cResumo == Pad( "NENHUM", 10 )
   CASE Empty( cResumo ) .AND. m_Prog != "PBANCOGRAFICOMES"
   CASE ADORecCount( "JPBACCUSTO", "CUCCUSTO= " + StringSQL( cResumo ) ) == 0
      MsgWarning( "Despesa/Receita não cadastrada!" )
      lOk := .F.
   ENDCASE

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

Iniciando com HWGUI

Mensagempor JoséQuintas » 28 Set 2020 19:56

Programar igual GTWVG é lindo....

Pensei que ia demorar mais.
Acrescentei funcionalidade.
Mas sem fonte, o módulo usa a programação default.

FUNCTION PTESHWGUI( cModule, cTitulo )

   LOCAL oFrm := UmaTelaClass():New( cTitulo, cModule, "CIAEPU+-", "d:\jpa\cordeiro\jpcidade" )
   oFrm:Execute()

   RETURN Nil


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

Iniciando com HWGUI

Mensagempor JoséQuintas » 28 Set 2020 21:25

Pra quem quiser brincar.
Fonte, ícones, manifest, EXE assinado...
Precisa chamar o EXE passando o nome de um DBF.
Ainda não sei colocar mensagem caso falte o nome do arquivo.

Como eu já disse por aqui, meus ícones são multiresolução, e o tamanho é grande, por isso o ZIP e o EXE são grandes.
Um único fonte, e o EXE ficou com quase 1MB compactado.

Acho que a parte interessante é o uso de classe, e não os recursos de hwgui, porque não tem quase nada de hwgui, só básico, só o que está no vídeo.
o fonte é "pelado", então deve usar DBFNTX. e não deve servir dbf com memo FPT ou campo lógico.
"pelado" significa que tirei do aplicativo e ficou sem a parte que configura set date, rdd, etc.

Só não esqueçam que precisa chamar passando o nome de um DBF qualquer

test.zip
(1.14 MiB) Baixado 52 vezes
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: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 13 Out 2020 20:14

Melhorou, poluição movida pra "poluição sobre lib gráfica", no bate papo.
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: 18009
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor RamonXHB » 14 Out 2020 11:25

Vou dar uma fuçada, pra ver como é, embora eu use MiniGUI...
Ramon A. Körber Jr.
Harbour 3.2 MiniGUI Extended Edition
xDevStudio v0.70 - BCC 5.82 - Lazarus FreePascal
Firebird
AdoDB - ODBC
Windows - Linux
Linux User Number 404280
MSN - ramon15061959@hotmail.com
Skype - ramon15061959
ICQ - UIN 82580595
Avatar de usuário

RamonXHB
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 151
Data de registro: 03 Mar 2007 14:55
Curtiu: 10 vezes
Mens.Curtidas: 3 vezes

Anterior



Retornar para HwGui

Quem está online

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