بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــه
إخوتي الكرام .. إذا لم يكن عندي فكرة برمجية جديدة .. فإني أتابع ما يقدمه لنا جهابذة هذا المنتدى من أمثلة ودروس .. فجزاهم الله عنا كل خير
ومن أمتعهم طرحا وأعمقهم تبحرا في علم البرمجة أختي الكريمة وأستاذتي القديرة .. أم عهود .. زهرة .. حفظها الله لنا ولمن يعز عليها .. وعلى مراتبها في الدنيا والآخرة
ووقعت عيني على مثال رائع .. وأعجبتني حركة .. تنم على فهم عميق لقدرات الأكسيس .. فأحببت أن أشارككم بها .. وقد تكون معروفة عند أكثركم .. خاصة من تعلم الأكسيس بشكل أكاديمي
والفكرة لنفرض أنك تريد تصميم نموذج آلة حاسبة فإنك ستقوم بإضافة عنصر تحكم للنموذج وعند النقر عليه تريده أن يكتب الرقم المناسب في مربع نص .. فالفكرة المعروفة ستضع بحدث النقر على هذا العنصر كود لعمل ذلك .. وستكرر العملية لكل عنصر تحكم .. وستلاحظ أن محرر الأكواد إمتلأ بسطور الأكواد المكررة
فماذا لو كتبنا وظيفة تقوم بالعمل في سطر واحد .. إليك كيف نقوم بذلك
صمم نموذج به مربع نص لعرض الأرقام وسمه ShowBox ثم ضع عناصر تحكم تمثل الأرقام ولتكن ما شئت صور أزرار مربعات تسمية .. وفي مثالي هذا إخترت مربعات تسمية ثم
أكتب الوظيفة التالية في محرر الأكواد الخاص بالنموذج
Private Function Zahra(CtrlName As String) Me.ShowBox = Me.ShowBox & Me(CtrlName).Caption End Function
ثم عد للنموذج وحدد مربع التسمية الخاص بالرقم واحد والذي أسميته b1 والذي جعلت خاصية الـ Caption له " 1 " وإفتح مربع الخصائص وإعرض تبويب حدث وضع الكود التالي في قيمة عند النقر
=Zahra("b1")وكرر العملية لكل مربعات التسمية .. مع تغيير مسمى عنصر التحكم بما يناسب .. أي غير من b1 إلى b2 مثلا وهو الخاص بالرقم إثنين
وبهذه الحالة عند النقر على أي من مربعات التسمية سيتم إستدعاء الوظيفة Zahra والتي تحمل إسم العنصر المنقور عليه .. وتقوم الدالة ببساطة بإضافة قيمة خاصية Caption للعنصر إلى القيمة القديمة لمربع النص
وهذا أراه فن وتكتكة برمجية عالية .. يجب الوقوف عندها وتقديرها
ومحاولة مني للتلاعب بالفكرة .. حاولت أن بدل ما أدخل على كل مربع تسمية وأضع فيه الكود الأخير .. ثم أغير إسم العنصر من b1 إلى b2 وهكذا .. حاولت أن أجد طريقة او دالة أضعها لتمرر إسم العنصر المنقور عليه من دون كتابته .. فلم أستطع وبحثت وقرأت .. ولكن كما قلت .. فمن تعلم البرمجة بشكل أكاديمي يعرف حدود كل لغة .. أما من هم مثلي فنحاول بالتجربة حتى نعجز
فياليت من عنده طريقة لذلك .. أو أن يبين لنا أنه مستحيل
وأخيرا ... أشكرك أختي الكريمة وإخوتي وأساتذتي في هذا المنتدى الرائع .... والحمد لله رب العالمين أولا وآخرا