【导语】“别熬夜别狗叫”通过精心收集,向本站投稿了4篇用API函数取色后,如何将其分成RGB颜色?数据库教程,以下是小编收集整理后的用API函数取色后,如何将其分成RGB颜色?数据库教程,希望对大家有所帮助。
- 目录
篇1:用API函数取色后,如何将其分成RGB颜色?数据库教程
函数
用API函数取色后,如何将其分成RGB颜色?
问题:
用API函数取色后,是一个10进制的数值,如何将其分成RGB颜色?
方法一:
用 HEX 函数将数值转换为 16 进制,然后,每两个切分一下就可以得到 RGB 数值了
Function C10ToRGB_1(lngColor As Long) As String
Dim strR As String
Dim strG As String
Dim strB As String
strR = lngColor Mod 256
strG = lngColor \\ 256 Mod 256
strB = lngColor \\ 256 \\ 256
C10ToRGB_1 = strR & “_” & strG & “_” & strB
End Function
Sub test1
Debug.Print C10ToRGB_1(33023)
Debug.Print RGB(255, 128, 0)
End Sub
方法二:
【转载】
如果要将VB的颜色转换为COLORREF,需要使用OleTranslateColor函数,例子:
Private Declare Function OleTranslateColor Lib “olepro32.dll” _
(ByVal OLE_COLOR As Long, _
ByVal HPALETTE As Long, _
pccolorref As Long) As Long
Private Sub GetRBGFromOLEColour(ByVal dwOleColour As Long, r As Long, g As Long, b As Long)
'pass a hex colour, return the rgb components
Dim clrref As Long
'translate OLE color to valid color if passed
OleTranslateColor dwOleColour, 0, clrref
b = (clrref \\ 65536) And &HFF
g = (clrref \\ 256) And &HFF
r = clrref And &HFF
Text1(0).Text = dwOleColour
Text1(1).Text = clrref
End Sub
更完整的例子参考:www.mvps.org/vbnet/?code/system/oletranslatecolor.htm
方法三:
用 HEX 函数将数值转换为 16 进制,然后,每两个切分一下就可以得到 RGB 数值了
Sub test1()
Debug.Print C10ToRGB(33023)
Debug.Print RGB(255, 128, 0)
End Sub
Function C10ToRGB(lngA As Long) As String
Dim strR As String
Dim strG As String
Dim strB As String
Dim strHEX As String
strHEX = Right(“00000” & Hex(lngA), 6)
'Debug.Print “B” & Mid(strHEX, 1, 2)
'Debug.Print “G” & Mid(strHEX, 3, 2)
'Debug.Print “R” & Mid(strHEX, 5, 2)
strB = C16To10(Mid(strHEX, 1, 2))
strG = C16To10(Mid(strHEX, 3, 2))
strR = C16To10(Mid(strHEX, 5, 2))
C10ToRGB = strR & “,” & strG & “,” & strB
'Debug.Print C10ToRGB
End Function
'以下函数将 16 进制数值转换为 10 进制数值
Private Function C16To10(strA As String) As Double
Dim a As Double
Dim b As String
Dim c As Double
Dim l As Integer
Dim i As Long
l = Len(strA)
For i = 1 To l
b = Mid(strA, i, 1)
Select Case b
Case “A”
b = 10
Case “B”
b = 11
Case “C”
b = 12
Case “D”
b = 13
Case “E”
b = 14
Case “F”
b = 15
End Select
c = c + b * 16 ^ (l - 1)
l = l - 1
Next
C16To10 = c
'Debug.Print C16To10
End Function
如何取色你可以参考本站
access911.net/index.asp?board=4&recordid=71FAB31E16DC
篇2:用SQL进行函数查询数据库教程
Oracle 9i提供了很多函数可以用来辅助数据查询,
用SQL进行函数查询数据库教程
。接下来我们介绍常用的函数功能及使用方法。4.5.1 【ceil】函数
在【命令编辑区】输入“select mgr, mgr/100,ceil(mgr/100) from scott.emp;”,然后单击【执行】按钮,出现如图4.29所示的结果。
【参见光盘文件】:\\第4章\\4.5\\451.sql。
【ceil】函数用法:ceil(n),取大于扔谑值n的最小整数。
4.5.2 【floor】函数
在【命令编辑区】输入“select mgr, mgr/100,floor(mgr/100) from scott.emp;”,然后单击【执行】按钮,出现如图4.30所示的结果。
【参见光盘文件】:\\第4章\\4.5\\452.sql。
【floor】函数用法:floor(n),取小于等于数值n的最大整数。
4.5.3 【mod】函数
在【命令编辑区】输入“select mgr, mod(mgr,1000), mod(mgr,100), mod(mgr,10) from scott.emp;”,然后单击【执行】按钮,出现如图4.31所示的结果。
【参见光盘文件】:\\第4章\\4.5\\453.sql。
【mod】函数用法:mod(m,n),取m整除n后的余数。
4.5.4 【power】函数
在【命令编辑区】输入“select mgr, power(mgr,2),power(mgr,3) from scott.emp;”,然后单击【执行】按钮,出现如图4.32所示的结果。
【参见光盘文件】:\\第4章\\4.5\\454.sql。
【power】函数用法:power(m,n),取m的n次方。
4.5.5 【round】函数
在【命令编辑区】输入“select mgr, round(mgr/100,2),round(mgr/1000,2) from scott.emp;”,然后单击【执行】按钮,出现如图4.33所示的结果。
【参见光盘文件】:\\第4章\\4.5\\455.sql。
【round】函数用法:round(m,n),四舍五入,保留n位。
4.5.6 【sign】函数
在【命令编辑区】输入“select mgr, mgr-7800,sign(mgr-7800) from scott.emp;”,然后单击【执行】按钮,出现如图4.34所示的结果,
【参见光盘文件】:\\第4章\\4.5\\456.sql。
【sign】函数用法:sign(n)。n>0,取1;n=0,取0;n<0,取-1。
4.5.7 【avg】函数
在【命令编辑区】输入“select avg(mgr)平均薪水 from scott.emp;”,然后单击【执行】按钮,出现如图4.35所示的结果。
【参见光盘文件】:\\第4章\\4.5\\457.sql。
【avg】函数用法:avg(字段名),求平均值。要求字段为数值型。
4.5.8 【count】函数
(1)在【命令编辑区】输入“select count(*) 记录总数 from scott.emp;”,然后单击【执行】按钮,出现如图4.36所示的结果。
【参见光盘文件】:\\第4章\\4.5\\458-1.sql。
(2)在【命令编辑区】输入“select count(distinct job ) 工作类别总数 from scott.emp;”,然后单击【执行】按钮,出现如图4.37所示的结果。
【参见光盘文件】:\\第4章\\4.5\\458-2.sql。
【count】函数用法:count(字段名)或count(*),统计总数。
4.5.9 【min】函数
在【命令编辑区】输入“select min(sal) 最少薪水 from scott.emp;”,然后单击【执行】按钮,出现如图4.38所示的结果。
【参见光盘文件】:\\第4章\\4.5\\459.sql。
【min】函数用法:min(字段名),计算数值型字段最小数。
4.5.10 【max】函数
在【命令编辑区】输入“select max(sal) 最高薪水 from scott.emp;”,然后单击【执行】按钮,出现如图4.39所示的结果。
【参见光盘文件】:\\第4章\\4.5\\4510.sql。
【max】函数用法:max(字段名),计算数值型字段最大数。
4.5.11 【sum】函数
在【命令编辑区】输入“select sum(sal) 薪水总和 from scott.emp;”,然后单击【执行】按钮,出现如图4.40所示的结果。
【参见光盘文件】:\\第4章\\4.5\\4511.sql。
【sum】函数用法:sum(字段名),计算数值型字段总和。
通过上面4类查询实例的学习,读者可以举一反三,灵活运用。用SQL进行数据的查询就介绍到这里,下面学习如何录入数据。
篇3:用函数格式化EXPLAIN PLAN数据库教程
EXPLAIN PLAN命令的输出结果是解决SQL效率低下问题的最重要的诊断工具之一,此命令加载一个工作表格(默认名称为PLAN_TABLE),表格中带有Oracle优化器为SQL语句计算的执行计划步骤。例如:
EXPLAIN PLAN FOR
SELECT empno, ename
FROM emp
WHERE ename LIKE 'S%';
由于PLAN_TABLE中的行形成了一个等级,对其进行查询需要应用SELECT语句中的两个复杂子语句――START WITH与CONNECT BY。第一次在Oracle 9i中出现并在10g中得到扩充的DBMS_XPLAN使格式化及显示执行计划更为容易。
DBMS_XPLAN.DISPLAY是一个表格标值函数,它显示PLAN_TABLE的内容。与常规的纯量函数SUBSTR或总计函数SUM不同的是,表格函数返回一个完整的行集合(rowset)。它们用在SELECT语句的FROM子语句中,前面必须加上TABLE这个词,
如:
SELECT *
FROM TABLE(DBMS_XPLAN.DISPLAY);
列表A显示的是上述EXPLAIN PLAN语句的结果,并由DBMS_XPLAN.DISPLAY格式化。
值得注意的是,DBMS_XPLAN还能从存储在系统全局区(System Global Area, SGA)内的指针显示“实时”执行计划。列表B显示的是由用户SCOTT执行的同一SQL语句。通过查看V$SESSION视图,你可以找到执行SCOTT任务的最后一个SQL ID。这反过来又可输入到DBMS_XPLAN.DISPLAY_CURSOR中,获得指针所使用的执行计划。
最后,DBMS_XPLAN.DISPLAY_AWR函数可用来查寻Oracle 10g的自动负荷信息库(Automatic Workload Repository, AWR)获得的历史SQL语句,并显示它的执行计划。它显示一个你可以访问的含七天历史记录的滚动窗口。
所有这三个函数都是协调SQL语句的强大工具。
Bob Watkins(OCP、MCDBA、MCSE、MCT)是一个有25年经验的计算机专业人士,从事过技术培训师、顾问与数据库管理员等职 。
篇4:用函数简化你的字符串连接语句数据库教程
'2004/07/27 朱彦志(goodidea)myad@yeah.net
'你是否非常讨厌 用 & 一大串的连接变量?
'你是否不得不经常使用“”与“”“” ?
'就好像这样:
'strFilter = strFilter & “ and [” & strFldname & “] like ”“” & strValue & “”“”
'
'strSql =“insert into tblpubStyle. (Class,Prop,Value,Type,[Set],memo,flag) values ('” & _
' ctl.ControlType & “','” & _
' prp.Name & “','” & _
' prp.Value & “','” & _
' prp.Type & “', ” & _
' 2 & “,” & _
' “' ', ” & _
' false “)”
'
'strCnn = “Provider=sqloledb;” & _
' “Data Source=” & strServerName & “;” & _
' “Initial Catalog=” & strDbname & “;” & _
' “User Id=” & strUid & “;” & _
' “Password=” & strPwd & “;”
'
'用它,gCombinationString,这个十分简单的函数,让冗长的代码更简洁,增强语句可读性
'以下是它的使用典型形式:
'strFilter = gCombinationString( “$1 and [$2] like ”“$3”“”,strFilter,strFldname,strValue)
'strCnn= gCombinationString(“Provider=sqloledb;Data Source=$1;Initial Catalog=$2;User Id=$3;Password=$4;”,_
' strServerName ,strDbname ,strUid, strPwd)
'参数个数不限,参数类型不限
' strSql = gCombinationString(“insert into tblpubStyle. (Class,Prop,Value,Type,[Set],memo,flag) ” & _
' “ values ('$1','$2','$3','$4',$5,$6)”, _
' ctl.ControlType, prp.Name, prp.Value, prp.Type, 2, False)
'
Const strCharPre = “$”
Dim varItem As Variant
Dim i As Integer
i = 0
For Each varItem In Para
i = i + 1
strText = VBA.Replace(strText, strCharPre & i, varItem)
strText = VBA.Replace(strText, strCharPre & “\\”, strCharPre)
Next
gCombinationString = strText
End Function
用API函数取色后,如何将其分成RGB颜色?数据库教程(精选4篇)




