تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حساب العمر
#21
السلام عليكم اخي الكريم

هل تقصد ادخال تاريخ الميلاد بالهجري ثم حساب العمر كم سنة هجري؟
ام  ادخال تاريخ الميلاد بالهجري ثم حساب العمر بالميلادي؟
ام ادخال ميلادي وحساب ميلادي ثم التحويل مايعادل بالسنين الهجرية؟
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: asemshahen5
#22
(27-07-19, 01:11 PM)ابراهيم ايبو كتب :
السلام عليكم اخي الكريم

هل تقصد ادخال تاريخ الميلاد بالهجري ثم حساب العمر كم سنة هجري؟
ام  ادخال تاريخ الميلاد بالهجري ثم حساب العمر بالميلادي؟
ام ادخال ميلادي وحساب ميلادي ثم التحويل مايعادل بالسنين الهجرية؟
وعليكم السلام اخي العزيز
اريد ادخال تاريخ الميلاد بالهجري واحتساب العمر بالهجري
الرد }}}
تم الشكر بواسطة: asemshahen5 , asemshahen5
#23
السلام عليكم اخي سعيد
تفضل واحسب عمرك بالتاريخ الهجري


الملفات المرفقة
.rar   احسب عمرك بالهجري.rar (الحجم : 113.89 ك ب / التحميلات : 20)
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: سعود , عبد العزيز البسكري , asemshahen5
#24
(27-07-19, 06:26 PM)ابراهيم ايبو كتب :
السلام عليكم اخي سعيد
تفضل واحسب عمرك بالتاريخ الهجري
الشكر الجزيل والعرفان لك تم استلام المرفق وإضافةبعض المسات الخفيفة عسى ان تعجبك 

.rar   احسب عمرك بالهجري معدل.rar (الحجم : 1,016.39 ك ب / التحميلات : 9)
الرد }}}
تم الشكر بواسطة: asemshahen5 , الكاتب , ابراهيم ايبو , سعود
#25
الحمد لله والشكر لله
ولك اخي الكريم
كنت اتمنى اشاهد تعديلاتك على الفورم 
لكن عندي Visual Studio 2010
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: asemshahen5 , سعود
#26
(27-07-19, 10:52 PM)ابراهيم ايبو كتب :
الحمد لله والشكر لله
ولك اخي الكريم
كنت اتمنى اشاهد تعديلاتك على الفورم 
لكن عندي Visual Studio 2010

هذا البرنامج على Visual Studio 2010


.rar   احسب عمرك بالهجري 2010.rar (الحجم : 1.02 م ب / التحميلات : 19)
الرد }}}
تم الشكر بواسطة: asemshahen5 , ابراهيم ايبو , سعود
#27
(19-07-19, 12:51 AM)ابراهيم ايبو كتب :
اخي البرنامج شغال وليس فيه اي مشكلة
واعدت تنزيله من المرفقات وشغتله كالمعتاد
حتى اتأكد من المرفقات
وهذه صورة بزمن التشغيل
السلام عليكم 
لو اردت التحكم في تاريخ اليوم بمعنى ان اقوم بتغييره يدوية بدل ظهوره بشكل آلي

