دورة في لغة Objective-C
banner
2010-05-09 , 04:52 مساءً
A.M.A.D’s Avatar
A.M.A.D

مشارك

المشاركات:367
التسجيل:May 2009
A.M.A.D
[FONT=Arial]بسم الله الرحمن الرحيم[/FONT]



[FONT=Arial]Image[/FONT]


[FONT=Arial]إن هذه الدورة التي تسعى إلى فتح آفاق أوسع امامكم [/FONT][FONT=Arial]نحو التعرف على الخطوات الأولى في عالم البرمجة هذه الخطوات تعتمد على إنشاء تطبيقات خاصة بأجهزة[/FONT][FONT=Arial]:[/FONT][FONT=Arial]Mac – iPhone – iPad – iPod touch [/FONT][FONT=Arial]وأتمنى أن تكون البداية لمشاريعكم القادمة لإنشاء تطبيقات عربية يستفاد منها.[/FONT]


[FONT=Arial]الــمــوضــوع الـــعـــام[/FONT]




[FONT=Arial][B][FONT=Arial][U]نقاط مهمة جداً نرجوا من الجميع الإلتزام بها لكي نظهر بنتيجة مثالية بإذن الله:[/U][/FONT][/FONT][/B]


[FONT=Arial]* هذا الموضوع خاص بنقاشات الدروس ومن لدية مراجع إخرى أو إستفسارات (متى يبدأ الدورة التالية) أو غيرها فاليكتبها في الموضوع الموجود في قسم العام إضغط هــــنـا رجاء ضعوا هنا فقط كل الأمور الخاصة بالدورة (نقاشات - حل واجبات إن وجدت - ... )، وسأضع الوقت الكافي بين كل درس ودرس.[/FONT]


[FONT=Arial]* لقد واجهتني كثير من الرسائل الخاصة ولم أستطع الرد عليها جميعا لذا أرجوا أن [/FONT][FONT=Arial]تلتمسوا لي العذر في عدم الرد... نشكر لكم تفهمكم.[/FONT]


[FONT=Arial]* أهم نقطة وهي الصبر بعضكم قد يتحمس ويريد المزيد من الدروس في وقت قصير وذلك أكبر خطأ فالبرمجة تحتاج صبر وخصوصاً عندما تتوقف على مسأله ما فتريد أن تعرف الجواب فتلجأ للسؤال، وتذكر دائما بأن أفضل طريقة للتعلم هو أن تتعلم من أخطائك وذلك بالبحث عن حل – سأشرح لك في الدرس الأول كيف تعمل بحث عن طريق الوثائق الموجود داخل البرنامج - ولكن سنمشي كمجموعة واحدة ويكون [/FONT][FONT=Arial]بين كل درس ودرس أيام وبالكثير إسبوع لكي نشرح للي إستصعب لدية نقطة ماعرفها أو[/FONT][FONT=Arial]غيره ولأن كل دورة لن أقوم بشرح ما سبق شرحه فلذلك [/FONT][FONT=Arial]تحتاج لكتابة برنامج بنفسك وقد يكون هناك واجبات لذلك أرجوا التحلي بالصبر[/FONT][FONT=Arial]... [/FONT]


[FONT=Arial]* كل درس يحتاج منكم تقريبا ربع ساعة لفهمة ولكن استغرق معي حوالي 3 - 4 أيام لإعداده وكتابتة، ولأنه لم أبدأ بكتابة الباب الثاني والذي قد يستغرق كتابة شهر لوجود صعوبة شرحه عن طريق المحاضرات الورقية لكن سأحاول أقل من هذا الوقت بإذن الله.[/FONT]


[FONT=Arial]* الوقت الإفتراضي بين كل درس ودرس 4 إلى 7 أيام وأتوقع بأنها فترة مناسبة للجميع لأنني لا أريدك أن تعرف ما أبرمجة أنا بل برمج ما تعرفه أنت ولأن المبرمج الأول والأخير هو أنت ولست أنا.[/FONT]


