Herramientas de usuario

Herramientas del sitio


informatica:base_de_datos:foxpro:foxpro_apuntes_varios

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,<<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:

  • 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

informatica/base_de_datos/foxpro/foxpro_apuntes_varios.txt · Última modificación: 2025/04/07 23:23 por admin