FUNÇÃO BITRSHIFT()

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por HASA »

:)) :D
SIM SIM , só um detalhe, caso tenha alguma função que eu não consiga trazer para o Harbour + Minigui Ext. ai não da ok.

:)Pos
HASA
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por Kapiaba »

Inxyyyyyyyyyyyyyyyy, ai não sei dizer, sou fanático por fivewin the best, e nunca vi outra LIB gráfica(Nem quero). kkkkkkkk, vou ver se acho os exemplos e posto no www.4shared.com gratuito para você meu caro amigo. Abs.

Hasa, depois de baixar, avise pois preciso retirar o Link, pois este projeto não é grátis, não enviei por email, para não gerar reclamação do Adm. Ok?

http://www.4shared.com/zip/cksLStMKba/QR_online.html

http://www.4shared.com/zip/TEF-cB4eba/QRCODE.html

Em tempo: No forum inter, tem vários exemplos de uso de QRCODE, com HBZEBRA.LIB, dê uma olhada lá também, ok?

http://forums.fivetechsupport.com/index.php

Esta mensagem será excluída ou link removido. por não ser grátis. Desculpem.

Obg. abs.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

FUNÇÃO BITRSHIFT()

Mensagem por JoséQuintas »

Errei na base.
Como cada byte representa de 0 a 255, significa que o próximo será múltiplo de 256 e não de 255.
Operador >> ( Bitwise right shift )

O operador >> ( deslocamento de bits para a direita ) olhando pela base decimal parece estranho, mas se olharmos pela representação binária do valor iremos identificar facilmente que os bits deslizam para direita, sendo o operando da direita responsável pelo número de vezes que os bits serão deslizados, cada passo equivale a dividir por 2, ou seja, $a >> 3, é o mesmo que dividir $a por 2 três vezes.
http://www.diogomatheus.com.br/blog/php ... bit-a-bit/

Código: Selecionar todos

nLow := Mod( nValor, 256 )
nHigh :=  Int( nValor / 256 )
A aparente complicação é que trabalhando com binários basta pegar a parte binária direta, sem precisar cálculo.
Algo como Left( c, 4 ) e Right( c, 4 )

Nota:
As rotinas da hbwin fazem isso também.
Rotina inicial RShift( valor, 8 ), porque um byte tem 8 bits, e 2^8 = 256
Continuo estranhando o +2 da rotina inicial.
E fica estranha a rotina em Delphi que divide por 255
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

FUNÇÃO BITRSHIFT()

Mensagem por JoséQuintas »

As rotinas da hbwin fazem isso também.
Correção: não fazem não, a base é 2 bytes, e não 1, o que dá 65536..

Código: Selecionar todos

PROCEDURE Main

   x = 65537
   ? WIN_LOWORD( x )
   ? WIN_HIWORD( x )
   RETURN

Código: Selecionar todos

         1
         1

Código: Selecionar todos

#define WIN_LOWORD( dw )                   hb_bitAnd( dw, 0xFFFF )
#define WIN_HIWORD( dw )                   hb_bitAnd( hb_bitShift( dw, -16 ), 0xFFFF )
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/
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por HASA »

:))
kapi, baixado muito obrigado, vou estudar esses exemplos, e ver o que há no forum da FiveWin.

José, vou testar o seu também.

:* :xau :)Pos

HASA
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

FUNÇÃO BITRSHIFT()

Mensagem por JoséQuintas »

Interessante:

Código: Selecionar todos

PROCEDURE Main

   x = 55
   ? x
   ? x, hb_bitShift( x, 1 )
   ? x, hb_bitRShift( x, 1 )
   RETURN

FUNCTION hb_bitRShift( x, y )

   RETURN hb_bitShift( x, -y )

Código: Selecionar todos

       55        110
       55         27
Um divide e outro multiplica.

Igual no decimal pra multiplicar ou dividir por 10.
Pra multiplicar acrescenta um zero como último dígito (desloca pra esquerda).
E pra dividir corta uma casa (desloca pra direita).
O mesmo princípio, ao invés de fazer conta, só mexe o dígito pra esquerda ou direita.

A partir daí é decifrar aquele +2, e ver se está invertido o Low e High.
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/
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por HASA »

Amigos
José e Kapiaba,
creio que não me fiz entender, na verdade minha necessidade não é bem de imprimir o QRCODE do meu sistema, é sim enviar para as diversas impressoras através de CHR(...) o conteúdo que será impresso de forma que seja reconhecido pela app de olho na nota. Nesse link https://pctoledo.org/forum/viewto ... at#p100059 tem um post meu com exemplo e imagem de um extrato impresso com o qrcode, veja que o qrcode é impresso, o que acontece na verdade é que o aplicativo de olho na nota não lê meus QR´s, mas... se eu pegar um mesmo XML e imprimir via acbrmonitorPlus a app reconhece. Ufa! acredito que agora sim de "exprimi" corretamente.
:'(
HASA
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por HASA »

:( :-O

Por isso acredito que o erro está nessa conta e divisão com resto e tal...

HASA
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por Kapiaba »

Agora que você explicou, complicou ainda mais... kkkkkkkkkkkkkkkkkkkk

Deixa eu ver:
na verdade é que o aplicativo de olho na nota não lê meus QR´s,
Qual é o tamanho do seu QRCODE?

O ideal é que ele seja, por exemplo: 500 x 500 ou no minimo, 300 x 300. Veja se não é isso. QRCODE, para o Leitor, é uma imagem, se ela não estive nas dimensões corretas, ele não lerá. Corrija-me, se eu estiver enganado, mas, foi o que eu notei aqui nos testes que o cliente que eu desenvolvi a rotina, me passou. abs.
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por HASA »

:-o

Vejam, salvo engano se a cpdificação de meu qrcode estevisse correta o desenho ( manchas ) do qrcode não seriam as mesmas ?

Outra coisa na app QR Code Reader lê os 2 na boa?

:'(

HASA
Anexos
Scan.jpg
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por HASA »

:-O
O extrato com número 1 em vermelho é o meu, os dados do cabeçalho desconsiderem, o conteudo do qrcode é o do xml ok.
:-o
HASA
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por Kapiaba »

O Número 2, parece está no formoato correto como nos modelos da internet, o numero 1, está em formato incorreto.
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por HASA »

:-O

O formato que se refere é do tamanho do QRCode ?, se sim, mesmo que fosse o menor não seria o mesmo desenho de qrcode?

HASA
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por Kapiaba »

O Formato do segundo QRCODE, aparentemente, está 500 x 500 o seu se não me engano está 250 x 250, portanto, incorreto para o Leitor de QRCODE, não tenho certeza mas alguns Smartphones ou IPHONE, leem o QRCODE, tens ais para testar? Ou a escrita do QRCODE está errada, ou o TAMANHO(Formato) dele, está inválido, passe o LEITOR, que ele "Entrega". Abs.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

FUNÇÃO BITRSHIFT()

Mensagem por Kapiaba »

qrcodebg.jpg
Teste este Qrcode, para ver se o Leitor da Leitura:

Procure no Google por:

Aplicativos para Ler QR Codes no Android.

Escolha um seguro para não contaminar seu Smart/Iphone.

Abs
Responder