کامپیوتر

مقدمه :

همه ما در عصري قرار داريم كه آن را عصر اطلاع رساني يا قرن ار تباطات ناميده اند لذا مي توان اذعان نمود كه كامپيوتر نه تنها به عنوان يك وسيله شخصي يا ابزار گروه خاص مورد استفاده قرار مي گيرد بلكه به عنوان يك وسيله ارتباطي هم در سطح جهان مطرح مي باشد و به همين دليل است كه كاربرد آن روز به روز در جهان گسترش مي يابد به گونه اي كه در كشورهاي جهان از جايگاه ويژه اي برخوردار مي باشد .

پروژه اي كه آن را طراحي كرده ام با استفاده از زبانc# نوشته شده است اين زبان يك زبان شي گرا مي باشد كه از زبا نهاي شي گرا براي مدل سازي اشياي دنياي واقعي مورد استفاده قرار مي گيرد كه براي مدل سازي دنياي واقعي از نوعي به نام كلاس استفاده مي كند كه كلاس ها به دو دسته تقسيم مي شوند كلاسهايي كه توسط برنامه نويس نوشته مي شوند و كلاسهايي كه در كتابخانه هاي # c وجود دارد كه هر كلاس داراي اعضايي است كه به سه دسته تقسيم مي شود ۱٫ فيلدها ۲ . متدها ۳٫ خواص .

 

چرا از Asp.Net استفاده کرده ایم؟
شرکت میکروسافت نسخه جدید Asp را به نام Asp.Net ارائه کرد که سهولت کدنویسی Asp را دارد به طوری که برنامه را می نویسید در پوشه ای قرار می دهد امتیاز دستیابی برای آن تعیین می کنید و به راحتی قابل اجرا است.
Asp.Net ویژگی های جدیدی به Asp اضافه نمود و قابلیت های ان را افزایش داد.

Asp.Net فقط بهبود تدریجی Asp نیست بلکه یک محصول کاملا جدید است که برخی از ویژگی های Asp. Net عبارت انداز:
۱- محیط کاری Net: محیط کاری Net معماریی است که ساخت برنامه های کاربردی وب و سنتی را آسانتر می سازد.
۲- ویژوال ستودیونت : ویژوال استودیونت محیط توسعه جدیدی از مولفه ها پشتیبانی می کند که در Asp وجود نداشته اند.
۳- مولفه های جدید: محیط کاری Net از انواع جدیدی پشتیبانی می کند که در Asp وجود نداشته اند.

۴- ADo .Net : فناوری ADO در محیط کاری Net فناوری جدیدی است که موجب می شود برنامه های کاربردی Asp.Net به راحتی به اطلاعات موجود در بانک اطلاعاتی رابطه ای دستیابی داشته باشد.

آشنای با پروژه

 

برای اینکه پروژه ما و هر پروژه دیگر که به این زبان نوشته شده است قابل اجرا شدن باشد دو راه وجود دارد که هر کدام از آنها را به طور خلاصه توضیح می دهیم. اولین راه برای اجرا شدن پروژه نصب کردن ویژوال استودیونت می باشد که بر روی چند CD ذخیره شده است . در محیط ویندوز CDInstall مربوط به ویژوال استودیونت را در cd Drive قرار دهید تا منوی نصب ویژوال استودیونت ظاهر شود سپس CD شماره ۵ را در درایو قرار دهید . اولین گزینه را انتخاب کنید تا ویندوز را به هنگام سازی نمایید اکنون CD شماره ۱ را در درایو قرار دهید و مراحل نصب را ادامه دهید تا ویژوال استودیودر منوی Programs ویندوز قرار گیرد وبرای اجرای گزینه مربوطه را کلیک کنید تا صفحه اول C#ظاهر شود ( شکل ۵-۱) و در این شکل دکمه New projectرا کلیک کنید و اکنون شکل) ۶-۱( ظاهر می شود که در پنجره سمت راست آیکن Application windows را در پنجره سمت چپ Visual C# projects را انتخاب و بعدا نام و مسیر ذخیره شدن پروژه را وا رد کرده و ok را کلیک کنید تا پنجره فرم ظاهر شود.

