Page 2 of 2

Re: QR en portapapeles

Posted: Sat Feb 08, 2025 10:50 pm
by FiveWiDi
Antonio Linares wrote: Sat Feb 08, 2025 10:24 pm Le consulto a Rao, el implementó estas funciones
Perfecto,

Muchas gracias

Re: QR en portapapeles

Posted: Sun Feb 09, 2025 7:07 pm
by FiveWiDi
Hola,

De momento lo dejo así.
Me sirve, me lo deja en la medida que deseo (3,5cm), y me parece incluso que está bien que vea lo que va a copiar, y en vez de preguntarle si realmente lo quiere copiar, pues ha de pulsar un botón.

Copia el QR con un marco negro fino que no toca el QR en si, y que además no lo invalida, el móvil lo lee sin problemas.

De todas maneras si se arregla el bug mejor.

Seguimos,

/* ****************************************************************** */
LOCAL oDlg, hBmp
LOCAL cTxt4QR := ""
Local oBtn := Nil
Local oImg := Nil


cTxt4QR := VF_URL_QR( AMPAARRA, ;
AllTrim( cNIF ), ;
AllTrim( cVFCODFAC ), ;
dDataFact, ;
nImpoTota ;
)

hBmp := FW_BarCodeBmp( cTxt4QR, "QRCODE", 129, 129 )
hBmp := bmp2alpha( hBmp ) // *** Sin esta línea QRcode tiene un feo marco negro
// *** Siguiente línea hace la magia y guarda en el portapapeles, luego,
// *** puedes hacer PASTE (Ctrl+V) en Paint, PhotoShop, Word, etc., y recuperas tu código QR
// FW_CopyToClipboard(hBmp) // *** También genera marco negro al hacer paste.

DEFINE DIALOG oDlg TITLE Right( AllTrim( cVFCODFAC ), 10 ) SIZE 170,185 PIXEL TRUEPIXEL

@ 03,20 BUTTON oBtn PROMPT "Copy QR" OF oDlg PIXEL SIZE 80,25 ACTION ( oImg:CopytoClipBoard(.T.), oDlg:End() ) ;
MESSAGE GetTrad( "Còpia el QR al porta-retalls." )

@ 40,20 XIMAGE oImg SIZE -20,-15 OF oDlg /* PIXEL */ RESOURCE hBmp

//oImg:bPainted := {||oImg:CopytoClipBoard(.T.)} // *** Hace el paste correcto, sin el cuadro negro.

ACTIVATE DIALOG oDlg CENTERED

Re: QR en portapapeles

Posted: Sun Feb 09, 2025 10:31 pm
by Antonio Linares
Rao hay implementado una nueva función que proporcionaremos cuanto antes

Re: QR en portapapeles

Posted: Sun Feb 09, 2025 10:35 pm
by FiveWiDi
Antonio Linares wrote: Sun Feb 09, 2025 10:31 pm Rao hay implementado una nueva función que proporcionaremos cuanto antes
Dile que no corra, el resultado que he obtenido empieza a gustarme. :P

Por cierto, gracias Carlos Gallego, el mérito es suyo.

Pero si, se debe corregir.

Muchas gracias,