19-06-24, 09:03 PM
كيف يمكن حفظ قيم مربعات الاختيار داخل حقل واحد فى حالة وجود اكثر من 20 مربع اختيار بدلا من عمل حقل لكل مربع اختيار لنتخزين بياناته
|
حفظ قيم مربعات الاختيار فى قاعدة البيانات واسترجاعها
|
|
19-06-24, 09:03 PM
كيف يمكن حفظ قيم مربعات الاختيار داخل حقل واحد فى حالة وجود اكثر من 20 مربع اختيار بدلا من عمل حقل لكل مربع اختيار لنتخزين بياناته
20-06-24, 02:01 AM
ممكن ولكن ليس في الفيجول بيزك6 لأن الباينري محدود
في الدوت نت ممكن لحد محدد وليس بلا حدود.. يمكن في الفيجول بيزك6 ولكن كـ التالي : ولكن لو أفترضت أن المتغير هو من نوع Integer أو Long يعني رقمي وليس باينري .. وهذا أبسط للاستيعاب أكثر من الباينري. لأنه يمكن أن يزيد مدى المتغير .. ....................................................................... لا أعرف أن كنت ستستوعب ما أقوله هنا ولكن أعطيك الطريقة وعليك العمل : - إن ضبطت معك أو مع غيرك : نكن قد نفعنا من استفاد منها، - وإن لم تضبط : فليس لدي شرح أكثر من هذا .. الطريقة تعتمد على المعاملات المنطقية : And - Xor فهمك لها من الدراسة (المدرسة أو الأكاديمية أو أي طريقة تعلمت بها - هذا إن مرت معك) ربما يساعدك على فهم ما سأقوله هنا.. أولاً : لن أدخل معك بقواعد البيانات : لا بد أنك تعرف كيفية تخزين قيمة(رقم) أو تسترجع قيمة من حقل معين في قاعدة البيانات. ثانياً : أنا سأتحدث معك مباشرة عن تلك القيمة : - وكأنها أصبحت بين يديك في حال قمت بإسترجاعها من القاعدة وكيف توظفها لتحديد ما يناسب القيمة ،، - أو كيف تجهزهذه القيمة للتخزين في حال عرف ما تريد تحديده من مربعات الاختيار.. في البداية عليك أن تقوم ببناء بلوك (Enum) تحدد فيه عدد القيم التي تريد إستخدامها في برنامجك.. مثلاً هي أربع قيم : بالتالي سيكون هذا البلوك على الشكل التالي فرضا أن اسم هذا البلوك هو (TA): كود : Enum TAلاحظ أنه يبدأ من القيمة 1 وكل قيمة بعده هي رقم مضاعف لما قبله (هذه الأرقام إجبارية وليست إختيارية (كي لا تقع بالأخطاء المنطقية مستقبلاً)) يعني لو أردت إضافة قيمة خامسة ستكون هي مضاعف الرقم السابق لها وستكون (8×2) أي أنه : A5=16 وهكذا ... وهذا البلوك يكون في بداية الكود أعلى الصفحة أي أعلى كل شيء.. يعني لا يوجد أكواد قبله سوى التصريحات (التعاريف) إن أدرت إضافة متغيرات عامة.. ثم نقوم الآن بإضافة متغير عام ليكن مثلاً (Tx) تستطيع إضافته قبل ذاك البلوك أو بعده (لا توجد مشكلة). نعرف هذا المتغير على البلوك نفسه يعني : كود : Dim Tx As TAتضع الان كود التحقق ضمن تغير قيمة التشك بوكس ليتم تخزين القيمة فيكون الكود هو : كود : Private Sub Check1_Click()لاحظ أننا نقارن كل مرة قيمة المتغير الذي عرفنا مع رقم معين (وهذا الرقم هو نفس ترتيب الأرقام التي اخترناها في بلوك الـ Enum السابق ) 1 ثم 2 ثم 4 ثم 8 ثم 16 ثم 32 وهكذا .... إلخ. Xor هنا تقول : قارن قيمة المتغير مع القيمة 1 إن كانت موجودة أمسحها و خَزِّن وإن لم تكن موجودة أضفها و خَزِّن. يعني تقول أعكس الحالة بوجود أو عدم وجدود ما نقارن معه.. لاحظ أن الكود السابق غير مكتمل : فما ينقصه هو كود تخزين القيمة ضمن الخلية التي تريد التخزين فيها في قاعدة البيانات .. أي أن تخزن القيمة (Tx) هذا نتركها عليك : وبحسب الطريقة التي تحب أن تتعامل معها في تخزين هذه القيمة .. إما أن تخزنها بعد الضغط على التشيك فتكتب كود التخزين في كل تشيك بعد سطر Xor أو تجعل التخزين في النهاية بعدإنتهاء عملك من خلاال الضغط على زر حفظ مثلاً. إلى ما سبق أعلاه نكون جهزنا وخزنا تلك القيمة في قاعدة البيانات بحسبب ما حددنا وما لم نحدد من تشكات على النافذة.. الآن جاء دور الاسترجاع : على فرض أننا استرجعنا تلك القيمة وكانت تساوي 7 بالتالي نقوم بالتحقق من تلك القيمة (7) مع التشكات وما يقابل كل واحدة منها من قيمة متغير وذلك من خلال المعامل المنطقي And فيصبح الكود : كود : Tx = XXXX ' القيمة التي استرجعناها من قاعدة البياناتلاحظ أننا : - مع الـ Check1 نقارن القيمة المرتجعة مع الرقم 1 - ومع الـ Check2 نقارن القيمة المرتجعة مع الرقم 2 - ومع الـ Check3 نقارن القيمة المرتجعة مع الرقم 4 - ومع الـ Check4 نقارن القيمة المرتجعة مع الرقم 8 وهكذا مع القيمة التي فرضناها في الـ Enum بالترتيب.. بالتالي بحسب قيمة الرقم سيقوم بتحديد التشكات أو إلغاء تحديدها.. إلى هنا نكون قد انتهينا .. وجاء دورك لتطبق ما شرحناه أعلاه .. ----------------------------------------- أرجو أن يحملك دماغك إلى هذه اللحظة وتستطيع تطبيق ما ذكرناه أعلاه .. فإن فعلت : تكون تعلمت طريقة مميزة تساعدك في تبسيط تخزين الكثير من المتغيرات ومن أهمها : - طريقة تبسيط التعامل مع صلاحيات المدير و المستخدمين.. - طريقة تلوين أو تخصيص إعدادت النوافذ لديك... .... - والكثير .. إلخ بالتوفيق ... قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
تم الشكر بواسطة: Zuhare , Amir_Alzubidy , مصمم هاوي
|
|
|