Visual Studio 2008在稳定性方面增强不少,笔者在使用时很少出现BUG的情况,而且Visual Studio2008在网络应用编程与数据处理方面也比原来版本增强了不少,开发效率有了提高。最近有一位好友在写一个关于中英文查询的小程序,其中这位好友对采用SQL Server数据库还是ACCESS数据库进行了一些思考,最终这位好友选择了比较容易的ACCESS数据库进行开发。其实还有更加简单的办法,那就是不使用这些数据库同样也可以进行中英文查询程序的开发。本篇文章将介绍如何编写一个简单的英汉查询程序,希望对大家有所帮助。
打开 Visual Studio 2008在文件 (File) 菜单上,单击新建项目 (New Project)。 在新建项目 (New Project) 对话框的模板 (Templates) 窗格中,单击 Windows 应用程序(Windows Application)。单击确定 (OK) 如图1。
图 1
选择Form1窗体,在Form1窗体中添加如下控件和设置其属性:
Label1 | Text | 输入单词: |
TextBox1 | Text | 为空 |
TextBox2 | Multiline | True |
ListBox1 | ||
Button1 | Text | 搜索 |
Button2 | Text | 增加 |
Button3 | Text | 修改 |
Button4 | Text | 删除 |
适当地去调整控件的位置如图2
图2
接下来我们需要创建一个文本文件(.txt),用这个文本文件来存储单词,作为我们的数据库。我们需要输入一些英文单词和中文意思(你可以任意的输入一些内容),(文本文件名字命名为:引用英汉词典.txt)引用英汉词典.txt这个命名非常重要一定要正确。如图3
图3
记住保存在程序根目录下。
下一步选择<解决方案资源管理器>-选择显示所有文件-选中<bin文件夹>-右键选择<包括在项目中>如图4
图4
选中了后,我们就把bin文件夹包括在项目中了,这时bin文件夹变了颜色,我们需要再次右键选择bin文件夹-<添加>---<现有项>如图5
图 5
这时我们需要将刚才建立的文本文件(引用英汉词典.txt)添加进去,注意:我们一定要将所建立的文本文件放在程序根目录下如binDebug引用英汉词典.txt
后面我们会在代码中调用这个文件作为我们的数据库,在进行程序调试中必定要用到的。如图6
图6
好了现在我们需要输入代码,首先需要进行声明:
Public Class Form1
Inherits System.Windows.Forms.Form
Public Filename As String = "引用英汉词典.txt" '定义连接数据的文本TXT
Public Myword(6500, 1) As String '定义二维数组
Public words As Integer = 0 '记录连接数据的文本TXT 单词个数
进入Form1_Load事件
Private Sub Form1_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim main As String
Dim chang As Integer ' 单词长度
Dim i As Integer = 0 '数组的开始位置
Dim n As String '读x相应的单词
Dim m As String '读取单词的中文解释
Dim st ringchang As Integer '计算单词后字符串的长度
TextBox1.Text = ""
TextBox2.Text = ""
FileOpen(1, Filename, OpenMode.Input) '打开文件,相对路径
Do While Not EOF(1)
main = LineInput(1)
chang = InStr(main, " ") '查找空格的位子。
n = Microsoft.VisualBasic.Left(main, chang - 1) '截取空格字符:单词
Myword(i, 0) = n '保存新的单词
ListBox1.Items.Add(n)
stringchang = Len(main) - chang
m = Trim(Microsoft.VisualBasic.Right(main, stringchang)) '剩下的字符串赋给变量值m
Myword(i, 1) = m '保存中文的翻译(解释)
i = i + 1
Loop
words = i
FileClose(1)
End Sub
进入ListBox1_SelectedIndexChanged事件
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Try
TextBox1.Text = Myword(ListBox1.SelectedIndex, 0)
TextBox2.Text = Trim(Myword(ListBox1.SelectedIndex, 1))
Catch ex As Exception
Exit Sub
End Try
End Sub
进入Button1_Click事件
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer = -1 '以数组来进行起始查询
If TextBox1.Text = "" Then
MessageBox.Show("不能输入空字符,请重新输入")
TextBox2.Text = ""
TextBox1.Focus()
Exit Sub
Else
For i = i + 1 To words
If LCase(TextBox1.Text) = LCase(Myword(i, 0)) Then
TextBox2.Text = Trim(Myword(i, 1))
Exit Sub
End If
Next
MessageBox.Show("不存在您所需要的单词,你需要添加一个新的")
End If
End Sub
进入Button2_Click事件
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim i As Integer = 0
Dim k As Integer
Dim EnterWords, ch As String
AB: EnterWords = InputBox("请输入想要添加的单词", "添加一个新的单词") '先输入单词
If EnterWords = "" Then
MessageBox.Show("必须要输入单词")
GoTo AB
End If
AC: ch = InputBox("需要您输入中文意思", "添加一个新的中文意思") '输入中文意思
If ch = "" Then
MessageBox.Show("请输入中文翻译")
GoTo AC
End If
Do While LCase(Myword(i, 0)) < LCase(EnterWords)
i = i + 1
If words = i Then '找完数据库再进行添加
Myword(i, 0) = EnterWords '把新添加的单词赋给I位置
Myword(i, 1) = ch '把新添加的单词(中文意思)赋给I的位置
words = words + 1
FileOpen(1, Filename, OpenMode.Output) '打开一个文件
For i = 0 To words - 1
PrintLine(1, Myword(i, 0) & " " & Myword(i, 1))
Next
ListBox1.Items.Clear()
FileClose(1) '关闭文件
ListBox1.Items.Clear()
Form1_load(sender, e)
MessageBox.Show("添加成功")
Exit Sub
End If
Loop
If LCase(Myword(i, 0)) = LCase(EnterWords) Then
MessageBox.Show("词库里已经存在这个单词了")
Exit Sub
Else