Novas classes p/ dispositivos móveis/Desktop

Projeto Harbour QT - HbQt, HbXBP e HbIDE

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Novas classes p/ dispositivos móveis/Desktop

Mensagem por Itamar M. Lins Jr. »

Estou aguardando QT 5.4 final, já estão testando a beta...

Código: Selecionar todos

2014-10-19 16:00 UTC-0800 Pritpal Bedi (bedipritpal at hotmail.com)(r370)
  + hbqtwidgets/resources/app_side_contract.png
  + hbqtwidgets/resources/app_side_expand.png
  + hbqtwidgets/resources/application_side_contract.png
  + hbqtwidgets/resources/application_side_expand.png
  + hbqtwidgets/resources/down-1.png
  + hbqtwidgets/resources/menu.png
  + hbqtwidgets/resources/prv_barcode.png
  + hbqtwidgets/resources/prv_charts.png
  + hbqtwidgets/resources/prv_fit-best.png
  + hbqtwidgets/resources/prv_fit-width.png
  + hbqtwidgets/resources/prv_gradient.png
  + hbqtwidgets/resources/prv_grid.png
  + hbqtwidgets/resources/prv_image.png
  + hbqtwidgets/resources/prv_landscape.png
  + hbqtwidgets/resources/prv_left-4.png
  + hbqtwidgets/resources/prv_leftall-4.png
  + hbqtwidgets/resources/prv_objects.png
  + hbqtwidgets/resources/prv_page-setup.png
  + hbqtwidgets/resources/prv_page_double.png
  + hbqtwidgets/resources/prv_page_four.png
  + hbqtwidgets/resources/prv_page_one.png
  + hbqtwidgets/resources/prv_portrait.png
  + hbqtwidgets/resources/prv_printer-1.png
  + hbqtwidgets/resources/prv_printer.png
  + hbqtwidgets/resources/prv_printpreview.png
  + hbqtwidgets/resources/prv_right-4.png
  + hbqtwidgets/resources/prv_rightall-4.png
  + hbqtwidgets/resources/prv_save-1.png
  + hbqtwidgets/resources/prv_save-doc.png
  + hbqtwidgets/resources/prv_text.png
  + hbqtwidgets/resources/prv_undo.png
  + hbqtwidgets/resources/prv_zoom-1.png
  + hbqtwidgets/resources/prv_zoom-in-1.png
  + hbqtwidgets/resources/prv_zoom-in.png
  + hbqtwidgets/resources/prv_zoom-original.png
  + hbqtwidgets/resources/prv_zoom-out-1.png
  + hbqtwidgets/resources/prv_zoom-out.png
  + hbqtwidgets/resources/splitter-h.png
  + hbqtwidgets/resources/splitter-v.png
  + hbqtwidgets/resources/up-1.png

  * hbqtwidgets/hbqtwidgets.qrc
    + Added more images as above.
    
  * hbqtwidgets/hbqtstd.ch
    + Added more constants to manage classes explained below.

  * hbqtwidgets/misc.prg
  + hbqtwidgets/toolbarex.prg
  + hbqtwidgets/visualitems.prg
  + hbqtwidgets/visualizer.prg
  + hbqtwidgets/previewer.prg
  + hbqtwidgets/properties.prg

  + hbqtwidgets/visualizer.ui

  * hbqtwidgets/hbqtwidgets.hbp
    + Added more sources and uis as above.

    This commit implements following classes extremely useful for 
    desktop as-well-as mobile business applications. Now onwards 
    the primary focus will reamin on the development of re-usable 
    and platform independent components for faster development-to-market
    experience. All these classes I have pulled from my production 
    applications and re-tuned to be useable as COM objects.

    Some of these classes are still in development but I am committing 
    them as is to keep track of the changes as well as in anticipation 
    of your feedback.

    1. CLASS HbQtScrollableToolbar  [ Status - Usable ]
        This class implements a scrollable toolbar which can contain 
        n number of buttons and is usable on any type of device. Toolbar 
        also shows up left-right visual indicators if buttons scroll 
        past the either-side. The look can be controlled by provided 
        methods. Height and width of the buttons, of icons and the 
        gap between buttons is also adjustable. Both, horizontal 
        and vertical orinetations are supported. Toolbars expect 
        QHBoxLayout | QVBoxLayout as its parents.

    2. CLASS HbQtPrintPreview        [ Status - Usable ]
        This class extends the QPrintPreviewWidget with all the eliments
        embedded, as per QPrintPreviewDialog(), but as a components 
        ready to be consumed by a QHBoxLayout or QVBoxLayout. QDilogs
        fare badly on mobile environments so I had a need to have it 
        as a widget with additional elements. Still a couple of methods,
        for real-extended use, are still on my drawing-board. Stay tuned.

    3. CLASS HbQtPropertiesManager   [ Status - Under Development ]
       CLASS HbQtPropertySheet
       CLASS HbQtProperty
        This group of classes is responsible to manage the PropertySheet 
        interface similar like Qt Creator and all other visual tools.
        But here this component may be used for a variety of business 
        needs. For example, implimenting the data-entry screens based 
        on PropertySheet. I am sensing how big usage this interface 
        can provide so every care will be taken to honor Clipper variable
        types. 

    4. CLASS HbQtVisualizer         [ Status - Under Development ]
       CLASS HbQtVisualItems
        These classes implement a COM like embeddable components to manage 
        a variety of business needs VISUALLY. It is the same code base 
        I started as IdeReports which is a part of HbIDE ( though totally 
        non-functional ) via HbXBP engine. Now it is in the process of 
        heavy changes and different vision of usability than it was 
        thought-of at origin. Because it is a MUST requirement for my 
        production development, I hope it will reach its maturity soon.

  + hbqtwidgets/tests/demovisualizer.prg
    + Demo application demonstrating all above components in action.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Novas classes p/ dispositivos móveis/Desktop

