الانتقال إلى المحتوى

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


رزه

Recommended Posts

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته..
بدي أخلي اليوزر لما يدخل الباسورد أكثر من 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 - بيعمل تسكير للفورم اوتوماتيك بعد دقيقه .

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

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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