اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

أخواني الزملاء الكرام

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

لماذا الإعلان عن المتغيرات التي على مستوى الإجراء بصيغة static لاتحتفظ بقيمة المتغير بعد إغلاق البرنامج ؟

فعندي متغير أريده يحتفظ بآخر قيمة طوال عمر البرنامج إلا إذا أحدث المستخدم تغييره . فأعلنت عنه داخل الإجراء بصيغة static ولكنه بعد إغلاق البرنامج يفقد القيمة ! فما هي الطريقة التي أستطيع الاحتفاظ بآخر قيمة للمتغير ؟

وجزاكم الله خيراً

قام بنشر (معدل)

تتطلب تعليمة saveSetting أربع ممرات :

اسم التطبيق

اسم مجموعة الخيارات

اسم الشيء المطلوب تخزين قيمته (المفتاح)

قيمته

مثال :

SaveSetting "MyApp","Startup", "Left", 50
ولقراءة القيمة نستخدم GetSetting بنفس الممرات السابقة الثلاث الأولى وتكون الممررة الرابعة(اختياراية) هي القيمة الافتراضية (في حال عدم وجود هذا المفتاح في الريجستري) مثال :
MyLeftvalue = GetSetting "MyApp","Startup", "Left", 25

تم تعديل بواسطه مهند عبادي
  • Like 1
قام بنشر

أخي الكريم : أبوعبدالله2

لنفترض أنك في برنامجك يلزم لك تخزين عدد مرات تشغيل برنامجك ..

وأن الاسم الذي ترغب بإكلاقه على برنامجك هو "المعين لحل المعالات الرياضية" وأن اسم المتحول الذي ستستخدمه لتخزين عدد مرات تشغيل البرنامج هو repetition

حسناً .. عند تشغيل البرنامج وعند فتح الفورم الرئيسي نكتب ما يلي :

repetition = GetSetting "المعين لحل المعالات الرياضية","Var","Repet No",0
لا حظ أن : "Repet NO" هو اسم كيفي استخدمته للدلالة على هذه القيمة التي أقرؤها .. ويدعى هذا الاسم بـ ( مفتاح ) رقم 0 : هو القيمة الافتراضية التي سيعيدها هذا التابع في حال لم نكن قد خزنا من قبل قيمة لهذا المفتاح ، أي عند أول استخدام للبرنامج سيعيد لنا تابع GetSetting القيمة صفر ثم نكتب بعد سطر التعليمات السابق ما يلي :
Repetition = Repetition + 1
SaveSetting "المعين لحل المعالات الرياضية","Var","Repet No",Repetion

وبهذان السطران نكون قد زدنا على قيمة المتحول Repetition قيمة +1 ثم قمنا بتخزينه مكان القيمة السابقة له

  • Like 1
قام بنشر

أولا نشكر الاخ مهند علي شرح هذا الموضوع المتقدم :(

و هذا الموضوع له استخدامات ، أري عن نفسي فى اغلب الاحوال أنها مفيدة جدا فى الحماية

اما فى الاحتفاظ بقيم المتغيرات أو تخزين معلومات خاصة بتشغيل البرنامج نفسه

فافضل كونها فى الجدول لسببان

الاول : اذا كانت القاعدة ستعمل علي أكثر من جهاز ( سيتم نقلها ) فستفقد هذه القيمة ، مثل أن تأخذ نسخة مثلا لتعمل عليها علي اللاب توب أو جهاز المنزل و تعيدها ثانية الي جهاز العمل

الثاني : فى حالة العمل علي شبكة ، فسيكون هناك قاعدة للواجهة و أخري للبيانات ، فاذا أردنا أن تكون هذه القيمة متاحة لاكثر من مستخدم ، فسيجب تخزينها فى قاعدة البيانات ( ملف البيانات )

و للمزيد حول الريجيستري

موضوع لابو حمود

http://www.officena.net/ib/index.php?showtopic=600

مع تحياتي

قام بنشر

أخي العزيز محمد طاهر

اما فى الاحتفاظ بقيم المتغيرات أو تخزين معلومات خاصة بتشغيل البرنامج نفسه

فافضل كونها فى الجدول لسببان

الاول : اذا كانت القاعدة ستعمل علي أكثر من جهاز ( سيتم نقلها ) فستفقد هذه القيمة ، مثل أن تأخذ نسخة مثلا لتعمل عليها علي اللاب توب أو جهاز المنزل و تعيدها ثانية الي جهاز العمل

الثاني : فى حالة العمل علي شبكة ، فسيكون هناك قاعدة للواجهة و أخري للبيانات ، فاذا أردنا أن تكون هذه القيمة متاحة لاكثر من مستخدم ، فسيجب تخزينها فى قاعدة البيانات ( ملف البيانات )

إن كلامك صحيح إذا كانت المعلومات التي يتم تخزينها من مستلزمات قاعدة البيانات نفسها

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information