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


سام7
11-03-2010, 04:13 PM
السلام عليكم ورحمة الله وبركاته

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

-------------------------------------------------------------------------------------------------------------------------------
الدرس السادس في دورة السي بلس بلس
-------------------------------------------------------------------------------------------------------------------------------



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

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

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

من خلال الكود التالي ..
الرمز PHP:
#include <iostraem>
using namespace std;



قد نلاحظ ان عند تشغيل البرنامج (( الكونسول ))

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

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

الرمز PHP:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
cout << "write your name ..." << endl;
return 0;
}


واعمل debug للبرنامج من خلال ال F5 فقط من دون الاستعانة بزر ال Ctrl

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

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

ولكنه انتهى من عمله فقفل البرنامج وانصرف http://www.vb4arab.com/vb/images/smilies/biggrin.gif

يوجد في رأسي حالياً حلان لهذه المعضلة .... http://www.vb4arab.com/vb/images/smilies/tongue.gif

الاول ( 1 ) :_

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

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

بهذا الكود
الرمز PHP:
cin.get();


فيسبح الكود كاملاً بهذه الطريقة ..

الرمز PHP:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
cout << "write your name ..." << endl;
cin.get();
return 0;
}


سوف ترى ان البرنامج اخرج جملة ال cout على الشاشة وتوقف قليلاً ليتلقى امر من المستخدم

وعند الضعك على مفتاح Enter سوف يتم الايقاف ... وهذا هو المطلوب ! http://www.vb4arab.com/vb/images/smilies/smile.gif

الثاني ( 2 ) :_

هي ايقاف البرنامج مؤقتاً .. من خلال الامر التالي ..
الرمز PHP:
system("pause");


وظيفة هذا الكود .. اعطاء مهلة للمستخدم واخراج عبارة (press any key to continue ...1)

الان سنجرب الكود السابق مع هذا الاضافة البسيطة
[php]
الرمز PHP:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
cout << "write your name ..." << endl;
system("pause");
return 0;
}


والان وبكل راحة وهدوء اعملوا على برامجكم واشغولها من خلال ال F5 فقط http://www.vb4arab.com/vb/images/smilies/mad.gif

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

جرب كتابة هذا الكود وانظر إلى البرنامج كيف يختفي
الرمز PHP:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
return 0;
}


ثم اكتب هذا الكود
الرمز PHP:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
cin.get();
return 0;
}


=-=-=-=-=-=-=-=


الحل الثالث (3)

هو استيراد المرجع conio.h من خلال هذا الكود .
الرمز PHP:
#include <conio.h>


طبعاً هذا المرجع اضافة للمرجع iostream الذي نستدعيه من خلال الكود التالي ..
الرمز PHP:
#include <iostream>


طيب ,, اذا سنتعامل مع المرجع conio ولكن الخاصية التي سوف نحتاجها ستكون التالية
الرمز PHP:
getch();


فيصبح الكود كاملاً بهذه الطريقة ..
الرمز PHP:
#include <iostream>
#include <conio.h>
using namespace std;
int main ()
{
cout << "vb4arab \n\n";
getch();
return 0;
}


الان سيعمل لديك البرنامج من غير ال Ctrl + F5

F5 يكفي الان لوحده !! http://www.vb4arab.com/vb/images/smilies/biggrin.gif

تحياتي !!

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

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

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


والان جرب واعطيني النتيجة http://www.vb4arab.com/vb/images/smilies/smile.gif
====================
========
==