TranFUNC.prg
上传用户:caigouii
上传日期:2020-04-16
资源大小:8k
文件大小:2k
源码类别:

其他数据库

开发平台:

VFP

  1. STORE 0 TO nR,nG,nB
  2. ?COLORREFtoRGB(12632256,@nR,@nG,@nB)
  3. ?nR,nG,nB
  4. *!* 语法: NumToBYTE(nValue)
  5. *!* 参数: nValue为数值型值
  6. FUNCTION NumToBYTE
  7.     LPARAMETERS tnVal
  8.     RETURN CHR(MOD(tnVal,256))
  9. ENDFUNC 
  10. *!* 语法: BYTEtoNum(cString)
  11. *!* 参数: cString为字符型值
  12. FUNCTION BYTEtoNum
  13.     LPARAMETERS tcVal
  14.     RETURN ASC(SUBSTR(tcVal, 1,1))
  15. ENDFUNC 
  16. *!* 说明: 数值型转换为SHORT或WORD型值
  17. *!* 语法: NumToSHORT(nValue)
  18. *!* 参数: nValue为数值型值
  19. FUNCTION NumToSHORT
  20.     LPARAMETERS tnVal
  21.     RETURN CHR(MOD(tnVal,256))+;
  22.         CHR(INT(tnVal/256))
  23. ENDFUNC 
  24. *!* 说明: SHORT或WORD型转换为数值型
  25. *!* 语法: SHORTtoNum(cString)
  26. *!* 参数: cString为字符型值
  27. FUNCTION SHORTtoNum
  28.     LPARAMETERS tcVal
  29.     RETURN ASC(SUBSTR(tcVal,1,1)) + ;
  30.         ASC(SUBSTR(tcVal,2,1)) * 256
  31. ENDFUNC 
  32. *wait WINDOW  LEN(NumToLONG(256))
  33. *!* 说明: 数值型转换为LONG或DWORD型值
  34. *!* 语法: NumToLONG(nValue)
  35. *!* 参数: nValue为数值型值
  36. FUNCTION NumToLONG
  37.     LPARAMETERS tnVal
  38.     #DEFINE m0 256
  39.     #DEFINE m1 65536
  40.     #DEFINE m2 16777216
  41.     LOCAL b0, b1, b2, b3
  42.     b3 = INT(tnVal/m2)
  43.     b2 = INT((tnVal - b3*m2)/m1)
  44.     b1 = INT((tnVal - b3*m2 - b2*m1)/m0)
  45.     b0 = MOD(tnVal, m0)
  46.     RETURN CHR(b0)+CHR(b1)+CHR(b2)+CHR(b3)
  47. ENDFUNC 
  48. *!* 说明: LONG或DWORD型值转换为数值型
  49. *!* 语法: LONGtoNum(cString)
  50. *!* 参数: cString为字符型值
  51. FUNCTION LONGtoNum
  52.     RETURN ASC(SUBSTR(tcVal, 1,1)) + ;
  53.         ASC(SUBSTR(tcVal, 2,1)) * 256 +;
  54.         ASC(SUBSTR(tcVal, 3,1)) * 65536 +;
  55.         ASC(SUBSTR(tcVal, 4,1)) * 16777216
  56. ENDFUNC 
  57. *!* 说明: 根据红、绿、蓝转换为颜色值,与
  58. *!* Visaul FoxPro的RGB( )函数等效
  59. *!* 语法: RGBToCOLORREF(nRed,nGreen,nBlue)
  60. *!* 参数: nRed、nGreen和nBlue为数值型值
  61. FUNCTION RGBToCOLORREF
  62.     LPARAMETERS tnRed,tnGreen,tnBlue
  63.     RETURN tnRed+tnGreen*256+tnBlue*256^2
  64. ENDFUNC 
  65. *!* 说明: 根据颜色值转换为红、绿、蓝颜色分量
  66. *!* 语法: COLORREFtoRGB(nValue,@nRed,@nGreen,@nBlue)
  67. *!* 参数: nValue为数值型值
  68. FUNCTION COLORREFtoRGB
  69.     LPARAMETERS tnVal,nRed,nGreen,nBlue
  70.     nBlue=INT(tnVal/256^2)
  71.     nGreen=INT(MOD(tnVal,256^2)/256)
  72.     nRed=INT(MOD(MOD(tnVal,256^2),256))
  73. ENDFUNC