===== Foxpro Apuntes varios =====
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"
====== Base64 Foxpro =====
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,<>" >< /a >
< /Body >
< /Head >
< /HTML >
ENDTEXT
loItem = otl.CreateItem(olMailItem)
loItem.To = "abc@abc.com"
loItem.Subject = "Foxite Test"
loItem.BodyFormat = 2 && olFormatHTML
loItem.HTMLBody =lcHtml
loItem.Display
* [[https://www.foxite.com/archives/image-to-base64-string-0000350041.htm]]
Codificar y Decodificar Base64 sin usar STRCONV:
* ToBase64( Img )
* FromBase64( Img )
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. )
* [[http://fox.wikis.com/wc.dll?Wiki~VfpBase64]]