用VB.net2008編寫英漢查詢順序。本站提示廣大學習愛好者:(用VB.net2008編寫英漢查詢順序)文章只能為提供參考,不一定能成為您想要的結果。以下是用VB.net2008編寫英漢查詢順序正文
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)添加出來,留意:我們一定要將所樹立的文本文件放在順序根目錄下如\bin\Debug\援用英漢詞典.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 ' 讀取相應的單詞
Dim m As String '讀取單詞的中文解釋
Dim stringchang 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
For k = words To i + 1 Step -1
Myword(k + 1, 0)= Myword(k, 0)
Myword(k + 1, 1)= Myword(k, 1)
Next k
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))' 數組裡的單詞寫入文本文件(TXT)
Next
FileClose(1)' 文件將會封閉
ListBox1.Items.Clear()
Form1_load(sender, e)
MessageBox.Show("添加成功")
Exit Sub
End If
End Sub
進入Button3_Click事情
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button3.Click
Dim ch As String
Dim j As Integer
If -1 = ListBox1.SelectedIndex Then
MsgBox("請選擇單詞再停止修正")
ListBox1.Focus()
Exit Sub
End If
AD: ch = InputBox("請輸出修正單詞的中文意思", "修正單詞", Trim(Myword(ListBox1.SelectedIndex, 1)))
If ch = "" Then
MessageBox.Show("不能刪除以前的中文解釋")
GoTo AD
End If
Myword(ListBox1.SelectedIndex, 1)= ch
FileOpen(1, Filename, OpenMode.Output)' 翻開文件
For j = 0 To words - 1
PrintLine(1, Myword(j, 0)& " " & Myword(j, 1))
Next
FileClose(1)'文件封閉
ListBox1.Items.Clear()
Form1_Load(sender, e)
End Sub
進入Button4_Click事情
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button4.Click
Dim i, j, k As Integer
k = MsgBox("您確定能否刪除嗎?", MsgBoxStyle.YesNo)
If 6 = k Then
For i = ListBox1.SelectedIndex To words
Myword(i, 0)= Myword(i + 1, 0)
Myword(i, 1)= Myword(i + 1, 1)
Next
words = words - 1
FileOpen(1, Filename, OpenMode.Output)' 翻開文件
For j = 0 To words - 1
PrintLine(1, Myword(j, 0)& " " & Myword(j, 1))
Next
FileClose(1)'文件封閉
MsgBox(" 單詞曾經刪除了")
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
ListBox1.Refresh()
TextBox1.Text = ""
TextBox2.Text = ""
Exit Sub
Else
Exit Sub
End If
End Sub
好了如今我們運轉一下順序停止測試,在如圖7中我們輸出包括在文本文件的一些單詞停止搜索,順序可以查找出來並將其翻譯成中文。
圖 7
假如我們輸出沒有在文本文件中所存儲的單 詞會怎樣呢?這時順序會要求我們添加新的單詞,以及詳細的中文意思,順序會將數據自動保管到數 據庫中。比方我們輸出China。如圖8
圖 8
圖 9
輸出完成後我們在文本框中輸出China停止搜索。如圖10
圖 10
好了順序運轉成功,一個復雜的英漢查詢順序就制造完成了。當然我們假如可以和真正的數據庫Sql server和Access等聯絡起來構建一個英漢查詢順序,將會使得順序功用愈加弱小。