السلام عليكم ورحمة الله وبركاته
لدي ثلاث اعمدة اليوم والشهر والسنة اريد ان اجمعها في عمود واحد بتنسيق التاريخ واطرح تاريخ اليوم من هذا العمود الجديد
السلام عليكم ورحمة الله وبركاته
لدي ثلاث اعمدة اليوم والشهر والسنة اريد ان اجمعها في عمود واحد بتنسيق التاريخ واطرح تاريخ اليوم من هذا العمود الجديد
شكرا لك بس ياريت مع الشرح لان معلوماتي بالفوكس برو قليله الله يوفقك
ثائر العراقي كتب:شكرا لك بس ياريت مع الشرح لان معلوماتي بالفوكس برو قليله الله يوفقك
لتنسيق التاريخ يوم شهر سنه
Set date ymd
لاظهار رقم السنه 4 ارقام
Set century on
ثم نكتب التالى بالخانة الخاصة بالسنة للتنفيذ بعد ترك الخانة
لتشكيل التاريخ بالخانة
Date1
نكتب الامر التالى
بمعنى ان قيمتة تساوى مجموع 4 ارقام السنه+/+مجموع رقمين الشهر+/+مجموع رقمين اليوم وتحويل القيمة النصية المنتجه الى شكل تاريخ
ThisForm.DATE1.Value=ctod((STR(This.Value))+"/"+STR(ThisForm.MONTH1.Value)+"/"+STR(ThisForm.DAY1.Value))
لوضع تاريخ اليوم بالخانة
Today1
نعطى الامر التالى
ThisForm.TODAY1.Value=DATE()
لوضع الفرق بين التاريخين بالخانة
Cal1
نعطى الامر التالى الذى يطرح محتويات تاريخ اليوم من محتويات التاريخ المؤلف ويعطى النتيجة باليوم
ThisForm.CAL1.Value=ThisForm.DATE1.Value-ThisForm.TODAY1.Value
لاظهار النتائج فورا على الشاشه نعطى الامر
thisform.Refresh()
اتمنى ان اكون اوضحت
تحياتى وتمنياتى لك بالتوفيق
شكرا لك اخي ووفقك الله
ثائر العراقي كتب:شكرا لك اخي ووفقك الله
الابن العزيز ثائر العراق
انا الذى اشكرك على التواصل لان فى كثرة الاسئلة حياة لهذا المنتدى الجميل
تحياتى وشكرا لك
الاخوة الاعزاء اعتقد انة ليس من الصحيح استخدام هذة المعادلة ThisForm.CAL1.Value=ThisForm.DATE1.Value-ThisForm.TODAY1.Value لايجاد الفرق بين تارخين للاسباب التالية
* اولا اذا كان التاريخ اقل من تاريخ اليوم سيكون الناتج بالسالب -
* ثانيا ان الناتج لن يكون فب صورة يوم - شهر - سنة
Persistent Fox
xcode كتب:الاخوة الاعزاء اعتقد انة ليس من الصحيح استخدام هذة المعادلة ThisForm.CAL1.Value=ThisForm.DATE1.Value-ThisForm.TODAY1.Value لايجاد الفرق بين تارخين للاسباب التالية
* اولا اذا كان التاريخ اقل من تاريخ اليوم سيكون الناتج بالسالب -
* ثانيا ان الناتج لن يكون فب صورة يوم - شهر - سنة
الابن العزيز
تحياتى
عندما اجد ان اللى طالب البرنامج حدد انه عاوز يطرح ايه من ايه بالضبط يبقى اجابتنا سليمة ثانيا لو هو عاوز شكل ناتج الطرح تاريخ يبقى سهل قوى انما استخدام شكل الطرح تاريخ نادر جدا لذلك احنا فى العادة نستخدم ناتج الجمع او الطرح عدد ايام وفى كل الاحوال توجد بالفوكس برو حلول للمطلوب بس انتم تامروا
تحياتى
سيدي العزيز انا لا استطيع او املك القدرة علي التشكيك في اجابة حضرتك وانما اردت المشاركة و التعبير عن رايي
Persistent Fox
السلام عليكم
تحياتي لكم وللاستاذ المهندس علاء
ومتابعتة معنا واحب اضيف طريقة ثانية او فكرة تحياتي لكم
xcode كتب:الاخوة الاعزاء اعتقد انة ليس من الصحيح استخدام هذة المعادلة ThisForm.CAL1.Value=ThisForm.DATE1.Value-ThisForm.TODAY1.Value لايجاد الفرق بين تارخين للاسباب التالية
* اولا اذا كان التاريخ اقل من تاريخ اليوم سيكون الناتج بالسالب -
* ثانيا ان الناتج لن يكون فب صورة يوم - شهر - سنة
شكرا على رأيك انا من حدد التاريخ اطرح تاريخ اليوم من تاريخ الماضي وهذا مستحيل ينتج عنة قيمه سالبه
ثائر العراقي كتب:شكرا لك اخي ووفقك الله
الابن العزيز ثائر العراق
تحياتى
حتى تستطيع استخدام النموذج باى تاريخ سابق او حالى او تالى قمت بتعديل النتائج كالتالى:
تم تنسيق عدد الايام بحيث تكون مطلق رقم باستخدام الداله() ABS
تم تعديل عنوان خانة نتيجة عدد الايام بحيث تكون متغيره كالتالى
اذا كان عدد الايام اكبر من الصفر يكون العنوان " باقى من الزمن"
اذا كان عدد الايام يساوى صفر يكون العنوان " حل الموعد اليوم"
اذا كان عدد الايام اصغر من الصفريكون العنوان" مر من الزمن "
بحيث تستطيع ويكون عندك المرونه الكاملة فى استخدام النموذج
واشكرك على نشاطك بالمنتدى الجميل
وليتك تستمر فى السؤال والطلبات بما يثرى ويحرك الخير
م علاء قاسم
تم تعديل هذه المشاركة بواسطة alaaqasem في 10 يوليو 2012 في 08:44
السلام عليكم هل استطيع عمل هذه الداله بدون الفورم يعني على الجدول مباشرة
انا سؤالي عن الجدول مباشرة بدون فورم
lion iraq كتب:السلام عليكم
تحياتي لكم وللاستاذ المهندس علاء
ومتابعتة معنا واحب اضيف طريقة ثانية او فكرة تحياتي لكم
السلام عليكم
اخي ثائر لم ترد على المثال ولم اعرف رائيك به ولا باقي الاعضاء من حيث وصول الفكرة ام لا؟
ثائر العراقي كتب:السلام عليكم هل استطيع عمل هذه الداله بدون الفورم يعني على الجدول مباشرة
وارجو ان توضح عن اي طريقة تقصد؟
تحياتي للجميع
xcode كتب:برجاء مراجعة البرنامج المرفق علي الرغم من انة كان يمكنك اخذ ال CODE من الفورم و تنفيذة مباشرة
اخي العزيز عمل جميل ولكن اعتقد ان الايعازات طويلة وبماان الغرض منها استخراج الفرق لليوم والشهر والسنة اليك التعديل على مثالي السابق
ولكن هذة طريقة ثانية بالنسبة لطريقتك
تحياتي للجميع
lion iraq كتب:اخي العزيز عمل جميل ولكن اعتقد ان الايعازات طويلة وبماان الغرض منها استخراج الفرق لليوم والشهر والسنة اليك التعديل على مثالي السابق
ولكن هذة طريقة ثانية بالنسبة لطريقتك
تحياتي للجميع
اخي العزيز اسد العراق اذا استخدمنا هذة الطريقة لن يكون الناتج صحيح
مثال
تاريخ 1 = 30-06-2012
تاريخ 2 = 07-07-2012
في طريقتك يكون الناتج 1 شهر و 23 يوم مع انة فعليا 7 ايام فقط لذلك يجب ان نأخذ التاريخ وحدة واحدة عند اجراء عملية حساب الفرق بين تاريخين
تم تعديل هذه المشاركة بواسطة xcode في 12 يوليو 2012 في 00:38
Persistent Fox
xcode كتب:اخي العزيز اسد العراق اذا استخدمنا هذة الطريقة لن يكون الناتج صحيح
مثال
تاريخ 1 = 30-06-2012
تاريخ 2 = 07-07-2012
في طريقتك يكون الناتج 1 شهر و 23 يوم مع انة فعليا 7 ايام فقط لذلك يجب ان نأخذ التاريخ وحدة واحدة عند اجراء عملية حساب الفرق بين تاريخين
شكرا لك اخي العزيز على الملاحظة
حقيقة لم انتبه للمثال جيدا (جل من لا يسهو)
لاحظ المرفقات بالطريقة الثانية ويوجد العديد من الطرق لتنفيذ الفكرة تحياتي وانتظر منك اي ملاحظة
CLOSE ALL SET date BRITISH SET CENTURY on SET TALK OFF USE table1 GO top DO WHILE ! EOF() year1 = year(mdate1) year2 = year(mdate2) cmyear = year2 - year1 month1 = month(mdate1) month12 = month(mdate2) cmmonth = month12 - month1 If cmmonth < 0 cmyear = cmyear -1 cmmonth = 12 + cmmonth Endif day1 = day(mdate1) day2 = day(mdate2) cmday = day2 - day1 If cmday < 0 cmmonth = cmmonth - 1 cmday = cmday + 30 Endif replace myear WITH cmyear,; mmonth WITH cmmonth ,; mday WITH cmday SKIP ENDDO BROWSE
**تنبية
هنالك شرط او نقص في الكود اعلاه . احب ان اجعله اختبار لكم اخوتي
ماهو الشرط الذي يجب توفره او النقص الموجود مع كيفية تلافيه؟ من يقوم بحله سوف اذكر له طريقة جديدة تقريبا لنفس الغاية او يفيد في عمل برنامج بسيط لاحتساب العمر
انتظر ردودكم واتمنى ان تحاولوا ولايتجاوزه احد رجاءا
ولاتنسوا كلنا متعلمين
تحياتي للجميع
تم تعديل هذه المشاركة بواسطة lion iraq في 12 يوليو 2012 في 11:11 — السبب: تنبية بوجود اختبار
اخي العزيز مازال الفرق غير صحيح
مثال
30/05/2012 تاريخ 1
01/05/2013 تاريخ 2
الفرق
1 سنة
-1 شهر
1 يوم
الفرق الصحيح
0 سنة
11 شهر
1 يوم
لقد و ضعت ال code الخاص بك داخل form مع ال code الخاص بي من اجل سهولة التحقق من النتائج برجاء المراجعة سيدي العزيز
تم تعديل هذه المشاركة بواسطة xcode في 12 يوليو 2012 في 14:36
Persistent Fox
بالنسبة الي سؤال حضرتك
هذة هي الاجابة
If cmmonth <= 0
If cmday <= 0
ملحوظ:
عندما قمت بتعديل الشرط كما سبق تم حسب الفرق بصورة صحيحة
ولكن توجد مشكلة اذا كان الشهر 31 يوم او كان الشهر هوا فبراير مازلت ابحث عن حل
تم تعديل هذه المشاركة بواسطة xcode في 12 يوليو 2012 في 15:40
Persistent Fox
السلام عليكم شكرا على الشرح المفصل من قبلكم ولكن احببت الطريقه المختصرة بدون فورم
SET talk OFF
SET SAFETY OFF
SET DATE BRITISH
SET CENTURY ON
CLOSE ALL
USE thaer
GO top
REPLACE date WITH ctod(STR(day)+STR(month)+STR(year)) all
replace cal WITH date-today ALL
replace cday WITH ABS(day(date)- day(today))all
replace cmonth WITH ABS(month(date)- month(today))all
replace cyear WITH ABS(year(date)- year(today))all
GO top
BROWSE
ولكن كيف استطيع اظهار ناتج التاريخ في جدول جديد ثاني ولنفرض باسم thaer2وحساب عدد الايام وشكرا لكم
xcode كتب:اخي العزيز مازال الفرق غير صحيح
مثال
30/05/2012 تاريخ 1
01/05/2013 تاريخ 2
الفرق
1 سنة
-1 شهر
1 يوم
الفرق الصحيح
0 سنة
11 شهر
1 يوم
لقد و ضعت ال code الخاص بك داخل form مع ال code الخاص بي من اجل سهولة التحقق من النتائج برجاء المراجعة سيدي العزيز
اخي العزيز
حسب البرنامج الذي ارسلته انا يكون سنة و29يوم اما المظبوط هو 11شهر و3يوم
تحياتي لك وللنقاش اما التعديل الشرطي فلا يوثر اذا كان = ولكن اذا اصغر يوثر
تم تعديل هذه المشاركة بواسطة lion iraq في 13 يوليو 2012 في 11:18
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…