QR Code
Moderador: Moderadores
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
QR Code
Alguem conhece alguma DLL que eu possa usar, que crie uma imagem QR Code ?
QR Code é uma imagem em 2D similar ao código de barrasmas que comporta até set mil e poucos caracteres
Muito Obrigado
QR Code é uma imagem em 2D similar ao código de barrasmas que comporta até set mil e poucos caracteres
Muito Obrigado
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: QR Code
Pode gerar direto usando as API do Google,
Em anexo um exemplo com Hwgui + Api do Google
Em anexo um exemplo com Hwgui + Api do Google
- Anexos
-
iesample.prg- (2.02 KiB) Baixado 1129 vezes
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
Adalberto
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 01 Set 2007 01:09
- Localização: Santa Cruz de la Sierra - Bolivia
QR Code
Caro, Luciano, boa noite.
Se que foi há muitos anos atrás que você procurou solução para os códigos QR.
Eu me pergunto se você lograstes imprimir esses códigos a partir da sua aplicação, eu estou trabalhando com Ext MiniGUI, e eu estou necesitanto para gerar e imprimir códigos QR, do meu aplicativo.
Eu li em \ MiniGUI \ Samples \ Avançado \ HMG_Zebra mas não consegue encontrar donde inserir o texto (que eu preciso apenas ao texto, alfa numérico), por exemplo: 978 389 011 / Pneus 14 x 16, mountain / $ 89,20 / 2014/02/14
Por favor me ajude, espero sua resposta.
Muito obrigado !!
Adalberto
Se que foi há muitos anos atrás que você procurou solução para os códigos QR.
Eu me pergunto se você lograstes imprimir esses códigos a partir da sua aplicação, eu estou trabalhando com Ext MiniGUI, e eu estou necesitanto para gerar e imprimir códigos QR, do meu aplicativo.
Eu li em \ MiniGUI \ Samples \ Avançado \ HMG_Zebra mas não consegue encontrar donde inserir o texto (que eu preciso apenas ao texto, alfa numérico), por exemplo: 978 389 011 / Pneus 14 x 16, mountain / $ 89,20 / 2014/02/14
Por favor me ajude, espero sua resposta.
Muito obrigado !!
Adalberto
- oxent_jabah
- Usuário Nível 1

- Mensagens: 30
- Registrado em: 26 Dez 2008 11:29
- Localização: Juazeiro do Norte-Ce-Brasil
QR Code
Caro Adalberto,
Na pasta "contrib" do harbour existe um projeto de nome "hbzebra" e neste tem vários testes com códigos de barras, inclusive com QRCODE. Veja se lhe atende.
Cecílio
Na pasta "contrib" do harbour existe um projeto de nome "hbzebra" e neste tem vários testes com códigos de barras, inclusive com QRCODE. Veja se lhe atende.
Cecílio
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
QR Code
// Seria +- assim usando a dll QRCodelib.Dll
abs
Código: Selecionar todos
FUNCTION GERAR_QRCode()
LOCAL cStr, cFile
cStr:="conteúdo do_qrcode"
cFile:="c:\arq.bmp"
QRcode(cStr,cFile)
RETURN NIL
FUNCTION QRcode( cStr, cFile )
#Define DC_CALL_STD 0x0020
LOCAL qrDLL
Generar_QR( cStr, cFile )
RETURN(NIL)
FUNC Generar_QR( cStr, cFile )
LOCAL nResp
LOCAL qrDLL
qrDLL:=LoadLibrary("QRCodelib.Dll" )
nResp:=DllCall(qrDLL,DC_CALL_STD,"FastQRCode",cStr,cFile)
FreeLibrary(qrDLL)
RETURN NIL
-
Adalberto
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 01 Set 2007 01:09
- Localização: Santa Cruz de la Sierra - Bolivia
QR Code
Caros amigos, bom dia.
Muito obrigado por suas respostas, e obrigado pela vontade de cooperar.
Eu preciso criar o código QR, sem internet, parece que a solução proposta por kapiaba é adequada, mas preciso saber como dicer para a librería que trabalhe com o nível H para a capacidade de correção de erros.
Por favor, me judem com estos detalhes.
Cordiais saudações e minha oração por vóces desejando prosperidade.
[ ]Adalberto
Muito obrigado por suas respostas, e obrigado pela vontade de cooperar.
Eu preciso criar o código QR, sem internet, parece que a solução proposta por kapiaba é adequada, mas preciso saber como dicer para a librería que trabalhe com o nível H para a capacidade de correção de erros.
Por favor, me judem com estos detalhes.
Cordiais saudações e minha oração por vóces desejando prosperidade.
[ ]Adalberto
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
QR Code
Basei-se aqui: É em Fivewin, mas basta adaptar para seu uso.
abs.
Código: Selecionar todos
#Include "FiveWin.ch"
* HBZEBRA.LIB
* *********************************************************
* PROCEDURE MAIN
* PRINT oPRN PREVIEW
* PAGE
* EanQRCode(oPRN,50,50,1,"www.veneziasoft.com")
* ENDPAGE
* ENDPRINT
* RETURN
* *********************************************************
* iFlags = estratto da QRCODE.C della libreria HBZEBRA.LIB
*
* #define HB_ZEBRA_FLAG_QR_LEVEL_MASK 0x0700
* #define HB_ZEBRA_FLAG_QR_LEVEL_L 0x0100
* #define HB_ZEBRA_FLAG_QR_LEVEL_M 0x0200
* #define HB_ZEBRA_FLAG_QR_LEVEL_Q 0x0300
* #define HB_ZEBRA_FLAG_QR_LEVEL_H 0x0400
*
* switch( iFlags & HB_ZEBRA_FLAG_QR_LEVEL_MASK )
* {
* case HB_ZEBRA_FLAG_QR_LEVEL_M:
* iLevel = 1;
* break;
* case HB_ZEBRA_FLAG_QR_LEVEL_Q:
* iLevel = 2;
* break;
* case HB_ZEBRA_FLAG_QR_LEVEL_H:
* iLevel = 3;
* break;
* default:
* iLevel = 0;
* break;
*
* *********************************************************
* EanQRCode(oPRN, nY, nX, nWidth, nQRCODE, nColor, iFlags)
*
* oPRN = Output Device
* nY = Rigo di inizio stampa
* nX = Colonna di inizio stampa
* nWidth = Spessore del QRCODE - default = 1
* nQRCODE = Stringa del QRCODE
* nColor = Colore del QRCODE - default = CLR_BLACK
* iFlags = Flags
*
* *********************************************************
******************************************************************
Function EanQRCode(oPRN, nY, nX, nWidth, nQRCODE, nColor, iFlags)
Local hCODE,oBRUSH,nRET
Local nCLR:=IIF(nColor<>NIL,nColor,CLR_BLACK)
Local nLineWidth:=IIF(nWidth==NIL .OR. nWidth<1,1,nWidth)
Local nLineHeight:=nLineWidth
Local nSCALE:=7.2
hCODE:=hb_zebra_create_qrcode(nQRCODE,iFlags)
nY *= nSCALE
nLineWidth *= nSCALE
IF hCODE != NIL
IF hb_zebra_geterror( hCODE ) == 0
IF Empty( nLineHeight )
nLineHeight := 16
ENDIF
IF hb_zebra_geterror( hCODE ) != 0
RETURN HB_ZEBRA_ERROR_INVALIDZEBRA
Endif
DEFINE BRUSH oBRUSH COLOR nCLR
nRET:=hb_zebra_draw( hCODE, {|x,y,w,h| oPRN:FillRect({Int(y+.5), Int(x+.5), Int(y+.5)+Int(h)+1, Int(x+.5)+Int(w)},oBRUSH) }, nX*nSCALE, nY, nLineWidth, nLineHeight*nSCALE )
oBRUSH:End()
Endif
hb_zebra_destroy( hCODE )
Endif
Return nRET
-
Adalberto
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 01 Set 2007 01:09
- Localização: Santa Cruz de la Sierra - Bolivia
QR Code
Kapiaba, boa noite.
Poderia me dicer qual e a function o comando para DllCall porque em essa linea da erro, noa reconoce esa function.
Aguardo sua ajuda.
Muito obrigado.
[ ] Adalberto
Poderia me dicer qual e a function o comando para DllCall porque em essa linea da erro, noa reconoce esa function.
Aguardo sua ajuda.
Muito obrigado.
[ ] Adalberto
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
QR Code
Amiguinhos,
Tenta la funcion CallDLL().Poderia me dicer qual e a function o comando para DllCall porque em essa linea da erro, noa reconoce esa function.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
QR Code
Buenas Adalberto, que usas para compilar tus desarrolos?
Mira este post, porfa:
https://pctoledo.org/forum/viewto ... f=4&t=6009
Gracias, Saludos.
Mira este post, porfa:
https://pctoledo.org/forum/viewto ... f=4&t=6009
Gracias, Saludos.
-
Adalberto
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 01 Set 2007 01:09
- Localização: Santa Cruz de la Sierra - Bolivia
QR Code
Kapiaba, buenas tardes.
Muchas gracias por responder y por ayudarme.
Logré generar el código QR de la siguiente manera, y funciona bien.
Como puedes ver amigo kapiaba, estoy trabajando con MiniGuiExt Ver. 2.3.3
Imprimo con DosPrinter, pregunto: hay alguna otra menera de imprimir? tal vez con con los comandos propios del lenguaje?
Espero tu respuesta, un atento saludo desde Santa Cruz de la Sierra - Bolivia.
[ ] Adalberto
Muchas gracias por responder y por ayudarme.
Logré generar el código QR de la siguiente manera, y funciona bien.
Código: Selecionar todos
#include 'minigui.ch'
DECLARE DLL_TYPE_HBITMAP FastQRCode (DLL_TYPE_LPCSTR file, DLL_TYPE_LPCSTR path) IN QrCodeLib.dll
//
[b]Function QrCodigo()[/b]
cTexto:= '3188075019|120.54|22/04/2014' // Cualquier texto
cFile:= "facturaqr.bmp" // Puede ser [U:][ruta]<Arquivo.Ext>
FastQRCode(cTexto, cFile)
RETURN NIL
Imprimo con DosPrinter, pregunto: hay alguna otra menera de imprimir? tal vez con con los comandos propios del lenguaje?
Espero tu respuesta, un atento saludo desde Santa Cruz de la Sierra - Bolivia.
[ ] Adalberto
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
QR Code
Amiguinho,
A classe DOSPrint e a classe tDOSPrn es Puramente texto, trabalhando em baixo nível. talvez devesse USAR outras classes com Modo gráfico.
Talvez devas USAR a classe win32prn, mas ela faz parte xHarbour e não sei se Funciona bem no Harbour.
Veja exemplos de uso da classe win32prn:
Primeiro
Segundo
Exemplo simples de uso da classe:
A classe DOSPrint e a classe tDOSPrn es Puramente texto, trabalhando em baixo nível. talvez devesse USAR outras classes com Modo gráfico.
Talvez devas USAR a classe win32prn, mas ela faz parte xHarbour e não sei se Funciona bem no Harbour.
Veja exemplos de uso da classe win32prn:
Primeiro
Segundo
Exemplo simples de uso da classe:
Código: Selecionar todos
#define SALTO_PAGINA chr(12)
********************************
FUNCTION Imprime( cArq, tamrel ) // arquivo e tamanho da linha
********************************
local cTexto, nLinhas, nA, cLinha, oPrinter := win32prn()
oPrinter:New( GetDefaultPrinter() )
oPrinter:Landscape := .F.
oPrinter:FormType := 9
oPrinter:Copies := 1
if !oPrinter:Create()
Alert("Não foi possível criar a impressão")
return NIL
endif
if ! oPrinter:StartDoc("Impressao xharbour")
Alert("StartDoc() - falhou ")
return NIL
endif
oPrinter:SetDefaultFont()
if tamrel > 80
oPrinter:setfont(,,17,,,,255)
else
oPrinter:setfont(,,11,,,,255)
endif
oPrinter:TextOut( space(tamrel), .T. )
cTexto := memoread( cArq )
nLinhas := mlcount( cTexto, tamrel, 1, .F. )
for nA := 1 to nLinhas
cLinha := memoline( cTexto, tamrel, nA, 1, .F. )
if left( alltrim( cLinha ), 1 ) == SALTO_PAGINA
oPrinter:NewPage()
else
oPrinter:TextOut( cLinha, .T. )
endif
next
oPrinter:EndDoc()
oPrinter:Destroy()
RETURN NILOPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
Adalberto
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 01 Set 2007 01:09
- Localização: Santa Cruz de la Sierra - Bolivia
QR Code
Maestro rochinha, boa tarde.
Muchas gracias por la ayuda, en verdad no me expresé bien, estoy usando para imprimir el DosPrinter de Bojan Banko, tambien imprime gráficos, es muy bueno pero no deja de ser un software externo a nuestros sistemas, entonces pensé que puedo empezar a estudiar el uso de comandos internos.
Estudiaré los ejemplos que me has propuesto.
Ahora, tal vez puedas ayudarme o quizas tengo que abrir otro post:
Como se hace para saber todos los parametros que podemos pasarle a un archivo .DLL, por ejemplo como podría decirle a QRCodeLib.DLL que trabaje con el nivel H.
(Capacidad de corrección de errores).
Gracias!!!, continuaré en oración pidiendo prosperidad y salud para todos ustedes.
[ ] Adalberto
Muchas gracias por la ayuda, en verdad no me expresé bien, estoy usando para imprimir el DosPrinter de Bojan Banko, tambien imprime gráficos, es muy bueno pero no deja de ser un software externo a nuestros sistemas, entonces pensé que puedo empezar a estudiar el uso de comandos internos.
Estudiaré los ejemplos que me has propuesto.
Ahora, tal vez puedas ayudarme o quizas tengo que abrir otro post:
Como se hace para saber todos los parametros que podemos pasarle a un archivo .DLL, por ejemplo como podría decirle a QRCodeLib.DLL que trabaje con el nivel H.
(Capacidad de corrección de errores).
Gracias!!!, continuaré en oración pidiendo prosperidad y salud para todos ustedes.
[ ] Adalberto