[FONT=Arial]* يوجد لدي إلتزامات إخرى سأفيدكم مسبقاً إن طرأ علي شيء بإذنه تعالى.[/FONT]


[FONT=Arial]* الملفات سأرفعها على صيغة [/FONT][FONT=Arial]pdf[/FONT][FONT=Arial] وكما تعلمون بأنه عندما أحول ما كتبته في برنامج الوورد إلى [/FONT][FONT=Arial]pdf[/FONT][FONT=Arial] فإن بعض من الحروف تتداخل على بعض أو قد ينقص حرف وغيره من المشاكل لكن تجدها قليلة جداً بإذن الله، من لديه حل لهذه المشكلة يرجى مراسلتي على الخاص بوضع في الإعتبار بأني لن أنزل بصيغة اخرى وذلك لما يتمتع [/FONT][FONT=Arial]pdf[/FONT][FONT=Arial] من مميزات تميزه عن غيره.[/FONT]


[FONT=Arial]* تذكر بأن الإنسان لا يخلوا من الخطأ لذلك إلتمسوا لي العذر إذا أخطأت.[/FONT]


[FONT=Arial]* أحب أن أشبه تعلم البرمجة مثل تعلم أدوبي فيتوشوب، فلو فرضاً قمت بشرح لك أدوات فيتوشوب [/FONT][FONT=Arial]لوجدت أن تصميمك يختلف عن تصميمي بل قد يكون أفضل لأنك قد تستخدم تأثيرات [/FONT][FONT=Arial]بالبرنامج لتتلاعب بإخراج الصورة، هذه التأثيرات لم أقم بتعليمك إياها بل فقط دللتك عليها وأنت جربتها واستخدمتها. هنا نفس الطريقة سأعلمك كيف تحصل على الأدوات فتلك الأدوات بمثل التأثيرات الموجودة في أدوبي فيتوشوب كما معلوم [/FONT][FONT=Arial]بأن كل تأثيرة من هذه التأثيرات له مسمى وكذلك لها طريقة في عملها تختلف عن بقية هذه [/FONT][FONT=Arial]التأثيرات وأنت تعرفت على هذه التأثيرات لوحدك لأنك كنت تجربها في صورتك[/FONT][FONT=Arial].[/FONT]


[FONT=Arial]* بدأت أتعلم في البرمجة حتى أصبحت قادر على إنشاء تطبيقات ولله الحمد طبعاً هي برامج بسيطة جداً ولم أرسلها لمركز أبل لسببين الأول والأهم هو سهولة البرنامج سهل جداً والثاني لا يستحق أن أدفع 100 دولار لبرامج بسيطة، فأردت أن أطور في هذه البرامج لكن وجدت بأنها ستأخذ مني وقت في برمجتها فقررت بأن أسخر وقتي الحالي لعمل الشروحات للبرمجة وخصوصا لعدم توفر شرح بالمنتديات العربية وعدد الذين يعرفون البرمجة وللأسف قله، وتذكر بأن لكل مبرمج له مصدر خاص به وخصوصاً في البداية طبعاً جميعها باللغة الإنجليزية، بعد ذلك قام بتطوير نفسه بنفسه وهو عن طريق الوثائق الموجود داخل البرنامج والتجربة، أتمنى من الجميع بأن تسهل عليهم عملية البرمجة لننشئ برامج عربية وياحبذا بأن تخدم ديننا الحنيف وتذكر أن رَسُولَ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ ، قَالَ : " إِذَا مَاتَ الإِنْسَانُ انْقَطَعَ عَمَلُهُ إِلا مِنْ ثَلاثٍ" وذكر منهم " عَمَلٍ يُنْتَفَعُ بِهِ ".[/FONT]

[FONT=Arial]* أسمح للجميع بنقل الدورة – حتى لا يسقط حق الموقع علينا كتبت في كل البرامج اسم الموقع – إذن قم بنقل المحاضرات لجميع من تعرفه لتعم الفائدة ولكن تذكر قُولُ رَسُولُ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ : " إِنَّ دُعَاءَ الرَّجُلِ لأَخِيهِ بِظَاهِرِ الْغَيْبِ لا يُرَدُّ ، وَتَقُولُ الْمَلائِكَةُ : لَكَ مِثْلُهُ " .[/FONT]



