用XML写的留言录(vb.net)(一)

作者:fx_blog(CSDN)

日期: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

'好了,今天就先写一部分,总共有五部分.

'大家理理解理解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fx_blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值