作者:fx_blog(优快云)
日期:2005-5-22
标题:威人留言录(v1.8)
注意:转贴一定注明作者及出处
'*****************************************开始******************************************************
'*******************************************准备工作*****************************************
'首先需在自己机上有.Net Framework2003
'打开.Net Framework-文件-新建-项目-Visual-Basic-项目
留言主界面如上所示:
(1)这是个由三个Panel组成的小界面,其中蓝色部分,要设为Visible=false
(2)我的文件夹是:D:/vbproject/WindowsApplication2
(3)在:D:/vbproject/WindowsApplication2/bin下建立一个"info.xml"
'******************************准备工作结束***************************************
'***************************接下来----开始写代码**************************************
'首先来完成========"注册"功能
'先在最上面的地方导入名命空间
Imports System.Xml
Imports System.Xml.XPath
Imports System.IO
Imports System.Text
Imports System.Data
Imports System.Text.RegularExpressions
Imports WindowsApplication2.form4
'再单击窗体上的菜单栏--项目--添加新项--
(1)左边---本地项目项
(2)右边---Windows窗体
(3)打开
'回到留言界面
'双击上面的"注册"按钮
'写入:
Dim newform As New Form2
newform.Show()
'上面的不用我来解释了吧,不懂的去看书
'好现在打开窗体2------Form2
界面如下:
这个窗体要注册的地方:
那个combobox1里的"请选择职业",要和Items里的第一项一样(Text=SelectedIndex=0)
首先完成“是否有该用户”的功能
'同样也要导入名命空间
'双击窗体何一地方
'在编辑代码的最上方导入命名空间:
Imports System.Data
Imports System.Xml
Imports System.Xml.XPath
Imports System.IO
Imports System.Text
Imports System.Collections
'然后双击"是否有该用户"按钮
'写入以下代码:
If TextBox1.Text = "" Then
MessageBox.Show("用户名不能为空!")
Exit Sub
End If
Dim doc As New XmlDocument
doc.Load("info.xml")
Dim root As XmlElement
Dim list As XmlNodeList = doc.GetElementsByTagName("userid")
Dim i As Integer
For i = 0 To list.Count - 1
While TextBox1.Text = list(i).InnerText
MessageBox.Show("已经有该用户名了")
Exit Sub
End While
Next
MessageBox.Show("你可以用这个用户名!")
Exit Sub
'再来完成注册功能:
'双击右下角的"注册"按钮:
'写入以下的代码
(1)首先也要检测是否在XML文档里是否有该用了:
(2)第二步再来注册
(3)我们用的是XMLDocument来完成的
If TextBox1.Text <> "" Then
Dim doc As New XmlDocument
doc.Load("info.xml")
Dim root As XmlElement
Dim list As XmlNodeList = doc.GetElementsByTagName("userid")
Dim i As Integer
For i = 0 To list.Count - 1
While TextBox1.Text = list(i).InnerText
MessageBox.Show("已经有该用户名了")
Exit Sub
End While
Next
End If
If TextBox1.Text <> "" And TextBox2.Text <> "" And TextBox3.Text <> "" And TextBox4.Text <> "" And ComboBox1.SelectedIndex > 0 And (RadioButton1.Checked Or RadioButton2.Checked) Then
If TextBox2.Text = TextBox4.Text Then
Try
Dim doc As New XmlDocument
doc.Load("info.xml")
Dim root As XmlNode = doc.DocumentElement
Dim list As XmlNodeList = doc.GetElementsByTagName("userid")
Dim i As Integer
' For i = 0 To list.Count - 1
'If TextBox1.Text <> list(i).InnerText Then
Dim users As XmlElement = doc.CreateElement("users")
Dim newname As XmlElement = doc.CreateElement("userid")
newname.InnerText = TextBox1.Text
users.AppendChild(newname)
Dim newPass As XmlElement = doc.CreateElement("Pass")
newPass.InnerText = TextBox2.Text
users.AppendChild(newPass)
Dim userinfomain As XmlElement = doc.CreateElement("userinfomain")
Dim faverity As XmlElement = doc.CreateElement("faverity")
faverity.InnerText = TextBox3.Text
userinfomain.AppendChild(faverity)
Dim girlOrBoy As XmlElement = doc.CreateElement("girlOrBoy")
If (RadioButton1.Checked) Then
girlOrBoy.InnerText = RadioButton1.Text
Else
girlOrBoy.InnerText = RadioButton2.Text
End If
userinfomain.AppendChild(girlOrBoy)
Dim xueLi As XmlElement = doc.CreateElement("xueLi")
xueLi.InnerText = ComboBox1.SelectedItem
userinfomain.AppendChild(xueLi)
Dim infotrue As XmlElement = doc.CreateElement("infotrue")
infotrue.InnerText = TextBox5.Text
userinfomain.AppendChild(infotrue)
users.AppendChild(userinfomain)
root.AppendChild(users)
doc.Save("info.xml")
MessageBox.Show("注册成功!!")
Me.Close()
Exit Sub
'Else
'MessageBox.Show("对不起,该用户名已经存在")
'Exit Sub
'End If
'Next
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Else
MessageBox.Show("两次密码不一致")
End If
Else
MessageBox.Show("请输入完整!")
End If
'“关闭”按钮
Me.Close()
'“重填”按钮
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
'好了,注册界成就完成了.
'现在回到留言主界面,我们来完成登陆功能
'双击留言主界面上方的"登陆"按钮
'在以下写入如下代码:
Me.Text = "留言主界面-用户登陆"
If TextBox1.Text <> "" And TextBox2.Text <> "" Then
Dim doc As New XmlDocument
doc.Load("info.xml")
Try
Dim root As XmlNode = doc.DocumentElement
Dim listuser As XmlNodeList
Dim listpass As XmlNodeList
listuser = doc.GetElementsByTagName("userid")
listpass = doc.GetElementsByTagName("Pass")
Dim i, j As Integer
For i = 0 To listuser.Count - 1
For j = 0 To listpass.Count - 1
While TextBox1.Text = listuser(i).InnerText And TextBox2.Text = listpass(i).InnerText
Panel3.Visible = True
MessageBox.Show("登陆成功")
TextBox2.Text = ""
Exit Try
End While
Next
Next
MessageBox.Show("密码或用户名错误!")
Exit Sub
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Else
MessageBox.Show("请输入完整!")
End If
'好了,登陆功能完成了
'接下来完成用户搜索功能(支持)模糊搜索功能.
' 双击"查询用户"按钮
'在下面写入以下的代码:
Me.Text = "留言主界面-用户名搜索"
TextBox4.Text = ""
Dim doc As XmlDocument = New XmlDocument
doc.Load("info.xml")
Dim match As String
match = TextBox3.Text
Dim regular As Regex = New Regex(match)
Dim userid As XmlNodeList = doc.GetElementsByTagName("userid")
Dim faverity As XmlNodeList = doc.GetElementsByTagName("faverity")
Dim girlOrBoy As XmlNodeList = doc.GetElementsByTagName("girlOrBoy")
Dim xueLi As XmlNodeList = doc.GetElementsByTagName("xueLi")
Dim infotrue As XmlNodeList = doc.GetElementsByTagName("infotrue")
Dim i As Integer
TextBox4.Text += "以下是相似的记录" & vbCrLf
TextBox4.Text += "==================================" & vbCrLf
For i = 0 To userid.Count - 1
While regular.IsMatch(userid(i).InnerText)
TextBox4.Text += "用户名: " & userid(i).InnerText & vbCrLf
TextBox4.Text += "爱好: " & faverity(i).InnerText & vbCrLf
TextBox4.Text += "性别: " & girlOrBoy(i).InnerText & vbCrLf
TextBox4.Text += "学历: " & xueLi(i).InnerText & vbCrLf
TextBox4.Text += "各人说明: " & infotrue(i).InnerText & vbCrLf
TextBox4.Text += "=======================================" & vbCrLf
Exit While
End While
Next
'用户查询功能就完成了
'大家先理解理理解一下
'*******************************************结束*****************************************8
'好了,今天就先写一部分,总共有五部分.
'大家理理解理解