امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
1001 نكته در #C
نویسنده پیام
esmaeily-hosein آفلاین
كاربر دو ستاره
**

ارسال‌ها: 232
موضوع‌ها: 12
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 91 تشکر در 46 ارسال )
ارسال: #23
RE: 1001 نكته در #C
منظورم متغیر searcher بود ولی هیچ جا تعریف نشده .
کد:
foreach (ManagementObject mo in searcher.Get())

هر چی روش خوبه توش خوب نیست!
۲۱-اردیبهشت-۱۳۸۹, ۱۶:۴۷:۵۶
ارسال‌ها
پاسخ
تشکر شده توسط : salehjg
moam آفلاین
كاربر دو ستاره
**

ارسال‌ها: 110
موضوع‌ها: 12
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 71
( 222 تشکر در 92 ارسال )
ارسال: #24
RE: 1001 نكته در #C
شما کد رو اجرا کنید!!! ممنون که دقت نظر دارین.
اجرا کردن یک برنامه بدون نمایش دادن پنجره آن یعنی فقط در Process قرار دارد و اجرا میش
کد:
1.System.Diagnostics.ProcessStartInfo process_i = new  System.Diagnostics.ProcessStartInfo();
2.           process_i.FileName = "Notepad.Exe";
3.           process_i.Windowstyle=System.Diagnostics.ProcessWindowStyle.Hidden;
4.           System.Diagnostics.Process process = new  System.Diagnostics.Process();
5.           process.StartInfo = process_i; process.Start();
دادن اولویت به یک پردازش (Set Priority)
کد:
1.System.Diagnostics.Process process = new  System.Diagnostics.Process();
2.process.StartInfo.FileName= "Notepad.Exe";
3.process.Start();
4.process.PriorityClass =  System.Diagnostics.ProcessPriorityClass.High; //High - Normal -  AboveNormal - RealTime - Low
(آخرین ویرایش در این ارسال: ۲۶-اردیبهشت-۱۳۸۹, ۰۲:۱۵:۳۰، توسط moam.)
۲۶-اردیبهشت-۱۳۸۹, ۰۲:۰۸:۵۳
ارسال‌ها
پاسخ
تشکر شده توسط : ajlajlajl, salehjg
moam آفلاین
كاربر دو ستاره
**

ارسال‌ها: 110
موضوع‌ها: 12
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 71
( 222 تشکر در 92 ارسال )
ارسال: #25
RE: 1001 نكته در #C
اگه در برنامتون بخايد از برقراري ارتباط با اينترنت اطمينان حاصل كنيد ، كد زير اين كار رو براتون انجام ميده :
کد:
bool NETAVL;
Microsoft.VisualBasic.Devices.Network AVL = new Microsoft.VisualBasic.Devices.Network();
NETAVL = AVL.IsAvailable;

switch (NETAVL)
{
    case true:
        MessageBox.Show("Internet Is Available");
        break;
    case false:
        MessageBox.Show("Internet Is Not Available");
        break;
}
لبته قبلش يادتون باشه رفرنس Microsoft.VisualBasic رو به پروژتون اضافه كنيد .
۲۷-اردیبهشت-۱۳۸۹, ۰۲:۰۰:۰۱
ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig, salehjg
moam آفلاین
كاربر دو ستاره
**

ارسال‌ها: 110
موضوع‌ها: 12
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 71
( 222 تشکر در 92 ارسال )
ارسال: #26
رمزنگاری دودویی یا Binary Cryptography
با عرض سلام خدمت تمام دوستان عزیز ؛ دوستان تا حالا با الگوریتم های مختلف رمز نگاری

و هشینگ و کدینگ و ... آشنایی داشتند از جمله : AES , RSA , MD5 , ... که تو همشون

رشته ورودی معمولا تبدیل میشد باز به رشته ای از حروف و کاراکتر ها !

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

به اعداد 0 و1 (باینری) که در واقع خوبی این روش اینه که به احتمال خیلی زیاد کشف کردن

رشته ورودی از روی یکسری اعداد دودویی (صفر و یک) کار آسانی نخواهد بود .

(بشرطی که الگوریتم برنامه در دسترس نباشد )


فایل‌(های) پیوست شده
.rar   String to Binary.rar (اندازه: 118.86 KB / تعداد دفعات دریافت: 72)
۲۸-اردیبهشت-۱۳۸۹, ۰۱:۵۴:۵۲
ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig, samadblaj
moam آفلاین
كاربر دو ستاره
**

ارسال‌ها: 110
موضوع‌ها: 12
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 71
( 222 تشکر در 92 ارسال )
ارسال: #27
RE: 1001 نكته در #C
اگه بخوایم داده تکراری وارد وارد جدول نکنیم. میشه از قطعه کد زیر کمک گرقت.
کد:
SqlDataAdapter1.Fill(DataSet1, "m1")
        DataGridView1.DataSource = DataSet1
        DataGridView1.DataMember = "m1"
که البته باید قبل از دستور insert و بعد از دستور select قرار بگیره.
بعد با یک جستجوی ساده روی اطلاعات دیتا گرید میشه فهمید که اطلاعات تکراری هست یا نه.
۳۰-اردیبهشت-۱۳۸۹, ۲۳:۵۰:۳۸
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #28
RE: 1001 نكته در #C
(۲۸-اردیبهشت-۱۳۸۹, ۰۱:۵۴:۵۲)moam نوشته است: خوبی این روش اینه که به احتمال خیلی زیاد کشف کردن رشته ورودی از روی یکسری اعداد دودویی (صفر و یک) کار آسانی نخواهد بود .

