دلفی (401) معرفی Delphin افرادی بی نظیر و قدرتمند از شرکت Bor Landاست که ویژگی های منحصر به فرد ان "انعطاف پذیری Visudبودن شی گرایی و سادگی ان را نسبت به سایر محیط های برنامه سازی همچون Vb Cttمتماییز می نمایند دلفی بر اساس یک زبان شی گرای کامل به نام Pascad Objectتهیه شده است . با استفاده از دلفی قادر خواهیم بود تمام کارهای قابل انجام با سایر زبان های برنامه نویسی چون Ctt وVb را انجام داده و در عین حال با مشکلات کمتری در حین کار مواجه شوید. این ابزار شما را در تهیه و طراحی برنامه های کاربردی متنوع و همه منظوره با عملکرد بالا یاری میرساند . قبل از هر چیز لازم است تا نرم افزار دلفی را بر روی سیستم خود نصب نمایئد. ملزومات سیستمی مورد نیاز برای کار با Del Phi 2005 عبارتنداز:
پردازنده پنتیوم با سرعت حداقل Mht233
حداقل Mb64 حافظه اصلی ( Ram )
حداقل Mb520 فضای خالی بر روی هلرد دیسک
سیستم عامل Windows Xp یا 2000 و یا 98
البته یکی از فریتهای بزرگ محیط Delphi 2005 این است که میتوانید در ان با زبانهای برنامه نویسی دیگری همچون ( ) نیز برنامه نویسی انجام دهید.
از انجا که کد نویسی از محیط دلفی عینا Syntax مشابه با پاسکال را دارد از ذکر جزییات و روش های برنامه نویسی در این جا صرف نظر میکنیم و مبنای کار را بر اساس کلیات برنامه نویسی پاسکال اما در سطحی بسیار ساده تر ( بدلیل وژوال بودن ان ) قرار میدهیم.
کتابخانه وژوال دلفی شامل اشیاء از پیش اماده شدهای است که ویژگیهای مورد استفاده متداول در برنامه های کاربردی Windows را برای ما فراهم بی سازند که این امر باعث کاهش فوق العاده زمان پیاده سازی و ازمایش برنامه ها میشود.
در کتابخانه اجزاء سازنده دلفی 2005 تب وجود دارند که همانطور که در شکل دیده راست محیط دلفی لیست شده اند.
این برگه (Tab) های موجود به شرح زیر میباشند:
Standard Bde Lndy F10 Handievs
Additional Fnternetexpress Fndy Fn Tercepts
Win 32 Web Snap Fndy Misc
برای طراحی ظاهر فرمها از برگه های Standard وAdditioned استفاده میشود .
برای برقراری ارتباط با پایگاه داده مورد استفاده از برگه های Data Access و Data Controls استفاده میشود.
برای کار با Component های موجود بانک های اطلاعاتی ، از برگه Bde استفاده میشود .
برای استفاده از اجزا موجود در پایگاه داده ای که با ان ارتباط برقرار کرده ایم مثل Table ها و Query ها از برگه Dbgo استفاده میکنیم.
برای کار با خاصیت های پروتکلهای مختلف از جمله Nntp از تبهای X1 و X3 و Lndy Misc استفاده میشود که توضیح دقیق این برگه ها در اینده نیز خواهد امد.
در بین برگه هایی که در بالا ذکر شد این موارد بهترین و پرکار ترین برگه هایی بودند که در طراحی پروژه حاضر از انها استفاده کرده ایم .
حال میبایست به توضیح دقیق تر تبهای X1 و X3 و Lndy Misc بپردازیم.
4.2) پیاده سازی خواص Nntp در دلفی
حال که هم بطور کامل با قوانین پروتکل Nntp اشنا شدیم و هم بخشهایی از دلفی که بر اساس پروتکل مذکور تعریف شدهاند را شناختیم برای دستیابی به بخشهایی ازکد پروژه نهایی به پیاده سازی توابعی در دلفی می پردازییم که دستورات ذکر شده در پروتکل Nntp را شبیه سازی میکنند.
این شبه کدها "( یا به عبارتی توابع ") در Event های مربوطه به برگه Ldnntpservers
که بطور مفصل راجع به ان بحث کردییم نوشته شده اند. البته در بین دستوراتی که در توضیح پروتکل Nntp ذکر شده دستوراتی وجود دارند که در نسخه های جدید تر ان مورد استفاده قرار نمیگیرند همچنین نرم افزار Client ای که از ان استفاده می کنیم ( Out Look) احتیاجی به استفاده از برخی از این دستورات ندارد. لذا در این بخش تنها به پیاده سازی پروژه استفاده شده اند .
-4.3.1 پیاده سازی دستور List :
که این دستور را در روییدادGroups Onlist در لیست روییدادهای مربوطه به X3 مینویسیم .
برای پیاده سازی هر یک از دستوراساسی باید بر روی Event مربوطه به ان کلیک کنیم تا عبارت X3
در تب مربوطه به ان روییداد ظاهر شود سپس که نوعی را اغاز میکنیم .
که این دستور عبارتند از 3
4.3.2- پیاده سازی دستور Cxoup :
Onselectgroup
5. پیاده سازی صفحات پروژه
حال به جزییات مربوط به طراحی فرمها در برنامه های سرور Client پرداخته ودر نهایت متن برنامه های نوشته شده را ارایه خواهیم نمود.
1-5- فرمهای مربوط به برنامه نویسی سمت سرور
در برنامه مربوط به سرور چهار فرم و 2 یونیت طراحی شده است . که هر یک وظیفه بخصوصی را در زمینه سرو بدهی انجام می دهد .
1-1-5- فرم Umain
این گزینه مربوط به عملیات گرهها و یا کاربران میباشد . انتخاب گزینه گروهها سبب می شود که این فرم یک Link به فرم Ugroup که مربوط به انجام عملیات گروهها می باشد ایجاد کند. انتخاب گزینه کاربران نیز باعث ایجاد یک Link به فرم Uusers برای انجام عملیات کاربران میشود.
3- عملیات
این Tab شامل دو گزینهStart و Stop است که توابع مربوط به انها نیز درمتن برنامه نوشته شده است این دو گزینه مربوط به راه اندازی ویا متوقف کردن کار سرور هستند.
4. کمک
در این بخش توضیحات مختصری درباره دستورات پروتکل Nntp ونیز نحوه کار انها ارایه شده است که میتوان گفت خلاصه ای سازمان یافته از انچه پیش از این در ارتباطبا این پروکتل ذکر کردیم میباشد.
در قسمت Tldnntpservers ، کلیه ارتباطات با پروتکل Nntp ونیز دستورات مبتنی بر این پروکتل اورده شده اند .
برخی توابع اضافی که در این Unit قرار دارند نیز مربوط به انجام عملیات لازم برای اجرای دستورات مربوط به پروتکل Nntp می باشند که به علت ساده و کار بردی بودن این توابع از شرح جزییات انها صرفنظر می کنییم .
-5-1.2 فرمUdm ( Unit Data Module)
همان طور که از نام ان نیز پیداست این یونیت یک Data Module است. تمامی ارتباطات و اتصالات به پایگاه داده به جز Dbgrid که مربوط به نمایش محتویات جدول می باشد برای سهولت کار واضح بودن برنامه در این قسمت قرار دارند که اجزا این یونیت عبارتند از
Adoconnection برای برقراری اتصال برنامه با محیط Sql Server
Ds Users : برای برقراری ارتباط با توابعی که برای تاثیر روی جدول Users در پایگاه داده نوشته شده اند .
( این جز یک Data Set است )
Ds Group: : برای برقراری ارتباط با توابعی که برای تاثیر روی جدول Groups در پایگاه داده نوشته شده اند ( این جز یک Data Set است )
Dso Users : یک Data Source برای برقراری اتصال با جدول Users در پایگاه داده است.
یک Data Source برای برقراری اتصال با جدول Users در پایگاه داده است.
Dso Group : یک Data Source برای برقراری اتصال با جدولGroups در پایگاه داده است
Ds Global: یک Data Set برای برقراری ارتباط با پایگاه داده در نوشتن دستوراتی است که در بخش Mainنوشته ایم به عنوان مثال دستوراتی در پروتکل Nntp که در لیستهای موجود در پایگاه داده پارامتری را اضافه ، جستجو ، مقایسه ویا حذف می کند.
3. 1. 5-فرم Ueroups
همانطور که می بینید بر روی این فرم چهار Ruttonوجود دارند که عمل هر یک از آنها را توضیح می دهیم .
اضافه :
مربوط به اضافه کردن یک گروه به لیست گروههای موجود ؟؟؟است .این کار فقط و فقط توسط سرور انجام می شود وClient به طور کلی چنین اختیاری را ندارد .
مکانیزم اضافه کردن یک گروه به لیست گروهها به این ترتیب می باشد :
حذف:
مربوط به حذف یک گروه توسط مشخص کردن نام آن گروه از لیست اسامی گروههای خبری می باشد .برای انجام این کار (حذف یک گروه )یک شرط لازم است ؟؟؟که گروهی که قرار است حذف شود دارای جزئیات (Article Lو یا ؟؟؟مربوط به آن )نباشد .البته امکان حذف گروه با کلیه جزئیات نیز وجود دارد ،برنامه برای این کار سوالی از کار ؟؟؟و در صورت مثبت بودن جواب آن ،گروه را به همراه کلیه جزئیات آن حذف می کند .