学生信息系统管理——优化总结(干货篇二)
引言
學生信息管理系統本身的代碼和結構邏輯并不是那么的難,但是調錯和優化確實花了我不少的時間,特別是優化,之前又沒有任何的積累,做起來一點思路都沒有。然后通過不斷的在網上查找資料和師父現場驗收時提出的問題總結,才有了今天的結果。
?
正文
一、特殊字符的限制:關于這類的限制市面上有非常多的方法,下面我給大家呈現幾種方法供大家參考,其實吧,只是大家不想動腦,他們都一樣,只是表達的方式不同罷了,如果那點沒有實現功能那一定是我們自己還對Ascii表不熟悉或者對怎么帶如代碼不會用。
?
第一種:可以限制住特殊的標點符號,數字沒有被限制,但是漢字也會被當做特殊字符被限制,如果要使用特殊字符的,建議大家不要采用這種方法限制
Private SubtxtClassno_KeyPress(KeyAscii As Integer)
??? If (KeyAscii < 48 Or KeyAscii > 57)And (KeyAscii < 97 Or KeyAscii > 122) And KeyAscii <> 8 Then
??????? KeyAscii = 0
??????? MsgBox "不能輸入特殊字符!"
??? End If
End Sub
?
第二種:這種可以限制特殊字符、數字、空格。只能輸入漢字和字母。本人覺得這個比較好,很多文本框的限制都可以用。
Private SubtxtCoursename_KeyPress(KeyAscii As Integer)
???????????If KeyAscii < 0 Or KeyAscii = 8 Or KeyAscii= 13 Then
?ElseIf Not Chr(KeyAscii) Like"[a-zA-Z]" Then
?KeyAscii = 0
???????????End If
End Sub
?
第三種:這種能限制很多,如果不想要那個直接把相關的那段Case刪了就好了。
Private Subtext1_KeyPress(Index As Integer, KeyAscii As Integer)
??? Select Case KeyAscii
??????? Case 48 To 57????
??????? Case 65 To 90
??????? Case 97 To 122
??????? Case 8
??????? Case Else
??????????? KeyAscii = 0
??? End Select
? End Sub
?
第四種:限制數字大小,這個適合輸入成績的對話框。
Private SubtxtResult_Change()
On Error Resume Next
IfVal(Trim(txtResult.Text)) > 100 Then
MsgBox"輸入數字過大,請重新輸入"
txtResult.Text =""
End If
End Sub
?
二、文本框的限制問題(學生系統下的所有文本框都可以參照下面的方法進行調試)。
?
1、電話號碼的限制,大概有兩種:
第一種,數據庫直接修改;
第二種,在文本框的MaxLen屬性進行更改。
?
2、combobox框的限制(只能被選擇不能進行輸入):
這個簡單,直接將控件的Style設置為2就好了,把BackColor設置為&H8000000E&
?
3、添加學籍的時候需要在text中輸入出生日期和入學日期,而且還要求yyyy-mm-dd格式,比較麻煩,所以這里調用DTPicker控件。方法如下:
(1).首先在工程—部件中添加?Microsoft Windows CommonControls-2 6.0,在工具欄中就會出現MonthView控件和DTPicker控件。
(2).然后在添加學籍的窗體上添加這兩個控件,DTPicker控件和combobox看上去一樣,MonthView控件像個小日歷,這兩個控件配合使用。注意需要把MonthView控件的visible屬性值設置成false。如果用戶覺得這種方法不好使,也可以在DTPicker控件處用鼠標點擊,變為藍色后,直接選擇年、月、日。
?
三、窗口退出時的提示代碼:
Private SubexitMenu_Click()
??? a = MsgBox("確定退出系統嗎?", vbOKCancel, "關閉程序")
??? If a = vbOK Then
??? End
??? Cancel = False
??? End If
End Sub
?
四、用回車代替點擊確定
????????有時候用機房電腦的時候,登陸學生,如果用鼠標點確定的話總是會自動關閉VB,也不知道原因,但是用回車代替的話就沒事了。這要用到Comand命令按鈕的一個屬性Default。設置成True就可以用回車代替點擊這個按鈕了。
?
五、溢出問題:(常見的有時間的溢出和字符串的溢出)
字符串的溢出:我們設置一下Text的maxlength的屬性,讓它和數據庫中允許最大長度相同就可以了,如果是手機號,還需要修改數據庫中的最大長度值。
If?DateDiff("d",CDdate(txtBorndate.Text),"1753-01-01">0?Then??
????MsgBox?"出生日期請輸入1753年以后的年份!",vbOKOnly?+?vbExclamation,"警告"??
????txtBorndate.SetFocus??
exit?Sub??
?
六、出生日期晚于入學日期:
在添加學籍的時候,如果你的出生日期晚于入學日期是可以添加成功的,但是在現實中是不可能的事,下面有兩種辦法解決:
方法1:
Dim?borndate?As?Date??
Dim?getdate?As?Date'定義變量??
borndate?=Trim(txtBorndate.Text)??
getdate?=Trim(txtRudate.Text)??
If?getdate<=borndate?then'進行比較??
????MsgBox"入學時間不能早于出生時間,請重新輸入",vbOKOnly?+?vbInformation,"警告"??
????txtRudate.SetFocus??
????Exit?Sub??
End?If??
?
?
總結
通過學生系統的調試確實有了不小的提高,但是還遠遠沒有達到理想的水平。平時沒事的時候我們其實還有很多的值得思考的問題,思考之一是我們站在巨人肩膀上學來的知識變成自己的了嗎?
總結
以上是生活随笔為你收集整理的学生信息系统管理——优化总结(干货篇二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java Calendar日历与Date
- 下一篇: 学生信息管理系统模块问题篇