دانلود نرم افزار - آموزش سی شارپ
دانلود نرم افزار - آموزش سی شارپ

دانلود نرم افزار - آموزش سی شارپ

پردازش تصاویر با الگوهای دلخواه

در این پست نرم افزار جالبی قرار داده ام که بصورت رایگان می توانید از لینک پایین دانلود کنید این نرم افزار می تواند تصاویر مورد نظر شما را با دادن الگوهایی به تصاویر جالبی تبدیل کند و شما همچنین می توانید خودتان با ساختن الگوهای دلخواه تصاویر دلخواه بسازید.

نکات ضروری درباره استفاده از این نرم افزار :

1 . الگوهایی که می سازید در درجه اول باید تصاویری باشند که خطوط اصلی تصویر با  رنگ (0و0و200) و فضای پر شده هر قسمت از تصویر با رنگ سیاه (0و0و0) ساخته شده باشند. بقیه رنگ ها بطور کلی در نظر گرفته نمی شوند.

2 . الگوهای ساخته شده توسط شما نباید زیاد بزرگ باشند . بهتر است از نرم افزار پینت برای درست کردن الگوهای خود استفاده کنید تا حساب کار دستتان بیاید.

3 . تصاویری را هم که می خواهید با این الگوها بسازید بهتر است زیاد بزرگ نباشند تا تصاویر بدست آمده نهایی زیاد بزرگ نباشند برای مشاهده بهتر نتیجه کار بهتر است آن را ذخیر کرده و در نرم افزار پینت مشاهده کنید.

 

نرم افزار را می توانید بطور رایگان از اینجا دانلود کنید

دانلود رایگان فایل DLL ساعت

دانلود رایگان فایل DLL ساعت

در این پست فایل کتابخانه ای (DLL) ساعت که به دو شکل متداول و پر کاربرد در همه نرم افزار ها دیده می شود را برای دانلود قرار داده ام.

استفاده از آن حتی از روش استفاده از فضای نام گلوبالیزیشن نیز بسیار آسانتر است .

روش استفاده :

1 . پس از دانلود فایل آن را از حالت فشرده خارج کنید .

2 . فایل را به ریسورس برنامه خود اضافه کنید.

3 . در قسمت یوزینگ بنویسید.

using Adiban;
4 . یک نمونه از کلاس  را به روش زیر و با نام دلخواه خود ایجاد کنید.
Tarikh T1 = new Tarikh();
5 . پس از ایجاد نمونه با نام دلخواه خود می توانیدبه کمک همین نام  به دو نوع نوشتار از تاریخ به نام های تیپ 1 و تیپ 2 دسترسی داشته باشید و به دلخواه خود از هر کدام که مایل بودید برای تکست یک لیبل و یا تکست یک تکست باکس استفاده کنید .

label1.Text = T1.Type1();

textBox1.Text = T1.Type2();

شکل نهایی بدست آمده از تیپ 1 :        1398/11/8

شکل نهایی بدست آمده از تیپ 2 : سه شنبه 8 بهمن ماه 1398


فایل را از اینجا دانلود کنید



Inheritance : ارث بری

در سی شارپ می توان فیلدها یا پروپرتی ها و متدها را از یک کلاس دیگر نیز به ارث برد . به این رفتار (Inheritance) یا ارث بری می گویند در مفهوم "ارث بری" با دودسته مواجه می شویم .

دسته اول کلاس های پایه یا والد که به (Base Class) یا (Parent) نام گذاری شده اند: کلاس های دیگر از این نوع کلاس ارث می برند.

دسته دوم کلاس های نشأت گرفته شده یا فرزند که به (Derived Class) یا (child) نام گذاری شده اند: این نوع کلاس ها از کلاس نوع اول ارث می برد. برای ارث بری از یک کلاس از علامت (:) استفاده می کنیم.

در مثال پایین کلاس "ماشین" (Car) تمام فیلدها و متدها را از کلاس "وسیله نقلیه" (Vehicle) ارث می برد.

 

class Vehicle // base class (parent)

{

public string brand = "Ford"; // Vehicle field

public void honk() // Vehicle method

{

Console.WriteLine("Tuut, tuut!");

}

}

 

class Car : Vehicle // derived class (child)

{

public string modelName = "Mustang"; // Car field

}

 

class Program

{

static void Main(string[] args)

{

ساخت یک شی از کلاس car //

Car myCar = new Car();

صدا زدن متد هونک از کلاس ویسل بوسیله شی یا نمونه ای از کلاس car //

myCar.honk();

نمایش محتوای فیلد brand (از کلاس ویسل)و محتوای (modelName) از کلاس Car //

Console.WriteLine(myCar.brand + " " + myCar.modelName);

}

}

 

استفاده از ارث بری بخاطر استفاده مجدد از فیلدها و متدهایی است که ما قبلا در کلاس های دیگر نوشته ایم.

اگر ما نخواهیم کلاس های دیگر از یک کلاس ما ارث بری داشته باشند ما باید کلاسمان را بصورت مهر و موم شده (sealed) اعلان کنیم .

اگر کسی سعی کند از یک کلاس (sealed) ارث بری داشته باشد با پیام خطا مواجه می شود.

در مثال پایین کلاس (Car) نمی تواند از کلاس (Vehicle) ارث بری داشته باشد. و در صورت انجام این کار با پیام خطا مواجه می شود

sealed class Vehicle 
{
  ...
}
 
class Car : Vehicle 
{
  ...
}

مفهوم overloading به زبان ساده در برنامه نویسی

مفهوم overloading به زبان ساده در برنامه نویسی :

گاهی اوقات ممکن است شما بخواهید متدی با یک نام منحصر به فرد داشته باشد که با آن ، بر روی دو نوع داده یک عملیات مشابه انجام دهید (مثلا عملیات جمع) . همانطور که می دانید به دلیل متفاوت بودن نوع داده ها اینکار ممکن نیست . و بطور معمول ما سراغ دو متد با نام های متفاوت می رویم . شبیه آنچه در پایین می بینید .

static int PlusMethodInt(int x, int y)

{

  return x + y;

}

 

static double PlusMethodDouble(double x, double y)

{

  return x + y;

}

همانطور که می بینید ما از دو متد با نام های متفاوت استفاده می کنیم که اندکی ناخوشآیند است .ولی می توان کاری کرد که به هدفمان یک قدم نزدیکتر شویم و آن استفاده از overloading است overloading به این صورت است که شما در واقع دو متد را با یک نام تعریف می کنید ولی تفاوت این دو متد در نوع پارامترها و آرگومان های آنهاست. شبیه آنچه در پایین می بینید

 static int PlusMethod(int x, int y)

{

return x + y;

}

 

static double PlusMethod(double x, double y)

{

return x + y;

}

 

با این کار در واقع ما با استفاده از یک نام مشترک اعدادی از نوع (int) را با همدیگر ، و همچنین اعدادی از نوع (double) را نیز با همدیگر جمع می کنیم و نیازی به استفاده از دو اسم متفاوت نداریم.