الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]التعامل مع التاريخ والمعادلات الرياضيه

بدأه MiNi.SpIdEr في 20 ديسمبر 2008 · 4 رد · 691 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني

كيف اتعامل مع التاريخ؟؟؟؟ :lol:

لتوضويح المراد

لدينا تكست بوكس

يقبل بأدخال تاريخ على صيغة

mm/dd/yyyy

هنا انا لا اريد التدخل بالسنه اريد اخذ رقم الشهر ورقم اليوم وتحديد نتيجه على هذا الاساس

بالضبط مثل الابراج الفلكيه :happy: انا اسأل اذا ممكن بدون ان نكتب مصفوفه بكل الارقام يعني

هل هذا ممكن ؟؟؟؟؟

اريد استعمال الطريقه لتقسيم اليوم

اي بالساعات.

الان سؤال اخر لمحبي الرياضيات

من يكتب هذه المعادله

لاحظوا

مثلا لدينا هذا الرقم

25-12-1987

اولا للسهوله

25121987

اول عمليه هيه جمع اول رقمين اي رقم 2 و 5

2+5=7

الان بما ان الناتج رقم احادي خلص انتها اما اذا كان عدنا رقم 29 بدل 25

2+9=11

ثم

1+1=2

وهذا هي النتيجه الاولى

واخير معادله هي بجمع الرقم كاملا

يعني

29+7+1979

29+7+1979 … نجمع اول رقم لتبسيطه

9+2=11 و تقلص الرقم 11 و ذلك بجمع حدي الرقم أي ( 1+1 = 2 ) .

ونجمعه مع الرقم الثاني أي ( 2+ 7 = 9 ) .

ونجمع الناتج مع الرقم الثالث 9+1979 =1988

ونقلص 1988 و ذلك بجمع 8+8+9+1 = 26

ونجمع 26 أي 6+2= 8

أذن اصبح لدينا رقم 8

وهو الرقم المطلوب

مشكلتي اني لا احب الرياضيات :P

ارجوا ان يكون الطلب واضح يعني لو حى نواة للبدايه لتسهيل الفكره يا اخوان

لاني ماعندي انترنت بالبيت ومحتاج افكار لتسسهيل الامر

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

#2

تفضل اخي

فقط قم باضافة زر وعدد 2 تكست بكس .

ضع الكود التالي في الزر

واكتب التاريخ في تكست1

	 Dim d, m, y As Integer
	 Dim pd As Integer
	 Dim pd1 As Integer
	 Dim pd2 As Integer
	 Dim pd3 As Integer


  If IsDate(Text1.Text) = False Then
	 MsgBox "عفوا يجب ان يكون الادخال تاريخ"
  Else
	 d = Day(Text1.Text)
	 m = Month(Text1.Text)
	 y = Year(Text1.Text)

Dc1:
	  If d > 9 Then
		pd = (Mid(d, 1, 1))
		pd1 = (Mid(d, 2, 1))
		 d = pd + pd1
		GoTo Dc1
	  End If

Dc2:
	If m > 9 Then
	pd = (Mid(m, 1, 1))
	pd1 = (Mid(m, 2, 1))
	  m = pd + pd1
	  GoTo Dc2
	 End If


   y = y + (m + d)


 pd = (Mid(y, 1, 1))
 pd1 = (Mid(y, 2, 1))
 pd2 = (Mid(y, 3, 1))
 pd3 = (Mid(y, 4, 1))

  y = pd + pd1 + pd2 + pd3

Dc3:
	If y > 9 Then
	 pd = (Mid(y, 1, 1))
	 pd1 = (Mid(y, 2, 1))
	 y = pd + pd1
	 GoTo Dc3
	End If
	Text2.Text = y
 End If

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#3

شكرا لك سأقوم بمعاينه الكود

لكن لاي معادله هذا للثانيه او الثالثه ؟؟؟؟ اظن للثالثه لم اقراء الكود بعد (مستعجل)

شكرااااااا

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

#4

اخي الكود السابق لنفس العملية المشروحه بطلبك وهذا الكود بعد الشرح

'حجز المتغيرات لاستخدامها لاحقا
Dim d, m, y As Integer
	 Dim pd As Integer
	 Dim pd1 As Integer
	 Dim pd2 As Integer
	 Dim pd3 As Integer

' التأكد من ان الادخال تاريخ وإلا سوف لن يقوم بالعملية	  
  If IsDate(Text1.Text) = False Then
	 MsgBox "عفوا يجب ان يكون الادخال تاريخ"
  Else

'تقسيم التاريخ الى اليوم والشهر والسنه كلا  في متغيير معين
	 d = Day(Text1.Text)
	 m = Month(Text1.Text)
	 y = Year(Text1.Text)

Dc1:
' هنا يتم التأكد من ان تاريخ اليوم اكبر من 9 إذا كان اكبر فيجب جمع الرقمين مع بعضهما
	  If d > 9 Then
'استخراج الرقم الاول ووضعه في متغيير
		pd = (Mid(d, 1, 1))
'استخراج الرقم الثاني ووضعه في متغيير اخر 
		pd1 = (Mid(d, 2, 1))
'جمع الرقمين على بعضهما 
		 d = pd + pd1
'العودة لقبل الكود فربما يكون الناتج اكبر من 9 ايضا كناتج جمع 29
		GoTo Dc1
	  End If

Dc2:
'نفس العملية السابقة تتم للشهر فقط
	If m > 9 Then
	pd = (Mid(m, 1, 1))
	pd1 = (Mid(m, 2, 1))
	  m = pd + pd1
	  GoTo Dc2
	 End If

'اضافة ناتج الشهر واليوم الى السنه		 
   y = y + (m + d)

'هنا تقسيم رقم السنه الى 4 ارقام ليتم جمعها 
'مثال 1988	

' الرقم الاول

pd = (Mid(y, 1, 1))
' الرقم الثاني
pd1 = (Mid(y, 2, 1))
'الرقم الثالث
pd2 = (Mid(y, 3, 1))
' الرقم الرابع
pd3 = (Mid(y, 4, 1))

'جمع الارقام الى بعضها للحصول على النتيجة  
' مثال 
' 8+8+9+1
  y = pd + pd1 + pd2 + pd3

Dc3:
' هنا تبدأ العملية لاستخلاص ارقام السنه بعد الجمع لنحصل في النهاية على رقم واحد من 1 الى 9 
	If y > 9 Then
	 pd = (Mid(y, 1, 1))
	 pd1 = (Mid(y, 2, 1))
	 y = pd + pd1
	 GoTo Dc3
	End If
'اظهار النتيجة في التكست 2
	Text2.Text = y
End If

اتمنى ان يكون الشرح واضحاً

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#5

في الحقيقه استعملت الكود وكان واضح ومن خلاله عملت الكود الاخر الي احتاجه وشكرا لك مره اخرى

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…