التعامل مع الأمر كـ حقل نصي :
مثلا نصنع الدالة التي تعيد التاريخ بطريقة الصيغة الرقمية : القيمة الأكبر من اليسار ثم الأصغر عن يمينها فـ الأصغر..
أقصد السنين ثم الشهور ثم الأيام ..
نحتاج التعديل على أكواد الحفظ والبحث ..
كود زر الحفظ يصبح :
كود زر البحث يصبح :
كود البحث يصبح (قارن بين الأكواد التي تم تعطيلها وبين الأكواد التي حلت محلها):
بالرغم من أنك كتبت أكواد خطأ - لكن الفيجول بيزك دوت نت لم ينبهك لها وحاول أن يغيرها ويصححها لما يناسب البرنامج
ومع ذلك لم تحصل على ما تريد .. فالخطأ تجاوز حدود الفيجول بيزك.. (لأنه لا يستطيع أن يصحح كل شيء).
وهذه من مشاكل الفيجول بيزك .. مقارنة بلغات برمجة أخرى كـ السي شارب (كمثال من نفس البيئة)
حيث أن السي شارب تمنعك من إكمال كتابة الكود إن أخطأت بنوع المتغير الذي تستخدمه .. (فكل شيء يجب أن يكون في محله)..
إن كنت لازلت تحت الثلاثين من عمرك، نصيحة توجه لـ السي شارب.. ولا تضيع وقتك بحصر خبرتك في تعلم الفيجول بيزك ..
ومع ذلك فكل شيء تنفذه على السي شارب ستستطيع تنفيذه على الفيجول بيزك(يعني لن تفقد مهارتك في هذه اللغة)..
في البداية ستواجه صعوبات كثيرة وكبيرة، ولكن خلال فترة ستجد كل شيء أبسط وأسهل وأسلسل بالتعلم.
التحسينات والتسهيلات الدورية التي تزود بها السي شارب تجاوزت بساطة الفيجول بيزك بمراحل كبيرة جداً..
ولم تعد مايكروسوفت تزود الفيجول بيزك بها .. فقد توقفت عن دعمها من هذه الناحية..
نصيحة / أغتنم وقتك من الآن ..
مثلا نصنع الدالة التي تعيد التاريخ بطريقة الصيغة الرقمية : القيمة الأكبر من اليسار ثم الأصغر عن يمينها فـ الأصغر..
أقصد السنين ثم الشهور ثم الأيام ..
كود :
Public Function ReFormatDate(pDate As DateTime) As String
Return pDate.ToString("yyyy/MM/dd")
End Functionنحتاج التعديل على أكواد الحفظ والبحث ..
كود زر الحفظ يصبح :
كود :
Private Sub BtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click
Insert_Notes(ID.Text, Ename.Text, UpGrade.Text, ReFormatDate(DateG.Value))
SelectAll_Notes(dgv_Notes)
ClearControls()
End Subكود زر البحث يصبح :
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SEARCH2DATE(ReFormatDate(DateTimePicker1.Value), ReFormatDate(DateTimePicker2.Value))
dgv_Notes.DataSource = DT_SEARCH
End Subكود البحث يصبح (قارن بين الأكواد التي تم تعطيلها وبين الأكواد التي حلت محلها):
كود :
'Public Sub SEARCH2DATE(ByVal DateG As Date, ByVal DateG2 As Date)
Public Sub SEARCH2DATE(ByVal DateG As String, ByVal DateG2 As String)
DT_SEARCH.Clear()
Dim CMDSEARCH As New OleDbCommand(" SELECT * FROM Notes WHERE DateG >= @DateG AND DateG <= @DateG2", Con)
CMDSEARCH.Parameters.Clear()
'CMDSEARCH.Parameters.Add("@DateG", OleDbType.Date).Value = "#" & DateG & "#"
CMDSEARCH.Parameters.Add("@DateG", OleDbType.Char).Value = DateG
'CMDSEARCH.Parameters.Add("@DateG2", OleDbType.Date).Value = "#" & DateG2 & "#"
CMDSEARCH.Parameters.Add("@DateG2", OleDbType.Char).Value = DateG2
Try
If Con.State = 1 Then Con.Close()
Con.Open()
DT_SEARCH.Load(CMDSEARCH.ExecuteReader)
Con.Close()
CMDSEARCH = Nothing
Catch ex As Exception
Con.Close()
MsgBox(Err.Description, MsgBoxStyle.Information)
Finally
If Con.State = ConnectionState.Open Then Con.Close()
End Try
End Subبالرغم من أنك كتبت أكواد خطأ - لكن الفيجول بيزك دوت نت لم ينبهك لها وحاول أن يغيرها ويصححها لما يناسب البرنامج
ومع ذلك لم تحصل على ما تريد .. فالخطأ تجاوز حدود الفيجول بيزك.. (لأنه لا يستطيع أن يصحح كل شيء).
وهذه من مشاكل الفيجول بيزك .. مقارنة بلغات برمجة أخرى كـ السي شارب (كمثال من نفس البيئة)
حيث أن السي شارب تمنعك من إكمال كتابة الكود إن أخطأت بنوع المتغير الذي تستخدمه .. (فكل شيء يجب أن يكون في محله)..
إن كنت لازلت تحت الثلاثين من عمرك، نصيحة توجه لـ السي شارب.. ولا تضيع وقتك بحصر خبرتك في تعلم الفيجول بيزك ..
ومع ذلك فكل شيء تنفذه على السي شارب ستستطيع تنفيذه على الفيجول بيزك(يعني لن تفقد مهارتك في هذه اللغة)..
في البداية ستواجه صعوبات كثيرة وكبيرة، ولكن خلال فترة ستجد كل شيء أبسط وأسهل وأسلسل بالتعلم.
التحسينات والتسهيلات الدورية التي تزود بها السي شارب تجاوزت بساطة الفيجول بيزك بمراحل كبيرة جداً..
ولم تعد مايكروسوفت تزود الفيجول بيزك بها .. فقد توقفت عن دعمها من هذه الناحية..
نصيحة / أغتنم وقتك من الآن ..
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
