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

تصحيح كود لإظهار عبارات بحسب عدد مرات ضغط الزر

بدأه مبتدأ دلفي في 28 سبتمبر 2012 · 8 رد · 723 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمت الله وبركاته...

برمجة برنامج يقوم بتوليد الارقام العشوائيه وقمت بأستخدام بيئه الفيجوال سي بلص بلص اكسبريس 2010 ....سأوضح بالتفصيل المشكله ان شاءالله...

قمت بفتح مشروع ووظعت 2 تيكست بوكس و زر button و وظعت في أمر الظغط على الزر هذا الكود

 int num;

			     switch (num) 
			     {
			     case 1:
				     txt1->Text = ("num 1st");
				     txt2->Text = ("12345");
				     break;

			     case 2:
				     txt1->Text = ("num 2nd");
				     txt2->Text = ("678910");
						break;
			     case 3:
				     txt1->Text = ("num 3thd");
				  	txt2->Text = ("1290");
					     break;

			     default :
				     ;			
			 	}

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

والمشكله هي عندما اضع هذا الكود المشروع بيشتغل اعتيادي ولاتوجد اخطاء في البرنامج لكن عندما اظغط على الزر لايحصل شيئآ فما السبب؟؟؟؟ هذه من ناحيه

من ناحيه اخرى اريد كود اظهار رساله تعليميه في default : وجزاكم الله الف خيرآ

والسلام عليكم ورحمة الله وبركاته

تم تعديل هذه المشاركة بواسطة محمد عودة في 29 سبتمبر 2012 في 06:49 — السبب: أضافة تنسيق كود

#2

أخي العزيز ..

أنت تخلط بين الكود الرئيسي ... وبين واجهة المستخدم ...ومن نا حية أخرى ... يبدو أنك لم تربط بينهما في النهاية ..

أولاً..يجب أن تجرب كودك على الكونسول ...يعني الشاشة السوداء العادية دون الدخول في تعقيد الواجهات ...

ثانياً ..عليك بناء واجهت بما يتناسب مع هدفك من البرنامج ...

أخيراً ... عليك ربط الكود بالواجهة .. وذلك عبر استدعاء التابع داخل جسم الكائن في الواجهة وليكن زر مثلاً ....

اقتباس

والمشكله هي عندما اضع هذا الكود المشروع بيشتغل اعتيادي ولاتوجد اخطاء في البرنامج لكن عندما اظغط على الزر لايحصل شيئآ فما السبب

ادخل إلى الكود الخاص بالزر ... ستجد دالة اسمها ButtonOn أو شيئاً من هذا القبيل ... بحيث تعبر عن ماذا يفعل ..عندما يضغط الزر ...

واكتب استدعاء التابع الذي يقوم بطباعة الأرقام العشوائية ...داخل جسم الدالة آنفة الذكر ,...

إذا كنت مبتدءاً ... فيحبّذ ألا تدخل إلى بيئة الواجهات فوراً (هذا رأيي الشخصي ليس إلا )... فهي تحتاج معرفة جيدة في الclasses على الأقل ...

ابدأ من الشاشة السوداء الكونسول ... وهي ليست بالسوء الذي تتصوره ...

طريق الميل يبدأ بخطوة ...

أرجو لك التوفيق

والسلام عليكم ورحمة الله وبركاته

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 28 سبتمبر 2012 في 20:33

#3
مصطفى 36a2 كتب:

أخي العزيز ..

أنت تخلط بين الكود الرئيسي ... وبين واجهة المستخدم ...ومن نا حية أخرى ... يبدو أنك لم تربط بينهما في النهاية ..

أولاً..يجب أن تجرب كودك على الكونسول ...يعني الشاشة السوداء العادية دون الدخول في تعقيد الواجهات ...

ثانياً ..عليك بناء واجهت بما يتناسب مع هدفك من البرنامج ...

أخيراً ... عليك ربط الكود بالواجهة .. وذلك عبر استدعاء التابع داخل جسم الكائن في الواجهة وليكن زر مثلاً ....

ادخل إلى الكود الخاص بالزر ... ستجد دالة اسمها ButtonOn أو شيئاً من هذا القبيل ... بحيث تعبر عن ماذا يفعل ..عندما يضغط الزر ...

واكتب استدعاء التابع الذي يقوم بطباعة الأرقام العشوائية ...داخل جسم الدالة آنفة الذكر ,...

إذا كنت مبتدءاً ... فيحبّذ ألا تدخل إلى بيئة الواجهات فوراً (هذا رأيي الشخصي ليس إلا )... فهي تحتاج معرفة جيدة في الclasses على الأقل ...

ابدأ من الشاشة السوداء الكونسول ... وهي ليست بالسوء الذي تتصوره ...

طريق الميل يبدأ بخطوة ...

أرجو لك التوفيق

والسلام عليكم ورحمة الله وبركاته

نورت اخوي مصطفى

لكن يا اخ مصطفى انا قمت بعمل هذا البرنامج بعدما اتقنت شرح المتغيرات والجمل الشرطيه وجمل التكرار والفانكشين والمصفوفات والعمليات الحسابيه والمقارنه والخ.... وبعدها دخلت في عمل هذا البرنامج البسيط وايضآ تواجهني مشكله اخرى يعني على سبيل المثال اي برنامج اريده اقدر اعمله في الكونسول لكن يوم ادخل للواجهه الرسوميه احس وكأني اول مره اتعامل مع الاكواد ومع ذلك البرنامج بيشتغل لكن النتيجه صفر واتمنى انك فهمتني

#4
اقتباس

لكن يا اخ مصطفى انا قمت بعمل هذا البرنامج بعدما اتقنت شرح المتغيرات والجمل الشرطيه وجمل التكرار والفانكشين والمصفوفات والعمليات الحسابيه والمقارنه والخ....

وبعدها دخلت في عمل هذا البرنامج البسيط وايضآ تواجهني مشكله اخرى يعني على سبيل المثال اي برنامج اريده اقدر اعمله في الكونسول لكن يوم ادخل للواجهه الرسوميه احس وكأني اول مره اتعامل مع الاكواد ومع ذلك البرنامج بيشتغل لكن النتيجه صفر واتمنى انك فهمتني

نعم فهمت عليك ...تماماً ..

عليك إذا أن تدرس عن الواجهات ..هل تستخدم MFC ابحث في منتدى ستجد الكثير من الأمور المفيدة ...

,هذا درس بسيط من خارج المنتدى أرجو أن يفيدك ...

في النهاية ..الكود يبقى نفسه ... ولكن تتغير آلية الإدخال والإخراج ...فقط لا غير ...

يجب أن تحاول كتابة برنامجك بحيث تفصل الادخال والاخراج في دوال منفصلة ...

بالتوفيق ...وإن شاء الله يجيبك أحد المختصين ويفيدك أكثر مني

#5
مصطفى 36a2 كتب:

نعم فهمت عليك ...تماماً ..

عليك إذا أن تدرس عن الواجهات ..هل تستخدم MFC ابحث في منتدى ستجد الكثير من الأمور المفيدة ...

,هذا درس بسيط من خارج المنتدى أرجو أن يفيدك ...

في النهاية ..الكود يبقى نفسه ... ولكن تتغير آلية الإدخال والإخراج ...فقط لا غير ...

يجب أن تحاول كتابة برنامجك بحيث تفصل الادخال والاخراج في دوال منفصلة ...

بالتوفيق ...وإن شاء الله يجيبك أحد المختصين ويفيدك أكثر مني

بارك الله فيك اخي على مساعدتك والدرس مفيد والحمدلله لكن لازلت في حيره لحل هذه المشكله وانا بأنتظار الاخوه للمساعده

#6

أخي..

ما هو المتغير int num ... أي لأي غاية وضعته وما هي قيمته المبدأية

جرب هذا ..

static int num=1;

switch (num)
{
case 1:
txt1->Text = ("num 1st");
txt2->Text = ("12345");
break;

case 2:
txt1->Text = ("num 2nd");
txt2->Text = ("678910");
break;
case 3:
txt1->Text = ("num 3thd");
txt2->Text = ("1290");
break;

default :
	MessageBox::Show("num = "+ num.ToString());
;



}
num++;

وبالمناسبة لا حاجة للأقواس الحاوية للسلاسل النصية..

يمكنك تحويل:

txt1->Text = ("num 1st");

ل:

txt1->Text = "num 1st";

تم تعديل هذه المشاركة بواسطة A.S Hack في 28 سبتمبر 2012 في 22:40

" إن الله كتب الإحسان على كل شيء"

::

الإرادة ... تحقق السيادة.

#7

بارك الله فيك عزيزي وجزاك الله مليوووون خير واتمنى كل شخص يستفاد من هذا الموضوع ان يكتبه الله في ميزان حسناتك يوم القيامه وعندي طلب بسيط جدآ اخي

البرنامج اوكي شغال والحمدلله لكن من اظغط الزر اعتيادي تظهر الحاله الاولى والضغطه الثاني بتظهر الحاله الثانيه جدآ طبيعي والثالثه ايضآ لكن العد يتوقف!!! وانا اريد توليد عشوائي يعني مثلآ من اصل للحاله الثالثه يرجعني على الحاله الاولى والثانيه وهكذا اتمنى فهمتني يالغلا وانا بأنتظارك تاج راسي

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 28 نوفمبر 2013 في 14:06 — السبب: إزالة الاقتباس

#8

وكأني بك تطلب النقيضان! تقول "عشوائي" ثم ما تلبث أن تقول: يرجع بعد المرة الثالثة للمرة الأولى ؟ blink.gif

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

static int num=1;

switch (num)
{
case 1:
txt1->Text = ("num 1st");
txt2->Text = ("12345");
break;

case 2:
txt1->Text = ("num 2nd");
txt2->Text = ("678910");
break;
case 3:
txt1->Text = ("num 3thd");
txt2->Text = ("1290");
break;

default :
        MessageBox::Show("num = "+ num.ToString());
;



}
num++;
if(num==4)
num=1;

تم تعديل هذه المشاركة بواسطة A.S Hack في 28 سبتمبر 2012 في 23:08

" إن الله كتب الإحسان على كل شيء"

::

الإرادة ... تحقق السيادة.

#9

الله يطول بعمررررك ايوااااااا هو هذا ألي اريده بارك الله فيك اخوي وفاتتني خطوة استخدام الشرط وفعلآ والله الحين اقتنعت نصف ابداع المبرمج في مخه والنصف الآخر في البرمجه وهذا البرنامج تسبب في تعطيل مخي عن العمل لكن بفضل الله ثم بفضلك رجعت الحركه طبيعيه ههههههه

شكرآآ اخوي جزاك الله الف الف خيــــر

انتهينا من حل المشكله ايها المشرفون

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 28 نوفمبر 2013 في 14:07 — السبب: إزالة الاقتباس

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

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

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

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

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