记事本程序编程(一)
实验内容:
利用VB里的一些控件、窗体操作 、界面设计实现记事本的功能,即,可利用所编的记事本程序,在上面输入文本内容,并且可以对文本内容进行复制、剪切、粘贴、全选的操作,也可对文本的字体进行设置,还可以改变文本的背景颜色,添加系统当前的时间,还可对记事本进行基本的文件操作功能,如打开保存文件、打印文件、退出文件等,既能在文本中实现查找词、字的功能,也可以提供一些帮助、关于记事本的信息。该记事本程序具有WINDOWS操作系统里的记事本的一些基本的功能。
实验步骤:
1、 记事本界面设计。向窗体上添加一些基本控件,如标签、文本框、等,并对这些控件的基本属性进行设置。再添加
ActiveX控件,如通用对话框等,并对其一般属性进行设置。使用菜单编辑器对窗体上要显示的菜单进行一般的设计。
2、 进行代码编程。对记事本程序窗体上的控件方法进行编程。
3、 运行并改进所编的程序。运行程序,对记事本里的一些功能进行实践,若不能正常运行,需对程序进行修改。
1、 记事本界面设计
在VB中新建一个工程,打开窗体,往窗体里添加文本框控件和通用对话框控件。文本框和通用对话框的基本属性不需要修改。
按照下表在菜单编辑器里进行编辑:
标
名称
快捷键
有效
可见
文件(F)
File
——
√
√
…新建(N)
New
Ctrl+N
√
√
…打开(O)
Open
Ctrl+O
√
√
…保存(S)
Save
Ctrl+S
√
√
…-
——
——
√
√
…打印(P)
Print
Ctrl+P
√
√
…退出(X)
Exit
Ctrl+E
√
√
编辑(E)
Edit
——
√
√
…复制(C)
Copy
Ctrl+C
√
√
…剪切(T)
Cut
Ctrl+X
√
√
…粘贴(P)
Paste
Ctrl+V
√
√
…-
——
——
√
√
…时间/日期(D)
Time
F5
√
√
…全选(A)
All
Ctrl+A
√
√
格式(O)
Format
——
√
√
…背景颜色
Color
F1
√
√
…字体(F)
Font
——
√
√
…搜索(S)
Search
——
√
√
…查找(F)
Find
Ctrl+F
√
√
…查找下一个(N)
Findon
F3
√
√
帮助(H)
Help
——
√
√
…帮助主题(H)
HelpTheme
——
√
√
…关于(A)
About
——
√
√
2、 记事本各功能模块设计
1、 文件菜单
文件菜单下的各个菜单选项可使用通用对话框的事件进行编程。打开、保存、打印可依次用ShowOpen、ShowSave、ShowPrint来实现。新建文件可通过将文本框内容清空,将其命名即可实现。退出可使用End命令实现。
2、 编辑菜单
复制、剪切、粘贴菜单,可借助于WINDOWS里的剪贴板来实现。复制,即将选中的内容放进剪贴板里;而剪切,则需要将选中的内容放进剪贴板里,再清空文本框里的内容实现;粘贴,就是将剪贴板里的内容放到文本框里来实现。全选借助于文本框的SelLength属性来实现。时间日期的现实借助于时间函数来实现。
3、 格式菜单
对文本的背景颜色和字体进行设置,可通过通用对话框的ShowColor、ShowFont来实现。
4、 搜索菜单
查找菜单,即是一个与用户进行交互操作的对话框,可借助于InputBox函数来实现。产生一个提示用户输入内容的对话框。继续查找命令,即从当前位置开始,在整个文本范围内进行搜索。
5、 帮助菜单
由于条件的限制,该记事本无法为用户提供帮助信息,因此需要显示一个无法帮助的消息框,该消息框可用VB里的MsgBox来产生。关于子菜单,也是只需产生一个提示用户的对话框即可,也需要用MsgBox函数来实现。
意见与建议:
记事本程序编程(二)
实验内容:
通过上面对该记事本程序功能模块的设计分析和有关的操作界面设置,下面对该记事本程序进行编程。程序代码如下:
Dim findstr As String
Dim filetype, fitype As String
Dim filename As String
(对通用变量进行声明)
Private Sub Form_Load()
Form1.Height = 8000
Form1.Width = 9000
End Sub
(对窗体进行设置)
Private Sub Form_Resize()
Text1.Top = 20
Text1.Left = 20
Text1.Height = Height - 725
Text1.Width = Width - 150
End Sub
(再次对窗体进行设置)
Private Sub New_Click()
Text1.Text = ""
filename = "新建个人记事本"
Form1.Caption = filename
End Sub
(新建一个个人记事本)
Private Sub Open_Click()
CommonDialog1.Filter = _
"文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowOpen
Text1.Text = ""
filename = CommonDialog1.filename
Form1.Caption = "个人记事本:" & filename
End Sub
(打开文件,文件类型可以为文本文档、RFT文档和所有文件)
Private Sub Save_Click()
CommonDialog1.Filter = _
"文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
If Len(Trim(CommonDialog1.filename)) > 0 Then
Open CommonDialog1.filename For Output As #1
Print #1, Text1.Text
Close #1
End If
(将文件保存起来)
Private Sub Print_Click()
CommonDialog1.CancelError = True
CommonDialog1.ShowPrinter
For i = 1 To CommonDialog1.Copies
Next i
Printer.EndDoc
Exit Sub
End Sub
(对文件进行打印)
Private Sub Exit_Click()
End
End Sub
(退出记事本程序)
Private Sub All_Click()
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End Sub
(全选文本内容)
Private Sub Copy_Click()
Clipboard.Clear
Clipboard.SetText Text1.SelText
End Sub
(复制文本)
Private Sub Cut_Click()
Clipboard.Clear
Clipboard.SetText Text1.SelText
Text1.SelText = ""
End Sub
(剪切文本)
Private Sub Paste_Click()
Text1.SelText = Clipboard.GetText
End Sub
(粘贴文本)
Private Sub Time_Click()
Print Now
End Sub(显示时间)
Private Sub Color_Click()
CommonDialog1.Action = 3
Text1.BackColor = CommonDialog1.Color
End Sub
(设置文本的背景颜色)
Private Sub Font_Click()
CommonDialog1.CancelError = True
CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects
CommonDialog1.Action = 4
Text1.FontSize = CommonDialog1.FontSize
Text1.FontBold = CommonDialog1.FontBold
Text1.FontItalic = CommonDialog1.FontItalic
Text1.FontStrikethru = CommonDialog1.FontStrikethru
Text1.FontUnderline = CommonDialog1.FontUnderline
Text1.ForeColor = CommonDialog1.Color
End Sub
(对文本的字体进行设置)
Private Sub Find_Click()
findstr = InputBox("请输入要查找的字、词", "查找", findstr)
Text1.Find findstr
End Sub
(查找文本)
Private Sub FindOn_Click()
Text1.SelStart = Text1.SelStart + Text1.SelLength + 1
Text1.Find findstr, , Len(Text1)
End Sub
(继续查找文本)
Private Sub Helptheme_Click()
MsgBox "对不起,帮助无法显示!请使用其它途径解决疑问" + Chr(13) + Chr(10) + "感谢您的使用!", vbOKOnly, "帮助"
End Sub
(显示帮助消息框)
Private Sub About_Click()
MsgBox "简单个人记事本", vbOKOnly, "关于"
End Sub
(显示关于消息框)
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
PopupMenu Edit
Else
Exit Sub
End If
End Sub
(设置弹出式菜单)
意见与建议:
学生信息录入界面
实验内容:
利用VB里的一些控件、窗体操作 、界面操作方法设计一个学生信息录入界面,使输入该界面的学生信息存入指定的文件中。输入的学生信息包含多个,如姓名、性别、身份证号、入学成绩、出生年月、籍贯以及其它的一些信息。当将学生信息输入完成后,点击写入文件,即可将该学生的信息写入预先指定的文件里,实现保存学生信息的功能。
实验步骤:
1、 信息输入界面设计。向窗体上添加一些基本控件,如标签、命令按钮、单选按钮、框架、文本框等,并对这些控件的基本属性进行设置。
2、 进行代码编程。对该学生信息录入界面窗体上的控件方法分别进行编程。
3、 运行并改进所编的程序。运行程序,检查该学生信息输入界面能否将学生信息存入。若不能,需要对程序的编程进行检查修改,使其正常运行。
1、 程序界面设计
新建一个工程,打开窗体界面,添加基本控件,如标签、命令按钮、单选按钮、框架、文本框,除标签、单选按钮需要修改Caption外,其它使用其默认属性即可,对其位置进行调整,使界面显得整齐有条理性。程序界面如下图所示:
二、学生信息录入界面功能模块
由于学生信息是由数据类型不同的变量组合在一起的,所以程序开始时需要进行自定义变量。学生信息输入包含三个过程:1、窗体载入时,目标文件必须是打开的,使用Open命令可以实现。2、学生信息的输入过程,即将窗体中各个控件的Caption赋给自定义类型的各个变量。3、文件写入完成后,需要清空窗体上的内容,以便进行下次输入,输入完成后需要关闭窗体。
3、 程序编程
代码如下:
(在标准模块里进行如下自定义变量的声明)
Type student
sname As String * 16
shome As String * 40
ssex As String * 2
sbirthday As String * 10
iresult As Integer
sid As String * 18
sother As String * 60
End Type
(在通用声明中,定义全局变量)
Dim studentvar As student
(窗体载入,打开目标文件)
Private Sub Form_Load()
Open "f:\student.dat" For Random As #1 Len = Len(studentvar)
clear
End Sub
(写入文件操作)
Private Sub Command1_Click()
With studentvar
.sname = Text1.Text
.shome = Text2.Text
.ssex = IIf(Option1.Value, "男", "女")
.sbirthday = Text3.Text
.iresult = Val(Text4.Text)
.sid = Text5.Text
.sother = Text6.Text
End With
Put #1, , studentvar
clear
End Sub
(清空界面内容)
Private Sub clear()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
End Sub
(结束程序的运行)
Private Sub Command2_Click()
Close
End
End Sub
意见与建议:
《可视化程序》编程作业
院系:电气工程
专业:生物医学工程
班级:一班
学号:20090260127
姓名:袁燕