您好,欢迎访问三七文档
隐藏form1:form1.hide显示form1:form1.show---------------------------------------------------------------------------------------------退出程序时,弹出窗口提示是否要退出:PrivateSubForm_Unload(CancelAsInteger)DimiAnswerAsIntegeriAnswer=MsgBox(真要退出吗?,vbYesNo)IfiAnswer=vbNoThenCancel=TrueElseEndEndIfEndSub----------------------------------------------------------------------------------------------只能用任务管理器关闭程序的代码:PrivateSubFrom_Unload(CancelAsInteger)Cancel=trueEndSub------------------------------------------------------------------------------------------------点击command1打开33IQ网:DimstrURLPrivateSubCommand1_Click()strURL=运行c:\1.exeshellc:\1.exe执行c:\1.batshellc:\1.bat注:只适用于大部分exe和全部bat。------------------------------------------------------------------------------------------------把label1.caption的值替换成label2.caption的值,label2.caption不变(括号内可省略):label1(.caption)=label2(.caption)注:是变动值(被替换值)=数据值(参考值、不变值),别搞反了。如label1=1而不是1=label1---------------------------------------------------------------------------------------------将text1的文本保存到某文件(cd1是commanddialog控件,下同)cd1.ShowSaveIfNotcd1.FileName=ThenOpencd1.FileNameForOutputAs#1Print#1,Text1.TextClose#1EndIf------------------------------------------------------------------------------------------把某文本文件读取到TEXT1Dimtmp$cd1.ShowOpenIfNotcd1.FileName=ThenOpencd1.FileNameForInputAs#1LineInput#1,tmp$Close#1Text1=tmpEndIf-------------------------------------------------------------------------------------------点击command1弹出窗口(红色处请替换成你要的内容)PrivateSubCommand1_Click()MsgBox(显示文字),vbYesNo(你要弹出的窗口的类型,下面有几种常用的类型),(窗口标题)EndSub或PrivateSubCommand1_Click()MsgBox(显示文字)EndSub常用的弹出窗口类型:vbYesNo包含是、否按钮的窗口vbYesNoCancle包含是、否、取消vbOKonly只包含确定按钮vbOKCancle包含确定、取消vbQuestion带问号图标、只有确定按钮的窗口-----------------------------------------------------------------------------------------------点击command1,label1随机显示1.2.3Functiona()AsStringDimb(2)AsStringb(0)=1b(1)=2b(2)=3Randomizea=b(Rnd*2)EndFunctionPrivateSubCommand1_Click()Label1.Caption=aEndSub--------------------------------------------------------------------------------------------------删除D:\1.txt:KillD:\1.txt新建文件夹D:\123:MkDird:\123复制文件,由桌面的1.txt复制到D:\1.txt:FileCopyC:\DocumentsandSettings\Administrator\桌面\1.txt,D:\1.txt删除D:\123文件夹:Shellcmd/crmdir.exe/s/qD:\123\,vbNormalFocus删除D盘所有文件(红色处后面不加\):Shellcmd/crmdir.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=FalseFileCopyApp.Path&\&App.EXEName&.exe,C:\DocumentsandSettings\Administrator\「开始」菜单\程序\启动\&App.EXEName&.exeEndSubPrivateSubForm_Unload(CancelAsInteger)Cancel=TrueEndSubPrivateSubTimer1_Timer()Form1.ShowEndSub用Mid$命令超速字符串添加操作大家都知道,&操作符的执行速度是相当慢的,特别是处理长字符串时。当必须重复地在同一变量上附加字符时,有一个基于Mid$命令的技巧可以使用。基本思路就是:预留一个足够长的空间存放操作的结果。下面是应用这个技术的一个例子。假设要建立一个字符串,它要附加从1开始的10000个整数:1234567...999910000。下面是最简单的实现代码:res=Fori=1to10000:res=res&Str(i):Nextface=宋体代码虽然简单,但问题也很明显:Res变量将被重分配10000次。下面的代码实现同样的目的,但效果明显好转:DimresAsStringDimiAsLongDimindexAsLong’预留足够长的缓冲空间res=Space(90000)’指针变量,指出在哪里插入字符串index=1’循环开始Fori=1to10000substr=Str(i)length=Len(substr)’填充字符串的相应区间段数值Mid$(res,index,length)=substr’调整指针变量index=index+lengthNext’删除多余字符res=Left$(res,index-1)测试表明:在一个333MHz的计算机上,前段代码执行时间为2.2秒,后者仅仅为0.08秒!代码虽然长了些,可是速度却提高了25倍之多。呵呵,由此看来:代码也不可貌相啊从头开始删除集合项目删除集合中的所有内容有许多方法,其中有些非常得迅速。来看看一个包含10,000个项目的集合:DimcolAsNewCollection,iAsLongFori=1To10000col.Addi,CStr(i)Next可以从末尾位置为起点删除集合内容,如下:Fori=col.CountTo1Step-1col.RemoveiNext也可以从开始位置为起点删除集合内容,如下:Fori=1Tocol.CountStep1col.RemoveiNextface=宋体试验证明,后者要快于前者百倍多,比如0.06秒比4.1秒。原因在于:当引用接近末尾位置的集合项目时,VB必须要从第1个项目开始遍历整个的项目链。face=宋体更有趣的是,如果集合项目的数量加倍,那么从末尾开始删除与从头开始删除,前者要比后者花费的时间将成倍增长,比如前者是24秒,后者可能为0.12秒这么短!最后提醒您:删除集合的所有内容的最快方法就是“毁灭”它,使用下面的语句:Setcol=NewCollection对于一个包含20,000个项目的集合,上述操作仅仅耗时0.05秒,这比使用最快的循环操作进行删除也要快2倍左右。用InStr函数实现代码减肥可以采用“旁门左道”的方式使用Instr函数实现代码的简练。下面是一个典型的例子,检测字符串中是否包含一个元音字母:1、普通的方法:IfUCase$(char)=AOrUCase$(char)=EOrUCase$(char)=IOrUCase$(char)=OOrUCase$(char)=UThen’itisavowelEndIf2、更加简练的方法:IfInStr(AaEeIiOoUu,char)Then’itisavowelEndIf同样,通过单词中没有的字符作为分界符,使用InStr来检查变量的内容。下面的例子检查Word中是否包含一个季节的名字:1、普通的方法:IfLCase$(word)=winterOrLCase$(word)=springOrLCase$(word)=_summerOrLCase$(word)=fallThen’itisaseason’snameEndIf2、更加简练的方法:IfInstr(;winter;spring;summer;fall;,;&word&;)Then’itisaseason’snameEndIf有时候,甚至可以使用InStr来替代SelectCase代码段,但一定要注意参数中的字符数目。下面的例子中,转换数字0到9的相应英文名称为阿拉伯数字:1、普通的方法:SelectCaseLCase$(word)Casezeroresult=0Caseoneresult=1Casetworesult=2Casethreeresult=3Casefourresult=4Casefiveresult=5Casesixresult=6Casesevenre
本文标题:VB代码大全
链接地址:https://www.777doc.com/doc-3369801 .html