Complementando aplicativo com ASP/HTML/ADO
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Complementando aplicativo com ASP/HTML/ADO
Tinha até esquecido disto.
É uma página pra abrir no navegador.
Usando ADO e SQL.
No ASP seria quase igual, pra rodar num servidor de internet.
Então....
Tem horas que sei lá....
No caso de HTML, seria pra testes, você não vai mandar fonte e senha do seu banco de dados pra ser usado por aí.
No caso de ASP tudo bem, roda no servidor.
Então... usar harbour pra isso, sendo que depende de algum site aceitar o harbour, mais prático usar o ASP.
Aí poderia ser acessado por um celular, por exemplo.
Isso de script VB tem:
- No Windows, chamado VBScript
- No Office, chamado VBA Visual Basic For Applications
- No html (aberto no windows), chamado VBScript
- No ASP, que perdeu o lugar pro ASP.NET, mas ainda funciona
- No Access
- No antigo Outlook, não express
É interessante olhar, mesmo que por curiosidade.
Inclusive... no VB6 podiam ser criados controles pra serem usados em HTML - no Windows.
Acho que eram os HTA ao invés de HTML.
Não lembro mais, isso é tão antigo, acho que olhei há mais de 10 anos atrás....
De lá pra cá, a segurança barra muita coisa.
É uma página pra abrir no navegador.
Usando ADO e SQL.
No ASP seria quase igual, pra rodar num servidor de internet.
Então....
Tem horas que sei lá....
No caso de HTML, seria pra testes, você não vai mandar fonte e senha do seu banco de dados pra ser usado por aí.
No caso de ASP tudo bem, roda no servidor.
Então... usar harbour pra isso, sendo que depende de algum site aceitar o harbour, mais prático usar o ASP.
Aí poderia ser acessado por um celular, por exemplo.
Isso de script VB tem:
- No Windows, chamado VBScript
- No Office, chamado VBA Visual Basic For Applications
- No html (aberto no windows), chamado VBScript
- No ASP, que perdeu o lugar pro ASP.NET, mas ainda funciona
- No Access
- No antigo Outlook, não express
É interessante olhar, mesmo que por curiosidade.
Inclusive... no VB6 podiam ser criados controles pra serem usados em HTML - no Windows.
Acho que eram os HTA ao invés de HTML.
Não lembro mais, isso é tão antigo, acho que olhei há mais de 10 anos atrás....
De lá pra cá, a segurança barra muita coisa.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
programando ASP/HTML com ADO
Olá!
Mod_harbour faz isso, já tem uns 6 anos se não me engano.
Qualquer provedor tem apache e NGINX.
Só ativar o modulo do Harbour e pronto inclusive roda .HRB além do .PRG Linux/Windows/OSX.
https://github.com/FiveTechSoft/mod_harbour/wiki
Inclusive com HaruPDF, Curl... As contribs do Harbour.
Como as coisa no mundo harbour, vão se arrastando e poucos sabem disso.
Fragmento de código usando HaruPDF para gerar PDF direto.
Saudações,
Itamar M. Lins Jr.
Também temos isso pronto.Então... usar harbour pra isso, sendo que depende de algum site aceitar o harbour, mais prático usar o ASP.
Aí poderia ser acessado por um celular, por exemplo.
Mod_harbour faz isso, já tem uns 6 anos se não me engano.
Qualquer provedor tem apache e NGINX.
Só ativar o modulo do Harbour e pronto inclusive roda .HRB além do .PRG Linux/Windows/OSX.
https://github.com/FiveTechSoft/mod_harbour/wiki
Inclusive com HaruPDF, Curl... As contribs do Harbour.
Como as coisa no mundo harbour, vão se arrastando e poucos sabem disso.
Código: Selecionar todos
function Main()
local cArgs := AP_Args(), nRecNo
USE ( hb_GetEnv( "PRGPATH" ) + "/data/customer.dbf" ) SHARED
if ! Empty( cArgs )
if Left( cArgs, 5 ) == "next:"
nRecNo = Val( SubStr( cArgs, 6 ) )
if nRecNo < RecCount() - 10
GOTO nRecNo
endif
endif
if Left( cArgs, 5 ) == "prev:"
nRecNo = Val( SubStr( cArgs, 6 ) )
if nRecNo > 20
GOTO nRecNo - 10
endif
endif
endif
TEMPLATE
<html>
<head>
<title>modHarbour dbGen</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<style>
.table-striped>tbody>tr:nth-of-type(odd) {background-color: #ecf3f7;}
.table-striped>tbody>tr:nth-of-type(even) {background-color: #e1ebf2;}
.table-striped>tbody>tr:hover>td {background-color: #f6f4d0;}
</style>
</head>
<body>
<div class="container-fluid">
<div class="container" style="margin-top:50px">
<div class="panel panel-default" style="background-color:#f5f5f5;">
<div style="margin:7px">
<div class="col-xs-6">
<div class="btn-group">
<a class="btn btn-default" style="background-color:#0ed145;"><span>New</span></a>
<a class="btn btn-default" style="background-color:#fff200;"><span>Edit</span></a>
<a class="btn btn-default" style="background-color:#ec1c24;"><span>Delete</span></a>
</div>
</div>
<div class="col-xs-6 pull-right form-group">
<input type="text" class="form-control" style="border-radius:0px" placeholder="Search">
</div>
</div>
<div class="panel-body" style="padding:0px">
<table class="table table-striped table-bordered" style="margin:0px;">
<thead>
<tr>
<?prg local cCols := ""
for n = 1 to FCount()
cCols += "<th>" + FieldName( n ) + "</n>"
next
return cCols ?>
</tr>
</thead>
<tbody>
<?prg local cRow := "", nRow := 1, n
while nRow < 11 .and. ! Eof()
cRow += '<tr>'
for n = 1 to FCount()
cRow += '<td class="center">' + ValToChar( FieldGet( n ) ) + "</td>"
next
cRow += "<td>"
cRow += '<button type="button" class="btn btn-xs btn-default">'
cRow += ' <span class="glyphicon glyphicon-pencil"></span>'
cRow += "</button>"
cRow += '<button type="button" data-bind="click: $parent.remove" class="remove-news btn btn-xs btn-default" data-toggle="tooltip" data-placement="top" data-original-title="Delete">'
cRow += ' <span class="glyphicon glyphicon-trash"></span>'
cRow += "</button>"
cRow += '<button type="button" class="enabledisable-news btn btn-xs btn-default">'
cRow += ' <span class="glyphicon glyphicon-ok"></span>'
cRow += "</button>"
cRow += "</td>"
cRow += "</tr>"
SKIP
nRow++
end
return cRow ?>
</tbody>
</table>
</div>
<div class="panel-footer">
<div class="col-xs-3"><div class="dataTables_info" id="example_info">Showing <?prg return AllTrim( Str( RecNo() - 10 ) ) + " - " + AllTrim( Str( RecNo() - 1 ) ) ?> of <?prg return Str( RecCount() ) ?> total results</div></div>
<div class="col-xs-6">
<div class="dataTables_paginate paging_bootstrap">
<ul class="pagination pagination-sm" style="margin:0 !important">
<li class="prev"><a href="dbrowse.prg?prev:<?prg return AllTrim( Str( RecNo() - 10 ) )?>">Previous</a></li>
<li class="active"><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li class="next"><a href="dbrowse.prg?next:<?prg return AllTrim( Str( RecNo() ) )?>">Next</a></li></ul>
</div>
</div>
<div class="btn-group">
<button type="button" class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown">
10 <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" style="min-width: 0px ">
<li><a href="#">5</a></li>
<li class="active"><a href="#">10</a></li>
<li><a href="#">15</a></li>
<li><a href="#">15</a></li>
</ul>
<span>items per page </span>
</div>
</div>
</div>
</body>
</html>
ENDTEXT
return nil
Código: Selecionar todos
#ifdef __PLATFORM__WINDOWS
#include "c:\harbour\include\hbclass.ch"
#include "c:\harbour\contrib\hbhpdf\harupdf.ch"
#else
#ifdef __PLATFORM__UNIX
#include "/usr/include/harbour/hbclass.ch"
#include "/usr/include/harbour/harupdf.ch"
#else
#include "/Users/anto/harbour/include/hbclass.ch"
#include "/Users/anto/harbour/contrib/hbhpdf/harupdf.ch"
#endif
#endif
STATIC aTtfFontList:= NIL
STATIC cFontDir
#translate RGB( <nRed>, <nGreen>, <nBlue> ) => ;
( <nRed> + ( <nGreen> * 256 ) + ( <nBlue> * 65536 ) )
function Main()
local oPrn, oFont1, oFont2, oFont3
oPrn := TPdf():New( "list" )
oPrn:LoadedFonts := { "Verdana" }
oFont1 = oPrn:DefineFont( 'Helvetica', 24 )
oFont2 = oPrn:DefineFont( 'Helvetica-Bold', 16 )
oFont3 = oPrn:DefineFont( 'Helvetica', 12 )
oPrn:StartPage()
height := oprn:nVertSize()
width := oprn:nHorzSize()
oPrn:cmSay( 4, 5, "mod_harbour invoice", oFont2,, rgb(0,0,255) )
oPrn:cmSay( 4.9, 5, "create PDFs on runtime", oFont3,, 0 )
oPrn:cmSay( 5.6, 5, "https://github.com/fivetechsoft/mod_harbour", oFont3,, 0 )
oPrn:cmRect( 8.5, 2, 11.5, 19,, rgb(0x99,0xCC,0xFF), rgb(0x99,0xCC,0xFF) )
oPrn:cmSay( 9, 11, "Client:", oFont3, 0 )
oPrn:cmSay( 12.2, 2, "Invoice: 20190807/101", oFont3, 0 )
oPrn:cmRect( 13, 2, 14, 19,, 0, rgb( 0x99, 0xCC, 0xFF ) )
oPrn:cmSay( 13.2, 2.8, "Date", oFont3, 0 )
oPrn:cmSay( 14.5, 2.4, DToC( Date() ), oFont3, 0 )
oPrn:cmSay( 14.5, 5, "An Apache module for Harbour", oFont3, 0 )
oPrn:cmSay( 13.2, 7, "Description", oFont3, 0 )
oPrn:cmSay( 13.2, 12.2, "Units", oFont3, 0 )
oPrn:cmSay( 14.5, 12.6, "1", oFont3, 0 )
oPrn:cmSay( 13.2, 14.7, "Price", oFont3, 0 )
oPrn:cmSay( 14.5, 14.8, "free", oFont3, 0 )
oPrn:cmSay( 25.2, 14.7, "Total...", oFont3, 0 )
oPrn:cmSay( 25.2, 16.9, "Freedom", oFont3, 0 )
oPrn:cmSay( 13.2, 17, "Amount", oFont3, 0 )
oPrn:cmSay( 14.5, 17.3, "zero", oFont3, 0 )
oPrn:cmRect( 13, 2, 26, 19, 1 )
oPrn:cmLine( 14, 2, 14, 19, 1 )
oPrn:cmLine( 25, 2, 25, 19, 1 )
oPrn:cmLine( 13, 4.5, 26, 4.5, 1 )
oPrn:cmLine( 13, 11.5, 26, 11.5, 1 )
oPrn:cmLine( 13, 14, 26, 14, 1 )
oPrn:cmLine( 13, 16.5, 26, 16.5, 1 )
oPrn:EndPage()
oPrn:Save( hb_GetEnv( "PRGPATH" ) + "/data/test3.pdf" )
oPrn:End()
?? "<" + "iframe src='./data/test3.pdf' style='width:calc( 100% + 16px );height:100%;border:0px;margin:-8px;'><" + ;
"/iframe>"
return nil
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
programando ASP/HTML com ADO
Legal.
Agora é só dizer qual provedor que aceita isso, porque sem provedor isso não serve pra nada.
Agora é só dizer qual provedor que aceita isso, porque sem provedor isso não serve pra nada.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
programando ASP/HTML com ADO
Olá!
Não sei.
Imagino que ASP seja um serviço até mais caro.
Agora se o provedor deixa mexer no httpd.conf... Tem que ver com eles. Pra mim isso é o de menos. Pior é fazer.
Tem também o KVM que vc pode configurar, enfim fazer é o mais difícil.
Saudações,
Itamar M. Lins Jr.
Não sei.
Imagino que ASP seja um serviço até mais caro.
Agora se o provedor deixa mexer no httpd.conf... Tem que ver com eles. Pra mim isso é o de menos. Pior é fazer.
Tem também o KVM que vc pode configurar, enfim fazer é o mais difícil.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
programando ASP/HTML com ADO
Olá!
Em menos de 1 minuto achei isso:
https://www.locaweb.com.br/ajuda/wiki/i ... s-locaweb/ Como disse fazer é o mais difícil, 70% ou mais é HTML + CSS + JAVASCRIPT. Pode ser em PHP, ASP, Harbour...
Primeiro aprende, depois vai ver como irá fazer para colocar no AR.
Se compensar usar Harbour, ASP, PHP, vai de cada um.
Sem falar que a pessoa pode usar um computador em casa pra isso. Ai não depende de ninguém só dele mesmo.
Essa de que Harbour não tem no provedor, vai do bolso de cada um também, por conta dos VPS, KVM ou paga 90 reais por um link e coloca um provedor em casa.
Saudações,
Itamar M. Lins Jr.
Em menos de 1 minuto achei isso:
https://www.locaweb.com.br/ajuda/wiki/i ... s-locaweb/ Como disse fazer é o mais difícil, 70% ou mais é HTML + CSS + JAVASCRIPT. Pode ser em PHP, ASP, Harbour...
Primeiro aprende, depois vai ver como irá fazer para colocar no AR.
Se compensar usar Harbour, ASP, PHP, vai de cada um.
Sem falar que a pessoa pode usar um computador em casa pra isso. Ai não depende de ninguém só dele mesmo.
Essa de que Harbour não tem no provedor, vai do bolso de cada um também, por conta dos VPS, KVM ou paga 90 reais por um link e coloca um provedor em casa.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
programando ASP/HTML com ADO
Olá!
Ah, sim já ia me esquecendo.
Na Espanha tem provedor lá com mod_harbour instalado. Achei bem caro a hospedagem.
Perguntar lá no grupo que eles devem informar.
Saudações,
Itamar M. Lins Jr.
Ah, sim já ia me esquecendo.
Na Espanha tem provedor lá com mod_harbour instalado. Achei bem caro a hospedagem.
Perguntar lá no grupo que eles devem informar.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
programando ASP/HTML com ADO
O que mostrou, está na tela, é VPS, Virtual Private Server.
Isso é alugar uma máquina na internet, o que é muito mais caro.
E precisa total conhecimento sobre tudo, porque o provedor só vai te dar a máquina.
É só falar pro provedor, caso não esteja ativado, pra ativar.
Me parece que tem até pra servidor Linux.
Que tal minha stored procedure em MySQL que retorna o extenso de um número ?
Via ASP.
http://www.jpatecnologia.com.br/extenso ... =454454.54
ASP é limitado, dizem obsoleto, não faz conexão com API dos correios porque não tem conexão segura...
Não é o melhor que existe.... mas estou usando há muitos anos, e qualquer um pode usar.
ASP.NET está disponível, mas não gostei de NET, fazer o que...
Talvez até rode na internet dialogs criadas no windows server...
Isso é alugar uma máquina na internet, o que é muito mais caro.
E precisa total conhecimento sobre tudo, porque o provedor só vai te dar a máquina.
É grátis.Itamar M. Lins Jr. escreveu:Imagino que ASP seja um serviço até mais caro.
É só falar pro provedor, caso não esteja ativado, pra ativar.
Me parece que tem até pra servidor Linux.
Que tal minha stored procedure em MySQL que retorna o extenso de um número ?
Via ASP.
http://www.jpatecnologia.com.br/extenso ... =454454.54
ASP é limitado, dizem obsoleto, não faz conexão com API dos correios porque não tem conexão segura...
Não é o melhor que existe.... mas estou usando há muitos anos, e qualquer um pode usar.
ASP.NET está disponível, mas não gostei de NET, fazer o que...
Talvez até rode na internet dialogs criadas no windows server...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
programando ASP/HTML com ADO
Olá!
Em outros, a maioria é Linux... Enfim...
Aqui é dicas e tutoriais xBase.
ASP deveria esta em outras linguagens de programação.
Vc é moderador... vc que sabe...
Também só escrevi, pq vc disse que Harbour é inviável, pq não tem nos provedores... enfim... Cada um sabe de si.
Saudações,
Itamar M. Lins Jr.
Nesse seu provedor que usa windows.É grátis.
É só falar pro provedor, caso não esteja ativado, pra ativar.
Em outros, a maioria é Linux... Enfim...
Aqui é dicas e tutoriais xBase.
ASP deveria esta em outras linguagens de programação.
Vc é moderador... vc que sabe...
Também só escrevi, pq vc disse que Harbour é inviável, pq não tem nos provedores... enfim... Cada um sabe de si.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
programando ASP/HTML com ADO
Em Linux, somente ASP.NET.
O ASP é linguagem proprietária.
O ASP é linguagem proprietária.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
programando ASP/HTML com ADO
Considerei o fato de estar mostrando um complemento ao aplicativo.Itamar M. Lins Jr. escreveu:Aqui é dicas e tutoriais xBase.
ASP deveria esta em outras linguagens de programação.
Não coloquei detalhes de como usar.
Apenas mostrei um exemplo pra dar uma idéia melhor do troço.
E acrescentei que no Windows tem em tudo que é lugar.
Alguns até já utilizam em aplicativos, quando executam scripts.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/