تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الإجازة السنوية
#3
السلام عليكم و رحمة الله اعذرني على التاخير اخي الكريم كنت في سفر



كلام الاخ عمر ممتاز و يعطيك الحل المطلوب اذا كنت تتقن العمل مع المصفوفات
انا بدوري ساستفيد من مكاتب اطار العمل في تطبيق الفكرة
ساكتب لك قطعة من الكود تقوم بحساب نهاية الاجازة لك اعتمادا على عدد الايام المدخلة للاجازة مع استثناء ايام الجمعة و السبت الواردة ضمن فترة الاجازة (كونها عطلة نهاية الاسبوع لدينا) انت اختر ما يناسبك
هذا الكود يقوم باضافة ايام الجمعة و السبت الى ListBox1 كعطل
و يقوم ايضا بتجاوز العطل الوطنية التي تم ملئها في Listbox2 كتواريخ من الشكل (dd/mm/yyyy)
و يقوم ايضا بملئ Listbox3 بايام الاجازة الفعلية التي يجب على الموظف عدم الحضور بها
اخيرا يقوم بحساب نهاية اجازة الموظف بعد ان يتم اضافة كل ايام العطل الى اجازته الفعلية

لتستفيد من الكود ضع على الفورم لديك ListBox2-ListBox3 
وقم باستدعاء الكود في زر حساب

اولا الاجراء المسؤول عن الحساب

PHP كود :
   Sub CalcHolidayes(startDate As DateTimenumDays 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(strThen
                        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"
بالتوفيق
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الإجازة السنوية - بواسطة abdulla2 - 17-09-16, 06:01 PM
RE: الإجازة السنوية - بواسطة silverlight - 17-09-16, 07:07 PM
RE: الإجازة السنوية - بواسطة ابو ليلى - 20-09-16, 04:19 AM
RE: الإجازة السنوية - بواسطة silverlight - 21-09-16, 03:35 PM
RE: الإجازة السنوية - بواسطة abdulla2 - 21-09-16, 11:59 PM
RE: الإجازة السنوية - بواسطة silverlight - 22-09-16, 12:34 AM
RE: الإجازة السنوية - بواسطة abdulla2 - 24-09-16, 10:22 AM
RE: الإجازة السنوية - بواسطة silverlight - 24-09-16, 07:25 PM
RE: الإجازة السنوية - بواسطة abdulla2 - 25-09-16, 06:51 PM
RE: الإجازة السنوية - بواسطة silverlight - 26-09-16, 12:52 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] كود نقل السجلات السنوية سمير الجبالي 3 2,423 12-05-18, 12:56 AM
آخر رد: عبدالله الدوسري

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم