بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
ساعرض لكم باذن الله فى هذا الموضوع برنامج مكتوب بلغة البرمجة سوبرنوفا والتى تدعم ان تكون الشفيرة المصدرية بكلمات عربية او انجليزية
البرنامج يقوم بتغيير خلفية المجلدات (تم تجربته على Windows XP - والهدف منه توضيح استخدام دوال ال Windows API من خلال السوبرنوفا)
الكود هنا بكلمات عربية والمثال من عمل الاخ الكريم (العضو مدمن برامج) وقد قام بطرحه فى المنتدى الخاص بمشروع تقنية البرمجة بدون كود
وذلك بعد ان قام باختبار السوبرنوفا واستخدامها بشكل عملى ومع الوقت اكتشف مجموعة من الاخطاء فى الجزء الخاص باستدعاء دوال
فى مكتبات الربط الديناميكية DLL Functions وبالتحديد الدوال التى ترجع اكثر من قيمة عن طريق ارسال معطيات عبارة عن عناوين متغيرات
وقد قمت بتحديث السوبرنوفا واصلاح هذه الاخطاء وتم انضمامه الى فريق العمل لما يقوم به من اختبار وتطبيق عملى لامثلة بالسوبرنوفا
حتى لا اطيل عليكم المثال يتخطى (500 سطر) وهو تطبيق عملى على استخدام دوال ال Windows API
وفيما يلى وصف المثال من قبل الاخ الكريم (مدمن برامج)
اقتباسالسلام عليكم و رحمة الله
هذا مثال لبرنامج متكامل مبرمج بواسطة لغة البرمجة سوبر نوفا
و يحتوي الكود البرمجي على أمثلة عديدة لاستعمال مكتبة الربط الديناميكي
و الاجراءات و الدوال الشرطية و دوال التكرار
و الأكواد في ملف السورس نوفا مرتبة حتى تتمكن من التنقل داخل الكود و التعرف
على هذه الدوال و الاجراءات
ففي بداية الكود تجد العناصر كالأزرار و غيرها ثم يليها أحداث هذه العناصر مثل
حدث النقر بالفارة على زر ما أو حدث التغيير لمربع نص ثم بعد ذلك تاتي
الاجراءات التي تحوي بداخلها استدعاء لمكتبة ربط ديناميكي لكل اجراء
و كل اجراء له تسمية تدل على نوعية المكتبة المستدعاة داخله لتسهيل التعرف
على و ظيفة كل دالة من هذه الدوال (دوال مكتبة الربط الديناميكي).
أمثلة لبعض الاجراءات:
اقتباس"حذف ملف" تعليماته هى
"حفظ البيانات" تعليماته هى
"استرجاع البيانات" تعليماته هى
"تنبيه" تعليماته هى
كما تلاحظ الأسماء توحي بوظائف الدوال (دوال مكتبة الربط الديناميكي) التي بداخلها.
مثلا الاجراء "تنبيه"
اقتباس"تنبيه" تعليماته هى
[تنبيه]. = (4).
[تنبيه]\(1)\(1). = (رقم). [تنبيه]\(1)\(2). = (0).
[تنبيه]\(2)\(1). = (حروف). [تنبيه]\(2)\(2). = [رسالة منبه].
[تنبيه]\(3)\(1). = (حروف). [تنبيه]\(3)\(2). = [عنوان منبه].
[تنبيه]\(4)\(1). = (رقم). [تنبيه]\(4)\(2). = [ص منبه].
"(user32.dll)" مكتبة ربط ديناميكى لكى نستعملها
"MessageBox" استدعاء دالة فى مكتبة ربط ديناميكى بالمعطيات "تنبيه"
نهاية التعليمات
صورة البرنامج
رابط البرنامج مع السورس:
ملاحظة:
البرنامج جاهز للتشغيل مباشرة من ملف exe
واذا اردت التشغيل من السورس عليك تحميل آخر اصدار من السوبر نوفا
حمله من الموضوع التالي:
http://doublesvsoop.sourceforge.net/forum/showthread.php?t=689
اتمنى ان يكون هذا المثال دافع للتعرف على لغة السوبرنوفا بشكل عملى .... وتجربة كتابة الشفيرة المصدرية بكلمات عربية
والتى عن تجربة متعة كبيرة لم اكن اتوقعها الا من خلال الممارسة العملية.
ملاحظة :-
نظرا لانه مستقبلا مع الجيل الجديد من تقنية البرمجة بدون كود
سيتم اعادة بناء السوبرنوفا باذن الله
فاننا نكتفى بتقديم الدعم فقط للجيل الحالى من السوبرنوفا
والدعم يتمثل فى اصلاح الاخطاء التى يتم اكتشافها + امثلة جديدة فى حالة توفرها
ولانقوم باضافة مميزات جديدة لتوفير الوقت والمجهود من اجل الجيل القادم
نهاية الجيل الحالى (الجيل الاول) من تقنية البرمجة بدون كود (بما فيها السوبرنوفا)
ستكون باذن الله مع الاصدار PWCT 1.8 Smart
وقد يمتد هذا الجيل الى PWCT 1.9 على الحد الاقصى (لم يقرر ذلك بعد)
بعد ذلك سيتم تقديم الجيل الجديد باذن الله والذى سيشتمل اعادة تصميم و بناء شاملة
والله الموفق