VB程序设计.docx

上传人:b****6 文档编号:5949795 上传时间:2023-01-02 格式:DOCX 页数:18 大小:21.04KB
下载 相关 举报
VB程序设计.docx_第1页
第1页 / 共18页
VB程序设计.docx_第2页
第2页 / 共18页
VB程序设计.docx_第3页
第3页 / 共18页
VB程序设计.docx_第4页
第4页 / 共18页
VB程序设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

VB程序设计.docx

《VB程序设计.docx》由会员分享,可在线阅读,更多相关《VB程序设计.docx(18页珍藏版)》请在冰豆网上搜索。

VB程序设计.docx

VB程序设计

 

VisualBasic程序设计综合实训

 

班级:

×××

姓名:

×××

学号:

×××

指导老师:

×××

实习时间:

2011年6月13日—6月24日

目录

一、课程设计题目………………………………………………3

二、课程设计目的………………………………………………3

三、课程设计要求………………………………………………3

四、课程设计源代码

4.1实训一(命令按钮控件练习)………………………3

4.2实训二(工程的建立、保存步骤)…………………3

4.3实训三(产生一个区间范围内的随机数)…………3

4.4实训四(变体数据类型的特点、使用)……………3

4.5实训五(if、selectcase选择语句)……………4

4.6实训六(For…Next循环语句)……………………5

4.7实训七(数组的使用方法)…………………………5

4.8实训八(数组的使用方法二)………………………6

4.9实训九(Timer控件)………………………………6

4.10实训十(菜单编辑器)……………………………6

4.11实训十一(文件系统控件)………………………6

4.12实训十二(可视化数据管理器)…………………7

4.13实训十三(可视化数据管理器二)………………7

4.14实训十四(多文档界面)…………………………7

五、课程设计心得……………………………………………13

 

一、课程设计题目

VisualBasic程序综合设计

二、课程设计目的

1、掌握本学期课本所学知识的具体应用。

2、掌握工程、窗体、控件及一些事件的用法。

3、学生掌握一个实际应用项目的开发过程。

4、掌握VB应用程序向导的使用和多文档应用程序的设计和开发。

三、课程设计要求

1、按要求完成每个实训项目的内容。

2、每个实训项目都要求正常运行。

3、程序设计要在正常运行的基础上进一步优化。

四、课程设计源代码

4.1实训一:

命令按钮控件练习

PrivateSubCommand1_Click()

Form1.Width=Form1.Width-400

EndSub

PrivateSubCommand2_Click()

Form1.Height=Form1.Height-400

EndSub

PrivateSubCommand3_Click()

Form1.BackColor=vbYellow

EndSub

PrivateSubForm_Click()

Label1.Caption="请单击右面的命令按钮"

EndSub

4.2实训二:

工程的建立、保存步骤

PrivateSubCommand1_Click()

Debug.PrintText1.Text

Debug.PrintText2.Text

Debug.PrintText3.Text

EndSub

4.3实训三(产生[1,10]之间的随机数)

PrivateSubform_click()

StaticIAsInteger,rnAsInteger

Randomize

rn=Int(Rnd*10)+1

I=I+1

Print"第"&I&"次单击:

"&rn

EndSub

4.4实训四(变体数据类型的特点、使用)

PrivateSubform_click()

S1="1E2"+100:

s2=S1+"6.0"

n1=2^3:

n2=10

b=n1>n2Orn1

d=Date

Prints2,TypeName(s2)&"类型"

Printb,TypeName(b)&"类型"

Printd,TypeName(d)&"类型"

EndSub

4.5实训五(if、selectcase选择语句)

4.5.1用selectcase编写程序如下:

PrivateSubCommand1_Click()

DimifeeAsSingle,mAsSingle,nAsSingle

n=Val(Text1.Text)

m=(n-50)*20

ifee=n/10

SelectCaseifee

Case0To3

Label2.Caption="您的行李重量为"&n&"公斤,您可以免费携带"

