صفحه 14 از 14 اولاول ... 4121314
نمایش نتایج 521 تا 533 از 533

نام تاپیک: 1001 نکته در سی شارپ

  1. #521

    نقل قول: 1001 نکته در سی شارپ

    تابع محاسبه ب.م.م به روش بازگشتی :

    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;
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 04:21 صبح

  2. #522

    نقل قول: 1001 نکته در سی شارپ

    تابع معکوس یک رشته :

    public static string ReverseString(string s)
    {
    char[] arr = s.ToCharArray();
    Array.Reverse(arr);
    return new string(arr);
    }

  3. #523

    نقل قول: 1001 نکته در سی شارپ

    یک برنامه جمع و جور کنسولی برای جایگشت . توجه کنید که برای ورودی از شما یک استرینگ درخواست میشود مثل 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;
    }
    }
    }
    //-----------------------------------------------------------------------------------------------------------------------
    }
    }

  4. #524

    نقل قول: فراخوانی یک متد با یک Thread‌جداگانه

    نقل قول نوشته شده توسط Amir Oveisi مشاهده تاپیک
    معمولا متدهایی که بار پردازشی زیادی دارند موجب کندی برنامه میشن
    برای جلوگیری از این کار میشه این متد هارو با استفاده از یک Thread متفاوت از Thread اصلی برنامه فراخوانی کرد.
    using System.Threading;


    فرض کنیم این متد رو داریم :

    void DoSomething()
    {
    ...
    }

    تعریف Thread جدید برای متد مورد نظر :
    Thread  myThread = new Thread(new ThreadStart(this.DoSomthing));


    فراخوانی متد با استفاده از متد تعریف شده‌:
    myThread.Start();


    برای متوقف کردن Thread‌ایجاد شده :
    myThread.Abort();


    نکته :‌
    هر Thread‌فقط میتواند با object هایی کار کند که خودش آنها را ایجاد کرده است. مثلا اگر در متد DoSomething‌شما بخواهید با یک label که روی فرم است کار کنید cross-thread exception رخ خواهد داد چون آن label بوسیله Thread‌اصلی برنامه ایجاد شده است.
    این قابل تغییر هست:
    نکته :‌
    هر Thread‌فقط میتواند با object هایی کار کند که خودش آنها را ایجاد کرده است. مثلا اگر در متد DoSomething‌شما بخواهید با یک label که روی فرم است کار کنید cross-thread exception رخ خواهد داد چون آن label بوسیله Thread‌اصلی برنامه ایجاد شده است.
    در سازنده فرم CheckForIllegalCrossThreadCallsرو false کنید میتونید از کنترلهای threadهای دیگه هم (از جمله برنامه اصلی) استفاده کنید
     public Form1()        {
    InitializeComponent();
    CheckForIllegalCrossThreadCalls = false;
    }


    با تشکر

  5. #525
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    پونک
    سن
    38
    پست
    490

    نقل قول: فراخوانی یک متد با یک Thread‌جداگانه

    نقل قول نوشته شده توسط mreram مشاهده تاپیک
    این قابل تغییر هست:

    در سازنده فرم CheckForIllegalCrossThreadCallsرو false کنید میتونید از کنترلهای threadهای دیگه هم (از جمله برنامه اصلی) استفاده کنید
     public Form1()        {
    InitializeComponent();
    CheckForIllegalCrossThreadCalls = false;
    }


    با تشکر
    این کار زیاد مناسب نیست، با این کار در واقع به CLR میگیم که خطا نده، دسترسی و تغییر یک شی از طریق ترد دیگه ممکنه نتیجه غیرقابل پیش بینی داشته باشه.
    درستش اینه که از متد Invoke مربوط به کنترلی که میخواهیم باهاش کار کنیم استفاده کنیم.

  6. #526
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    fekrenaw.com
    پست
    153
    با پوزش؛
    نمی دانم چرا اکثر ما برنامه نویسا عادت کردیم لقمه را بچرخونیم. خوب ساده ترش این باید باشد:

    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();
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 04:27 صبح

  7. #527

    Thumbs up

    روش اول:
    باعث غیرفعال شدن راست کلیک و کلید های ترکیبی
    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;
    }
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 27 خرداد 1394 در 03:24 صبح

  8. #528
    کاربر دائمی آواتار asman.abi
    تاریخ عضویت
    اسفند 1391
    محل زندگی
    ایران
    پست
    187
    ذخیره کردن هر نوع فایلی در متغیر 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();
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 14 تیر 1394 در 23:20 عصر

  9. #529

    نقل قول: 1001 نکته در سی شارپ

    تنظیم تکس باس برای دریافت ورودی واحد پول "تومان"

      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);
    }
    }

  10. #530
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    850

    بدست آوردن میزان مصرف Cpu

        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()  + " % ";
    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 23 شهریور 1395 در 18:41 عصر

  11. #531

    تولید N عدد تصادفی بدون تکرار - با استفاده از HashSet


    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;
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 20 خرداد 1397 در 10:03 صبح

  12. #532

    نقل قول: 1001 نکته در سی شارپ

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

    نحوه صدا زدنش به این صوررته
    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;
    }

    }
    }
    }
    }

  13. #533

    نقل قول: جابجا کردن فرم با کلیک بر روی هر قسمت از آن - با استفاده از توابع API

    با سلام کسی dll های نرم افزار حضور و غیاب رو داره یا میتونه راهنمایی کنه از کجا میتونم تهیه کنم


صفحه 14 از 14 اولاول ... 4121314

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •