دروس الـDark basic :بدايــــة الطريق
بسم لله الرحمن الرحيــــــــم
الدرس الأول
وقبل كل شيء السلام عليكم ورحة الله وبركاته
هذه أول دروسي في لغة الـــــــDark basic , وفي هذا الدرس سأشرح عن العلاقات الرياضيّه والأوامر المتعلقه بالنصوص
وأنواع المتغيرات الذي سنتعامل معها .
هناك ثلاثه متغيرات سنتعامل معها وهي:
1)- المتغيرات العدديه(integer ).
2)- المتغيرات من نوع السلسله الحرفيه(string ).
3)- المتغيرات العشريّه (long ).
هنا جدول توضيحي للموضوع
Name : Mark
Integer : None
$ : String
# : long
سنشرح كل واحد على حدى
* المتغيرات العدديه(integer ).
في هذا النوع من المتغيرات سوف نتعامل معه بشكل كبير أثناء دراستنا
لأنه يدخل في العمليات الحسابيه والأكثر أهميّه من ذلك إنه لايقتصر على العمليات الحسابيه فقط
هنا سنذكر إستخدام أخر مهم له
كود PHP:
load image "File name",1
load bitmap "File name",2
load object "File name",3
وإلخ........
إذا بتلاحظوا الأعداد 1,2,3 بعد كل File name هي الأعداد التي سنتعامل معها دون الحاجه إلى كتابة أسم
الملف المراد إستدعائه أو العمل عليه
ملاحظه :-
مثل أوامر التحميل(load) أعلاه لاتقبل إلا الأعداد الطبيعيه.
مثال بسيط يوضح إستعمال الأعداد الحقيقيه في العمليات الحسابيه
أفتح برنامج الـــــDark basic وفي نافذة الكود أكتب السطور التاليه:-
كود PHP:
a=2+6
print a
Wait key
أو يمكن كتابة الأوامر بهده الطريقه
كود PHP:
b=6
c=2
a=b+c
print a
wait key
مـــــــــــاذا تلاحظوا عند الضغط على زر F5 أي عند تنفيذ الأوامر ورؤية الناتج؟
نعم هذا صحيح ,ستلاحظوا إن الناتج هو 8
سنشرح الكود بشكل سريع
في السطر الأول جمعنا عددين هما 6 و 2 وأردنا أن نخزن الناتج في المتغير العددي a
أما بالنسبه للأمر Wait key
فهو يعتبرمن الاوامر تقريباً لولاه لما كنت تستطيع رؤية نتيجة تنفيدك للأوامر
لماذا سمي Wait key ؟
لأن شاشة العرض تبقى حتى تضغط على أي زر من ثم تعود إلى بيئة البرمجه
لمـــــــــــاذا a متغيرعددي ؟
لاحظوا الجدول التوضيحي في سطر Integer تحت عنوان mark
نلاحظ إنه كُتب None أي لايوجد رمز يمثل المتغيرات العدديه حتى إذا حطيتوا رمز
مثل المتغيرات الأخرى($,#) فهو لن يعمل أو تظهر نتيجه غير مرجوّه.
*المتغيرات من نوع السلسله الحرفيّه(String ).
يمكن التعامل مع هذا النوع من المتغيرات بعدة طُرق ومنها :
1)- يمكن عرض النصوص بشكل مباشر.
مثـــــــــال:-
كود PHP:
print "Hi,my name is DBprog"
Wait key
أو
كود PHP:
a$="Hi,my name is DBprog"
Print a$
Wait key
أو
كود PHP:
a$="Hi,my name is DBprog"
b$="and my age is 21"
print a$+b$
wait key
ملاحظه:-
1)- يمكن كتابة الكود السابق بهذه الطريقه
كود PHP:
a$="Hi,my name is DBprog"
b$=" and my age is 21"
print a$+b$
wait key
مــــــــاذا نلاحظ في السطر الثاني من الكود ؟
نلاحظ وجود فراغ والغرض منه ترك مسافه بين العبارات
2)- يجب وضع النص بين إشارتي التنصيص ("") بحكم إنه متغير نصّي
* المتغيرات العشريّه(long)
أو السلسله العدديه الطويله , يمكن التعامل معها بنفس الطريقه التي تعاملنا مع الــInteger
لهذا لاداعي لشرحها وهذا مثال يشرح الأمور
كود PHP:
a#=22.45
b#=56.23
c#=a#+b#
print c#
wait key
ملاحظه:-
إذا أزحنا إشارة إشارة # من أحد المتغيرات فإنه سيتم جمع integer مع long
أما إذا أزحناها من المتغير الذي يمثل الناتج فإن الناتج سيكون عدد طبيعي عند التنفيذ
جربها وشوف..........
الأن والحمد لله أنتهينا من شرح أنواع المتغيرات الأساسيه الذي سنتعامل معها والأن سوف نتطرّق إلى
Convert
في هذا الموضوع سوف نتعلم كيف نقوم بالتحويل مع المتغيرات فيما بينها
عند التحويل إلى string نستخدم الأمر Str$
مثـــــال:-
كود PHP:
a=50
a$=str$(a)
print a$
wait key
ملاحظه:-
ينطبق هذا التحويل أعلاه على الـــlong أيضاً
عند التحويل إلى Integer أو long نستخدم أمر val
كود PHP:
a$="Hi,my name is DBprog"
a=val(a$)
print a
wait key
نلا حظ أن الناتج كان صفر...... لمـــــــاذا؟
شيء معروف ...لأن القيمه المحوله إلى عدد كانت نصّيه لهذا كان الناتج صفرً
لأنه لم يتعرف على إنها عدد أثناء التحويل.
وهنا أيضاً سوف نتعرف على بعض الأوامر التي تتعلق بالنصوص و سوف تساعدنا فيما بعد,وهي:
Asc$ command
هذا الأمر يعيد قيمة الحرف بما يقابله من عدد بنظام Ascii
مثـــــال:-
كود PHP:
s=Asc("b")
print s
wait key
نلاحظ إن النتيجه ستكون 98 وهو العدد الذي يمثل الحرف B
يمكنك أن تجرب على أعداد اُخرى.
Chr$ command
هذا الأمر وبإختصار شديد عكس السابق
مثـــــــال:-
كود PHP:
s$=Chr$(98)
print s$
wait key
Len command
هذا الأمر يقوم بإحصاء عدد الحروف الموجوده في النص.....كيف؟
مثـــــــال:-
كود PHP:
name=len("Hi,my name is DBprog")
print name
wait key
لمـــاذا لم نخزن النص في متغير نصّي ($name) ؟
هذا الأمر مُختص بإحصاء الحروف وبما إنه مُختص بذلك في هذه الحاله سيتم تخزين النص في متغير من نوع Integer
حتى يظهر لنا عدد الأحرف
ملاحظه:-
هذا الأمر يحصي المسافات(Space) أيضاً ركز على هذه النقطه
Mid$ command
يقوم هذا الأمر بطباعة الحرف الذي أنت تحدده في الـparametar الخاص بيه
مثـــــــال:-
كود PHP:
DBprog$=mid$("Hi every body",2)
print DBprog$
wait key
نلاحظ إثناء التنفيذ إنه تم طباعة الحرف i لإننا وضعنا رقم 2 وهو يمثل ثاني حرف في النص
والذي سيتم طباعته
ملاحظه:-
يتم إحصاء الفراغات أيضاً في هذا الأمر وأن صدف إننا كتبنا في المثال السابق
رقم 3 سيصادف أثناء العد فراغ(Space) وسيكون الناتج لاشيء(شاشه سوداء فقط).
Right$ command
هذا الأمر مشابه نوعاً ما للسابق من ناحية الـParametar
وهو يقوم بطباعة النصوص إبتداءً من اليمين
مثـــــــال:-
كود PHP:
Myname$=right$("hello every body",4)
print Myname$
wait key
سيتم طباعة كلمة body أثناء التنفيذ
Left$ command
هذا الأمر كالسابق ولكن يطبع من اليسار حسب القيمه المعطاه.
مثــــــال:-
كود PHP:
Myname$=left$("hello every body",4)
print Myname$
wait key
هنا سيطبع كلمة جحيم(hell) ههههههههه.
ملاحظه هامّه جداً:-
لاتكتب الأكواد نقلاً من الموضوع بل قوم بنسخها مباشرتاً حتى تراها بشكل صحيح أثناء لصقها وشكراً
وأتمنى أن تكونوا أستفذتم من الشرح ولنا لقاء في الدرس القادم..........;)
رد: دروس الـDark basic :بدايــــة الطريق
بسم الله
شكرا يا عزيزي على هذه الدروس .. ان شاء الله الكل يستفيد
رد: دروس الـDark basic :بدايــــة الطريق
شكرا شكرا لكن انا الحمد الله كل هذا بعرفه من السي بلس بلس وهذه اشياء سهلة للغاية وشفه تطبيقاتي بشكل اخر .
رد: دروس الـDark basic :بدايــــة الطريق
شكرا شكرا لكن انا الحمد الله كل هذا بعرفه من السي بلس بلس وهذه اشياء سهلة للغاية وشفه تطبيقاتي بشكل اخر .
رد: دروس الـDark basic :بدايــــة الطريق
اقتباس:
شكرا شكرا لكن انا الحمد الله كل هذا بعرفه من السي بلس بلس وهذه اشياء سهلة للغاية وشفه تطبيقاتي بشكل اخر .
هذا صحيح ولكن لاتستسهل الأمور لإنه هذا إلا تمهيد فقط..........(^_^)
رد: دروس الـDark basic :بدايــــة الطريق
صحيح بالنسبة لاول شرح وهو integer سهل للغاية.
2:شوفه تطبيقي بشكل اخر يصير ايضا غير الاخ نجد.
الاول على integer
كود PHP:
a=2+6
print "a=";8
wait key
شكل تاني بدل ما تستعمل wait key تقدر do >>loopشوفه.
كود PHP:
a=2+6
print "a=";a
do
loop
وبعدها متل ما قال الاخ نجد بارك الله فيه وبجهوده نضغط f5.
وبالنسبة ل string فهي اسماء.
اخدنا في السي للي يوخد دروس سي انه cout عنصر اخراج وهنا print عنصر الاخراج على الشاشة سهل جدا الدارك.
وبالنسبة لكوده رمزنا للمتغير a ب $ لماذا يا حلوين لانه اي متغير من نوع string يتبع دائما ب $ احفظه زي اسمك ما بده فهم ومتل ما قال الاخ اي نص يضع بين اشارتي تنصيص ليش يا ترى سؤال طيب النص هل يعد امر ؟؟؟؟!! سؤال بحير بسالكم ياه النص يعد دالة اي شيء من هذا القبيل شو رايكم يا ترى ؟؟؟؟؟؟؟؟ فلذلك نضع النص بين اشارتي تنصني لانه اسم اتمنى وصلت الفكرة واكيد وصلتكم الفكرة من الاخ db نجد بارك الله في جهوده.
والثالث هو long هو يعني يمثل الاعداد العشرية يا شباب يا حلوين الله يخليكم سؤال بسيط لكم يعني يا ترى لماذا برايكم امر long??????????
امر long يستعمل ببساطة متى ؟ عندما تريد جمع او طرح او قسمة عدد عشري اوكي بالسي بلس بلس شوفه كيف مثلا اذا اردتم ان تعرف المتغير ك عدد صحيح شو تضعه قبله int هنا لا شيء واذا اردت ان تعبر عن متغير بانه عدد عشري في السي كيف تضع قبل المتغير long اما في الدارك شوفه سهولة الدارك تضع بعده اشارة # حتى يعرف ك عدد عشري اريتم لماذا وكذلك شانه شان ال string وغيره اوكي وصلت الفكرة.
سؤال لو وضعنا قيمة a=5.5 و b=10.5 اذا لم نضع بعد المتغيرين اشارتي تعريف لهما بانهما كاعدادا عشرية long ماذا سوف يحصل سوف تعامل المتغيرات a و b كاعداد صحيحة ولن يعرف الاعداد العشرية بعد الرقم الصحيح وصلت الفكرة ^^
وجربه هذا الكود
كود PHP:
a=22.45
b=56.23
c=a+b
print c
wait key
شو فهمته الان. زي شرح db بارك الله فيه.
بالنسبة للباقي فهو ايضا سهل وخلص يمكن الاخ db يزعل لاني بشرح غير شرحه بتاسف منه وكمله الباقي.
رد: دروس الـDark basic :بدايــــة الطريق
اقتباس:
شكل تاني بدل ما تستعمل wait key تقدر do >>loopشوفه
هو صحيح بس أنا مش عايز ألخبط الطلاب إن كنت فاهم هذا الموضوع مسبقاً كان من المفروض أن تحتفظ به لنفسك في الوضع الحالي
رد: دروس الـDark basic :بدايــــة الطريق
اقتباس:
سؤال لو وضعنا قيمة a=5.5 و b=10.5 اذا لم نضع بعد المتغيرين اشارتي تعريف لهما بانهما كاعدادا عشرية long ماذا سوف يحصل سوف تعامل المتغيرات a و b كاعداد صحيحة ولن يعرف الاعداد العشرية بعد الرقم الصحيح وصلت الفكرة
مافي إختلاف بين هذا الكلام وشرحي له ...........لذا كان من المفترض عدم كتابته من الأصل
أما باقي
رد: دروس الـDark basic :بدايــــة الطريق
اقتباس:
سؤال لو وضعنا قيمة a=5.5 و b=10.5 اذا لم نضع بعد المتغيرين اشارتي تعريف لهما بانهما كاعدادا عشرية long ماذا سوف يحصل سوف تعامل المتغيرات a و b كاعداد صحيحة ولن يعرف الاعداد العشرية بعد الرقم الصحيح وصلت الفكرة
مافي إختلاف بين هذا الكلام وشرحي له ...........لذا كان من المفترض عدم كتابته من الأصل
أما باقي كلامك صحيح...........يمكن كتابة المتغيرات العدديه والحرفيه في نفس الوقت وإن شاء الله تكون تتفاعل معي في الدروس الأخرى......وشكراً
رد: دروس الـDark basic :بدايــــة الطريق
بسم الله
ايه يا اخ برنسس ده .. انت يا عم مش هتبطل .. عايز تدي دروس افتح موضوع لوحدك وادي دروس فيه
انا اتخنقت منك خلاص
:12: :12: :12: :12: :12: :12: :12: :12: :12: :12:
رد: دروس الـDark basic :بدايــــة الطريق
انا اصلا كل هذا من نجد وفكرت اعمل غلات تانية زبط معاي كله بفضل الله ونجد شكرا نجد تااااااااااابع دروسك رووعة دروسك استمر.
2 مرفق
رد: دروس الـDark basic :بدايــــة الطريق
السلام عليكم ورحمة الله وبركاته
الدرس الثــــاني
في هذا الدرس سوف نتعرف على بعض الأومر التي من شأنها تحسين النصوص أو بمعنى أخر
التعديل في خصائص النصوص ومنها
Set cursor command
هذا الأمر يقوم بتحديد نقطه على شاشة العرض(عند التنفيد)......كيف؟
سيطلب منك هذا الأمر تحديد الأحداثي x,y
وهذا الأمر فعّال جداً مع مع الأمر Print
مثـــــال:-
كود PHP:
Rem "This command will print my name"
set cursor 320,240
print "DBprog"
wait key
سنشرح الأمر السابق بسرعه
السطر الأول لو بتلاحظوا كلمة Rem جاءت في بدايته وهذه الكلمه تختص بالتعليقات
أي أن أي شيء يُكتب بعدها سواء كان رمز أو أمر لايتم قرائته من قِبل الــCompiler
السطر الثاني
نقوم بتحديد المكان الذي ستظهر فيه الكتابه وذلك عن طريق الأحداثيات
أما بالنسبه للسطور الأخرى فهي ليست جديده بالنسبه لكم
Text command
هذا الأمر يُعتبر الأفضل في عرض النصوص لإنه يطلب الأحداثيات والنص المراد كتابته
Parametar
Text x,y,String
مثـــــال:-
كود:
Rem "This command will print my name"
text 320,240,"DBprog"
wait key
Font commands
ومن ضمنها
set text size
هذا الأمر يتحكم بحجم الخط
set text font
هذا الأمر يتحكم بنوع الخط
مثـــــال:-
كود PHP:
set text font "Arial"
set text size 40
text 320,240,"DBprog"
wait key
الأوامر التي تُعيد لك قيــــم
Text font$() command
هذا الأمر يُعيد لك نوع أو أسم الخط المستخدم في الكتابه
مثـــــــال:-
كود PHP:
DBprog$=text font$()
text 320,240,DBprog$
wait key
Text size()
مثل السابق ولكن يعيد القيمه المتعلقه بحجم الخط
مثـــــــال:-
كود PHP:
DBprog = TEXT SIZE()
set cursor 320,240
print DBprog
wait key
Set text to Bold,italic,normal command
مثـــــال:-
كود PHP:
DBprog = TEXT SIZE()
set text to italic
set cursor 320,240
print DBprog
wait key
Ink command
هذا الأمر يقوم بإعطاء لون للخط ولخلفيته, طالما يقوم بذلك فهو يطلب الأمر المختص باللون وأعتقد إنكم سمعتم من قبل عن
RGB
هذا الأمر بيطلب قيم لكلاً من اللون الأحمر والأخضر والأزرق حسب الترتيب
مثــــــال:-
كود PHP:
ink rgb(25,255,16),rgb(30,90,50)
DBprog = TEXT SIZE()
set text to italic
set cursor 320,240
print DBprog
wait key
وهناك الكثير من الأوامر المتعلّقه بالخط يمكنك إكتشافها بنفسك
أما الأن فذكرنا أهمها
سنتعرف الأن على أحــــــــد أوامر الأدخال وهو
Input commandهذا الأمر يطلب منك النص المراد ظهوره إلى جانب القيمه التي تريد أن يتم إدخالها
ولهذا الأمر طريقتين للأستخدام
1)- إما أن تضع القيمه المراد إدخالها مباشره(متغير).
2)- إما أن تضع نص لإعطاء الشخص فكره عما يتم إدخاله في الحقل.
مثــــــال:-
كود PHP:
Input myname$
print "you make it,Conguratulations"
wait key
أو
كود PHP:
Input "my name ",myname$
print "you make it,Conguratulations"
wait key
في السطر الأول من الأمرين السابقين وضعنا متغير نصّي والذي كان عباره عن وحدة الأدخال.
عند تنفيد الأمر نلاحظ إنه بيطلب إدخال إسمك أو أي شيء في الحقل
وعند الضغط لمشاهدة النتيجه سنرى رساله أو أي شيء تريد له الظهور أو حزمه من الأوامر.
وهنا رفعت مثال في المرفقات يختصر كل ناشرحته في هذا الدرس وأعرف إن البعض بيقول لماذا لم يرفعه وينتهي من الأمر؟
وجواب هذا السؤال بسيط جداً
لإن هناك بعض الأشخاص الذين يحتاجون لشرح مفصّل حتى تثبت الفكره بحكم إنهم مبتدئين
وبهذا أنتهينا من الأمور المتعلّقه بالنصوص وسنناقش الجمل الشرطيّه وجمل الدوران في الدرس القادم وهذا مثال بسيط عن جملة الشرط
وشكراً.................(^_^)
رد: دروس الـDark basic :بدايــــة الطريق
ياه رووعة دروسك الله لا يحرمنا من دروسك بس نجد انت دبحتنا يا دوب نطبق الي اعطيتنا اياه بالدرس الاول ههههه
ضغطتنا ضغط على كل استمر ^^ من زمان وين غايب.
رد: دروس الـDark basic :بدايــــة الطريق
ممتاز اخى دروسك روعة ، مع انى اعرف كل ما شرحته مسبقا ، لكن اريد ان ارى المزيد من شرحك الممتع بالتوفيق اخى وارجو ان لا تفعل مثل غيرك وتقطع دروسك فيما بعد
رد: دروس الـDark basic :بدايــــة الطريق
طيب درسك حلو بس في سؤال بسيط طيب ممكن من فضلك تعطيني كيف يتم التعامل مع الاحداثيات x,y,z يا اخ مشان الله حيرني على عكس غيره من البرامج قال اذا بتكبر القيمة بنزل لتحت في المحور y كنه متخلف طيب بالسي
على العكس y فوق موجب وتحت سالب هون لا بالدارك y لفوق سالب ولتحت موجب؟؟؟؟؟؟
بس مساعدة بسيط تقدر تشرحلي الزوايا كيف يتعامل معها هنا ويعطيك الف عافية.
وهل ينفع امر set cours مع الحداثيين y,z للاجسام وشكرا.
واخر ثلاث اقسام الخاصة ب اظهار حجم الخط ونوع الخط واخر ثلاث اشياء لم افهمها هي وهن بعد هاد الامر الى الاخر لم افهمه.
Text font$() command