Posted by: regex2008 | مايو 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 ..

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

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

Leave a response

ردك:

التصنيفات