برنامج Visual IRC
برنامج Visual IRC ( ViRC ) هو عميل دردشة إنترنت مفتوح المصدر لنظام التشغيل ويندوز . على عكس العديد من عملاء IRC الآخرين ، تعتمد جميع وظائف ViRC تقريبًا على سكربت IRC المرفق ، مما يسمح بتوسيع أو تغيير سلوك البرنامج دون تعديل شفرة المصدر .
تاريخ
- برنامج Visual IRC (16 بت) - صدر عام 1995 لنظام التشغيل Windows 3.x، من تأليف ميغاليث ( أدريان كيبل ). احتوى هذا البرنامج على العديد من الميزات المدمجة، ولكنه كان قابلاً للبرمجة النصية باستخدام لغة VPL ( لغة برمجة ViRC )، وهي اللغة السابقة لبرنامجي ViRCScript و Versus .
- Visual IRC '96 (ولاحقًا Visual IRC '97 وVisual IRC '98) - صدر عام 1996، من تطوير ميغاليث. كان هذا أول إصدار 32 بت من ViRC، مصممًا لأنظمة ويندوز 9x/NT. تمت معالجة العديد من الميزات المدمجة في ViRC 16 بت بواسطة البرنامج النصي الافتراضي في ViRC '96. احتوى ViRC '98 على بعض الأكواد التي ساهمت بها تارا مكغرو ، وخاصةً تحسينات لمحرك ViRCScript. كانت لغة البرمجة النصية غير متوافقة مع الإصدار السابق. في الإصدارات اللاحقة، أُضيفت ميزات الدردشة الصوتية ومؤتمرات الفيديو.
- تباطأ تطوير النسخة الثانية، وبحلول عام 2000، بدا أن برنامج Visual IRC قد توقف. قام المؤلف الأصلي، ميغاليث (أدريان كيبل)، بتسليم شفرة المصدر إلى مستخدمة تُدعى تارا مكغرو، كانت قد ساهمت سابقًا ببعض الشفرات، وكانت تعمل سرًا على تطوير نسخة مُقلدة تُسمى Bisual IRC (BIRC). وبدلًا من إعادة بدء تطوير قاعدة شفرة ViRC '98، قامت بدمج بعض ميزات ViRC '98 في BIRC وأصدرته باسم Visual IRC 2.
- Visual IRC 2 – أُصدرت هذه النسخة لأول مرة بواسطة تارا مكغرو عام 2001، وتعتمد لغة البرمجة Versus الخاصة بها على ViRCScript، ولكنها أُعيدت كتابتها بالكامل تقريبًا. في الواقع، لا تشترك ViRC 2 إلا في بضع مئات من أسطر التعليمات البرمجية مع ViRC '98. وقد أُزيلت ميزات المؤتمرات الصوتية والمرئية في هذه النسخة لأن المكتبات المستخدمة لتنفيذها لم تعد مدعومة.
تم إصدار جزء كبير من الشفرة المصدرية لـ BIRC و ViRC 2 والأدوات المساعدة ذات الصلة بموجب رخصة GPL من خلال موقع المشروع على الويب و SourceForge .
عكس
Versus هي لغة برمجة نصية طُوّرت في الأصل لعميل IRC Bisual IRC ، وتُستخدم حاليًا مع Visual IRC. وهي تشبه في نواحٍ عديدة لغات البرمجة النصية المستخدمة في ircII و mIRC ، بالإضافة إلى Tcl و C.
تم اختيار اسم "Versus" لأنه يمكن اختصاره إلى "VS"، وهو اختصار شائع للغة ViRCScript ، اللغة المستخدمة في Visual IRC من عام 1996 إلى 1998. حافظ Versus على توافقه مع الإصدارات السابقة من ViRCScript، لذا ظلت الوثائق والتعليقات الموجودة التي أشارت إلى "VS" دقيقة إلى حد كبير عند تطبيقها على Versus. كما يشير الاسم إلى أصول BIRC كبديل لـ ViRC.
يشير مصطلح Object Versus ، أو OVS، إلى خصائص البرمجة الكائنية في Versus. يمكن للبرامج النصية تعريف الفئات والتعامل مع الكائنات والأساليب بدلاً من البيانات النصية والأسماء المستعارة ؛ ومع ذلك، عمليًا، يُستخدم OVS في الغالب لمعالجة كائنات VCL التي تُشكل واجهة ViRC.
تخزين البرامج النصية
تُخزَّن البرامج النصية في ملفات، عادةً بامتداد .vsc ، مع أن امتداد .lib يُستخدم أحيانًا. يحتوي ملف البرنامج النصي في Versus على عبارات تُفسَّر عند تحميل البرنامج النصي؛ أي كتل مُعرَّفة في البرنامج النصي (انظر أدناه) ستحل محل الكتل المُعرَّفة بنفس الاسم في البرامج النصية السابقة.
الكتل التي يمكن تعريفها في البرنامج النصي
- الأسماء المستعارة هي إجراءات فرعية . يمكن استدعاؤها من سطر أوامر أي نافذة، أو من أجزاء أخرى من البرنامج النصي. تُسمى الأسماء المستعارة التي تُرجع قيمة بالدوال؛ ويمكن للاسم المستعار تحديد ما إذا كان من المتوقع أن يُرجع قيمة، ثم يعمل كدالة أو أمر وفقًا لذلك.
- تُستخدم الفئات في البرمجة النصية الموجهة للكائنات (OVS). قد تحتوي كل فئة على خصائص ، وطرق ، ودالة إنشاء ، ودالة تدمير .
- تُستخدم الأحداث لمعالجة الرسائل الواردة من خادم IRC ، بالإضافة إلى بعض الأحداث على مستوى النظام أو العميل، مثل إكمال نقل ملف أو فتح نافذة جديدة.
- تستخدم أحداث الخادم التعابير النمطية أو أحرف البدل الخاصة بـ Versus لمطابقة الرسائل الواردة من الخادم. إذا تطابقت عدة أحداث خادم مع رسالة معينة، فسيتم تنفيذ الحدث ذي الأولوية الأعلى فقط (المحسوبة بناءً على طول النمط والقيمة النسبية لأحرف البدل فيه).
- تُعرَّف أحداث العميل بالاسم: على سبيل المثال، سيتم تشغيل كل من <OnCreateWindow_foo> و<OnCreateWindow_bar > عند فتح نافذة جديدة . ويمكن أن تتضمن هذه الأحداث أنماطًا تحدد الحالات التي يمكن أن تُفعِّل هذا الحدث (على سبيل المثال، ليتم تشغيله فقط عند إنشاء نافذة قناة جديدة ).
- تُحدد شجرة القوائم وعناصرها قوائم السياق التي يمكن أن تظهر لمختلف عناصر واجهة المستخدم، بالإضافة إلى القائمة الرئيسية الظاهرة دائمًا. تُحدد كتل شجرة القوائم تخطيط القائمة وتُعيّن عناوين لكل عنصر؛ بينما تُحدد كتل عناصر القوائم رمز البرمجة النصية الذي يتم تنفيذه عند النقر على عنصر.
- تُشبه أشرطة الأدوات وعناصرها شجرة القوائم وكتل عناصر القوائم، لكنها تُحدد أشرطة الأدوات المرتبطة بكل نافذة. ويمكن إضافة أشرطة أدوات جديدة إلى الواجهة ببساطة عن طريق اختيار اسم فريد.
تُعرف الأسماء المستعارة والأساليب (بما في ذلك المنشئات والمدمرات) والأحداث وعناصر القوائم وعناصر شريط الأدوات باسم الإجراءات أو كتل التعليمات البرمجية.
تخزين البيانات
الملفات
- يمكن للبرامج النصية الوصول إلى الملفات باستخدام الوظائف $RandomRead() و $ReadLine()، والأوامر CreateFile و AppendText.
- يمكن للبرامج النصية أيضًا استخدام فئة TStringList VCL لقراءة ملف نصي كامل في الذاكرة، ومعالجته، وحفظه.
المتغيرات
- قد تحتوي جميع المتغيرات على ما يصل إلى 4 جيجابايت من البيانات.
- تبدأ أسماء المتغيرات بعلامة الدولار ($) وحرف كبير أو حرف صغير أو شرطة سفلية.
- قد تحتوي المتغيرات على أي أحرف، على الرغم من أنها تستخدم عادة للنصوص القابلة للطباعة.
- يتم تعيين المتغيرات المحلية
@Lباستخدام الأمر، وتوجد فقط ضمن سياق الإجراء الذي أنشأها. تُحذف هذه المتغيرات عند انتهاء الإجراء. بعض المتغيرات المحلية مُعرّفة مسبقًا، مثل $C لاسم القناة الحالية. - يتم تعيين المتغيرات العامة
@باستخدام الأمر، ويمكن الوصول إليها من أي إجراء. تُحذف هذه المتغيرات عند خروج العميل. يمكن للأسماء المستعارة إرجاع قيمة عن طريق تعيين المتغير العام $fresult. - يتم تعيين المتغيرات المخزنة
@Sباستخدام الأمر، ويمكن الوصول إليها من أي مكان، تمامًا مثل المتغيرات العامة. تُحفظ قيمها في وحدة التخزين الدائمة فورًا، وتُستعاد عند بدء تشغيل البرنامج في المرة التالية.
المصفوفات الترابطية
- تقوم المصفوفات الترابطية بربط المفاتيح بالقيم.
- يمكن أن تحتوي المفاتيح والقيم على ما يصل إلى 4 جيجابايت من البيانات دون أي قيود على الأحرف المسموح بها.
- يمكن ضبط قيم المصفوفات المحلية والعامة والمخزنة باستخدام الأوامر
@L`--`@و`--` و`--`@S، وتعمل هذه القيم تمامًا مثل المتغيرات المقابلة. عند ضبط قيمة مصفوفة مخزنة، يتم حفظ المصفوفة بأكملها. - تُستخدم هذه الصيغة
$arrayname[key]لتعيين أو استرداد قيمة مفتاح معين. - إن الصيغة
$arraynameوحدها تتعامل مع المصفوفة كقائمة من أزواج المفاتيح والقيم، مما يسمح للبرنامج النصي بتعيين محتويات المصفوفة بالكامل دفعة واحدة، أو التكرار عبر المفاتيح الموجودة بالفعل.
المتغيرات الزائفة
- المتغيرات الزائفة (أو pvars) تشبه المتغيرات في تركيبها، ولكن لا يمكن تغيير قيمها.
- تحتوي المتغيرات من $0 إلى $9 على المعاملات التي تم تمريرها إلى الروتين الحالي، بالترتيب. يحتوي $0 على اسم الروتين، ويحتوي $1 على الكلمة الأولى من سلسلة المعاملات، وهكذا.
- تحتوي المتغيرات من $0 إلى $9 على المعاملات التي تم تمريرها إلى الروتين الحالي، بالإضافة إلى جميع المعاملات اللاحقة. يحتوي $0 على اسم الروتين وسلسلة المعاملات كاملة، ويحتوي $1 على جميع المعاملات، ويحتوي $2 على جميع المعاملات بعد الأولى، وهكذا.
- يؤدي التسلسل الخاص
$?="PROMPT STRING"إلى ظهور مربع حوار، يطلب من المستخدم إدخال قيمة.
أمثلة على التعليمات البرمجية
إليك مثال على كود "Hello World" :
الاسم المستعار: مرحباً TextOut > $C clBlack مرحباً بالعالم! EndAlias
إليك مثال للعد حتى عشرة:
الاسم المستعار تين for (@l $i = 1; $i <= 10; $i++) TextOut > $C clBlack $i endfor EndAlias
إليك مثال لجعل كل شخص في القناة الحالية مشغلاً :
الاسم المستعار ماسوب foreach ($a,$b,$c,$d; $nicklist($C)) الوضع $C +oooo $a $b $c $d endforeach EndAlias
مراجع
للمزيد من القراءة
- شارالابيديس، أليكس (1999). "عملاء ويندوز IRC: فيجوال IRC" . كتاب IRC: الدليل الشامل لدردشة الإنترنت . دار نشر نو ستارش . الصفحات 37-38 . ISBN 1-886411-29-8.
- فورست ستراود (8 أبريل 2004) فيجوال آي آر سي ، مراجعات برامج وين بلانيت
روابط خارجية
- عملاء IRC مجانيين
- عملاء IRC
- لغات البرمجة النصية
- عملاء IRC لنظام التشغيل Windows
