RE: حساب العمر - ابراهيم ايبو - 27-07-19
السلام عليكم اخي الكريم
هل تقصد ادخال تاريخ الميلاد بالهجري ثم حساب العمر كم سنة هجري؟
ام ادخال تاريخ الميلاد بالهجري ثم حساب العمر بالميلادي؟
ام ادخال ميلادي وحساب ميلادي ثم التحويل مايعادل بالسنين الهجرية؟
RE: حساب العمر - سعيد المهر - 27-07-19
(27-07-19, 01:11 PM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم
هل تقصد ادخال تاريخ الميلاد بالهجري ثم حساب العمر كم سنة هجري؟
ام ادخال تاريخ الميلاد بالهجري ثم حساب العمر بالميلادي؟
ام ادخال ميلادي وحساب ميلادي ثم التحويل مايعادل بالسنين الهجرية؟
وعليكم السلام اخي العزيز
اريد ادخال تاريخ الميلاد بالهجري واحتساب العمر بالهجري
RE: حساب العمر - ابراهيم ايبو - 27-07-19
السلام عليكم اخي سعيد
تفضل واحسب عمرك بالتاريخ الهجري
RE: حساب العمر - سعيد المهر - 27-07-19
(27-07-19, 06:26 PM)ابراهيم ايبو كتب : السلام عليكم اخي سعيد
تفضل واحسب عمرك بالتاريخ الهجري
الشكر الجزيل والعرفان لك تم استلام المرفق وإضافةبعض المسات الخفيفة عسى ان تعجبك
[attachment=22222]
RE: حساب العمر - ابراهيم ايبو - 27-07-19
الحمد لله والشكر لله
ولك اخي الكريم
كنت اتمنى اشاهد تعديلاتك على الفورم
لكن عندي Visual Studio 2010
RE: حساب العمر - سعيد المهر - 28-07-19
(27-07-19, 10:52 PM)ابراهيم ايبو كتب : الحمد لله والشكر لله
ولك اخي الكريم
كنت اتمنى اشاهد تعديلاتك على الفورم
لكن عندي Visual Studio 2010
هذا البرنامج على Visual Studio 2010
[attachment=22229]
RE: حساب العمر - سعيد المهر - 18-08-19
(19-07-19, 12:51 AM)ابراهيم ايبو كتب : اخي البرنامج شغال وليس فيه اي مشكلة
واعدت تنزيله من المرفقات وشغتله كالمعتاد
حتى اتأكد من المرفقات
وهذه صورة بزمن التشغيل
السلام عليكم
لو اردت التحكم في تاريخ اليوم بمعنى ان اقوم بتغييره يدوية بدل ظهوره بشكل آلي
كيف يتم تغيير الكود الخاص بذلك
RE: حساب العمر - ابراهيم ايبو - 18-08-19
السلام عليكم
تفضل اخي
كود :
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 يوم في السنة والبرنامج يحسب الغمر والفرق بالهجري
لذا من الواجب اضافة هذه الايام الى الناتج حتى يصبح حساب العمر حقيقيا بامكانك اضافتها في الحساب
RE: حساب العمر - ابراهيم ايبو - 19-08-19
السلام عليكم ورحمة الله وبركاته
ايام الثانوية العامة كانت علامتي قريبة من صفر في مادة الجبر وعلى النقيض في الهندسة (تحير الاساتذة مني وقتها)
والحمد لله بعد ساعتين من المعادلات الرياضية والبرمجية اكرمني الله ودعواتكم الى حساب فرق العمر الهجري وتحويله الى الميلادي انطلاقا من نتيجة الهجري ولاول مرة في البرمجة تصادفني كتابة ( قيمة القيمة)
اتمنى منكم التجريب والتقصي ان كان هناك خطأ (جل الله في علاه وحد لايخطئ)
هذا كود البوتون احسب
كود :
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
|