17-10-19, 11:18 PM
وعليكم السلام ورحمة الله وبركاته
مرحباً اخى AbdoDabak
كنت افكر ان انشاء لك سورس لما تريده او لا
فالامر ليس بالصعب لكن عندما اري طريقة توزيعك للكود
اري انه بطريقة رائعة ومميزة فاحببت ان اقوم بشرح الامر نظرياً ويبقي الامر لك لتطبيقها عملياً
شوف فى البداية لتجنب فقط تهنيج البرنامج عند العمل يفضل استخدام
اداء BackgroundWorker
طيب خلاف الامر ادخل فى نطاق المطلوب من الموضوع
تعال كده اقول انا بكتب من 1:10 وبعد الانتهاء من الكتابة تم حفظ الـ 10 ارقام فى الملف النص
فهنا اصبح عملية الحفظ اتت بالنهاية الامر بعد اتمام المطلوب
لا هنا هنعمل العكس تماماً
كل الامر انك هتجعل كلما تم اضافة رقم يتم عمل حفظ فى الملف
فمثلاً لو البرنامج اغلق بعد العد 3 فهنا الملف يحتوى من 1:3
طيب الى هنا الامر جميل ماذا يبقي الان
هو وضح كود قبل بدء عمل For بحيث يقوم بجلب محتوى الملف
ومن ثم عمل شرط بداخل حلقة For اذا كان القيمة ليس مطابقة / موجودة بداخل الملف يتم عمل الاضافة
وهذا الامر سيعمل بدون مشكلة اذا كان اول مرة يعمل البرنامج او فتح عند الاغلاق بصورة غير متوقعه
طيب كده حلينا المشكلة عملية الاستكمال من حيث توقف البرنامج عندها
يبقي جزء صغير وهو ازاي البرنامج هيعرف اخر ملف كان شغال عليه بدلاً من اعادة تحديد الملف لعمل الاستكمال
بكل بساطة ستقوم اضافة Settings وليكن من نوع نص ونقول ان اسمه PFile
طيب عند بدء عملة توليد الاحرف كل الامر ستقوم بحفظ مسار الملف فى PFile
وعند الانتهاء من حلقة For يتم تفريغ قيمة PFile
طيب ايه الاستفادة من هذا
شوف الامر بسيط جداً هتعمل شرط تحقق فى لود الفورم
اذا كان PFile يحتوى على نص فيظهر رسالة
لقد تم انقطاع عملية توليد الاحرف فى اخر مرة هل تريد استكمل الامر
اذا قال المستخدم نعم فهنا حدث الزر سيتم تنفيده مباشر فكده المستخدم لم يفعل اى شئ
طيب لو قال لا فهنا انت ستقوم بعمل كود تفريغ قيمة PFile وممكن تعمل معه حذف الملف الذى لم يستكمل
طيب لو حبيت اعمل لمسة اضافية تزيد جمالاً للامر
كل المطلوب تجعل الرسالة تحتوى على Yes/No/Cancel
اذا ضغط على Yes سيقوم بتنفيز حدث الزر مباشر
واذا ضغط No سيتم تفريغ قيمة PFile وما تشاء معه
واذا ضغط Cancel فهنا لم يحدث شئ فاصبح اذا ضغط المستخدم
على الزر يدوي يقوم بتنفيذ ما كان سيقوم به لو ضغط على Yes
طيب هستفاد هنا ايه من Cancel هو ان عطيت للمستخدم حرية تاجيل الامر لوقت اخر
ويمكنه اغلاق البرنامج واعادة تشغيله ويجد الرسالة تظهر معه لاستكمال الامر
والشئ الاضافى هو اذا الشخص ضغط على Cancel ومن سم اتى لتحديد مسار ملف جديد
لاعادة توليد الاحرف من جديد ستظهر له رسالة يوجد عملية مسبقة غير مستكلمة فى حالة الضغط على Yes
سيتم الغاء العملية القديمة لاتمام انشاء عملية التوليد الجديدة
واذا ضغط No فهنا الملف اللى حدده كان لم يحدده
اتمنى ان تكون الفكرة وصلت لك لما قمت به من شرح
الامر بسيط جداً وكلها عبارة عن IF يعتبر
الامر الغلبة هو كونك ستضع اكواد اكبر من ما طرحته فى موضوعك
لاتمام تنفيذ ما قمت بشرحه نظرياً فاتمنا ما طرحته بسيط عليك
تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى
لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى
لكل من يقوم بالمساهمةفى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية

