بتاريخ: 25 يونيو 200718 سنة comment_103414 الأخوة في المنتدى السلام عليكم ...لدي إستفسار بسيط .........................جدا س/ أنا لدي شاشة form 10g و أود أن أظيف فيها timer عند فتحها وهذا الـ timer ليس له علاقة بالـ sysdate (ليست الساعة تبع النظام )أي أعطية قيمة بداية مثل 00:00:00 يقوم من خلالها بالتزايد (بالثانية ) أو قيمة 01:00:00 يقوم بالتناقص ... و في وقت معين يقوم بتنفيذ function أو يقوم بإقفال الشاشة . ..الكود تبع الساعة معروف -----------------------------------------------------trigger(w-n-f-i)declaremy_timer timer;beginmy_timer:=create_timer('my_tim',1000,repeat);end;---------------------------------------------------------------trigger(w-t-e) select to_char(sysdate,'HH12:MI:SS')into :my_timfrom dual;------------------------------------------------------المشكلة هي القيمة البدائية 00:00:00 كيف تعرف . وألف شكر للجميع أخوكم يحيى عسيري تقديم بلاغ
بتاريخ: 25 يونيو 200718 سنة comment_103433 السلام عليكم الاخ الكريملو انت عايز تعمل حاجة ملهاش علاقة بال sysdateممكن تجمع الوقت اللي بيعدة التيمر وتحطة في جلوبال variableبحيث لما الوقت يكمل مثلا ساعة تنفذ الfunctionوكدة انت بعدت عن تاريخولو انا مش فاهم او فهمتك غلط رجاء وضحليشكرا تقديم بلاغ
بتاريخ: 25 يونيو 200718 سنة كاتب الموضوع comment_103435 شكرا على الرد بس كيف ممكن تجمع الوقت اللي بيعدة التيمر وتحطة في جلوبال variableبحيث لما الوقت يكمل مثلا ساعة تنفذ الfunctionوكدة انت بعدت عن تاريخ كيف أحطه في متغير ................... تقديم بلاغ
بتاريخ: 25 يونيو 200718 سنة comment_103438 السلام عليكميعني مثلا لو انت عامل التيمر بتاعك وقتة 1000يعني ثانية فتجمع الوقت اللي في الvariableلو عايزة الfunction تتنفذ بعد دقيقةففي الحالة دية لما القيمة تبقي 60000 تنادي الfunctionوهكذاشكرا تقديم بلاغ
بتاريخ: 25 يونيو 200718 سنة comment_103448 الأخ\yahya1أعتقد اني فهت فكرتك ............ولكي تعمل مستقل يقوم بالتزايد نفذ التالي :1- أعمل ثلاثة text item الأول بأسم HOURS والثاني MINUTES والثالث SECONDS2-نفذ الكود التالي في التريجر WHEN-NEW-FORM-INSTANCE: DECLARE T TIMER; BEGIN T :=CREATE_TIMER ('T1',1000,REPEAT); :GLOBAL.SECONDS:=0; END; 3- نفذ الكود التالي غي التريجر WHEN-TIMER-EXPIRED: DECLARE MINUS_MINUTE NUMBER; CURRENT_SECOND NUMBER; BEGIN :SECONDS:=:SECONDS+1; IF :HOURS=24 AND :SECONDS=59 AND :MINUTES=59 THEN :HOURS:=0; :SECONDS:=0; :MINUTES:=0; ELSIF :SECONDS=59 AND :MINUTES=59 THEN :HOURS:=:HOURS+1; :SECONDS:=0; :MINUTES:=0; ELSIF :SECONDS=59 THEN :SECONDS:=0; :MINUTES:=:MINUTES+1; END IF; END; وهذه الفورم جاهزة جرب الفورم وخبرني بالنتيجةCLOCK.zip تقديم بلاغ
بتاريخ: 25 يونيو 200718 سنة كاتب الموضوع comment_103451 ألف ألف ألف شكرررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررر لك أخي sky information حقيقة إنك ما قصرة (بصراحة ) مبدع .......... واتوقع لك زمن طويل في البرمجة ... و الحل هذا لا يأتي إلى من مخضرم عاش البرمجة ومشاكلها ... بصراحة لنا الفخر بك وبأمثالك في عالمنا .......... ووجودك في هذا المنتدى فخر لأعضاءه ومشرفيه .أعتذر س2 سؤال / كيف أستطيع أن أظيف function ينفذ إذا تحقق شرط كون hours صار 3 ............و ألف ألف شكر تقديم بلاغ
بتاريخ: 26 يونيو 200718 سنة comment_103467 ج2/إذا أردت الكود ينفذ مرة واحدة فقط الساعة 3(صباحاً ومساءً) نفذ ما يلي: IF (:HOURS=3 or :HOURS=15) AND :SECONDS=0 AND :MINUTES=0 THEN أما إذا أردت الكود ينفذ في كل ثانية تمر عندما تكون الساعة 3(صباحاً ومساءً) نفذ ما يلي: IF :HOURS=3 or :HOURS=15 Then بحيث يصبح الكود النهائي كما يلي كما يلي :===================================================================== DECLARE MINUS_MINUTE NUMBER; CURRENT_SECOND NUMBER; BEGIN :SECONDS:=:SECONDS+1; IF :HOURS=24 AND :SECONDS=59 AND :MINUTES=59 THEN :HOURS:=0; :SECONDS:=0; :MINUTES:=0; ELSIF :SECONDS=59 AND :MINUTES=59 THEN :HOURS:=:HOURS+1; :SECONDS:=0; :MINUTES:=0; ELSIF :SECONDS=59 THEN :SECONDS:=0; :MINUTES:=:MINUTES+1; END IF; IF (:HOURS=3 or :HOURS=15) AND :SECONDS=0 AND :MINUTES=0 THEN CALL_UR_FUNC; END IF; END; تقديم بلاغ
بتاريخ: 28 يونيو 200718 سنة كاتب الموضوع comment_103674 من لا يشكر الناس لا يشكر الله ...............ألف شكر لك أخي AdNaN وكمان الشكر موصول لكل من شارك ..................................... تقديم بلاغ
بتاريخ: 29 يونيو 200718 سنة comment_103742 السلام عليكم ورحمه الله وبركاتهالموضوع ده ان شاء الله فيه التفاصيل الكامله عن timershttp://www.araboug.org/ib/index.php?showtopic=20038&hl= تقديم بلاغ
بتاريخ: 2 يوليو 200718 سنة comment_103946 بالفعل الرابط أعلاه للأخ زين مفيد جدا لمن اراد الاستفادة عن التوقيتجزاه الله خير تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.