|
دوست عزیزی ایمیل فرستاده بود و سوالاتی پرسیده بود. سوالات به همراه جوابشون:
نحوه پر کردن داخل اشکال بسته: برای پر کردن داخل اشکال بسته از متدهای Fill کلاس Graphics استفاده می کنیم. این متدها عبارتند از: FillClosedCurve ، FillEllipse، FillPath، FillPie، FillPolygon، FillRectangle، FillRectangles، FillRegion از اسم هر کدوم از متدها پیداست که برای پر کردن داخل هر شکل از کدومشون باید استفاده کنیم. نحوه باز کردن فایلهای CHM: برای استفاده از فایلهای chm در C# باید از کلاس Help استفاده کنید. به کد زیر توجه کنید: Help.ShowHelp(this, @"D:\Ebooks\IntroducingMicrosoftASP.NET AJAX.chm"); رسم دوباره اشکال: اینکه چرا برنامه شما اشکال رسم شده رو بعد از Minimize نمی تونه رسم کنه، می تونه دلایل زیادی داشته باشه و بستگی به نحوه کد نویسی شما داره. هر زمان که ویندوز احساس کنه یک پنجره یا قسمتی از یک پنجره نیاز به رسم مجدد داره، اونو رسم می کنه و برای رسم اون کد رویداد Paint اون شی فراخوانی میشه. در صورتی که در گرداننده رویداد Paint کدهای لازم نوشته نشده باشه توانایی رسم مجدد اونها وجود نخواهد داشت. فولدر App_Code در ASP.NET : این فولدر به منظور محلی برای ذخیره کلاسها ، فایلهای .wsdl و Typed dataset ها تعبیه شده است و تمام مواردی که نام برده شد اگر در این محل ذخیره شوند در تمام صفحات Solution فابل دسترسی هستند. نکته قابل توجه در مورد این فولدر اینست که وقتی چیزی را در این مکان قرار میدهید VS2005 خودکار آنرا تشخیص میدهد و به نوع دلخواه و مطلوب آنرا کامپایل میکند. برای ایجاد این فولدر روی Solution کلیک راست کنید و Add folder=>App_code folder را انتخاب کنید. روی فولدر ایجادی نیز کلیک راست کرده و Add New Item را انتخاب کنید. در اینجا امکان انتخاب محدودی دارید بین فایلهایی از نوع کلاس ، متنی، دیتاست، گزارش و دیاگرام کلاس. برای مثال فایل کلاس را انتخاب کنید و نام آن را Calculator.cs بگذارید و در آن کد زیر را بنویسید : Using system; Public class Calculator { Public int Add (int a, int b) { Return (a+b); } } فقط آنرا ذخیره کنید و حالا میتوانید در هر صفحه ای از Solution از این کد استفاده کنید. مثلا یک صفحه .aspx بسازید و روی آن فقط یک Label بگذارید و در رویداد Page_Load آن کد زیر را بگذارید : Protected void Page_Load (object sender, System.EventArgs e) { Calculator myCalc = new Calculator (); Label1.Text = myCalc.Add (12, 12).Tostring (); } وقتی این صفحه .aspx را اجرا میکنید توجه کنید که از کلاس Calculator بدون هیچ مشکلی استفاده میکند و احتیاجی به کامپایل آن پیش از استفاده ندارد. در واقع درست پس از ذخیره این کلاس ، همزمان قابلیت IntelliSense در متدهایی که کلاس پوشش میدهد قابل استفاده است. حال فولدر App_Code و کلاس Calculator را دوباره باز کنید و متدی به نام Subtract را با کد زیر به آن اضافه کنید: Public int Subtract (int a, int b) { Return (a – b) ; } فایل را ذخیره کنید و به صفحه .aspx برگردید . توجه کنید که کلاس دوباره کامپایل شده و متد جدید نیز در صفحه از طریق IntelliSense قابل دسترسی است. هر آنچه در این فولدر گذاشته شود در یک اسمبلی تک کامپایل میشود. فایلهای کلاسی که در این فولدر هستند لازم نیست یک زبان ویژه را بکار ببرند یعنی اگر حتی تمام صفحات با VB نوشته شوند ، کلاس Calculator در فولدر App_Code می تواند به زبان C# باشد. البته اگر چند کلاس به زبانهای مختلف می خواهید داشته باشید نباید همه آنها را در ریشه این فولدر و در کنار هم قرار دهید. برای اینکه قادر باشید مثلا دو زبانVB و C# را کنار هم قرار دهید باید تغییرات زیر را انجام دهید : ابتدا در شاخه App_Code دو زیر شاخه جدید بسازید مثلا به نامهای VB و CS و کلاسهای موردنظرتان را در شاخه مربوطه قرار دهید. \ App_Code \ VB Add.vb \ CS Subtract.cs سپس در Web.Config (که باید خودتان به Solution اضافه کنید) بخش
در انتها دوباره از ققنوس عزیز سپاسگذارم .. جواب سوالهارو ایشون دادن... من فقط app_code folder رو نوشتم... بقیه اش تقصیر من نیس... :ی.... شاد باشین....
+
نوشته شده در پنجشنبه بیست و پنجم مرداد 1386ساعت 0:21 توسط آتاناز
|
سلام...
یک مقاله در مورد مقایسه استفاده از dataset و datareader ، در این پست براتون میذارم.. مثل همیشه امیدوارم مفید باشه... تشکر مخصوص از دوست عزیزم ققنوس که برای مقاله و تصحیح اون خیلی زحمت کشیدن ... ممنونم... شاد باشین...
+
نوشته شده در سه شنبه دوم مرداد 1386ساعت 21:36 توسط آتاناز
|
سلام... نمیدونم در مورد snippet ها چیزی شنیدین یا نه! کدهای آماده کوچکی که در محیط Visual Studio وجود دارند و حتا رایگان در اختیار کاربران قرار میگیرند تا از اونها استفاده بشه. یه توضیح کوچیک و جمع و جور در قالب pdf با چند تا از این کدها رو که براتون داونلود کردم رو میذارم تا یه نگاهی بندازین بهشون. امیدوارم براتون مفید باشه.. چیزهای بدردبخوریَن و کار برنامه نویسی و بسیار راحت میکنن و سرعت اون رو بالا میبرن... مایکروسافته دیگه... تا بعد... یا حق...
+
نوشته شده در یکشنبه سوم تیر 1386ساعت 20:14 توسط آتاناز
|
سلام... این Office 2007 خیلی آزارم داد تا بفهمم که نمیشه از توش کپی کرد تو ادیتور بلاگفا... خلاصه من و دوستم ۲ روز سر کار بودیم... تا بالاخره تصمیم گرفتیم منم با کلاس شم و مقاله ای منتشر کنم با عنوان آرایه ها در سی شارپ... که شامل دو قسمت قبلی و قسمت آخر معرفی آرایه ها در سی شارپه ... امیدوارم که براتون مفید باشه...
تا بعد.... یا حق....
+
نوشته شده در چهارشنبه یازدهم بهمن 1385ساعت 21:36 توسط آتاناز
|
آرایه ها : قسمت دومسلام . تو این پست میخوام یه مقدار دیگه در مورد آرایه ها توضیح بدمقبلا گفتیم که سه نوع آرایه داریم: یک بعدی . چند بعدی و دندانه ای (Jagged ) حالا اولین نوع آرایه یعنی آرایه یک بعدی ( Singel-Dimensional Arrays ) : همونطور که گفتیم تعریف آرایه به صورت زیر هست : int[] array = new int[5]; or اپراتور New برای ساختن آرایه و مقداردهی اولیه به اعضای آرایه به مقادیر پیش فرض براساس نوع آرایه بکار میرود. int[] array1 = new int[5] { 1, 3, 5, 7, 9 }; or int[] array3; SomeType[] array4 = new SomeType[10]; نتیجه تعریف یک آرایه به نوع تعریف شده آرایه بستگی دارد که آیا Value type است یا Refrence Type. به عنوان مثال در بالا اگر SomeTYpe از نوع Value Type باشد حاصل این عبارت آرایه ای شامل 10 نمونه از نوع SomeTYpe است. اگر از نوع Refrence Type باشد آرایه شامل 10 عنصر خواهد بود که هرکدام به Null ارجاع خواهند داد. فکر کنم توضیح مختصری در مورد Value Type , Refrence Type ها بد نباشه: سه گروه type در #c تعریف شده : Value Type , Refrence Type , Pointer Type متغیر هایی از نوع Value Type , اطلاعات و داده ها را ذخیره میکنند در حالیکه متغیر های از نوع Refrence مراجع به داده ها و در واقع آدرس محل داده در حافظه را ذخیره میکنند . pointer ها فقط در حالت Unsafe قابل استفاده هستند. امکان تبدیل متغیری از نوع Value به متغیری از نوع Refrence و برگشت دوباره به Value وجود دارد ( با استفاده از Boxing & Unboxing ) اما برعکس نه! نوع دوم آرایه ها , آرایه های چند بعدی هستند : ( Multidimentional Arrays ) آرایه ها میتوانند بیش از یک بعد داشته باشند مثلا: int[,] array = new int[4, 2]; میتوانید مقداردهی آرایه را در همان زما« معرفی آن انجام دهید به صورت زیر : int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 },{ 7, 8 } }; int[,] array5; مقداردهی به یک عضو از اعضای آرایه نیز به صورت زیر است : array5[2, 1] = 25; توضیح آرایه های دندانه ای میمونه برای پست بعدی . موفق باشید .
+
نوشته شده در شنبه نهم دی 1385ساعت 1:35 توسط آتاناز
|
سلام.
میخواستم توضیح مختصری در مورد آرایه ها ، نحوه تعریف و استفاده از اونا رو تو این پست بذارم. احتمال زیاد این مطلب ادامه دار خواهد بود!!. آرایه ، با مشخص کردن نوع عنصر ( Element )، ابعاد ( Dimension ) و حد بالا و پایین آن (Upper & Lower ) ، تعریف میشود. این مشخصات در هر گونه تعریفی که از آرایه ارائه شود صدق میکنند. آرایه ها تنها میتوانند عناصری را در خود نگه داری کنند که از یک نوع تعریف شده باشند. آرایه ها در #C ، از نوع شیئ ( Object ) هستند و مانند ++C و C ، تنها محدوده آدرسهای حافظه ای نیستند. به نمونه ای از تعریف و استفاده از آرایه ها توجه کنید: ; { int[] numbers = { 1, 2, 3, 4, 5 یا class TestArraysClass آرایه یک ساختار داده ای است که شامل تعدادی متغیر از یک نوع است و همانگونه که دیدید با TYPE تعریف میشود : ; type[] arrayName یک آرایه دارای مشخصات زیر است : یک مثال از سه نوع تعریف آرایه : class TestArraysClass Declare and set array element values // Alternative syntax // Declare a two dimensional array // Declare and set array element values // Declare a jagged array // Set the values of the first array in the jagged array structure // امیدوارم مفید بوده باشه. این توضیح مختصری بود از آرایه ها و تعریف اونها در #C .
+
نوشته شده در دوشنبه بیست و هفتم آذر 1385ساعت 21:20 توسط آتاناز
|
سلام
این اولین پست من هست و از دوستان و استادان عزیزم که اجازه دادن کنارشون باشم و حاضر شدن کمکم کنن تشکر میکنم. براساس سوال یکی از دوستان مبنی بر چگونگی تعریف متغیری که در تمام فرمها قابل استفاده باشد، میخواهم در مورد کلاسها و اعضای static توضیح مختصری بدم: یک کلاس از نوع static که بصورت نمونه زیر تعریف میشود ، خواص زیر را داراست: public static class CompanyInfo } ; public static string CompanyName ; public static string CompanyAddress { امکان گرفتن و ایجاد نمونه (Instance) از این نوع کلاس وجود ندارد. اعضای آن تنها میتوانند از نوع static باشند. این کلاسها sealed هستند و در نتیجه امکان وراثت و inheritance از آنها و برای آنها وجود ندارد . نمیتوانند constructor داشته باشند ، مگر یک static constructor برای تعیین و انتصاب مقادیر اولیه . برای ساماندهی متدهایی که با object های خاصی کار نمیکنند (مثلا متدهای کلاس Math در Sysytem namespace) میتوانید یک کلاس از این نوع ایجاد کنید با متدها و متغیرهایی از همین نوع و بدون الزام در ساختن و گرفتن object از آن کلاس ، از متدها و متغیرهای موجود در آن بطور مستقیم و با بکار بردن نام کلاس ، استفاده کنید . به مثال زیر توجه کنید : public class Automobile ; return 15 { و برای دسترسی به اعضا و متدها : ;()Automobile.Drive شما در یک کلاس غیر static هم میتوانید متد ،property , field یا event هایی از این نوع تعریف کنید و بدون تعریف یک instance از آن کلاس به اعضای static آن دسترسی داشته باشد . اگرچه حتی اگر instance ای هم از کلاس بسازید ، توسط آن نمیتوانید به این اعضا دسترسی پیدا کنید. یک مثال دیگر : public class MyBaseC MyBaseC.MyStruct.x امیدوارم مفید بوده باشه و دوست عزیزم "ستاره" هم جواب سوالشون رو گرفته باشند . این توضیح مختصری بود در مورد تعریف و استفاده از static .
+
نوشته شده در جمعه دهم آذر 1385ساعت 19:40 توسط آتاناز
|
|