Case3To5

Label2.Caption="您的行李重量为"&n&"公斤,您需支付10元运费"

CaseElse

Label2.Caption="您的行李重量为"&n&"公斤,您需支付"&m&"元运费"

EndSelect

Text1.SetFocus

Text1.SelStart=0

Text1.SelLength=Len(Text1.Text)

EndSub

4.5.2用if...else编写程序如下:

PrivateSubCommand1_Click()

DimmAsSingle,nAsSingle

n=Val(Text1.Text)

m=(n-50)*20

Ifn<=30Then

Label2.Caption="您的行李重量为"&n&"公斤,您可以免费携带"

ElseIfn<=50Then

Label2.Caption="您的行李重量为"&n&"公斤,您需支付10元运费"

Else

Label2.Caption="您的行李重量为"&n&"公斤,您需支付"&m&"元运费"

EndIf

Text1.SetFocus:

Text1.SelStart=0

Text1.SelLength=Len(Text1.Text)

EndSub

PrivateSubCommand2_Click()

End

EndSub

4.6实训六(For…Next循环语句分别输出三角形、平行四边形、菱形)

PrivateSubCommand1_Click()

Picture1.Cls

DimiAsInteger,jAsInteger

Fori=1To9

Forj=9-iTo1Step-1

Picture1.Print"*";

Nextj

Picture1.Print"*"

Nexti

EndSub

PrivateSubCommand2_Click()

Picture1.Cls

DimiAsInteger,jAsInteger

Fori=1To9

Picture1.PrintTab(15-i);

Forj=1To9

Picture1.Print"*";

Nextj

Picture1.Print"*"

Nexti

EndSub

PrivateSubCommand3_Click()

Picture1.Cls

DimiAsInteger,jAsInteger

Fori=-4To4

Picture1.PrintTab(3*Abs(i)+15);

Forj=1To9-2*Abs(i)

Picture1.Print5-Abs(i);

Nextj

Picture1.Print

Nexti

EndSub

4.7实训七(数组的使用方法一——用插入法将一组数据按升序排列)

PrivateSubCommand1_Click()'假设有十个数

Dims(10)AsInteger,tAsInteger,iAsInteger,nAsInteger

Fori=0To9

