VB编程资料打印稿一.docx

上传人:b****4 文档编号:4884698 上传时间:2022-12-11 格式:DOCX 页数:27 大小:30.67KB
下载 相关 举报
VB编程资料打印稿一.docx_第1页
第1页 / 共27页
VB编程资料打印稿一.docx_第2页
第2页 / 共27页
VB编程资料打印稿一.docx_第3页
第3页 / 共27页
VB编程资料打印稿一.docx_第4页
第4页 / 共27页
VB编程资料打印稿一.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

VB编程资料打印稿一.docx

《VB编程资料打印稿一.docx》由会员分享,可在线阅读,更多相关《VB编程资料打印稿一.docx(27页珍藏版)》请在冰豆网上搜索。

VB编程资料打印稿一.docx

VB编程资料打印稿一

VB编程资料打印稿一

如何用VB启动其他程序或开启各类文件

━━━━━━━━━━━━━━━━━━━━━━━━━━

  要在VB中启动其他程序或开启各类文件,最简单的方法就是使用Shell函数,例如:

要开启C:

\Test.txt这个文字文件,则要启动记事本来开启这个文件案,程序如下:

DimRetValAsLong

RetVal=Shell("C:

\Windows\Notepad.exeC:

\Test.txt",3)

  '3代表视窗会最大化,并具有驻点,细节请查Help

  以上的语法虽然很简单,但有一个风险,若是我们不知道开启文件的执行文件位置,则程序便会有错误产生,尤其一般软件在安装的时候都可以让使用者自行选择安装目录,所以执行文件的路径不能写死在程序中,要解决这个问题,就是在注册文件中找到该副文件名之启动程序位置,再放入Shell中。

  但是以上的作法必须熟悉注册文件,而且必须使用WindowsAPI来Call(注册文件的存取以后会有专文来说明),如果您对注册文件的存取及API的使用都很纯熟的话,当然没问题,但是有些人对于注册文件会有畏惧,这时候,您可以使用下面的方法:

  Shell("StartC:

\Test.txt")

  您完全不用知道这份文件的启动程序是什么?

它放在什么地方?

参数Start便会自动依照附文件名到注册文件中找到启动程序来开启该份文件案!

不赖吧!

  注一:

在Windows95/98/NT平台中,什么副文件名之文件案,该由什么执行文件来启动,都设在关联中,代码为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Extensions

  例如:

名称为".DOC"之资料为"C:

\Progra~1\Micros~2\Office\WINWORD.EXE^.DOC"

  名称为".TXT"之资料为"notepad.exe^.txt"

  注二:

使用Start之唯一缺点为"会比直接指定执行文件稍为慢0.5-1秒钟."

在TextBox中如何限制只能输入数字

━━━━━━━━━━━━━━━━━━━━━━━━━━

参考下列程序:

  SubText1_KeyPress(KeyAsciiAsInteger)

  IfKeyAscii<48OrKeyAscii>57Then

  KeyAscii=0

  EndIf

  EndSub

  TextBox中能不接受某些特定字符(如'@#$%")

  方法有好几种,以下列举二种:

  方法1:

可以使用IF或SelectCase一个个判断,但如果不接受的字符多时,较麻烦!

  方法2:

将要剔除的字符统统放在一个字串中,只要一个IF判断即可!

!

如下:

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

DimsTemplateAsString

sTemplate="!

@#$%^&*()_+-="'用来存放不接受的字符

IfInStr(1,sTemplate,Chr(KeyAscii))>0Then

KeyAscii=0

EndIf

EndSub

  如何让鼠标进入TextBox时自动选定TextBox中之整串文字

  这个自动选定反白整串文字的动作,会使得输入的资料完全取代之前在TextBox中的所有字符。

PrivateSubText1_GotFocus()

Text1.SelStart=0

Text1.SelLength=Len(Text1)

EndSub

如何在vb程序中打开并显示一个已经存在的文本文件?

━━━━━━━━━━━━━━━━━━━━━━━━━━

'TextBoxMultiLine属性True  

PrivateSubCommand1_Click()  

         Open"C:

\tmp.txt"ForInputAs#1  

         Text1.Text=StrConv(InputB$(LOF

(1),1),  vbUnicode)  

         Close#1  

EndSub

请问如何在VB里实行一行行读一个文本文件,并将每一行存入一个数组?

?

━━━━━━━━━━━━━━━━━━━━━━━━━━

文本文件aa.txt里:

  

a1  

a2  

a3  

a4  

如何才能一行一行的读文件?

并放入s()数组  

结果得到  

s(0)=a1  

s

(1)=a2  

s

(2)=a3  

s(3)=a4

━━━━━━━━━━━━━━━━━━━━━━━━━━

dims()asstring  

dimiaslong  

OpenApp.Pat&"\aa.txt"ForInputAs#a1      '打开文件  

DoWhileNotEOF(a1)      '循环至文件尾  

    LineInput#a1,s(i)  

    i=i+1  

Loop  

Close#a1      '关闭文件

快速读写数组

━━━━━━━━━━━━━━━━━━━━━━━━━━

Dimarr(1To100000)AsLong

DimfnumAsInteger

fnum=FreeFile

Open"C:

\Temp\xxx.dat"ForBinaryAsfnum

Put#fnum,,arr

Closefnum

VB读取文件内容的简洁方法

━━━━━━━━━━━━━━━━━━━━━━━━━━

读取text文件的最快方法是使用Input$函数,就象下面的过程:

FunctionFileText(filename$)AsString

DimhandleAsInteger

handle=FreeFile

Openfilename$ForInputAs#handle

FileText=Input$(LOF(handle),handle)

Close#handle

EndFunction

快速编辑VB程序技巧

━━━━━━━━━━━━━━━━━━━━━━━━━

1.在VB程序中,通常会遇到一些特别长的句子,这样如果不换行则程序读起来就很不方便。

尤其是在调用Windowsapi函数时,程序一般都很长。

在VB中提供了一种方法可以使程序换行,只要在每次换行的最后一个字符加上换行字符“_”(空格加下划线)就可以了,如下面的api函数:

PrivateDeclareFunctionAdvancedDocumentPropertiesLib"winspool.drv"Alias_"AdvancedDocumentPropertiesA"(ByValhwndAsLong,ByValhPrinterAsLong,ByVal_pDeviceNameAsString,pDevModeOutputAsDEVMODE,pDevModeInputAs_DEVMODE)AsLong

2.我们都知道在VC程序中可以用“/*”和“*/”来注释一段程序,但在VB中注释一个程序段却有许多人不知道。

在VB中注释一句话用单引号“注释:

”来实现,而注释一个程序段就是在每一句前面加“注释:

”,这样如果手工做,就很烦琐。

在VB中提供了一个专门的工具:

右键单击工具栏,然后选中“编辑”项,这样就打开了编辑工具栏,其中有两个按钮功能为“设置注释块”和“解除注释块”,这样你工作起来一定会快许多!

3.有时我们在编程时,会对同一个控件的许多属性进行设置,这时如果我们每次设置时都写上控件名,就显得很重复而且费时费力,因此我们可以用以下的方法:

with...endwith。

如:

PrivateSubForm_Load()

WithForm1

.Caption="hello!

"

.ForeColor=vbBlack

.BackColor=vbRed

.FontBold=True

EndWith

EndSub

取得应用所在的目录

━━━━━━━━━━━━━━━━━━━━━━━━━━

使用App.Path可以得到应用所在的目录。

不过得注意,当在根目录下时,Path的返回值最右字符为“\”,如“c:

\”,而如果不在根目录,则最右字符非“\”,如“c:

\vb5”。

所以在使用Path做连接时,应使用以下的代码:

DimFileNameasstring

DimfullpathAsString

IfRight(App.Path,1)="\"Then

fullpath=App.Path+FileName

Else

fullpath=App.Path+"\"+FileName

EndIf

或者:

pth$=app.Path&IIf(Len(app.Path)>3,"\","")

如何把richtextbox.text中的内容保存为txt文件

━━━━━━━━━━━━━━━━━━━━━━━━━━

其实只要用RichTextBox1.SaveFile文件名,1这种格式就可以了。

代码中的特殊字符

━━━━━━━━━━━━━━━━━━━━━━━━━━

串联

&运算符用于将字符串“串联”或链接到一起。

不要把它和+运算符混淆,后者用于将数值相加。

如果使用+运算符串联数值,可能会得到错误的结果。

下面的示例说明了这一点。

var1="10.01"

var2=11

resultA=var1+var2

resultB=var1&var2

执行完前面的代码后,resultA的值为21.01,而resultB的值为“10.0111”。

VB中str()函数与cstr()有区别么

━━━━━━━━━━━━━━━━━━━━━━━━━━

有。

str只能把数字转成字符串;

cstr除了能将数字转换为字符串,还能将其他类型变量也转换成字符串(比如Boolean,Error类型)。

VB技巧-文本框使用技巧

━━━━━━━━━━━━━━━━━━━━━━━━━━

  1、控制文本框中输入的内容

  例如我们只要求在文本框中输入数字,而不允许出现其它字符,则我们使用KEYPRESS事件并检查KeyAscii参数即可,KeyAscii参数用来保存键盘所用的ANSI码(不是ASCII码),下面是一个例子:

   PrivateSubText_KeyPress(KeyAsciiAsInteger)

   ifKeyAsciiAsc("9")then

     KeyAscii=0

   endif

   endsub

  2、从外部文本文件读入和从文本框中写出内容到文件内容:

  有时我们需要从外部的文本文件中读入到文本框中,或是把输入到文本框中的内容保存到文件中,这时可以通过对文件操作的几个语句来实现,其中Open语句能够对文件输入/输出,LOF函数返回一个Long型值,表示用Open语句打开的文件的大小,该大小以字节为单位。

Input函数从文件中读入数据,而Print函数则把数据写到文件中。

具体的代码如下面的实例,需要注意的是文本框只能打开大小在32K以下的文本文件,否则会出现错误。

   filename="c:

\myext.txt"

   OpenfilenameForInputAs#1

   Text.Text=Input$(Lof

(1),#1)

   Close#1

   filename="c:

\myext.txt"

   onerrorresumenext

   open"c:

\file.txt"foroutputas#1

   print#1,text1.text

   close#1

  3、怎样把文本框中的文本全部选中

  这需要使用文本框的属性SelStart和SelLength属性,SelStart表示选择文本的开始,SelLength表示要选中文本的长度,采用以下两句代码就行了。

   Text1.SelStart=0

   Text1.SelLength=Len(Text1.Text)

  另外顺便提一下SelText属性,它可以得到已经选中的文本。

  4、如何在已经存在的文本的textbox添加新的一行

  DimstrNewTextAsString

  Text1.strNewText="Updated:

"&Date

  Text1.SelStart=Len(Text1.Text)

  Text1.SelText=vbNewLine&strNewText

  实现的关键是vbNewLine常数,它的意义是插入一个换行符。

VB技巧-组合框使用技巧

━━━━━━━━━━━━━━━━━━━━━━━━━━

  1、组合框的三种形式

  组合框是用来显示一个文本框及一个下拉列表的控件,你可能认为只有一种组合框,但其实有三种,可以通过设置组合框的STYLE属性来选择其一,下面是设置组合框的STYLE属性时用的值:

   VBCOMBODROPDOWN   --0:

包括一个下拉列表和一个文本框,可以选择也可输入文字;

   VBCOMBOSIMPLE    --1:

简单组合框,包括一个文本框和一个不会下拉的列表;

   VBCOMBODROPDOWNLIST --2:

只选组合框。

vbfso:

VB中FSO的调用的二种方法

━━━━━━━━━━━━━━━━━━━━━━━━━━

方法一:

DimobjFso

SetobjFso=CreateObject(\"Scripting.FileSystemObject\")

方法二:

工程->引用->MicrosoftScriptingRuntime

第二种相对简单些,但是有的时候,会提示不能加载SCRRUN.dll,此时就只能用第一种了,我用第一种的时候,还提示什么什么没注册在运行那输入regsvr32scrrun.dll注册一下即可正常使用了

下面是一个删除文件的简单例子:

DimFso

DimFile1

PrivateSubCommand1_Click()\'点击按钮则删除

Fso.DeleteFile(File1)

EndSub

PrivateSubForm_Load()

SetFso=CreateObject(\"scripting.filesystemobject\")

SetFile1=Fso.GetFile(\"F:

\\web\\123.rar\")

\'请保证文件存在不然会报错

EndSub

VB二进制文件的操作

━━━━━━━━━━━━━━━━━━━━━━━━━━

   所有文件的存储其实质都是二进制的,二进制文件往往由两部分组成,一部分是文件头另一部分存放了文件的内容。

文件头通常存放与文件格式有关的信息,以BMP等图象文件为例,它们的文件头中存放了是何种图形格式、图象大小、调色板等信息,要显示图象时先读取文件头以获得文件的详细信息,然后再按其格式把图象内容显示出来。

用二进制方式可以操作任何的文件,当然至关重要的一点是要清楚了解所操作文件的文件头结构。

   

   VB中二进制文件操作主要应用的方法和函数有:

Open,Close,Get,Put等。

Open:

在For后面的打开模式要用Binary。

Close:

关闭文件。

Get:

在指定位置取得文件的内容,如果省略位置则从当前位置读取。

Put:

在指定位置写入文件,如果省略位置参数就从当前位置写。

   下面结合代码讲解二进制文件的操作。

下述程序完成了将两个文件结合成一个文件以及将这个结合后的文件再拆分成原来的两个文件。

文件头的结构是自己定义的,非常简单,共8个字节(也就是两个长整型的长度),前4个字节存放第一个文件的长度,后4个字节存放第二个文件的长度。

为了更直观地表达文件的结构,现假设有两个文件,第一个文件长度是100字节,第二个文件是200字节,那么合并后得到的文件应该是308字节。

按顺序来看,文件的结构是:

4第一文件的长度

4第二文件的长度

100第一文件的二进制内容

200第二文件的二进制内容

除了文件头的8字节长度是固定的后面的长度都会因文件的不同而变化的。

‘实现文件的合并

PrivateSubMergeFile()

   DimstrFileName1AsString'第一个文件

   DimstrFileName2AsString'第二个文件

   DimstrOutputAsString'合并后的文件

   DimaryContent()AsByte'用来读取文件的数组,每次读取前要重定义

   

   strFileName1="c:

\a.bmp"

   strFileName2="c:

\b.bmp"

   strOutput="c:

\out.bmp"

   

   '注意下面三个Open语句都是用Binary模式打开的

   OpenstrOutputForBinaryAs#100

   

   OpenstrFileName1ForBinaryAs#1

   OpenstrFileName2ForBinaryAs#2

   

   Put#100,,LOF

(1)'取得第一文件的长度,并把它写入到合并文件的文件头中

   Put#100,,LOF

(2)'取得第二文件的长度,并写入到合并文件的文件头中

   

   ReDimaryContent(LOF

(1)-1)'重定义数组,为读取文件做准备

   Get#1,,aryContent()'取得第一文件的内容到数组

   

   Put#100,,aryContent()'把第一文件的内容写到合并文件中

   

   ReDimaryContent(LOF

(2)-1)

   Get#2,,aryContent()

   

   Put#100,,aryContent()

   

   '关闭文件

   Close#1

   Close#2

   Close#100

EndSub

vb字符串函数:

VB字符串操作方法

━━━━━━━━━━━━━━━━━━━━━━━━━━

1.方法:

SubStr()中文化取子字串,相对Mid()

Strlen()中文化字串长度,相对Len()

StrLeft()中文化取左字串,相对Left()

StrRight()中文化取右字串,相对Right()

isChinese()检查某个字是否中文字

VB判断一个文件或者文件夹是否存在

━━━━━━━━━━━━━━━━━━━━━━━━━━

在VB中编程中,经常需要判断一个文件是否存在,以便执行相应的操作,这可用下列语句进行判断

Dir([pathname],[AttributesasVbFileAttribute=vbNormal])AsString

解释:

pathname:

文件的绝对路径;

       Attributes:

文件的属性。

      “[]”内为可选项。

dir(file)=""表示文件不存在,dir(file)<>""表示文件存在。

1.例如判断c:

\6331905.exe是否存在,如存在,就调用它,可用下列语句:

ifdir("c:

\6331905.exe")<>""then

shell"c:

\6331905.exe"

endif

2.但如果判断的文件是隐藏文件,上面的语句则无法判断出来,这时就需要加上后面的可选项目,例如

  判断C盘根目录下是否有隐藏文件6331905.exe,就用下面的源代码:

ifdir("c:

\6331905.exe,vbhidden")<>""then

msgbox"发现c:

\6331905.exe"

endif

3.判断文件夹是否存在,可用下列语句:

PrivateSubCommand1_Click()

IfDir("c:

\6331905",vbDirectory)<>""Then'如果c:

\6331905文件夹存在

MsgBox"文件夹:

c:

\6331905存在!

"'提示

Else'否则

MkDir"c:

\6331905"'创建c:

\6331905文件夹

'如果是缺省路径,如:

mkdir"6331905",在当前目录下创建一个文件夹,名为6331905

EndIf

EndSub

VB中Image与PictureBox控件的一些使用技巧

━━━━━━━━━━━━━━━━━━━━━━━━━━

  有些初学VB的同学对一些控件的属性方法也了解了一些,但是当真的想用他们解决一些实际的问题时却又找不到有效的办法.经常是脑子里有了很好的创意但是在用程序实现时却遇到了这样与那样的问题.这的确叫人郁闷,我在学习的过程中同样遇到了不少这样的问题,因此我想给出几个小的技巧供同学们参考,希望叫那些初出茅庐的同学少走些弯路.

  当我在使用Image与PictureBox控件时遇到了一些困难,经过同学的指点与自己的研究,有了一点小小的收获,想拿出来与大家探讨一下.

  我想,假如要很灵活的运用这两个控件你就必须了解这两个控件的特点与常用属性和方法.如果你是一个VB初级用户的话,那么看下面的一段应该说是必要的,要是你已经对这些很熟悉了,可以略过他.

  图像框(Image)和图片框(PictureBox)都是用于显示图形,可以显示.bmp;.ico;.wmf;.jpg;.gif等类型的文件.图片框不仅可以显示图像,还可以作为其他控件的容器,因此PictureBox控件比Image控件功能更强.

  一些属性:

  

(1)Picture属性:

用于设置在图像框与图片框重要显示的图像文件名.科在设计是通过属性或在运行时调用LoadPicture函数来设置.

  例如:

Picture1.Picture=LoadPicture("D:

\Pic\Girl.jpg")

  

(2)Align属性

  Align属性用于设置图片框再窗体中的显示方式.0(默认)无特殊显示,1为与窗体一样宽,位于窗体顶端;2为与窗体一样宽,位于窗体底端;3为与窗体一样高,位于窗体左端;4为与窗体一样高,位于窗体右端.

  (3)Image的Stretch属性

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1