White Wolf

كتابة برنامج هيلو ورد المشهور بواجهة رسومية

Posted in برمجة و بيرل by regex2008 on مايو 12, 2008

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

الكل منا هواة البرمجة يعرف ان التقليد الشائع في اي دورة برمجية هو البداية بكتابة برنامج فقط يظهر كلمة hello world… و طبعا كنا نستخدم سطر الاوامر ليخرج لنا هذه الجملة الترحيبية… و لكن ماذا لو اردنا ان نجعله برنامج ذو واجهة رسومية الن يكون اكثر احترافية ؟

ثم هذا يعطينا امتياز ان الملف بمجرد النقر عليه يعمل كبرنامج مستقل فلا حاجة لسطر اوامر و لا غيره …

طيب ماذا سنحتاج ؟

perl + Tk module

البيرل معروفة لدى مستخدمي لينكس فهي تأتي افتراضيا … و لكن ان لم يكن لديك Tk فيمكنك تنصيبه بهذا الامر البسيط و اترك الباقي للكومند لاين ..

sudo cpan install Tk

جميل الان نحن جاهزون فقط افتح بيرل جديد و اكتب هذه الاوامر:

#!/usr/local/bin/perl -w

 — هذا السطر معروف فقط يقوم بتحديد مكان مترجم البيرل و w- تعني استخدام مكتشف الاخطاء
use strict;

— استخدام هذا الامر يلزمنا بالتعريف عن المتغير قبل استخدامه كما الحال في السي بلس بلس ..
use Tk;

— اعتقد ان هذا واضح نخبر البيرل اننا نريد برنامج ذا واجهة رسومية باستخدام Tk
my $mw = new MainWindow;

– نبدا بتعريف المتغير ام دبليو و نسند له قيمة النافذة الرئيسية
$mw->Label(-text => ‘Hello World!’)->pack;

– في النافذة الرئسية نكتب عبارة هيلو ورد و اما لماذا الكود يظهر غريبا ؟ لان هذه برمجة كائنية يعني كلاسات و اوبجكتس فهي تختلف عن طريقة كتابة الكود الطبيعي للبيرل ..
$mw->Button(-text => ‘Quit’,

– هنا نضيف زر الخروج و اعتقد انكم تعرفون الفرق بين البتن هنا و الليبل هناك و اما التكست فهو ما يظهر للمستخدم من نص ..

     -command => sub{exit} )->pack;
— هنا اضفنا اضفنا امر الخروج من البرنامج في حال تم النقر على زر خروج

MainLoop;
— هذه تعني نهاية الواجهة الرسومية

طيب طيب الان لدينا برنامج كامل احفظ الملف بامتداد بيرل و من ثم من خصائص الملف اجعله قابلا للتشغيل ..

الان مجرد النقر على هذا الملف سيخرج لك برنامج ذا واجهة رسومية فقط مكتوب فيه هيلو ورد و به ايقونة للخروج …

هذه الية عمل انشاء برامج ذات واجهة رسومية في بيرل باستخدام Tk  و طبعا يوجد غيرها مثل GTK ..

لن اضع صورة هنا .. جرب الكود و سترى بنفسك …

شيء بسيط و جميل و مفيد !!!…

6 تعليقات

Subscribe to comments with RSS.

  1. العربي للبرمجة said, on سبتمبر 16, 2009 at 7:46 م

    حدث معي هذا الخطأ اثناء التنفيذ

    ‘/home/Arabe/al3arbe/Perl/Test1/Hello.pl’
    Can’t locate Tk.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.10.0/i386-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl .) at /home/Arabe/al3arbe/Perl/Test1/Hello.pl line 4.
    BEGIN failed–compilation aborted at /home/Arabe/al3arbe/Perl/Test1/Hello.pl line 4.

  2. regex2008 said, on سبتمبر 17, 2009 at 1:47 ص

    عزيزي :

    Can’t locate Tk.pm

    هل انت متأكد من انك قمت بتنصيب Tk ؟

  3. العربي للبرمجة said, on سبتمبر 20, 2009 at 7:59 م

    اجل عبر هذا الآمر … فأنا استخدم اعجوبة 2

    su -l
    yum install tk

  4. العربي للبرمجة said, on سبتمبر 20, 2009 at 8:32 م

    نجحت في تركيبه بلأمر
    yum install perl-Tk

    شكرا ً لك …

    ارجو ان اجد المزيد من الدروس في المستقبل القريب

  5. العربي للبرمجة said, on أكتوبر 20, 2009 at 12:12 ص

    لا يمكنني الكتابة بالغة العربية … لماذا ؟

  6. regex2008 said, on أكتوبر 20, 2009 at 4:46 ص

    لانه افتراضيا انت تدخل كلمات بترميز لا يدعم العربية ..
    بكل بساطة استخدم ترميز utf8 ..
    طبعا يجب ان يكون برنامج التحرير يستخدم هذا الترميز ايضا لتفادي ظهور اي مشاكل ..
    ثم غير الخط الافتراضي الى خط يدعم العربية مثلا تايمز نيو رومين او خط اخر ..
    و ستظهر الكلمات العربية ان شاء الله ..

    على فكرة اذا كان لديك ويندوز في البيت او اي مكان يمكنك تنصيب برنامج TK GUI Builder
    و هو برنامج بسيط مثل فيجوال بيسك في ويندوز حيث سيجعل العملية اتوماتيكية فقط ارسم ما تشاء كانك تصمم صفحة ويب و سيخرج لك ملف بيرل ..
    مفيد جدا كبداية ..


اترك رد