یادداشت های یک برنامه نویس

نکات برنامه نویسی ، معرفی نرم افزار و علایق شخصی

MHV Indicator

کتابخانه برای محاسبه اندیکاتور RSI

چطور می توانیم یک زبان برنامه نویسی ایجاد کنیم؟

من فکر می کنم همه توسعه دهندگان کنجکاو، حداقل یک بار این را پرسیده اند. طبیعی است که مجذوب نحوه کار زبان های برنامه نویسی شوید. متأسفانه، بیشتر پاسخهایی که می خوانیم بسیار آکادمیک یا نظری هستند. برخی دیگر حاوی جزئیات بیش از حد هستند. بعد از خواندن آنها ما هنوز تعجب می کنیم که آن ها در عمل چگونه کار می کنند.

بنابراین ما می خواهیم به آن پاسخ دهیم. بله! روند ایجاد یک زبان کامل با یک کامپایلر برای آن را خواهیم دید.

هشدار unable to ... for 60 seconds در Visual Studio

احتمالا در Visual Studio هنگام اجرای برخی برنامه ها در مد Debug وقتی انجام کاری بیش از یک دقیقه طول می کشد به هشدار زیر برخورد کرده اید:

تعریف تابع و انواع پارامتر های آن در Dot NET

توابع می توانند بدون ورودی و خروجی یا با هر یک از آن ها یا همزمان با هر دو باشند.

مثال زیر یک تابع بدون ورودی و خروجی است:

//C#.net:
void Print()
{
    MessageBox.Show("Hi!");
}

//Use:
Print();
'VB.NET:
Sub Print()
       MessageBox.Show("Hi!")
End Sub

'Use:
Print()

افزودن Them به Visual Studio

با استفاده از Color Theme Editor for Visual Studio میتونید تم های بیشتری (با امکان ویرایش) به Visual Studio اضافه کنید.

ویرایشگر متن Visual Studio Code

Visual Studio Code محصولی رایگان از مایکروسافت یک نرم افزار ویرایشگر متن سبک با پشتیبانی از انواع زبان های برنامه نویسی است. علاوه بر ویژگی های برتر این نرم افزار نسبت به سایر برنامه های مشابه مانند ++Notepad و Sublime Text و Atom و... یک ویژگی خوبش برای ما سازگاری با زبان فارسی است.

Extension تقویم جلالی برای Dot NET

با استفاده از MHVPersianExtension به راحتی می توانید از تمامی امکانات DateTime برای تقویم جلالی استفاده کنید. برخی ویژگی های آن را با هم مرور می کنیم:

DateTime date1 = "1367/01/08".JalaliToGregorian();

در کد بالا مقدار String را به DateTime تبدیل کردیم. و در DateTime می توانیم همه ویژگی های تقویم میلادی را برای تقویم هجری شمسی نیز داشته باشیم:

ساختن Extension در Dot NET

Extension چیست؟ برای مثال ToString درکد زیر یک Extension برای نوع Integer است که آن را به string تبدیل می کند :

int primary = 1;
string result;
result = primary.ToString();

حال می خواهیم خودمان یک Extension بسازیم، برای مثال برای نوع integer یک Extension می سازیم که به آن یک واحد اضافه می کند:

دسترسی به کنترل ها با استفاده از رشته

میخواهیم با استفاده از نام یک کنترل به صورت رشته، به آن کنترل به صورت داینامیک دسترسی پیدا کنیم و از آن استفاده کنیم. برای مثال یک کنترل از نوع فرم را صدا زنی و نمایش می دهیم:

Dim ProjAndForm = "WindowsApplication1.Form2"  '' String Of Your Project And Form Name
Dim objType As Type = Type.[GetType](ProjAndForm) '' Get Type Of your string
Dim objForm As Control = DirectCast(Activator.CreateInstance(objType), Control) '' Convert Type to Control and now you can use this Control
objForm.Show()