20-09-16, 04:19 AM
السلام عليكم و رحمة الله اعذرني على التاخير اخي الكريم كنت في سفر
كلام الاخ عمر ممتاز و يعطيك الحل المطلوب اذا كنت تتقن العمل مع المصفوفات
انا بدوري ساستفيد من مكاتب اطار العمل في تطبيق الفكرة
ساكتب لك قطعة من الكود تقوم بحساب نهاية الاجازة لك اعتمادا على عدد الايام المدخلة للاجازة مع استثناء ايام الجمعة و السبت الواردة ضمن فترة الاجازة (كونها عطلة نهاية الاسبوع لدينا) انت اختر ما يناسبك
هذا الكود يقوم باضافة ايام الجمعة و السبت الى ListBox1 كعطل
و يقوم ايضا بتجاوز العطل الوطنية التي تم ملئها في Listbox2 كتواريخ من الشكل (dd/mm/yyyy)
و يقوم ايضا بملئ Listbox3 بايام الاجازة الفعلية التي يجب على الموظف عدم الحضور بها
اخيرا يقوم بحساب نهاية اجازة الموظف بعد ان يتم اضافة كل ايام العطل الى اجازته الفعلية
لتستفيد من الكود ضع على الفورم لديك ListBox2-ListBox3
وقم باستدعاء الكود في زر حساب
اولا الاجراء المسؤول عن الحساب
ثانيا الاستدعاء
بقي عليك ان تضيف العطل الوطنية الخاصة بك الى ListBox2 بالطريقة التي تراها مناسبة و لكن وفق التنسيق "dd/mm/yyyy"
بالتوفيق
كلام الاخ عمر ممتاز و يعطيك الحل المطلوب اذا كنت تتقن العمل مع المصفوفات
انا بدوري ساستفيد من مكاتب اطار العمل في تطبيق الفكرة
ساكتب لك قطعة من الكود تقوم بحساب نهاية الاجازة لك اعتمادا على عدد الايام المدخلة للاجازة مع استثناء ايام الجمعة و السبت الواردة ضمن فترة الاجازة (كونها عطلة نهاية الاسبوع لدينا) انت اختر ما يناسبك
هذا الكود يقوم باضافة ايام الجمعة و السبت الى ListBox1 كعطل
و يقوم ايضا بتجاوز العطل الوطنية التي تم ملئها في Listbox2 كتواريخ من الشكل (dd/mm/yyyy)
و يقوم ايضا بملئ Listbox3 بايام الاجازة الفعلية التي يجب على الموظف عدم الحضور بها
اخيرا يقوم بحساب نهاية اجازة الموظف بعد ان يتم اضافة كل ايام العطل الى اجازته الفعلية
لتستفيد من الكود ضع على الفورم لديك ListBox2-ListBox3
وقم باستدعاء الكود في زر حساب
اولا الاجراء المسؤول عن الحساب
PHP كود :
Sub CalcHolidayes(startDate As DateTime, numDays As Integer)
If numDays > 0 Then
Dim Weekend As List(Of String) = New List(Of String)
Dim Allday As List(Of String) = New List(Of String)
Dim DateCalc As Date
Dim today As Date
today = startDate
DateTimePicker2.Value = today.AddDays(numDays - 1)
ListBox1.Items.Clear()
'
For i As Integer = 0 To numDays - 1
DateCalc = today.AddDays(i)
If DateCalc.DayOfWeek.ToString = "Friday" Or DateCalc.DayOfWeek.ToString = "Saturday" Then
ListBox1.Items.Add(DateCalc.ToShortDateString)
'عطل نهاية الاسبوع
Weekend.Add(DateCalc.ToShortDateString)
Else
'استثاء عطل نهاية الاسبوع من الاضافة الى المصفوفة
Allday.Add(DateCalc.ToShortDateString)
End If
Next
Dim op As Integer = 0
ListBox3.Items.Clear()
'ايام الاجازة الفعلية بعد طرحها من عطل الاعياد و عطل نهاية الاسبوع
If ListBox2.Items.Count > 0 Then
For Each str As String In Allday
If Not (ListBox2.Items.Contains(str)) Then
ListBox3.Items.Add(str)
ElseIf ListBox2.Items.Contains(str) Then
op += 1
End If
Next
End If
'جمع كل العطل و اظافتها الى تاريخ العودة
op += ListBox1.Items.Count
DateTimePicker2.Value = DateTimePicker2.Value.AddDays(op)
End If
End Sub
PHP كود :
CalcHolidayes(CDate(DateTimePicker1.Value), Val(TextBox1.Text))
بقي عليك ان تضيف العطل الوطنية الخاصة بك الى ListBox2 بالطريقة التي تراها مناسبة و لكن وفق التنسيق "dd/mm/yyyy"
بالتوفيق
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال


