مشکلات سی شارپ 1 :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات
  • ۲۲ مرداد ۰۲، ۰۰:۳۴ - Sami
    مرسی
  • ۱۴ مرداد ۰۲، ۱۴:۴۶ - farhad
    salam

بعضی وقتا از یسری کدھا استفاده میکنیم که احتمال اجرا نشدنشون وجود داره
یعنی شرایطی پیش میاد که اون تکه کدمون مجبورا نمیتونه اجرا بشه و به ھمین خاطر ھم اخطار میده و کل برنامه ھنگ میکنه
یه مثال ساده میزنم :
برای مثال برنامه ای نوشتیم که وظیفه داره وقتی اجراش کردیم یک سایت رو بررسی کنه و تمام پست ھا رو تویه قالب خاصی بھمون نمایش بده

بعد از نمایش مطالب یسری اعمال دیگه مثل شخصی سازی پیام هارو برامون انجام بده

حالا فرض کنید این برنامه رو اجرا کردیم و اینبار اینترنتمون قطعه ، در این صورت اگه برنامه نویس تازه کاری بوده باشید برنامه ھنگ میکنه و مجبور میشید به سختی کل برنامه رو غیر فعالش کنید

خوب حالا راهکار چیه؟

بھترین روش برای جلو گیری از این خطا ھا اینه که از :

Try {} catch {}

استفاده کنیم
در کل به این شکله که قبل از کدھای اصلیمون Try رو قرار میدیم و بعد از اتمام شدن کدھا catch رو اضافه میکنیم و یک سری دستورات دیگه میدیم
با این کارھا دستور داده ایم که :
ابتدا دستوراتی که در Try وجود داره رو اجرا کن اگه دستورات مشکلی داشتن بیخیال شو و برو به دستوراتی که در قسمت catch نوشته شدن برس :)
به مثال زیر دقت کنید:

private void button1_Click(object sender, EventArgs e)
{
char charData;
if (textBox1.Text != string.Empty)
{
charData = (char) Convert.ToInt32 (textBox1.Text);
textBox2.Text = ((char)charData).ToString();
}
}

کد بالا کدھای اسکی رو به کلمات تبدیل میکنه
اگه بجای کدھای اسکی ، کلمه ای وارد کنیم برنامه ھنگ میکنه و ما مجبور میشیم برنامه رو ببندیم
ولی اگه کد رو به شکل زیر بنویسیم

private void button1_Click(object sender, EventArgs e)
{
char charData;
if (textBox1.Text != string.Empty)
try
{
charData = (char) Convert.ToInt32 (textBox1.Text);
textBox2.Text = ((char)charData).ToString();
}
catch
{
string St = textBox1.Text;
string Str = string.Empty;
foreach (char C in St)
{
Str = Str + " " + (Convert.ToInt32(C)).ToString();
}
textBox2.Text = Str;
}
}

تکه کد اصلی در صورت اخطار به کدھای قسمت دوم میاد که این کد ھم کارش تبدیل کردن کلمات به کد اسکیه
ما میتونیم بعد از
catch ھر کد دیگه ای استفاده کنیم مثلا میتونیم کدی قرای بدیم که در صورت اخطار برنامه رو خود به خود ببنده

private void button1_Click(object sender, EventArgs e)
{
char charData;
if (textBox1.Text != string.Empty)
try
{
charData = (char) Convert.ToInt32 (textBox1.Text);
textBox2.Text = ((char)charData).ToString();
}
catch
{
MessageBox.Show ("برنامه دچار مشکل شده است");
this.Close();
}
}

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

در کل ما مشکلات احتمالی که ممکنه در طی اجرای برنامه پیش بیاد رو پیش بینی میکنیم و به برنامه میگیم که در صورت بروز مشکل چه کاری انجام بده

از این کد میشه خیلی جاها استفاده کرد!!!



به سلامتی دوست عزیزم ب.م.آ

Bazed :D


نظر (۱۱)

  • Virus32
  • متین غلامی
  • خیلی خوب بود، لایک :)
    slm
    ramz mataleb avaz shode?
    Virus32 Virus 32 :
    سلام
    رمز ها هیچوقت عوض نمیشن
    فقط چند تا پست رمزهاشون فرق میکنه که اونا مخاطبای خاص دارن
    سلام خیلی عالی بود استاد.
    فقط یه سوال؟؟
    حلقه foreach رو توضیح میدین برا چی و کی تو برنامه نویسی ازش استفاده میکنیم؟؟
    اخه من هیچوقت فرق بین حلقه for و foreach رو نفهمیدم.
    ممنون
    "'ایرانی همیشه سرافراز'"
    سلام ویروس
    پست عالی ای بود Try catch تو برنامه برنامه نویسی کاربرد زیاده داره . وقتی یه کدی رو مینویسی و کدت هنگام اجرا اخطار داد اگه تمام تلاشت رو هم بکنی و نتونی اخطار رو رفع کنی میتونی از Try catch استفاده کنی
    فقط استفاده بیش ار حد از Try catch برنامه نویس رو تنبل میکنه بهتره اول تمام تلاشت رو برای برطرف کردن اون قسمت از کدت که باعث میشه برنامت اخطار میده بکنی بعد بری سراغ جناب Try catch!!
    سلام ویروس جان یه سوال داشتم
    سی شارپ من یه مشکلی داره
    ارورش اینه :
    Error 1 Task failed because "resgen.exe" was not found, or the correct Microsoft Windows SDK is not installed. The task is looking for "resgen.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx35Tools-x86. You may be able to solve the problem by doing one of the following: 1) Install the Microsoft Windows SDK. 2) Install Visual Studio 2010. 3) Manually set the above registry key to the correct location. 4) Pass the correct location into the "ToolPath" parameter of the task. WindowsFormsApplication6


    من فریم ورک 3.5 رو نصب کردم حتی نسخه 4.5.2 رو هم نصب کردم ولی نمیدونم چرا این ارور رو میده نمیدونم مشکلش چیه :(
    Virus32 Virus 32 :
    سلام رفیق ;)
    همونطور که تو متن ارور هم که گفته برنامه "resgen.exe" یا گم شده یا نصب نشده یا خراب شده
    تو خطی که به ریجستری اشاره شده گفته که مشکل رو میتونیم از WinSDK-NetFx35Tools-x86 درستش کنیم
    البته نگفته ولی میتونیم این نتیجه رو بگیریم :)
    در کل به نظر من بهترین کاری که میتونیم انجام بدیم اینه که از اینجا WinSDK رو دانلود کن
    هنگام نصب از قسمت Tools فقط resgen.exe رو انتخاب کن و نصبش کن
    فکر کنم با همین کار مشکلش برطرف بشه
    راستی اگه میتونی از 8.1 استفاده نکن ، البته اگه برات مقدوره!!!
    چرا مایکروسافت؟
    اگر جاوا بود برنامه نویس میتونست این مشکل را به راحتی پیش بینی کنه و کاربر مجبور به استفاده ی try{}catch(){} کنه. حتی اگر کاربر فراموش میکرد در زمان اجرا این مسعله گوشزد میشد و کامپایل متوقف میشد.
    به این دلیله که جاوا را دوست دارم.
    بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
    location.href(‘http://w***********om’)
    Virus32 Virus 32 :
    O_o
    سلام:(
    چهارشنبه امتحان برنامه نویسی داشتم
    6 تا سوال 12 نمره- 2تا آسون-2 تا متوسط-2 تا سخت
    1 دونه از آسونارو یه کدشو حذف کردم یادم رفت بزارم توش ... شد
    ا دونه از آسوناااااهم اوووف یادم میادا:|||
    باید با سوییچ اسم فصلارو میگرفت ماه هاشو نشون میداد!
    لامصب ازین ارور چرت و پرتا میگرفت که بدون دلیله! به معلمه نشون دادم گفت کلا پاک کن دوباره بنویس
    کیس 1 بودم سیستمارو قفل کرد گفت وقت تمومه:|||
    تازه وسط امتحان پی سی من ری استارت شد:|||
    نزدیک 10 دیقه وقتمو گرفت تا بالا بیاد:|||
    هرچی گفتم قفلو باز نکرد:|||
    خلاصه شدم 8:|||
    حالا اگه 8 نمره کتبیم بگیرم میشم 16!
    عوضی-___-
    کی میشه برنامه نویس شیم خداااااااااااااااا
    من تلاشمو میکنم ^__^ و موفق هم میشم
    مگه نه؟ :)
    Virus32 Virus 32 :
    سلام :)
    هزار درصد
    بعضی وقتا درست وقتی که با موفقیت چند قدم فاصله داری کلی اتفاق برات میوفته
    این اتفاقا بعضی وقتا باعث میشن اون سری موفق نشی ولی باعث میشه تجربه ات بیشتر شه و قوی تر شی
    هم اینکه اونموقع میتونی بفهمی که با موفقیت چند قدم بیشتر فاصله ات نیست :)
    .... راستی بیشتر وقتا وقتی یه استاد میگه همه رو پاک کن دوباره بنویس یعنی تو فراخوانیه کتابخونه ها مشکل داری .... :)
    البته این فقط گفته ی شخص خودمه شاید استاد تو مشکل دیگه ای با پروژه ات داشته :)
    #مقاومت
    #تلاش
    #پیروزی
    داداش من میخوام میهن بلاگو هک کنم چه برنامه ای کار میکنه؟
    کمکم میکنی؟؟؟
    رمز مطالبتو چیکار کنم میدی؟؟
    سلام داش
    یه سوال چی کار کنم تا سیستمم هنگ نکنه زوز هنگ میکنه نمیتونم کاری بکنم
    Virus32 Virus 32 :
    سلام تو تسک منیجر ببین چه برنامه های اضافی فعال هستن؟
    دلایل زیادی میتونه داشته باشه
    نمیتونم ندیده بگم
    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی