منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : احتاج مساعدتكم لتغيير رقم المكتب
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم أنا حاليا اقوم بتصميم مشروع تخرج 
لهاذا احتاج مساعدتكم كثيرا هذه الفترة  Tongue
مشروع تخرجي عبارة عن منظومة لشؤؤن الطلبه 
قمت بتصميم  شاشة لإدخال إسم الطالب وعمره . وهو ..... إلخ 
وقمت ايضا بتصميم حقل  رقم المكتب و  "text "في شاشة الطالب وهو عبارة عن جدول مساعد  وتستطيع إدخال البيانات من فورم يدخل فيه رقم المكتب  إلخ 
فائدة حقل  أنه في شؤؤن الطلبة هناك اكثر من مكتب يقوم بإدخال بيانات الطالب  
لكن اكتاج الي كود يقوم بتغيير رقم المكتب في شاشة الطالب ويكون ثابت ولا يتغير ألا من قبل المدير 
مثلا  لو جاء موظف جديد ويريد نسخ المنظومة له وايضا تغيير الرقم المكتب فيه  
 كيف يمكنني تغيير  رقم المكتب في شاشة الطالب وجعله ثابت ولا يتغيير إلا في حالة المدير هوا من يقوم بتغييره
هناك عدة سيناريوهات للحل وكلها متوقفة على تصميمك لقاعدة البيانات
هل صممت نظام مستخدمين للمنظومة ورتب بحيث يكون هناك تمييز بين المستخدم الخاص بالموظف والمستخدم الخاص بالمدير؟
في هذه الحالة سيتوجب عليك تصميم نظام صلاحيات بسيط مربوط بجدول المستخدمين
وفي فورم تغيير رقم المكتب (فورم الطلبة) ليقوم البرنامج بالفحص اولا عند عرض الفورم اذا كان المستخدم له صلاحيات المدير فلتفتح امكانية تغيير رقم المكتب واذا كان لا فلتغير خصائص الاداة التي يوجد بها رقم المكتب الى قراءة فقط read only
صلاحيات المدير يمكن وضعها في حقل واحد في جدول المستخدمين وليكن نوعه boolean واسمه = isAdmin

ايضا اذا كانت المنظومة بسيطة والمستخدم المدير ثابت واسمه "المدير" فيمكن جعل الفحص HardCoded بحيث يتأكد فقط من اسم المستخدم المسجل دخول اذا كان = المدير فيفعل التعديل
يعني ربما لا داعي لنظام صلاحيات
(22-05-18, 01:05 AM)محمد كريّم كتب : [ -> ]هناك عدة سيناريوهات للحل وكلها متوقفة على تصميمك لقاعدة البيانات
هل صممت نظام مستخدمين للمنظومة ورتب بحيث يكون هناك تمييز بين المستخدم الخاص بالموظف والمستخدم الخاص بالمدير؟
في هذه الحالة سيتوجب عليك تصميم نظام صلاحيات بسيط مربوط بجدول المستخدمين
وفي فورم تغيير رقم المكتب (فورم الطلبة) ليقوم البرنامج بالفحص اولا عند عرض الفورم اذا كان المستخدم له صلاحيات المدير فلتفتح امكانية تغيير رقم المكتب واذا كان لا فلتغير خصائص الاداة التي يوجد بها رقم المكتب الى قراءة فقط read only
صلاحيات المدير يمكن وضعها في حقل واحد في جدول المستخدمين وليكن نوعه boolean واسمه  = isAdmin

ايضا اذا كانت المنظومة بسيطة والمستخدم المدير ثابت واسمه "المدير" فيمكن جعل الفحص HardCoded بحيث يتأكد فقط من اسم المستخدم المسجل دخول اذا كان = المدير فيفعل التعديل
يعني ربما لا داعي لنظام صلاحيات
كل ما علك فعله هو طريقة انشاء الصلاحيات اولاً لكل مستخدم
يوجد طرق كثيرة اذا كان من خلال قاعدة البيانات أو من ملف يجلب الى Settings فى المشروع

فتخيل التالى
يوجد Button وظيفته ان يسمح بالتغيير وهو مخصص للعضوية المدير

كل ما علك فعله هو التالى فى منطقة Form1_Load
عمل الشرط بالطريقة التالية
كود :
If My.Settings.username = "admin" Then
           Button1.Visible = True
       Else
           Button1.Visible = False
       End If

الجزء الخاص بـ 
كود :
My.Settings.username = "admin"

يعتمد على طرقة عمل الصلاحيات اذا كان من خلال NAME Or ID Or .... الخ
فمثلاً من الممكن ان يكون عندك عمود بجدول المستخدمين تحت اسم Powers او غير ذلك واليم خاصته 0 / 1 / 2
0 مستخدك / 1 المدير / 2 مشرف أو مدرس .. الخ

فيكون الكود كالتالى
كود :
If My.Settings.Powers = 1 Then
           Button1.Visible = True
       Else
           Button1.Visible = False
       End If

انا استخدم My.Settings فقط كا مثال وليس الطريقة لاستخدام الكود
كل المعطيات فقط لتوصيل الفكرة لتتمكن من انشاء المسار لمشروعك

تحياتى لك 

تمنياتى لك التوفيق