Владимир Максимов
08.07.02 12:21:25 |
|
То же самое можно организовать несколько проще, причем распространив это на любое поле типа Binary
получаемое от MS SQL (тип TimeStamp в VFP интерпретируется так же как и Binary(8) в тип Memo-binary)
*/---------------------------------------------------------
* Конвертация строки типа Binary в 16-ричный вид
* принятый в MS SQL
*/----------------------------------------------------------
FUNCTION Bin_Vfp2Sql
LPARAMETERS tcBinary
LOCAL laChar(16)
laChar[1]="0"
laChar[2]="1"
laChar[3]="2"
laChar[4]="3"
laChar[5]="4"
laChar[6]="5"
laChar[7]="6"
laChar[8]="7"
laChar[9]="8"
laChar[10]="9"
laChar[11]="A"
laChar[12]="B"
laChar[13]="C"
laChar[14]="D"
laChar[15]="E"
laChar[16]="F"
LOCAL lnI, lnOneChar, lcReturnValue
lcReturnValue = ""
FOR lnI=1 TO LEN(m.tcBinary)
lnOneChar = ASC(SubStr(m.tcBinary,m.lnI,1))
lcReturnValue = m.lcReturnValue + ;
laChar(INT(m.lnOneChar/16)+1)+;
laChar(MOD(m.lnOneChar,16)+1)
ENDFOR
IF LEN(m.lcReturnValue)>0
lcReturnValue = "0x"+m.lcReturnValue
ENDIF
RETURN (m.lcReturnValue)
|
|