现在,我正在写机房收费系统VB.NET版,也没写多少,刚写了4个功能(而且还有一个功能现在还出错,没调试出来)。有些地方感觉写的还行,有的地方还需要改进。我说说,我在机房收费系统中用的一些感觉比较好的东西。
首先是正则表达式,只要Imports System.Text.RegularExpressions就可以使用正则表达式了, 但是其实我对正则表达式知道的并不多。在这我把我用到的列举一下,有兴趣的可以看这个——正则表达式30分钟入门教程。
我现在用到的就是^,$(分别是数字键6和4上的),这两个是表示匹配的开始和结束。使用的时候最好把这两个加上,因为像是\d是匹配数字的,如果我写了这样一个正则匹配“\d{2}”,表示匹配两位数字,那么输入的字符串中只要有两个连续的数字,就可以通过验证;那么这样一个字符串“23wowne”,验证也是可以通的过的。但是写上^$,变成这样“^\d{2}$”,上面那个字符串“23wowne”,是通不过验证的。
还有就是\d(匹配数字),\w(匹配字母或数字或下划线或汉字),据说,\D表示匹配任意非数字的字符,\W表示匹配任意不是字母,数字,下划线,汉字的字符,我没用过。这个内容是在“正则表达式30分钟入门教程”反义中。
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
还有就是重复次数,学名叫限定符。我常用的就是{n},重复N次和{n,m},重复n到m次。
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
具体代码是这样的,网上也有很多。这是登录窗体,然后控制用户名和密码的输入。机房收费系统中,这样的验证挺多地方都用的上,可以写成一个方法。或者利用一个循环遍历,将窗体上用的上的控件都遍历一遍,检查格式。但是这样的if嵌套会比较多,逻辑会变复杂,不好,还是一个一个检查吧!
Imports System.Text.RegularExpressions '正则表达式 Public Class frmlogin Private Sub btnLogin_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnLogin.Click '正则表达式,控制输入 Dim patternUserID As String Dim patternPassword As String '对于正则表达式的定义,重复过多 patternUserID = "^\w{5,20}$" patternPassword = "^\w{5,15}$" '验证用户名格式 If Not (Regex.Match(txtUserID.Text,patternUserID).Success) Then MessageBox.Show("用户名为长度为5-20的任意字母,数字,下划线") txtUserID.Focus() Exit Sub Else '验证密码格式 If Not (Regex.Match(txtPassword.Text,patternPassword).Success) Then MessageBox.Show("密码为长度为5-15的任意字母,下划线!") txtPassword.Focus() Exit Sub End If End If End Sub End Class
然后是,不是特别重要的,获得计算机名。由于VB版的时候获取本机名算是比较复杂,要用到API。而在VB.NET中只要一句话就能搞定,很是方便。System.Net.Dns.GetHostName。
ComputerName = System.Net.Dns.GetHostName
再来就是真的很简单的VS的一些应用,以前我没有用过,现在才注意到,觉得这些功能挺好的。
我在解决方法资源管理器中,选择了一个窗体文件,然后显示的就是这样一排工具,
,从左到右依次是属性,查看所有文件,刷新,查看代码,视图设计器,查看类图。
点击“查看所有文件”,就会出现红框中的文件,再次点击,多出的文件就会隐藏。点开这些文件,可以发现里面有很多的文件。但是,目前好像用处不大。只是,以前总奇怪,C#中,如果引用了什么,可以在引用文件夹中看到,但是VB.NET中没有引用文件夹,总也看不到引用了什么。现在发现原来他是有引用文件夹的。
然后就是查看类图,感觉这个功能挺好的。以后用来看每层的类关系,很方便。