ویژوال فاکسپرو
از ویکیپدیا، دانشنامهٔ آزاد
فهرست مندرجات |
[ویرایش] تاریخچه
ویژوال فاکس پرو یک زبان برنامه نویسی داده محور شی گرا و روال محور است که توسط مایکروسافت تهیه شده است. در سال 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 از پنجره ی فرمان اجرا کنید. اگر بخواهید یک فایل قابل اجرا را از خارج از محیط فاکس پرو اجرا کنید متوجه خواهید شد که با این کار برنامه ی موردنظر یک لحظه روی صفحة نمایش ظاهر میشود و سپس ناپدید میگردد. مجبوریم حلقه ی پردازش رویداد را شروع کنیم. به طوری که فاکس پرو به محض این که فرم نمایش داده میشود برای رویدادهای موس وصفحه کلید منتظر بماند. از مدیر پروژ فرم را باز کرده روی سطح خود فرم دابل کلیک کنید یک پنجره ی ویرایش برای رویداد بارگذاری فرم موردنظر باز خواهد شد. روی جعبه ی نشان دهنده ی "load" کلیک کرده “activate” را از لیست رویدادها انتخاب کنید. آنگاه کد زیر را در رویداد activate تایپ کنید: Read Events این عمل حلقه ی پردازش رویداد را شروع خواهد کرد اما در عین حال ما نیاز داریم حلقه را زمانی که فرم بسته میشود متوقف کنیم. برای این کار روی دکمه ی close دابل کلیک کرده، رویداد کلیک آن را به صورت زیر تغییر بدهید: This Form.Release() Clear Events بعد از همه ی این ها فرم را بسته، فایل قابل اجرا را مجددا بسازید. اکنون شما باید قادر باشید تا فاکس پرو را به طور کامل بسته به فایل قابل اجرای مورد نظر در مرورگر ویندوز راه پیدا کرده و با دابل کلیک کردن بر روی آن فایل قابل اجرای موردنظر را اجرا کنید.
[ویرایش] منابع
http://www.alvechurchdata.co.uk/fox101intro.htm
http://www.alvechurchdata.co.uk/fox101env.htm
http://www.alvechurchdata.co.uk/fox101proj.htm
http://www.alvechurchdata.co.uk/fox101table.htm
http://www.alvechurchdata.co.uk/fox101form.htm
http://www.alvechurchdata.co.uk/fox101navig.htm
http://www.alvechurchdata.co.uk/fox101exe.htm
http://en.wikipedia.org/wiki/Visual_Fox_Pro
[ویرایش] جستارهای وابسته
|
|||||||||||
| مجموعهٔ ویژوال استودیو (ویرایش) |
|
ویژوال سی | ویژوال بیسیک | ویژوال فاکسپرو | ویژوال اینتردو | ویژوال سرسسیف |

