TranFUNC.prg
上传用户:caigouii
上传日期:2020-04-16
资源大小:8k
文件大小:2k
- STORE 0 TO nR,nG,nB
- ?COLORREFtoRGB(12632256,@nR,@nG,@nB)
- ?nR,nG,nB
- *!* 语法: NumToBYTE(nValue)
- *!* 参数: nValue为数值型值
- FUNCTION NumToBYTE
- LPARAMETERS tnVal
- RETURN CHR(MOD(tnVal,256))
- ENDFUNC
- *!* 语法: BYTEtoNum(cString)
- *!* 参数: cString为字符型值
- FUNCTION BYTEtoNum
- LPARAMETERS tcVal
- RETURN ASC(SUBSTR(tcVal, 1,1))
- ENDFUNC
- *!* 说明: 数值型转换为SHORT或WORD型值
- *!* 语法: NumToSHORT(nValue)
- *!* 参数: nValue为数值型值
- FUNCTION NumToSHORT
- LPARAMETERS tnVal
- RETURN CHR(MOD(tnVal,256))+;
- CHR(INT(tnVal/256))
- ENDFUNC
- *!* 说明: SHORT或WORD型转换为数值型
- *!* 语法: SHORTtoNum(cString)
- *!* 参数: cString为字符型值
- FUNCTION SHORTtoNum
- LPARAMETERS tcVal
- RETURN ASC(SUBSTR(tcVal,1,1)) + ;
- ASC(SUBSTR(tcVal,2,1)) * 256
- ENDFUNC
- *wait WINDOW LEN(NumToLONG(256))
- *!* 说明: 数值型转换为LONG或DWORD型值
- *!* 语法: NumToLONG(nValue)
- *!* 参数: nValue为数值型值
- FUNCTION NumToLONG
- LPARAMETERS tnVal
- #DEFINE m0 256
- #DEFINE m1 65536
- #DEFINE m2 16777216
- LOCAL b0, b1, b2, b3
- b3 = INT(tnVal/m2)
- b2 = INT((tnVal - b3*m2)/m1)
- b1 = INT((tnVal - b3*m2 - b2*m1)/m0)
- b0 = MOD(tnVal, m0)
- RETURN CHR(b0)+CHR(b1)+CHR(b2)+CHR(b3)
- ENDFUNC
- *!* 说明: LONG或DWORD型值转换为数值型
- *!* 语法: LONGtoNum(cString)
- *!* 参数: cString为字符型值
- FUNCTION LONGtoNum
- RETURN ASC(SUBSTR(tcVal, 1,1)) + ;
- ASC(SUBSTR(tcVal, 2,1)) * 256 +;
- ASC(SUBSTR(tcVal, 3,1)) * 65536 +;
- ASC(SUBSTR(tcVal, 4,1)) * 16777216
- ENDFUNC
- *!* 说明: 根据红、绿、蓝转换为颜色值,与
- *!* Visaul FoxPro的RGB( )函数等效
- *!* 语法: RGBToCOLORREF(nRed,nGreen,nBlue)
- *!* 参数: nRed、nGreen和nBlue为数值型值
- FUNCTION RGBToCOLORREF
- LPARAMETERS tnRed,tnGreen,tnBlue
- RETURN tnRed+tnGreen*256+tnBlue*256^2
- ENDFUNC
- *!* 说明: 根据颜色值转换为红、绿、蓝颜色分量
- *!* 语法: COLORREFtoRGB(nValue,@nRed,@nGreen,@nBlue)
- *!* 参数: nValue为数值型值
- FUNCTION COLORREFtoRGB
- LPARAMETERS tnVal,nRed,nGreen,nBlue
- nBlue=INT(tnVal/256^2)
- nGreen=INT(MOD(tnVal,256^2)/256)
- nRed=INT(MOD(MOD(tnVal,256^2),256))
- ENDFUNC