[FONT=Arial][U]المحاضرات:[/U][/FONT]

[FONT=Arial]المتطلبات الأساسية[/FONT]
[FONT=Arial]البداية[/FONT]
[FONT=Arial]الدرس الأول (معدله)[/FONT]
الدرس الثاني
الدرس الثالث
الدرس الرابع
الدرس الخامس
الدرس السادس
الدرس السابع
الدرس الثامن
الدرس التاسع
الدرس العاشر والأخير في هذه الدورة


[FONT=Arial Black]* عندما تواجهك مشكلة اكتب الكود هنا وصور برنامجك وضعها هنا عن طريق خانة - إرفاق الملفات - [COLOR=purple]الموجودة بالموقع ولا ترفعها عن طريق مواقع الرفع الأخرى راجع المشاركة 19، لأن في الفترة الصباحية أكون بالدوام وسياسة الشركة لاتسمح بعرض مواقع الرفع المشهورة. [/FONT][/COLOR]
[FONT=Arial Black]* عندما تواجهك خطأ - باللون الأحمر - معناه لا يمكن إكمال البرنامج، لكن إذا جاك تنبية - باللون الأصفر- معناه يمكن إكمال البرنامج لكن هناك شيء نرجوا أن تنتبه له.[/FONT]
[FONT=Arial Black]* طريقة تصوير البرنامج إضغط [SIZE=3]Command+ shift + رقم 4 إذا أردت تصوير جزء من الواجهه وهو الأهم. للعلم إذا أردت أن تصوير الواجهه كاملة وذلك باستخدام رقم 3 بدل رقم 4.[/SIZE][/FONT]



x3bdallah كتب:
تسلم على الدروس وانشالله تكون فيها خير للمسلمين

جميع الدروس رفعتهم على سيرفرين

HotFile

Rpidshare
Enlarged Image
2010-05-09 , 04:52 مساءً
2010-05-09 , 05:01 مساءً
The iphoner’s Avatar
The iphoner

نشيط

المشاركات:611
التسجيل:Mar 2010
The iphoner
أول الحضور جلست اول الصف امام السبورة
2010-05-09 , 05:01 مساءً
2010-05-09 , 05:15 مساءً
رزين’s Avatar
رزين

عضو جديد

المشاركات:9
التسجيل:May 2009
رزين
وانا ايضاً جالس في آخر الصف :)

متابع من الدوام :)
2010-05-09 , 05:15 مساءً
2010-05-09 , 05:17 مساءً
The iphoner’s Avatar
The iphoner

نشيط

المشاركات:611
التسجيل:Mar 2010
The iphoner
أهنئك صراحة يابطل لكم مني افض تحية على الشرح الوافي ولكن ارجو قبل ان تنزل الشرح تعمل عليه مراجعة مرة ومرتين وثلاث لربما يأتي ببالك شئ تريد ان تضيفه
2010-05-09 , 05:17 مساءً
2010-05-09 , 05:28 مساءً
A.M.A.D’s Avatar
A.M.A.D

مشارك

المشاركات:367
التسجيل:May 2009
A.M.A.D
The iphoner كتب:
أهنئك صراحة يابطل لكم مني افض تحية على الشرح الوافي ولكن ارجو قبل ان تنزل الشرح تعمل عليه مراجعة مرة ومرتين وثلاث لربما يأتي ببالك شئ تريد ان تضيفه



حياك الله أخوي، بالنسبة للدرس الأول هو الأساس الذي سنعتمد علية لاحقاً إن نقص شيء سأشرح في الدروس القادمة.



طبعاً صعبة أعطي واجبات في الدرس الأول لكن أرجوا ألا تمر عليك جملة إلا وأنت فهمتها لأنها هي الأساس وكذلك أرجوا تطبيق جدول 2 و 7 في المثال الذي أعطيتكم إياه في الدرس الأول.
2010-05-09 , 05:28 مساءً
2010-05-09 , 05:50 مساءً
The iphoner’s Avatar
The iphoner

