作者:fx_blog(优快云)
日期:2005-5-22
标题:威人留言录(v1.8)
注意:转贴一定注明作者及出处
'******************************************开始********************************
'接下来我们来完另处部分的功能
'***********************删除用户*********************************88
'这个删除用户只能由admin 来完成
'代码如下:
'双击“删除用户”按钮
'写入以下代码:
Me.Text = "留言主界面-管理员删除用户"
If TextBox3.Text = "" Then
MessageBox.Show("请输入要删除的用户!!!")
Exit Sub
End If
If TextBox1.Text <> "admin" Then
MessageBox.Show("对不起,你不是管理员,无法删除!")
Exit Sub
End If
Dim doc As XmlDocument = New XmlDocument
doc.Load("info.xml")
Dim getUser As XmlNodeList = doc.GetElementsByTagName("userid")
Dim i As Integer
For i = 0 To getUser.Count - 1
While TextBox3.Text = getUser(i).InnerText
Dim useradmin As XmlElement
Dim root As XmlElement = doc.DocumentElement
Try
Dim removeUser As XmlElement
removeUser = doc.SelectSingleNode("/userinfo/users[userid='" & TextBox3.Text & "']")
doc.SelectSingleNode("/userinfo").RemoveChild(removeUser)
doc.Save("info.xml")
MessageBox.Show("删除成功")
Exit Sub
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End While
Next
MessageBox.Show("用户名不存在,请确认输入正确")
Exit Sub
'********************************删除用户功能结束************************************
'*******************************接下来完成留言功能********************************
(1)首先要注意不能让标题一样,这在我们以后的删除和修改留言是有用的
(2)我们建立了两个属性liuyuanpiaoti,id
所以我们的代码如下:
'双击“提交”按钮
'写入以下代码:
Me.Text = "留言主界面-用户留言"
If TextBox5.Text = "" Then
MessageBox.Show("标题不能空")
Exit Sub
End If
Dim doc As New XmlDocument
doc.Load("info.xml")
Dim checkpiaoti As XmlNodeList
checkpiaoti = doc.SelectNodes("//userliuyuan/@liuyuanpiaoti")
Dim checktrue As XmlNode
For Each checktrue In checkpiaoti
While TextBox5.Text = checktrue.InnerText
MessageBox.Show("标题已经存在,请选择其他标题")
Exit Sub
End While
Next
If ComboBox1.SelectedIndex >= 0 And TextBox4.Text <> "" Then
Try
Dim userid As XmlNode
Dim root As XmlNode = doc.DocumentElement
Dim users As XmlElement = doc.CreateElement("users")
users = doc.SelectSingleNode("/userinfo/users[userid='" & TextBox1.Text & "']")
Dim userliuyuaninfo As XmlElement = doc.CreateElement("userliuyuaninfo")
Dim userxinqing As XmlElement = doc.CreateElement("userxinqing")
userxinqing.InnerText = ComboBox1.SelectedItem
userliuyuaninfo.AppendChild(userxinqing)
Dim userliuyuan As XmlElement = doc.CreateElement("userliuyuan")
userliuyuan.InnerText = TextBox4.Text
Dim liuyuanid As XmlAttribute = doc.CreateAttribute("id")
Dim idNum As XmlNodeList
idNum = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userliuyuaninfo")
Dim i As Integer
i = idNum.Count - 1
liuyuanid.Value = i + 1
userliuyuan.SetAttributeNode(liuyuanid)
Dim liuyuanpiaoti As XmlAttribute = doc.CreateAttribute("liuyuanpiaoti")
liuyuanpiaoti.Value = TextBox5.Text
userliuyuan.SetAttributeNode(liuyuanpiaoti)
userliuyuaninfo.AppendChild(userliuyuan)
users.AppendChild(userliuyuaninfo)
root.AppendChild(users)
doc.Save("info.xml")
MessageBox.Show("留言成功")
Exit Sub
Catch ex As Exception
MessageBox.Show(ex.Message + "用户名不存在")
End Try
Else
MessageBox.Show("请输入完整")
Exit Sub
End If
(3)这是我们在注册完情况下才能写入的,我们注册完成后,把信息保存在"info.xml"下
(4)用这句:idNum = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userliuyuaninfo")
把自己留言的留言语保存在自己的那个Users节点下,完全无数据库
'******************************留言功能结束**************************************************
'******************************** 再来写显示自己的留言***********************************
'(1)把自己的留言显示在多行文件框内..
'代码如下:
'双击"查看留言"按钮
'写入以下的代码:
Me.Text = "留言主界面-显示你的留言"
TextBox4.Text = ""
Dim doc As New XmlDocument
doc.Load("info.xml")
Dim root As XmlElement = doc.DocumentElement
Dim showyourown As XmlNodeList
Try
showyourown = root.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']")
Dim myownliuyuan As XmlNodeList
myownliuyuan = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userliuyuaninfo/userliuyuan")
Dim showresult As XmlNode
TextBox4.Text += "你的留言!" & vbCrLf & vbCrLf
For Each showresult In myownliuyuan
TextBox4.Text += showresult.InnerText & vbCrLf
TextBox4.Text += "=====================" & vbCrLf
Next
Catch ex As Exception
MessageBox.Show("用户名不存在")
End Try
'******************************显示留言的功能结束*************************************
'**************************这个窗体上的其他小按钮的代码*******************8
'最上面的"重填"按钮
TextBox1.Text = ""
TextBox2.Text = ""
'第三部分的"重设"按钮
TextBox4.Text = ""
TextBox5.Text = ""
'“关闭”按钮
Me.Close()
'**********************************************现在我们来完成***********************************88
'****************************************显示所有留言的功能*************************************8888
'**************************************开始*************************************
'首先我们来建立一个窗口
'单击窗体上的菜单栏--项目--添加新项--
(1)左边---本地项目项
(2)右边---Windows窗体
(3)打开(Form3)
'双击蓝色部分Panel上的“查看全部”按钮
'写入以下代码
Dim showform As New Form3
showform.Show()
'用来显示我们要看留言的窗口
'好了,让我们打开Form3 窗体
'界面如下:
'在窗体上拉入一个多行的文件框:
然后双击窗体(不在Textbox上)进入Form3_Load(...)
'首先在最上面写入命名空间
Imports System.Xml
Imports System.Xml.XPath
Imports System.Text
Imports System.IO
写入以下的代码
(1)这里我们用循环来看出所有用户,再以每一个用户来显示出每位用户的所有留言
Dim doc As New XmlDocument
doc.Load("info.xml")
Dim listuser As XmlNodeList
listuser = doc.GetElementsByTagName("userid")
Dim listliuyuan As XmlNodeList
'Dim i, j As Integer
'For i = 0 To listuser.Count - 1
'Label1.Text += "姓名:" & listuser(i).InnerText & vbCrLf
'Next
'For j = 0 To listliuyuan.Count - 1
'Label1.Text += "留言语: " & listliuyuan(j).InnerText & vbCrLf
'Next
Dim i As Integer
For i = 0 To listuser.Count - 1
TextBox1.Text += "用户名: " & listuser(i).InnerText & vbCrLf
listliuyuan = doc.SelectNodes("userinfo/users[userid='" & listuser(i).InnerText & "']/userliuyuaninfo/userliuyuan")
Dim liuyuanresult As XmlNode
For Each liuyuanresult In listliuyuan
TextBox1.Text += "留言语: " & liuyuanresult.InnerText & vbCrLf
TextBox1.BackColor = Color.SandyBrown
Next
TextBox1.Text += "======================" & vbCrLf
Next
'关闭按扭不用我来写了
'*******************************显示所有留言结束******************************888
'好了就写这些了,这是第二部分.
'大家先看看..
'有问题给我留言....