تابع محاسبه ب.م.م به روش بازگشتی :
static int gcd(int x, int y)
{
int Ret = 0;
if (y <= x && x % y == 0)
Ret = y;
else if (x < y)
Ret = gcd(y, x);
else
Ret = gcd(y, x % y);
return Ret;
}
Printable View
تابع محاسبه ب.م.م به روش بازگشتی :
static int gcd(int x, int y)
{
int Ret = 0;
if (y <= x && x % y == 0)
Ret = y;
else if (x < y)
Ret = gcd(y, x);
else
Ret = gcd(y, x % y);
return Ret;
}
تابع معکوس یک رشته :
public static string ReverseString(string s)
{
char[] arr = s.ToCharArray();
Array.Reverse(arr);
return new string(arr);
}
یک برنامه جمع و جور کنسولی برای جایگشت . توجه کنید که برای ورودی از شما یک استرینگ درخواست میشود مثل ABC .
در خروجی جایگشتهای آن ، یعنی ABC، ACB، BAC و ... درج میشود . میدانیم که تعداد جایگشتهای n شی متمایز برابر n فاکتوریل است .
//-------------------------------------------------//
//---- نوشته شده توسط محمد جواد پيشوايي ----- //
//---- Microsoft Visual Studio 2010 ----- //
//---- ConsoleApplication ----- //
//------- جایگشتهای n عنصر --------------------//
//-------------------------------------------------//
using System;
using System.Linq;
using System.Collections;
using System.Text;
using System.IO;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
namespace ConsoleApplication
{
class Program
{
static int n;
static char[] mArr;
static void Main(string[] args)
{
string str;
Console.Write("we obtain permutation of n character In a string . please input string (Ex:ABC) =>");
str = Console.ReadLine();
mArr=str.ToCharArray();
n=mArr.Length-1 ;
perm(0 );
Console.ReadKey();
}
//-----------------------------------------------------------------------------------------------------------------------
static void perm(int k)
{
if (k == n)
Console.WriteLine ( String.Concat(mArr));
else
{
for (int i = k; i <= n; i++)
{
char temp = mArr[i];
mArr [i] = mArr[k];
mArr[k] = temp;
perm(k + 1);
mArr[k] = mArr[i];
mArr[i] = temp;
}
}
}
//-----------------------------------------------------------------------------------------------------------------------
}
}
این قابل تغییر هست:
در سازنده فرم CheckForIllegalCrossThreadCallsرو false کنید میتونید از کنترلهای threadهای دیگه هم (از جمله برنامه اصلی) استفاده کنیدنقل قول:
نکته :
هر Threadفقط میتواند با object هایی کار کند که خودش آنها را ایجاد کرده است. مثلا اگر در متد DoSomethingشما بخواهید با یک label که روی فرم است کار کنید cross-thread exception رخ خواهد داد چون آن label بوسیله Threadاصلی برنامه ایجاد شده است.
public Form1() {
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
}
با تشکر
با پوزش؛
نمی دانم چرا اکثر ما برنامه نویسا عادت کردیم لقمه را بچرخونیم. خوب ساده ترش این باید باشد:
SqlConnection c1 = newSqlConnection("Data Source=studio;InitialCatalog=AccountDb;Integrated Security=True");
SqlCommand cmd1 = newSqlCommand("InsertGroup", c1); cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.AddWithValue("@Code", txtb_Code_G.Text);
cmd1.Parameters.AddWithValue("@Sal", txtb_Sal_Mali.Text);
cmd1.Parameters.AddWithValue("@Name", txtb_Name_G.Text); c1.Open(); cmd1.ExecuteNonQuery(); c1.Close();
روش اول:
باعث غیرفعال شدن راست کلیک و کلید های ترکیبی
CTRL+Z,CTRL+E,CTRL+C,CTRL+Y,CTRL+X,CTRL+BACKSPACE, CTRL+V,CTRL+DELETE,CTRL+A,SHIFT+DELETE,CTRL+L,SHIF T+INSERT,CTRL+R
در TextBox میشه
private void Form1_Load(object sender, EventArgs e)
{
textBox1.ShortcutsEnabled = false;
}
روش دوم:
private void Form1_Load(object sender, EventArgs e)
{
textBox1.ContextMenuStrip = new ContextMenuStrip();
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode==Keys.V) //غیر فعال کردن عملکرد paste
{
e.SuppressKeyPress = true;
}
}
ذخیره کردن هر نوع فایلی در متغیر byte
byte[] fd;
OpenFileDialog o = new OpenFileDialog();
if (o.ShowDialog() != DialogResult.Cancel)
{
filename = o.FileName;
FileStream st = new FileStream(filename, FileMode.Open, FileAccess.Read);
FileInfo fi = new FileInfo(filename);
fd = new byte[fi.Length];
st.Read(fd, 0, (int)fi.Length);
st.Close();
}
تنظیم تکس باس برای دریافت ورودی واحد پول "تومان"
private void txt1_TextChanged_1(object sender, EventArgs e)
{
if (txt1.Text == string.Empty)
{
return;
}
else
{
txt1.Text = string.Format("{0:0,00}", double.Parse(txt1.Text));
txt1.Select(txt1.Text.Length, 0);
}
}
public class CpuUsing {
private readonly PerformanceCounter _cpuUsing = new PerformanceCounter();
public double Progress()
{
_cpuUsing.CategoryName = "Processor";
_cpuUsing.CounterName = "% Processor Time";
return _cpuUsing.NextValue();
}
}
طریقه استفاده
باید قطعه کد زیر در رویداد کنترل تایمر نوشته شود و پروپرتی تایمر ترو شود
label1.Text = "میزان مصرف پردازنده : " + new CpuUsing().Progress() + " % ";
public static int[] RandomNumbers(int n,int min,int max)
{
Random rnum = new Random();
HashSet<int> hset = new HashSet<int>();
while (hset.Count < n)
hset.Add(rnum.Next(min,max));
int[] OutPut = hset.ToArray();
return OutPut;
}
با استفاده از این کلاس.هرچنتا تکس باکس با هر نامی روی فرم باشه رو خالی میکنه
نحوه صدا زدنش به این صوررتهutility.MyTextBoxes(this, "Clear");
یه کلاس ایجاد کنین و کد های زیر درونش قرار بدین
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
public class utility
{
public static void MyTextBoxes(Control container, string CommandName)
{
foreach (Control c in container.Controls)
{
MyTextBoxes(c, CommandName);
if (c is TextBox)
{
switch (CommandName)
{
case "Clear":
c.Text = "";
break;
case "ReadOnly":
((TextBox)c).ReadOnly = true;
break;
}
}
}
}
}
با سلام کسی dll های نرم افزار حضور و غیاب رو داره یا میتونه راهنمایی کنه از کجا میتونم تهیه کنم
شنیدین میگن سی شارپ یه دریای بیکرانه از امکاناته؟ واقعاً هم همینطوره! هر چقدر بیشتر باهاش کار میکنم، بیشتر متوجه عمق و قدرتش میشم. یه نکته کوچیک ولی خیلی کاربردی که تو این مدت یاد گرفتم اینه که چقدر استفاده درست از LINQ (Language Integrated Query) میتونه کد رو خواناتر و کوتاهتر کنه. قبلاً برای فیلتر کردن یا مرتب کردن لیستها کلی حلقه foreach مینوشتم، ولی الان با LINQ میتونم همون کار رو با یه خط کد شبیه به کوئریهای SQL انجام بدم. این نه تنها سرعت توسعه رو بالا میبره، بلکه نگهداری کد رو هم خیلی آسونتر میکنه. اگه تازه شروع کردین به یادگیری این زبان شیرین، حتماً یه نگاه جدی به LINQ بندازین، چون واقعاً یه ابزار قدرتمند تو جعبه ابزار هر برنامه نویس سی شارپ به حساب میاد. برای یادگیری عمیقتر این مبحث و کلاً آموزش برنامه نویسی سی شارپ، توصیه میکنم دنبال منابعی بگردین که LINQ رو به صورت جامع توضیح دادن و مثالهای عملی زیادی دارن.