VB编程资料打印稿一Word文件下载.docx
《VB编程资料打印稿一Word文件下载.docx》由会员分享,可在线阅读,更多相关《VB编程资料打印稿一Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
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)
如何在vb程序中打开并显示一个已经存在的文本文件?
'
TextBoxMultiLine属性True
PrivateSubCommand1_Click()
Open"
\tmp.txt"
ForInputAs#1
Text1.Text=StrConv(InputB$(LOF
(1),1),
vbUnicode)
Close#1
请问如何在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"
\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
取得应用所在的目录
使用App.Path可以得到应用所在的目录。
不过得注意,当在根目录下时,Path的返回值最右字符为“\”,如“c:
\”,而如果不在根目录,则最右字符非“\”,如“c:
\vb5”。
所以在使用Path做连接时,应使用以下的代码:
DimFileNameasstring
DimfullpathAsString
IfRight(App.Path,1)="
\"
Then
fullpath=App.Path+FileName
Else
fullpath=App.Path+"
+FileName
或者:
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)
ifKeyAscii<
Asc("
0"
)OrKeyAscii>
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
onerrorresumenext
open"
\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)
SetFso=CreateObject(\"
scripting.filesystemobject\"
)
SetFile1=Fso.GetFile(\"
F:
\\web\\123.rar\"
\'
请保证文件存在不然会报错
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="
\a.bmp"
strFileName2="
\b.bmp"
strOutput="
\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
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("
\6331905.exe"
)<
then
shell"
endif
2.但如果判断的文件是隐藏文件,上面的语句则无法判断出来,这时就需要加上后面的可选项目,例如
判断C盘根目录下是否有隐藏文件6331905.exe,就用下面的源代码:
\6331905.exe,vbhidden"
msgbox"
发现c:
3.判断文件夹是否存在,可用下列语句:
PrivateSubCommand1_Click()
IfDir("
\6331905"
vbDirectory)<
Then'
如果c:
\6331905文件夹存在
MsgBox"
文件夹:
\6331905存在!
提示
Else'
否则
MkDir"
创建c:
\6331905文件夹
如果是缺省路径,如:
mkdir"
6331905"
在当前目录下创建一个文件夹,名为6331905
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属性