(فصل اول)
مقدمه
در اینجا لازم به ذکر است برخی ویژگی های نرم افزار را بررسی کنیم . مدتها پیش برنامه نویسان از زبانهای ساده مثل بیسیک یا پیچیده چون اسمبل استفاده می کردند . اما turbo pascal با داشتن کامپایلر قوی توانست جای خود را در برنامه ها تثبیت کند و به خوبی جلوه گر شود . با وجود Win3.1 و Windows95 محدوده برنامه نویسان گسترده تر شد . اینک آنها از برنامه های پیچیده ای چون C++ و یا ویژوال بیسیک استفاده کنند . ظهور Visul Basic تحول عظیمی در برنامه نویسی ایجاد کرد چون قبل از آن برنامه نویس فقط از طریق کدنویس صورت می گرفت و شیوه جدیدی از برنامه نویسی ویژوال (Visual programming) یا برنامه نویس بصری را بوجود آورد .
زبانهای برنامه نویس علاوه بر کد نویسی از امکانات بصری استفاده می کنند و از کد نویس از قسمتهای مهم برنامه استفاده می شود .
مثلاً برای ساختن یک دکمه کوچک با استفاده از پاسکال باید دستورات زیر را اجرا می کردید :
Window[20,10,30,13] ;
Textbackground[1] ;
Text color[14] button 1
Clrscr ;
Write ['button']
اما ویژوال فقط کافی است مولفه بصری آن را با موس انتخاب کرده و روی فرم قرار دهید . زبان ویژوال سادگی ، سرعت و امکانات فراوان دارد .
یکی دیگر از زبانهای ویژوال دلفی است . دلفی از یک کامپایلر اصیل برخوردار است یعنی می تواند برنامه ای با فایل اجرایی مستقل ایجاد نماید . سرعت برنامه های دلفی بالا می باشد و علت آن این است که دلفی از پاسکال شی گرا (object pascal) استفاده می کند . دلفی بانکهای اطلاعاتی ، برنامه های کاربردی ، برنامه های گرافیکی و چند رسانه ای را در بر می گیرد . در دلفی دسترسی به Data Access سریع صورت می گیرد . در دلفی نه تنها از جداول اطلاعاتی استفاده می کنید بلکه از جداول دیگر چون paradox و غیره نیز می توانید استفاده کنید .
پنجره های موجود در دلفی
در دلفی با چهار اساس روبرو هستید . پنجره اصلی یا Main Window ، پنجره طراح فرم یا Form Designer ، پنجره ناظر اشیاء یا object Inspector و پنجره ویرایشگر کد یا Code Editor پنجره اصلی شامل نوار منو که در ردیف بالا قرار دارد ، نوار ابزارها که در زیر نوار منو و لوح مولفه ها که در سمت راست نوار ابزارها می باشد . با کلیک برروی هر منو کادر کرکره آن باز می شود . Component panel (لوح مولفه ها) از برگنشان های متعددی تشکیل یافته است و هر کدام حاوی مولفه هایی می باشند .
پنجره طراح فرم (form Designer)
با استفاده از این پنجره می توان خصوصیات هر شی را تغییر داد . در روی فرم خطوطی وجود دارد که می توان با استفاده از آنها جای اشیاء را دقیق تنظیم کرد . با استفاده از این پنجره می توان فرمها را ایجاد و یا ویرایش کرد.
پنجره ناظر اشیاء (object Inspector)
هر چیزی را که داخل فرم قرار دهیم یک شی حساب می شود . با استفاده از این پنجره می توانید خصوصیات (Properties) و همچنین عکس العکل های شی در برابر رویدادها را تنظیم نمایید . در قسمت بالای پنجره ناظر اشیاء شی فعال (شیئی که در حال انتخاب است) نشان داده می شود . این پنجره دارای دو جدول properties و Event می باشد . در properties خصوصیات شی انتخاب شده نشان داده می شود . به فرض خاصیت Caption که عنوان می باشد را تغییر می دهیم و نام آن شی را نیز همزمان تغییر می کند . کلیک کردن بر روی یک دکمه یک رویداد به حساب می آید . (onclick)
پنجره ویرایشگر کد (Code Editor)
برنامه نویسی حقیقی در این قسمت صورت می گیرد . در اینجا کدهای موردنظر را درج ، ویرایش و یا مشاهده می کنید . اگر شی به فرم اضافه کنید دلفی به طور خودکار کدهای آن را اضافه می کند . استفاده از الگوهای کد نویس می تواند کار شما را سریع انجام دهد . این کار را می توانید با فشردن Ctrl+j در محل موردنظر الگوها را ملاحظه کنید .
حرکت در پنجره
برای سرعت بیشتر کار می توان با حرکت در پنجره ها به روشهای بهتر عمل کرد . با فشردن F12 پنجره ویرایشگر کد ظاهر می شود حال اگر دوباره این کار راانجام دهید (F12) ، پنجره طراح فرم ظاهر می شود . کلید F11 پنجره ناظر اشیاء را فعال می کند و حال با کلیدهای جهت بالا و پایین می شود در این پنجره بالا و پایین رفت .
(فصل دوم)
انواع فایلها در دلفی
یک پروژه از فایلهای مختلفی ایجاد می شود . یکسری در هنگام ایجاد و یک سری در هنگام کامپایل و اجرا بوجود می آیند .
فایل پروژه (project File)
فایل واحد (unit File)
فایل فرم (Form File)
فایل منبع (Resource File)
فایل اختیارات پروژه (Project option File)
فایل پشتیبان (Backup File)
فایل اجرایی (Executable File)
1-فایل پروژه (Project File) به هنگام طراحی ایجاد می شود و دارای پسوند dpr می باشد و اصلی ترین فایل برنامه کاربردی می باشد . یک فایل پروژه را به ندرت ویرایش خواهید کرد .
2-فایل واحد (unit File) فایلهای منبع پاسکال هستند و پسوند pas دارند و محل ذخیره کدهای برنامه می باشند .
3-فایل فرم (Form File) تصویر دودویی از فرم می باشند . هنگامی که یک فرم جدید ایجاد می کنید دلفی یک فایل فرم با پسوند dfm و یک واحد پاسکال برای فرم شما ایجاد می کند . در واقع فایل فرم محل ذخیره اطلاعات مربوط به فرمها می باشد .
4-فایل منبع (Resource File) حاوی داده دودویی هستند که معمولاً منبع نامیده می شوند و دارای پسوند res می باشند . این فایلها خودکار توسط دلفی ایجاد می شوند و حاوی نشان های پروژه و اطلاعاتی درباره نگارش برنامه ، اطلاعات مربوط به نوع مکان نماها و همچنین اطلاعات مربوط به تصاویری که در برنامه استفاده شده اند می باشد .
5-فایل اختیارات پروژه (project option file)در واقع مکان ذخیره انتخابهای شما در کادر محاوره ای Project option یا اختیارات پروژه است . این فایل زمانی ایجاد می شود که پروژه خود را ذخیره کنید و دارای پسوند dof می باشد . هر تغییری در کادر محاوره ای project options در این فایل ذخیره می شود .
6-فایل پشتیبان (Backup File) هنگامی که یک پروژه را ذخیره می کنید فایلهای پروژه و واحد با پسوند dpr و pas ذخیره می شوند . در هنگام کار با پروژه فایل با همان نام ولی با پسوند ~dp برای فایل پروژه و پسوند ~pa برای فایل واحد ذخیره می شود . برای فرم نیز فایل پشتیبان با پسوند ~df ایجاد می شود .
7-فایل اجرایی (Executable File) مهم ترین نوع فایلها می باشد . در هنگام اجرا این پروژه کامپایل می شود و در همان زمان فایل اجرایی با همان نام پروژه و با پسوند exc ایجاد می شود .
مدیریت فایلهای یک پروژه
هنگام ایجاد یک برنامه جدید (New Application) در واقع یک پروژه جدید آغاز می شود و این پروژه مدیریت فایلهای مختلف و قسمتهای مختلف برنامه را بر عهده دارد . یک پروژه می تواند دارای چندین فایل اجرایی و dll باشد . یک گروه پروژه (project group) را برای کنترل بیشتر روی برنامه و سازماندهی برنامه در نظر می گیریم . از منوی View مدیر پروژه (Project Manager) را احضار می کنند . در آن پنجره پروژه و واحد موردنظر آن دیده می شود . ما در اینجا می توانیم فایلهای خود را در مسیر دلخواه ذخیره کنیم.
نحوه استفاده از مولفه ها
در دلفی راههای مختلفی برای اضافه کردن مولفه به فرم وجود دارد . یک پراه کلیک روی مولفه و بعد کلیک روی فرم می باشد . راه دوم کلیک کردن روی مولفه و کلیک روی فرم و نگه داشتن دکمه موس تا اینکه اندازه دلخواه خود را ایجاد نماییم . سومین راه دوبل کلیک کردن روی آن مولفه می باشد که خودکار به روی فرم انتقال می یابد . با Shift و کلیک روی مولفه نیز می توان مولفه را در حالت قفل در آورد و روی فرم کلیک کرده تا به تعداد دلخواه از مولفه روی فرم ایجاد شود . برای انتخاب مولفه های روی فرم نیز می توان با کلیک روی صفحه و کشیدن به سمت دلخواه مولفه های دلخواه خود را انتخاب کرد و بازدن کلید delete آنها را پاک کرد و یا با گرفتن Shift و کلیک کردن روی مولفه های دلخواه ، آنها را انتخاب کرد . برای تغییر مکان مولفه ها نیز می توان روی آنها کلیک کرده و دکمه موس را نگه داشت و به جای دلخواه ببریم . و یا اینکه با گرفتن کلید Ctrl و زدن کلید جهت آن را پیکسل به پیکسل جا به جا کرد . از طریق پنجره ناظر نیز می توان مکان و اندازه مولفه را تغییر داد . با کلید Shift و جهت نیز اندازه تغییر می کند .
ویژگی های محتوایی مولفه ها
شامل موقعیت ، مشاهده و خاصیت توارثی می باشد . به فرض یک panel روی فرم ایجاد کرده و سه Button نیز روی آن ایجاد می کنم . اگر panel جابجا شود دکمه های روی آن نیز جا به جا می شود که این نشان از خاصیت توارثی (پدر فرزندی) می باشد . اگر خاصیت Visible (مرئی) مولفه panel را به false تبدیل کنیم در موقع اجرا برنامه هیچ یک از مولفه ها دیده نمی شود . حال اگر خاصیت font مولفه را عوض کنیم ، می بینیم که font دکمه ها نیز تغییر می کند . پس همه اینها نشان از خاصیت توارثی می باشد .
برای اینکه خاصیت تثبیت را تغییر دهیم باید مولفه های روی فرم را انتخاب کنیم و در object Inspector خاصیت Anchors را انتختاب کرده و همه چهار طرف را به حالت true در آوریم و یا به حالت دلخواه خود درآوریم .
خصوصیات پنجره ناظر اشیاء
شامل خواص ساده ، شمارشی ، دارای کادر ویرایشگر و مجموعه ای می باشد.
خواص ساده مثل Caption (عنوان) است . خواص شمارش (گزینه ای) مثل Align (ترازبندی) خاصیت سوم مثل font و خاصیت مجموعه ای مثل +Anchors می باشد . اگر چند مولفه مثلاً یک panel و یک Button داخل فرم قرار داده باشیم وهمه را انتخاب کنیم ، خواهیم دید که فقط خصوصیات مشترک بین آنها نمایش داده می شود و یکسری حذف می شوند .
کتابخانه مولفه های تصویری (VCL)
از مولفه ها (Components) برای طراحی نمای کاربر استفاده می شود . در دلفی مولفه ها در کتابخانه ای به شکل جداگانه ذخیره می شوند . این کتابخانه را کتابخانه مولفه های تصویری (Visual Component Library) پایه اختصار (VCL) می گویند . مولفه های VCL از ویژگی موروثی برخوردارند .
معرفی مختصر برگنشان ها
Standard : مولفه هایی وجود دارد که اکثر برنامه ها کاربرد دارند .
Win 32 : با هجده مولفه روبرو هستیم که کنترل های ویژه ویندوز 32 بیتی را در اختیار ما قرار می دهند .
System : حاوی مولفه ها مهمی است که می توانیم بوسیله آنها از امکانات ویندوز بهتر استفاده کنیم . مثل timer و Mediaplayer .
Data Access : از برگنشانهای مهم می باشد . در این برگنشان با مولفه های برای دسترسی به جداول بانک اطلاعاتی روبرو هستیم .
Data Control : برای کنترل وضعیت داده هایی استفاده می کنیم که توسط مولفه های برگنشان Data Access به آن دست یافته بودیم . در واقع همان مولفه های Standard می باشد ولی مخصوص بانکهای اطلاعاتی است .
Addditional : بوسیله این مولفه ها می توانیم ویژگی های خاصی را به رابط کاربرمان اضافه کنیم .
(فصل سوم)
آشنایی با مقاهیم بانکهای اطلاعاتی
بانک اطلاعاتی مجموعه ای سازمان یافته از داده های اطلاعاتی است که در چند فایل ذخیره می شود . فلسفه یک بانک اطلاعاتی انجام عمل ذخیره و بازیابی اطلاعات است .
فیلد (Field) : به هر مشخصه یک فیلد گفته می شود . مثل نام ، نام خانوادگی و …
روکورد (Record) : به مجموعه ای از این فیلدها که یک شی را به صورت کامل معرفی کند رکورد گویند .
جدول (table) : به مجموعه ای از رکوردها که به طور سازمان یافته باشند جدول گویند . هر جدول در غالب یک فایل ذخیره می شود . BOF به آغاز فایل که همان رکوردها می باشد ، گویند و EOF به انتها گویند .
فیلد کلیدی : فیلدی است که رکورد را به صورت یگانه تعریف می کند . به فرض شماره دانشجویی می تواند فیلد کلیدی باشد . از فیلد کلیدی برای ارتباط بین جداول استفاده می شود . مثلاً با شماره دانشجویی می توان به یک رکورد خاص دست پیدا کرد . می توان از چند فیلد به عنوان یک فیلد کلیدی استفاده کرد .
Index (شاخص گذاری) : با این می توان اطلاعات را بر اساس یک فیلد مرتب کرد . مثلاً اگر بخواهیم اطلاعات یک جدول بر حسب نام خانوادگی مرتب شود، نام خانوادگی را به عنوان Index معرفی می کنیم .
ساختار بانک اطلاعاتی در دلفی :
در دلفی با دو نوع مولفه روبرو هستیم :
مولفه های بصری (Visual Componet)
– مولفه نمایش تصویر (Image)
– مولفه نمایش داد ها (DBGrid)
– مولفه کادر نمایش متن (Text Box)
مولفه های غیربصری (Nonvisual Component)
به هنگام اجرا دیده نمی شوند و تنها اثر آنها دیده می شود .
– جدول ها (table)
– گزینه های پرس و جو (Query)
منبع داده ها (Data Source) : مولفه ای غیربصری است که بعنوان میانجی میان مجموعه داده ها و مولفه های بصری عمل می کند و هدف اصلی آن این است که تغییرات در برنامه را به سادگی امکان پذیر می سازد .
نام مستعار (Alias) : یک نام متسعار برای پوشه خاصی است که در مسیر ویژه ای قرار گرفته است . در یک بانک اطلاعاتی مجموعه ای از مولفه های بصری و غیربصری دیده می شود .
ایجاد یک بانک اطلاعاتی Data Set (مجموعه داده ها) : آخرین پل ارتباطی بین سطح فیزیکی ذخیره سازی اطلاعات با منبع داده ها می باشد که معمولاً شامل جداول و روالهای ذخیره شده است . همیشه بیاد داشته باشید که در خواص Data Source باید Data Set را به جدول مربوطه آن پیوند دهید و در خو.اص table باید Data base Name را نیز انتخاب کنیم و table Name آنرا همان جدولی را که ساخته ایم ، انتخاب می کنیم .
DBGrid (شبکه نمایش داده ها) : برای نمایش داده ها استفاده می شود .
DBNavigator (پیمایش داده ها) : برای مرور و بررسی کردن روی داده ها و ایجاد تغییرات در آنها استفاده می شود. DBGrid و DBNavigator باید به منبع داده اتصال پیدا کند تا بتوانند اطلاعات را بررسی کرده و نمایش دهند . برای اینکار Data Source آنها را در جدول ناظر اشیاء به Data Source مربوطه الحاق نماییم . حالت Active ، جدول موردنظر نیز باید true باشد .
فیلدهای ثابت (Persistent fields)
فیلدهای ثابت دارای یک ویژگی خاص می باشند ، هنگامی که از معجزه گر غرم استفاده می کنیم همه فیلدهایی که ایجاد می شوند از نوع ثابت می باشند. روش ایجاد این فیلدها به صورت زیر می باشد :
روی table موردنظر دو بارکلیک می کنیم و کادر ویرایشگر فیلد ظاهر می شود . حال روی آن راست کلیک می کنیم و Add Fields را انتخاب می کنیم . سپس فیلدهای موردنظر را انتخاب کرده و روی OK کلیک می کنیم . پس این فیلدهای انتخاب شده به عنوان فیلد ثابت در نظر گرفته می شوند و در table موردنظر این فیلدها بوجود دارند . توجه شود که یک فیلد را نمی توان دوباره انتخاب کرد و اگر از خاصیت persistent Fields استفاده نشود ، همه فیلدها به طور خودکار به اضافه می شوند .
کنترل های بانک اطلاعاتی
مولفه DBImage برای نشان دادن تصاویر داخل بانک می باشد . اگر خاصیت Stretch آنرا به حالت true بگذاریم ، تصاویر به طول کامل نشان داده می شوند . مولفه DBMemo را برای نشان دادن متون از داخل بانک اطلاعاتی استفاده می کنیم . اگر بخواهیم متون داخل DBMemo را به طول کامل ببینیم باید خاصیت ScrollBars آن را به SSVertical تبدیل کنیم تا یک پیمایشگر عمودی در کنار آن ظاهر شود و بتوانیم آنرا به پایین حرکت داده و متون را کاملاً تماشا کرد .
در مولفه DBNavigator اگر بخواهیم برخی کلیدهایش را از حالت فعال خارج کنیم باید در پنجره Object Inspector خاصیت +VisibleButtons را باز کرد و دکمه های غیرضروری را به حالت False تبدیل می کنیم .
اگر بخواهیم داخل فرم رکوردهای بیشتر وت سازمان یافته ای ایجاد کنیم ، از مولفه DBCtrlGris استفاده می کنیم که این خود می تواند حاوی مولفه های دیگر باشد . در پنجره ناظر اشیاء می توان خاصیت ردیف های آن را تغییر داد پس RowCount را انتخاب می کنیم و آنرا تغییر می دهیم . در پنجره Projectoption و در برگنشان Forms می توان Mainform را تغییر داد .
(فصل چهارم)
فیلدهای خاص
بر دو نوع هستند :
1-فیلدهای جستجو (Lookup Fields)
2-فیلدهای محاسباتی (Calculate Fields)
از طریق فیلدهای جستجو رکوردها را به سرعت پیدا می کنیم . خاصیت BiDiMode که در اکثر مولفه ها وجود دارد ، نشانه این است کمه حروفو عنوان آنها از چپ به راست یا راست به چپ و یا غیره باشد . اگر بخواهیم یک فیلد جستجو در نظر بگیریم مثلاً بر حسب نام خانوادگی جستجو کند باید یک table و یک DataSource روی فرم گذاشته و پس کارهای ارتباطی آنها ، روی table دوبل کلیک کرده تا پنجره ظاهر شود و سپس روی آن راست کلیک می کنیم و گزینه Add all fields را انتخاب می کنیم . حالا باید یک فیلد جدید ایجاد کنیم . پس دوباره راست کلیک می کنیم و گزینه New Field را انتخاب می کنیم . نام فیلد جدید را درج می کنیم و نوع آن را String (چون نام خانوادگی را می خواهیم) و سایز آنرا نیز انتخاب می کنیم و سپس گزینه Lookup را تیک می زنیم .و بعد از اینها KeyField و Dataset را طبق روال جداول انتخاب می کنیم . فیلد کلیدی جدول دوم را در Lookup Keys تعیین می نماییم و در ResultField ، فیلدی که می خواهد به عنوان نتیجه نهایی انتخاب شود (نام خانوادگی) را بر می گزینیم . حال OK را می زنیم . سپس در پنجره ویرایشگر جدول روی فیلدی که تازه وارد کردیم کلیک می کنیم و دکمه موس را پایین نگه می داریم و آنرا روی فرم می کشیم ، می بینیم که نام خانوادگی فرد ظاهر شد .
با اجرای برنامه و انتخاب نام خانوادگی می توان مشخصات دیگر آن فرد را در نظر گرفت .
برای فیلدهای محاسباتی در قسمت Event روی oncalcField دوبل کلیک کرده و عملیات موردنظر خود را پیدا می کنیم .
ویرایش فیلدها
اگر در برنامه خود از یک DBGrid استفاده کردید و خواستید که عنوانهای آن را فارس کنید باید در پنجره ویرایشگر جدول آن فیلد موردنظر را انتخاب کنید و خاصیت Display Label آنرا به صورت فارسی وارد کنید . Alignment برای ترازبندی آنها به حالت مرکز یا چپ و یا راست می باشد . Name را نیز می توان تغییر داد . با تغییر آن عنوان سرستون تغییر نمی یابد . اگر خاصیت Readonly (غفط خواندنی) را به حالت true در آوریم . این فیلد هنگام اجرای برنامه خاصیت ویرایشی خود را از دست می دهد . خاصیت Visible (مرئی بودن) اگر در حالت False باشد فیلد موردنظر دیگر دیده نمی شود . خاصیت Hint برای توضحات مختصری که در زیر نشانگر موسه هنگام قرار گرفتن روی دکمه ای ظاهر می شود ، می باشد . برای این کار جلوی خاصیت Hint عنوان را که بای نشان داده شود را می نویسیم و سپس خاصیت ShowHint را true می کنیم .
کار با Database Desktop :
نحوه ایجاد و جداول اطلاعاتی را بررسی می کنیم . این نرم افزار در حالت typical نصب Delphi نصب می شود . بوسیله DatabaseDesktop می توانید جداول و Query و کدهای SQL موردنظر خود را ایجاد نمایید . برای ایجاد جدول جدید از منوی File گزینه Newtable را انتخاب می کنیم و حالت Paradox7 را انتخاب می نماییم . پنجره Create paradox 7 table نمایان می شود . در این مکان می توان فیلدهای موردنظر خود را وارد کنیم . نوع آن را با راست کلیک انتخاب می کنید و سپس Size را وارد کرده اگر در قسمت Key ، علامت * را (بوسیله Space) بزنیم این فیلد کلیدی است . توجه کنید که دو یا بیشتر هم می توان کلید داشت . در قسمت tableproperties می توانید امکانات جدول را ملاحظه نمایید . بوسیله Secondary Indexes می توانید Index ها دیگری برای فیلد جاری ایجاد کنید تا داده ها به ترتیبی بر خلاف داده های کلیدی قبلی مرتب شوند . لازم به ذکر است اگر فیلدی به عنوان کلید انتخاب شود داده ها بر اساس آن مرتب می شوند . اگر بخواهیم داده ها بر اساس ترتیبی غیر از ترتیب کلید اصلی اعمال می کند مرتب شوند ، از Secondary Indexes استفاده می شود که روی دکمه Define کلیک کرده و دنباله کارهای لازک را انجام می دهیم . حال اگر بخواهیم پس از ساختن جدول اطلاعات را وارد کنیم ، ابتدا جدول را open می نماییم و سپس روی کلید میان بر Edit data که آخرین کلید راست کلیک می کنیم و اطلاعات را طبق قلم دلخواه (فارسی) وارد نماییم . البته شایان ذکر است در منوی Edit گزینه preferences… کلیک می کنیم و نوع قلم را عوض می کنیم . برخی مواقع احتیاج داریم که جدول را ویرایش کنیم و ساختار جدول را عوض کنیم . برای این کار از منوی table گزینه Restructure… را انتخاب می کنیم . کادری شبیه کادر اولیه گشوده می شود و می توانید آنها را ویرایش کنید .
در انتها پس از توضیحات نسبی در موارد نرم افزار Delphi و نوشتن برنامه سیستم کتابخانه بوسیله این نرم افزار ، برنامه کتابخانه را با توسط نصب برنامه Installshield برنامه Delphi5 به صورت نصبی در آورده ام و بعد از این قسمت شاهد Code Editor های یونت های سیستم کتابخانه به صورت پرینت خواهید بود .
1
31