1. 程式人生 > >機房收費系統之標識是否已經被修改

機房收費系統之標識是否已經被修改

        我們常常在編寫程式碼的時候是以程式設計師的思想參與編寫的,而有時會忽略程式設計本身的思想,這就需要我們程式設計師的思維向程式設計本身的思維轉變。如何才能做到這一點呢?

       答案為以程式設計的思維去做程式設計,或許有人看到我這一句話是廢話,說我是在瞎說。在我寫這篇文章的時候我的水平僅停留在vb上,讓我們來看一個例子。

   

上述圖為機房收費系統中基本資料設定的窗體,在這裡我有一個非常顯眼的知識,那就是怎麼能夠標識textbox中的文字是否已經被修改 。讓我先來量示一下我正確的做法。

Dim mcclean As Boolean              rem:mcclean用來標識是否被修改,定義為布林型
Dim mybookmark
Dim mrcbasic As ADODB.Recordset

Private Sub form_load()
    Dim txtsqlbasic As String
    Dim msgtextbasic As String
 
    Dim ctrl As Control
    
    Rem:使textbox不能用
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is TextBox Then
                ctrl.Enabled = False
        End If
    Next
        
    Rem:連線basicdata_info
    txtsqlbasic = "select * from basicdata_info"
    Set mrcbasic = executesql(txtsqlbasic, msgtextbasic)
    
    Rem:載入資料到基本資料設定窗體
    If mrcbasic.EOF = False Then
            txtrate.Text = mrcbasic!Rate
            txttmprate.Text = mrcbasic!tmprate
            txtunittime.Text = mrcbasic!unittime
            txtleasttime.Text = mrcbasic!leasttime
            txtpreparetime.Text = mrcbasic!preparetime
            txtlimitcash.Text = mrcbasic!limitcash
    End If
    
    mybookmark = mrcbasic.Bookmark
    mcclean = False                       rem:沒被修改
End Sub

Rem:修改
Private Sub cmdmodify_click()
    
    mcclean = True                        rem:可以修改
    Dim ctrl As Control
    
    Rem:使textbox能用
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is TextBox Then
                ctrl.Enabled = True
        End If
    Next
   mybookmark = mrcbasic.Bookmark
End Sub

Rem:確定
Private Sub cmdok_click()
    
    Dim txtsqlbasic As String
    Dim msgtextbasic As String
    
    
    If mcclean = False Then                 rem:如果沒被修改
            MsgBox "請先修改資料!", vbOKOnly + vbInformation, "溫馨提示"
            Exit Sub
    Else
            txtsqlbasic = "select * from basicdata_info"
            Set mrcbasic = executesql(txtsqlbasic, msgtextbasic)
            
            If mrcbasic.EOF = False Then
                    mrcbasic!Rate = Trim(txtrate.Text)
                    mrcbasic!tmprate = Trim(txttmprate.Text)
                    mrcbasic!unittime = Trim(txtunittime.Text)
                    mrcbasic!leasttime = Trim(txtleasttime.Text)
                    mrcbasic!preparetime = Trim(txtpreparetime)
                    mrcbasic!limitcash = Trim(txtlimitcash)
                    mrcbasic.Update
                    
            End If
    End If
    mrcbasic.Bookmark = mybookmark
    MsgBox "修改成功!", vbOKOnly + vbInformation, "溫馨提示"
End Sub

看上述程式碼中的“rem”部分,這個“rem”的過程就是對是否被修改的一個定義的過程,如果在“確定”部分直接用mcclean,那麼這個功能是不能實現的,解釋到這裡,我不知讀者是否能看懂我所要講述的。歡迎大家留言來一起探討!!!