مشاركة ذات تفاعل كبير mmsalman87 بتاريخ: 19 سبتمبر 2008 مشاركة ذات تفاعل كبير تقديم بلاغ مشاركة بتاريخ: 19 سبتمبر 2008 السلام عليكم سوف نقوم بانشاء شاشة دخول وتغيير كلمة السر والتحكم بالمستخدمين من خلال هذا الموضوع ااااااااااارجو التثبيت ----------------------------------------------------------------------------------------------------------اولا نفتح SQL*PLUS ندخل على احد المستخدمين الذين لديهم صلاحيات لانشاء جدول وافضل استخدام SYSTEM OR SCOTT او اي مستخدم انت خلقته ولكن معه صلاحيات DBA الان نقوم بانشاء الجدول التالي:- CREATE TABLE USERS_ACCOUNTS ( USER_ID VARCHAR2(100 ), USER_ANAME VARCHAR2(100 ), USER_ENAME VARCHAR2(100 BYTE), USER_PASSWORD VARCHAR2(100 BYTE), USER_TYPE NUMBER(1), USER_STATUS NUMBER(1), USER_EXP_FLAG NUMBER(1), USER_EXP_FROM DATE, USER_EXP_TO DATE ); ----------------------------------------------------------------------------------------------------------شرح عناصر الجدول :USER_ID اسم الدخول للبرنامج USER_ANAME بعض الشركات يكون للمستخدم اسم باللغة العربية او الانجليزية هذا العنصر يمثل الاسم بالعربية USER_ENAME الاسم بالانجليزيةUSER_PASSWORD كلمة المرور USER_TYPE نوع المستخدم حسب الصلاحيات USER_STATUS حالة المستخدم هل هو فعال ام انه مقفل نستخدمه في كثير من الاوقات مثال اخذ الموظف اجازة ليس من المعقول ان نترك حسابه مفتوح وحتى لا يتاح لاحد العمل على حسابه وهو من باب الحماية USER_EXP_FLAG بعض الشركات تحتاج الى مستخدمين لفترة محدودة هذا العنصر يمثل اشارة ان المستخدم مؤقت ام لا USER_EXP_FROM وقت بدء المستخدم بالتاريخ وتفعيله للمستخدمين المؤقتين USER_EXP_TO وقت انهاء هذا المستخدم وقفله لانه ليس من المعقول متابعة المستخدمين خصوصا اذا كان عددهم كبير بهذا نكون انتهينا من عملنا هنا وفي الدرس القادم ان شاء الله سوف نبدأ في oracle developer suite 10g وتصميم الشاشات الثلاث 23 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mmsalman87 بتاريخ: 19 سبتمبر 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 سبتمبر 2008 (معدل) نبدأ بتصميم شاشة الدخول اولا من قائمة file نختار new ثم form - من object navigator نضغط على اسم الفورم الجديد الذي انشأناه ونمسح الكلمة الموجودة بجانب menu module- من windows نعيد تسمية الويندو بالاسم التالي WIN_LOGIN- ندخل على الفورم وهو في حالة التصميم- ونضع عليه TEXT BOX ونسميه USERID- نضع TEXT BOX ونسميه PASSWORD ومن الخصائص نختار خاصية CONCEAL DATA=TRUE- نضع BUTTON ونسميه LOGIN- نضع BUTTON ونسميه CANCEL- نضع BUTTON ونسميه CHANGE PASSWORD- في PARAMETER نختار انشاء جديد ونسميه P_TRIALS ونعطيه نوع البيانات NUMBER- في PROGRAM UNIT نختار PROCEDURE ونسميه P_CHECKUSERونكتب فيه الكود التالي : PROCEDURE P_CHECKUSER IS VN_COUNT NUMBER(10) := 0 ; VV_USRSTS NUMBER(1) := '' ; حالة المستخدم تقابل USERT_STATUS VV_USRTYPE NUMBER(1) := '' ; صلاحيات المستخدم تقابل USER_TYPE BEGIN ---------------------------------------------------------------------------------- التأكد من اسم المستخدم وكلمة السر ---------------------------------------------------------------------------------- BEGIN SELECT COUNT(1) تاكد من وجود المستخدم في قاعدة البيانات INTO VN_COUNT ضعه في المتغير FROM USERS_ACCOUNTS WHERE UPPER(USER_ID) = UPPER(:BLKLOGIN.USERID) لكي لا تتحسس الاحرف ان كانت كبيرة او صغيرة AND UPPER(USER_PASSWORD) = UPPER(:BLKLOGIN.PASSWORD); EXCEPTION WHEN NO_DATA_FOUND THEN VN_COUNT := 0; END; IF VN_COUNT = 0 THEN :PARAMETER.P_TRIALS := NVL(:PARAMETER.P_TRIALS,0) + 1 ; متغير نضعه لكي نعطي المستخدم ثلاث محاولات للدخول وبعدها يخرج من البرنامج IF :PARAMETER.P_TRIALS = 3 THEN EXIT_FORM(NO_COMMIT,NO_VALIDATE); ELSE GO_BLOCK('BLKLOGIN'); الذهاب الى البلوك CLEAR_BLOCK(NO_COMMIT); GO_BLOCK('BLKLOGIN'); END IF; ELSE [يمين][/يمين] BEGIN ---------------------------------------------------------------------------------- -- اخذ المعلومات الخاصة بالمستخدم ---------------------------------------------------------------------------------- نأخذ حالة وصلاحية المستخدم SELECT USER_STATUS , USER_USER_TYPE INTO VV_USRSTS , VV_USRTYPE FROM USERS_ACCOUNTS WHERE UPPER(USER_ID) = UPPER(:BLKLOGIN.USERID) AND UPPER(USER_PASSWORD) = UPPER(:BLKLOGIN.PASSWORD); EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END; ---------------------------------------------------------------------------------- -- CHECKING USER SETING ---------------------------------------------------------- ---------------------------------------------------------------------------------- اذا كانت قيمة الحالة صفر يمنع الدخول IF VV_USRSTS <> '0' THEN MESSAGE('المستخدم غير فعال'); MESSAGE('المستخدم غير فعال'); اخرج من البرنامج EXIT_FORM(NO_VALIDATE); END IF; ------------------------------------------------------------------------------- تحديث بيانات المستخدم قبل الدخول لاستخدامها لاحقا ---------------------------------------- ------------------------------------------------------------------------------- : غلوبال لاستخدام الاسم لاحقا GLOBAL.P_USER_ID := :BLKLOGIN.USERID; NEW_FORM('MAINMENU'); END IF; END; TRIGGERS CANCEL >>> WHEN BUTTON PRESSEDexit_form(NO_COMMIT,NO_VALIDATE); LOGIN >>> WHEN BUTTON PRESSEDP_CHECKUSER; نستدعي البروسيجروبهذا نكون قد انشانا شاشة دخول في الدرس القادم سوف نكمل في كيفية تغيير كلمة السر للمستخدم تم تعديل 24 ديسمبر 2011 بواسطة Ahmad.Hasan 5 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
مشاركة ذات تفاعل كبير mmsalman87 بتاريخ: 20 سبتمبر 2008 كاتب الموضوع مشاركة ذات تفاعل كبير تقديم بلاغ مشاركة بتاريخ: 20 سبتمبر 2008 (معدل) بسم الله الرحمن الرحيماولا اشكر كل من اطلع على الموضوع واستفاد منه وانا لا اهتم بالردود ابدا لاني اعمل لكسب الاجر وليس من اجل ان يرد علي فلان يشكرني لاني لا اطلب الا الاجر والمساعدةوانا اعلم تماما ان هذا الموضوع كثير سأل عنه في المنتدى لذلك لا اطلب سوى تثبيت الموضوع ان كان في راي المشرفين انه مهم ؟؟؟؟؟؟؟؟؟؟؟ نكمل اليوم كيفية انشاء شاشة لتغيير كلمة السر للمستخدم هناك العديد من الطرق لتغيير كلمة السر للمستخدم فبعض المبرمجين يقومون بوضع تغيير كلمة السر بداخل البرنامج وهذا فيه بعض الخطأفالاصح ان يتم وضع تغيير كلمة السر في شاشة الدخول وذلك لكي لا يتسنى لاحد ان يقوم باي محاولة لسرقة حساب اخر ولسنا في هذا المقام نشرح الحماية ولكن يجب ان يفكر المبرمج بطريقة واعيةوبطريقة اذكى من المستخدمين بجميع مستوياتهم نبدأ الانعلى نفس الفورم التي صممنا عليها الدخول نضيف كانفس من نوع كونتنت ونسميها CV_CHANGEونضيف ايضا ويندو جديدة ونسميها WIN_CHANGEسنضع في ال BUTTON الذي سميناه CHANGE PASSWORDالكود التالي GO_BLOCK('BLKCHANGE'); HIDE_WINDOW('WIN_LOGIN'); SHOW_WINDOW('WIN_CHANGE'); طبعا هذا الكود معروف لكي يخفي شاشة الدخول ويذهب الى شاشة تغيير كلمة السرالان نضع التاليTEXTBOX : V_USERIDTEXTBOX:V_PASSWORDTEXTBOX:V_NEWPASSWORDTEXTBOX:V_CONFIRMPBUTTON: CHANGE PASSWORDBUTTON: CANCEL TRIGGERS CANCEL: EXIT_FORM(NO_COMMIT,NO_VALIDATE); CHANGE PASSWORD : DECLARE اسم المستخدم ويجب وضعه وذلك من باب الحماية V_USER VARCHAR2(100); كلمة السر القديمة V_OLD_PASS VARCHAR2(100); BEGIN جلب البيانات الى المتغيرات SELECT USER_ID , USER_PASSWORD INTO V_USER,V_OLD_PASS FROM USERS_ACCOUNTS WHERE USER_ID = :BLKCHANGE.V_USERID AND USER_PASSWORD = :BLKCHANGE.V_PASSWORD; IF :BLKCHANGE.V_NEWPASSWORD IS NULL OR :BLKCHANGE.V_CONFIRMP IS NULL THEN اذا كانت كلمة السر الجديدة فاضية يظهر رسالة تفيد بوجو بملء الحقول MESSAGE(' íÌÈ ãáÆ ÍÞæá ßáãÉ ÇáÓÑ ÇáÌÏíÏÉ æÊÃßíÏåÇ '); MESSAGE(' íÌÈ ãáÆ ÍÞæá ßáãÉ ÇáÓÑ ÇáÌÏíÏÉ æÊÃßíÏåÇ '); RAISE FORM_TRIGGER_FAILURE; CLEAR_FORM(NO_COMMIT); ELSE IF :BLKCHANGE.V_NEWPASSWORD <> :BLKCHANGE.V_CONFIRMP THEN MESSAGE('ÊÃßÏ ãä ÊæÇÝÞ ßáãÉ ÇáÓÑ æÊÃßíÏåÇ'); MESSAGE('ÊÃßÏ ãä ÊæÇÝÞ ßáãÉ ÇáÓÑ æÊÃßíÏåÇ'); اذا كانت كلمة السر الجديدة غير متوافقة مع تاكيدها يظهر رسالة تفيد بخطأ في كتابة كلمة السر الجديدة RAISE FORM_TRIGGER_FAILURE; CLEAR_FORM(NO_COMMIT); ELSE غير ذلك قم بتغيير كلمة السر القديمة FORMS_DDL('UPDATE USERS_ACCOUNTS SET USER_PASSWORD = '''||:BLKCHANGE.V_NEWPASSWORD|| ''' WHERE UPPER(USER_ID) = UPPER('''||:BLKCHANGE.V_USERID||''')'); FORMS_DDL('COMMIT'); MESSAGE('Êã ÊÛííÑ ßáãÉ ÇáÓÑ ÈäÌÇÍ'); تم تغيير كلمة السر بنجاح MESSAGE('Êã ÊÛííÑ ßáãÉ ÇáÓÑ ÈäÌÇÍ'); الذهاب الى شاشة الدخول GO_BLOCK('BLKLOGIN'); HIDE_WINDOW('WINCHANGE'); SHOW_WINDOW('WNDLOGIN'); END IF; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN RAISE FORM_TRIGGER_FAILURE; CLEAR_FORM(NO_COMMIT); END; والسلام ختااااااااااامشايفين ما اصعبها سهلة جدا واي استفسار من عيوني ولاتنسوني في دعوة في ظهر الغيبفي الدرس الثالث والاخير سنقوم بالتحكم بالمستخدمين وبعدها سأقوم بارفاق شاشة الدخول وتغيير كلمة السر وشاشة التحكم بالمستخدمين لنستفيد منها جميعا الى اللقاء تم تعديل 24 ديسمبر 2011 بواسطة Ahmad.Hasan 13 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mmsalman87 بتاريخ: 20 سبتمبر 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 20 سبتمبر 2008 بسم الله الرحمن الرحيماولا لا بد لي ان اشكر المشرفين على تثبيت الموضوع نكمل موضوعنا وذلك بعد ان تكلمنا عن كيفية عمل شاشة دخول بالاضافة الى شاشة تغيير كلمة سر الان سوف نتكلم عن التحكم في المستخدمين نفتح فورم جديد ونضع فيه جدول المستخدمين نمسح كلمة المرور من الشاشة ونغير العناصر التالية الى CHECK BOXUSER_STATUS USER_EXP_FLAGنحول صلاحيات المستخدم الى LIST ITEM USER_TYPEفي الخصائص نذهب الى ELEMENTS IN LIST ونضع فيها الصلاحيات التي تناسبنا حسب البرنامج ونعطي كل صلاحية رقم LIST ITEM VALUE INITIAL VALUE نضع فيها الصلاحية التي ستنشئ مع المستخدم الجديد يعني ال DEFAULTبالنسبة الى USER_STATUS نضع القيمة 1 اذا كان غير فعال و 0 اذا كان فعال يعني اذا تم وضع علامة صح على العنصر سيتم قفل المستخدم وهذه قمنا ببرمجتها في شاشة الدخول اذا بتتذكروTRIGGERS PRE INSERT للبلوك نضع الكود التالي : اذا تم وضع علامة صح على ان المستخدم مؤقت يجب ادخال الفترة المتاحة لهذا المستخدم IF :USER_EXP_FLAG = '1' AND (:USER_EXP_FROM IS NULL OR :USER_EXP_TO IS NULL) THEN MESSAGE('ÇáãÓÊÎÏã ãÄÞÊ íÌÈ ÅÏÎÇá ÇáÝÊÑÉ'); MESSAGE('ÇáãÓÊÎÏã ãÄÞÊ íÌÈ ÅÏÎÇá ÇáÝÊÑÉ'); RAISE FORM_TRIGGER_FAILURE; END IF; IF :USER_TYPE IS NULL THEN اذا كانت صلاحيات المستخدم غير محددة يجب اعطاءه صلاحيات MESSAGE('ÊÍÏíÏ ÕáÇÍíÇÊ ááãÓÊÎÏã '); MESSAGE('ÊÍÏíÏ ÕáÇÍíÇÊ ááãÓÊÎÏã '); RAISE FORM_TRIGGER_FAILURE; END IF; بقي عندنا الغلوبال التي عرفناها في شاشة الدخول وقلنا اننا سوف نستخدمها لاحقا وهذه نضعها على ايا فورم في البرنامج ليكون المستخدم معرف ونناديها بالطريقة التالية :WHEN NEW FORM INSTANCE :BLK_MAIN.USER_NAME := :GLOBAL.P_USER_ID;اسم البلوم . اسم ال TEXTBOXوالسلام ختااااااااام اي ملاحظات او استفسارات من عيوني سأضع الشاشات قريبا ولكن لم يبق لي متسع من الوقت الان الى اللقاء 5 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
bash_abdo بتاريخ: 20 سبتمبر 2008 تقديم بلاغ مشاركة بتاريخ: 20 سبتمبر 2008 مشكووووووووووووووووووروان شا الله يستر عليكمشكووووووووووووووووووروان شا الله يستر عليك 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
مشاركة ذات تفاعل كبير mmsalman87 بتاريخ: 24 سبتمبر 2008 كاتب الموضوع مشاركة ذات تفاعل كبير تقديم بلاغ مشاركة بتاريخ: 24 سبتمبر 2008 والان اقدم لكم العمل كاملا من خلال الفورم وهو على 10g واتمنى ان يستفيد الجميع 27 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
MTSHAJALI بتاريخ: 24 سبتمبر 2008 تقديم بلاغ مشاركة بتاريخ: 24 سبتمبر 2008 يعطيك العافية أخي ماهر وراح أجربها على ديفلوبر 6i أو 9iبالتوفيق والى الامام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mayas-love بتاريخ: 24 سبتمبر 2008 تقديم بلاغ مشاركة بتاريخ: 24 سبتمبر 2008 شكرا....الفكرة حلوة اووووووووووووووووي..شكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
gezery بتاريخ: 5 أكتوبر 2008 تقديم بلاغ مشاركة بتاريخ: 5 أكتوبر 2008 مشكورررر كتير يا اخي وبارك الله فيك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mohamed_abdelsalam بتاريخ: 5 أكتوبر 2008 تقديم بلاغ مشاركة بتاريخ: 5 أكتوبر 2008 جزاكم الله خيرا وجعله الله في ميزان حسناتك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 5 أكتوبر 2008 تقديم بلاغ مشاركة بتاريخ: 5 أكتوبر 2008 بسم الله الرحمن الرحيممشكور اخ ماهر على هذا المجهود الرائع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
love_h بتاريخ: 8 أكتوبر 2008 تقديم بلاغ مشاركة بتاريخ: 8 أكتوبر 2008 الله يحفظكم جميعا...بس بيطلعلي ارور في البروسجر..اللي بعرف ليه الارور يتفضل مشكورا بالتوضيح...الارور اللي يطلع معاي موجود بالمرفق Error.zip اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
love_h بتاريخ: 10 أكتوبر 2008 تقديم بلاغ مشاركة بتاريخ: 10 أكتوبر 2008 لو سمحتو ايش كلمه المرور والباسوورد ؟؟؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
غدر الزمان بتاريخ: 6 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 6 نوفمبر 2008 السلام عليكم لقد قمت باتباع الخطوات الموضحة لانشاء شاشة الدخول ولقد تم بعون الله تعالى ولكن السؤال كيف سيتم استخدامها ... لاني حاولت اضيفها على فورم معين وما اشتغلت ارجو لمن لديه فكرة ان يطلعنا عليها للافادة لاني اريد استخدامهافي مشروعي ان شاء الله جزيتم الف خير 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
غدر الزمان بتاريخ: 6 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 6 نوفمبر 2008 (معدل) PROCEDURE P_CHECKUSER IS VN_COUNT NUMBER(10) := 0 ; VV_USRSTS NUMBER(1) := '' ; VV_USRTYPE NUMBER(1) := '' ; BEGIN BEGIN SELECT COUNT(1) INTO VN_COUNT FROM USERS_ACCOUNTS WHERE UPPER(USER_ID) = UPPER(:BLKLOGIN.USERID) AND UPPER(USER_PASSWORD) = UPPER(:BLKLOGIN.PASSWORD); EXCEPTION WHEN NO_DATA_FOUND THEN VN_COUNT := 0; END; IF VN_COUNT = 0 THEN :PARAMETER.P_TRIALS := NVL(:PARAMETER.P_TRIALS,0) + 1 ; IF :PARAMETER.P_TRIALS = 3 THEN EXIT_FORM(NO_COMMIT,NO_VALIDATE); ELSE GO_BLOCK('BLKLOGIN'); CLEAR_BLOCK(NO_COMMIT); GO_BLOCK('BLKLOGIN'); END IF; ELSE BEGIN SELECT USER_STATUS , USER_TYPE INTO VV_USRSTS , VV_USRTYPE FROM USERS_ACCOUNTS WHERE UPPER(USER_ID) = UPPER(:BLKLOGIN.USERID) AND UPPER(USER_PASSWORD) = UPPER(:BLKLOGIN.PASSWORD); EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END; IF VV_USRSTS <> '0' THEN MESSAGE('user not active'); MESSAGE('user not active'); EXIT_FORM(NO_VALIDATE); END IF; :GLOBAL.P_USER_ID := :BLKLOGIN.USERID; NEW_FORM('MAINMENU'); END IF; END; اخي الكريم هاد الكود ان شاء الله بدون ايرور تم تعديل 24 ديسمبر 2011 بواسطة Ahmad.Hasan 3 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
غدر الزمان بتاريخ: 7 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 7 نوفمبر 2008 السلام عليكم ورحمة الله اخواني الكرام لقد تمت عملية تنفيذ الفورم ولله الحمد بنجاح ولقد تم تجريب جميع الاجزاء المتعلقة سواء التغير او الدخول ولكن بقي لي نقطة واحدة فقط وهي طريقة الاستعمال اقصد انه كيف سيتم استخدام الفورم الخاص بالدخول بالمشروع لانو هناك مستخدمين ( ادمن , موظف ) هل سنقوم بربط المشروع بشاشة الدخول ؟ وما هي الطريقة يعني يتم اضافة تريجير معين بالمشروع ام بشاشة الدخول لان الاخ طارح الموضوع جزاه المولى الف خير تحدث عن وجود قلوبال معين نضعه ولكن لا ادري أين اضعه فلقد جربت بكل مكان ارجو لمن عنده خلفية افادتنا جزاكم الله الف خير وسأقوم بارفاق الفورمز لانو الفورمز المرفق مع الموضوع انكودد بانتظاركم اخواني بالله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
dedo103 بتاريخ: 8 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 8 نوفمبر 2008 الله ينور عليك ممتاز اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mada1212 بتاريخ: 9 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 9 نوفمبر 2008 جزاك الله كل خير يا اخى و جعلة فى ميزان حسناتك ....................! اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
SHERIFF1982 بتاريخ: 13 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 13 نوفمبر 2008 اعتقد الله اعلم ان الكود ناقصه كارسير CURSOR اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hassanabdo بتاريخ: 15 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 15 نوفمبر 2008 شكرا ليك اخى على هذا الشرح المفيد جدا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
iyadnn بتاريخ: 16 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 16 نوفمبر 2008 يعطيك العافية اخويياليت تكمل و شكرا لك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mohgold بتاريخ: 20 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 20 نوفمبر 2008 موضووووع جدا رائع و أكثر من رائعو يعطيك الف عافية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود الحسن بتاريخ: 25 نوفمبر 2008 تقديم بلاغ مشاركة بتاريخ: 25 نوفمبر 2008 جزاك الله خيرالا أدري كيف أشكرك ولكني سأدعو لك وأذكرك بكل خير أنت وجميع أعضاء المنتدى المبارك وخاصة ممن استفدت من مواضيعهم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
shadi_jaber بتاريخ: 15 ديسمبر 2008 تقديم بلاغ مشاركة بتاريخ: 15 ديسمبر 2008 السلام عليكم ورحمة اللهفعلا الموضوع شيق و أنا شخصيا أعجبت بهذه الطريقة ، لكن أعتقد أن طريقة استخدام الـ Menu Security هي أفضل طريقة للتعامل داخل المشرووع.و شكراً لجميع أعضاء المنتدى. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
figo86 بتاريخ: 22 ديسمبر 2008 تقديم بلاغ مشاركة بتاريخ: 22 ديسمبر 2008 يا اخوان الى الان الفورم لا يشتغل معي حيث عند كتابة البروسيجرمع اني قمت بنسخ الثاني الذي هو معدل؟فما الحل لانه عندي مشروع تخرج واحتاج بشكل ضروري جدا استخدام هذه الشاشة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.