کریستین سافت

آموزش برنامه نویسی و سورس سی شارپ , اندروید

کریستین سافت

آموزش برنامه نویسی و سورس سی شارپ , اندروید

۵۰ مطلب با موضوع «آموزش سی شارپ» ثبت شده است

۱۸
آبان
۹۶

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



private void button1_Click(object sender, EventArgs e) { string[] drive = Environment.GetLogicalDrives(); string str = ""; foreach (string s in drive) { str += s + "\n"; } MessageBox.Show(str); }

کار اصلی در کد بالا را خط :

string[] drive = Environment.GetLogicalDrives();

انجام می دهد.


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


  • علی بابایی کلجاهی
۰۸
آبان
۹۶

در این سورس ابتدا از کاربر می خواهیم که اعداد داخل ماتریس ها را وارد کند و سپس عملیات ضرب ماتریس ها انجام می شود و در یک ماتریس دیگر ذخیره و نمایش داده می شود.


using System;

namespace Test_Matris
{
class Program
{
static void Main(string[] args)
{

int m = 3;

int[,] A = new int[m, m];
int[,] B = new int[m, m];
int[,] C = new int[m, m];

Console.WriteLine("Enter Matris A : " + "\n\n");
for (int i = 0; i < m; i++)
{
for (int j = 0; j < m; j++)
{
Console.Write(" A[{0},{1}]= ", i, j);
A[i, j] = int.Parse(Console.ReadLine());
}
}

Console.WriteLine("\n\n"+"Enter Matris B : " + "\n\n");
for (int i = 0; i < m; i++)
{
for (int j = 0; j < m; j++)
{
Console.Write(" B[{0},{1}]= ", i, j);
B[i, j] = int.Parse(Console.ReadLine());
}
}

Console.WriteLine("\n\n"+"Multiply A to B in C : " + "\n\n");

for (int i = 0; i < m; i++)
{
for (int j = 0; j < m; j++)
{
C[i , j] = 0;

for (int k = 0; k < m; k++)
{
C[i, j] += A[i, k] * B[k, j];
}
Console.WriteLine("C[{0},{1}]={2}", i, j, C[i, j]);
}
}

Console.ReadKey();
}
}
}


  • علی بابایی کلجاهی
۰۶
آبان
۹۶

در این سورس کد با استفاده از Beep ها سرود ملی ایران رو در محیط کنسول یا (cmd) به اجرا در می آوریم و همچنین پرچم ایران رو به نمایش می گذاریم.



دانلود سورس کد

  • علی بابایی کلجاهی
۲۰
مهر
۹۶


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


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


کد سی شارپ :

* در این کد ما فرض می کنیم آرایه ای که داریم مرتب شده هست.

سورس مرتب سازی حبابی با سی شارپ


using System;
using System.Text;

namespace Binary_Search_Cristiansoft
{
class Program
{
static void Main(string[] args)
{
int left=0,right=0,middle=0,key=0,f=0;

//آرایه

int[] array = {10,22,33,44,55,66,77,88,99,111};

// دریافت عدد برای جستجو در آرایه

Console.WriteLine("Enter a number for search : ");
key = int.Parse(Console.ReadLine());

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

while(left <= right)
{
middle = (int) ((left + right)/2);
if(key == array[middle])
{
Console.WriteLine(Found !!!);
f = 1;
break;
}
if(key > array[middle])
{
left = middle + 1;
}
if(key < array[middle])
{
left = middle - 1;
}
}

if(f == 0)
{
Console.WriteLine("Sorry , Not Found!!!");
}

// پایان عملیات جستجوی باینری

Console.ReadKey();
}
}
}


  • علی بابایی کلجاهی
۱۵
مهر
۹۶

یک دکمه بر روی فرم قرار دهید و سپس بر روی آن دوبار کلیک کرده و کدهای زیر را در رویداد کلیک بنویسید :



private void button1_Click(object sender, EventArgs e) { Random RandomClass = new Random(); int rndRed = RandomClass.Next(0, 255); int rndGreen = RandomClass.Next(0, 255); int rndBlue = RandomClass.Next(0, 255); this.BackColor = Color.FromArgb(rndRed, rndGreen, rndBlue); }


  • علی بابایی کلجاهی
۱۵
مهر
۹۶

برای تبدیل تاریخ میلادی به شمسی می توان از متد زیر استفاده کرد :


string PersianDate(DateTime DateTime1) { PersianCalendar PersianCalendar1 = new PersianCalendar(); return string.Format(@"{0}/{1}/{2}", PersianCalendar1.GetYear(DateTime1), PersianCalendar1.GetMonth(DateTime1), PersianCalendar1.GetDayOfMonth(DateTime1)); }

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

using System.Globalization;
  • علی بابایی کلجاهی
۱۵
مهر
۹۶

ابتدا در قسمت sulotion Explorer روی نام پروژه راست کلیک کنید و سپس گزینه Add Refrence را بزنید و از پنجره باز شده در داخل تب .NET گزینه System.Management را انتخاب کنید.


سپس این namespace را اضافه کنید:

using System.Management;

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

public string GetCPUId()
{
	string cpuInfo = String.Empty;
	ManagementClass mgmt = new ManagementClass("Win32_Processor");
	ManagementObjectCollection objCol = mgmt.GetInstances();

	foreach (ManagementObject obj in objCol)
	{
		if (cpuInfo == String.Empty)
		{
			cpuInfo = obj.Properties["ProcessorId"].Value.ToString();
		}
	}
	return cpuInfo;
}

خروجی این تابع از نوع رشته ای است.

  • علی بابایی کلجاهی
۲۳
شهریور
۹۶

یک برنامه ویندوزی ایجاد کنید و داخل فرم یک textbox قرار دهید و خاصیت MultiLine تکست باکس رو true کنید .

سپس یک دکمه بر روی فرم قرار دهید.

حال با دو بار کلیک بر روی دکمه کدهای زیر را در محیط کدنویسی وارد کنید :

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
const uint EM_GETLINECOUNT = 0xBA;
IntPtr wp = IntPtr.Zero;
IntPtr lp = IntPtr.Zero;


private void button1_Click(object sender, EventArgs e)
{
IntPtr lines = SendMessage(textBox1.Handle, EM_GETLINECOUNT, wp, lp);
MessageBox.Show(lines.ToInt32().ToString());
}

}
}

حال برنامه را اجرا و در درون textBox چند خط بنویسید و بر روی دکمه کلیک و نتیجه را مشاهده نمایید.

  • علی بابایی کلجاهی
۱۱
شهریور
۹۶

برای عکس گرفتن از صفحه دسکتاب یک دکمه بر روی فرم قرار دهید و سپس بر روی دکمه دوبار کلیک کرده و کد زیر را در کنترل کننده رویداد کلیک آن بنویسید :


private void button1_Click(object sender, EventArgs e)
{
int screenWidth = Screen.PrimaryScreen.Bounds.Width;
int screenHeight = Screen.PrimaryScreen.Bounds.Height;

Graphics Graphics1;
Bitmap Bitmap1 = new Bitmap(screenWidth, screenHeight);
Graphics1 = Graphics.FromImage(Bitmap1);
Graphics1.CopyFromScreen(Point.Empty, Point.Empty, Screen.PrimaryScreen.Bounds.Size);
Bitmap1.Save(@"c:\1.bmp");
}


برنامه را اجرا کرده و بر روی دکمه کلیک نمایید. به درایو C رفته ، مشاهده می کنید که عکسی با نام و پسوند 1.bmp ذخیره شده است.

  • علی بابایی کلجاهی
۲۲
مرداد
۹۶
ابتدا فضای نامی زیر را به قسمت using ها اضافه کنید :

using System.Net;
سپس در در رویداد click دکمه و یا رویداد load فرم کد زیر رو بنویسید :

private void Form1_Load(object sender, EventArgs e)
{
label1.Text = "Host Name : " + Dns.GetHostName() + " ";
foreach (IPAddress adres in Dns.GetHostAddresses(Dns.GetHostName()))
{
label2.Text = "IP Address : " + adres + " ";
}

}

  • علی بابایی کلجاهی
۱۸
مرداد
۹۶

اگر بخواهید عکس داخل PictureBox را در مکان دلخواه ذخیره کنید می توانید در رویداد Click این کنترل کدهای زیر را بنویسید :



using System; using System.Windows.Forms; using System.Drawing.Imaging; namespace SavePictureBoxImage { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void pictureBox1_Click(object sender, EventArgs e) { SaveFileDialog SaveFileDialog1 = new SaveFileDialog(); SaveFileDialog1.Filter = "Images|*.png;*.bmp;*.jpg"; ImageFormat format = ImageFormat.Png; if (SaveFileDialog1.ShowDialog() == DialogResult.OK) { string Extension = System.IO.Path.GetExtension(SaveFileDialog1.FileName); switch (Extension) { case ".jpg": format = ImageFormat.Jpeg; break; case ".bmp": format = ImageFormat.Bmp; break; } pictureBox1.Image.Save(SaveFileDialog1.FileName, format); } } } }


  • علی بابایی کلجاهی
۱۸
مرداد
۹۶

برای تست اینکه به اینترنت متصل هستید یا خیر، ابتدا یک دکمه به فرم اضافه کرده و کد زیر را در کنترل کننده رویداد آن بنویسید :



private void button1_Click(object sender, EventArgs e) { Ping ping = new Ping(); PingReply pingStatus = ping.Send("google.com"); if (pingStatus.Status == IPStatus.Success) { MessageBox.Show("Connected"); } else { MessageBox.Show("Disonnected"); } }

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


using System.Net.NetworkInformation;
  • علی بابایی کلجاهی