منو اصلی

درگاه ورود کاربران
لینک سایت های مفید
تقویم
<    «  اسفند 1389  »    >
شيدسچپج
 123456
78910111213
14151617181920
21222324252627
2829 
آرشیو
امار سایت
آمار مطالب:
  يک ساعت پيش: 0
  امروز: 0
  اين ماه: 7
  مجموع مطالب: 398
  کل نظرات: 309



آمار بازديد:
  بازديد امروز: 3873
  بازديد ديروز: 3512
  مجموع بازديدها: 2495383



آمار کاربران:
  يک ساعت پيش: 0
  امروز: 9
  اين ماه: 347
  مجموع کابران: 7265
  بن شدگان: 2

آخرين عضو:


javad_gh1370

 


کاربران آنلاین:

رباطها آنلاین: Crawl Bot, Google Bot

در حال حاضر 0 کاربر, 2 رباط, 1 میهمان و در مجموع 3 نفر در سایت حضور دارند.
همکاران سایت

--------------------
نظرسنجی

دوست دارید نرم افزار رو روی چه سیستم عاملی اجرا کنید ؟

Xp
Vista
Seven
Apple
Windows android
تازه های سایت
بخش های پربازدید
اطلاعات سایت
حمایت  فارسی دی بی

 

http://www.farsidb.com/farsidb.gif

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

رتبه و اطلاعات سایت   

   http://www.farsidb.com/alex.jpg

 

مقدمه :

برای آشنايي با مبانی شبکه های TCP/IP به بحث مروری بر TCP/IP مراجعه کنيد .

معرفی :

کتابخانه WinPcap يک معماری برای استخراج Packet های TCP/IP و آناليز شبکه در محيطهای ۳۲ بيتی ويندوز می باشد . اين کتابخانه شامل سه بخش است :

۱ - يک فيلتر Packet در سطح هسته سيستم عامل ( Kernel )

۲ - يک کتابخانه dll سطح پايين ( low-level ) با نام packet.dll

۳ - يک کتابخانه مستقل از سيستم عامل و سطح بالا ( high-level ) با نام wpcap.dll

فيلتر packet يک درايور دستگاه ( device driver ) است که به ويندوزهای ۹۵ ، ۹۸ ، ME ، NT و ۲۰۰۰ قابليت استخراج و capture کردن و نيز ارسال داده خام ( raw data ) از يک کارت شبکه را می دهد . همچنين اين امکان را دارد که packet های capture شده را در يک بافر ذخيره کند و يا آنها را فيلتر نمايد .
packet.dll يک API است که بمنظور دسترسی مستقيم به عملکرد درايور packet استفاده می شود . بنابراين packet.dll يک واسط برنامه نويسی مستقل از سیستم عامل های مايکروسافت را مهيا می کند .
Wpcap.dll مجموعه ای از ابزارهای سطح بالای اصلی برای capture را مهيا می کند که اين توابع با کتابخانه libpcap ( کتابخانه capture در سيستم عامل UNIX ) سازگار می باشند . اين توابع اجازه capture کردن packet ها را با روشی مستقل از سخت افزار شبکه و مستقل از سيستم عامل مهيا می کنند .

توضیحات بیشتر ...
گرفتن اطلاعات ورودی از کيبرد - ۱

مقدمه

Direct Input 8 همانطور که از نامش مشخص است به شما اجازه می دهد که بتوانيد برنامه هايي بنويسيد که توسط هر نوع دستگاه ورودی کنترل شود .
Direct Input 8 دارای چندين مزيت نسبت به استفاده از کنترلهای ورودی خود ويژوال بيسيک دارد – کنترلهايي مثل Form_KeyUp, Form_KeyDown, Form_MouseMove - و همچنين قابليت کنترل بيشتری نسبت به توابع استاندارد Win32 از قبيل GetCursorPos, GetKeyState دارد .
Direct Input 8 سريعتر ، کاراتر و قدرتمند تر بوده و برای ساخت بازيها طراحی شده بنابراين باعث کندی برنامه ها نخواهد شد .

چگونگی کار با Direct Input 8 برای گرفتن ورودی از کيبرد

