|
Exemplo permite gerar um QRCODE colocando as informações criptografadas e lendo o arquivo bmp gerado e interpretar o conteudo usando os comandos nativos da função WLanguage.
//PARA GERAR QRCODE IF CBOX_Criptografar = True THEN BAC_Qrcode = Encode(EDT_Valor,encodeBASE64) ELSE BAC_Qrcode = EDT_Valor END
dSaveImageBMP(BAC_Qrcode,fCurrentDir()+fSep()+"QrcodeImagem.bmp")
IF fFileExist(fCurrentDir()+fSep()+"QrcodeImagem.bmp") = True THEN Info("Arquivo gerado com sucesso") END
//----------------------------------------------------------------------------------------------------------------------------
//LER QRCODE EDT_Img = fSelect("", "", "Select a file...", "All the files (*.*)" + TAB + "*.*", "*.*")
IMG_Qrcode = dLoadImage(EDT_Img,imgDefault)
//---------------------------------------------------------------------------------------------------------------------------
// Decode a QR Code from a Camera control s is Buffer s = dSaveImageBMP(IMG_Qrcode, inMemory) bc is BarCode bc = BCDecode(s) valor is string
IF CBOX_Descipt = True valor = Decode( bc.Content ,encodeBASE64) ELSE valor = bc.Content END
Info(valor)
//-------------------------------------------------------------------------------------------------------------------------------------------------------
// Abrir a galeria para selecionar o QR-Code // OPEN THE GALLERY TO PICK THE IMAGE (QR-CODE) QRCode is string = AlbumPicker(albumImage)
//Verificar se o caminho da imagem está vazio // CHECK IF THE PATH/IMAGE IS EMPTY IF QRCode = "" THEN ToastDisplay("Ocorreu um erro ao selecionar a imagem!", toastLong,vaMiddle,haCenter) RETURN END
// Decode a QR Code from a Image // DECODE QR-CODE INTO A BUFFER ImagemCarregada is Buffer
ImagemCarregada = dLoadImage(QRCode) IMG_test=ImagemCarregada // SHOW ON THE SCREEN THE RESULT OF dLoadImage
s is Buffer s = dSaveImagePNG(IMG_test, inMemory)
bc is BarCode bc = BCDecode(s)
//bc is BarCode //bc = BCDecode(ImagemCarregada)
IF ErrorOccurred() = True THEN Info(ErrorInfo(errMessage+Charact(13)+errFullDetails)) END
//Verificar se a imagem selecionada é um QR-Code // CHECK THE BARCODE TYPE IF bc..TypeBarCode <> BC_QRCODE THEN ToastDisplay("A imagem não tem o formato de um QR-code", toastLong,vaMiddle,haCenter) RETURN END
//Verificar se o conteúdo do QR-Code está vazio // CHECK IF THE DECODED CONTENT IS EMPTY IF bc..Content = "" THEN ToastDisplay("QR-Code sem conteúdo!", toastLong,vaMiddle,haCenter) RETURN END
gsQRconteudo is string = "" gsQRconteudo = bc.Content
TamanhoString is int = Length(gsQRconteudo)
EDT_NoName1=gsQRconteudo // SHOW THE RESULT ON THE RESPECTIVE FIELD
//--------------------------------------------------------- Ajuda feita pelo programador "José Willem" PodCast do Amarildo 14/01/2023 //---------------------------------------------------------
|
| |
| |
| Illustrations, copies d'écran |
|
| |
(Pour noter la ressource, cliquez sur Ecrire un avis) |
| |
pour pouvoir poster un avis |
| | |
| | |
Aucun avis ou commentaire ? Soyez le premier ! |
IMAGEM_BAR_CODE is Image
dCopyBlt(WIN_ColetaCodigos.BAC_BARCODE,IMAGEM_BAR_CODE)
ToastDisplay("IMAGEM COPIADA",toastLong,vaMiddle,haCenter)
IF dSaveImageJPEG(IMAGEM_BAR_CODE,fCurrentDir()+fSep()+"BARCODE.JPG") = True Info("SAVE "+fCurrentDir()+fSep()+"BARCODE.JPG") END |
| IMAGEM_QRCODE is Image
dCopyBlt(WIN_ColetaCodigos.BAC_QRCODE,IMAGEM_QRCODE)
ToastDisplay("IMAGEM COPIADA",toastLong,vaMiddle,haCenter)
IF dSaveImageJPEG(IMAGEM_QRCODE,fCurrentDir()+fSep()+"QRCODE.JPG") = True THEN Info("SAVE "+fCurrentDir()+fSep()+"QRCODE.JPG") END
Sound("beep-07a.wav",soundDefault)
Close() |
| dCopyBlt(BAC_BARCODE,IMG_DESTINO)
ToastDisplay("IMAGEM COPIADA",toastLong,vaMiddle,haCenter)
OU
dCopyBlt(IMG_ORIGEM, IMG_DESTINO)
ToastDisplay("IMAGEM COPIADA",toastLong,vaMiddle,haCenter) |
| Ao gerar um QR-Code, se o mesmo tiver dificuldade em ser interpretado, experimente usar este código:
O Decode da imagem teimava em não funcionar no celular. No entanto, se o QRCode, com o mesmo conteúdo, fosse gerado fora do Windev, funcionava TOP.
qr is BarCode qr..Content = EDT_qr qr..TypeBarCode = BC_QRCODE qr..CorrectionError = qrcodeLevelH qr..ContentType = bcTypeText (até à V27, apenas funciona no Windev)
Este código desenvolvido pelo Paulo Maia, ao qual agradeço imenso, pois resolveu definitivamente o meu problema |
| Solicitação desse exemplo do Jose Ferreira de Portugal |
| | |
|