بتاريخ: 20 يوليو 200916 سنة كاتب الموضوع comment_163927 السلام عليكمهذا هو الجدول: create table user_login( USR VARCHAR2(30) PRIMARY KEY, PASS VARCHAR2(30), USR_TYPE NUMBER(2), usr_status number(2)); والفورم بالمرفقات...فقط قم بتغيير المسار الى مسار الشاشة الرئيسية عندك بكود اللوجن و عندك ترجر ON-LOGON اكتب اسم الداتا بيز عندك واليوزر والباس...بالتوفيق users.rar تقديم بلاغ
بتاريخ: 21 يوليو 200916 سنة comment_163940 سلام عليكماخي العزيز لقد وجدت خطا في البروسيجر فانت معرف UPPER(USR) وهذا ليس موجود فيعطيني IDENTIFIER 'USR' MUST BE DECLAREDوايضا انا اتمنى لو تضيف اسم يعني المستخدم يضيف اسم والباسوردبخصوص هذا الاسكربت اين اضعه بالضبط يعني على مستوى البلوك وماهي نوعية الترجيرز الذي اضعه فيهلانه انا بدي مثلا المستخدم العادي فقط يستطلع الفورمة ومايقدر يعدل فيها اي شي فانت عاملة هذا الاسكربت اذا كان على زر معين طيب ماذا عن الفورمة باكملها. طبعا الادمن يستطيع اني يدخل عليها ويستطيع التعديل كـود PHP SET_BLOCK_PROPERTY('BLK.BUTTON_NAME',ENABLED,PROPERTY_FALSE); شكرا لك وسامحنا على كثرة الاسئلة وربنا يجزيك كل خير تقديم بلاغ
بتاريخ: 21 يوليو 200916 سنة كاتب الموضوع comment_163941 السلام عليكماخي العزيز...الفورم شغال 100 % فقط لا تقم بتغيير اسماء الايتم..قم بانشاء الجدول كما هو...وادخل على فورم المستخدمين واعمل REFRESH من قائمة TOOLS>>>DATABLOCK WIZARD وقم بادخال مستخدم ...ومن ثم قم بعمل RUN لفورم الدخول بدون اي تغيير فقط قم بتغيير المسار الى مسار شاشة الــ INTERFACE عندك هذا اولا ... وثانيا غير القيم الموجود في ترجر ON-LOGON في فورم الدخول...بالنسبة للسكريبت:انت عندك بفورم المستخدمين نوع المستخدم وانا عملتلك اياه LIST ITEM نوعين فقط صحيح ؟؟والكود الموجود بشاشة الدخول موجود هذا الكود : :GLOBAL.P_USER_TYPE:=VV_USRTYPE; بمعنى أنني احضرت بالبدايه نوع هذا المستخدم الذي قام بالدخول على النظام ووضعته داخل GLOBAL VARIABLE ...انت عندك فورم الــ INTERFACE عبارة عن ازرار...داخل هذا الورم على مستوى الموديول بداخل ترجر WHEN-NEW-FORM-INSTANCE اكتب الكود التالي: IF :GLOBAL.P_USER_TYPE:= 1 THEN SET_BLOCK_PROPERTY('UR_BLOCK_NAME',UPDATE_ALLOWED,PROPERTY_FALSE); SET_BLOCK_PROPERTY('UR_BLOCK_NAME',DELETE_ALLOWED,PROPERTY_FALSE); END IF; معنى هذا الكود : انك منعت المستخدم الذي نوعه = 1 وهو المدخل بالبداية بفورم المستخدمين عند اختيارك القيمة من الــ LIST ITEM من الحذف والتعديل على هذا البلوك وهكذا...أرجو ان تكون الفكرة قد وضحت...بالتوفيقأرجة تقديم بلاغ
بتاريخ: 21 يوليو 200916 سنة comment_164078 شكرا لك ياستاذي العزيز وكل شي تمام الان الصراحه ان عاجز عن شكرك ومساعدتك لنا وربنا يجزيك كل خيراخي احمد انا ودي اضيف شغله جديدة في فورمة الصلاحيات يعني نضيف وقت الدخول بمعنى انه اليسر مايستطيع ان يدخل على النظام في خارج الوقت المحدد له يعني نضيف عامود جديد باسم log_time CREATE TABLE "USER_PRV" ( "USR_ID" VARCHAR2(100), "USR_ANAME" VARCHAR2(100), "USR_ENAME" VARCHAR2(100), "USR_PASSWORD" VARCHAR2(50), "USR_TYPE" NUMBER, "USR_STATUS" NUMBER, "log_time" time, CONSTRAINT "USER_PRV_PK" PRIMARY KEY ("USR_ID") ENABLE ) طبعا راح ينضاف هذا الحقل في فورمة البرفلج فالادمن يكتب وقت دخول هذا اليسر مثلا من الساعة التاسعة صباحا الى الساعة 18 مساءوفي البروسيجر نضع مسج اذا دخل اليسر في غير وقته "You are not allowed to enter in this time"في امان الله وحفظة تقديم بلاغ
بتاريخ: 21 يوليو 200916 سنة كاتب الموضوع comment_164080 السلام عليكماخي راجع هذا الموضوع:http://www.araboug.org/ib/index.php?showtopic=35649بالتوفيق تقديم بلاغ
بتاريخ: 26 يوليو 200916 سنة comment_164633 ACC_MNU.MENU1.MAINلو عندي مينيو my menuوبها قائمه consوبها عنصر addكيف حيكون الكود لمنع المستخدم من الدخول لها وشكرا تقديم بلاغ
بتاريخ: 26 يوليو 200916 سنة كاتب الموضوع comment_164634 السلام عليكمكالتالي اخي: SET_MENU_ITEM_PROPERTY('cons.add',VISIBLE,PROPERTY_FALSE); بالتوفيق تقديم بلاغ
بتاريخ: 26 يوليو 200916 سنة comment_164635 ظلت ظاهره وطلع رساله انه البند غير موجود في القائمه لما اضغط عليها بس في مشكله تانيه انا حاطط المنيو في logon form قبل ماادخل اي يوزر بقدر ادخل على كل الايتم كيف امنعه ؟؟ قبل تقديم بلاغ
بتاريخ: 26 يوليو 200916 سنة كاتب الموضوع comment_164636 السلام عليكماخي قم بعمل MAIN PAGE اربط المنيو عليهاومن اللوجن فورم بتنادي الــ MAIN PAGE افضل...خبرني بالنتيجه...طبعا ليس الفورم السابق يعمل لوحده: IF :GLOBAL.P_USER_TYPE=1 THEN SET_MENU_ITEM_PROPERTY('cons.add',VISIBLE,PROPERTY_FALSE); ELSE CALL_form('C:\GBT_SYS\FRM\COURSES.fmx'); END IF; يجب عليك تحديد نوع او اسم المستخدم.... تم تعديل 26 يوليو 200916 سنة بواسطة PALI.ORACLE تقديم بلاغ
بتاريخ: 26 يوليو 200916 سنة comment_164638 مانفع يااخي لازم احط المنيو في اللوجن فورم واي منيو اضعها في اللوجن بتصير هي ال defualt لكل الفورم الي وراها تقديم بلاغ
بتاريخ: 26 يوليو 200916 سنة كاتب الموضوع comment_164639 السلام عليكماخي ازا الديفيلوبر عندك 6 ارفق الفورمز والمنيو... تقديم بلاغ
بتاريخ: 26 يوليو 200916 سنة كاتب الموضوع comment_164648 السلام عليكماوك اخي مو مشكله..ولكن المنيو يفضل وضعها على الــ main page وليس على الــ loginوما الخطأ عندك بالتحديد ؟؟جرب وضع المنيو على اي فورم اوك ؟واستدعي هادا الفورم من داخل اللوجن... تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة comment_164657 حاولت وضعها في الواجهه الرئيسه مش في اللوجن لكن بياخد المنيو تعت اللوجن ولو مش حاطط منيو في اللوجن بشيل المنيو من كل الفورمز تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة كاتب الموضوع comment_164751 بسم الله الرحمن الرحيم سنضيف الى الموضوع ان شاءالله كيفية السماح للمستخدم بتغيير الــ PASSWORD الخاصة به:اولا نقوم بانشاء PROCEDURE ونكتب فيه الكود التالي: PROCEDURE CHNG_PASS IS ALERT_BUTTON NUMBER; V_USER VARCHAR2(100); V_OLD_PASS VARCHAR2(100); BEGIN SELECT USR_ID , USR_PASSWORD INTO V_USER,V_OLD_PASS FROM USER_PRV WHERE USR_ID = :BLKCHANGE.V_USERID AND USR_PASSWORD = :BLKCHANGE.V_PASSWORD; IF :BLKCHANGE.V_NEWPASSWORD <> :BLKCHANGE.V_CONFIRMP THEN MESSAGE('NEW PASSWORD IS NOT LIKE CONFIRM PASSWORD'); MESSAGE('NEW PASSWORD IS NOT LIKE CONFIRM PASSWORD'); RAISE FORM_TRIGGER_FAILURE; ELSE FORMS_DDL('UPDATE USER_PRV SET USR_PASSWORD = '''||:BLKCHANGE.V_NEWPASSWORD|| ''' WHERE UPPER(USR_ID) = UPPER('''||:BLKCHANGE.V_USERID||''')'); ALERT_BUTTON := SHOW_ALERT( 'SAVE' ); IF ALERT_BUTTON = ALERT_BUTTON1 THEN FORMS_DDL('COMMIT'); END IF; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN RAISE FORM_TRIGGER_FAILURE; CLEAR_FORM(NO_COMMIT); END; ونستدعي اسم البروسيجر على زر تغيير الباسوورد ... اذا سيكون شكل الفورم كما في الصورة...التويق للجميع...تحياتي.. تم تعديل 27 يوليو 200916 سنة بواسطة PALI.ORACLE تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة كاتب الموضوع comment_164752 بسم الله الرحمن الرحيم سنضيف الى الموضوع ان شاءالله كيفية السماح للمستخدم بتغيير الــ PASSWORD الخاصة به:اولا نقوم بانشاء PROCEDURE ونكتب فيه الكود التالي: PROCEDURE CHNG_PASS IS ALERT_BUTTON NUMBER; V_USER VARCHAR2(100); V_OLD_PASS VARCHAR2(100); BEGIN SELECT USR_ID , USR_PASSWORD INTO V_USER,V_OLD_PASS FROM USER_PRV WHERE USR_ID = :BLKCHANGE.V_USERID AND USR_PASSWORD = :BLKCHANGE.V_PASSWORD; IF :BLKCHANGE.V_NEWPASSWORD <> :BLKCHANGE.V_CONFIRMP THEN MESSAGE('NEW PASSWORD IS NOT LIKE CONFIRM PASSWORD'); MESSAGE('NEW PASSWORD IS NOT LIKE CONFIRM PASSWORD'); RAISE FORM_TRIGGER_FAILURE; ELSE FORMS_DDL('UPDATE USER_PRV SET USR_PASSWORD = '''||:BLKCHANGE.V_NEWPASSWORD|| ''' WHERE UPPER(USR_ID) = UPPER('''||:BLKCHANGE.V_USERID||''')'); ALERT_BUTTON := SHOW_ALERT( 'SAVE' ); IF ALERT_BUTTON = ALERT_BUTTON1 THEN FORMS_DDL('COMMIT'); END IF; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN RAISE FORM_TRIGGER_FAILURE; CLEAR_FORM(NO_COMMIT); END; ونستدعي اسم البروسيجر على زر تغيير الباسوورد ... اذا سيكون شكل الفورم كما في الصورة...التويق للجميع...تحياتي.. تم تعديل 27 يوليو 200916 سنة بواسطة PALI.ORACLE تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة comment_164758 حاولت احل المشكلة وظبطت باني حطيت على فورم اللوجن when new form instance يعمل القوائم enabled falseولما يضغط دخول يعملهم yesلكن في مشكلة اني لما اضغط خروج من الشاشة الرئيسية برجعني للوجن وبتصير المنيو enabled yes فهل من حل تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة كاتب الموضوع comment_164760 السلام عليكماخي عماد...قمت بعمل مثال بسيط جدا عن كيفية استدعاء المنيو...في المرفقات :1- المنيو2- MAIN FORM3- FIRST FORMضع المجلد على القرص C واعمل RUN لفورم الــ FIRST...واعمل COMPLIE لملف المنيو لانه انا عاملها على DEVELOPER 6I ....جرب وخبرني بالنتيجة...بالتوفيق..تحياتي.. TEST.rar تم تعديل 27 يوليو 200916 سنة بواسطة PALI.ORACLE تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة comment_164768 ظبطت اخوي مشكور بس لي استفسار لاحظت انك مستخدم new form وانا كنت مستخدم call form شو الفرق بينهم تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة كاتب الموضوع comment_164769 السلام علبكمOPEN_FORM : تفتح الفورم مع ابقاء الفورم الاصليه مفتوحه.CALL_FORM : تفتح الفورم مكان الاصليه.وNEW_FORM تشابه CALL_FORM مع الاختلاف في ان CALL_FORM تجعل الفورم المستدعي منها-الاصليه-مفعله في اي اذا اغلقت الفورم المستدعاه سوف تعود الي الاخري-المستدعي منها-اماNEW_FORM فلا تعود إلا عند الاغلاق تخرج مباشره.بالتوفيق تقديم بلاغ
بتاريخ: 27 يوليو 200916 سنة comment_164771 اخي عمل الصلاحيات وظبطت وبمنع المستخدم من الدخول لكن تظهر لي هذه الرساله كيف اخفيها واظهر شي بدالها مثل غير مصرح لك بالدخول الصوره في المرفقات تقديم بلاغ
بتاريخ: 28 يوليو 200916 سنة كاتب الموضوع comment_164803 السلام عليكممتى تظهر لك هذه الرسالة ؟؟بامكانك عمل كالتالي:على ترجر ON-MESSAGE و ON-ERROR كتابة : NULL; بس ياريت تحكيلي متى تظهر معاك هذه الرسالة بالتحديد ...لكي نحل المشكله 100 %بالتوفيق تقديم بلاغ
بتاريخ: 28 يوليو 200916 سنة comment_164850 بتظهر لما اضغط على عنصر في القائمة غير مسموح له بالدخول لها تقديم بلاغ
بتاريخ: 28 يوليو 200916 سنة كاتب الموضوع comment_164851 السلام عليكمما هو الكود اللي كاتبه بداخل المنيو ؟؟ هل مسار المنيو صحيح ؟؟؟ تقديم بلاغ
بتاريخ: 29 يوليو 200916 سنة comment_164872 الأخ بالي الحبيب العزيز مشكور على موضاعتك القيمة والممتازة ولي رآى في هذا الموضوع (موضوع الصلاحيات )ماذا لو افترضنا ان لدينا نظام كبير لشركة كبرى ويوجد فيها العديد من الأنظمة انني اقترح ان تبدأ صلاحية المستخدم من لحظة الدخول على الشركة , الفرع , الدائرة,النظام , الشاشة, لقد تم تجربة طريقة أخرى وهي تتمثل فية تخزين اسماء القوائم في جدول ويتم تخزين القوائم الفرعية ايضا في جدول على start code في Main_Menu يتم التحكم بظهور او عدم ظهور الشاشة حسب الصلاحية مرفق لك صورة للشاشة التي يتم التحكم فيها بالصلاحياتH.M.M.A تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.