機械室料金システムまとめのクローズフォーム
3354 ワード
システム開発では、通常、メインウィンドウを閉じるときに列を閉じる必要があるビジネス操作や、ポップアップ・プロンプト・ボックスがウィンドウを閉じるかどうかをユーザーに通知する場合があります.しかし、それらは具体的にどのように実現されていますか?以下、私が機械室の料金システムで出会ったこのような問題の具体的な解決策を共有します.これはVB 6です.0のコード:
これはVBです.Netのコード:
この2つの言語コードの同じ機能の実現を比較することで、プログラミングの世界では、言語が通じているのは、表現が異なるだけであることがわかります.私たちプログラマーが実際に学ぶのは言語ではなく、思想論理、システムアーキテクチャです.
'
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim strOnWork As String
Dim strMsg As String
Dim rstOnWork As ADODB.Recordset
Dim rstWorkLog As ADODB.Recordset
Static intSerial As Integer
If MsgBox(" ?", vbOKCancel + vbExclamation, " ") = vbOK Then
'
strOnWork = "select * from Onwork_info where UserID='" & g_strUserName & "'"
Set rstOnWork = ExecuteSQL(strOnWork, strMsg)
' ,
strOnWork = "select * from worklog_info "
Set rstWorkLog = ExecuteSQL(strOnWork, strMsg)
intSerial = rstWorkLog.RecordCount + 1
'
strOnWork = "INSERT worklog_info VALUES(" & intSerial & ",'" & Trim(rstOnWork!UserID) & _
"','" & rstOnWork!UserLevel & "','" & rstOnWork!LoginDate & "','" & _
rstOnWork!LoginTime & "','" & Date & "','" & Time & "','" & _
rstOnWork!Computer & "','" & "true" & "')"
Call ExecuteSQL(strOnWork, strMsg)
'
rstOnWork.Delete
rstOnWork.Close
Cancel = 0
Else
Cancel = 1
End If
End Sub
これはVBです.Netのコード:
'*** U , ***
Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Dim teacherWorkManageBLL As New BLL.TeacherWorkManageBLL
Dim workLogEntity As New Entity.WorkLogEntity
If MsgBox(" ?", vbOKCancel + vbExclamation, " ") = vbOK Then
'
workLogEntity.UserId = frmLogin.txtUser.Text.Trim
workLogEntity.LogoutTime = Now
'
teacherWorkManageBLL.ModifyWorkLog(workLogEntity)
'*** ***
e.Cancel = False
'
For Each ChildForm As Form In Me.MdiChildren
ChildForm.Close()
Next
Me.Close()
e.Cancel = False
Else
e.Cancel = True
End If
End Sub
この2つの言語コードの同じ機能の実現を比較することで、プログラミングの世界では、言語が通じているのは、表現が異なるだけであることがわかります.私たちプログラマーが実際に学ぶのは言語ではなく、思想論理、システムアーキテクチャです.