زبان برنامه نویسی ویژوال فاکس پرو
Visual FOx Pro
تاریخچه
ویژوال فاکس پرو یک زبان برنامه نویسی داده محور شی گرا و روال محور است که توسط مایکروسافت تهیه شده است. در سال 1984، این زبان از زبان فاکس پرو (که اوایل با نام FoxBASE شناخته می شد) تولید شده توسط نرم افزار فاکس، مشتق شد. بعد از این که فن آوری های فاکس در سال 1992 با مایکروسافت ادغام شد امکانات جدید و پسوند visual را پیدا کرد. آخرین نسخهٔ فاکس پرو(2.6) تحت Mac OS، داس، ویندوز و یونیکس کار می کرد. ویژوال فاکس پرو 3.0، اولین نسخه ویژوال، پشتیبانی از platform را به Mac و ویندوز کاهش داد و نسخه های بعدی فقط تحت ویندوز بودند. نسخه کنونی ویژوال فاکس پرو تحت com است و مایکروسافت ابراز داشته که قصد ندارد که یک نسخه تحت .NET از آن ارایه کند. فاکس پرو به عنوان عضوی از خانواده زبان های xbase، که ساختاری بر اساس زبان برنامه نویسی dbase دارند، ظهور کرد.
Clipper و recital از دیگر اعضای خانواده زبان های xbase هستند. ویژوال فاکس پرو، که معمولا با نام اختصاری VFPدیده می شود به طور محکمی با موتور پایگاه دادهٔ ارتباطی خود گره خورده است که این امر باعث می شود توانایی های xBase برای فاکس پرو افزایش یابد و از پرسش های sql و عملیات کار با داده پشتیبانی کند. بر خلاف اکثر سیستم های مدیریت پایگاه داده، ویژوال فاکس پرو یک زبان برنامه نویسی پویا و با تمامی امکانات است که در نتیجه نیازی به یک محیط برنامه نویسی همه منظوره اضافی ندارد. ویژوال فاکس پرو نه تنها برای نوشتن برنامه های "چاق" مشتری بلکه برای میان افزارها و برنامه های تحت وب نیز کاربرد دارد. در اواخر سال 2002 این قابلیت که ویژوال فاکس پرو با استفاده از بسته تطبیق پذیری ویندوز wine بتواند روی لینوکس هم اجرا شود معرفی شد. در سال 2003 این مطلب شکایت مایکروسافت را درپی داشت که در آن ادعا شده بود که مستقرسازی کد فاکس پرو زمان اجرا روی ماشین های غیر ویندوز با گواهینامه "کاربر پایانی" متناقض است.
در دسامبر سال 2005، VFP برای اولین بار به جمع 20 رتبة اول در فهرست جمعیت برنامه نویسی تیوب راه پیدا کرد. در ماه مارس 2007 در رتبة 19 ام این فهرست بود که آن را تبدیل به یک زبان «ب» می کرد و در دسامبر 2008 به رتبة 23 ام نزول کرد. در ماه مارس 2007، مایکروسافت اعلام کرد که دیگر VFP 10 وجود نخواهد داشت بدین معنی که VFP 9 آخرین نسخة تجاری VFP تولید شده توسط مایکروسافت خواهد بود. البته پشتیبانی از نسخه 9 با ارائه بسته سرویس هایی که در تاریخ های 8 دسامبر 2005 و 11 اکتبر 2007 در اختیار قرار گرفت همچنان ادامه دارد. همزمان با اعلام رسمی پایان عمر، کار روی نسخه انتشاری بعدی تحت عنوان سدنا (نام یکی از سیارات کوتوله که به تازگی کشف شده بود) که روی پایه کد VFP 9 ساخته شده بود به تازگی آغاز شده بود و در نهایت در 25 ژانویة 2008 در اختیار عموم قرار گرفت. با همه این ها مایکروسافت اعلام کرده که هستة VFP همچنان به عنوان یک کد بسته باقی خواهد ماند.
نگاهی گذرا به فاکس پرو
در توالی مطالب زیر طراحی یک پایگاه داده ساده به همراه یک جدول و یک فرم را دنبال خواهیم کرد. پایگاه دادهٔ موردنظر ما جزئیات سی دی های برنامه نویسیمان را نگه می دارد. در اداره، بیش از هزار سی دی وجود دارد و ما نمی توانیم سی دی مورد نظرمان را پیدا کنیم. هر کدام یک شماره ID یکتا دارند و روی طبقه به ترتیب عددی چیده شده اند. اگر من همان سی دی “ویژوال اینتردو” را دوباره بخواهم آنگاه پایگاه داده به من اطلاع می دهد که کجا آن را بیابم. پایگاه داده همچنین شماره سریال و کلید ثبت نام را نگه می دارد و این امر در موقعی کمک می کند که شماره ID سی دی را نداشته باشیم.
مطلب با یک توصیف از رویة کاربردی ای موجود در ویژوال فاکس پرو شروع می کنیم. سپس یک جدول می سازیم، آنگاه یگ فرم آماده می کنیم تا اطاعات را در آن نمایش دهیم و در پایان نیز یک فایل قابل اجرا تولید خواهیم کرد. فاکس پرو در میان ابزارهای تولیدی مایکروسافت غیر معمول است. از این لحاظ که یک پوستهٔ خط فرمان نیز دارد. همان طور که ممکن است انتظار داشته باشید یک نوار ابزار نیز با تمام دکمه های معمول وجود دارد. اما همجنین با یک پنجرهٔ فرمان نیز روبرو هستید که در آن می توانید دستورات فاکس پرو را وارد کنید.
تصویر بالا قسمتی از محیط ویژوال فاکس پرو را به همراه چند خط از دستورات فاکس در پنجرهٔ فرمان نشان می دهد. پنجره در سمت چپ صفحه نمایش قرار دارد و در کاربرد معمول بزرگتر خواهد یود و اندازهٔ فونت کوچیکتری خواهد داشت تا مقدار بیشتری از هر دستور را نمایش دهد.
Intellisense
کلمات کلیدی این زبان به صورت حروف بزرگ و با رنگ آبی نمایش داده می شوند. این تنظیمات پیش فرض فاکس پرو است. به محض این که فاکس پرو کلمه ای که شما تایپ می کنید را تشخیص بدهد آن را با رنگ آبی نشان خواهد داد. اگر شما کلید space یا tab را فشار دهید فاکس پرو کلمهٔ مورد نظر را در صورت امکان برای شما کامل خواهد کرد و یک لیست از پارامترها و گزینه هایی که می تواند در ادامه آن دستور بیاید را به شما نشان می دهد. بر خلاف سایر زبان های مایکروسافت intellisense ویژوال فاکس پرو باز و مستند بوده – در واقع یک جستجو در یک جدول فاکس پرو – شما می توانید لغات مورد نظر خود را به این لیست اضافه کنید.
استفاده از پنجرهٔ فرمان
وقتی شما برای اولین بار می خواهید ویژوال فاکس پرو را یاد بگیرید ممکن است تحریک شوید تا پنجرهٔ فرمان را ببندید و فاکس پرو را در همان شکل "اشاره و کلیک" رایج در اختیار بگیرید. همان طوری که در اکسس این کار را انجام می دهید این امر ممکن است ، اما یک روش کند و محدود خواهد یود . فقط به عنوان یک مثال ساده ، شما می توانید از طریق انتخاب new از منوی file و سپس مشخص کردن این که شما یک فایل جدید از نوع کد می خواهید یک فایل برنامه جدید (ماژول کد ) ایجاد کنید. اما این کار بسیار سریعتر خواهد یود اگر شما در پنجرهٔ فرمان کلمهٔ mc را تایپ کرده و enter را بزنید!!
مدیر پروژه
مدیر پروژهٔ ویژوال فاکس پرو اجزای یک پروژه را کنترل می کند و به شما اجازه می دهد تا یک فایل اجرایی یا dll از آن بسازید. همچنین یک راه بسیار آسان برای شما فراهم می کند تا فایل های متعلق به برنامه، فرم ها، گزارش ها و کلاس ها را تولید و یا اصلاح کنید. به جای استفاده از منو یا پنجرهٔ فرمان برای باز کردن یک فایل شما می توانید به راحتی روی فایل موردنظر در project manager دابل کلیک کنید. این روش برای تمام انواع فایل کاربرد دارد. اگر یک فایل از نوع bmp را به پروژه اضافه کنید در نتیجهٔ این کار فاکس پرو، paint را در ازای دابل کلیک کردن باز می کند. با وجود این که مدیر پروژه بسیار شبیه پنجرة پایگاه داده متعلق به یک نسخة قدیمی تر از access می باشد، کد برنامه یا طرح اجزای پروژه را در برندارد. در واقع جدولی است از اطلاعات پروژه به همراه جزئیات فایل های مورد نیاز شامل این که این فایل ها کجا ذخیره شده اند و یا هر نوع توضیحاتی که بخواهیم به آنها نسبت دهیم. به این معنا که بسیاری از پروژه های پایگاه داده می توانند فایل های یکسانی را از زیر روال های مشترک یا کتاب خانه های کلاس به اشتراک بگذارند. با تایپ create proj در پنجرهٔ فرمان یک پروژهٔ جدید ایجاد کنید.
شکل بالا یک پروژهٔ خالی را نشان می دهد. همچنان که فایل هایی به پروژه اضافه می شوند گره هایی روی دید درختی گسترش پیدا می کنند. شش دکمه در سمت راست مدیر پروژه قرار دارد. سه تای اول به شما اجازه می دهد تا یک فایل جدید را ایجاد کنید ، یک فایل موجود را به پروژه اضافه کنید و یک فایل از پروژه را تغییر دهید. دکمه run یک فایل برنامه را اجرا خوهد کرد، یک فایل فرم را نمایش می دهد یا یک فایل گزارش را چاپ می کند. remove اشاره به یک فایل مورد نظر را از پروژه پاک می کند و build فایل های پروژه را داخل یک dll یا یک فایل اجرایی می سازد
استفاده از مدیر پروژه
اولین نکته برای کار با مدیر پروژه این است که بتوانیم آن را در اختیار بگیریم. اگر روی نوار عنوان کلیک کنیم می توانیم آن را به درون منوی اصلی بکشیم. اگر به یکی از فایل ها نیاز داشته باشیم باید روی tab موردنظر کلیک کنیم تا یک لیست پایین افتادنی ظاهر شود. با این کار مقدار زیادی فضا روی میز کار حفظ می شود. زمانی که مدیرپروژه شبیه عکس زیر باشد هیچ کدام از دکمه ها در نمایش کامل قابل دیدن نیستند ولی همة قابلیت ها روی یک منویی که از طریق کلیک راست کردن ظاهر می شود مهیا هستند. اگر در عین حالی که مدیر پروژه بسته شده است بخواهیم که یکی از صفحات را قابل دیدن نگه داریم باید آن tag را پاره کنیم. فقط کافیست روی caption آن کلیک کنیم و آن را روی میز کار فاکس پرو بیندازیم.
جدول های داده
فایل های جدول
بر خلافaccess یا sql saver فاکس پرو تمام جدول های پایگاه داده را تحت عنوان فایل های جدا از هم نگه می دارد. فیلدهای با طول ثابت در یک فایل با پسوند .dbf نگهداری می شوند. در حالی که داده های با طول متغیر گرافیک و اشیا ole پسوند .fpt دارند و index ها با پسوند .cdx ذخیره می شوند. این جداسازی خوبی ها و بدی هایی دارند اما در طی سالیان دراز اثبات شده است که قابل اتکا هستند .
طراحی یک جدول
ما اولین و مهم ترین فاز این فرایند را کنار می گذاریم و فرض می کنیم ساختار جدول قبلا نهایی شده است. این پروژه یک جدول خاص با عنوان CD با ساختار زیر دارد.
ایجاد یک جدول
روی tab مربوط بهdata از مدیر پروژه کلیک کرده، روی free tables کلیک راست می کنیم. New file را انتخاب کرده، new table را از کادر محاوره ای که ظاهر می شود انتخاب می کنیم. این محاوره به شما اجازه می دهد تا table wizard را شروع کنید که اگر برنامهٔ شما متناظر با یکی از template های آماده باشد می تواند بسیارمفید باشد. یک محاوره کاوشگر ظاهر خواهد شد که پیشهاد می کند تا یک جدول با نام table1.dbf ایجاد کنیم.
اسم مورد نظر را به CD.bdf تغییر داده، آن را در همان پوشه ای که فایل مدیر پروژه قرار دارد ذخیره کنید. یک پروژهٔ کاربردی نوعا فایل های خود را در یک ساختار درختی از مسیرها قرار می دهد. اما ما در اینجا برای سادگی همهٔ فایل ها رادر همان پوشهٔ فعلی قرار می دهیم. Table desingner ظاهر می شود. شش فیلد مورد نظر از لیست بالا را اضافه کرده، دکمهٔ ok را زمانی که تمام شده اید بزنید. دقت کنید که هیچ اندازه ای برای integer و فیلدهای date داده نشده است. بلکه ثابت هستند.
فیلد های خاکستری در سمت راست طراح فقط برای جدول هایی مهیا هستند که قسمتی از یک پایگاه داده باشند.
دیدن جدول
زمانی که شما table designer را ببندید باید یک ورودی شبیه این در نوار وضعیت در پایین صفحه نمایش ببینید.این نشان دهنددهٔ این است که جدول با نام CD باز است و برای استفاده انحصاری شما آماده است و در ضمن هیچ رکوردی را در برندارد. تایپ کنید :
Browse
تا جدول خالی مورد نظر را ببینید. اگر نوار وضعیت خالی است نگران نباشید. اگر زمانی که شما دستور مورد نظر را تایپ می کنید، هیچ جدولی باز نباشد آنگاه فاکس یک درخت از مسیر ها را نشان داده از شما تقاضا می کند که یک جدول را انتخاب کنید.