|
Caso não consiga ver as imagens deste e-mail, clique aqui. |
|
|
Olá pessoal,
O Escovando Bits de hoje trás um pouco sobre QT.
O QT é uma Framework multiplataforma para desenvolvimento em C++.
Com ele é possível desenvolver aplicativos e bibliotecas uma única vez e compilá-los para diversas plataformas, sem que seja necessário alterar o código fonte do projeto. Bom, isto se a DLL utilizada também for multiplataforma, caso contrário não adianta de nada desenvolver em uma linguagem multiplataforma e sua aplicação ficar presa em um sistema operacional apenas, pois utiliza bibliotecas incompatíveis com outros sistemas operacionais. |
|
Quando desenvolvemos a camada DarumaFramework foi exatamente nisto que pensamos, ter uma camada que rode em diversos tipos de plataformas sem que seja necessário nenhum tipo de alteração no código.
O mesmo comando que você chama na camada PHP, no JNI, na DLL do Windows, e na SO no Linux será exatamente o mesmo! Isto faz com que sua aplicação seja completamente multiplataforma.
Nossa equipe de Integração e Desenvolvimento Daruma atendeu mais um de seus feedbacks e entrega hoje o exemplo em QT, veremos um pouco abaixo porque a DarumaFramework é referencia quando o assunto é multiplataforma, como o QT.
Na hora em que a aplicação compilada em QT é executada ela necessita fazer apenas uma única verificação, se é ambiente Windows ou Linux, para que assim possa apontar o diretório da DLL ou SO. | |
?/**
No trecho abaixo é feita a verificação se a aplicação está rodando em Linux ou Windows, para que se carregue a DarumaFramework na memória.
**/
void carregarDarumaFramework(QWidget *Janela) {
string erro = NULL;
QString ExtBiblioteca;
if(!bibliotecaDinamica){
#ifdef WIN32
bibliotecaDinamica = LoadLibrary(TEXT("DarumaFrameWork.dll"));
ExtBiblioteca = ".dll";
#else
bibliotecaDinamica = dlopen("/usr/local/lib/libDarumaFramework.so", RTLD_NOW);
ExtBiblioteca = ".so";
#endif
}
Pronto, só isto mesmo pessoal, as declarações feitas são exatamente iguais.
É só declarar uma vez e independente da plataforma irá executar perfeitamente.
Vamos simular a emissão de um cupom fiscal em QT.
//** Declarações**//
int iCFAbrir_ECF_Daruma(string CPF, string Nome, string Endereco) ;
int iCFVenderResumido_ECF_Daruma(string CargaTributaria, string PrecoUnitario, string CodigoItem, string DescricaoItem) ;
int iCFEncerrarResumido_ECF_Daruma(void) ; //** Abaixo é criado um botão e nele executados os comandos para a emissão de um cupom fiscal **//
void MainWindow::on_pushButton_clicked()
{
iCFAbrir_ECF_Daruma("111.111.111-11","DemoQt","Av Daruma");
iCFVenderResumido_ECF_Daruma("F1","10,00","123456","ITEM UM");
iCFVenderResumido_ECF_Daruma("F1","10,00","123456","ITEM DOIS");
iCFVenderResumido_ECF_Daruma("F1","10,00","123456","ITEM TRÊS");
iCFEncerrarResumido_ECF_Daruma();
}
Independente do sistema operacional em que a aplicação seja executada será impresso o mesmo cupom fiscal, conforme abaixo.
|
|
Todos os comandos são 100% compatíveis, vejamos agora uma função com retorno de informações.
//** Declaração**//
int rRetornarNumeroSerie_ECF_Daruma(string SerialCriptografado, string Serial) ;
//**Abaixo é criado um botão e nele é executada a função para captura no numero de série e exibição em uma caixa de mensagem**//
void MainWindow::on_pushButtonNS_clicked()
{
QMessageBox::information(this,"Numero de Série: ",QStrRetorno);
} |
|
O exemplo em QT pode ser baixado através de nosso site http://www.desenvolvedoresdaruma.com.br.
VERSÕES
Executável - Baixar
Com fontes – Baixar
Baixe também o STK explicando sobre a utilização do exemplo em QT - Baixar
E veja nossos vídeos:
|
|
Um abraço, e até a próxima! |
E-mails:
daruma.desenvolvedores@daruma.com.br
ddc.suporte@daruma.com.br
suporte.ddc@daruma.com.br
desenvolvedores.suporte@daruma.com.br
suporte.desenvolvedores@daruma.com.br
desenvolvedores.daruma@daruma.com.br
suporte@daruma.com.br
suporte.alexandre@daruma.com.br
claudenir@daruma.com.br |
Skypes:
daruma.desenvolvedores
ddc_suporte_daruma
suporte_ddc_daruma
desenvolvedores_suporte_daruma
suporte_desenvolvedores_daruma
desenvolvedores_daruma
suporte_daruma
suporte_alexandre_daruma
claudenir_andrade |
|
| |