منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الدرس السادس ( 6 ) -- حل لمشكلة التعليق على ال Ctrl + F5 اثناء تشغيل البرنامج
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته

(( وماأوتيتم من العلم إلا قليلاً ))

-------------------------------------------------------------------------------------------------------------------------------
الدرس [b]السادس في دورة السي بلس بلس

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



ارجوا ان يكون الموضوع قد فُهم بطريقة مناسبة

فمثلاً عند وضع اكواد اخراج في البرنامج من خلال ال [b]cout


بعد تحديد نوع المرجع الذي نتعامل معه وهو ال std

من خلال الكود التالي ..
[/b][/b]
[b][b]
كود :
[align=left][COLOR=#000000][COLOR=#FF8000]#include <iostraem>
[/COLOR][color=#0000BB]using namespace std[/color][COLOR=#007700];  
[/COLOR][/COLOR][/align]
[/b][/b]
[b]
قد نلاحظ ان عند تشغيل البرنامج (( الكونسول ))

قد تلاحظ ان البرنامج فتح بلحظة,, وقفل بأخرى ,,, بسرعة لا توصف

فمثلاً جرب وضع هذا الكود في البرنامج

كود :
[align=left][COLOR=#000000][COLOR=#FF8000]#include <iostream>
#include <string>
[/COLOR][color=#0000BB]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000BB]int main [/color][COLOR=#007700]()
{
     [/COLOR][color=#0000BB]cout [/color][color=#007700]<< [/color][color=#DD0000]"write your name ..." [/color][color=#007700]<< [/color][color=#0000BB]endl[/color][COLOR=#007700];
return [/COLOR][color=#0000BB]0[/color][COLOR=#007700];
}  
[/COLOR][/COLOR][/align]
واعمل debug للبرنامج من خلال ال F5 فقط من دون الاستعانة بزر ال Ctrl


سوف تلاحظ ان البرنامج فتح واغلق في اجزاء من الثانية ..

والسبب ان البرنامج فعلاً أخرج المخرج الذي حددته له وهو جملة ال write your name ...

ولكنه انتهى من عمله فقفل البرنامج وانصرف

يوجد في رأسي حالياً حلان لهذه المعضلة ....

[b]الاول ( 1 ) :_


اعطاء امر ادخال مؤجل للبرنامج اي عند الانتهاء من طباعة المخرجات التي سوف تظهر على الشاشة
نعطيه امر من البرنامج ان يتوقف لاستلام امر جديد من المستخدم

وهذا الامر يتعامل مع مكتبة ال [b]iostream من خلال الخاصية [b]cin [/b]
[b]

بهذا الكود
كود :
[align=left][color=#000000][COLOR=#0000BB]     cin[/color][color=#007700].[/color][color=#0000BB]get[/color][COLOR=#007700]();  
[/COLOR][/COLOR][/align]
فيسبح الكود كاملاً بهذه الطريقة ..


كود :
[align=left][COLOR=#000000][COLOR=#FF8000]#include <iostream>
#include <string>
[/COLOR][color=#0000BB]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000BB]int main [/color][COLOR=#007700]()
{
     [/COLOR][color=#0000BB]cout [/color][color=#007700]<< [/color][color=#DD0000]"write your name ..." [/color][color=#007700]<< [/color][color=#0000BB]endl[/color][COLOR=#007700];
     [/COLOR][color=#0000BB]cin[/color][color=#007700].[/color][color=#0000BB]get[/color][COLOR=#007700]();
return [/COLOR][color=#0000BB]0[/color][COLOR=#007700];
}  
[/COLOR][/COLOR][/align]
سوف ترى ان البرنامج اخرج جملة ال [b]cout على الشاشة وتوقف قليلاً ليتلقى امر من المستخدم


وعند الضعك على مفتاح [b]Enter سوف يتم الايقاف ... وهذا هو المطلوب !


[b]الثاني ( 2 ) :_


هي ايقاف البرنامج مؤقتاً .. من خلال الامر التالي ..
كود :
[align=left][color=#000000][COLOR=#0000BB] system[/color][color=#007700]([/color][color=#DD0000]"pause"[/color][COLOR=#007700]);  
[/COLOR][/COLOR][/align]
وظيفة هذا الكود .. اعطاء مهلة للمستخدم واخراج عبارة (press any key to continue ...1)


الان سنجرب الكود السابق مع هذا الاضافة البسيطة
[php]
كود :
[align=left][COLOR=#000000][COLOR=#FF8000]#include <iostream>
#include <string>
[/COLOR][color=#0000BB]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000BB]int main [/color][COLOR=#007700]()
{
    [/COLOR][color=#0000BB]cout [/color][color=#007700]<< [/color][color=#DD0000]"write your name ..." [/color][color=#007700]<< [/color][color=#0000BB]endl[/color][COLOR=#007700];
    [/COLOR][color=#0000BB]system[/color][color=#007700]([/color][color=#DD0000]"pause"[/color][COLOR=#007700]);
return [/COLOR][color=#0000BB]0[/color][COLOR=#007700];
}  
[/COLOR][/COLOR][/align]

والان وبكل راحة وهدوء اعملوا على برامجكم واشغولها من خلال ال F5 فقط

وللتعرف على الكود الاول وفائدته بطرقة اكبر

جرب كتابة هذا الكود وانظر إلى البرنامج كيف يختفي

كود :
[align=left][COLOR=#000000][COLOR=#FF8000]#include <iostream>
#include <string>
[/COLOR][color=#0000BB]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000BB]int main [/color][COLOR=#007700]()
{
return [/COLOR][color=#0000BB]0[/color][COLOR=#007700];
}  
[/COLOR][/COLOR][/align]

[b]ثم اكتب هذا الكود

كود :
[COLOR=#333333][FONT=Tahoma][align=left][COLOR=#000000][COLOR=#FF8000]#include <iostream>
#include <string>
[/COLOR][color=#0000BB]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000BB]int main [/color][COLOR=#007700]()
{
[/COLOR][color=#0000BB]cin[/color][color=#007700].[/color][color=#0000BB]get[/color][COLOR=#007700]();
return [/COLOR][color=#0000BB]0[/color][COLOR=#007700];
}  
[/COLOR][/COLOR][/align]
[/FONT][/COLOR]
=-=-=-=-=-=-=-=


[b]الحل الثالث (3)


هو استيراد المرجع conio.h من خلال هذا الكود .

كود :
[align=left][COLOR=#000000][COLOR=#FF8000]#include <conio.h>  
[/COLOR][/COLOR][/align]
طبعاً هذا المرجع اضافة للمرجع iostream الذي نستدعيه من خلال الكود التالي ..


كود :
[align=left][COLOR=#000000][COLOR=#FF8000]#include <iostream>  
[/COLOR][/COLOR][/align]
طيب ,, اذا سنتعامل مع المرجع conio ولكن الخاصية التي سوف نحتاجها ستكون التالية

كود :
[align=left][color=#000000][COLOR=#0000BB] getch[/color][COLOR=#007700]();  
[/COLOR][/COLOR][/align]
فيصبح الكود كاملاً بهذه الطريقة ..

كود :
[align=left][COLOR=#000000][COLOR=#FF8000]#include <iostream>
#include <conio.h>
[/COLOR][color=#0000BB]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000BB]int main [/color][COLOR=#007700]()
{
[/COLOR][color=#0000BB]cout [/color][color=#007700]<< [/color][color=#DD0000]"vb4arab \n\n"[/color][COLOR=#007700];
[/COLOR][color=#0000BB]getch[/color][COLOR=#007700]();
return [/COLOR][color=#0000BB]0[/color][COLOR=#007700];
}  
[/COLOR][/COLOR][/align]
الان سيعمل لديك البرنامج من غير ال [b]Ctrl + F5


[b]F5 يكفي الان لوحده !!


تحياتي !!

ملاحظة :- انا اعمل على الفيجوال ستوديو 2008

اعني ان هذا الشرح [b]قد لا ينطبق على باقي المحررات مثل
ال turbo c++
1

واخيراً لا تنسونا من دعائكم ,,



والان جرب واعطيني [b]النتيجة

====================

========

==


[b]انتظروا الدرس السابع !!
[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]