دومین راه نصب IIS می باشد . همانطوری که می دانید IIS یکی از قطعات ویندوز (xp,2000) است وبرای نصب آن باید مراحل زیر را انجام دهیم.

۱- گزینه Start/settings/control panal را انتخاب کنید.
۲- بر روی Add or Remov Programs دوبار کلیک کنید.
۳- در پنجره ای که ظاهر می شود دکمه Add/Remov windows component را انتخاب کنید

۴- اگر در کنار گزینه Internet Information service (IIS) علامت درست وجود داشته باشد به معنای این است که IIS در سیستم شما نصب شده است ولی اگر تیک دار نباشد آن را تیک دار کرده و سپس دكمه Next را کلیک کنید در ادامه از شما خواسته خواهد شد که CD ويندوز رادر درايو cd قرار دهید پس از انجام این کار برنامه IIs در سیستم شما نصب خواهد شد.

پس از این کار بایستی پروژه خود را در مسیری که ویندوز در آن درایو نصب شده است به عنوان مثال در شاخه C:/ Enetpub/wwwroot در پوشه wwwrot پروژه خود را Copy کنیم در واقع این پوشه . پوشه سرور وب است. و مرحله بعدی بایستی ازtools Control panal/ Administrative را انتخاب کرده و از شاخه Default websit راست کلیک کرده واز New / virtual Directory و بعد گزینه Next را کلیک کرده و در بخش Alias نام پوشه مجازی را وارد کنید. ودکمه Next را کلیک کنید ودر بخش Directory نام مسیر فیزیکی را وارد کنید که باید به عنوان پوشه مجازی دستیابی شود. اگر نام مسیر کامل فیزیکی خود را نمی دانید دکمه Browse را کلیک کنید تا از لیست هایی که ظاهر می شود پوشه مورد نظرتان را انتخاب نمایید.

و دکمه finish, Next را برای پایان کار بزنید و بعدا نامی را که در Alias وارد کرده اید در شاخه Default website ظاهر می شود و با کلیک کردن بر روی آن شاخه های پروژه شما در سمت راست ظاهر می شود ومی توانید پروژه خود را اجرا کنید و راه حل سومی که است این است که بعداز اینکه IIS را نصب کردید و کار های بالایی را انجام داده اید می توانید مستقیما از Internet Exploreu آدرس نام hhp://localhost/ را وارد کرده و آن را اجرا کنید.
ودر ضمن بایستی Sql server ما نیز نصب شده باشد و بعداز نصب شدن بایستی Data base پروژه خود را در Sql server وارد کنیم که برای این کار بایستی مراحل زیر را طی کنیم:

از Start/ programs/Microsft sqlserver/Enterprise manager را انتخاب کنید و بعدا در شاخه Data Base راست کلیک کرده و New Database درست کنیم و نامی را برای ان قرار دهیم و بعدا بایستی از شاخه Data Baste نامی را که داده بودیم را پیدا کرده و بر روی آن راست کلیک کرده و All Tasles/Restore Databaste را انتخاب کنیم و تنظیمات مربوط به آن را طبق شکل انجام دهیم.

 

پروژه اي كه آن را طراحي كرده ام در قالب يك سايت است سايتي كه بتوان با آن تبادل نظر كرد كه اين تبادل نظر در قالب مو ضوعات مختلف باشد پس تا اينجا مشخص شود كه پروژه من سايتي است در قالب موضوعات مختلف كه بستگي به كاربرد آن دارد.