اتفاقا اولین چیزی که آدم بعد از دیدن همچین چیزی به ذهنش میرسه همون الگوریتمی هست که نوشتید.

(۳۰-اردیبهشت-۱۳۸۹, ۲۳:۵۰:۳۸)moam نوشته است: اگه بخوایم داده تکراری وارد وارد جدول نکنیم. میشه از قطعه کد زیر کمک گرقت.

با یه select با شرط و count و یه ExecuteScalar خیلی راحت تر میشه اینکارو کرد.

میزان رای دشمن است!
[تصویر:  cff100.png]
۳۱-اردیبهشت-۱۳۸۹, ۱۳:۴۰:۲۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig, salehjg
moam آفلاین
كاربر دو ستاره
**

ارسال‌ها: 110
موضوع‌ها: 12
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 71
( 222 تشکر در 92 ارسال )
ارسال: #29
RE: 1001 نكته در #C
(۳۱-اردیبهشت-۱۳۸۹, ۱۳:۴۰:۲۴)ajlajlajl نوشته است:
(۲۸-اردیبهشت-۱۳۸۹, ۰۱:۵۴:۵۲)moam نوشته است: خوبی این روش اینه که به احتمال خیلی زیاد کشف کردن رشته ورودی از روی یکسری اعداد دودویی (صفر و یک) کار آسانی نخواهد بود .

اتفاقا اولین چیزی که آدم بعد از دیدن همچین چیزی به ذهنش میرسه همون الگوریتمی هست که نوشتید.

(۳۰-اردیبهشت-۱۳۸۹, ۲۳:۵۰:۳۸)moam نوشته است: اگه بخوایم داده تکراری وارد وارد جدول نکنیم. میشه از قطعه کد زیر کمک گرقت.

با یه select با شرط و count و یه ExecuteScalar خیلی راحت تر میشه اینکارو کرد.

جسارتا حمل بر بی ادبی نشه ولی توضیحاتی که لطف فرمودین و نوشتین کلا خودشونو نفی می کنن ولی چشم
۱۵-خرداد-۱۳۸۹, ۰۱:۰۱:۴۱
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #30
RE: 1001 نكته در #C
من که نفهمیدم منظورت چیه، چه برسه به این که حمل بشه یا نه :d

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۵-خرداد-۱۳۸۹, ۰۹:۲۸:۵۱
وب سایت ارسال‌ها
پاسخ
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #31
RE: 1001 نكته در #C
ببخشید که وسط بحث پریدم.اما فکر کردم ارزش ایجاد موضوع جدید رو نداره.

سوالی که من دارم اینکه چطوری از background Worker استفاده کنم؟ میشه به زبان ساده توضیح بدین.
۱۵-خرداد-۱۳۸۹, ۱۲:۱۰:۱۷
وب سایت ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #32
RE: 1001 نكته در #C
تو یه Backgroundworker .
برنامه ای که میخواید جدا گونه اجرا بشه رو توی رویداد DoWork بنویسید. توی این. با ReportProgress میزان پیشرفت کار رو میدید به پروسه اصلی ( شما از این تابع به هیچ شیئی که توی پروسه اصلی باشه دسترسی ندارید ). نتیجه رو هم میریزید توی e.Result

با رویداد RunWorkerCompleted میفهمید که کار تمومه
با رویداد ProgressChanged هم مقداری که با ReportProgress فرستادید رو میتونید بگیرید
با RunWorkerAsync هم کارو راه میندازید.

یه توضیح خلاصه در حد ارزش یه تاپیک رو نداشتن :d
اگه بیشتر توضیح میخواید یه تاپیک دیگه بزنید .

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۶-خرداد-۱۳۸۹, ۲۱:۱۹:۵۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : salehjg
salehjg آفلاین
مدیر بخش
*****

ارسال‌ها: 1,281
موضوع‌ها: 133
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 9560
( 8557 تشکر در 2603 ارسال )
ارسال: #33
RE: 1001 نكته در #C
سلام.
اگر در task manager ویندوز در قسمت process به برنامه ی خودتان که با حداکثر قدرت خود مشغول انجام محاسبات است ، دقت کنید ،می فهمید(بسته به تعداد هسته های cpuو فرکانس آنها) که تنها قسمتی (درصد کمی از cpu ) توسط برنامه مورد استفاده قرار میگیرد.

من با استفاده از کلاس Thread توانستم از 100 % cpu استفاده کنم.(در حالت عادی (با یک thread{main Thread} x ) فقط 13 % (در cpu مال من) cpu مشغول می شد.)

این یعنی سرعتی چند برابر نسبت به حالت عادی در پردازش!

برای استفاده ی بیشتر از cpu کافی است چند thread ایجاد کنید و عملیات را در بین آنها تقسیم کنید.

برای ایجاد thread ابتدا using System.Threading را اضافه کنید سپس با استفاده از کد زیر thread را تعریف کنید . با اجرای دستور NAME.Start ، عملیات شروع می شود.

مثال:
کد:
Thread t1 = new Thread(new ThreadStart(delegate()
{

int m = 0;
for (int i = 0; i != 100000; i++)
{
m = (i / 3) + (i / 2) + (i / 3) + (i / 2) + (i / 3) + (i / 2);
}
MessageBox.Show(m.ToString());
}));
t1.Start();
(آخرین ویرایش در این ارسال: ۰۸-تير-۱۳۸۹, ۱۴:۳۳:۰۷، توسط salehjg.)
۰۸-تير-۱۳۸۹, ۱۴:۲۹:۳۰
وب سایت ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS