Página 2 de 4

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 11:06
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

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 11:32
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.

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 12:34
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

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 12:44
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 )

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 13:21
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

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 13:30
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.

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 15:56
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

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 15:57
por HASA
:( :-O

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

HASA

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 17:00
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.

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 17:36
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

FUNÇÃO BITRSHIFT()

Enviado: 24 Ago 2016 17:38
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

FUNÇÃO BITRSHIFT()

Enviado: 25 Ago 2016 09:56
por Kapiaba
O Número 2, parece está no formoato correto como nos modelos da internet, o numero 1, está em formato incorreto.

FUNÇÃO BITRSHIFT()

Enviado: 25 Ago 2016 10:17
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

FUNÇÃO BITRSHIFT()

Enviado: 25 Ago 2016 10:31
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.

FUNÇÃO BITRSHIFT()

Enviado: 25 Ago 2016 10:35
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