بتاريخ: 2 ديسمبر 200718 سنة comment_117697 دلوقتى انا عندى كتاب فيه مواضيع حلوه جداً لل Forms ...... من ضمن المواضيع دى ، موضوع بيتكلم عن تحديث الساعة ثانية بثانية فى ال Run Time ..... و ده نص الموضوع :- Timers and Displaying a ClockAn external clock can be constructed using timers. Timers correspond to internal clocks, which have a specific time period. When the specified duration expires, the timer can either perform an action once and stop or repeat the action regularly every time the timer expires. Timer duration is always in milliseconds. Timers are created using the CREATE_TIMER built in and require a WHEN-TIMER-EXPIRED trigger to be written at the form level. This trigger fires every time the timer expires.Using REPEAT TimersLet's create a display item, CURRENT_TIME, in the horizontal toolbar canvas CANVAS_TOOLBAR created earlier. This item shows the time in HH24:MI:SS format and updates itself every second (the timer duration).In the WHEN-NEW-FORM-INSTANCE trigger, create a timer named CLOCK_TIMER, which iterates after every one second and populates the CURRENT_TIME item with the system date in HH24:MI:SS format. The code is as follows:DECLARE timer_id TIMER; one_second NUMBER := 1000;BEGIN timer_id := FIND_TIMER('CLOCK_TIMER'); IF NOT ID_NULL(timer_id) THEN DELETE_TIMER(timer_id); ELSE timer_id := CREATE_TIMER('CLOCK_TIMER',one_second, REPEAT); END IF; SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') INTO :toolbar.current_time FROM DUAL; EXCEPTION WHEN OTHERS THEN MESSAGE(TO_CHAR(SQLCODE)||''||SQLERRM);END;Create a WHEN-TIMER-EXPIRED trigger as follows:DECLARE timer_name VARCHAR2(30);BEGIN timer_name := GET_APPLICATION_PROPERTY(TIMER_NAME); IF timer_name = 'CLOCK_TIMER' THEN SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') INTO :toolbar.current_time FROM DUAL; END IF; EXCEPTION WHEN OTHERS THEN MESSAGE(TO_CHAR(SQLCODE)||''||SQLERRM);;END المهم انا عملت كده ...... و برضه مش شغال معايا الفورمه ...... أنا ارفقت الفورمه .... و اتمنى ان ألاقى حل لهذه المشكلة ..... و شكراً TIME_TIMER.zip تم تعديل 2 ديسمبر 200718 سنة بواسطة hanyfreedom تقديم بلاغ
بتاريخ: 4 ديسمبر 200718 سنة كاتب الموضوع comment_117866 مازلت منتظر الاجابة ....... أرجو الاهتمام ........... و شكراً تقديم بلاغ
بتاريخ: 4 ديسمبر 200718 سنة comment_117872 بسم الله الرحمن الرحيمأولاً بالنسبه للdisplay item المفروض يبقى char لأنك بتحول الsysdate إلى char فلازم الitem اللى هتوضع فيه القيمه يكون char وكمان هتشيل الformat maskأما بالنسبه لwhen-new-form-instanceماينفعش تقول find_timer وهو لسه ماتعملوش create فهيدى errorكمان فى when-timer-expiredمشمحتاج get_application_property لأن مفيش ألا timer واحد بس هو اللى متكريت.مرفق الفورمه........ TIME_TIMER.zip تقديم بلاغ
بتاريخ: 4 ديسمبر 200718 سنة كاتب الموضوع comment_117904 أخى الكريم Ahmed Farghaly شكراً لتعبكبالنسبة لكلامك فيما يتعلق بال :- أولاً بالنسبه للdisplay item المفروض يبقى char لأنك بتحول الsysdate إلى char فلازم الitem اللى هتوضع فيه القيمه يكون char وكمان هتشيل الformat maskكمان فى when-timer-expiredمشمحتاج get_application_property لأن مفيش ألا timer واحد بس هو اللى متكريت. فهو كلام صحيح ...... أما بالنسبة لل :-أما بالنسبه لwhen-new-form-instanceماينفعش تقول find_timer وهو لسه ماتعملوش create فهيدى error فهو ينفع ..... لأن بكل بساطة هيبحث عن ال timer اللى اسمه CLOCK_TIMER فمش هيلاقى و بكده مش هيبقى فى قيمة لل ID_NULL و من ثم مش هيمسح ال timer و انا أرفقت الفورمه بعد تعديلك و تعديلى ........ شكراً جزيلاً لك أخى Ahmed Farghalyو أتمنى ان يكون أخونا j1968s قد فهم الفكرة دلوقتى ... مثلىو فى سلامة اللهTIME_TIMER.zip تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.