دو روش برای استفاده از کيبرد در DirectX8 وجود دارد : روش polling و روش event-based که هر دو دارای مزايا و معايبی هستند .
بطور کلی در اغلب طراحيها از روش event-based استفاده می شود زيرا کار با آن راحت تر اسن . در اين روش هر پيغام فرستاده شده ازطرف دستگاه ورودی log می شود و برنامه نيازی به هيچگونه پردازشی بمنظور منتظر ماندن برای يک پيغام از طرف ورودی ندارد ، بنابر اين کاراتر است . در روش polling کنترل کمی دقيقتر و راحتر است .
اگر در مورد برنامه نويسی بر مبنای polling و بر مبنای event اطلاعات کافی نداريد می توانيد از منابع موجود در سايتهايي چون Gamasutra و GameDev استفاده کنيد .

توضیحات بیشتر ...
قرار بود نمايش Menu روی Tray Icon رو بگم. کار ساده تر از اين حرفاست.

توی کلاس ديالوگتون بصورت public تابع زير رو اضافه کنيد :

virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);


اين برا اينه که message ها رو handle کنيم (ديگه چون يکم عکس گذاشتن سختم بود دستی ميگم انجام بديد که عکس نخواد )

حالا تابع زير رو توی کد اصلی بنويسيد که قراره menu رو اينجا نمايش بديم :

LRESULT اسم کلاس برنامه تونDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{

return CDialog::WindowProc(message, wParam, lParam);
}


حالا بايد يه menu ساخته باشيد و با استفاده از ID اون و چند خط کد زير می تونيد menu رو نمايش بديد (اينجا من از پيغام کليک راست روی آيکون استفاده کردم) :

CMenu mymenu,*pmenu;
if (message == myicon.uCallbackMessage)
{
if(lParam==WM_RBUTTONDOWN)
{
mymenu.LoadMenu(IDR_MENU1);
pmenu=mymenu.GetSubMenu(0);
CPoint pos;
#ifdef _WIN32_WCE
pos = CPoint(GetMessagePos());
#else
GetCursorPos(&pos);
#endif
::TrackPopupMenu(pmenu->m_hMenu, TPM_TOPALIGN, pos.x, pos.y, 0,
this->GetSafeHwnd(), NULL);
mymenu.DestroyMenu();
pmenu->DestroyMenu();
}


**اما myicon.uCallbackMessage چيه ؟!

اگه يادتون باشه برای ايجاد tray icon يه شی با اسم myicon ساخته بوديم همونه که uCallbackMessage رو توش ست کرده بوديم.

**IDR_MENU1 هم ID منوی مورد نظر هستش.


توضیحات بیشتر ...
به طور معمول نسل های جديد زبان های برنامه نويسی به اين دليل متولد می شوند که زبان های قديمی تر دارای امکانات محدود بودند و يا قدرت استفاده از تکنولوژی های فعلی را به صورت مطلوب و ساده ندارند.

مهمترين نيازی که به عنوان آخرين تکنولوژی وجود دارد، برنامه نويسی در محيط اينترنت است. اينترنت در مدت تقريبا ۸ سال جای خود را به عنوان يکی از مهمترين وسايل ارتباطی برای کارهای روزمره و تجارت باز کرده است. سيستم های برنامه نويسی قديمی تر امکان برنامه نويسی برای اينترنت را فراهم کرده بودند اما هر کدام دارای اشکالات بزرگی هستند، برای مثال تکنولوژی COM اولين بار در ويندوز به کار گرفته شد. در سال 1970 نيز سيستم هايی برای Unix نوشته شده بودند، جاوا نيز در اصل برای ابزارهای الکترونيکی بود و نه برای اينترنت.

سپس برای اولين بار يک سيستم جامع برای برنامه نويسی تحت اينترنت ايجاد شد. اين سيستم -NET. از مراحل سطح پايين که به زبان ماشين می باشد تا بالاترين سطح که برنامه نويسی ويژوال آن می باشد برای استفاده در اينترنت طراحی شده است. البتهNET. فقط برای اينترنت نيست و با استفاده از آن می توان برنامه های کامل تحت Client نيز ايجاد کرد، اما بزرگترين مزيت آن دربرابر سيستم های ديگر امکانات اينترنت آن است.

برای اينکه مزايای استفاده ازNET. را بهتر متوجه بشويم بهتر است در ابتدا معايب سيستم های پيشين را ذکر کنيم. شرکت مايکروسافت تا قبل از سال 1995 به برنامه نويسی در محيط های Client و Server می پرداخت، اما از آن سال به بعد توجه بيشتری به مساله برنامه نويسی در اينترنت کرد. مايکروسافت COM و +COM را ايجاد کرد و آنها را در ويژوال استوديوی 6 به کار گرفت. در سال 1999 حدود ۵۰ در صد از بزرگترين سايتهای تجارت الکترونيکی از محصولات مايکروسافت استفاده می کردند. اما هنوز هم مشکلات بزرگی در سيستم های مايکروسافت وجود داشت که يکی از آنها دشواری نوشتن برنامه در اينترنت با محصولات مايکروسافت بود. شرکت مايکروسافت برای راحتی کار برنامه نويس ها ASP يا Active Server Page را ايجاد کرد. با اينکه اين يک قدم بزرگ بود و کارها را بسيار ساده کرد ولی هنوز از برنامه نويسی شی گرا پشتيبانی نمی کرد. همچنين در ويژوال استوديوی 6 قسمتی برای Internet Application ايجاد شده بود و در آنها امکان ساختن Web Class وجود داشت ولی هيچ وقت به عنوان يک ابزار کار آمد برای برنامه نويسی وب درنظر گرفته نشد.

مدل برنامه نويسی DNA
مايکروسافت يک مدل برنامه نويسی به نام Distributed interNet Application دارد که بر پايه برنامه نويسی n-tier و COM بنا نهاده شده است. مدل DNA از سه بخش اساسی تشکيل شده است.

بخش اول به نام Presentation tire معروف است. در اين بخش رابط تصويری کاربر وجود دارد و خود نيز به دو نوع Internet Browser و Win 32 GUI تقسيم می شود که هر کدام مشکلات خاص خود را دارند. در مدلی که از Win32 GUI يا همان نرم افزارهای معمولی استفاده می شود دو مشکل بزرگ وجود دارد ؛ دشواری بروز رسانی نرم افزار و ديگری DLL Hell که در ادامه توضيح داده خواهد شد. در نوع دوم مشکلاتی از قبيل نبود امکانات برنامه نويسی کافی در محيط مرورگر، نبود رابط قوی با کاربر، نبودن مرورگر های يکسان و... وجود دارد. همچنين هميشه يک اتصال به اينترنت يا اينترانت لازم است. در اين نوع از برنامه نويسی می توان از Java Applet ها يا ActiveX استفاده کرد ولی مرورگر بايد امکان استفاده از آن را داشته باشد، مخصوصا ً هنگام استفاده از ActiveX که بايد فقط از IE استفاده کرد.

بخش دوم که Middle tier نام دارد، مکانی است که اطلاعات و قوانين تجاری در آن وجود دارد. منظور از قوانين ، متد ها و اجزائی هستند که اعمال کاربران را کنترل می کنند. مهمترين و آسان ترين زبان برای نوشتن اين اجزا از DNA ويژوال بيسيک است. برنامه نويسی که بخواهد در اين رده برنامه بنويسد بايد آشنايی کاملی با COM و پروتکل های رايج داشته، همچنين بايد مهارت کافی در استفاده از ADO و ADSI داشته باشد. مشخص است که يک اشتباه در اين لايه باعث بروز خطا و نقص در کل سيستم می شود.

بخش سوم يا Data tier مکانی است که اطلاعات سازمان در آن ذخيره می شود. معمولا ً در اين قسمت از بانکهای پيشرفته رابطه ای مانند SQL Server و Oracle استفاده می کنند.

محدوديت های COM
همانطور که ديديد مهمترين قسمت در DNA همان COM است که در جای جای آن استفاده می شود. در اينجا برخی معايب COM ذکر می شود : ( در ابتدای متن ذکر شد که برای درک نياز بهNET. بايد ابتدا معايب سيستم های قديمی را بشناسيم )

DLL Hell: اگر کوچکترين تغييری در يک COM ايجاد شود، ديگر برنامه هايی که از ورژن قبلی استفاده می کردند قادر به فعال ساختن نسخه جديد نيستند. هنگامی که در ويندوز، يک COM نصب شود برايش در رجيستری يک GUID ثبت می شود که اطلاعات آن COM را در خود ذخيره می کند. اگر يک برنامه از نسخه اول يک COM استفاده کند و بعد از مدتی شما تغييراتی در نسخه اول بدهيد و بخواهيد آن را دوباره در سيستم نصب کنيد ويندوز به شما پيغام خطا می دهد چون ورژن آن تکراری است، اگر هم آن را به ورژن دوم ارتقا دهيد نرم افزار قبلی هنوز به دنبال نسخه اول می گردد. اين امر باعث می شود که شما مجبور شويد يکبار ديگر کل برنامه را کامپايل کرده و در کامپيوترتان نصب کنيد.

کمبود در وراثت: در نسخه های COM که در حال حاضرهستند چيزی به نام وراثتی که در ++C وجود دارد نمی باشد، بلکه وراثت تنها در واسط يک COM می باشد، استفاده از آن هم چندان کمکی به برنامه نويسی نمی کند.

برخی محدوديت های برنامه نويسی اينترنتی در مدل DNA

۱- وجود دو محيط برنامه نويسی برای اينترنت و Client
نقصان در نوشتن برنامه هايی با رابط گرافيکی خوب که در اينترنت کار می کردند کاملا ً مشهود است، نمونه بارز آن اختلاف در برنامه نويسی در ويژوال بيسيک و ASP است. ويژوال بيسيک با رابط گرافيکی کاملا ً سطح بالا و ASP تقريبا ً رابط گرافيکی ندارد. همين امر باعث می شد که يک برنامه نويس مجبور باشد طيف وسيعی از تکنيک ها و زبان ها را فرابگيرد تا بتواند برنامه ساده ای در اينترنت بنويسد.

۲- نبودن حالت های ذخيره اطلاعات رابط گرافيکی در صفحه های اينترنتی
نمونه اين حالت زمانی است که در يک textbox متنی وجود داشته باشد. در برنامه های Win32 GUI متن داخل textbox تا زمانی که کاربر يا برنامه آن را تغيير نداده بر جای خود وجود دارد. اما در محيط اينترنت و نوع ASP با هر بار refresh کردن صفحه کل اطلاعات ازبين می رود. البته اين مشکل با استفاده از شئ های Request و Response تقريبا ً قابل حل است ولی احتياج به برنامه نويسی برای هر تکه از صفحه ASP دارد.

۳- نداشتن Event Handler در محيط برنامه نويسی اينترنت
يکی از مهمترين ابزاری که در برنامه نويسی Win32 GUI وجود دارد استفاده از Event ها است. با تکنولوژی که در حال حاضر وجود دارد تنها راه رسيدن به اين مهم استفاده از ActiveX است که به علت مسايل امنيتی در بيش از ۹۵ در صد مواقع توسط کاربر استفاده از آن رد می شود.

معايب استفاده از API
API ها توابعی هستند که از ويندوز نسخه 1 تا امروز در برنامه نويسی کاربرد داشته و دارند. مهمترين کاری که اين توابع انجام می دهند انجام کارهای سخت و سطح پايين سيستمی است که احتياج به برنامه نويسی زيادی دارند و يا حتی امکان ايجاد آن با زبان هايی مثل ويژوال بيسيک نيست. اما هر API از هر نسخه ويندوز تا نسخه ديگر آن می تواند دچار تغييرات بشود. برای مثال برنامه ای که در ويندوز 98 نوشته شده باشد می تواند در ويندوز 95 اجرا نشود. همچنين هم اکنون ابزارهای جديدی به بازار آمده است که برای آنها نيز می توان برنامه نويسی کرد، مانند تلفن های سيار، کيوسک تلفن، دستگاه های کامپيوتری جيبی و غيره. در اين نوع دستگاه ها ديگر ويندوز به مفهومی که در حال حاضر وجود دارد قابل اجرا نيست و در نتيجه API هم وجود ندارد. لازم به ذکر است که ويندوز CE برای دستگاه های مذکور می باشد ولی قابليت های آن با ويندوزهای ديگر تفاوت زيادی دارد.

خلاصه از کتاب Professional VB.NET از Wrox

توضیحات بیشتر ...
منظور از وب چيست؟
وب شبکه ای است متشکل از تمامی کامپيوترهای دنيا، شبکه ای از شبکه ها.
اينترنت، وب، WWW ، web يا World Wide Web همگی يک چيزند.
تمامی کامپيوترهای وب ميتوانند با هم ارتباط داشته باشند.
کامپيوترهای موجود در وب با کمک استاندارد ارتباطی يا پروتوکل HTTP با هم ارتباط برقرار ميکنند .
نحوه کارکرد وب چگونه است؟
اطلاعات وب داخل فايلهائی به نام Web Pages و يا صفحات وب قرار دارند.
اين فايلها يا صفحات روی Web Server يا کامپيوترهای سرويس دهنده وب ذخيره شده اند.
برای ديدن صفحات وب از نرم افزاری به نام مرورگر و يا Web Browser استفاده ميشود.
دو مرورگر Internet Explorer و Netscape Navigator جزو معروفترين مرورگرها حساب ميشوند.
مرورگر Internet Explorer متعلق به شرکت مايکروسافت و مرورگر Netscape Navigator متعلق به شرکت نت اسکيپ ميباشد.
مرورگرها چگونه به خواندن صفحات وب ميپردازند؟
يک مرورگر با کمک يک Request درخواستی برای خواندن يک صفحه از وب سرور ميکند.
اين Request يا درخواست بر اساس استاندارد ارتباطی يا پروتوکل HTTP بوده و شامل آدرس صفحه مورد نظر ميباشد.
آدرس يک صفحه وب چيزی شبيه http://www.internet.com/faq.html است. بخش //:http نوع پروتوکل و يا استاندارد ارتباطی را تعيين ميکند، www.internet.com نام دومين يا Domain است و faq.html نام صفحه ای است که بايد خوانده شود.
مرورگرها چگونه صفحات وب را نمايش ميدهند؟
چگونگی نمايش يک صفحه وب بصورت مستتر در آن وجود دارد.
مرورگرها از روی دستورالعملهای داخل صفحات وب و با کمک تگ ها به نمايش صفحات ميپردازند.
وظيفه اصلی تگ های اچتمل ( HTML tags ) بيان چگونگی نمايش اطلاعات ميباشد.
يک تگ اچتمل چيزی شبيه

اين تگ پاراگراف است!

است.
چه کسانی استاندارد های وب را تعيين ميکند؟
تعيين استاندارد های وب ربطی به شرکتهای مايکروسافت و يا نت اسکيپ ندارد.
World Wide Web Consortium يا W3C متولی تعيين استانداردهای وب است.
HTML, CSS and XML از مهمترين استانداردهای تصويب شده وب ميباشند.
آخرين استاندارد HTML استاندارد XHTML 1.0 ميباشد .

توضیحات بیشتر ...
تگ های اچتمل (HTML Tags)

با کمک تگ های اچتمل عناصر و يا Elements ساخته ميشوند.
در زبان اچتمل حدود 80 عنصر تعريف شده است.
تگ های اچتمل بوسيله دو نويسه (char) > و < ساخته ميشوند.
تگ های اچتمل معمولا بصورت زوج ظاهر ميشوند، مانند test
تگ اول در يک زوج تگ مثلا تگ شروع و تگ دوم مثلا تگ پايانی نام دارد.
متن بين تگ اول و تگ دوم در يک زوج تگ محتوای عنصر يا element content ناميده ميشود، مثلا "test"
تگ های اچتمل را ميتوانيد بوسيله حروف لاتين کوچک (lower case) و يا بزرگ (upper case) بنويسيد و case sensitive نيستند. برای مثال دو تگ و معادل هم هستند ولی شديدا توصيه ميشود که به خاطر سازگاری با XHTML از حروف کوچک استفاده شود.
عناصر اچتمل (HTML Elements)

مثال بخش مقدمه را در نظر بگيريد:



Title of page


This is my first html page. This text is bold




*** نمونه ای از يک عنصر اچتمل:

This text is bold


عنصر اچتمل بالا با تگ شروع شده و با تگ پايان می يابد. محتوای اين عنصر عبارت "This text is bold" است. لازم به ذکر است که کاربرد تگ نمايش توپر يا bold متون است.

*** مثال دوم يک عنصر اچتمل (معلوم الحال) :


This is my first homepage. This text is bold



عنصر اچتمل بالا با تگ شروع شده و با تگ پايان می يابد. همانطور که ميبينيد گاهی يک عنصر حاوی يک يا چند تگ ديگر ميباشد.وظيفه تگ تعيين بدنه اصلی يا body يک متن اچتمل است.لازم به يادآوری است که تنها اطلاعات بخش يک فايل اچتمل در صفحه مرورگر نمايش داده خواهد شد.


--------------------------------------------------------------------------------

شناسه های يک تگ (Tag Attributes)

تگ ها ميتوانند حاوی اطلاعات اضافی ديگر باشند، به اين اطلاعات شناسه يا Attribute ميگويند و وظيفه آنها بيان ديگر اطلاعات يک عنصر يا Element ميباشد. مثلا در مورد تگ شناسه ای به نام bgcolor وجود دارد که رنگ زمينه متن (background) را تعيين ميکند برای نمونه اگر ميخواهيد که رنگ زمينه صفحه اچتملتان سياه باشد کافی است که به شکل زير عمل کنيد :



در مثال زير تگ دارای چهار شناسه مختلف با نامهای width، height ، align و border و مقادير center، 60، 100 و 0 ميباشد.


......


شناسه ها به صورت کلی "مقدار=نام" يا "name=value" نوشته ميشوند و هميشه به تگ شروع يک عنصر يا Element اضافه ميشوند و نهايتا اگر در يک عنصر يا Element شناسه ها قيد نشوند از مقادير قراردادی يا default آنها استفاده خواهد شد مثلا در تگ body اگر شناسه bgcolor نوشته نشود از رنگ سفيد برای زمينه صفحه استفاده خواهد شد.
مقدار يک شناسه را ميتوانيد داخل نويسه های " و يا ' بنويسيد و اختيار دست شما است فقط در مواردی که مقدار يک شناسه شامل نويسه " هم ميشود بايد از نويسه ' استفاده شود.

توضیحات بیشتر ...
يك آرايه گروهي از متغيرهاي يك نوع است كه با يك نام مشترك به آنها ارجاع
مي شود . مي توان آرايه ها را براي هر يك از انواع ايجاد نمود و ممكن است اين
آرايه ها داراي يك يا چندين بعد باشند . براي دسترسي به يك عضو آرايه از نمايه
(index) آن آرايه استفاده مي شود . آرايه ها يك وسيله مناسب براي گروه بندي
اطلاعات مرتبط با هم هستند .
نكته : اگر با Cو C++و آشنايي داريد ، آگاه باشيد . آرايه ها در جاوا بطور
متفاوتي نسبت به زبانهاي ديگر كار مي كنند .

آرايه هاي يك بعدي
آرايه يك بعدي بطور ضروري فهرستي از متغيرهاي يكنوع است . براي ايجاد يك
آرايه ، بايد يك متغير آرايه از نوع مورد نظرتان ايجاد كنيد . فرم عمومي اعلان
يك آرايه يك بعدي بقرار زير است :
type var-name [];

توضیحات بیشتر ...
جاوا از دو دستور انتخاب پشتيباني مي كنند : ifو switchو . با اين دستورات شما اجراي برنامه را براساس شرايطي كه فقط حين اجراي برنامه اتفاق مي افتند كنترل مي كنيد. اگر سابقه برنامه نويسي با C++/C را نداريد، از قدرت و انعطاف پذيري موجود در اين دو دستور متعجب و شگفت زده خواهيد شد .

if

دستور if دستور انشعاب شرطي در جاوا است . از اين دستور مي توان استفاده نمود و اجراي برنامه را طي دو مسير متفاوت به جريان انداخت . شكل كلي اين دستور بصورت زير است :

if( condition )statement 1;
else statement 2;

دراينجا هر statement ممكن است يك دستور منفرد يا يك دستور مركب قرار گرفته
در ابروها ( يعني يك بلوك ) باشد . condition ( شرط ) هر عبارتي است كه يك
مقدار boolean را برمي گرداند . جمله else اختياري است . if
بصورت زير كار مي كند : اگر شرايط محقق باشد ، آنگاه statement 1 اجرا
مي شود . در غير اينصورت statement 2 ( در صورت وجود ) اجرا خواهد شد .
تحت هيچ شرايطي هر دو دستور با هم اجرا نخواهند شد . بعنوان مثال ، در نظر
بگيريد :

+ int a/ b;
+ //...
+ if(a < b )a = 0;
+ else b = 0;

در اينجا اگر a كوچكتر از b باشد ، آنگاه a برابر صفر مي شود

توضیحات بیشتر ...


پشتیبانی شده توسط سرور باران