Mensagem por Toledo »

HBQT tá ficando muito boa... futuro promissor!

Segue imagem do demovisualizer.prg em execução:
demovisualizer_1.png
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 do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Novas classes p/ dispositivos móveis/Desktop

Mensagem por Itamar M. Lins Jr. »

Pelo que eu entendi ele vai concluir o desenho de relatórios(Report) e também o desenho das telas(say/get/Buttons/etc) na HBIDE.
Vai crescer muito a HBIDE, Quem viver verá!!

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Novas classes p/ dispositivos móveis/Desktop

Mensagem por Fernando queiroz »

Itamar vc já usou um form dentro do aplicativo ?

Tentei carregar usando uma rotina que tem no site

http://www.elektrosoft.it/tutorials/hbqt/hbqt.asp

Mas ele pede a QUiLoader() e eu não sei como usá-la
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Novas classes p/ dispositivos móveis/Desktop

Mensagem por Toledo »

Amigos, basta criar um arquivo HBP para compilar o seu programa e incluir junto com os PRG o arquivo UI criado no QT Creator, depois no PRG para ler o arquivo UI basta usar a função hbqtui_NomedoArquivoUI(), por exemplo:

Código: Selecionar todos

oUI:=hbqtui_teste()
oUI:show()
QApplication():exec()
Neste exemplo o nome do arquivo UI seria teste.ui

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
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Novas classes p/ dispositivos móveis/Desktop

Mensagem por Fernando queiroz »

Itamar, como a BETA , a minha já é a QT 5.4
Não entendi :-O
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Novas classes p/ dispositivos móveis/Desktop

Mensagem por alxsts »

Olá!
Toledo escreveu:no PRG para ler o arquivo UI basta usar a função hbqtui_NomedoArquivoUI()
Teria um exemplo maior disto? Qual lib ou .hbc tem que linkar? Estou recebendo o erro:

Código: Selecionar todos

hbmk2: Erro: Referenciado, faltando, mas funções desconhecida(s): HBQTUI_UI(),
com meu arquivo ui.ui
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Novas classes p/ dispositivos móveis/Desktop

Mensagem por Toledo »

Alexandre, no seu arquivo HBP, além de relacionar os arquivos PRG e também os UI, incluir no início do HBP:
-w3
-es2
hbqt.hbc
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
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Novas classes p/ dispositivos móveis/Desktop

Mensagem por alxsts »

Olá Toledo.

Grato por responder. Mas, ainda não foi desta vez...

Não estou usando .hbc e sim linha de comando mesmo:

Código: Selecionar todos

D:\TestesHB\ui>hbmk2 ui.prg c:\addons\hbqt\hbqtgui.hbc c:\addons\hbqt\hbqt.hbc
hbmk2: plugin: Warning: HB_WITH_QT points to incomplete QT installation.
       'uic.exe' executable not found.
Harbour 3.2.0dev (r1503131756)
Copyright (c) 1999-2015, http://harbour-project.org/
Compiling 'ui.prg'...
Lines 5167, Functions/Procedures 5
Generating C source output to 'C:\Users\A1459~1.SAN\AppData\Local\Temp\hbmk_a1uw0l.dir\ui.c'... Done.
C:/Qt/Qt5.4.0/Tools/mingw491_32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lQt5Core
C:/Qt/Qt5.4.0/Tools/mingw491_32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lQt5Gui
C:/Qt/Qt5.4.0/Tools/mingw491_32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lQt5Widgets
C:/Qt/Qt5.4.0/Tools/mingw491_32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lQt5PrintSupport
C:/Qt/Qt5.4.0/Tools/mingw491_32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lQt5Network
C:/Qt/Qt5.4.0/Tools/mingw491_32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lQtCore4
C:/Qt/Qt5.4.0/Tools/mingw491_32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lQtGui4
collect2.exe: error: ld returned 1 exit status
hbmk2: Erro: Executando linkeditor. 1
g++.exe C:/Users/A1459~1.SAN/AppData/Local/Temp/hbmk_a1uw0l.dir/ui.o C:/Users/A1459~1.SAN/AppData/Local/Temp/hbmk_a1uw0l.dir/hbmk_tdcqrz.o C:/Users/A1459~1.SAN/AppDa
ta/Local/Temp/hbmk_a1uw0l.dir/hbmk_cuowhf.o    -mwindows -Wl,--start-group -lgtqtc -lsupc++ -lhbqtcore -lQt5Core -lhbqtgui -lQt5Gui -lQt5Widgets -lQt5PrintSupport -l
hbqtnetwork -lQt5Network -lQtCore4 -lQtGui4 -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall
 -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2
_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib   -Wl,--end-
group -oui.exe  -LC:/HB340/lib/win/mingw -LC:/HB340/addons/hbqt/lib/win/mingw

D:\TestesHB\ui>

Código: Selecionar todos

D:\TestesHB\ui>set hb
HB_QT_MAJOR_VER=5
HB_WITH_QT=C:\Qt\Qt5.4.0\5.4\mingw491_32\include;C:\Qt\Qt5.4.0\5.4\mingw491_32\BIN;C:\Qt\Qt5.4.0\5.4\mingw491_32\lib

D:\TestesHB\ui>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=C:/Qt/Qt5.4.0/Tools/mingw491_32/bin/../libexec/gcc/i686-w64-mingw32/4.9.1/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: ../../../src/gcc-4.9.1/configure --host=i686-w64-mingw32 --build=i686-w64-mingw32 --target=i686-w64-mingw32 --prefix=/mingw32 --with-sysroot=/c/ming
w491/i686-491-posix-dwarf-rt_v3-rev2/mingw32 --with-gxx-include-dir=/mingw32/i686-w64-mingw32/include/c++ --enable-shared --enable-static --disable-multilib --enable
-languages=ada,c,c++,fortran,objc,obj-c++,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite -
-enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-sjlj-exceptions --with-dwarf2 --disable-isl-version-check --d
isable-cloog-version-check --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werr
or --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=i686 --with-tune=generic --with-libiconv --with-system-zlib --with-gmp=/c/mingw491/prerequisites/i686-w6
4-mingw32-static --with-mpfr=/c/mingw491/prerequisites/i686-w64-mingw32-static --with-mpc=/c/mingw491/prerequisites/i686-w64-mingw32-static --with-isl=/c/mingw491/pr
erequisites/i686-w64-mingw32-static --with-cloog=/c/mingw491/prerequisites/i686-w64-mingw32-static --enable-cloog-backend=isl --with-pkgversion='i686-posix-dwarf-rev
2, Built by MinGW-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -I/c/mingw491/i686-491-posix-dwarf-rt_v3-rev2/mingw32/opt/in
clude -I/c/mingw491/prerequisites/i686-zlib-static/include -I/c/mingw491/prerequisites/i686-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -I/c/mingw491/i686-491-po
six-dwarf-rt_v3-rev2/mingw32/opt/include -I/c/mingw491/prerequisites/i686-zlib-static/include -I/c/mingw491/prerequisites/i686-w64-mingw32-static/include' CPPFLAGS=
LDFLAGS='-pipe -L/c/mingw491/i686-491-posix-dwarf-rt_v3-rev2/mingw32/opt/lib -L/c/mingw491/prerequisites/i686-zlib-static/lib -L/c/mingw491/prerequisites/i686-w64-mi
ngw32-static/lib -Wl,--large-address-aware'
Thread model: posix
gcc version 4.9.1 (i686-posix-dwarf-rev2, Built by MinGW-W64 project)

