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

تطبيق عن الملفات النصية المتغيرات النصية 5عبارة عن لعبة أسئلة وأجوبة-

مغلق
بدأه getsource في 25 نوفمبر 2007 · 1 رد · 1,568 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

part1.zip

سؤال و جواب

يعتبر هذا البرنامج الصغير عبارة عن تطبيق عملي يساعد على فهم العمليات على الملفات النصية وكيفية التعامل معها. Text file .

فكرة البرنامج عبارة لعبة أسئلة وأجوبة ، حيث يقوم البرنامج بطرح سؤال معين مرفق بثلاث اقتراحات وعليك النقر فوق الجواب الصحيح ثم يقوم البرنامج بتوجيهك للجواب الصحيح إن أخطأت في النقر فوق الجواب الصحيح.

الأسئلة تكون مخزنة داخل ملف نصي تحت اسم quiz.txt قمت بتحريره بواسطة Notepad على النحو التالي :

كل سؤال مدرج في سطر وهذه نظرة على الملف

(يجب مراعاة الشروط التالية إذا أردت إضافة أسئلة جديدة للملف .)كل سطر تركيبته كالآتي :

نص السؤال # الجواب الأول $ الجواب الثاني & الجواب الثالث % رقم الجواب الصحيح

لاحظ جيدا الرموز # $ & % هي مهمة جدا لحسن سير البرنامج لأنه بواسطة هذه الرموز يستطيع البرنامج تميز نص السؤال من الجواب الأول والثاني والثالث وكذلك يمكن له معرفة أين هو الجواب الصحيح من الثلاثة وهذا مثال للتوضيح :

من هي آخر زوجات الرسول رحيلا عن الدنيا ؟ # أم سلمة $ جورية بنت الحارث & أم حبيبة بنت أبي سفيان %1

لاحظ هنا أن نص السؤال ينتهي عند الرمز # ثم يأتي نص الجواب الأول وينتهي عند $ ثم الثاني وينتهي عند & والثالث عند % ثم يأتي رقم الجواب الصحيح وهو رقم 1 يعني هو أم سلمة.

أضن أن الأمر أصبح واضحا لما سيأتي :

أهم شيء في البرنامج هو كتابة شيفرة دالة تقوم باستخراج نص السؤال والأجوبة المقترحة من ملف النص

الدالة تحمل اسم :

Get_Question(numero: integer): question_record_type نعطي هذه الدالة رقم عشوائي وهو رقم سؤال عشوائي وتقوم بإعادة لنا النتيجة عبارة عن تسجيلة من نوع question_record_type وهي معرفة كما يلي :

وهذه شيفرة الدالة حيث تعتمد على استعمال الدالة copy لنسخ مقطع من كل سطر أي سؤال من الأسئلة والدالة Pos لمعرفة موقع (ترتيب) أحد الرموز داخل النص معتمدا على الرموز السابق ذكرها # $ & %

لمزيد من التوضيح ارجع إلى Help Delphi بالضغط في محرر دلفي عندما يكون المؤشر فوق Pos أو copy على المفتاح Ctrl+F1

مثلا لاستخراج نص السؤال نستعمل السطر التالي :

result.Question := copy(ch,1,hexa-1)

حيث أن : hexa هو متغير من نوع أنتيجر integer نخزن فيه ترتيب الرمز # داخل نص string بواسطة استعمال الدالة pos

hexa := pos('#',ch); è #ترتيب الرمز

dollar := pos('$',ch); è $ترتيب الرمز

ecom := pos('&',ch); è &ترتيب الرمز

pour100 := pos('%',ch); è % ترتيب الرمز

للتوضيح أكثر :

X := pos('n','yassine');

1

2

3

4

5

6

7

y

a

s

s

i

n

e

المتغير x في هذه الحالة يأخذ القيمة 6

أما بالنسبة للدالة copy:

مثلا :

str1 := 'Delphi is the best';

str2 := copy(str1,8,6);

هذا السطر يعني أن الدالة copy سوف تقوم بنسخ ستة أحرف ابتداء من الخانة الثامنة وتكون النتيجة في هذه الحالة is the

أي : str2='is the'

1

2

3

4

5

6

1

2

3

4

5

6

7

8

9

10

11

12

13

14

16

17

18

19

D

e

l

p

h

i

i

s

t

h

e

b

e

s

t

وهذه الآن الكوذ الكامل للدالة : Get_Question

و في الأخير يمكن تحسين هذا البرنامج بإضافات أخرى مثل تخصيص نوع الأسئلة

وضع ملف نصي للأسئلة الدينية

وملف آخر للأسئلة الجغرافية

وملف للأسئلة العلمية

وملف للأسئلة الرياضية

و....الخ

ويمكن أيضا إضافة متنافسين 2 أو ثلاث لجعل اللعبة أكثر تنافسية و متعة

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

إذا كنت لا تحب البرمجة باستعمال الملفات النصية يوجد ملف مرفق مع البرنامج هو عبارة ملف قاعدة بيانات paradox وهو dataquiz.db يمكنك استخدامه واعادة برمجة برنامج من جديد كما يحلو لك حسب رغباتك ، خصوصا وأن برمجة قواعد البيانات بارادوكس سهل بياستخدام دلفي

Copyright

©Copyright Novembre 2007

Bendib yassine Poste de Ain Tasserra Sadrata

Bordj Bou Arrerridj 34262

Algerie

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

Pour des critiques ou suggestions contacter moi sur:

<A href="mailto:Yassine34@hotmail.com">Yassine34@hotmail.com

حجم الكود أكبر من السعة المسموح بها على الموقع لدلك قسمته إلى قسمين

part1

و

part2

وهدا الجزء الثاني من الكود part2

part2.zip

#2
part2.zipالسلام عليكم هدا الجزء الثاني من كود البرنامج

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

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

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

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

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

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