منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] طلب مساعدة في ادخال التاريخ ؟ - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] طلب مساعدة في ادخال التاريخ ؟ (/showthread.php?tid=41174)



طلب مساعدة في ادخال التاريخ ؟ - lionexxd - 11-04-22

السلام عليكم ورحمة الله

لدي 3 Textbox
و Datatimepacker
كود ادخال التاريخ مثلا
Textbox1.text اليوم
Textbox2.text الشهر
textbox3.text السنه 
المطلوب
عند اضافة القيم في التكست بوكس يتم ادراجها في 
Datatimepacker

وشكرا لكم بالتوفيق 



RE: طلب مساعدة في ادخال التاريخ ؟ - Taha Okla - 11-04-22

وعليكم السلام ورحمة الله وبركاته :

كود :
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       TextBox1.Text = Format(DateTime.Now.Day, "00")
       TextBox2.Text = Format(DateTime.Now.Month, "00")
       TextBox3.Text = Format(DateTime.Now.Year, "0000")
       TextBox1.MaxLength = 2
       TextBox2.MaxLength = 2
       TextBox3.MaxLength = 4
   End Sub

   Private Sub TextBox1_GotFocus(sender As Object, e As EventArgs) Handles TextBox1.GotFocus
       TextBox1.SelectionStart = 0
       TextBox1.SelectionLength = TextBox1.Text.Length
   End Sub

   Private Sub TextBox1_Leave(sender As Object, e As EventArgs) Handles TextBox1.Leave
       DateTimePicker1.Value = DateTimePicker1.Value.AddDays(Val(TextBox1.Text) - DateTimePicker1.Value.Day)
   End Sub

   Private Sub TextBox2_GotFocus(sender As Object, e As EventArgs) Handles TextBox2.GotFocus
       TextBox2.SelectionStart = 0
       TextBox2.SelectionLength = TextBox2.Text.Length
   End Sub
   Private Sub TextBox2_Leave(sender As Object, e As EventArgs) Handles TextBox2.Leave
       DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(Val(TextBox2.Text) - DateTimePicker1.Value.Month)
   End Sub

   Private Sub TextBox3_GotFocus(sender As Object, e As EventArgs) Handles TextBox3.GotFocus
       TextBox3.SelectionStart = 0
       TextBox3.SelectionLength = TextBox3.Text.Length
   End Sub
   Private Sub TextBox3_Leave(sender As Object, e As EventArgs) Handles TextBox3.Leave
       DateTimePicker1.Value = DateTimePicker1.Value.AddYears(Val(TextBox3.Text) - DateTimePicker1.Value.Year)
   End Sub

- لاحظ أن كود التغيير يأتي بعد مغادرة مربع النص  (ليس مهما في حال اليوم والشهر،، ولكن في حال السنة سيتسبب بخطأ بمربع السنة  لأن الـ DateTimePicker1 لن تقبل التواريخ قبل 01/01/1753  ولا حتى التواريخ المستقبلية البعيدة بعد 31/12/9998،، لذلك كتبت الكود في حدث المغادرة ليتجنب ما أمكن من اخطاء)..

لا بد وأنّ هناك كود أفضل من هذا ..
ولكن هذا ما أسعفتني به التجربة الان ..


RE: طلب مساعدة في ادخال التاريخ ؟ - lionexxd - 11-04-22

taha okla شكرا لك اخي الغالي

جاري التجربه

نجحت معي كل الشكر والتقدير اخي TAHA OKLA


RE: طلب مساعدة في ادخال التاريخ ؟ - أبووسم - 16-04-22

(11-04-22, 01:06 PM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته :

كود :
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       TextBox1.Text = Format(DateTime.Now.Day, "00")
       TextBox2.Text = Format(DateTime.Now.Month, "00")
       TextBox3.Text = Format(DateTime.Now.Year, "0000")
       TextBox1.MaxLength = 2
       TextBox2.MaxLength = 2
       TextBox3.MaxLength = 4
   End Sub

   Private Sub TextBox1_GotFocus(sender As Object, e As EventArgs) Handles TextBox1.GotFocus
       TextBox1.SelectionStart = 0
       TextBox1.SelectionLength = TextBox1.Text.Length
   End Sub

   Private Sub TextBox1_Leave(sender As Object, e As EventArgs) Handles TextBox1.Leave
       DateTimePicker1.Value = DateTimePicker1.Value.AddDays(Val(TextBox1.Text) - DateTimePicker1.Value.Day)
   End Sub

   Private Sub TextBox2_GotFocus(sender As Object, e As EventArgs) Handles TextBox2.GotFocus
       TextBox2.SelectionStart = 0
       TextBox2.SelectionLength = TextBox2.Text.Length
   End Sub
   Private Sub TextBox2_Leave(sender As Object, e As EventArgs) Handles TextBox2.Leave
       DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(Val(TextBox2.Text) - DateTimePicker1.Value.Month)
   End Sub

   Private Sub TextBox3_GotFocus(sender As Object, e As EventArgs) Handles TextBox3.GotFocus
       TextBox3.SelectionStart = 0
       TextBox3.SelectionLength = TextBox3.Text.Length
   End Sub
   Private Sub TextBox3_Leave(sender As Object, e As EventArgs) Handles TextBox3.Leave
       DateTimePicker1.Value = DateTimePicker1.Value.AddYears(Val(TextBox3.Text) - DateTimePicker1.Value.Year)
   End Sub

- لاحظ أن كود التغيير يأتي بعد مغادرة مربع النص  (ليس مهما في حال اليوم والشهر،، ولكن في حال السنة سيتسبب بخطأ بمربع السنة  لأن الـ DateTimePicker1 لن تقبل التواريخ قبل 01/01/1753  ولا حتى التواريخ المستقبلية البعيدة بعد 31/12/9998،، لذلك كتبت الكود في حدث المغادرة ليتجنب ما أمكن من اخطاء)..

لا بد وأنّ هناك كود أفضل من هذا ..
ولكن هذا ما أسعفتني به التجربة الان ..

الكود افادني بتحويل التاريخ من الميلادي إلى الهجري

كتبت تاريخ بالميلادي فظهر لي بالهجري " للمعلومية تاريخ جهازي بالهجري

الف شكر لك على الكود