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

原创 2005年05月22日 01:04:00

作者: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

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

'大家理理解理解

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

作者:fx_blog(CSDN)日期:2005-5-22标题:威人留言录(v1.8)注意:转贴一定注明作者及出处**********************这一部分我们来完成用户注册信息修改的功能**...
  • fx_blog
  • fx_blog
  • 2005年05月22日 02:56
  • 1624

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

作者:fx_blog(CSDN)日期:2005-5-22标题:威人留言录(v1.8)注意:转贴一定注明作者及出处***************这一部分我们来完成修改与删除留言功能***********...
  • fx_blog
  • fx_blog
  • 2005年05月22日 02:23
  • 1794

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

作者:fx_blog(CSDN)日期:2005-5-22标题:威人留言录(v1.8)注意:转贴一定注明作者及出处******************************************开始...
  • fx_blog
  • fx_blog
  • 2005年05月22日 01:45
  • 2720

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

作者:fx_blog(CSDN)日期:2005-5-22标题:威人留言录(v1.8)注意:转贴一定注明作者及出处*****************************************开始*...
  • fx_blog
  • fx_blog
  • 2005年05月31日 14:54
  • 1223

VB.net学习笔记(二十一)XML流的读写

System.Xml名称空间支持XML的处理,为了生成和浏览XML文档,使用两种访问方式: 一、读写方式     (一)基于流的方式     特点:速度快,可连续读写,缺点不能作为节点、元素等进...
  • dzweather
  • dzweather
  • 2016年05月22日 12:07
  • 4189

java微信订阅号(公众号)开发案例

个人微信订阅号开发基本步骤和代码解析
  • j086924
  • j086924
  • 2016年11月22日 11:31
  • 2186

使用vb.net向xml文件添加节点

今天研究了好久如何用vb.net想xml文件中添加节点 确实在网上写了很多相关的文章,但就是无法理解透彻 刚刚终于找到了一篇文章,使用了极其简单的方式向xml文件中加入了节点 -----------...
  • u010052030
  • u010052030
  • 2013年10月04日 15:12
  • 1114

SSH整合之入门级例子:简易留言板(完整源码)

一.环境说明 ※Windows 10 ver 1703 ※IDEA 2017 2.5 ※JDK 1.8 ※MySQL 5.7 ※Maven 3.5 二.框架说明 ※Spring 4.3.11 ※Spr...
  • cslucifer
  • cslucifer
  • 2017年10月11日 19:36
  • 555

node.js使用(五):网站访问、搭建服务器及留言功能的实现

1、用nodejs实现留言功能。新建message.js文件const http = require('http'); const qs = require('querystring'); cons...
  • sinat_37390744
  • sinat_37390744
  • 2017年07月06日 15:06
  • 227

Vue制作简易留言板!

更新我的第一篇博客,第一篇博客跟大家分享的是自己用Vue写的一个简易留言板             整个页面由HTML(结构),CSS(表现),Js(行为)组成。             首先第一...
  • wwwwr0621
  • wwwwr0621
  • 2017年07月09日 12:08
  • 485
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用XML写的留言录(vb.net)(一)
举报原因:
原因补充:

(最多只允许输入30个字)