t=Val(InputBox("请任意输入一个数据:

","输入"))

Forj=0Toi-1

Ift

Nextj

Fork=10Toj+1Step-1

s(k)=s(k-1)'一直向后移一位,直到把s(j)这个位置空下

Nextk

s(j)=t'将插入的这个数放在已空出来的s(j)位置上

Cls

Fork=0Toi

Prints(k);

Nextk

Nexti

EndSub

4.8实训八(数组的使用方法二——生成并输出杨辉三角形)

PrivateSubCommand1_Click()

Dimd(10,10)AsInteger

DimjAsInteger,iAsInteger,kAsInteger

Picture1.Print

Fori=1To10

Forj=1Toi

Ifj=1Orj=iThen

d(i,j)=1

Else

d(i,j)=d(i-1,j)+d(i-1,j-1)

EndIf

Picture1.PrintTab(5*j);d(i,j);

Nextj

Nexti

EndSub

4.9实训九(Timer控件——设计一个动态开奖器)

PrivateSubCommand1_Click()'开始

Timer1.Enabled=True

EndSub

PrivateSubCommand2_Click()

StaticiAsInteger

Timer1.Enabled=False

Label2(i)=Label1.Caption

i=i+1

Ifi=4ThenCommand1.Enabled=False

EndSub

PrivateSubTimer1_Timer()

j=Int(Rnd*99)+1

Label1.Caption=Format(j,"00")

EndSub

4.10实训十(菜单编辑器)

不需要用源代码,只对界面进行设计

4.11实训十一(文件系统控件)

PrivateSubFile1_DblClick()

DimFnameAsString,StrlineAsString

Fname="c:

\windows\"+File1.FileName

OpenFnameForInputAs#1

DoWhileNotEOF

(1)

LineInput#1,Strline

Debug.PrintStrline

Loop

Close#1

EndSub

PrivateSubForm_Load()

Drive1.Drive="c:

"

Dir1.Path="c:

\windows"

File1.Pattern="*.ini"

EndSub

PrivateSubDrive1_Change()

Dir1.Path=Drive1.Drive

File1.Path=Dir1.Path

EndSub

PrivateSubDir1_Change()

File1.Path=Dir1.Path

EndSub

4.12实训十二(可视化数据管理器)

建立students.mdb数据库管理,增加对班级代码库的管理。

4.13实训十三(可视化数据管理器二)

(1)在Students.MDB增加一个成绩表grade

(2)添加FrmGrade窗体,使用FlexGrid控件浏览选定同学的成绩表。

不用源代码,只需了解数据库、表的建立,某些控件的用法。

4.14实训十四(多文档界面)

创建一个“多文档编辑器”应用程序,可以进行文档录入、编辑等工作,并可以按“.RFT”文件格式保存文档。

界面设计如老师给定的界面一样,代码如下:

1、主窗体模块:

PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,ByVallParamAsAny)AsLong

ConstEM_UNDO=&HC7

PrivateDeclareFunctionOSWinHelp%Lib"user32"Alias"WinHelpA"(ByValhwnd&,ByValHelpFile$,ByValwCommand%,dwDataAsAny)

PrivateSubMDIForm_Load()

Me.Left=GetSetting(App.Title,"Settings","MainLeft",1000)

Me.Top=GetSetting(App.Title,"Settings","MainTop",1000)

Me.Width=GetSetting(App.Title,"Settings","MainWidth",6500)

Me.Height=GetSetting(App.Title,"Settings","MainHeight",6500)

LoadNewDoc

EndSub

PrivateSubLoadNewDoc()

StaticlDocumentCountAsLong

DimfrmDAsfrmDocument

lDocumentCount=lDocumentCount+1

SetfrmD=NewfrmDocument

frmD.Caption="Document"&lDocumentCount

frmD.Show

EndSub

PrivateSubtbToolBar_ButtonClick(ByValButtonAsMSComctlLib.Button)

OnErrorResumeNext

SelectCaseButton.Key

Case"新建"

LoadNewDoc

Case"打开"

mnuFileOpen_Click

Case"保存"

mnuFileSave_Click

Case"打印"

mnuFilePrint_Click

Case"剪切"

mnuEditCut_Click

Case"复制"

mnuEditCopy_Click

Case"粘贴"

mnuEditPaste_Click

Case"粗体"

ActiveForm.rtfText.SelBold=NotActiveForm.rtfText.SelBold

Button.Value=IIf(ActiveForm.rtfText.SelBold,tbrPressed,tbrUnpressed)

Case"斜体"

ActiveForm.rtfText.SelItalic=NotActiveForm.rtfText.SelItalic

Button.Value=IIf(ActiveForm.rtfText.SelItalic,tbrPressed,tbrUnpressed)

Case"下划线"

ActiveForm.rtfText.SelUnderline=NotActiveForm.rtfText.SelUnderline

Button.Value=IIf(ActiveForm.rtfText.SelUnderline,tbrPressed,tbrUnpressed)

Case"左对齐"

ActiveForm.rtfText.SelAlignment=rtfLeft

Case"居中"

ActiveForm.rtfText.SelAlignment=rtfCenter

Case"右对齐"

ActiveForm.rtfText.SelAlignment=rtfRight

EndSelect

EndSub

PrivateSubMnuHelpAbout_Click()'在主窗口内模式显示"关于……"对话框'

FrmAbout.ShowvbModal,Me

EndSub

PrivateSubMnuHelpSearch_Click()'在主窗口内模式显示"选择主题"对话框'

DimnRetAsInteger

'如果这个工程没有帮助文件,显示消息给用户

IfLen(App.HelpFile)=0Then

MsgBox"无法显示帮助目录,该工程没有相关联的帮助。

",vbInformation,Me.Caption

Else

OnErrorResumeNext

nRet=OSWinHelp(Me.hwnd,App.HelpFile,261,0)

IfErrThen

MsgBoxErr.Description

EndIf

EndIf

EndSub

PrivateSubMnuWindowArrangeIcons_Click()'按图标方式重排主窗口中的子窗口

Me.ArrangevbArrangeIcons

EndSub

PrivateSubmnuWindowTileVertical_Click()'按垂直平铺方工重排主窗口中的子窗口'

Me.ArrangevbTileVertical

EndSub

PrivateSubmnuWindowTileHorizontal_Click()'按水平方工重排主窗口中的子窗口'

Me.ArrangevbTileHorizontal

EndSub

PrivateSubmnuWindowCascade_Click()'按层叠方式重排主窗口中的子窗口'

Me.ArrangevbCascade

EndSub

PrivateSubmnuViewStatusBar_Click()'显示式隐藏状态栏'

mnuViewStatusBar.Checked=NotmnuViewStatusBar.Checked

tbToolBar.Visible=mnuViewStatusBar.Checked

EndSub

PrivateSubmnuViewToolbar_Click()'显示式隐藏工具栏'

MnuViewToolBar.Checked=NotMnuViewToolBar.Checked

tbToolBar.Visible=MnuViewToolBar.Checked

EndSub

PrivateSubmnuEditCopy_Click()'复制编辑框选择处的文本到剪贴板上

OnErrorResumeNext

Clipboard.SetTextActiveForm.rtfText.SelRTF

EndSub

PrivateSubmnuEditCut_Click()'剪切编辑框选择处的文本到剪贴板上

OnErrorResumeNext

Clipboard.SetTextActiveForm.rtfText.SelRTF

ActiveForm.rtfText.SelText=vbNullString

EndSub

PrivateSubmnuEditPaste_Click()'粘贴剪贴板上的文本到编辑框选择处

OnErrorResumeNext

ActiveForm.rtfText.SelRTF=Clipboard.GetText

EndSub

PrivateSubmnuEditSpecial_Click()'设置文档块

ActiveForm.rtfText.SelStart=0

ActiveForm.rtfText.SelLength=Len(ActiveForm.rtfText.Text)

EndSub

PrivateSubmnuFileExit_Click()'卸载窗体

UnloadMe

EndSub

PrivateSubmnuFilePrint_Click()'显示"打印"对话框'

OnErrorResumeNext

IfActiveFormIsNothingThenExitSub

WithdlgCommonDialog

.DialogTitle="Print"

.CancelError=True

.Flags=cdlPDReturnDC+cdlPDNoPageNums

IfActiveForm.rtfText.SelLength=0Then

.Flags=.Flags+cdlPDAllPages

Else

.Flags=.Flags+cdlPDSelection

EndIf

.ShowPrinter

IfErr<>MSComDlg.cdlCancelThen'打印当前子窗口编辑框中的内容'

ActiveForm.rtfText.SelPrint.hDC

EndIf

EndWith

EndSub

PrivateSubmnuFileSaveAs_Click()'显示"另存为"对话框'

DimsFileAsString

IfActiveFormIsNothingThenExitSub

WithdlgCommonDialog

.DialogTitle="另存为"

.CancelError=False'ToDo:

设置commondialog控件的标志和属性

.Filter="RTF文件(*.RTF)|*.rtf"

.ShowSave

IfLen(.FileName)=0Then

ExitSub

EndIf

sFile=.FileName

EndWith

ActiveForm.Caption=sFile'将当前子窗口编辑框中的内容保存到文件:

sFlie'

ActiveForm.rtfText.SaveFilesFile

ActiveForm.boolDirty=False

EndSub

PrivateSubmnuFileSave_Click()'显示"保存"对话框'

DimsFileAsString

IfLe

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

当前位置:首页 > 自然科学

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

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