الانتقال إلى المحتوى
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.

تكفون مساعده في LOOP...

Featured Replies

بتاريخ:

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته..
بدي أخلي اليوزر لما يدخل الباسورد أكثر من 3 مرات خطأ
ينقفل معاه الفورم أوتماتكلي ;) ..
طبعاً في صفحة الدخول بحيث أن اليوزر أنا مدخلاه باي ديفولت..
يعني على التريجر إنه يشيك على الباس باللوب لو كان صح ينادي الفورم الي بعده B) B) B) ولو كان خطأ يعطيله فرصه تانيه وتالته وفي الرابعه يقفل الفورم كله...
ولكم جزيل الشكر مقدماً لل راح يساعدني والي ما راح يساعدني.. :) :) ;)

بتاريخ:

المشكلة ليست في كيفية استخدام ال loop ولكن هذه النقطة تحل بالشكل التالي :
- نضع على البلوك اثنين text item وليكن اسمهما Counter و No_Of_trials ويجب عمل initialization لهما بالقيمة 4 لل No_of_trials و صفر للCounter
- عند ادخال اسم مستخدم او كلمة سر خاطئة من قبل المستخدم نقوم بزيادة ال Counter بالشكل التالي :

:LOGIN.COUNTER  := NVL(:LOGIN.COUNTER,0) + 1;


:LOGIN هنا هي اسم ال BLOCK
- ومن ثم نقوم بالتشييك على قيمة ال Counter و No_of_trials بالشكل التالي :

if :LOGIN.COUNTER >= :LOGIN.NO_OF_TRIALS then
            Exit_Form(No_Validate);
         end if;


اتمنى ان تكون قد وصلت الفكرة بالشكل الصحيح .

بتاريخ:

يمكن استخدام متغير global

اولا في التريجر PRE-FORM للشاشة الرئيسية

:GLOBAL.CNT:=0;


ثم في الكود اللي يقوم بالفحص
:GLOBAL.CNT:=:GLOBAL.CNT+1;
IF :GLOBAL.CNT >=3 THEN
EXIT_FORM;
END IF;

بتاريخ:

الفكره العامة
طبعا احنا بنعمل اتنين تكست ايتم مش داتا بيز ايتمز اوك ؟
بعد كده بنعمل بناخد قيم التيكست ايتو نحطهم في جلوبال فاريابل عشان نعمل تشيك عليهم في كل فورمه لغلق الباب امام من يحاول الدخول للبرنامج بشكل غير شرعي (مش من شاشة الوجين) اوك ؟
في زرار اوك لفورمة اللوجين علي ضغط الزرار نكتب الكود الذي يحتوي علي الاتي :
يقارن بين قيمة اجلوبال فاريبل بتاع اليوزر نيم والباسورد بالقيم الموجوده في جدول المستخدمين
اذا كانت القيم سليمه نكتب كود استدعاء الفورمه الاساسيه
اذا كانت مش سليمه نكتب تحذير عن ادخال اسم مستخدم او باسور غلط اوك ؟
الكلام ده كله جوه لوب فيه كونتر نعد بيه لو قيمة الكونتر اكبر من 3 يعمل اكزيت فورم
جربي اكتبي الكود في ظل الكلام ده ولو لقيتي مشكله قولي وانا احطه جاهز
اخوكم امجد محمد

بتاريخ:

global اولا تعريف متغير من النوع
when_new_form_instanceعند فتح الشاشه
عمل 2 تكست ايتم
un
pw

when -button-pressed عمل زر وتحته 
وليكون البلوك اسمه مثلا sec
يتم كتابة الكود التالى
declare 
counter number;
v1 varchar2(20);
v2 varchar2(20);
V3 NUMBER;
 c number(1):=3;
begin

if :sec.pw is null or :sec.un is null then
message('must enter value for un or pw');
message('must enter value for un or pw');
 else



select upper(us) , upper(ps),ID
into v1,v2,V3
from us
where  upper(us)=upper(:sec.un )
and  	upper(ps)=upper(:sec.pw);
 if :global.c=0 then exit_form;
 else
 if upper(:sec.un)<>upper(v1) or upper(:sec.pw)<>upper(v2) then
 	:global.c:=:global.c-1;
 	message('false'||:global.c);
 	message('false'||:global.c);

 else 
 	
 	:GLOBAL.V:=V3;
if upper(v1)=upper('admin') then
new_FORM('sec_m');
else  	
 new_form('start');
 
end if;  	
 end if;
end if;
end if;
exception
when no_data_found then
if :global.c=1 then 
 message('اكتابة الرساله المراد اظهارها للمستخدم)
 --message('اكتابة الرساله المراد اظهارها للمستخدم)
 exit_form;
else 
 :global.c:=:global.c-1;
message('اكتابة الرساله المراد اظهارها للمستخدم));

end if;
end;

بتاريخ:

مرحبااا .. شبااب .. انا كنت عامل ... شاشت LOGIN وانشاء الله تكون زي ما بدكووو ...
1- اعمل رن للكود [/sql]

CREATE TABLE USERS
(
USER_ID NUMBER(6) NOT NULL,
USER_NAME VARCHAR2(25) NOT NULL,
USER_PASS VARCHAR2(8) NOT NULL
)

INSERT INTO USERS ( USER_ID, USER_NAME, USER_PASS ) VALUES (
1, 'ANAS', 'ANAS');
commit;


2- اعمل رن للفورم ...
هلأ الفورم بيعمل الأتي 1- بيعطيك 3 محاولات وبعدين بيسكر الفورم 2 - بيعمل تسكير للفورم اوتوماتيك بعد دقيقه .

وانشاء الله انو يعجبكم .....
سلام

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

الله يجازيكم خير ما قصرتو

بتاريخ:

العفوووووو حبيب البي tofeee ... بس الشباب ماردو خبر ... اشتغل ولا لا .. اعجبهم ولا كيف ..

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

شكراً يا أنس ..
و أبشرك مشى معي الكود ..
thanks
:) :) ;)

بتاريخ:

شكرا لكم شباب
أعتقد السؤال مكرر في نفس اليوم بعنوان آخر

بتاريخ:

جزاكم الله خيرا

بتاريخ:

ممتاز ايناس

بتاريخ:

العفو يا شباب .. بس يا elnobey انا انس مش ايناس

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

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

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

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

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

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.