一、用data控件进行数据库链接,可以这样:在form_load()过程中放入:privateform_load()DimstrAsString'定义str=App.PathIfRight(str,1)<>""Thenstr=str ""EndIfdata1.databasename=str&"\数据库名"data1.recordsource="数据表名"data1.refreshsubend这几句话的意为,打开当前程序运行的目录下的数据库”参数8:表示“ForAppending:打开文件并从文件末尾开始写” 'Txt.ReadLine'读取一整行 'Txt.Read(7)'读取指定数量字符 'Txt.ReadAll'读取文本所有内容 'Txt.CreateTextFile'创建文件用法:SetMyFile=Txt.CreateTextFile(whichfile,True)True即表示能覆盖已有文件 'Txt.WriteLine'向已有文件写入内容用法:Txt.WriteLine("欢迎您来到本站") 'Txt.Name'返回文件名称 'Txt.ShortPath'返回文件短路径名 'Txt.Path'返回文件物理地址 'Txt.Attributes'返回文件属性 '返回值附录: 'Normal0普通文件

这两种个数据结构的原理我用到了一个游戏题目里: <style> body,td{font-size:12px;} table{border:1pxsolidlightblue;border-collapse:collapse;width:100%;} </style> 四人欲过一座河,且只有一个氧气瓶(每次最多能容两人同时游过).<br/> 甲单独过河需1分钟,乙需2分钟,丙需5分钟,丁需7分钟.则四人全部通过的最短时间是多少.<br/> <buttononclick="vbs:try">过河</button> <pid="ppp"></p> <SCRIPTLANGUAGE="vbScript"> '本题属于决策树类型问题 '难点在于数据的描述上 '决策树的数据关键是:初始状态,操作步骤,结束状态 '每次递归的输入值--初始状态,是上次运算的结果--结束状态 '因此经过反复推敲,决定用:岸边状态+操作步骤编码+时间结果+开关状态来描述 '技巧:关于搭档方式的描述,采用2的n次方相加,实现用一个数来表示2个数搭配的目的 '比如01搭档,那么表示方法就是2^0+2^1=3职能是01搭配才会产生,绝对不会是其他数字 '见partner函数 personTime=Array(1,2,5,7)'每个人花费时间 startBank="0123"'用空格分开表示河左岸的人的状态 setsolution=CreateObject("Scripting.Dictionary")' '用一个结构体来描述数据,每行的格式如下: 'solution.AddP,Array(onceTime,lBank,rBank,0) subtry '点按钮开始递归调用 ifsolution.Count=0then setsolution=gogo("",0,startBank) else ifisFinish(solution)then succeed exitsub else setsolution=aa(solution) endif endif showsolution endsub functiongogo(K,T,L) '输入:K步骤序列string '输入:T上步骤执行时间int '输入:L可选择的人员名单string '输出:返回后的结构体Dictionary setscheme=CreateObject("Scripting.Dictionary") dimtempArr:tempArr=split(L) n=n+1 foreachiintempArr foreachjintempArr ifi<>jthen onceTime=maxTime(i,j)+T P=trim(K&""&partner(i,j)) rBank=trim(otherBank(L)&""&i&""&j) lBank=otherBank(rBank) ifnotscheme.Exists(P)then scheme.AddP,Array(onceTime,lBank,rBank,0) endif endif next next setgogo=scheme endfunction functionaa(D) '输入:结构体Dictionary '输出:返回后的结构体Dictionary setscheme=CreateObject("Scripting.Dictionary") foreachKinD.Keys T=D.Item(K)(0) bool=D.Item(K)(3) 'alertK ifcbool(bool)then L=D.Item(K)(1) linkgogo(K,T,L),scheme else L=D.Item(K)(2) linkback(K,T,L),scheme endif next setaa=scheme endfunction 'setD=CreateObject("Scripting.Dictionary") 'D.Exists( sublink(D1,D2) '输入:D1结构体Dictionary '输入返回:D2结构体Dictionary foreachKinD1.Keys ifnotD2.Exists(K)thenD2.addK,D1.Item(K) next endsub functionback(K,T,L) '输入:K步骤序列string '输入:T上步骤执行时间int '输入:L可选择的人员名单string '输出:返回后的结构体Dictionary setscheme=CreateObject("Scripting.Dictionary") dimtempArr:tempArr=split(L) foreachiintempArr onceTime=personTime(cint(i))+T P=trim(K&""&i) lBank=otherBank(L)&""&i rBank=otherBank(lBank) scheme.AddP,Array(onceTime,lBank,rBank,1) next setback=scheme endfunction functionremove(L,i) '输入:L人员名单string '输入:i被移出人的编号int '输出:移出后的人员名单string L=L&"" L=replace(L,i&"","") remove=trim(L) endfunction functionotherBank(L) '输入:这岸的名单string '输出:得到另外一个岸边的名单string tempArr=split(L) LL=startBank foreachiintempArr LL=remove(LL,i) next otherBank=LL endfunction functionmaxTime(x,y) '输入:x,y人的编号int '输出:得到两个人一次过河的最大时间int a=personTime(cint(x)) b=personTime(cint(y)) ifa>bthenmaxTime=aelsemaxTime=b endfunction functionPtoMan(P) '输入:P单个方案string '输出:由两个人名组合的方案string dimtempStr dimbound:bound=ubound(personTime) fori=0tobound forj=0tobound ifi<>jand(partner(i,j)=P)then tempStr=i&""&j exitfor exitfor endif next next PtoMan=tempStr endfunction functionPforRead(P) '输入:P有空格分隔的方案序列string '输出:可读懂的方案序列string tempArr=split(P) dimtempStr fori=0toubound(tempArr) if(imod2)=0then tempStr=tempStr&PtoMan(tempArr(i))&"过去" else tempStr=tempStr&tempArr(i)&"回来" endif next PforRead=tempStr endfunction functionpartner(x,y) '输入两个数,代表组合唯一值,存放到字符串里int '输出: a=cint(x) b=cint(y) partner=cstr(2^a+2^b) endfunction subshow(D) '输入:D字典Dictionary '显示字典中的内容 dimi:i=1 re="<tableborder=1>" re=re&"<tr><td>行号</td><td>过河方案</td><td>花费时间</td><td>左岸状态</td><td>右岸状态</td><td>过河开关</td></tr>" foreachkeyinD.Keys re=re&"<tr><td>"&i&"</td><tdtitle='"&key&"'>"&PforRead(key)&"</td>" foreachainD.Item(key) re=re&"<td>"&a&"</td>" next re=re&"</tr>" i=i+1 next re=re&"</table>" ppp.innerHTML=re endsub functionD2Arr(D) '输入:D字典Dictionary '输出:时间结果数组,第一个元素设置为极小,不参与排序,array dimkArr:kArr=D.keys dimtempArr():redimtempArr(ubound(kArr)+1) tempArr(0)=0 fori=0toD.count-1 tempArr(i+1)=D.Item(kArr(i))(0) next D2Arr=tempArr endfunction subsortA(Arr) '输入:Arr时间结果数组array '堆排序,复杂度n*log(n)/log(2),如果8个数就是24次,如果用冒泡是8^2=64次 dimn,i,L,ir,rArr,j n=ubound(Arr) L=int(n/2)+1 ir=n do ifL>1then L=L-1 rArr=Arr(L) else rArr=Arr(ir) Arr(ir)=Arr(1) ir=ir-1 ifir=1then Arr(1)=rArr exitsub endif endif i=L j=2*L whilej<=ir ifj<irthen ifArr(j)<Arr(j+1)thenj=j+1 endif ifrArr<Arr(j)then Arr(i)=Arr(j) i=j j=2*j else j=ir+1 endif wend Arr(i)=rArr loop endsub subsucceed() '成功后提示 dimtempArr:tempArr=D2Arr(solution) sortAtempArr alert"已经结束您必须知道如何从流创建位图
msgbox“调用的程序已经退出了2.创建引用 在VB中使用“ProjectReferences"菜单创建一个对MicrosoftAccess8.0ObjectLibrary的引用
看上去有点笨拙,但它确实能够工作Variant是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息
在批处理中,使用命令“del %0”即可达到删除自身的目的油猴搜索 不过VB易上手,开发软件较为快速,如果API技术掌握的较好的话,大部分软件都可以较好的实现 注意最后的{Tab},如果你只有一个QQ号,而且每次都是正常方式登录,那么你可以将{Tab}改成{Enter},然后删除后面的行就行了。