FUNCTION toBYTEA( cStr ) > >LOCAL i, j, cRes, nChr, cDig > >cRes = '' >FOR i=1 TO LEN(m.cStr) > nChr = ASC( SUBSTR( m.cStr, m.i,1)) > * The following four lines cna be removed if this can speed the conversion. > IF BETWEEN( nChr, 32,126 ) AND !INLIST( nChr,39,92) > cRes = m.cRes + SUBSTR( m.cStr, m.i,1) > LOOP > ENDIF > > cDig = '' > FOR j=1 TO 3 > cDig= CHR(ASC('0')+ m.nChr%8) + m.cDig > nChr = INT(m.nChr/8) > ENDFOR > cRes = m.cRes + '\\'+ m.cDig > ENDFOR >RETURN m.cRes >ENDFUNCAndrus,
FUNCTION toBYTEA( cStr ) PRIVATE i, cRes, cChr, nChr cRes = '' FOR i=1 TO LEN(m.cStr) STORE SUBSTR( m.cStr, m.i,1) TO cChr STORE ASC( m.cChr) TO nChr cRes = m.cRes + IIF(BETWEEN( m.nChr, 32,126 ) AND !INLIST( m.nChr,39,92); , m.cChr ; , '\\'+ CHR(48+ BITAND(m.nChr/64,7))+CHR(48+ BITAND(m.nChr/8,7))+CHR(48+ BITAND(m.nChr,7))) ENDFOR RETURN m.cRes ENDFUNCyour Vfp VERSION ?