الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكنني ان أعمل واجهة فيها أزرار بواسطة لغة C++

مغلق
بدأه يسر في 4 يناير 2006 · 17 رد · 1,721 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كيف يمكنني ان أعمل واجهة فيها أزرار و textbox و كافة مكونات الواجهات بواسطة لغة C++

سبحان الله و بحمده سبحان الله العظيم

#2

يمكنك إستخدام WinAPIs مباشرة لإنشاء النوافذ و الواجهات أو إستخدام إحدى المكتبات ك MFC أو Qt التي تسهل هذا الموضوع

إذا كنت تريد أن تتجه لبرمجة الويندوز فقط فعليك ب MFC أما إذا كنت تريد أن الويندوز و اللينكس معا فعليك ب Qt لأنها Cross-Platfrom

وعلى العموم أنصحك بأنت تبدأ بقراءة كتاب ك Programming Windows - Charlez Petzold

أو Programming Windows with MFC

#3

بإمكانك الدخـول على الفيجوال سي بلس بلس 6 أو الدوت نت ... وعبر اختيار تطبيق mfc ... تستطيع رسم الواجهـة التي تريدها كما هـو الحال في الفيجوال بيسك .... ولكن إذا كنت جاداً فعليك البدء بتعلم مكتبات الـ mfc عـن طريق كتابة الأكـواد بيدك وليس عبر المعالجات

#4

السلام عليكم

شكراً جزيلاً لكم يا إخوان و ما قصرتوا

و عندي سؤال آخر ما هي الأدوات التي تتعامل مع الأصوات و ضغطها في السي ++ و كيف ممكن أجدها في النت

سبحان الله و بحمده سبحان الله العظيم

#5

مرحبا

لدي سؤال صغير ولا اريد ان انشئ موضوعا كاملا لاجله فهو لا يستحق...

لدي هذا الكود(على سبيل المثال...السؤال عام ولا يتعلق بكود معين)

#include <iostream.h>
void main()
{
	int a;
	cout<<"s/n : ";
	cin>>a;
	if(a+61166 == 100000)
	cout<<"nice!!\n";
}

كيف يمكن ان اجعله لا يغلق (اي شاشة الدوس) الا بعد ان يضغط المستخدم اي شيء

فالبرنامج هكذا بعد ان ينتهي تغلق شاشة الدوس فورا

اريده ان ينتظر المستخدم لادخال اي شيئ كي يغلق...

وشكرا

#6

إذا كنت تقصد أنك تعمل على ويندوز و تستخدم Visual C++ فشاشة الدوس تغلق في الوضع Debug عندما تضغط على F5 و لكن إذا ضغطت Control + F5 أو شغلت البرنامج بطريقة عادية و ليس من خلال VC++ فلن تغلق هذه الشاشة

#7

اخي العزيز usama707

لدي التالي :

اعمل على Visual C++ واكتب الكود ثم اقوم بعمل compile ثم build ومن ثم اجرب البرنامج بـ run وعند ظهور شاشة الدوس فانها

لا تغلق الا عند الضغط على اي مفتاح في الكيبورد...

لكن اذا ذهب الى المكان الذي يوجد فيه هذا البرنامج (يوجد في مجلد debug في المكان الذي وضعت فيه الـ workspace) وشغلت البرنامج فان شاشة الدوس تظهر للحظات ثم تختفي فور انتهاء عمل البرنامج...

فما الحل؟

#8

أضف هذا السطر في نهاية البرنامج قبل عبارة return

system("pause");

تم تعديل هذه المشاركة بواسطة usama707 في 14 يناير 2006 في 00:59

#9

كما قال اسامة , ولا تنسى اضافة هذه المكتبة

#include <stdlib.h>

أو استخدم الأمر

getch();

قبل الـ return أيضاً , تحتاج المكتبة

#include <conio.h>
#10

حسنا...

