XHarbour
ایکس ہاربر ایک مفت ملٹی پلیٹ فارم توسیعی کلپر مرتب ہے، جو کنسول ڈرائیوروں، جی یو آئیز، اور ہائبرڈ کنسول/جی یو آئیز سمیت متعدد گرافک ٹرمینلز (جی ٹیز) پیش کرتا ہے۔ ایکس ہاربر کلپر کے ساتھ پسماندہ مطابقت رکھتا ہے اور بہت سی زبان کی نحو کی توسیع، بہت زیادہ توسیع شدہ رن ٹائم لائبریریوں، اور وسیع تر تھرڈ پارٹی سپورٹ کی حمایت کرتا ہے۔ زیادہ تر متحرک زبانوں کی طرح، ایکس ہاربر بھی ایک اسکرپٹنگ زبان (اسٹینڈ لون ایپلی کیشن، لنک ایبل لائبریری، ایم ایس ایکٹو اسکرپٹ انجن [ونڈوز اسکرپٹ ہوسٹ، ایچ ٹی ایم ایل، اے ایس پی]) کے طور پر دستیاب ہے جس میں ایکس ہاربر زبان میں لکھے گئے مترجم کا استعمال کیا جاتا ہے۔ ایکس ہاربر یوزنیٹ نیوز گروپ ایکس ہاربر سے متعلق سوالات پر بحث کرنے کے لیے ایک فعال کمیونٹی ہے۔ بلٹ ان ڈیٹا ٹائپ xHarbor میں 6 اسکیلر اقسام ہیں: نیل، سٹرنگ، ڈیٹ، لاجیکل، نمبر، پوائنٹر، اور 4 پیچیدہ اقسام: ارے، آبجیکٹ، کوڈ بلاک، اور ہیش۔ ایک اسکیلر ایک واحد قدر رکھتا ہے، جیسے کہ سٹرنگ، نمبر، یا کسی دوسری قسم کا حوالہ۔ صفوں کو اسکیلرز یا پیچیدہ اقسام کی فہرستوں کا حکم دیا جاتا ہے، جو نمبر کے لحاظ سے انڈیکس ہوتے ہیں، جو 1 سے شروع ہوتے ہیں۔ ہیش، یا ایسوسی ایٹیو صف، کسی بھی قسم کی اقدار کے غیر ترتیب شدہ مجموعے ہیں جو ان کی متعلقہ کلید کے ذریعہ انڈیکس کیے جاتے ہیں، جو کسی بھی اسکیلر یا پیچیدہ قسم کے ہو سکتے ہیں۔ اسکیلر اقسام کی لفظی (جامد) نمائندگی: نیل: نیل سٹرنگ: "ہیلو"، "ہیلو"، [ہیلو]، یا ای "ہیلو" تاریخ: ctod ("2005-03-17") منطقی:. T.،. F. نمبر: 1، 1.1،-1، 0x. F. F پیچیدہ اقسام کو لفظی اقدار کے طور پر بھی پیش کیا جا سکتا ہے: صف: {"سٹرنگ"، 1، {"نیسٹڈ ایرے"}،. T.، فنکشن کال ()، @FunctionPointer ()} کوڈ بلاک: {|Arg1، ArgN | Arg1: = ArgN + آوٹر وار + فنکشن کال ()} ہیش: {"نام" => "جان"، 1 => "عددی کلید"، "نام 2" => {"نیسٹڈ" => "ہیش"} ہیش کسی بھی عنصر کے لیے کلید کے طور پر دیگر ہیشز سمیت کسی بھی قسم کا استعمال کر سکتے ہیں۔ ہیشز اور صفوں میں کسی بھی رکن کی قدر کے طور پر کسی بھی قسم کی ہو سکتی ہے، بشمول گھونسلی صفوں اور ہیشز۔ کوڈ بلاکس میں طریقہ کار/فنکشن> طریقہ کار کے متغیرات کے حوالے ہو سکتے ہیں جس میں اس کی وضاحت کی گئی تھی۔ اس طرح کے کوڈ بلاکس کو ایک قدر کے طور پر واپس کیا جا سکتا ہے، یا ریفرنس کے ذریعے منظور کردہ دلیل کے ذریعے، ایسی صورت میں کوڈ بلاک اس معمول کو "ختم" کر دے گا جس میں اس کی وضاحت کی گئی تھی، اور جو بھی متغیر اس کا حوالہ دیتا ہے، وہ ایک ڈیٹیچڈ متغیر ہوگا۔ الگ تھلگ متغیرات اپنی قدر کو اس وقت تک برقرار رکھیں گے جب تک کہ ان کا حوالہ دینے والا کوڈ بلاک موجود رہے۔ اس طرح کی اقدار کو کسی بھی دوسرے کوڈ بلاک کے ساتھ شیئر کیا جائے گا جس کی رسائی ان ہی متغیرات تک ہو سکتی ہے۔ اگر کوڈ بلاک اپنے موجود معمول سے زیادہ زندہ نہیں رہا، اور معمول کی زندگی کے اندر اس کا جائزہ لیا جائے گا جس میں اس کی وضاحت کی گئی ہے، تو اس کی تشخیص کے ذریعے اس کے علیحدہ متغیرات میں تبدیلیاں، اس کے بنیادی معمول پر ظاہر ہوں گی۔ کوڈ بلاکس کا اندازہ ایوال (بلاک ایکس پی) فنکشن کے ذریعے کسی بھی تعداد میں کیا جا سکتا ہے۔ متغیرات تمام اقسام کو نامزد متغیرات کو تفویض کیا جا سکتا ہے۔ نامی متغیر شناخت کار 1 سے 63 حروف لمبے ہوتے ہیں، [A-Z|_] سے شروع ہوتے ہیں اور مزید حروف پر مشتمل ہوتے ہیں [A-Z|0-9|_] زیادہ سے زیادہ 63 حروف تک۔ نامزد متغیرات کیس حساس نہیں ہوتے ہیں۔ متغیرات کے درج ذیل دائرہ کار میں سے ایک ہے: مقامی: صرف معمول کے اندر نظر آتا ہے جس نے اسے اعلان کیا تھا۔ معمول سے باہر نکلنے پر قدر ختم ہو جاتی ہے۔ اسٹیٹک: صرف معمول کے اندر نظر آتا ہے جس نے اس کا اعلان کیا تھا۔ معمول کے بعد کی دعاؤں کے لیے قدر کو محفوظ رکھا جاتا ہے۔ اگر کسی STATIC متغیر کو کسی طریقہ کار/فنکشن/طریقہ کار کی وضاحت سے پہلے اعلان کیا جاتا ہے، تو اس کا ایک ماڈیول دائرہ کار ہوتا ہے، اور اسی ماخذ فائل میں بیان کردہ کسی بھی معمول کے اندر نظر آتا ہے، تو یہ درخواست کی زندگی کی مدت تک اپنی زندگی برقرار رکھے گا۔ گلوبل ویزیبل اسی سورس ماڈیول میں بیان کردہ کسی بھی معمول کے اندر نظر آتا ہے جہاں گلوبل متغیر کا اعلان کیا جاتا ہے، نیز کسی دوسرے سورس ماڈیول کا کوئی معمول، جو واضح طور پر اس کا اعلان کرتا ہے، گلوبل بیرونی اعلامیے کے ذریعے۔ کسی بھی طریقہ کار/فنکشن/طریقہ کار کی وضاحت سے پہلے عالمی اور عالمی بیرونی اعلانات دونوں کا اعلان کیا جانا چاہیے۔ نجی: معمول کے اندر نظر آتا ہے جس نے اس کا اعلان کیا، اور اس معمول کے مطابق تمام معمولات۔ عوامی: ایک ہی ایپلی کیشن میں تمام معمولات سے نظر آتا ہے۔ مقامی، اسٹیٹک، اور گلوبل کو مرتب کرنے کے وقت حل کیا جاتا ہے، اور اس طرح یہ نجی اور عوامی متغیرات سے بہت تیز ہوتے ہیں جن تک رن ٹائم سمبل ٹیبل کے ذریعے رسائی حاصل کی جاتی ہے۔ اسی وجہ سے، مقامی، مستحکم اور عالمی متغیر میکرو مرتب کے سامنے نہیں آتے ہیں، اور کوئی بھی میکرو کوڈ جو ان کا حوالہ دینے کی کوشش کرتا ہے وہ رن ٹائم ایرر پیدا کرے گا۔ نجی اور عوامی متغیرات کی متحرک نوعیت کی وجہ سے، انہیں رن ٹائم پر بنایا اور تباہ کیا جا سکتا ہے، رن ٹائم میکرو کے ذریعے ان تک رسائی اور ترمیم کی جا سکتی ہے، اور اڑتے ہوئے بنائے گئے کوڈ بلاکس کے ذریعے ان تک رسائی اور ترمیم کی جا سکتی ہے۔ کنٹرول ڈھانچے بنیادی کنٹرول ڈھانچے میں تمام معیاری ڈی بیس، اور کلپر کنٹرول ڈھانچے کے ساتھ ساتھ سی یا جاوا پروگرامنگ زبانوں سے متاثر اضافی ڈھانچے شامل ہیں: لوپس [ڈو] وہیل کنڈیشن ایکسپ۔ [لوپ] [ایگزٹ] اینڈ [ڈو] فار وار: = انٹیلی ایکسپ ٹو اینڈ ایکسپ [اسٹیپ اسٹیپ ایکسپ]۔ [لوپ] [ایگزٹ] نیکسٹ فار ہر ور ان کلیکشن ایکسپ۔ [ایچ بی _ اینم انڈیکس ()] [لوپ] [ایگزٹ] نیکسٹ۔ مزید ایکس ہاربر بیانات میں سے ایک کی ترتیب ہے، اور مربع بریکٹ اختیاری نحو کی نشاندہی کرتے ہیں۔ ایچ بی _ اینم انڈیکس () کو اختیاری طور پر موجودہ تکرار اشاریہ (1 پر مبنی) کو بازیافت کرنے کے لیے استعمال کیا جا سکتا ہے۔ لوپ بیان منسلک لوپ ڈھانچے کی موجودہ تکرار کو دوبارہ شروع کرتا ہے، اور اگر منسلک لوپ ہر لوپ کے لیے یا ہر لوپ کے لیے ہے، تو یہ لوپ کے اگلے تکرار کی طرف بڑھتے ہوئے، تکرار کو بڑھاتا ہے۔ EXIT بیان فوری طور پر منسلک لوپ ڈھانچے کی کارکردگی کو ختم کر دیتا ہے۔ اگلا بیان کنٹرول ڈھانچے کو بند کر دیتا ہے اور لوپ ڈھانچے کی اگلی تکرار کی طرف بڑھتا ہے۔ FOR بیان میں، تفویض کے اظہار کا اندازہ پہلے لوپ تکرار سے پہلے کیا جاتا ہے۔ ہر تکرار سے پہلے، کنٹرول متغیر کی قدر کے خلاف ٹی او اظہار کا جائزہ لیا جاتا ہے اور اس کا موازنہ کیا جاتا ہے، اور اگر یہ کنٹرول متغیر کی عددی قدر سے زیادہ عددی قدر کا اندازہ کرتا ہے تو لوپ کو ختم کر دیا جاتا ہے۔ اختیاری ایس ٹی ای پی اظہار کا اندازہ ہر تکرار کے بعد کیا جاتا ہے، یہ فیصلہ کرنے سے پہلے کہ اگلی تکرار انجام دی جائے یا نہیں۔ ہر ایک کے لیے، وار متغیر کی کلیکشن ویلیو میں متعلقہ عنصر کی ویلیو (اسکیلر، یا کمپلیکس) ہوگی۔ مجموعہ کا اظہار، ایک صف (کسی بھی قسم یا اقسام کے امتزاج کا)، ایک ہیش ٹیبل، یا آبجیکٹ کی قسم ہو سکتا ہے۔ IF بیانات IF CondExp. [ELSEIF] CondExp. [ELSE]. END [IF]. 0 یا اس سے زیادہ بیانات کی نمائندگی کرتا ہے۔ حالت کے اظہار (زبانیں) کو مقامی قدر کا اندازہ لگانا پڑتا ہے۔ ڈو کیس اسٹیٹمنٹ ڈو کیس کیس کنڈیکسپ۔ [کیس کنڈیکسپ]۔ [دیگر]۔ اینڈ [کیس] اوپر کی تعمیر منطقی طور پر اس کے مساوی ہے: IF CondExp. ELSEIF CondExp. [ELSEIF CondExp]. [ELSE]. اینڈ [اگر] سویچ اسٹیٹمنٹ xHarbar ایک سویچ کنسٹرکٹ کی حمایت کرتا ہے جو C کے نفاذ سے متاثر ہے۔ سویچ سوئچ ایکسپ کیس لیٹرل ایکسپ۔ [ایگزٹ] [کیس لیٹرل ایکسپ]۔ [ایگزٹ] [ڈیفالٹ]۔ اینڈ لیٹرل ایکسپ ایک مرتب شدہ ٹائم ریزولوبل عددی اظہار ہونا چاہیے، اور آپریٹرز کو شامل کر سکتا ہے، جب تک کہ اس طرح کے آپریٹرز میں کمپائل ٹائم اسٹیٹک ویلیو شامل ہو۔ ایگزٹ اختیاری بیان سی بیان وقفے کے مساوی ہے، اور اگر موجود ہے تو، ایگزٹ بیان تک پہنچنے پر سویچ ڈھانچے پر عمل درآمد ختم ہو جائے گا، بصورت دیگر یہ اگلے کیس بیان (فال تھرو) کے نیچے پہلے بیان کے ساتھ جاری رہے گا۔ ترتیب کے بیانات شروع کریں۔ [بریک] [بریک ([ایکسپو])] بازیافت [ور کا استعمال کرتے ہوئے]۔ اختتام [ترتیب] یا: ترتیب شروع کریں۔ [توڑ ()] اختتام [ترتیب] ترتیب کا ڈھانچہ کسی بھی ترتیب کے اچھے سلوک والے اسقاط حمل کی اجازت دیتا ہے، یہاں تک کہ جب گھونسلے والے طریقہ کار/افعال کو عبور کیا جائے۔ اس کا مطلب یہ ہے کہ ایک کال شدہ طریقہ کار/فنکشن، بریک بیان، یا بریک () اظہار جاری کر سکتا ہے، تاکہ کسی بھی نیسٹڈ طریقہ کار/افعال کو بے نقاب کرنے پر مجبور کیا جا سکے، پہلے بیرونی بیگن سیکوئنس ڈھانچے پر واپس جانے کے لیے، یا تو اس کے متعلقہ اینڈ بیان کے بعد، یا اگر موجود ہو تو ریکوور شق۔ بریک سٹیٹمنٹ اختیاری طور پر کسی بھی قسم کے اظہار کو پاس کر سکتا ہے، جسے ریکوور سٹیٹمنٹ کے ذریعے قبول کیا جا سکتا ہے تاکہ مزید ریکوری ہینڈنگ کی اجازت دی جا سکے۔ مزید برآں ایکس ہاربر ایرر آبجیکٹ کین ڈیفالٹ، کین ریٹری اور کین سبسیٹیوٹ پراپرٹیز کی حمایت کرتا ہے، جو ایرر ہینڈلرز کو کچھ تیاریاں انجام دینے کی اجازت دیتا ہے، اور پھر ری ٹرائی آپریشن، ریزیومے کی درخواست کرتا ہے، یا ایرر کنڈیشن کو متحرک کرنے والے اظہار کو تبدیل کرنے کے لیے ویلیو واپس کرتا ہے۔ آزمائیں [کیچ] [آخر میں] بیانات آزمائیں۔ [بریک] [بریک ([ایکسپو])] [تھرو ([ایکسپو])] کیچ [ور]۔ کوشش ختم کریں۔ [بریک] [بریک ([ایکسپو]) [تھرو ([ایکسپو])] [کیچ [ور]۔ آخر میں۔ اختتام یا: کوشش کریں۔ [بریک] [بریک ([ایکسپو])] [تھرو ([ایکسپو])] آخر میں۔ ٹرائی کنسٹرکٹ بیگن سیکوئنس کنسٹرکٹ سے بہت ملتا جلتا ہے، سوائے اس کے کہ یہ خود بخود ایرر ہینڈلنگ کو مربوط کرتا ہے، تاکہ کسی بھی غلطی کو روکا جا سکے، اور کیچ سٹیٹمنٹ کے ذریعے بازیافت کیا جا سکے یا بصورت دیگر کسی بیرونی کیچ ہینڈلر کو فارورڈ کیا جا سکے۔ فائنللی سیکشن کو ریٹرن، بریک، یا تھرو کے ذریعے ٹرائی یا کیچ سیکشنز فارورڈ فلو کنٹرول سے پہلے انجام دینے کی ضمانت دی جاتی ہے۔ طریقہ کار/افعال [اسٹیٹک] عمل کچھ طریقہ کار کا نام [اسٹیٹک] عمل کچھ عمل کا نام () [اسٹیٹک] عمل کچھ عمل کا نام (پیرم 1 '[، پیرم این]) کسی عمل کا نام کسی عمل کا نام [اسٹیٹک] فنکشن کچھ طریقہ کار کا نام [اسٹیٹک] فنکشن کچھ طریقہ کار کا نام () [اسٹیٹک] فنکشن کچھ طریقہ کار کا نام (پیرم 1' [، پیرم این] نام کے اصول وہی ہیں جو متغیرات کے لیے ہیں (63 حروف تک غیر کیس حساس)۔ طریقہ کار اور افعال دونوں کو اسکوپ کوالیفائر STATIC کے ذریعے اہل بنایا جا سکتا ہے تاکہ ان کے استعمال کو ماڈیول کے دائرہ کار تک محدود رکھا جا سکے جہاں اس کی وضاحت کی گئی ہو۔ آئی این آئی ٹی یا ایگزٹ اختیاری کوالیفائر، درخواست شروع کرنے کے طریقہ کار کو کال کرنے سے پہلے، یا بالترتیب درخواست چھوڑنے کے فورا بعد خود بخود نافذ ہونے والے طریقہ کار کو نشان زد کریں گے۔ کسی طریقہ کار/فنکشن کو منتقل کیے گئے پیرامیٹرز سبروٹین میں مقامی متغیر کے طور پر ظاہر ہوتے ہیں، اور حوالہ جات سمیت کسی بھی قسم کو قبول کر سکتے ہیں۔ دلیل کے متغیرات میں تبدیلیاں کالنگ کے طریقہ کار/فنکشن/طریقہ کار کے ذریعے منظور کردہ متعلقہ متغیرات میں ظاہر نہیں ہوتی ہیں جب تک کہ @پریفیکس کا استعمال کرتے ہوئے REFERENCE کے ذریعے واضح طور پر منظور نہ کیا جائے۔ PROCEDURE کی کوئی واپسی کی قیمت نہیں ہے، اور اگر ایکسپریشن کے سیاق و سباق میں استعمال کیا جائے تو NIL قیمت پیدا ہوگی۔ فنکشن واپسی کے بیان کے ذریعے کسی بھی قسم کی واپسی کر سکتا ہے، اس کی تعریف کے مرکزی حصے میں کہیں بھی۔ ایک مثال طریقہ کار کی تعریف اور فنکشن کال مندرجہ ذیل ہے: x: = کیوب (2) فنکشن کیوب (n) ریٹرن این * * 3 ڈیٹا بیس سپورٹ x ہاربر کلپر ریپلیس ایبل ڈیٹا بیس ڈرائیوروں (آر ڈی ڈی) کے نقطہ نظر کو بڑھاتا ہے۔ یہ متعدد آر ڈی ڈی پیش کرتا ہے جیسے ڈی بی ایف، ڈی بی ایف این ٹی ایکس، ڈی بی ایف سی ڈی ایکس، ڈی بی ایف ڈی بی ٹی، اور ڈی بی ایف ایف پی ٹی۔ ایکس ہاربر میں ایک سے زیادہ آر ڈی ڈی کو ایک ہی ایپلی کیشن میں استعمال کیا جا سکتا ہے، اور نئے منطقی آر ڈی ڈی کو دوسرے آر ڈی ڈی کے امتزاج سے بیان کیا جا سکتا ہے۔ آر ڈی ڈی فن تعمیر وراثت کی اجازت دیتا ہے، تاکہ ایک دی گئی آر ڈی ڈی دیگر موجودہ آر ڈی ڈی کی فعالیت کو بڑھا سکے۔ تھرڈ پارٹی آر ڈی ڈی، جیسے آر ڈی ڈی ایس کیو ایل، آر ڈی ڈی ایس آئی ایکس، آر ایم ڈی بی ایف سی ڈی ایکس، ایڈوانٹیج ڈیٹا بیس سرور، اور میڈی ایٹر آر ڈی ڈی فن تعمیر کی کچھ خصوصیات کی مثال دیتے ہیں۔ ایکس ہاربر او او پی نحو کے ذریعے او ڈی بی سی سپورٹ اور او ایل ای کے ذریعے اے ڈی او سپورٹ بھی پیش کرتا ہے۔ میکرو آپریٹر (رن ٹائم مرتب) ایکس بیس زبانوں کی سب سے طاقتور خصوصیات میں سے ایک میکرو آپریٹر '&' ہے۔ ایکس ہاربر کا میکرو آپریٹر کا نفاذ کسی بھی درست ایکس ہاربر اظہار کی رن ٹائم تالیف کی اجازت دیتا ہے۔ اس طرح کے مرتب شدہ اظہار کو ویلیو کے طور پر استعمال کیا جا سکتا ہے، یعنی۔ کسی تفویض کی دائیں طرف، لیکن اس طرح کے مرتب شدہ اظہار کو کسی تفویض کے بائیں طرف کو حل کرنے کے لیے استعمال کیا جا سکتا ہے، یعنی۔ نجی، یا عوامی متغیر، یا ڈیٹا بیس فیلڈ۔ مزید برآں میکرو آپریٹر فنکشن کالز، مکمل اسائنمنٹس، یا یہاں تک کہ دلائل کی فہرست کو مرتب اور انجام دے سکتا ہے، اور میکرو کا نتیجہ مرتب کردہ ایپلی کیشن میں مذکورہ بالا سیاق و سباق میں سے کسی کو حل کرنے کے لیے استعمال کیا جا سکتا ہے۔ آئی او ڈبلیو، کسی بھی ایکس ہاربر ایپلی کیشن کو توسیع دی جا سکتی ہے، اور/یا رن ٹائم میں ترمیم کی جا سکتی ہے، تاکہ طلب پر اضافی کوڈ کو مرتب اور انجام دیا جا سکے۔ اس خصوصیت کا ایکس ہاربر نفاذ اتنا مکمل ہے کہ ایکس ہاربر انٹرپریٹر، ایکس بی اسکرپٹ، ایکس ہاربر اسکرپٹ کو مرتب کرنے کے لیے اس کا بہت زیادہ استعمال کرتا ہے۔ نحو: & (.) اظہار '.' کی ٹیکسٹ ویلیو مرتب کی جائے گی، اور مرتب شدہ کوڈ پر عمل درآمد کے نتیجے میں آنے والی ویلیو نتیجہ ہے۔ & کچھ آئی ڈی & (کچھ آئی ڈی) کی مختصر شکل ہے۔ & SomeId.postfix & (کچھ آئی ڈی + "پوسٹ فکس") کی مختصر شکل ہے۔ مثال کوڈ ہیلو، دنیا! عام "ہیلو ورلڈ" پروگرام یہ ہوگا:؟ "ہیلو دنیا!" یا: QOut ("ہیلو، دنیا!" ) یا: الرٹ ("ہیلو، دنیا!" ) یا، ایک واضح طریقہ کار میں منسلک: عمل مین ()؟ "ہیلو دنیا!" واپسی او او پی #include "hbclass.ch" عمل مین () مقامی شخص: = شخص ("ڈیو") شخص: آنکھیں: = "غیر قانونی" شخص: آنکھیں: = "بلیو" الرٹ (شخص: تفصیل ()) ریٹرن کلاس شخص کا ڈیٹا نام آئی این آئی ٹی "" میتھڈ نیو () کنسٹرکٹر ایکسیس آئیز ان لائن:: پیوٹیز ایسسن آئیز (x) ان لائن آئی آئی ایف (والٹائپ (x) = = "سی". اور۔ x میں "بلیو، براؤن، گرین":: pvtEyes: = x، الرٹ ("ان ویلڈ ویلیو"))// ان لائن طریقہ کی تعریف کا نمونہ ان لائن طریقہ بیان کریں () مقامی cDesक्रिपشن اگر خالی ہے (:: نام) cDesक्रिपشن: = "میرا ابھی تک کوئی نام نہیں ہے"۔ ELSE cDesक्रिपشن: = "میرا نام ہے:" +:: نام + "؛" ENDIF IF! خالی (:: Eyes) cDesक्रिपشن + = "میری آنکھوں کا رنگ ہے:" +:: Eyes ENDIF ENDMETHOD PRIVATE: DATA pVITEYES ENDCLASS// عام طریقہ کی تعریف کا نمونہ۔ طریقہ نیا (سی نام) کلاس شخص:: نام: = سی نام ریٹرن سیلف اسکرپٹنگ x ہاربر اسکرپٹنگ انجنوں کے چند ذائقوں میں ایک تشریح شدہ زبان کے طور پر بھی دستیاب ہے۔ اسٹینڈ الون انٹرپریٹر: پورٹیبل، سیلف کنٹینڈ، انٹرپریٹر ایکس بیس اسکرپٹ۔ ایکٹو اسکرپٹ: مائیکروسافٹ ایکٹو اسکرپٹ کے مطابق OLE DLL، جو اسکرپٹنگ کی حمایت کرتا ہے: ونڈوز اسکرپٹ ہوسٹ (WSH)۔ انٹرنیٹ ایکسپلورر، ایچ ٹی ایم ایل کلائنٹ سائیڈ اسکرپٹنگ۔ آئی آئی ایس، اور کوئی دوسرا اے ایس پی کے مطابق سرور۔ بیرونی روابط آفیشل سائٹ آبجیکٹ اورینٹڈ ہاربر جی یو آئی (او او ایچ جی) فائیو ون زائلر xHarbour.com پروسیجرل پروگرامنگ لینگوئجز ایکس بیس پروگرامنگ لینگوئج فیملی چوتھی نسل کی پروگرامنگ لینگوئجز 2001 میں بنائی گئی