SET DEFAULT TO "c:/test" create table prueba( nombre c(10), mascota c(10) ) append blank replace nombre WITH "billy", mascota WITH "perro" append blank replace nombre WITH "raul",; mascota WITH "canario" append blank replace nombre WITH "jose", mascota WITH "gato"
Usando STRCONV
lcImg=GETFILE("jpg")
lcVal=STRCONV((FILETOSTR(cimage)),13) && converting to Base64 &&
otl=CreateObject("Outlook.Application")
oNS=otl.GetNamespace("MAPI")
lcImg=GETFILE("jpg")
lcVal=STRCONV((FILETOSTR(cimage)),13) && converting to Base64 &&
Text TO lcHtml NOSHOW TextMerge
< HTML >
< Head >
< h1 > This is Header < /H1 >
< Body >
This is Body and Image is as follows
< a >< img src="data:image/jpg;base64,<<lcVal>>" >< /a >
< /Body >
< /Head >
< /HTML >
ENDTEXT
loItem = otl.CreateItem(olMailItem)
loItem.To = "[email protected]"
loItem.Subject = "Foxite Test"
loItem.BodyFormat = 2 && olFormatHTML
loItem.HTMLBody =lcHtml
loItem.Display
Codificar y Decodificar Base64 sin usar STRCONV:
DECLARE INTEGER CryptBinaryToString IN Crypt32; STRING @pbBinary, LONG cbBinary, LONG dwFlags,; STRING @pszString, LONG @pcchString DECLARE INTEGER CryptStringToBinary IN crypt32; STRING @pszString, LONG cchString, LONG dwFlags,; STRING @pbBinary, LONG @pcbBinary,; LONG pdwSkip, LONG pdwFlags FUNCTION ToBase64(cSrc) LOCAL nFlags, nBufsize, cDst nFlags=1 && base64 nBufsize=0 = CryptBinaryToString(@cSrc, LEN(cSrc),; m.nFlags, NULL, @nBufsize) cDst = REPLICATE(CHR(0), m.nBufsize) IF CryptBinaryToString(@cSrc, LEN(cSrc), m.nFlags,; @cDst, @nBufsize) = 0 RETURN "" ENDIF RETURN cDst FUNCTION FromBase64(cSrc) LOCAL nFlags, nBufsize, cDst nFlags=1 && base64 nBufsize=0 = CryptStringToBinary(@cSrc, LEN(m.cSrc),; nFlags, NULL, @nBufsize, 0,0) cDst = REPLICATE(CHR(0), m.nBufsize) IF CryptStringToBinary(@cSrc, LEN(m.cSrc),; nFlags, @cDst, @nBufsize, 0,0) = 0 RETURN "" ENDIF RETURN m.cDst
Lo ejecute:
DO c:\users\brondon\desktop\progr1.prg
lcImg=GETFILE("jpg")
STRTOFILE( ToBase64(FILETOSTR(lcImg)), "c:\base64.txt", .T. )