كيف يتم تغيير الكود الخاص بذلك
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , سعود
#28
السلام عليكم
تفضل اخي
كود :
   Dim HijriDTF As New System.Globalization.CultureInfo("ar-SA", False)
   Dim newDays As DateTime = DateTime.Now.ToString("dd MM yyyy", HijriDTF)


   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       'Txt_DaysA.Text = DateTime.Now.ToString("dd", HijriDTF)
       'TxtMonthsA.Text = DateTime.Now.ToString("MM", HijriDTF)
       'Txt_YearsA.Text = DateTime.Now.ToString("yyyy", HijriDTF)
       
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim Birtday As Date = CDate(Txt_BirtDay.Text & "/" & Txt_BirtManth.Text & "/" & Txt_BirtYear.Text)
       newDays As Date = CDate(Txt_DaysA.Text & "/" & TxtMonthsA.Text & "/" & Txt_YearsA.Text)
       Dim strall As String = (GetDateSpanText(Birtday, newDays))
       MsgBox(Birtday)
       Dim ff() = strall.Split("-")
       Txt_ResaulDay.Text = ff(2)
       Txt_ResaulMonth.Text = ff(1)
       Txt_ResaulYear.Text = ff(0)

   End Sub
   Public Function GetDateSpanText(ByVal fromDate As DateTime, Optional ByVal toDate As DateTime = Nothing) As String
       Try

           Dim years As Integer = 0, months As Integer = 0, days As Integer = 0
           If toDate = Nothing Then toDate = DateTime.Now

           Do Until toDate.AddYears(-1) < fromDate
               years += 1
               toDate = toDate.AddYears(-1)
           Loop

           Do Until toDate.AddMonths(-1) < fromDate
               months += 1
               toDate = toDate.AddMonths(-1)
           Loop

           Do Until toDate.AddDays(-1) < fromDate
               days += 1
               toDate = toDate.AddDays(-1)
           Loop

           Return (years & " Years " & "-" & months & " Months " & "-" & days & " Days ")
       Catch ex As Exception
           Return "Error"
       End Try
   End Function
اخي فاتتنا نقطة جدا هامة وهي ان الحساب الهجري ينقص عن الميلادي 11 يوم في السنة والبرنامج يحسب الغمر والفرق بالهجري
لذا من الواجب اضافة هذه الايام الى الناتج حتى يصبح حساب العمر حقيقيا بامكانك اضافتها في الحساب
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: سعود
#29
السلام عليكم ورحمة الله وبركاته
ايام الثانوية العامة كانت علامتي قريبة من صفر في مادة الجبر وعلى النقيض في الهندسة (تحير الاساتذة مني وقتها)
 والحمد لله بعد ساعتين من المعادلات الرياضية والبرمجية اكرمني الله ودعواتكم الى حساب فرق العمر الهجري وتحويله الى الميلادي انطلاقا من نتيجة الهجري ولاول مرة في البرمجة تصادفني كتابة ( قيمة القيمة)
اتمنى منكم التجريب والتقصي ان كان هناك خطأ (جل الله في علاه وحد لايخطئ)

هذا كود البوتون احسب

كود :
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim Birtday As Date = CDate(Txt_BirtDay.Text & "/" & Txt_BirtManth.Text & "/" & Txt_BirtYear.Text)
       Dim strall As String = (GetDateSpanText(Birtday, datNow))
       MsgBox(Birtday)

       Dim ff() As String = strall.Split("-")
       Txt_ResaulDay.Text = ff(2)
       Txt_ResaulMonth.Text = ff(1)
       Txt_ResaulYear.Text = ff(0)

       Dim kk As Integer = Val(Txt_ResaulYear.Text)
       Dim totDays As Integer = (Convert.ToInt64(kk)) * 11
       Dim yy As Double = (CDbl(totDays \ 365.25)).ToString ' عدد السنين
       Dim MM As Double = (CDbl((totDays - (yy * 365.25)) \ 30.5)).ToString  ' عدد الاشهر
       Dim dd As Double = (CDbl((totDays - (yy * 365.25)) - (MM * 3.5))).ToString
       If yy >= 1 Then
           Txt_ResaulYear.Text = Val(ff(0)) - (yy + 1)
       Else
           Txt_ResaulYear.Text = Val(ff(0)) - 1
       End If
       If MM >= 1 And MM <= 12 Then
           If (Val(ff(1)) - MM) < 0 Then
               Txt_ResaulMonth.Text = 12 + Val(Val(ff(1)) - MM)
           End If
       ElseIf MM = 0 Then
           Txt_ResaulMonth.Text = 11

       Else
           Txt_ResaulMonth.Text = Val(ff(1))
       End If
       If dd >= 1 And dd <= 30.5 Then
           If (Val(ff(2)) - dd) < 0 Then
               Txt_ResaulDay.Text = 30.5 + Val(Val(ff(2)) - dd)
           End If

       Else
           Txt_ResaulDay.Text = Val(ff(2))
       End If
   End Sub
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: سعود



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


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