Clipper On Line • Ver Tópico - WVG + HMG + QT

WVG + HMG + QT

GTWVG com API Windows somente no Harbour.
No Harbouir 3.4 está sendo usado pointer, aonde no 3.2 é numérico.

Moderador: Moderadores

 

WVG + HMG + QT

Mensagempor microvolution » 07 Fev 2021 17:59

Boa tarde, seguindo sugestão do MarcosGambeta, criamos este tópico.

Depois de 2 anos de tentantiva, consegui finalmente fazer uma versão que ainda está em testes da HMG.3.5 (que chamo de HMG3.5.1beta) onde consigo FORM WINDOW MAIN (100% hmg) que chama módulos feitos 100% em CONSOLE/WVG e que retornam ao FORM WINDOW MAIN, sem precisar de clicar com o mouse ou alt+tab pra retornar. tudo automático e sem conflitos entre as LIBs.

Disseram que a QTxxxxxx é a revolução do harbour e é superior a todas as LIBs, pois coloca o nosso clipper (linguagem-mãe), agora harbour, em patamares do mesmo nível de JAVA, JS, NEST.JS, C, C++, C#, PHYTON, GOLANG, etc...
(não sei dizer se é isso mesmo que entendi)
tomara que seja verdade, e, que DESKTOP + WEB + MOBILE também seja a realidade.

Enfim, pra quem já usa a HMG/WVG juntas numa mesma compilação, é possível acrescentar a QTxxxxx?

alguém tem materiais, testes, manuais, guias-rápidos, exemplos, tutoriais, etc?

que tal lhe parece?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

WVG + HMG + QT

Mensagempor marcosgambeta » 07 Fev 2021 18:23

Microvolution,

Vou preparar uma compilação atualizada do Qt4xHb, que é a opção mais simples, para que possa fazer testes. Depois, esclareço melhor como você poderá fazer sua própria compilação.

A ideia é testar se o Qt, combinado com WVG, funciona de forma estável.

Aqui eu tentei usar a WVG combinada com a MiniGUI Extended e o teste passou a abortar com a introdução da classe WvgCrt. Pode ser problema local ou realmente pode haver alguma incompatibilidade. Quero ver se com o Qt funciona normal ou não.

Assim que a compilação estiver pronta, forneço o link para você baixar. Provavelmente, no decorrer de amanhã. Conto com sua paciência.
Atenciosamente,
Marcos Antonio Gambeta
marcosgambeta
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 318
Data de registro: 16 Jun 2005 22:53
Curtiu: 2 vezes
Mens.Curtidas: 40 vezes

WVG + HMG + QT

Mensagempor microvolution » 07 Fev 2021 18:38

marcosgambeta escreveu:Assim que a compilação estiver pronta, forneço o link para você baixar. Provavelmente, no decorrer de amanhã. Conto com sua paciência.
kkk são 34 anos de paciência kkkk
aqui... baixei só pra brincar a MiniGUIqt... fui compilar um exemplo na pasta MiniGUIQt\MiniGUIQt-master\tests...
usando o build.bat da hmg3.5., mas, reclamou (claro e óbvio) de: `HB_FUN_QAPPLICATION'
pra brincar, como fazer pra reconhecer a QT? variáveis de ambiente? path?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

WVG + HMG + QT

Mensagempor JoséQuintas » 07 Fev 2021 20:43

Faz aí um teste:
Rode TUDO em uma segunda thread.

PROCEDURE Main

   hb_ThreadStart( { || MainAplicativo() } )
   hb_ThreadWaitForAll()
   RETURN

PROCEDURE HB_GTSYS
   REQUEST HB_GT_WVG_DEFAULT
   REQUEST HB_GT_WVG
   REQUEST HB_GT_WVT
   REQUEST HB_GT_GUI
   RETURN

PROCEDURE MainAplicativo()
   Init()
   ...

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

WVG + HMG + QT

Mensagempor marcosgambeta » 07 Fev 2021 20:45

A MiniGUIQt ainda é um trabalho em progresso. Então, não serviria para uso em produção agora. Vamos deixá-la pendente, por enquanto.

Voltando ao assunto Qt + GtWVG, fiz estes dois testes abaixo. Ambos compilaram e funcionaram sem conflitos.

#include "qt4xhb.ch"
#include "hbgtinfo.ch"

STATIC lFlag := .F.

PROCEDURE Main()

   LOCAL oApp
   LOCAL oMainWindow
   LOCAL oMenuBar
   LOCAL oMenu
   LOCAL oAction1
   LOCAL oAction2
   LOCAL oAction3

   oApp := QApplication():new()

   oMainWindow := QMainWindow():new()
   oMainWindow:setWindowTitle( "Teste com Qt e GtWvg" )
   oMainWindow:resize( 640, 480 )

   oMenuBar := oMainWindow:menuBar()

   oMenu := oMenuBar:addMenu( "&Menu" )

   oAction1 := oMenu:addAction( "Janela 1" )
   oAction1:onTriggered( { || janela_wvg_1() } )

   oAction2 := oMenu:addAction( "Janela 2" )
   oAction2:onTriggered( { || janela_wvg_2() } )

   oMainWindow:Show()

   oApp:exec()

   oMainWindow:delete()

   oApp:delete()

RETURN

STATIC FUNCTION janela_wvg_1()

   LOCAL pNewGT
   LOCAL pOldGT
   LOCAL cCampo1 := space(30)
   LOCAL getlist := {}

   IF lFlag
      RETURN NIl
   ENDIF

   lFlag := .T.

   pNewGT := hb_gtCreate( "WVG" )
   pOldGT := hb_gtSelect( pNewGT )

   CLS

   hb_gtInfo( HB_GTI_WINTITLE, "Janela console 1" )
   hb_gtInfo( HB_GTI_ALTENTER, .T. )
   hb_gtInfo( HB_GTI_CLOSABLE, .F. )

   @ 10,10 SAY "CAMPO1:" GET cCampo1

   READ

   ? cCampo1

   WAIT

   hb_gtSelect( pOldGT )
   pNewGT := NIL

   lFlag := .F.

RETURN NIL

STATIC FUNCTION janela_wvg_2()

   LOCAL pNewGT
   LOCAL pOldGT
   LOCAL cCampo1 := space(30)
   LOCAL cCampo2 := space(50)
   LOCAL getlist := {}

   IF lFlag
      RETURN NIl
   ENDIF

   lFlag := .T.

   pNewGT := hb_gtCreate( "WVG" )
   pOldGT := hb_gtSelect( pNewGT )

   CLS

   hb_gtInfo( HB_GTI_WINTITLE, "Janela console 2" )
   hb_gtInfo( HB_GTI_ALTENTER, .T. )
   hb_gtInfo( HB_GTI_CLOSABLE, .F. )

   @ 8,10 SAY "CAMPO1:" GET cCampo1
   @ 10,10 SAY "CAMPO2:" GET cCampo2

   READ

   ? cCampo1
   ? cCampo2

   WAIT

   hb_gtSelect( pOldGT )
   pNewGT := NIL

   lFlag := .F.

RETURN NIL


#include "qt4xhb.ch"
#include "hbgtinfo.ch"

STATIC lFlag := .F.

PROCEDURE Main()

   LOCAL oApp
   LOCAL oMainWindow
   LOCAL oMenuBar
   LOCAL oMenu
   LOCAL oAction1
   LOCAL oAction2
   LOCAL oAction3

   oApp := QApplication():new()

   oMainWindow := QMainWindow():new()
   oMainWindow:setWindowTitle( "Teste com Qt e GtWvg" )
   oMainWindow:resize( 640, 480 )

   oMenuBar := oMainWindow:menuBar()

   oMenu := oMenuBar:addMenu( "&Menu" )

   oAction1 := oMenu:addAction( "Janela 1" )
   oAction1:onTriggered( { || janela_wvg_1() } )

   oAction2 := oMenu:addAction( "Janela 2" )
   oAction2:onTriggered( { || janela_wvg_2() } )

   oMainWindow:Show()

   oApp:exec()

   oMainWindow:delete()

   oApp:delete()

RETURN

STATIC FUNCTION janela_wvg_1()

   LOCAL oCrt
   LOCAL cCampo1 := space(30)

   IF lFlag
      RETURN .F.
   ENDIF

   lFlag := .T.

   oCrt := WvgCrt():New()
   oCrt:lModal := .T.
   oCrt:create()
   oCrt:resizable := .T.

   SetColor( "N/W,W/N" )

   CLS

   hb_gtInfo( HB_GTI_WINTITLE, "Janela console 1" )

   @ 10,10 SAY "CAMPO1:" GET cCampo1

   READ

   ? cCampo1

   WAIT

   oCrt:destroy()

   lFlag := .F.

RETURN NIL

STATIC FUNCTION janela_wvg_2()

   LOCAL oCrt
   LOCAL cCampo1 := space(30)
   LOCAL cCampo2 := space(50)

   IF lFlag
      RETURN .F.
   ENDIF

   lFlag := .T.

   oCrt := WvgCrt():New()
   oCrt:lModal := .T.
   oCrt:create()
   oCrt:resizable := .T.

   SetColor( "N/W,W/N" )

   CLS

   hb_gtInfo( HB_GTI_WINTITLE, "Janela console 2" )

   @ 8,10 SAY "CAMPO1:" GET cCampo1
   @ 10,10 SAY "CAMPO2:" GET cCampo2

   READ

   ? cCampo1
   ? cCampo2

   WAIT

   oCrt:destroy()

   lFlag := .F.

RETURN NIL
Anexos
qtwvg.png
Segundo exemplo em execução
Atenciosamente,
Marcos Antonio Gambeta
marcosgambeta
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 318
Data de registro: 16 Jun 2005 22:53
Curtiu: 2 vezes
Mens.Curtidas: 40 vezes

WVG + HMG + QT

Mensagempor marcosgambeta » 07 Fev 2021 20:50

Para quem usa HbQt, os exemplos devem funcionar igualmente, com os devidos ajustes.

No momento, não tenho nenhuma compilação da HbQt pronta para fazer testes.
Atenciosamente,
Marcos Antonio Gambeta
marcosgambeta
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 318
Data de registro: 16 Jun 2005 22:53
Curtiu: 2 vezes
Mens.Curtidas: 40 vezes

WVG + HMG + QT

Mensagempor microvolution » 07 Fev 2021 23:09

vejam bem:
fui no site do diMaria: http://www.elektrosoft.it/tutorials/hbqt/hbqt.asp
lá no site, tem um tutorial pra testar a QT... tem um link: http://sourceforge.net/projects/qtcontribs/files/?source=navbarlá só baixa o HBIDE.
Então, vi que tinha vários pra baixar, até HBDBU...
só que segundo o tutorial do DiMaria, não tem um instalador que lhe pergunta as pastas destino... tudo são executáveis.
abri a HBIDE e tentei compilar o exemplo... kkk e nada...
numa das "coisas " que baixei tem várias pastas,exemplo:
C:\qtContribs\Qt580_Mingw530_StaticBuild\5.8.0\bin

mas, fazer o que com isso?
tô mais perdido que cego num...
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

WVG + HMG + QT

Mensagempor microvolution » 07 Fev 2021 23:11

marcosgambeta escreveu:Voltando ao assunto Qt + GtWVG, fiz estes dois testes abaixo. Ambos compilaram e funcionaram sem conflitos.
o que tenho que ter na máquina pra baixar?
posso executar de dentro da IDE/HMG.3.5?
onde tem os instaldores da qt?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

WVG + HMG + QT

Mensagempor marcosgambeta » 07 Fev 2021 23:23

Microvolution,

Existem dois projetos:

QtContribs, que é mantido por Pritpal Bedi.
https://sourceforge.net/projects/qtcontribs/

Qt4xHb/Qt5xHb, mantidos por mim.

Os testes que fiz foram com Qt4xHb. Para testar no QtContribs, os exemplos precisam de ajustes pois há diferenças entre os dois projetos.

E como mencionei antes, vou providenciar uma compilação do Qt4xHb para que possa fazer testes. A continuidade depende de haver estabilidade na combinação dos dois (Qt e GtWvg).

Mas o que você necessita, precisa ficar mais claro. Estou partindo deste ponto: você precisa de uma biblioteca gráfica que seja estável quando combinada com a GtWvg.

Então:

GtWvg: necessidade

HMG: necessidade ou opção ?

Se a HMG precisa fazer parte da combinação, temo que seus problemas de instabilidade vão continuar.

Aproveitando: já pensou no uso da HWGUI + GtWvg ?
Atenciosamente,
Marcos Antonio Gambeta
marcosgambeta
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 318
Data de registro: 16 Jun 2005 22:53
Curtiu: 2 vezes
Mens.Curtidas: 40 vezes

WVG + HMG + QT

Mensagempor microvolution » 07 Fev 2021 23:39

marcosgambeta escreveu:Se a HMG precisa fazer parte da combinação, temo que seus problemas de instabilidade vão continuar.
consegui resolver essa parada... depois de quase 2 anos. HMG + WVG estão rodando bacana... posso dizer que como se fosse a versão HMG.3.5.1 ou HMG3.5.0.1, não sei como chamar isso ou se posso assim chamar.
Mas, agora está rodando "filé todo" - como diz um colega meu!
marcosgambeta escreveu:Aproveitando: já pensou no uso da HWGUI + GtWvg ?
então, pra ser bastante sincero: se for pra aprender algo que não seja DESKTOP + WEB + MOBILE (multiplataforma), ou no mínimo DESKTOP + MOBILE (multiplataforma)... não dá mais. já cansei.
aí é partir pra DELPHI, C, PHYTON, JAVA, KOTLIN, JS, NEST.JS, GOLANG, etc...
Se nossa linguagem-mãe não nos proporcionar isso, vou parar onde cheguei e pendurar "minha chuteira", pois a promessa de harbour + android, ouço falar desde que comecei a migrar em 2015. Se eu tivesse aprendido até mesmo JAVA que é muito complexo e difícil, talvez eu já teria tido muito mais lucro. E, quando digo lucro é real. Ter desenvolvido software para supermercado + fiscal + nf, etc... pois nada disso sei e não tenho em mãos. meu sistema é não fiscal e estava mais que falido.
Agora se eu conseguir dar uma sobrevida nele fazendo:
- UM APP DE VENDAS PRA ANDROID (pelo menos);
- que consiga ler DBF/NTX no computador local;
- sem estar conectado à internet (mesmo que tenha wifi);
- o app imprimir na impressora matricial;
- etc...
aí vou tentar essa última vez.
senão, realmente, é o fim pra mim.

Foi a partir de sua interação Marcos, noutro tópico, que me fez crer que essa tal de "qt" faz tudo e um pouco mais... até vídeo o negócio faz: "então é um Adobe Premiere ou After Effects ou Edius" kkk
vou querer queimar mais um pouco de fosfato então sô ! kkk

bom, a coisa é mais séria que a gente possa pensar.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

WVG + HMG + QT

Mensagempor JoséQuintas » 10 Fev 2021 09:29

Ei microvolution

Após uma virada de noite pra fazer funcionar a IDE da HMG.... trago boas notícias:

- Descobri o principal problema de misturar HMG.

- Multithread é a forma mais fácil de resolver

- Como fez pouca coisa, pode jogar fora os fontes de HMG

De forma simples:

HMG NÃO PODE MISTURAR COM HARBOUR
No normal, se usar HMG ESQUEÇA HARBOUR, porque Harbour e HMG são coisas diferentes.
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: 18126
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

WVG + HMG + QT

Mensagempor microvolution » 10 Fev 2021 17:51

JoséQuintas escreveu:No normal, se usar HMG ESQUEÇA HARBOUR, porque Harbour e HMG são coisas diferentes.
então os consoles nativos da HMG (sem usar WVG) não são feitos em HARBOUR?
os comandos/funções que fazemos do clipper dentro da HMG não são harbour?
agora o nobre complicou tudo. como diz a música traduzida:
"complicou? compliquei. Já virei programado errado, tô com entendo tudo errado.
kkkk
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

WVG + HMG + QT

Mensagempor JoséQuintas » 10 Fev 2021 19:12

Problemas de conceito.
Como o Dr. Cláudio Soto já disse, o unicode da HMG foi criado ANTES de existir no Harbour.
Isso já causa diferença.
E como XHarbour não tem o que Harbour tem, NUNCA vão alterar isso, porque senão deixaria de atender o XHarbour.
É contornar problemas.

A IDE da HMG, por exemplo, compilando os fontes trava tudo se for unicode.
Deve ter alguns macetes pra funcionar, mas... isso é diferente de tudo que existe no Harbour, inclusive pra QT.
É até engraçado... mas ao contrário do que sempre disseram... não é a GTWVG que é diferente.... é a HMG.

Por enquanto esqueça a minha HMG.
A mudança vai ser mais radical daqui pra frente, sem compatibilidade com HMG anterior.
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: 18126
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

WVG + HMG + QT

Mensagempor microvolution » 12 Fev 2021 21:12

JoséQuintas escreveu:Por enquanto esqueça a minha HMG.
é isso q havia lhe falado no tópico sobre compilar hmg com .bat.
por isso havia denominado sua lib HMG.JPA, pois, sua versão, não se compila via .bat.
Já a lib oficial do fórum oficial do Roberto Lopez: https://HMGFORUM.com, essa sim, compila de 2 formas:
- via IDE/HMG compila e inclui muita coisa do .RC; e
- via BUILD.BAT compila e só não inclui o ícone no executável.
Já via sua compilação .BAT personalizado, não se compila, apresenta um erro que já relatei no outro tópico e não há necessidade de se repetir aqui.
Agora, precisamos voltar aqui ao foco do tópico:
WVG + HMG + QT

A ideia de criação deste tópico é que achássemos uma solução para expandir, para olhar o futuro, o além do muro, pois DESKTOP já temos, mas, essa modalidade de compilação .EXE (win32) está chegando ao fim, e, talvez não dure nem mais 10 anos.
Então, se não quisermos migrar pra outras linguagens/plataformas atuais e modernas, precisamos urgente de:
DESKTOP + WEB + MOBILE.
Neste, caso, já estou me convencendo que ficar aqui no harbour, é perda de tempo... por isso já estou estudando:
fulll cycle & full stack, além de GoLang (comprei um curso com 185 vídeo-aulas) e retomar a linguagem que já sabia um pouco e que era paga e agora é 0800 por 12 meses e renovável a cada 12 meses, que é o Delphi 10.3.3 Community Edition Rio.
Mas, ainda, se alguém tiver ideias boas e reais de fazermos:
DESKTOP + WEB + MOBILE

então, este é o objeto deste tópico.
sucesso a todos!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

WVG + HMG + QT

Mensagempor JoséQuintas » 13 Fev 2021 08:22

Não esquenta a cabeça.
A solução vém da própria Microsoft.
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: 18126
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Próximo



Retornar para GTWVG

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


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