نشيط

المشاركات:611
التسجيل:Mar 2010
The iphoner
ارجوك ارجوك ارجوك ان تكون الفترة بين كل شرح و شرح اسبوعين الى ثلاث اسابيع اتعتقد ان المبتدئين يحفظون كل هذا ب ربع ساعة الشرح كافي و وافي ولكن المبتدئين مثلي يحتاجون لفرة طويلة وليس من 4 الى 7 ايام ارجو ان تفهم وضعي بمعنى ان الموضوع وضعته 9-5-2010 الموضوع الثاني 23-5-2010 وهكذا
2010-05-09 , 05:50 مساءً
2010-05-09 , 06:08 مساءً
Long’s Avatar
Long

عضو فعال

المشاركات:712
التسجيل:Feb 2009
Long
جاري التحميل ومتابعين معاك ان شاء الله
2010-05-09 , 06:08 مساءً
2010-05-09 , 06:13 مساءً
A.M.A.D’s Avatar
A.M.A.D

مشارك

المشاركات:367
التسجيل:May 2009
A.M.A.D
The iphoner كتب:
ارجوك ارجوك ارجوك ان تكون الفترة بين كل شرح و شرح اسبوعين الى ثلاث اسابيع اتعتقد ان المبتدئين يحفظون كل هذا ب ربع ساعة الشرح كافي و وافي ولكن المبتدئين مثلي يحتاجون لفرة طويلة وليس من 4 الى 7 ايام ارجو ان تفهم وضعي بمعنى ان الموضوع وضعته 9-5-2010 الموضوع الثاني 23-5-2010 وهكذا



أنا توقعت بأن الفترة ستكون كافية، لكن هذه النقطة تحت الدراسة إذا رغبتم بذلك فسنعملها كل إسبوعين وليس أكثر من ذلك، تذكر بأن الدروس القادمة ستكون أصعب إلى الان لم أقم بأي شيء في عالم البرمجة لازم تضع ذلك بعين الإعتبار فنحتاج همتكم معنا في الدراسة.
2010-05-09 , 06:13 مساءً
2010-05-09 , 06:50 مساءً
alhamad1’s Avatar
alhamad1

عضو

المشاركات:57
التسجيل:Mar 2009
alhamad1
بداية ممتازة وننتظر الدروس القادمة
2010-05-09 , 06:50 مساءً
2010-05-09 , 06:50 مساءً
The iphoner’s Avatar
The iphoner

نشيط

المشاركات:611
التسجيل:Mar 2010
The iphoner
A.M.A.D كتب:
أنا توقعت بأن الفترة ستكون كافية، لكن هذه النقطة تحت الدراسة إذا رغبتم بذلك فسنعملها كل إسبوعين وليس أكثر من ذلك، تذكر بأن الدروس القادمة ستكون أصعب إلى الان لم أقم بأي شيء في عالم البرمجة لازم تضع ذلك بعين الإعتبار فنحتاج همتكم معنا في الدراسة.


انا اقول اقل شي اسبوعين اربع ايام لواحد عنده فكرة بالبرمجة وليس شخص عادي له 8 اشهر مع الايفون فقط
2010-05-09 , 06:50 مساءً
2010-05-09 , 06:50 مساءً
sabbaghy’s Avatar
sabbaghy

عضو

المشاركات:163
التسجيل:Jul 2007
sabbaghy
واجهتني صعوبه عند الطريقة قبل الاخيرة وتوقفت

:31::46::31:

[LEFT] int a=1;
; float b=3.5
;char c = 'W

;NSstring *name=@"Abdullah"

(NSLog(@"Hi %@, One=%i and for uppercase for w is %@ .", name, a, b, c)
[/LEFT]
2010-05-09 , 06:50 مساءً
2010-05-09 , 06:51 مساءً
yazoody_3sal’s Avatar
yazoody_3sal

فعال

المشاركات:1244
التسجيل:Jan 2009
yazoody_3sal
اخوي ما عندك اي طريقة نقدر نشغل فيها برامج الماك على الوندوز
2010-05-09 , 06:51 مساءً
2010-05-09 , 06:57 مساءً
A.M.A.D’s Avatar
A.M.A.D

مشارك

المشاركات:367
التسجيل:May 2009
A.M.A.D
yazoody_3sal كتب:
اخوي ما عندك اي طريقة نقدر نشغل فيها برامج الماك على الوندوز

أخوي راجع قواعد هذه الدورة

تستطيع بأن تنزل نظام ماك لكن بتوهق بالتعاريف أنا الحقيقة لا عرف الطريقة على العموم النقطة هذه إثيرة أكثر من مرة في الموضوع العام وأفدناهم.
2010-05-09 , 06:57 مساءً
2010-05-09 , 07:15 مساءً
A.M.A.D’s Avatar
A.M.A.D

مشارك

المشاركات:367
التسجيل:May 2009
A.M.A.D
sabbaghy كتب:
واجهتني صعوبه عند الطريقة قبل الاخيرة وتوقفت

:31::46::31:

[LEFT]int a=1;
; float b=3.5
;char c = 'W[/LEFT]

[LEFT];NSstring *name=@"Abdullah"[/LEFT]

LEFT][/LEFT]


يوجد لدينا أكثر من تعريف للدالة:
فلو كان العدد صحيح فلازم نستخدم int
ولو كان عدد كسري لازم نستخدم float
وإذا كان حرف فستخدم char
ولوكان جملة نستخدم NSstring


وإذا أردنا أن نعرض - طباعة - أي شيء وذلك بإستخدام NSLog

تذكر عند كتابة جملة أو طباعة لابد من
[COLOR=red]" "@



عندما نريد أن نعرض - نطبع - نص نستخدم الدالة NSLog وإذا أردنا أن نستدعي عدد صحيح أو كسري أو حرف أو جملة نستخدم جدول 7 - راجع الجدول -

[LEFT][CODE] NSLog(@"Hi %@, One=%i and for uppercase for w is %c .", name, a, c);[/CODE][/LEFT]

إذن @% تستخدم عندما نستدعي جملة و i% تستخدم لإستدعاء عدد صحيح و f%تستخدم لإستدعاء عدد كسري - لكن لم أستدعية هنا في دالة NSLog -

كما تلاحظ طريقة الإستدعاء تكون بعد " بذكر نوع اسم المتغير وتذكر بأن الترتيب مهم - إنظر للألوان أعلاه - وهو name وهو يدل على جملة إذن إستخدمنا @% و a يدل على عدد صحيح إذن سنستخدم i% وهكذا.... إنظر لمخرجات البرنامج الموجودة بالون الأسود ومظلله بالأصفر.

امل بإني أفدتك

يا إخوان أرجوا حذف الإستدعاء b الموجودة نهاية الدالة لأني لم أقم بإستدعائة داخل الدالة.
2010-05-09 , 07:39 مساءً
The iphoner’s Avatar
The iphoner

نشيط

المشاركات:611
التسجيل:Mar 2010
The iphoner
A.M.A.D كتب:


يا إخوان أرجوا حذف الإستدعاء b الموجودة نهاية الدالة لأني لم أقم بإستدعائة داخل الدالة.



مافهمت اذا كان بخصوص الشروح ارجو تصحيح الخطأ واعادة رفعه
2010-05-09 , 07:39 مساءً
2010-05-09 , 08:45 مساءً
A.M.A.D’s Avatar
A.M.A.D

مشارك

المشاركات:367
التسجيل:May 2009
A.M.A.D
The iphoner كتب:
مافهمت اذا كان بخصوص الشروح ارجو تصحيح الخطأ واعادة رفعه


تم التعديل وتم إعادة الرفع ولقد جعلتها بألون حتى تعرفوا الترتيب كيف يصير (في صفحة 13)
2010-05-09 , 08:45 مساءً
2010-05-09 , 09:32 مساءً
The iphoner’s Avatar
The iphoner

نشيط

