ویژوال فاکس‌پرو

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

تاریخچه[ویرایش]

ویژوال فاکس پرو یک زبان برنامه نویسی داده محور شی گرا و روال محور است که توسط مایکروسافت تهیه شده است. در سال 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[ویرایش]

تا جدول خالی مورد نظر را ببینید. اگر نوار وضعیت خالی است نگران نباشید. اگر زمانی که شما دستور مورد نظر را تایپ می کنید، هیچ جدولی باز نباشد آنگاه فاکس یک درخت از مسیرها را نشان داده از شما تقاضا می‌کند که یک جدول را انتخاب کنید.

اضافه کردن تعدادی رکورد[ویرایش]

بر خلاف access شما نمی‌توانید یک رکورد جدید را از طریق تایپ کردن در یک خط خالی در یک سلول ایجاد کنید. حتماً باید append new record را از منوی table انتخاب کنید. این منو زمانی که یک پنجرهٔ مرورگر روی میزکار باز است، ظاهر می‌شود.

این کار را سه یا چهار بار انجام داده و مقداری اطلاعات را به جدول اضافه کنید تا هنگام طراحی یک فرم، چیزی داشته باشید که با آن کار کنید.

طراح فرم[ویرایش]

درست مانند هر کدام از ابزارهای توسعهٔ ویندوز، فرم پایه‌ای‌ترین رویه برای کاربر است . فاکس پرو یک ویزارد فرم دارد که به سرعت یک فرم با ظاهر خوب تولید می‌کند.

ایجاد یک فرم[ویرایش]

روی tab document مدیر پروژه کلیک کرده سپس روی forms کلیک راست کنید.new file را انتخاب کرده سپس از محاوره مورد نظر new form را بزنید. form designer ظاهر خواهد شد. تصویر بالا from designer و نوار ابزار form controls را نشان می‌دهد در حالی که ماوس به کنترل button اشاره می‌کند.

اضافه کردن داده[ویرایش]

فرم باید به یک جدول داده وصل شود. روی فرم کلیک راست کرده data environment را انتخاب کنید. یک درخت مسیر باز خواهد شد به طوری که بتوانید یک جدول را انتخاب نمایید. روی CD.dbf کلیلک کنید. سپس محاورهٔ add table راببندید. با این کار فقط فرم و پنجره‌های data environment باید باقی بمانند.

از ماوس برای انتخاب شش فیلد از data envioronment استفاده کنید و آنها را به داخل فرم بکشید. اگر شما این کار با استفاده از یک کلیک چپ معمول انجام دهید فاکس پرو به طور خودکار یک کنترل شبکه‌ای برای فیلدها تولید خواهد کرد. وقتی که فایل‌ها را رها می کنید یک منو به همراه یک گزینه برای نشان دادن فیلدها به عنوان یک سطر یا چند کنترلی ظاهر خواهد شد. گزینهٔ create multiple controls here را انتخاب کنید. قبل از این که فیلدها را رها کنید مطمئن شوید که ماوس را به گوشهٔ بالا سمت چپ فرم حرکت داده‌اید. بعضی از فیلدها کاملاً عریض هستند و شما مجبور خواهید شد که فرم را به اندازه‌ای عریض تر کنید تا آنها جا شوند. در نهایت data environment را بسته، فقط form designer را روی صفحه نمایش باقی بگذارید.

اجرای فرم[ویرایش]

روی علامت تعجب قرمز رنگ بر روی نوار ابزار کلیک کرده یا این که run form را از منوی form انتخاب کنید. از شما تقاضا می‌شود که فرم را قبل از اجرا ذخیره کنید. فاکس پرو form1.scx را پیشنهاد خواهد داد اما شما آن را به myCD.scx تغییر دهید.

مسیریابی[ویرایش]

تمام کنترل‌های اولیه روی نوار ابزار form controls آماده هستند. نوار ابزار فاکس پرو آشنا به نظر می‌رسد اما تفاوت‌های آشکاری بین این نوار ابزار و نوار ابزارهای مشابه در access و visual basic وجود دارد. برای اضافه کردن یک کنترل به فرم باید روی نوار ابزار یک بار کلیک کرده سپس یک بار روی فرم کلیک کنید. لازم به ذکر است با حرکت برعکس هیچ اتفاق نخواهد افتاد.

اضافه کردن یک دکمهٔ close[ویرایش]

روی کنترل دکمه روی نوار ابزار کلیک کنید (پنجمین دکمه از سمت چپ ) و سپس آن را روی سمت راست پایین فرم رها کنید. روی دکمهٔ مورد نظر دابل کلیک کرده تا یک ویرایشگر روی کد موردنظر باز شود که هرگاه دکمه کلیک شود اجرا می‌شود. این خط از کد را درون پنجره تایپ کنید :

ThisForm.Release  

ThisForm معادل فاکس پرو برای Me در access است و به فرمی اشاره می‌کند که این شئ را در بردارد. همچنان که یک نقطه را تایپ می کنید متدهای ممکن ظاهر می‌شود. با فشردن ctrl+w یا کلیک بر روی دکمه save بر روی نوار ابزار پنجرهٔ کد را بسته و ذخیره کنید. سپس ctrl+e یا علامت تعجب را برای اجرای فرم فشار دهید. با فشردن دکمه فرم بسته خواهد شد و شما را به form designer باز خواهد گرداند .