D:\TestesHB\ui>

Código: Selecionar todos

D:\TestesHB\ui>path
PATH=C:\Qt\Qt5.4.0\5.4\mingw491_32\bin;C:\HB340\bin;C:\Qt\Qt5.4.0\Tools\mingw491_32\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\W
indowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Win
dows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\MySQL\MySQL Utilities 1.3.6\;C:\Program Files
\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Bin
n\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft
SQL Server\120\DTS\Binn\;C:\Program Files\TortoiseSVN\bin

D:\TestesHB\ui>
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Novas classes p/ dispositivos móveis/Desktop

Mensagem por Toledo »

Alexandre, neste caso então crie o arquivo HBP para compilar este seu programa.

Por exemplo: teste.hbp
-w3
-es2
hbqt.hbc

ui.prg
ui.ui
Depois para compilar, digite:

HBMK2 teste.hbp

Agora uma pequena observação, fiquei meio perdido com tanta coisa no SET e PATH que você colocou na sua mensagem anterior. Então seria bom resumir um pouco tudo isto, basta apenas estes comandos para compilação:
set path=C:\hb34\bin;C:\hb34\comp\mingw\bin;%path%
set HB_COMPILER=mingw
set HB_QT_MAJOR_VER=5
SET HB_WITH_QT=C:\QT\QT5.4.0\5.4\mingw491_32\include
No PATH basta apenas a pasta \BIN do Harbour e a pasta \BIN do compilador MingW.

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
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Novas classes p/ dispositivos móveis/Desktop

Mensagem por alxsts »

Olá!

Tá difícil acertar...
Capturar2.PNG
Capturar1.PNG
Editado

Código: Selecionar todos

//#include "hbqt.ch"

#include "hbqtgui.ch"

STATIC qApp
REQUEST HB_QT  <<<------------------ Comentando esta linha gera o executável e roda...

INIT PROCEDURE Qt_Start()
   qApp := QApplication():new()
   RETURN
EXIT PROCEDURE Qt_End()
   qApp:quit()
   RETURN

PROCEDURE Main()

   LOCAL oMinhaJanela //, oLayout

   oMinhaJanela := CarregaUI("ui.ui")

   IF ( oMinhaJanela == Nil )
      MsgInfo( "Problema ao abrir form!!" )
      QUIT
   ENDIF

   oMinhaJanela:show()

   qApp:exec()

RETURN

FUNCTION CarregaUI( )
/*
   LOCAL oDialogo, oUi, oArq

   IF File( cArqUI )
      oArq := QFile():new( cArqUI )
      IF oArq:open( 1 )
         oUi      := QUiLoader():new()
         oDialogo := QDialog():configure( oUi:load( oArq ) )
         oArq:close()
      ELSE
         RETURN Nil
      ENDIF
   ELSE
      RETURN Nil
   ENDIF
*/
RETURN hbqtui_ui() // oDialogo

STATIC FUNCTION MsgInfo( cMsg )
   LOCAL oBox
   oBox:= QMessageBox():new()
   oBox:setInformativeText( cMsg )
   oBox:setWindowTitle( "Informação!" )
   oBox:exec()
   oBox := NIL
   HB_GCALL( .T.)
  RETURN nil

/*
Function Main()

   LOCAL oUI //:= QMainWindow()

   oUI:=hbqtui_ui()
   oUI:show()
   QApplication():exec()

RETURN NIL
*/
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Novas classes p/ dispositivos móveis/Desktop

Mensagem por Toledo »

alxsts escreveu:REQUEST HB_QT <<<---- Comentando esta linha gera o executável e roda...
O problema estava ai, realmente este comando não é necessário em programa com uso da HBQT.

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
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Novas classes p/ dispositivos móveis/Desktop

Mensagem por alxsts »

Olá!

Obrigado! Realmente ainda tenho que aprender tudo sobre o assunto.
[]´s
Alexandre Santos (AlxSts)
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Novas classes p/ dispositivos móveis/Desktop

Mensagem por microvolution »

gente sou novato neste tópico...
enfim, o que vem a ser a nomenclatura QT?
alguém pode dizer, pergunte ao "ok google", já fiz, e me respondeu com um montão de coisas que de nada entendi...
mas, alguém, aqui deva saber mesmo o que vem a ser esse "QT" em diversas LIBs:
MARINAS QT
HMG QT
etc
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!
Responder