vb代码大全
VBA函数大全
返回参数的绝对值, 其类型和参数相同。
Array函数返回一个包含数组的Variant。
Asc函数返回一个Integer, 代表字符串中首字母的字符代码。
Atn函数返回一个Double, 指定一个数的反正切值。
CallByName函数执行一个对象的方法, 或者设置或返回一个对象的属性。
Choose函数从参数列表中选择并返回一个值。
Chr函数返回String, 其中包含有与指定的字符代码相关的字符。
返回一个Double, 指定一个角的余弦值。
CreateObject函数创建并返回一个对ActiveX对象的引用。
CurDir函数返回一个Variant(String), 用来代表当前的路径。
CVErr函数返回Error子类型的Variant, 其中包含指定的错误号。
Date函数返回包含系统日期的Variant(Date)。
DateAdd函数返回包含一个日期的Variant(Date), 这一日期还加上了一段时间间隔。
DateDiff函数返回Variant(Long)的值, 表示两个指定日期间的时间间隔数目。
DatePart函数返回一个包含已知日期的指定时间部分的Variant(Integer)。
DateSerial函数返回包含指定的年、月、日的Variant(Date)。
DateValue函数返回一个Variant(Date)。
Day函数返回一个Variant(Integer), 其值为1到31之间的整数, 表示一个月中的某一日。
DDB函数返回一个Double, 指定一笔资产在一特定期间内的折旧。
可使用双下落收复平衡方法或其它指定的方法进行计算。
Dir函数返回一个String, 用以表示一个文件名、目录名或文件夹名称, 它必须与指定的模式或文件属性、或磁盘卷标相匹配。
DoEvents函数转让控制权, 以便让操作系统处理其它的事件。
Environ函数返回String, 它关连于一个操作系统环境变量。
在Macintosh中不可用EOF函数返回一个Integer, 它包含Boolean值True, 表明已经到达为Random或顺序Input打开的文件的结尾。
VB命令大全
VB命令大全VB命令大全VB可用指令、函数索引表AAbs求绝对值ActiveControl得到焦点的对象ActiveForm得到焦点的表单Array指定数组App得知程序信息AppActivate激活执行中的应用程序Asc求字符的内码AscB求字符的ASCIIAscW求字符的UniCodeAtn求Tan-1BBeep发出预设的警示声CCall调用子程序Calendar选择月历Choose取出一列值的某个值CBool数值转成布尔数CByte数值转成位元格式CCur数值转成货币格式CDate数据转成时间CDbl数值转成双精度浮点数CDec数据转成十进数ChDir改变目前路径缓充的路径ChDrive 改变目前磁盘缓充的磁盘Chr由内码求得一字符ChrB由ASCII求得一字符ChrW由UniCode求得一字符CInt数据转成IntegerCLng数据转成LongCommand读出程序的参数Const定义常数Cos COSCSng数值转成单精度浮点数CurDir得知目前路径缓充的路径CVar数值转成可变变量DDate得到目前电脑的时间Date$得到目前电脑时间字符串DateAdd 日期加法得日期DateDiff日期相减得数值DatePart日期部份资讯DateSerial字符串转日期DateValue数字转日期Day得知日期变量内是几号DDB折旧的计算DeleteSetting删除系统登录内的数据得知目前路径内的文件名DoEvents 闲置函数EEnd结束程序Environ取得环境变量的数据EOF某个文件缓冲的指标是否到档尾Erase 重新初始化数组Err错误资讯Error错误代码信息全国注册建筑师、建造师考试备考资料历年真题考试心得模拟试题Exp得到自然对数FFix去除小数FileCopy T o复制文件FileAttr文件开启模式FileDateTime文件存档日期FileLen文件长度筛选数组Format数据格式化输出FreeFile空的文件编号FV求得定期、定额支付且固定利率下之年金的值G GetAllSetting得到所有系统登录的资讯GetAttr得知文件属性GetSetting得到系统登录的资讯HHex将数值转成16进数表示的字符串Hour得知日期变量内是几时IIf . Then . Else判断结构IMEStatus得知IME输入法状态InStr寻找字符串里的字符串寻找字符串里的ASCIIIntStrRev由字符串右边开始寻找字符串里的字符串Int取整数JJoin将数组数据加入分隔字符后组合成一新字符串K Kill删除文件LLBound得知数组最小起始范围LCase字符串转小写Left截取字符串左边几个字Len得知字符串的字数LenB得知变量占用记忆体几个ByteLoadPicture载入图形Log求对数值LSet字符串向左对齐移除字符串最左边的空白字符MMid截取字符串里某些字符串Minute得知日期变量内是几分MkDir建立新的数据颊Month得知日期变量内是第几月NName As更改文件名Now得知目前点脑的日期与时间OOct字符转成八进制的字符串Option VB内部一些选项设定PPopupMenu跳出菜单Print列印数据QQBColor设定颜色(16)RRandomize随机数初始化声明Replace取代字符串中某些字符串V B6提供RGB设定颜色(255*255*255色)RmDir移除数据颊Rnd得到一个随机数RSet字符串向右对齐RTrim去除字符串最右边的空白字符S SavePicture储存图形Screen得知屏幕简易资讯Second得知日期变量内是几秒SetAttr设定文件属性得知是整数还是负数vShell执行外部程序Sin得知SinSpace填入数个空白字符Split以某字符串将字符串拆解成数组V B6 提供Sqr求平方根Str数值转字符串StrComp比较字符串StrConv改变字符串型态String设定一个重覆的字符串StrReverse字符串反转VB6提供TTab列印n个制表符Tan得知TanTime得知、设定电脑时间Time$得知、设定时间字符串Timer得知今天电脑总秒数TimeSerial字符串转时间TimeValue数字转时间Trim去除字符串首尾的空白字符TypeName 得知变量类别的名称UUBound得知数组的最值UCase字符串转大写VVal将字符串转成数字VarType得知变量的类型WWeekDay得知日期变量内是星期几WeekdayName将WeekDay传回值改成文字显示VB6提供YYear得知日期变量内是几年。
VB代码大全
隐藏form1:form1.hide显示form1:form1.show--------------------------------------------------------------------------------------------- 退出程序时,弹出窗口提示是否要退出:Private Sub Form_Unload(Cancel As Integer)Dim iAnswer As IntegeriAnswer = MsgBox("真要退出吗?", vbYesNo)If iAnswer = vbNo ThenCancel = TrueElseEndEnd IfEnd Sub---------------------------------------------------------------------------------------------- 只能用任务管理器关闭程序的代码:Private Sub From_Unload(Cancel As Integer)Cancel = trueEnd Sub------------------------------------------------------------------------------------------------ 点击command1打开33IQ网:Dim strURLPrivate Sub Command1_Click()strURL = "错误!超链接引用无效。
Shell "explorer.exe " & strURL, 1End Sub------------------------------------------------------------------------------------------------ 运行c:\1.exeshell "c:\1.exe"执行c:\1.batshell "c:\1.bat"注:只适用于大部分exe和全部bat。
vb编程代码大全
vb编程代码大全Visual Basic (VB) 是一种广泛用于软件开发的高级编程语言,可以用于开发 Windows 应用程序、Web 应用程序、数据库应用程序等。
在本文中,将介绍一些常用的 VB 编程代码,帮助初学者快速入门和提高编程水平。
一、基本数据类型1. 整型数据在 VB 中,整型数据可以使用 Integer 类型表示,范围为 -32,768 到32,767。
定义整型变量的代码如下:```Dim num As Integernum = 10```2. 浮点数据浮点数据可以使用 Single 或 Double 类型表示,分别表示单精度浮点数和双精度浮点数。
定义浮点变量的代码如下:```Dim num As Singlenum = 3.143. 字符串数据字符串数据可以使用 String 类型表示,可以存储文本数据。
定义字符串变量的代码如下:```Dim str As Stringstr = "Hello, World!"```二、控制流程1. If...Then...Else 语句If...Then...Else 语句用于根据条件执行不同的代码块。
例如:```Dim num As Integernum = 10If num > 0 ThenMsgBox("Num is positive.")ElseMsgBox("Num is negative.")End If2. For 循环For 循环用于重复执行一段代码。
例如:```For i = 1 To 10MsgBox(i)Next i```3. Do While 循环Do While 循环在满足条件时执行代码块。
例如:```Dim i As Integeri = 1Do While i <= 10MsgBox(i)i = i + 1Loop```三、数组1. 一维数组一维数组在 VB 中用于存储相同类型的多个元素。
vb编程代码大全.ea
vb编程代码大全型函数:abs(num): 返回绝对值sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负hex(num): 返回十六进制值直接表示:&Hxx 最大8位oct(num): 返回八进制值直接表示:&Oxx 最大8位sqr(num): 返回平方根num>0int(num): 取整int(99.8)=99; int(-99.2)=100fix(num): 取整fix(99.8)=99; fix(-99.2)=99log(num): 取以e为底的对数num>0exp(n): 取e的n次幂通常用num^nsin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num)2.字符串函数:len(str):计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串left(str,nlen):从左边起截取nlen长度子字符串right(str,nlen):从右边起截取nlen长度子字符串Lcase(str):字符串转成小写Ucase(str):字符串转成大写trim(str):去除字符串两端空格Ltrim(str):去除字符串左侧空格Rtrim(str):去除字符串右侧空格replace(str,查找字符串,替代字符串,[起始字符,替代次数,比拟方法]):替换字符串注:默认值:起始字符1;替代次数不限;比拟方法区分大小写〔0〕InStr([起始字符,]str,查找字符串[,比拟方法]):检测是否包含子字符串可选参数需同时选返回起始位置InStrRev(str,查找字符串[,起始字符][,比拟方法]):反向检测是否包含子字符串返回起始位置space(n):构造n个空格的字符串string(n,str):构造由n个str第一个字符组成的字符串StrReverse(str):反转字符串split(str,分割字符串[,次数][,比拟方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选3.数据类型转换函数:Cint(str):转换正数True -1;False 0;日期距离1899/12/31天数;时间上午段0;下午段1;Cstr(str):日期输出格式yyyy/mm/dd;时间输出格式Am/Pm hh:mm:ssClng(str):与Cin()类似Cbool(num):num不为零True;反之FalseCdate(str):转换日期格式0:#Am 12:00:00#;正数距离1899/12/31天数的日期;浮点数日期+小数时间Cbyte(num):num<255 转换为字节Csng(str):转换为单精度数值Cdbl(str):转换为双精度数值Ccur(str):转换为现金格式4.时间函数:date:取系统当前日期time:取系统当前时间now:取系统当前时间及日期值Datetime类型timer:取当前时间距离零点秒值,计时器,可计算时间差DateAdd(间隔单位,间隔值,日期):推算相邻日期DateDiff(间隔单位,日期一,日期二):计算时间差日期二-日期一Datepart(间隔单位,日期):计算日期的间隔单位值Dateserial(date):输出日期值〔按序列计算〕Timeserial(time):输出时间值〔按序列计算〕Datevalue(datetime):取出字符串中日期值Timevalue(datetime):取出字符串中时间值weekday(date):计算星期几MonthName(date):输出月分名year(datetime):截取年份month(datetime):截取月份day(datetime):截取日hour(datetime):截取小时minute(datetime):截取分钟second(datetime):截取秒5.其它函数:Array(unit,..):动态生成数组Asc(str):输出字符串第一个字符的ASCII码Chr(asc):转换ASCII为字符Enter:Chr(13)&Chr(10)Filter(数组名称,关键字符串,[,包含][,比拟方法]):将字符串数组中含有关键字符串的元素存成新的数组〔默认〕[包含]为false那么取不包含的元素oin(ArrayName):将数组中元素连成字符串Ubound(ArrayName[,维数]):取得数组相应维数的上界Lbound(ArrayName[,维数]):取得数组相应维数的下界一般为0Randmize n:启动随机数种子Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件〔B>A〕子程序和自定义函数Sub StrSubName Function StrFunName(arg[1],..)子程序体函数体Exit Sub 中途跳出Exit Function 中途跳出End Sub StrFunName=value 返回值End Function[call] StrSubName 引用子程序Var=StrFunName(arg[1],..) 引用函数。
vb常用代码大全
移动无标题栏的窗体dim m(borderstyle=none)ouseX as integerdim mouseY as integerdim moveX as integerdim moveY as integerdim down as booleanform_mousedown: 'mousedown事件down=truemouseX=xmouseY=yform_mouseup: 'mouseup事件down=falseform_mousemoveif down=true thenmoveX=me。
left—mouseX+XmoveY=me.top-mouseY+Yme.move moveX,moveYend if*******************************************闪烁控件比如要闪烁一个label(标签)添加一个时钟控件间隔请根据实际需要设置 enabled属性设为true代码为:label1.visible=not label1.visible *******************************************禁止使用 Alt+F4 关闭窗口Private Declare Function DeleteMenu Lib ”user32"(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Lon g) As LongPrivate Declare Function GetMenuItemC ount Lib ”user32” (ByVal hMenu As Long) As LongPrivate Const MF_BYPOSITION = &H400&Private Sub Form_Load()Dim hwndMenu As LongDim c As LonghwndMenu = GetSystemMenu(Me。
代码大全VBS格式
verybat=split("dear ,friends ,~, nice ,to ,meet ,you ,i ,am ,so ,sorry ,that ,i ,controled ,your ,computer, without ,you ,allowing,~,please ,excuse ,me ,i ,want ,to ,say ,to ,you ,today,~,my ,friends ,so ,even ,through ,we ,face ,the ,difficulties ,of ,today ,and ,tomorrow,~,still ,have ,a ,dream ,it ,is ,a ,dream ,deeply ,rooted ,in ,our ,common ,dreams ,~,Maybe ,it's ,true ,that ,we ,do ,not ,know ,what ,we ,have ,got ,until ,we ,lose ,it,~,but ,it ,is ,also ,true ,that ,we ,do ,not ,know ,what ,we ,have ,been ,missing ,until ,it ,arrives ,.see ,you ,later ,~,with ,the ,best ,wishes,~, yours,~, lhj",",")
msgbox "你SB啊!"
else
msgbox "还不承认!! 作为惩罚,蓝屏一下,你马上挂了#¥!@#¥%@……#……?",64,"严重警告!!!!!!!!!"
vb编程代码大全
vb编程代码大全1、数值型函数:abs(num): 返回绝对值sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负hex(num): 返回十六进制值直接表示:&Hxx 最大8位oct(num): 返回八进制值直接表示:&Oxx 最大8位sqr(num): 返回平方根num>0int(num): 取整int(99、8)=99; int(-99、2)=100fix(num): 取整fix(99、8)=99; fix(-99、2)=99round(num,n): 四舍五入取小数位round(3、14159,3)=3、142 中点数值四舍五入为近偶取整round(3、25,1)=3、2log(num): 取以e为底的对数num>0exp(n): 取e的n次幂通常用num^nsin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num)2、字符串函数:len(str):计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串left(str,nlen):从左边起截取nlen长度子字符串right(str,nlen):从右边起截取nlen长度子字符串Lcase(str):字符串转成小写Ucase(str):字符串转成大写trim(str):去除字符串两端空格Ltrim(str):去除字符串左侧空格Rtrim(str):去除字符串右侧空格replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0)InStr([起始字符,]str,查找字符串[,比较方法]):检测就是否包含子字符串可选参数需同时选返回起始位置InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测就是否包含子字符串返回起始位置space(n):构造n个空格的字符串string(n,str):构造由n个str第一个字符组成的字符串StrReverse(str):反转字符串split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选3、数据类型转换函数:Cint(str):转换正数True -1;False 0;日期距离1899/12/31天数;时间上午段0;下午段1; Cstr(str):日期输出格式yyyy/mm/dd;时间输出格式Am/Pm hh:mm:ssClng(str):与Cin()类似Cbool(num):num不为零True;反之FalseCdate(str):转换日期格式0:#Am 12:00:00#;正数距离1899/12/31天数的日期;浮点数日期+小数时间Cbyte(num):num<255 转换为字节Csng(str):转换为单精度数值Cdbl(str):转换为双精度数值Ccur(str):转换为现金格式4、时间函数:date:取系统当前日期time:取系统当前时间now:取系统当前时间及日期值Datetime类型timer:取当前时间距离零点秒值,计时器,可计算时间差DateAdd(间隔单位,间隔值,日期):推算相邻日期DateDiff(间隔单位,日期一,日期二):计算时间差日期二-日期一Datepart(间隔单位,日期):计算日期的间隔单位值Dateserial(date):输出日期值(按序列计算)Timeserial(time):输出时间值(按序列计算)Datevalue(datetime):取出字符串中日期值Timevalue(datetime):取出字符串中时间值weekday(date):计算星期几MonthName(date):输出月分名year(datetime):截取年份month(datetime):截取月份day(datetime):截取日hour(datetime):截取小时minute(datetime):截取分钟second(datetime):截取秒5、其它函数:Array(unit,、、):动态生成数组Asc(str):输出字符串第一个字符的ASCII码Chr(asc):转换ASCII为字符Enter:Chr(13)&Chr(10)Filter(数组名称,关键字符串,[,包含][,比较方法]):将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素oin(ArrayName):将数组中元素连成字符串Ubound(ArrayName[,维数]):取得数组相应维数的上界Lbound(ArrayName[,维数]):取得数组相应维数的下界一般为0Randmize n:启动随机数种子Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数取介于A与B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件(B>A)子程序与自定义函数Sub StrSubName Function StrFunName(arg[1],、、)子程序体函数体Exit Sub 中途跳出Exit Function 中途跳出End Sub StrFunName=value 返回值End Function[call] StrSubName 引用子程序Var=StrFunName(arg[1],、、) 引用函数。
vb编程代码大全
vb 编程代码大全1.数值:abs(num): 返回sgn(num): num>0 1; num=0 0; num<0 -1; 判断数值正负hex(num): 返回值直接表示:&Hxx 最大8 位oct(num): 返回值直接表示:&Oxx 最大8 位sqr(num): 返回num>0int(num): 取整int=99; int=100fix(num): 取整fix=99; fix=99round(num,n): 四舍五入取小数位round,3)= 中点数值四舍五入为近偶取整round,1)=log(num): 取以e 为底的num>0exp(n):取e的n次幕通常用num A nsin(num):,以为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num) len(str) :计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串left(str,nlen) :从左边起截取nlen 长度子字符串right(str,nlen) :从右边起截取nlen 长度子字符串Lcase(str):字符串转成小写Ucase(str):字符串转成trim(str) :去除字符串两端空格Ltrim(str) :去除字符串左侧空格Rtrim(str) :去除字符串右侧空格replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串注:默认值:起始字符1;替代次数不限;比较方法区分大小写( 0)InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置space(n):构造n个空格的字符串string(n,str):构造由n个str第一个字符组成的字符串StrReverse(str):反转字符串split(str,字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符可选参数需同时选转换函数:Cint(str) :转换正数True -1;False 0;日期距离1899/12/31 天数;时间上午段0;下午段1;Cstr(str):日期yyyy/mm/dd ;时间输出格式Am/Pm hh:mm:ssClng(str):与Cin()类似Cbool(num): num 不为零True;反之FalseCdate(str):转换日期格式0: #Am 12:00:00# ;正数距离1899/12/31天数的日期;日期+小数时间Cbyte(num) : num<255 转换为字节Csng(str):转换为数值Cdbl(str):转换为数值Ccur(str):转换为现金格式4.时间函数:date :取系统当前日期time :取系统当前时间now:取系统当前时间及日期值Datetime类型timer :取当前时间距离零点秒值,,可计算时间差DateAdd(间隔单位侗隔值,日期):推算相邻日期DateDiff(间隔单位,日期一,日期二):计算时间差日期二-日期一Datepart(间隔单位,日期):计算日期的间隔单位值Dateserial(date) :输出日期值(按序列计算)Timeserial(time) :输出时间值(按序列计算)Datevalue(datetime) :取出字符串中日期值Timevalue(datetime) :取出字符串中时间值weekday(date) :计算星期几MonthName(date) :输出月分名year(datetime) :截取年份month(datetime) :截取月份day(datetime) :截取日hour(datetime) :截取小时minute(datetime) :截取分钟second(datetime) :截取秒5.其它函数:Array(unit,..) :动态生成数组Asc(str):输出字符串第一个字符的ASCII码Chr(asc):转换ASCII为字符Enter:Chr(13)&Chr(10)Filter(数组名称,关键字符串,[,包含][,比较方法]):将字符串数组中含有关键字符串的元素存成新的数组(默认)[包含]为false 则取不包含的oin(ArrayName):将数组中元素字符串Ubound(ArrayName[, 维数]):取得数组相应维数的上界Lbound(ArrayName[, 维数]):取得数组相应维数的下界一般为0Ran dmize n:启动Rnd(n):取得,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A)条件(B>A)子程序和自定义函数Sub StrSubName Function StrFunName(arg[1],..)子程序体函数体Exit Sub 中途跳出Exit Function 中途跳出End Sub StrFunName= value 返回值End Function引用函数[call] StrSubName 引用子程序Var=StrFunName(arg[1],..)。
VB编程常用代码大全(精品)
VB编程常用代码大全VB编程常用代码大全1.数值型函数:abs(num):返回绝对值sgn(num): num>01; num=0 0; num<0 -1;判断数值正负hex(num):返回十六进制值直接表示:&Hxx 最大8位oct(num): 返回八进制值直接表示:&Oxx 最大8位sqr(num): 返回平方根num>0int(num): 取整 int(99.8)=99; int(-99.2)=100 fix(num): 取整fix(99.8)=99; fix(-99.2)=99 round(num,n):四舍五入取小数位round(3.14159,3)=3.142中点数值四舍五入为近偶取整 round(3.25,1)=3.2log(num): 取以e为底的对数 num>0exp(n): 取e的n次幂通常用 num^nsin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num)2.字符串函数:len(str):计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串left(str,nlen):从左边起截取nlen长度子字符串right(str,nlen):从右边起截取nlen长度子字符串Lcase(str):字符串转成小写Ucase(str):字符串转成大写trim(str):去除字符串两端空格Ltrim(str):去除字符串左侧空格Rtrim(str):去除字符串右侧空格replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串注:默认值:起始字符 1;替代次数不限;比较方法区分大小写(0)InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置space(n):构造n个空格的字符串string(n,str):构造由n个str第一个字符组成的字符串StrReverse(str):反转字符串split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选3.数据类型转换函数:Cint(str):转换正数 True -1;False 0;日期距离1899/12/31天数;时间上午段0;下午段 1;Cstr(str):日期输出格式yyyy/mm/dd;时间输出格式 Am/Pm hh:mm:ssClng(str):与Cin()类似Cbool(num):num不为零 True;反之 FalseCdate(str):转换日期格式0:#Am 12:00:00#;正数距离1899/12/31天数的日期;浮点数日期+小数时间Cbyte(num):num<255 转换为字节Csng(str):转换为单精度数值Cdbl(str):转换为双精度数值Ccur(str):转换为现金格式4.时间函数:date:取系统当前日期time:取系统当前时间now:取系统当前时间及日期值Datetime类型timer:取当前时间距离零点秒值,计时器,可计算时间差DateAdd(间隔单位,间隔值,日期):推算相邻日期DateDiff(间隔单位,日期一,日期二):计算时间差日期二-日期一Datepart(间隔单位,日期):计算日期的间隔单位值Dateserial(date):输出日期值(按序列计算)Timeserial(time):输出时间值(按序列计算)Datevalue(datetime):取出字符串中日期值Timevalue(datetime):取出字符串中时间值weekday(date):计算星期几MonthName(date):输出月分名year(datetime):截取年份month(datetime):截取月份day(datetime):截取日hour(datetime):截取小时minute(datetime):截取分钟second(datetime):截取秒5.其它函数:Array(unit,..):动态生成数组Asc(str):输出字符串第一个字符的ASCII码Chr(asc):转换ASCII为字符 Enter:Chr(13)&Chr(10) Filter(数组名称,关键字符串,[,包含][,比较方法]):将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素oin(ArrayName):将数组中元素连成字符串Ubound(ArrayName[,维数]):取得数组相应维数的上界Lbound(ArrayName[,维数]):取得数组相应维数的下界一般为0Randmize n:启动随机数种子Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件(B>A)子程序和自定义函数Sub StrSubName Function StrFunName(arg[1],..)子程序体函数体Exit Sub 中途跳出 Exit Function 中途跳出End Sub StrFunName=value 返回值End Function[call] StrSubName 引用子程序Var=StrFunName(arg[1],..) 引用函数...内容来自网络 ...。
VB代码大全
<?xml version="1.0" encoding="UTF-8" ?>-<rss xmlns:taxo="/rss/1.0/modules/taxonomy/"xmlns:rdf="/1999/02/22-rdf-syntax-ns#"xmlns:dc="/dc/elements/1.1/" version="2.0">-<channel><title>VB代码大全</title><link>fcode</link><description>在这里我们一起学习VB.交流VB文章,VB源程序,VB书籍,VBA代码.</description><managingEditor>lx930</managingEditor><dc:creator>lx930</dc:creator>-<item><title>Excel、Access、VB的结合应用</title><link>/diary,2598801.shtml</link><description><P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 9pt; COLOR: #454545; FONT-FAMILY: 宋体;mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Arial">微软公司的</SPAN><SPANlang=EN-US style="FONT-SIZE: 9pt; COLOR: #454545;mso-bidi-font-family: Arial"><FONT face="Times NewRoman">Office</FONT></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #454545; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman';mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Arial">系列办公软件相信已是众所周知,其中</SPAN><SPAN lang=EN-USstyle="FONT-SIZE: 9pt; COLOR: #454545; mso-bidi-font-family:Arial"><FONT face="Times NewRoman">Excel</FONT></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #454545; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman';mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Arial">强大的统计制表功能、</SPAN><SPAN lang=EN-US style="FONT-SIZE: 9pt;COLOR: #454545; mso-bidi-font-family: Arial"><FONT face="Times New Roman">Access</FONT></SPAN><SPAN style="FONT-SIZE: 9pt;COLOR: #454545; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: Arial">功能完备的数据处理能力深受众多用户所喜爱。
vb代码大全
'贪吃蛇游戏全代码,创建个新工程直接复制到代码编辑窗口就行'按F5看看效果如何'要Exe文件,就点文件->生成工程1.exeOption ExplicitPrivate WithEvents Timer1 As TimerPrivate WithEvents Label1 As LabelDim GFangXiang As BooleanDim HWB As SingleDim She() As ShenTiDim X As Long, Y As LongDim ZhuangTai(23, 23) As LongPrivate Type ShenTiF As LongX As LongY As LongEnd TypePrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Dim C As LongIf KeyCode = 27 Then EndIf KeyCode = 32 ThenIf Timer1.Enabled = True ThenTimer1.Enabled = FalseLabel1.Visible = TrueElseTimer1.Enabled = TrueLabel1.Visible = FalseEnd IfEnd IfC = UBound(She)If GFangXiang = True Then Exit Sub Select Case KeyCodeCase 37If She(C).F = 2 Then Exit SubShe(C).F = 0GFangXiang = TrueCase 38If She(C).F = 3 Then Exit SubShe(C).F = 1GFangXiang = TrueCase 39If She(C).F = 0 Then Exit SubShe(C).F = 2GFangXiang = TrueCase 40If She(C).F = 1 Then Exit SubShe(C).F = 3GFangXiang = TrueEnd SelectEnd SubPrivate Sub Form_Load()Me.AutoRedraw = TrueMe.BackColor = &HC000&Me.FillColor = 255Me.FillStyle = 0Me.ScaleWidth = 24Me.ScaleHeight = 24Me.WindowState = 2Set Timer1 = Controls.Add("VB.Timer", "Timer1")Set Label1 = Controls.Add("bel", "Label1")Label1.AutoSize = TrueLabel1.BackStyle = 0Label1 = "暂停"Label1.ForeColor = RGB(255, 255, 0)Label1.FontSize = 50ChuShiHuaEnd SubPrivate Sub Form_Resize()On Error GoTo 1:With MeIf .WindowState <> 1 Then.Cls.ScaleMode = 3HWB = .ScaleHeight / .ScaleWidth.ScaleWidth = 24.ScaleHeight = 24Label1.Move (Me.ScaleWidth - Label1.Width) / 2, (Me.ScaleHeight - Label1.Height) / 2 HuaTuMe.Line (X, Y)-(X + 1, Y + 1), RGB(255, 255, 0), BFEnd IfEnd With1:End SubPrivate Sub Timer1_Timer()Dim C As Long, I As LongOn Error GoTo 2:QingChuC = UBound(She)Select Case She(C).FCase 0If ZhuangTai(She(C).X - 1, She(C).Y) = 2 ThenC = C + 1ReDim Preserve She(C)She(C).F = She(C - 1).FShe(C).X = She(C - 1).X - 1She(C).Y = She(C - 1).YChanShengShiWuGoTo 1:ElseIf ZhuangTai(She(C).X - 1, She(C).Y) = 1 Then GoTo 2:End IfCase 1If ZhuangTai(She(C).X, She(C).Y - 1) = 2 ThenC = C + 1ReDim Preserve She(C)She(C).F = She(C - 1).FShe(C).X = She(C - 1).XShe(C).Y = She(C - 1).Y - 1ChanShengShiWuGoTo 1:ElseIf ZhuangTai(She(C).X, She(C).Y - 1) = 1 Then GoTo 2:Case 2If ZhuangTai(She(C).X + 1, She(C).Y) = 2 ThenC = C + 1ReDim Preserve She(C)She(C).F = She(C - 1).FShe(C).X = She(C - 1).X + 1She(C).Y = She(C - 1).YChanShengShiWuGoTo 1:ElseIf ZhuangTai(She(C).X + 1, She(C).Y) = 1 Then GoTo 2:End IfCase 3If ZhuangTai(She(C).X, She(C).Y + 1) = 2 ThenC = C + 1ReDim Preserve She(C)She(C).F = She(C - 1).FShe(C).X = She(C - 1).XShe(C).Y = She(C - 1).Y + 1ChanShengShiWuGoTo 1:ElseIf ZhuangTai(She(C).X, She(C).Y + 1) = 1 Then GoTo 2:End IfEnd SelectZhuangTai(She(0).X, She(0).Y) = 0For I = 0 To CSelect Case She(I).FShe(I).X = She(I).X - 1Case 1She(I).Y = She(I).Y - 1Case 2She(I).X = She(I).X + 1Case 3She(I).Y = She(I).Y + 1End SelectNextTiaoZheng1:GFangXiang = FalseZhuangTai(She(C).X, She(C).Y) = 1HuaTuExit Sub2:If MsgBox("游戏结束,点“是”重新开始游戏,点“否”", vbYesNo, "贪吃蛇") = vbYes Then ChuShiHuaElseEndEnd IfEnd SubPrivate Sub ChuShiHua()Me.ClsTimer1.Enabled = TrueTimer1.Interval = 200Erase ZhuangTaiReDim She(2)She(0).F = 2She(0).X = 9She(0).Y = 11ZhuangTai(9, 11) = 1She(1).F = 2She(1).X = 10She(1).Y = 11ZhuangTai(10, 11) = 1She(2).F = 2She(2).X = 11She(2).Y = 11ZhuangTai(11, 11) = 1HuaTuChanShengShiWuEnd SubPrivate Sub QingChu()Dim I As LongFor I = 0 To UBound(She)Me.Line (She(I).X, She(I).Y)-(She(I).X + 1, She(I).Y + 1), Me.BackColor, BF NextEnd SubPrivate Sub HuaTu()Dim I As LongFor I = 0 To UBound(She)Me.Circle (She(I).X + 0.5, She(I).Y + 0.5), 0.49, RGB(255, 255, 0), , , HWB NextEnd SubPrivate Sub TiaoZheng()Dim I As LongFor I = 0 To UBound(She) - 1She(I).F = She(I + 1).FNextEnd SubPrivate Sub ChanShengShiWu()Randomize Timer1:X = Int(Rnd * 24)Y = Int(Rnd * 24)If ZhuangTai(X, Y) > 0 Then GoT o 1:ZhuangTai(X, Y) = 2Me.Line (X, Y)-(X + 1, Y + 1), RGB(255, 255, 0), BF End Sub。
VB里关于复制、粘贴的代码
Private Sub Copy_Click()Clipboard.SetText Text1.SelTextPaste.Enabled = TrueEnd SubPrivate Sub Cut_Click()Clipboard.SetText Text1.SelTextText1.SelText = ""End SubPrivate Sub Paste_Click()Text1.SelText = Clipboard.GetTextEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComCtlLib.Button) On Error Resume NextSelect Case Button.KeyCase "新建"new_Click '应做:添加'新建' 按钮代码。
Case "保存"save_ClickCase "复制"Copy_ClickCase "剪切"Cut_ClickCase "粘贴"Paste_ClickCase "粗体"Text1.FontBold = True '应做:添加'粗体' 按钮代码。
Case "斜体"Text1.FontItalic = True '应做:添加'斜体' 按钮代码。
Case "下划线"Text1.FontUnderline = True '应做:添加'下划线' 按钮代码。
End SelectEnd SubPrivate Sub BackColor_Click()Cmd.Action = 3Text1.BackColor = Cmd.ColorEnd SubPrivate Sub end_Click()EndEnd SubPrivate Sub ForeColor_Click()Cmd.Action = 3Text1.ForeColor = Cmd.ColorEnd SubPrivate Sub HT_Click()Text1.FontName = "黑体"End SubPrivate Sub JRead_Click()JRead.Checked = TrueEnd SubPrivate Sub KS_Click()Text1.FontName = "楷体_GB2312"End SubPrivate Sub LS_Click()Text1.FontName = "隶书"End SubPrivate Sub new_Click()Text1.Text = ""End SubPrivate Sub save_Click()Cmd.Filter = "文本文件(*.txt)|*.txt|源程序(*.asm)|*.asm|所有文件|*.*|"Cmd.ShowSaveIf Cmd.FileName = "" ThenExit SubEnd IfOpen Cmd.FileName For Output As #1Print #1, Text1.TextClose #1End SubPrivate Sub SaveAs_Click()Cmd.Filter = "文本文件(*.txt)|*.txt|源程序(*.asm)|*.asm|所有文件|*.*|"Cmd.ShowSaveIf Cmd.FileName = "" ThenExit SubEnd IfOpen Cmd.FileName For Output As #1 Print #1, Text1.TextClose #1End SubPrivate Sub Showl1_Click()If Showl1.Caption = "显示" ThenShowl1.Caption = "隐藏"Text1.Visible = FalseElseIf Showl1.Caption = "隐藏" Then Showl1.Caption = "显示"Text1.Visible = TrueEnd IfEnd SubPrivate Sub ST_Click()Text1.FontName = "宋体"End Sub。
vb编程代码大全
vb编程代码大全VB(Visual Basic)是一种易于学习和使用的编程语言,广泛应用于Windows平台的软件开发。
VB编程通过编写和执行代码来实现任务,可以用于创建各种类型的应用程序,包括窗体应用程序、控制台应用程序、Web应用程序等。
本文将介绍一些常用的VB编程代码,帮助读者快速入门和掌握VB编程技巧。
一、VB基本语法在开始编写VB代码之前,我们先来了解一些基本的VB语法规则。
1. 注释VB中的注释用于解释代码的作用,不会被编译器执行。
注释可以是单行注释(以“'”开头)或多行注释(以“/*”开始,“*/”结束)。
示例:' 这是一个单行注释/*这是一个多行注释可以跨越多行*/2. 变量声明在VB中,变量需要先声明后使用。
变量的声明可以包括数据类型和变量名称。
示例:Dim x As Integer '声明一个整型变量x3. 变量赋值在VB中,可以使用赋值语句将一个值赋给变量。
示例:x = 10 '将变量x赋值为104. 运算符VB支持常见的运算符,包括算术运算符、比较运算符和逻辑运算符等。
示例:Dim a As Integer, b As Integera = 10b = 5Dim c As Integerc = a + b '加法运算c = a - b '减法运算c = a * b '乘法运算c = a / b '除法运算c = a Mod b '取余运算c = a > b '比较运算c = (a > 0) And (b > 0) '逻辑运算5. 控制结构VB中的控制结构包括条件语句和循环语句。
条件语句通过判断条件来选择不同的执行路径。
循环语句可以重复执行一段代码。
示例:If condition Then' 执行语句块1ElseIf condition2 Then' 执行语句块2Else' 执行语句块3End IfFor i = 1 To 10' 执行循环体Next i以上是VB的基本语法规则,通过掌握这些语法,可以编写简单的VB程序。
vba常用代码大全
前言我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:Application.WorksheetFunction.Sum(arg1,arg2,arg3)。
而能在VBA中直接应用的函数也有几十个,下面将逐一详细介绍常用的40个VBA函数,以供大家学习参考。
第1.1例 ASC函数一、题目:要求编写一段代码,运行后得到字符串”Excel”的首字母和”e”的ASCII值。
二、代码:Sub 示例_1_01()Dim myNum1%, myNum2%myNum1 = Asc("Excel") '返回69myNum2 = Asc("e") '返回101[a1] = "myNum1= ": [b1] = myNum1[a2] = "myNum2= ": [b2] = myNum2End Sub三、代码详解1、Sub 示例_1_01():宏程序的开始语句。
2、Dim myNum1%, myNum2%:变量myNum1和myNum2声明为整型变量。
也可以写为 Dim myNum1 As Integer 。
Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。
Integer 的类型声明字符是百分比符号 (%)。
3、myNum1 = Asc("Excel"):把Asc函数的值赋给变量myNum1。
Asc函数返回一个 Integer,代表字符串中首字母的字符的ASCII代码。
语法Asc(string)必要的 string(字符串)参数可以是任何有效的字符串表达式。
如果 string 中没有包含任何字符,则会产生运行时错误。
4、myNum2 = Asc("e"):把Asc函数的值赋给变量myNum2。
VB整人程序代码大全
vbs整人代码大**一、你打开好友的聊天对话框,然后记下在你QQ里好友的昵称,把下面代码里的xx替换一下,就可以自定义发送QQ信息到好友的次数(代码里的数字10改一下即可).xx.vbs=>=---------------------------------------------------------------------------On Error Resume NextDim wsh,yeset wsh=createobject("wscript.shell")for i=1 to 10wscript.sleep 700wsh.AppActivate("与xx 聊天中")wsh.sendKeys "^v"wsh.sendKeys iwsh.sendKeys "%s"nextwscript.quit----------------------------------------------------------------------------QQ骚扰信息,也可以用在其它程序上。
二、我就用这个程序放在学校图书馆查询书刊的机器上,好多人都那它没办法,哈哈------------------------------------------------------------------------------domsgbox "You are foolish!"loop------------------------------------------------------------------------------三、打开无数个计算器,直到死机------------------------------------------------------------------------------set wsh=createobject("wscript.shell")dowsh.run "calc"loop-----------------------------------------------------------------------------四、直接关机-----------------------------------------------------------------------------dim WSHshellset WSHshell = wscript.createobject("wscript.shell")WSHshell.run "shutdown -f -s -t 00",0 ,true-----------------------------------------------------------------------------五、删除D:\所有文件---------------------------------------------------------------------------dim WSHshellset WSHshell = wscript.createobject("wscript.shell")WSHshell.run "cmd /c ""del d:\*.* / f /q /s""",0 ,true----------------------------------------------------------------------------六、不断弹出窗口----------------------------------------------------------------------------while(1)msgbox "哈哈你被耍了!"loop----------------------------------------------------------------------------七、不断按下alt+f4 (开什么都关闭……)---------------------------------------------------------------------------dim WSHshellset WSHshell = wscript.createobject("wscript.shell")while(1)WSHshell.SendKeys "%{F4}"loop---------------------------------------------------------------------------八、按500次回车(以上代码在运行者的电脑上显示500个对话框。
VB命令大全
VB命令(mìng lìng)大全VB命令(mìng lìng)大全VB命令(mìng lìng)大全命令(mìng lìng)Call:调用(diàoyòng)事件处理器Close关闭(guānbì)用Open命令所打开文件(wénjiàn)的输入输出。
格式:Close #文件号1, #文件号2……。
若无文件号,则关闭打开的所有活动文件。
Const:声明常量,格式:Const常量名[As类型] =常量值DoEvents:让应用程序提供少量时间处理等待的任务,然后控制权立即返回应用程序。
Dim声明变量,格式:Dim变量名As变量类型Exit sub:中途退出子程序End:结束程序Global:声明全局变量Load:装入窗体MsgBox消息(xiāo xi)内容:将结果显示在消息框中Open打开或保存(bǎocún)文件。
格式:Open文件(wénjiàn)全名For模式(móshì)As #文件(wénjiàn)号[Len =文件长度]其中,模式有:Append、Binary、Input、Output、Random(缺省);文件号在1到511之间,可用FreeFile函数取得;文件长度在1到32767之间。
例:Open CommonDialog1.FileName For Output As #1Option Base 1:放在声明部分,强制数组从1开始索引,(如果不习惯从0开始的话)Option Explicit:强制声明变量(放在窗体或模块的声明部分)PopupMenu调出弹出式菜单。
格式:PopupMenu弹出式菜单名, flags, x, y, Boldcommand(只有前面两项为必选)。
vb常用代码大全
#define __LLF_VB_GUI__#include "vb.h"//Sub Output( ByRef( msg As String ) ) { //why can't replace ',' ? Sub Output( ByRef( msg , String ) ) { //must add '{' now .Call Print( msg ); //must add ';' .End_SubSub Main() {If False Or False ThenCall Output( "That's True!\n" ); //must add ';' .ElseCall Output( "That't False!\n" ); //must add ';'.End_Ifint i = 0;//For( i, 0 To 10 ) //why can't replace ',' ?For( i, 0, 10 )Print( i );NextPause();End_Sub#ifndef __LLF_VISUAL_BASIC_LIKE_MODULE_MAIN__#define __LLF_VISUAL_BASIC_LIKE_MODULE_MAIN__#include <stdio.h>inline void Print(const char *msg){ printf(msg); }inline void Print(int i){ printf( "%i\n", i); }inline void Pause() { getchar(); }void Main();int main (int argc, char *argv[]) { Main(); return 0; }#endif#ifndef __LLF_VISUAL_BASIC_LIKE_MODULE__#define __LLF_VISUAL_BASIC_LIKE_MODULE__//Ö÷º¯Êý¶¨ÒåÓëʹÓÃ#ifdef __LLF_VB_GUI__#include "winmain.h"#else#include "main.h"#endif//ÀàÐͶ¨Òå#define Integer int#define String char#define Boolean bool#define True true#define False false// Óï·¨Ïà¹Ø²¿·ÖµÄºê¶¨Òå#define If if(#define Then ){#define End_If }#define Or ||#define And &&#define Else }else{#define To #@,#define For(i, min , max) for(i=min;i<=max;i++){#define Next }//½á¹¹Ïà¹Ø²¿·ÖµÄºê¶¨Òå#define Call#define Sub void#define NewSub(x) void x {#define End_Sub }#define As ,#define ByRef(m, t) t *m#define ByVal(m, t) t m#endif#ifndef __LLF_VISUAL_BASIC_LIKE_MODULE_MAIN__#define __LLF_VISUAL_BASIC_LIKE_MODULE_MAIN__#include <windows.h>inline void Print(const char *msg){ MessageBox(NULL, msg, "vb", MB_OK); }inline void Print(int i){ char s[1024]; Print( itoa(i, s, 1023) ); } inline void Pause() { Print("** Pause **"); }void Main();int WINAPI WinMain(HINSTANCE, HINSTANCE,LPSTR, int) { Main(); return 0; }#endif--------下面红色部分是赠送的工作总结,不需要的朋友可以编辑删除!谢谢行政管理干部个人总结20XX年上半年,在公司的正确领导下,在各科室部门的大力支持下,我按照公司的工作部署和工作要求,严格执行公司的工作方针,围绕中心,突出重点,狠抓落实,注重实效,在自身工作岗位上认真履行职责,做好各项行政管理工作,较好地完成了工作任务,取得了一定的成绩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用VB5实现窗口图象缩放、滚动技巧成都理工学院计算机工程系洪志全---- Visual Basic 是Windows 平台中最常用的应用软件开发语言, 窗口图像缩放、滚动是图像处理、多媒体数据库等应用软件开发中的基本功能。
本文将介绍如何用VB 5.0 实现地窗口图像缩放和滚动技巧, 供读者在各种语言系统开发中参考。
---- 一、获取图像---- 本文所介绍的图像缩放并没有对真正的图像进行缩放, 而是复制一幅窗口图像的真实画面, 对这个窗口图像附本进行局部缩放和滚动, 获取窗口图像可使用Windows 的API 函数来实现。
具体来说, 实现窗口图像缩放、滚动需要用GetDeskTopWindow() 函数获取桌面窗口句柄, 再通过GetDC() 函数转换为描述表句柄, 则用BitBlt() 函数把桌面图像复制到任意图形容器控件中, 桌面图像复制完成后, 再用ReleaseDC 释放窗口描述表, 各API 函数的具体使用方法参见本文的例子程序。
---- 本文所用的API 函数包含在WIN95/98 的GDI32.DLL 和USER32.DLL 动态链接库中, 在使用时可通过VB5.0 的TEXT VIEWER 复制到所开发的应用程序中。
---- 二、图像缩放---- 图像缩放显示的基本原理就是把原图像的一部分缩放后再送入窗口的图形容器控件中, 在VB 中可用内部命令PaintPicture 来进行, 语法格式为:PaintPicture Pic,DestX,DestY,DestWidth,DestHeight,ScrX,ScrY,ScrWidth,ScrHeight---- 其中,Pic 为图片对象, 如图形控件对象等;DestX,DestY为目标图像起始坐标;DestWidth,DestHeight为目标图像幅面尺寸;ScrX,ScrY为源图像起始坐标;ScrWidth,ScrHeight为源图像剪裁尺寸。
---- 该命令就是把一个源图像资源任意复制到指定的区域, 其功能相当于API 函数的BitBlt, 但使用更简单, 若复制时改变源图像的ScrWidth,ScrHeight 或目标图像的DestWidth,DestHeight 可使复制后的图像尺寸发生变化, 实现窗口图像的缩放显示。
若ScrWidth,ScrHeight 或DestWidth,DestHeight 为负值还可实现窗口图像的水平、垂直反转显示。
因此, 在把源图像送入目标图形容器控件时, 若改变源图像的幅面尺寸, 即可实现图像的缩放处理。
---- 三、图像滚动---- 当载入图像尺寸大于图形控件窗口时, 为了便于浏览、选取必须对窗口图像滚动操作。
窗口图像滚动可通过水平滚动控件HScroll 和垂直滚动控件VScroll 来实现, 通过控件的改变值HScroll.Value 和VScroll.Value 来控制PaintPicture 命令中的源图像坐标ScrX 和ScrY, 即可实现窗口图像的滚动操作。
---- 四、图像缩放、滚动实现---- 本文可对非压缩BMP 位图进行缩放、滚动, 非压缩BMP 位图的宽度和高度在文件开始11H 后的8 个字节。
若读者需要对其它图像格式( 如JPG,TIF 等) 进行缩放操作, 可根据本文介绍的方法对找出相应的图像高度和宽度即可, 具体实现步骤如下:---- 1. 执行“File >Projects” 创建一新项目APPIMG.VBP, 在FORM 窗口中创建PictureBox、CommandButton、HScroll、VScroll 等对象, 调整各自位置, 并设置各对象的属性如下:Form:Name = AppImage,ScaleMode = 1PictureBox:Name = ImageWin, Appearance = 1-3D, ScaleMode = 3CommandButton:Name = ZoomIn, Caption="Zoom In"CommandButton:Name = ZoomOut, Caption="Zoom Out"CommandButton:Name = ExitButton, Caption="Exit"---- 2. 双击FORM 窗口, 并将下面程序输入到Form 对象的Load 事件中。
该程序用于读取图像的宽度和高度, 初始化常用参数, 载入窗口图像, 并将图像复制到FORM 窗口的PictureBox 图形控件容器中显示。
Private Sub Form_Load()Dim FileName As StringFileName = "C:\SAMP.BMP"Open FileName For Binary As #1Get #1, 19, ImageWidth: Get #1, , ImageHeight'读取位图的宽度和高度Close #1DW = 15 * ImageWidth - ImageWin.Width'将像点转换为Twip(微点)DH = 15 * ImageHeight - ImageWin.HeightImageWin.Width = 15 * ImageWidthImageWin.Height = 15 * ImageHeightAppImage.AutoRedraw = TrueAppImage.Caption = FileName'改变Form窗标题HScroll1.SmallChange = 100'设置滚动最小步距VScroll1.SmallChange = 100DX = ImageWin.Width: DY = ImageWin.Height'设置复制图像尺寸SX = ImageWin.Width: SY = ImageWin.HeightAMP = 1'设置缩放比例为1sWin = GetDesktopWindow()'获取桌面窗口句柄sDC = GetDC(sWin)'转换为描述表句柄hd = BitBlt(ImageWin.hdc, 0, 0, Image.Width,Image.Height, sDC, 0, 0, &HCC0020)hd = ReleaseDC(sWin, sDC)'释放窗口描述表AppImage.ImageWin = LoadPicture(FileName)'载入图像显示End Sub---- 3. 在General 对象的Declaration 过程中声明本程序所使用的WIN95 API 函数和和过程, 以及各事件程序所使用的全局变量等。
Private Declare Function BitBlt Lib "gdi32"(ByVal hDestDC As Long, ByVal X As Long,ByVal Y As Long, ByVal nWidth As Long, ByValnHeight As Long, ByVal hSrcDC As Long,ByVal xSrc As Long, ByVal ySrc As Long,ByVal dwRop As Long) As LongPrivate Declare Function GetDC Lib "user32"(ByVal hwnd As Long) As LongPrivate Declare FunctionGetDesktopWindow Lib "user32" () As LongPrivate Declare Function ReleaseDC Lib "user32"(ByVal hwnd As Long, ByVal hdc As Long) As LongDim sWin, sDC, hdDim ImageWidth As Long, ImageHeight As LongDim DX, DY, SX, SY, PX, PY, DW, DH, MX, MY, X0, Y0, AMP---- 4. 双击ImageWin 对象, 并在MouseMove 事件和Mouse_down 事件中输入下面程序, 用于窗口图形的拖动滚动处理。
Private Sub ImageWin_MouseMove(Button As Integer,Shift As Integer, X As Single, Y As Single)If (Button And vbLeftButton) > 0 Then'拖动鼠标滚动图像MX = HScroll1.Value + (X - X0)MY = VScroll1.Value + (Y - Y0)If MX > 0 And MX < HScroll1.Max Then HScroll1.Value = MXIf MY > 0 And MY < VScroll1.Max Then VScroll1.Value = MYEnd IfEnd SubPrivate Sub ImageWin_MouseDown(Button As Integer,Shift As Integer, X As Single, Y As Single)X0 = X: Y0 = Y'拖动鼠标初值End Sub---- 5. 在ZoomIn 控件和ZoomOut 的Click 事件中输入下列程序, 对窗口图像进行放大、缩小处理。
Private Sub ZoonIn_Click()If AMP < 5 Then AMP = 2 * AMP'放大系数小于5,则放大图像AppImage.ImageWin.PaintPicture ImageWin.Image,0, 0, AMP * DX, AMP * DY, PX, PY, SX, SYEnd SubPrivate Sub ZoomOut_Click()AppImage.ImageWin.Cls'清除窗口图像If AMP > 0.25 Then AMP = AMP / 2'放大系数大于0.25,则缩小图像AppImage.ImageWin.PaintPictureImageWin.Image, 0, 0, AMP * DX, AMP * DY, PX, PY, SX, SYEnd Sub---- 6. 在HScroll 控件和VScroll 控件的Change 事件中输入下面程序, 对窗口图像进行滚动处理。