ویژگی‌های کنترل[ویرایش]

فاکس پرو یک سیستم شئ گرای انطاف پذیر است که ویژگیهای بسیار گشترده و متنوعی دارد. شما می‌توانید تعدادی که ظاهر می‌شود را تغییر دهید. به طوری که فقط آنهایی را ببینید که از مقدار پیش فرض تغییر پیدا کرده‌اند. بدین منوال که روی اسم command1 در بالای پنجرهٔ properties کلیک راست کرده و nondefault properties only را از منو انتخاب کنید. نکتهٔ قابل توجه در اینجا این است که ویژوال فاکس پرو بر خلاف access و basic که با تغییر نام یک ویژگی، ارتباطات به متدهای آن نیز قطع می‌شود بسیار انعطاف پذیر است!

دکمه‌های مسیر یابی[ویرایش]

همان تکنیک یادشده را برای اضافه کردن دو دکمهٔ بیشتر به فرم دنبال کرده و ویژگی caption از آنها را به "Prev" و "Next" تغییر دهید. روی دکمهٔ prev دابل کلیک کنید و این کد را داخل رویداد مربوط به کلیک آن بنویسید. کد سبز رنگ comment است اگر یک خط با ستاره شروع شود آنگاه هر چیزی که در آن خط بیاید یک comment خواهد بود. پنجرهٔ edit را بسته روی دکمهٔ next دابل کلیک کنید و این کد بسیار شبیه به کد قبلی را درون رویداد کلیلک آن تایپ کنید دو دکمهٔ دیگر را برای رفتن به اولین وآخرین رکورد اضافه کنید. دستورهای فاکس پرو از قرار زیر هستند:

و

اجرای فرم[ویرایش]

اجرای فرم همانند بحث مطرح شده در گفتار قبلی می باشد.

ارتقای مسیر یابی[ویرایش]

این دکمه‌های مسیر یابی بیشتر ار آن ساده هستند که در کاربرد واقعی مورد استفاده قرار بگیرند. آنها به کد اضافه ای نیاز دارند تا شما این تلاش بیهوده را انجام ندهید که به مکانی قبل از اولین رکورد یا بعد از آخرین رکورد دسترسی داشته باشید.

ساخت یک فایل قابل اجرا[ویرایش]

مرحلهٔ آخر ساختن یک چیز قابل اجرا است. بدین منظور ما به مدیر پروژه دوباره نیاز داریم. روی آن، بر روی دکمهٔ Build کلیک کنید .

گزینه‌های build[ویرایش]

نسخهٔ استاندارد ویژوال فاکس پرو به شما اجازه می‌دهد تا dllها و فایل‌های اجرایی بسازید که بتوانند به راحتی توزیع شوند. گزینهٔ win32 executable را انتخاب کنید و تیک display errors را بزنید .سپس ok را بزنید تا فایل قابل اجرا ساخته شود

اجرای فایل قابل اجرا[ویرایش]

شما می‌توانید فایل قابل اجرا را از داخل محیط توسعهٔ فاکس پرو با انتخاب Do از منوی program و یا باتایپ Do cd.exe از پنجرهٔ فرمان اجرا کنید. (دستورات دیگر برای اجرای فایل cd.exe! یا RUN cd.exe) اگر بخواهید یک فایل قابل اجرا را از خارج از محیط فاکس پرو اجرا کنید متوجه خواهید شد که با این کار برنامهٔ موردنظر یک لحظه روی صفحة نمایش ظاهر می‌شود و سپس ناپدید می‌گردد. مجبوریم حلقهٔ پردازش رویداد را شروع کنیم. به طوری که فاکس پرو به محض این که فرم نمایش داده می‌شود برای رویدادهای موس وصفحه کلید منتظر بماند. از مدیر پروژ فرم را باز کرده روی سطح خود فرم دابل کلیک کنید یک پنجرهٔ ویرایش برای رویداد بارگذاری فرم موردنظر باز خواهد شد. روی جعبهٔ نشان دهندهٔ "load" کلیک کرده “activate” را از لیست رویدادها انتخاب کنید. آنگاه کد زیر را در رویداد activate تایپ کنید: Read Events این عمل حلقهٔ پردازش رویداد را شروع خواهد کرد اما در عین حال ما نیاز داریم حلقه را زمانی که فرم بسته می‌شود متوقف کنیم. برای این کار روی دکمهٔ close دابل کلیک کرده، رویداد کلیک آن را به صورت زیر تغییر بدهید: This Form.Release() Clear Events بعد از همهٔ این‌ها فرم را بسته، فایل قابل اجرا را مجدداً بسازید. اکنون شما باید قادر باشید تا فاکس پرو را به طور کامل بسته به فایل قابل اجرای مورد نظر در مرورگر ویندوز راه پیدا کرده و با دابل کلیک کردن بر روی آن فایل قابل اجرای موردنظر را اجرا کنید.

منابع[ویرایش]

جستارهای وابسته[ویرایش]