المشاركات:611
التسجيل:Mar 2010
The iphoner
ارجو تجزيئه بأجزاء صغيرة لكي مستوعب يعني بدل ماتحط تحطهم 10 اجزاء كل جزء 10 صفحات تحط 15 جزء كل جزء 6 صفحات يعني تأجيل

ونأسف على كثرة الطلبات لكن هذا الشئ سيفيدك باذن الله
2010-05-09 , 09:32 مساءً
2010-05-09 , 10:04 مساءً
A.M.A.D’s Avatar
A.M.A.D

مشارك

المشاركات:367
التسجيل:May 2009
A.M.A.D
The iphoner كتب:
ارجو تجزيئه بأجزاء صغيرة لكي مستوعب يعني بدل ماتحط تحطهم 10 اجزاء كل جزء 10 صفحات تحط 15 جزء كل جزء 6 صفحات يعني تأجيل

ونأسف على كثرة الطلبات لكن هذا الشئ سيفيدك باذن الله


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

الدرس القادم بإذن الله سيكون أمثلة عامة فقط سنعرف كيف نأتي بمخرجات البرنامج. لكن قبل ذلك يجب عليك التدرب على كتابة أي شيء بالبرنامج، أريدك أن تكتب مثل الموجود بالصفحة 9 وتغير الجملة وأتي بمخرجاتها، وكذلك الصفحة 12.
2010-05-09 , 10:04 مساءً
2010-05-09 , 11:14 مساءً
sabbaghy’s Avatar
sabbaghy

عضو

المشاركات:163
التسجيل:Jul 2007
sabbaghy
A.M.A.D كتب:
يوجد لدينا أكثر من تعريف للدالة:
فلو كان العدد صحيح فلازم نستخدم int
ولو كان عدد كسري لازم نستخدم float
وإذا كان حرف فستخدم char
ولوكان جملة نستخدم NSstring


وإذا أردنا أن نعرض - طباعة - أي شيء وذلك بإستخدام NSLog

تذكر عند كتابة حرف أو جملة أو طباعة لابد من
" "@



عندما نريد أن نعرض - نطبع - نص نستخدم الدالة NSLog وإذا أردنا أن نستدعي عدد صحيح أو كسري أو حرف أو جملة نستخدم جدول 7 - راجع الجدول -

[LEFT][CODE] (NSLog(@"Hi %@, One=%i and for uppercase for w is %@ .", name, a, c)[/CODE][/LEFT]

إذن @% تستخدم عندما نستدعي حرف أو جملة و i% تستخدم لإستدعاء عدد صحيح و f%تستخدم لإستدعاء عدد كسري - لكن لم أستدعية هنا في دالة NSLog -

كما تلاحظ طريقة الإستدعاء تكون بعد " بذكر نوع اسم المتغير وتذكر بأن الترتيب مهم - إنظر للألوان أعلاه - وهو name وهو يدل على جملة إذن إستخدمنا @% و a يدل على عدد صحيح إذن سنستخدم i% وهكذا.... إنظر لمخرجات البرنامج الموجودة بالون الأسود ومظلله بالأصفر.

امل بإني أفدتك

يا إخوان أرجوا حذف الإستدعاء b الموجودة نهاية الدالة لأني لم أقم بإستدعائة داخل الدالة.


والله تعبتك وياي
بس الكود مانفع ويياي يطلع لي ايرور في النهاية :5:
[CODE]
#import

int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

// this the first program in objectiv-c for adslgate.com

int a= 1;
float b= 3.5;
char c= 'W';

NSString *name=@"sabbaghy";

NSLog(@"Hi %@, One=%i and for uppercase for w is %@ .", name, a, c)


[pool drain];
return 0;
}


}
[/CODE]
مشكور ع الجهد :69:
رحم الله والديك
2010-05-09 , 11:14 مساءً
2010-05-09 , 11:39 مساءً
حتومي’s Avatar
حتومي

عضو بارز

المشاركات:1561
التسجيل:Mar 2006
حتومي
الله يكثر من أمثالك

طيب الي عنده ويندوز كيف يبرمج وهل يركب نظام الماك على البي سي
2010-05-09 , 11:39 مساءً