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

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

قام بنشر

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

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

لماذا الإعلان عن المتغيرات التي على مستوى الإجراء بصيغة 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

مع تحياتي

قام بنشر

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

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

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

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

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

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

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

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information