اين سايت در سه صفحه خلاصه شده است صفحه اصلي و دو صفحه ديگركه به صفحه اصلي پيوند خورده اند و اما توضيحاتي در مورد هر صفحه در صفحه اصلي ما بعد از كارهايي كه موجب زيبايي صفحه ما شده است جستجويي بر اساس مو ضوعات مختلف قرار داده شده است كه بسته به نوشته شما در كادر جستجو دارد كه با توجه به مطلبي كه شما مو ضو عات مطابق با آن را در قالب جدولي براي شما نمايش داده مي شود كه با انتخاب هر يك از آنها صفحه اي ظاهر مي شود كه در اين صفحه سوالاتي كه كاربران گذاشته اند و جواب آنها آمده است و شما سوال خود را در كادر مخصوص گذاشته و در صورت تمايل آدرس ايميل خود را مي توانيد در كادري كه مشخص شده است بنويسيد ودر اين صفحه جدولي است كه بر اساس موضوع و عنوان مشخص شده است.
و اما صفحه سوم : اين صفحه مربوط به مدير سايت مي باشدچون اين سايت يك سايت سوال و پاسخ ميباشد و هر سوالي را نمي توان در سايت قرار داد
پس لازم مي باشد كه مديريتي بر سايت شود و براي اين كار بايد يك رمز عبوري را در صفحه اصلي قرار دهيم كه فقط مدير سايت به آن دسترسي داشته باشد و با وارد كردن رمز عبور بتواند به سايت مديريت داشته باشد و با وارد شدن به اين صفحه مي تواند با وارد كردن پسورد قديم خود پسورد جديدي را براي خود قرار دهد و نيز سوالاتي را كه كاربران گذاشته اند آنها را براي نمايش تاييد كند و يا آنها را حذف كند و يا تغييراتي را در آنها ايجاد كند و يا اضافه كند وبعد از انجام دادن تنظيمات لازم با استفاده از كليدي به صفحه اصلي بر گردد

توضيحاتي در رابطه با Data base :

Data base
ما از سه جدول تشكيل شده است :
Article table جدول اول ما

Person table جدول دوم ما

Security table جدول سوم ما

DIAGRAME

به صورت زير مي باشد :

Securitytable : user name
Pass

این جدول برای پسورد که در صفحه اصلی جهت ورود مدیر سایت می باشد تنظیم شده است همان طور که از نام فیلدهای آن مشخص است فیلد name user برای وارد کردن نام کاربر و فیلد pass برای وارد کردن پسوزد می باشد.
Article table : 1- ide
2- show
3- subject
4- Content
Show : وقتی برابر یک باشد موضوعات قابل رئوویت خواهد بوده و اگر دو باشد غیر قابل رئویت خواهد بود و این کار را مدیریت تعیین می کند.
فیلد subject : همان طور که از نام آن مشخص است برای موضوعات در نظر گرفته شده است.
فیلد content : این فیلد برای محتویات در نظر گرفته شده است.
Persontable :
Ide
Show = وقتی برابر یک باشد موضوع قابل رئوویت خواهد بوده و اگر دو باشد غیر قابل
رئویت خواهد بود

Idea = نظری را که طرف مقابل می دهد.
Email Addrees = آدرس ایمیل طرف مقابل که سوال خود را پرسیده است.
Personld= مقدار این فیلد به صورت اتوماتیک تعیین می شود و به طور کلی در Database یکتا و منحصر به فرد می باشد.

توضیحاتی در رابطه با DataBase :
ابتدا Object یا شیء از کلاس Sglconection ساخته و با Conect string (رشته اتصال) مقدار دهی کرده و آن را Open می کند سپس از کلاس Command sgl یک شیء ساخته و Connection آن را با شیء بالا مقدار دهی می کند حال Command ما آماده اجرای دستورات می باشد
ولی باید ابتدا نوع Command را مشخص کرده که از طریقcommand type این کار را انجام می دهیم و Command Type دارای انواع مختلفی می باشد که یکی از انها Text که دستورات را به صورت مستقیم اجرا می کند و دیگری procedures می باشد که در این پروژه از ان استفاده شده است.

Procedures در واقع روند اجرای دستورات sql را به عهده SQL SERVER قرار داده و حاصل عملیات را دریافت می کند مزایای استفاده از وابسته نکردن برنامه از تغییراتی که در procedures انجام خواهد شد ونیاز به کمپایل دوباره برنامه نیست بنابراین پس از تعیین نوع باید نام آن را نیز برای sqlcommand مشخص کند ودر قسمت Command .text نام پروسیجر موجود در Sqlserver را به آن می دهیم و حال نیاز به تعیین ارگمان های پراسیجر مورد نظر داریم که از طریق دستور
Sgl Command Command ;
Command . conection =conetion ;
Command .command Type=Command Type . Procedure
“ نام پروسيجر Command.Trxt=”
Command. Parameters. Add(new sgl parameter(@ , )

مقدار نام

واجرای Command بستگی به نوع پروسیجر و مقدار برگشتی آن دارد اگر مقدار برگشتی وجود نداشته باشد
از دستور Comand . Execut none Query( )
و اگر مقدار برگشتی یک یا تک مقداری باشد از دستور ( ) Command . Execute scaler
و مقدار برگشتی آن از نوع object می باشد و باید آن را به int تبدیل شود در صورتی که مقدار برگشتی مجموعه ای از اطلاعات باشد می توان آن را در یک Data set برگشت داد وبرای این کار از کلاس Data adapter sql استفاده می نماییم. در ابتدا باید اتصال بین Command و یک Data Adapter ایجاد شود بنابراین مقدار را شیء Command بالا قرار می دهیم و تابع fill آن را فرا خوانی می کنیم.
Sql Data adaptor DA;
DA.Command =Command;
Da.Fill (ds, );

نام مستعار برای جدول برگشتی

ما در اين پروژه از پروسيجرهاي زير اسنفاده كرده ايم و با توجه به
نام هر يك از آنها براي تغيير دادن پسورد و درج كردن و حذف وبهنگام كردن و جستجو
مورد استفاده قرار گرفته است
.
CREATE PROCEDURE dbo.ChangePass( @pass nvarchar(20) )
AS
update Securitytable set pass =@pass
where username=’Admin’;
GO

CREATE PROCEDURE dbo.AddArticleData( @show int , @subject nvarchar(50) , @content nvarchar(500) )
AS
insert into articletable values ( newid() , @show, @subject , @content );
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO

CREATE PROCEDURE dbo.AddPersonData( @ide uniqueidentifier ,@show int , @idea nvarchar(200) , @emailAddress nvarchar(50) )
AS
insert into persontable values ( @ide , @show, @idea , @emailAddress ,newid());
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

CREATE PROCEDURE dbo.DeleteArticle ( @ide uniqueidentifier )
AS
delete from articletable
where ide = @ide;
GO

CREATE PROCEDURE dbo.DeletePerson ( @PersonId uniqueidentifier )
AS
delete from persontable
where PersonId = @PersonId;
GO

CREATE PROCEDURE dbo.SearchArticlebyId( @ide uniqueidentifier , @show int )
AS
if( @show = 1 )
select * from Articletable where ide = @ide and show=1;
else
select * from Articletable where ide = @ide;
GO

CREATE PROCEDURE dbo.SearchArticlebySubject( @subject nvarchar(50) )
AS
select * from Articletable where subject like ‘%’+@subject+’%’ and show=1;
GO

CREATE PROCEDURE dbo.SearchPersonbyId( @ide uniqueidentifier ,@show int )
AS
if( @show = 1 )
select * from persontable where ide = @ide and show = 1;
else
select * from persontable where ide = @ide;
GO

CREATE PROCEDURE dbo.SetArticleData( @show bit , @subject nvarchar(50) , @content nvarchar(500) )
AS
insert into articletable values ( newid() , @show, @subject , @content );
GO

CREATE PROCEDURE dbo.SetArticleShow( @ide uniqueidentifier ,@show int )
AS
update articletable set show=@show
where ide = @ide;
GO

دياگرام :
Common

Inter face

Data access

Logic

logic

راهنماي پروژه

به طور كلي اين پروژه از سه بخش يا صفحه تشكيل شده است كه حال به بررسي هر يك از آنها خواهيم پرداخت.

صفحه اصلي پروژه :

اين صفحه شامل جدولي مي باشد كه در داخل اين جدول كليدي كه در داخل اين كليد جستجو بر اساس موضوع نوشته شده است كه با نوشتن موضوع مورد نظر خود در داخل جعبه اي كه در مقابل اين كليد قرار دارد و فشار دادن كليد جستجو جستجو بر اساس موضوع شما آغاز مي شود و در پايين اين كليد جدولي را نمايش مي دهد كه مطابق با موضوعات شما مي باشد و با انتخاب يكي از آنها به صفحه ديگر پيوند مي خورد كه در آن صفحه مي توانيد سوال خود را بگذاريد .

وبعد در داخل اين جدول نام كاربر و رمز عبور خواسته شده است كه اين كادر مخصوص مدير سايت مي باشد كه با وارد كردن رمز عبور مي تواند به صفحه اي وارد شود كه در اين صفحه مي تواند تنظيمات مربوط به سايت از قبيل حذف يا اضافه كردن سوالاتي كه به درد نمي خورد و… كه در ادامه به توضيح آن خواهيم پرداخت .

صفحه دوم :

براي اين صفحه با انتخاب موضوع مورد نظر وارد مي شويم .

در اين صفحه جدولي قرار دارد كه در داخل اين جدول موضوع و عناوين نوشته شده است كه مي توانيم با كليك كردن بر روي هر يك آنها را مشاهده كنيم و در پايين كادري قرار دارد كه مي توانيم سوال مورد نظر خود را در داخل اين كادر قرار داده و در صورت تمايل آدرس ايميل خود را در كادر مخصوص قرار داده و با دكمه هاي مربوطه آن را فرستاده و ريسيت كنند
وبا لينكي كه در بالاي جدول وجود دارد به صفحه اصلي برگردد.

صفحه سوم :
براي وارد شدن به اين صفحه بايستي رمز عبور را در صفحه اصلي پروژه درست وارد كرد كه فقط مدير سايت مي تواند به اين صفحه دسترسي داشته باشد .
همين طور كه درشكل مشاهده مي كنيد مدير مي تواند موضوعات را براي نمايش تاييد كند و بعدا با دكمه هاي پاييني آنها را به ترتيب از راست به چپ به هنگام كند و موضوع جديد اظافه كند و به صفحه اصلي برگردد .
و همچنين ميتواند با وارد كردن پسورد قبلي خود پسورد جديدي را براي خود قرار دهد و با زدن كليد پاييني مي تواند اين كار را تسبيط كند .

نتيجه گيري :

در طراحي اين پروژه سعي شده است كه تا امكاناتي را كه در يك سايت تبادل نظر مورد استفاده قرار گيرد را حدالمكان مورد استفاده قرار گيرد
از جمله امكانات اين پروژه جستجو بر اساس موضوع و حتي اگر اولين كلمه از موضوع را بنويسيم موضوعات مطابق با نوشته شما را پيدا
مي كند و مديريت بر سايت كه هر سوال بي ربطي در سايت قرار ندهيم
در انتها چنين مي توانم بگويم كه اين نرم افزار انتها ندارد و با ادامه دادن
وسيع تر مي شود و نيز چون سايت ما يك سايت سوال و پاسخ است و ما هيچ جاي مخصوصي را براي جواب دادن نگذاشته ايم ولي به جاي آن ميتوانيم به عنوان يك بيننده ديگر يك جواب بدهيم .