الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Data Session

بدأه Shadowz في 28 سبتمبر 2009 · 4 رد · 2,643 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

من الممكن أن يخطر للبعض منكم فكرة استخدام نموذج واحد لأكثر من مرة في نفس التطبيق وبنفس الوقت، أو حتى استخدام أكثر من نموذج في نفس الوقت،

قد تكون هذه النماذج مرتبطة بذات الجداول، الهدف من بعضها إجراء التغيير في البيانات سواء بالإضافة أو الحذف أو التعديل، والهدف من البعض الآخر استعراض البيانات فقط، أو لأي غرض آخر...

فمثلا قد تكون الفكرة:

استخدام نموذج كشف الحساب لأكثر من زبون في وقت واحد

استخدام نموذج فاتورة ونموذج سند قبض في نفس الوقت

استخدام نموذج كشف حساب لزبون معين أثناء القيام بإصدار فاتورة له

الوصول لفاتورة معينة بالضغط على حركتها الظاهرة في كشف الحساب

والأفكار كثيرة، وجميعها تقودنا لفكرة واحدة وهي تصميم برنامج فيه من الدقة ما يمنع التداخل بين النماذج، وفيه من المرونة ما يرضى الزبون ويجنبنا تثاقله من استخدام البرنامج ومقارنته بالبرامج الأخرى، ويرحمنا من البدء بتعديل ما قمنا بتصميمه سابقا.

بداية يلزمنا هنا أن تكون نوعية النماذج المعنية بالموضوع Modless أي قابلة لأن نتخطاها لنماذج أخرى، وطبعا هذا يعتمد على الغاية من النموذج، فلا داعي مثلا لأن يكون نموذج الدخول للبرنامج Modless بل على العكس لا بد وأن يكون Modal فكيف نعطي المستخدم صلاحية الوصول للبرنامج دون أن يضع اسم المستخدم وكلمة المرور بشكل صحيح !! وهذا ينطبق على نماذج أخرى غالباً ما تكون ذات استخدام غير مباشر في البرنامج، مثل نموذج تغيير كلمة المرور، نموذج عمل نسخ احتياطية أو صيانة الجداول....

بعد أن نكون قد حددنا النماذج المرنة يلزمنا عمل شيء واحد الا وهو تحديد الـ Data Session للنموذج بجعله Private Data Session بدلا من Default Data Session

post-113506-1254088216_thumb.jpg

ما المقصود بــ Data Session ؟؟؟

من عمل بالفوكس برو فلا بد أنه قد رأى هذه الشاشة الصغيرة وعرف أهميتها، ولمن هو جديد فلا بد أن يعلم بأنها أحد أهم شاشات الفوكس برو، وببساطة شديدة أنها شاشة فتح واستعراض الجداول، حيث نتمكن من خلالها من إضافة السجلات، تعديل السجلات ، حذف السجلات، تكوين العلاقات المؤقتةRelations بين الجداول.... وعمل كافة ما يلزم من عمليات تخصها... بشكل مباشر

لإظهار الشاشة توجه إلى القائمة الرئيسية وأختر منها Window ثم Data Session، أو أكتب في الــ Command Window الأمر Set لتظهر لك.

post-113506-1254088441_thumb.jpg

النقطة المهمة هنا بالنسبة لنا هي Current Session وهي تظهر هنا بوضعها الافتراضي Default1،

وكل Session يعبر عن منطقة خاصة ومعزولة نهائياً عن الأخريات، وهنا زبدة الموضوع

جرب معي التالي :

قم بانشاء أي جدول بسيط تريده يكفي أن يكون فيه حقل واحد فقط

قم بانشاء نموذج واستخدم من خلاله هذا الجدول

غير الـ DataSession للنموذج ليصبح Private Data Session

احفظ النموذج واغلق كل شيء

أظهر شاشة الـ DataSession واستخدم الجدول من الـ Command Window

Use MyTable Shared

ستلاحظ أن الجدول قد ظهر لك في Default Session

قم بتشغيل النموذج الذي صممته وتوجه الى الـ Current Session واضغط على الـقائمة الخاصة بـه، ستلاحظ بأن لديك منطقة جديدة معنونة باسم جديد يدل على هذا النموذج، كما يظهر في الصورة التالية:

post-113506-1254088456_thumb.jpg

بهذا نكون وبشكل جزئي قد فصلنا بين النماذج المستخدمة تماما..كما لو أنك تستخدم جهازين على أحدهما نموذج الفاتورة وعلى الآخر نموذج كشف الحساب،

ولا أثر لأي نموذج على الأخر إلا عند إعادة استدعاء البيانات - Refresh -

ملاحظات :

- لا يمكن للنموذج أن يتعامل مع غير منطقة البيانات الخاصة به

- يمكن معرفة رقم منطقة البيانات الخاصة بكل نموذج بواسطة DataSessionID

- يمكن تفعيل منطقة البيانات بواسطة الأمر Set DataSession To

- عند اقفال النموذج فان منطقة البيانات الخاصة به تقفل تلقائياً

- عند اطلاق نموذج فرعي ذو منطقة عامة من نموذج ذو منطقة خاصة فان النموذج الفرعي يتعامل مع نفس منطقة النموذج الرئيسي

- بعض الأوامر تكون خاصة بمنطقة العمل ولا بد من إعادة تحديدها لكل منطقة مثل Deleted, Century, Exclusive, Talk, Database

( وغيرها تجدها في ملف المساعدة )

- لا يمكن اظهار غير منطقة العمل الرئيسية من خلال Command Window

وأخيرا...قد يكون موضوعها مملا في بداية الأمر ولكن ما أن تعتاد عليه حتى تجد ان برامجك أصبحت أكثر مرونة وقوة

مرفق مثال بسيط للتجربة.

DataSiss.rar

مع التحية،

1

أستغفر الله العظيم و أتوب إليه

#2

السلام عليكم ورحمة الله وبركاته

تسلم ايديك يا غالي .. والله جهد جبار

مشكور .............................................مشكور

مشكور... ......مشكور.....................مشكور.........مشكو ر

مشكور.............مشكور............ ..مشكور............... مشكور

مشكور........................مشكور ............................مشكور

مشكور... .................................................. .....مشكور

مشكور. .................................................. ...مشكور

مشكور..................................... ......... مشكور

مشكور.......................................مشكور

مشكور................ ................مشكور

مشكور............. ..........مشكور

مشكور.......... .......مشكور

مشكور.....مشكور

مشكو رمشكور

تم تعديل هذه المشاركة بواسطة Akram Brave في 21 أكتوبر 2009 في 02:22

ly81f9038b6f.jpg

سقوط الإنسان ليس فشلاً، ولكن الفشل أن يبقى حيث سقط

#3

العفو أخي العزيز أكرم، ان شاء الله انك استفدت من الموضوع... وهذا هو المهم

مع التحية

أستغفر الله العظيم و أتوب إليه

#4

والله معلومات حلوة وقيمة

وتستاهل الشكر والامتنان

بارك الله فيك وزادك من فضله

111923066.gif

632675481.jpg
#5

أهلا أخت MoonLight10، شكرا والحمد لله أنك وجدت ما يفيد بالموضوع

مع التحية

أستغفر الله العظيم و أتوب إليه

مواضيع مشابهة