المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : عدد الايام التي مرت لغاية اليوم


ثامر أبو بلقيس
11-11-2015, 06:05 PM
السلام عليكم ورحمة الله وبركاته

ما الاكواد اللازمة لمعرفة عدد الايام التي مرت من السنة المتوافقة مع تاريخ الجهاز
وان امكن اخذ ايام شهر فيفري بعين الاعتبار

شكرا :abc_138:

عبد الهادي بهاب
12-11-2015, 01:05 AM
اظن ان عمر الجهاز يقاس بالبيوس
اي معرفة متى صنع البيوس

و معرفة ذلك يتمثل في registre الخاص به
http://www.computerhope.com/issues/pictures/regbios.jpg

و الكود من اجل ذلك

re = Registry.GetValue(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System", "SystemBiosDate", true);


تبقى مسالة السنوات الكبيسة فهي تكون من بين 1992.1996...........كل 4 سنوات ......حيث فبراير يكون 29 يوما يعني السنة 366 يوما

فيه مسالة الاشهر ذات 30 يوما او 31 يوما

ثم اخر مسالة هي ان كان يوم الصنع اكبر نم يوم الحالي فنضيف له 30 و التي ننقصها من الاشهر

نفس الشيء بالنسبة للاشهر

اخر مسالة هي قضية مقارنة سنة الصنع بسنة الجهاز الحالية .....فلا يجب ان تكون اكبر منها و الا فنحن في المستقبل

عبد الهادي بهاب
12-11-2015, 01:12 AM
مثال مفتوح
http://www.mediafire.com/download/i0vbewk1ca8o7ac/age_pc.apz

طبعا هي محاولة ........ و يمكن اختصار الاكواد ........ ان سامنا ان عمر الجهاز يحسب بتاريخ البيوس bios

ثامر أبو بلقيس
12-11-2015, 08:46 AM
السلام عليكم ورحمة الله وبركاته

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

مثلا السنة الحالية وفق جهازي 2015 كيف لي باكواد لاعرف بانه مر من هذه السنة 316 يوما هذا هو المطلوب
اي المطلوب ابسط مما اشرت اليه
شكرا بارك الله فيك الملف المرسل مفيد :abc_138:

Haitham.2012
12-11-2015, 09:39 AM
ان شاء الله يكون الملف المرفق بالمطلوب

:abc_138: :abc_152: :abc_138:

ثامر أبو بلقيس
12-11-2015, 11:37 AM
بارك الله فيك استاذ هيثم هو المطلوب ... بالاعتماد على الاضافة Date و
سكريبت .... في الحقيقة عمل رائع ماذا لو طمعت استاذي الكريم بحل يغنيني عن كل الاضافات و السكريبتات
هل ممكن ذلك وابقاء الانشغال مفتوحا برغم توفر الحل في ردكم لتوسيع دائرة البحث :abc_152:

على كل جزاك الله كل خير :abc_138:

ملاحظة جانبية تمرير كل التقدير لمن وسم الموضوع بالممتاز شكرا

ياسرهتهت
12-11-2015, 12:36 PM
بسم الله الرحمن الرحيم
شكرا لكم جميعا
موفقين بإذن الله ... لكم مني أجمل تحية .

عبد الهادي بهاب
12-11-2015, 05:59 PM
السلام عليكم

هذه محاولة للحل بدون اضافات

في ملف جديد .......... ضع 3 انيوتات .......و سميها day . month . year

انبوت النتائج Input 2 ................

ثم في OnShow الصفحة ازؤع هذا الكود


day = System.GetDate(DATE_FMT_DAY);
month = System.GetDate(DATE_FMT_MONTH);
year = System.GetDate(DATE_FMT_YEAR);

Input.SetText("day", day);
Input.SetText("month", month);
Input.SetText("year", year);


day = String.ToNumber(day);
month = String.ToNumber(month);
year = String.ToNumber(year);



lis = {1988,1992,1996,2000,2004,2008,2012,2016,2020}
for i in pairs(lis) do
if year == i then
m12 = 366
m11 = m12-31
m10 = m11-30
m9 = m10 - 31
m8 = m9 -30
m7 = m8 -31
m6 = m7 -31
m5 = m6 -30
m4 = m5 -31
m3 = m4-30
m2 = m3-31
m1 = m2-29
else
m12 = 365
m11 = m12-31
m10 = m11-30
m9 = m10 -31
m8 = m9 -30
m7 = m8 -31
m6 = m7 -31
m5 = m6 -30
m4 = m5 -31
m3 = m4-30
m2 = m3-31
m1 = m2-28
end
end

moi = {m1,m2,m3,m4,m4,m5,m6,m7,m8,m9,m10,m11,m12}
for p in pairs(moi) do
if month == p then
mo = moi[p]
d= day
so = mo+d
Input.SetText("Input2", so-1);
end
end




ثم اعمل معاينة .............عدل تاريخ جهازك بالسنوات الكبسية او اي تاريخ من السنة الحالية و ان شاء الله ينجح

:abc_052::abc_052:
بالتوفيق

ثامر أبو بلقيس
12-11-2015, 06:42 PM
السلام عليكم ورحمة الله وبركاته

مجهود كبير اخي المحترف ... و يفي بالغرض الى حد ما جد مشكور:abc_145: اخي الكريم
ماذا لو ازددت طمعا :abc_086: و احببت تحقيق المطلوب باقل تكلفة في الاكواد اي مختصرة قليلا
اذ كان ذلك ممكنا نبقي الانشغال مفتوحا تقديري :abc_138:

ملاحظة لي تعديل بسيط على اكواد مشاركتك الاولى عند توفر فرصة سانحة ساكتبها :abc_138:

ثامر أبو بلقيس
12-11-2015, 07:00 PM
السلام عليكم ورحمة الله وبركاته

اخي المحترف و بفرض اني اريد معرفة عدد الايام التي مرت انطلاقا من البيوس
عد لملفك المفتوح و اختصر كل الاكواد بالاتي لتحصل على عدد الايام و باكثر دقة

re = Registry.GetValue(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System", "SystemBiosDate", true);
local dayValue, monthValue, yearValue = string.match(re, '(%d%d)/(%d%d)/(%d%d)')
now = os.time{year = yearValue, month = monthValue, day = dayValue}
t1 = os.time{year = tonumber(yearValue)+ 2000, month= tonumber(monthValue), day= tonumber(dayValue)}
t2 = os.time{year = System.GetDate(DATE_FMT_YEAR), month= System.GetDate(DATE_FMT_MONTH), day= System.GetDate(DATE_FMT_DAY)}
Dialog.Message("ابو بلقيس2015"," عدد الايام "..os.difftime (t2, t1)/(60*24)/60 );


ها انا اختصرت لك مجهودك باكواد قياسية ذاك ما اطمع به في طلبي

شكرا :abc_138:

ثامر أبو بلقيس
12-11-2015, 07:03 PM
بسم الله الرحمن الرحيم
شكرا لكم جميعا
موفقين بإذن الله ... لكم مني أجمل تحية .

بارك الله فيك استاذ ياسر على المرور الطيب المشجع :abc_138:

عبد الهادي بهاب
12-11-2015, 07:47 PM
السلام عليكم ورحمة الله وبركاته

اخي المحترف و بفرض اني اريد معرفة عدد الايام التي مرت انطلاقا من البيوس
عد لملفك المفتوح و اختصر كل الاكواد بالاتي لتحصل على عدد الايام و باكثر دقة

re = Registry.GetValue(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System", "SystemBiosDate", true);
local dayValue, monthValue, yearValue = string.match(re, '(%d%d)/(%d%d)/(%d%d)')
now = os.time{year = yearValue, month = monthValue, day = dayValue}
t1 = os.time{year = tonumber(yearValue)+ 2000, month= tonumber(monthValue), day= tonumber(dayValue)}
t2 = os.time{year = System.GetDate(DATE_FMT_YEAR), month= System.GetDate(DATE_FMT_MONTH), day= System.GetDate(DATE_FMT_DAY)}
Dialog.Message("ابو بلقيس2015"," عدد الايام "..os.difftime (t2, t1)/(60*24)/60 );
ها انا اختصرت لك مجهودك باكواد قياسية ذاك ما اطمع به في طلبي

شكرا :abc_138:


جد مختصر ............:abc_052::abc_052::abc_052:........... ... هنا عرفت معنى الاية هل يستوي الذين يعلمون و الذين لا يعلمون

ساحاول تفكيك شفرة الكود .... كما فهمت هو بلغة lua

لماذا تظهر الفاصلة ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

ثامر أبو بلقيس
12-11-2015, 07:57 PM
لماذا تظهر الفاصلة ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

ماذا قصدت لم افهم :abc_138:

عبد الهادي بهاب
13-11-2015, 11:24 AM
هاهي الصورة

http://i21.servimg.com/u/f21/12/62/73/88/gt12.png

ثامر أبو بلقيس
13-11-2015, 03:20 PM
من المفترض ان لا تظهر اجزاء عشرية فعندي لم يظهر ذلك لكن هذا لا يمنع ان تستبعد الاجزاء العشرية من النتيجة :abc_138:
Math.Floor
ويبقى الطلب الاصلي مفتوحا :abc_138:

عبد الهادي بهاب
13-11-2015, 05:53 PM
من المفترض ان لا تظهر اجزاء عشرية فعندي لم يظهر ذلك لكن هذا لا يمنع ان تستبعد الاجزاء العشرية من النتيجة :abc_138:
Math.floor
ويبقى الطلب الاصلي مفتوحا :abc_138:

شكرا جزيلا ......افعل باذن الله

ثامر أبو بلقيس
13-11-2015, 06:22 PM
جيد -------------- و حتى انهي ارتباطي بهذا الطلب البحثي ساكتب الحل بعد لحظات

ثامر أبو بلقيس
13-11-2015, 06:31 PM
كل ما قيل و كتب من اكواد كان بالامكان اختصاره بهذا السطر
لاحتساب الايام المنقضية من السنة وفق تاريخ الجهاز
Dialog.Message("Notice", os.date ("%j")-1);


تقديري :abc_138:

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

ثامر أبو بلقيس
13-11-2015, 11:31 PM
ان شاء الله يكون الملف المرفق بالمطلوب

:abc_138: :abc_152: :abc_138:

بمكن الاستغناء على الاضافة و السكريبت و للتنفيذ وفق الفكرة المرفقة

كاف
t1 = os.time{year = System.GetDate(DATE_FMT_YEAR), month= ("01"), day= ("01")}
t2 = os.time{year = System.GetDate(DATE_FMT_YEAR), month= System.GetDate(DATE_FMT_MONTH), day= System.GetDate(DATE_FMT_DAY)}
Dialog.Message("ابو بلقيس2015"," عدد الايام "..String.ToNumber(os.difftime (t2, t1))/(60*24)/60 );


شكرا جزيلا :abc_138:

ثامر أبو بلقيس
13-11-2015, 11:40 PM
الاخ المحترف اقلي تواجدك الان في الصفحة سيجعلني ان اطلب منك كتابة كودين
دورهما احتساب الايام المتبقية على انقضاء السنة بحيث كلا الكودين يكونا مرتبطين بتعديل
في المشاركة 18 و المشاركة 19 اعلاه اي عدل في الكودين للحصول على كودين دورهما احنساب كم يوم و تنتهي السنة
نلتقي بود :abc_138:

عبد الهادي بهاب
13-11-2015, 11:42 PM
سطر واحد ؟؟؟؟؟؟؟؟؟؟

:abc_085::abc_085::abc_085::abc_085:

تفكرت اغنية ضيعت شبابي ...............الخ

هلا عطيتنا هذا السطر من الاول في قسم الدروس و نذهب نتفرج طوم جيري اليس افضل ؟؟؟؟؟؟؟

:abc_085::abc_085::abc_085:

جميل جدا هذا السطر ساضعه في cadre و نعلقه حتى يعلم الجميع بانني لايجب ان اخصص بطلبات

:abc_085::abc_085::abc_085:

سطر ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
ساعتزل الاوتوبلاي و اتفرغ للرسوم المتحركة و ابيع الكاوكاو

ثامر أبو بلقيس
13-11-2015, 11:46 PM
ههههههههههه ليست تلك الغاية بل الغاية حب مشاركة الزملاء بكل جديد عني و من جهة قتل الركود المخيم على الموقع منذ مدة بمثل هكذا طرح
لاتنس اني طلبت منك تعديل في الصفحة السابقة :abc_138:

عبد الهادي بهاب
13-11-2015, 11:51 PM
ههههههههههه ليست تلك الغاية بل الغاية حب مشاركة الزملاء بكل جديد عني و من جهة قتل الركود المخيم على الموقع منذ مدة بمثل هكذا طرح
لاتنس اني طلبت منك تعديل في الصفحة السابقة :abc_138:

لم اجد مختصرا لكل ذلك سوى اخر كود المخصص في عمر الجهاز و حورته


t1 = os.time{year = System.GetDate(DATE_FMT_YEAR), month=1, day=1}
t2 = os.time{year = System.GetDate(DATE_FMT_YEAR), month= System.GetDate(DATE_FMT_MONTH), day= System.GetDate(DATE_FMT_DAY)}
Dialog.Message("ÇÈæ ÈáÞíÓ2015"," ÚÏÏ ÇáÇíÇã "..os.difftime (t2, t1)/(60*24)/60 );

وهي اخر مشاركة لك موجهة تعقيبا علة مادخلة الاستاذ هيثم

طبعا التحدي اكتشف منه الكثير من الاشياء ومن ذلك registre و كيفية التعامل معه ........و فوارق التاريخ ......و اضافة date
على كل الشكر موصول لسيادتكم
و سنبقى اوفياء للتمارين القدمة

لكن صدقني القول كنت انتظر معادلة مع مصفوفة و و و

لكن سطر او نصف سطر .....:abc_085:

ثامر أبو بلقيس
14-11-2015, 11:02 AM
5 دقائق زمن سريع للرد لكن التسرع وعدم التاكد من نواتج التعديل
ليسا في صالحك ساكتب الحلين تقديري :abc_138:

ثامر أبو بلقيس
14-11-2015, 11:41 AM
السلام عليكم ورحمة الله وبركاته

لمعرفة عدد الايام المتبقية لانقضاء سنة معينة و لتكن السنة المتوافقة مع زمن الجهاز
وفق تاريخ الجهاز

الكود الاول
t1 = os.time{year = System.GetDate(DATE_FMT_YEAR), month= System.GetDate(DATE_FMT_MONTH), day= System.GetDate(DATE_FMT_DAY)}
t2 = os.time{year = System.GetDate(DATE_FMT_YEAR), month= ("12"), day= ("31")}
Dialog.Message("ابو بلقيس2015", " عدد الايام المتبقية "..String.ToNumber(os.difftime (t2, t1))/(60*24)/60);


الكود الثاني
now = os.time{year = System.GetDate(DATE_FMT_YEAR), month=12, day=31}
Dialog.Message("ابو بلقيس2015", " عدد الايام المتبقية "..(os.date ("%j" , now)) - (os.date ("%j")));


السلام عليكم ورحمة الله وبركاته .:abc_138:

عبد الهادي بهاب
14-11-2015, 02:05 PM
5 دقائق زمن سريع للرد لكن التسرع وعدم التاكد من نواتج التعديل
ليسا في صالحك ساكتب الحلين تقديري :abc_138:

و تاكدت انني يجب ان ابيع الكاوكاو:abc_085::abc_085::abc_085: