الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

كيف يمكن التحكم بقيمة Timer ....................

Featured Replies

بتاريخ:

الأخوة في المنتدى السلام عليكم ...لدي إستفسار بسيط .........................جدا :(

س/ أنا لدي شاشة form 10g و أود أن أظيف فيها timer عند فتحها وهذا الـ timer ليس له علاقة بالـ sysdate (ليست الساعة تبع النظام )
أي أعطية قيمة بداية مثل 00:00:00 يقوم من خلالها بالتزايد (بالثانية ) أو قيمة 01:00:00 يقوم بالتناقص ... و في وقت معين يقوم بتنفيذ function أو يقوم بإقفال الشاشة . ..
الكود تبع الساعة معروف
-----------------------------------------------------
trigger
(w-n-f-i)
declare
my_timer timer;
begin
my_timer:=create_timer('my_tim',1000,repeat);
end;
---------------------------------------------------------------
trigger
(w-t-e)
select to_char(sysdate,'HH12:MI:SS')
into :my_tim
from dual;
------------------------------------------------------
المشكلة هي القيمة البدائية 00:00:00 كيف تعرف .
وألف شكر للجميع
أخوكم
يحيى عسيري

بتاريخ:

السلام عليكم
الاخ الكريم
لو انت عايز تعمل حاجة ملهاش علاقة بال sysdate
ممكن تجمع الوقت اللي بيعدة التيمر وتحطة في جلوبال variable
بحيث لما الوقت يكمل مثلا ساعة تنفذ الfunction
وكدة انت بعدت عن تاريخ
ولو انا مش فاهم او فهمتك غلط رجاء وضحلي
شكرا

بتاريخ:
  • كاتب الموضوع

شكرا على الرد بس كيف




ممكن تجمع الوقت اللي بيعدة التيمر وتحطة في جلوبال variable
بحيث لما الوقت يكمل مثلا ساعة تنفذ الfunction
وكدة انت بعدت عن تاريخ


كيف أحطه في متغير ................... :(
بتاريخ:

السلام عليكم
يعني مثلا لو انت عامل التيمر بتاعك وقتة 1000
يعني ثانية فتجمع الوقت اللي في الvariable
لو عايزة الfunction تتنفذ بعد دقيقة
ففي الحالة دية لما القيمة تبقي 60000 تنادي الfunction
وهكذا
شكرا

بتاريخ:

الأخ\yahya1
أعتقد اني فهت فكرتك ............
ولكي تعمل مستقل يقوم بالتزايد نفذ التالي :

1- أعمل ثلاثة text item الأول بأسم HOURS والثاني MINUTES والثالث SECONDS

2-نفذ الكود التالي في التريجر 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

بتاريخ:
  • كاتب الموضوع

ألف ألف ألف شكرررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررر :(
لك أخي sky information
حقيقة إنك ما قصرة (بصراحة ) مبدع .......... واتوقع لك زمن طويل في البرمجة ... و الحل هذا لا يأتي إلى من مخضرم عاش البرمجة ومشاكلها ... بصراحة لنا الفخر بك وبأمثالك في عالمنا .......... ووجودك في هذا المنتدى فخر لأعضاءه ومشرفيه .

أعتذر س2
سؤال / كيف أستطيع أن أظيف function ينفذ إذا تحقق شرط كون hours صار 3 ............

و ألف ألف شكر

بتاريخ:

ج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;

بتاريخ:
  • كاتب الموضوع

من لا يشكر الناس لا يشكر الله ...............

ألف شكر لك أخي AdNaN وكمان الشكر موصول لكل من شارك .....................................

بتاريخ:

تفاعل ممتاز جزى الله كل المشتركين من فضله

بتاريخ:

بالفعل الرابط أعلاه للأخ زين مفيد جدا لمن اراد الاستفادة عن التوقيت
جزاه الله خير

  • بعد 4 شهور...
بتاريخ:

الف شكر كيف يتم تنفيذة بالعربى

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.