في البداية شكرا للاخ اسامة والاخ اسمبلي...

ان الامر

system("pause");

جعلني احصل على الصورة التالية

14_01_06_12_53_19_1137271999f16.GIF

وكما ترى فان جملة Press any key to continue ظهرت مرتين

فبعد ادخال الرقم ظهرت الاولى فضغطت على مفتاح ما ثم اكمل البرنامج عمله ثم ظهرت الجملة الثانية...

الامر

getch();

ينفذ نفس الامر السابق لكن جملة Press any key to continue الاولى لا تظهر...

ما الذي اريده؟

ان يتم تنفيذ البرنامج بشكل طبيعي لكن بعد تنفيذ آخر statment في الكود تظهر لي جملة

Press any key to continue منتظرة الضغط على اي مفتاح للخروج من شاشة الدوس...

#11

بسيطة جداً للغاية .... قم بكتابة هذين الأمرين في آخر البرنامج

printf("Press any key to continue..");
getch();
#12

بسم الله الرحمن الرحيم

السلام عليكم

كما قال الاخوة الكرام عن إستخدام الدالة

getch();

ممكن تستخدم

system("PUASE):
الموجودة داخل stdlib header file

كما موصح ف ذلك المثال

#include <iostream>  //For using cout to print
#include <stdlib> //For system mehtod
void main()
{
 cout<<"Hello World"<<endl;
 system("PAUSE");

}

أما عن عمل Buttons على الدوس فستجد ف المرفقات برنامج لذلك حيث يشتغل ع الBorland فقط :)

graph.rar

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#13

اخواني الاعزاء حتى لا اضيع وقتكم...

اريد برنامجا مشابها تماما (نعم تماما) للموجود في المرفقات...

وشكرا لكم...

crackme.rar

#14

لا أدري ماذا تريد يا أخي العـزيز.....

أنت تريد البرنامج أن ينتهي عـندما يقوم المستخدم بالنقر على أي زر أليس كذلك .....

هذا ما تفعله الدالة getch()

#15

على كل يبدوا ان الموضوع قد اصبح طويلا...

سانتظر حتى الاشهر القادمة عندما ادرس الكورس الثاني من هذه اللغة لكي اعرف كيف يتم ذلك

اعتقد انني لم اشرح ما اريده جيدا لذلك فقد اربكتكم....

على كل فالشكر للجميع وتحياتي لكم

#16

بسم الله الرحمن الرحيم

السلام عليكم

أخى allko حاول تقراء المشاركة رقم 12 أعتقد انها أجابتك لسؤالك :-)

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#17

نعم نجحت!! حصلت على ما اريد!!

شكرا لك اخيeng_3llam

لكني متاكد من انني قمت بكتابة كود مشابه لما كتبته الان!

هل وجود مكتبات غير مستخدمة ( اي اضافة سطر #include لمكتبة لن استخدمها بالبرنامج) يؤثر في شيئ؟ لا اعتقد

ولا اعتقد ايضا ان اختلاف نوع دالة ال main (اي void او int) سيؤثر...

لا اعرف ماذا كانت المشكلة لكن المهم انني حصلت على ما اريد

شكرا للجميع

#18
اقتباس

اي اضافة سطر #include لمكتبة لن استخدمها بالبرنامج

أكيد لازم تعمل include للheader file اللى هتستخدمة ف البرنامج بمعنى لو جيت وكتبت

#include <conio>
//#include <iostream>
void main()
{
 cout<<"Hello World";
 getch();
}

ستجد الcompiler give u Error

اقتباس

Undefined symbol 'cout'

اقتباس

ولا اعتقد ايضا ان اختلاف نوع دالة ال main (اي void او int) سيؤثر

إقراء تلك المشاركة :)

ارجو المساعدة في شرح هذا الكود

تم تعديل هذه المشاركة بواسطة eng_3llam في 16 يناير 2006 في 15:03

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…