• 0
مصطفى 36a2

لمن يصادف كوداً قديماً مشوّهاً في المنتدى

سؤال

السلام عليكم .

أحياناً يصادف وجود كود في المنتدى قد تم تنسيقه باستخدام بعض الطرق القديمة التي استخدمها مطوروا المنتدى (جزاهم الله خيراً )

وبعض هذه الطرق لم تكن متكاملة مع الطرف الجديدة فسببت تشوّه ألأكواد وهذا مثال


  • #include <iostream>
  • using std::cout;
  • using std::endl;
  •  
  • class B
  • {
  • public:
  •     virtual void Hello()
  •     {
  •         cout << "Hello from class B" << endl;
  •     }
  •  
  •     void Welcome()
  •     {
  •         cout << "Welcome: ";
  •         Hello();
  •     }
  • };
  •  
  • class D : public B
  • {
  • public:
  •     void Hello()
  •     {
  •         cout << "Hello from class D" << endl;
  •         B::Welcome();
  •     }
  • };
  •  
  • int main(int argc, char* argv[])
  • {
  •     D d;
  •     d.Hello();
  • }
  •  

فيما يلي طريقة التخلّص من تشويه الكود , لمن أراد الاستفادة منه

(ملاحظة : أرجو بشدّة الضغط على عبارة (إبلاغ عن مشاركة) لتنبيه المشرف المسؤول إلى تعديل هذا الكود في المتسقبل )

 

هناك 3 أمور عليك حذفها

1- في بداية ونهاية الكود يوجد وسم  list

2- وسم افتتاح اللون وهو بالشكل التالي

color= #DDDDDD;

موضوع بين قوسين مربعين

 

3- وسم انهاء اللون

 

باستخدام notepad++(برنامج تحرير مجّاني)

احذف وسم list يدويّاً

2- قم بعملية ctrl+h (استبدال)

واختر regular expressions

وضع في البحث العبارة التالية

\[color= #[0-9a-f]+;]

وفي خانة الاستبدال لا شيء

وسيتم حذفه

بالنسبة للثالث فهو عبارة ثابتة , قم باستبدال

[/color]

بلاشيء ( ولا تنس أن تكون في وضع normal وليس reg exp)

 

أخيراً يبقى تنسيق الكود

وهناك الكثير من برامج الـ code formatter والذي أعرفه هو أن code::blocks يحتوي في الـplug-ins الخاصة به source code formatter

هذا شكل الكود السابق بعد الإنقاذ

#include <iostream>using std::cout;using std::endl;class B{public:    virtual void Hello()    {        cout << "Hello from class B" << endl;    }    void Welcome()    {        cout << "Welcome: ";        Hello();    }};class D : public B{public:    void Hello()    {        cout << "Hello from class D" << endl;        B::Welcome();    }};int main(int argc, char* argv[]){    D d;    d.Hello();} 

وقد قام  الأستاذ حسام جزاه الله خيراً بكتابة برنامج بلغة C# لأتمتة العملية .. الكود والبرنامج في المرفقات

 

والله ولي التوفيق

ForumOldCodeConverter.rar

تم تعديل بواسطه مصطفى 36a2
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

0 إجابة على هذا السؤال .

لاتوجد إجابات على هذا السؤال حتى الآن .

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .