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

تعلم صنع برامج البايثون نوكيا درس رفيع وخفيف من سوني السوداني

بدأه سوني السوداني في 10 يونيو 2012 · 2 رد · 2,003 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

shQ69637.gif

اليوم يوم مبرمجين المنتدي

وانا من المبرمجين بلغات اخري غير البايثون مثل السي ++ والباسكال وغيرها

لم أحب البايثون كنت اظن انها صعبه في الفهم

لكن كنت مخطي فهي اسهل من السي++

انظر الي كلمة كنت تكررت ههههه24.pngهههههه

هذا يعني صار من الماضي

grimace.png

وبسم الله نبداء المشوار الطويل لانه اذا تعلمت اللغه ادمنتها

وصار كلامك حتي مع اصدقاءك مشفر

يعني امتداد الكلام .pyc

ههههه24.pngههههه

أولا : علي توضيح نقاط مهمه جداً

and assert break class continue def
del elif else except exec finally
for from global if import in
is lambda not or pass

print
raise return try while yield


هذه الكلمات هي كلمات رئيسيه في البرنامج لا تستخدمها في الأوامر الصادره منك

في القوائم الفرعيه .

فهي كما تعلمنا في لغة الباسكال كلمات محجوزه

ولتعرف ماهي أكتبها في برنامج ipro7

ستجد ان لونها تغير من اللون الأفتراضي

والكلمه المحجوزه هي كلمه محفوظه ضمن كلمات نظام البرنامج يقوم المفسر بقرأتها علي انها قيمه ثابته .

وما هو المفسر ؟

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

المهمه هي عباره عن أمر تامر به البرنامج بتنفيذ أمرك مثلا امر إنشاء قائمه.

وما يعقبها تسمي الاسم التوضيحي للمهمه

ثم بعد ذلك تعريف التنفيذ يكون بعلامة ()

ويعقب هذه العلامه : النقطتان الراسيتان

وما هذه العلامه ؟ هي علامه تدل البرنامج علي ان الجمله القادمه تابعه لهذه المهمه

ولغة البايثون هي لغه سهله جدا لمن يريد تعلمها علي الجوال

فهي تربط بين قواعد اللغه العربيه ومادة الرياضيات لكن بالحروف الانجليزيه البسيطه كيف البسيط ؟ لانها ثابته

هههههههههههههههه

لن تصدقني صحيح جربها وستتعرف علي كلامي .

فلنرجع الي الرسميه مره اخري

نجد في بعض اللغات الاخري عليك وضع تعريفات قبل جزء البرنامج

مثل لغة السي ++ والباسكال .

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

أو أمرته بتصفح ملف وفي الأصل المسار غير صحيح يكون الناتج رسالة خطأ

عليك هنا ان تضع تعريف له .

ومن لم يفهم حتي الان ماذا اقول عليه أمران :

1-إما ان يقرأ كتاب البايثون الذهبي للهاتف العربي

ليعرف اساسيات اللغة مع العلم بان الكتاب بسيط جداً .

2- او عليه التركيز جيداً لما سيقع عليه بعد هذا .

نواصل ...

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

يمكن ان تنسخه او تحمله من المرفقات للإضافةَ عليه أو تحديثه

# MOBPDA v1.0

# Copyright (c) 2011

import appuifw

import dir_iter

import graphics

import time

import codecs

import sys

import os

import base64

import globalui

import e32

import TopWindow

import key_codes

from key_codes import *

from key_tricks import *

import graphics

import uitricks

import TopWindow

import messaging


هذه الأوامر كما شرحها أخي سابقاً أوامر مجبره البرنامج علي ان يتعرف علي المدخلات والمهمات

هنا لن نستخدم الأمر طباعه علي الشاشه(print) وهي واحده من أوامر المخرجات كما في لغة السي ++ ولغة باسكال نستخدم (right أو rightln) .

*ملحوظه : هنا في هذا البرنامج ليست مستخدمه كلها في التنفيذ فقط إضافه مني لان يقبل البرنامج التعديل من اي شخص آخر .

اتفقنا علي التعديل او التطوير

إن شاء الله منكم نستفيد مستقبلاً في البرمجه والتصاميم

كما قدمت سابقاً الشرح يهم المبتدئي اكثر يا اخواني

نواصل شرح البرنامج في الأوامر التاليه ركز جيدا

لانه اذا اتتك همسه لن تستطيع المواصله

appuifw.app.body=r=appuifw.Text()

app_lock = e32.Ao_lock()

appuifw.app.screen = 'normal'

def ru(x):

return x.decode('utf-8')

k = ru('‏ ‏ بسم الله الرحمن الرحيم فريق المحترفين لتعريب وبرمجة برامج الجوال')

x = 0

r.color = (0,

0,

250)

while (x < len(k)):

r.add(k[x])

x = (x + 1)

e32.ao_sleep(0.00)

appuifw.note('TEAM MOBPDA'.decode('utf8'), 'info')

def ru(x):

return x.decode('utf-8')

round = appuifw.Text()

round.font = (u'LatinBold13', 25)

round.style = appuifw.STYLE_BOLD

round.color = 32768


لتنسيق الفهم ساشرح بالتفاصيل

انظر الأمر

appuifw.app.body=r=appuifw.Text()

app_lock = e32.Ao_lock()


هذا الأمر يدل المفسر كل الملاحظات المقرؤه app_lock = e32.Ao_lock()

منظوره ومدعومه من النظام في شاشة البرنامج

وفي شاشه عاديه للشاشه العاديه امرها هو

appuifw.app.screen = 'normal'


كلمة normal تعني شاشه افتراضيه طيب جرب تبدلها بعد استكمال الشرح بكلمة full

ستلاحظ الشاشه اصبحت كامله مع العلم لا تنسي العلامه 'عرض الشاشه'

هذه علامة التنصيص " لتنفيذ ما بداخلها

انظر هنا اتت مهمه

def ru(x):

return x.decode('utf-8')


ماهي هذه المهمه هذه المهمه ru(x) ولتابع لها : بعلامة النقتطان الراسيتان هو

ان جميع الكتابه المستخدمه هي كتابه مرمزه بواسطة الكود ('utf-8') اذا غيرت الترميز لن يستطيع قرأة العربيه وستظهر مشفره.

k = ru('‏ ‏ بسم الله الرحمن الرحيم فريق المحترفين لتعريب وبرمجة برامج الجوال')

x = 0

r.color = (0,

0,

250)


وهذا الأمر هو قيم متغيرين وهما x &k أما الامر r.color هو اللون يعني لون الكتابه المتحركه في بداية البرنامج

والرموز العدديه 0.0.250 هو درجة التحكم في الون العدد الاول للون الأحمر والثاني للون الأخضر والثالث للازرق

while (x < len(k)):

r.add(k[x])

x = (x + 1)

e32.ao_sleep(0.00)


هنا عباره جديده وهي while

ويعني هذا الرمز تحرك من x الي k حرف حرف كل مره

لهذا قلنا له الخانه تساوي الخانه + 1

appuifw.note('TEAM MOBPDA'.decode('utf8'), 'info')


هذا الكود هو كود اظهار رساله في الشاشه مباشره بعد عرض النص

ويبقي الكود المهم

def ru(x):

return x.decode('utf-8')

round = appuifw.Text()

round.font = (u'LatinBold13', 25)

round.style = appuifw.STYLE_BOLD

round.color = 32768


وهو ان تتحكم في الخط round = appuifw.Text()

ونوعه والحجم round.font = (u'LatinBold13', 25)

round.style = appuifw.STYLE_BOLD

round.color = 32768

وترميزه return x.decode('utf-8')

حتي هنا نحن لم ندخل تصميم القوائم

الان ندخل لكن بالترتيب الذي اريد بان اشرح به انا يعني ليس بترتيب البرنامج

هل فهمت ستفهم عندما تري البرنامج في اخر الشرح

الان تصميم القوائم

appuifw.app.menu = [(ru('أفتح الكتاب‎'), popup_menu),(ru('عن الكتاب'), page),(ru('حجم الشاشه'), setting),(ru('Team MOBPDA'), MOBPDA),(ru('خروج'), exit)]


هذا الامر قائمة الخيارات في زر الخيارات الموجود في الجوال

وبعد هذا نفص القائمه

انظر مكتوب خروج وبجانبها مكتوب exit

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

يدل علي ان الكلمه الظاهره في القائمه هي خروج

والــ exit تدل علي المهمه كيف مهمه كما قلت سابقا

استرجع زاكرتك

للحصول علي نتائج سليمه مع نفسك

المهمات نبداها بالتفاصيل بسم الله

المهمه الأولي مهمة فتح الكتاب وبجانبها رمز popup_menu

والمهمه هي

def popup_menu():

choices = [u"ekhtary", u"zediny eshqaa", u"a7bky jeda",u"nhr ela7zan",u"khbz & 7shesh &kamar"]

index = appuifw.popup_menu(choices, u"the Index :")

if index == 0 :

appuifw.app.body.set(ru('1'))

elif index == 1 :

appuifw.app.body.set(ru('2'))

elif index == 2 :

appuifw.app.body.set(ru('3'))

elif index == 3 :

appuifw.app.body.set(ru('4'))

elif index == 4 :

appuifw.app.body.set(ru('5'))


أنظر هذه الكلمه جأت بعد كلمة مهمه مباشره الان فهمت صحيح نعم هي الدلاله لمعني المهمه

وكلمة choices تدل البرنامج علي خيارات عديد بعد اخيار فتح الكتاب

وكلمة index تدل علي الفهرس لكن يوجد اوامر اخري ما هي ؟

if index == 0 :

appuifw.app.body.set(ru('1'))

elif index == 1 :

appuifw.app.body.set(ru('2'))

elif index == 2 :

appuifw.app.body.set(ru('3'))

elif index == 3 :

appuifw.app.body.set(ru('4'))

elif index == 4 :

appuifw.app.body.set(ru('5'))


هذا استثناأت ازا اخترت الخيار الاول افتح قائمه كتاب

appuifw.app.body.set(ru('1'))


والخيار الأول يبد من صفر ليس واحد هل فهمت

وهكذا الي الخيار الخامس ورقمه يكون نعم هو 4

وهذه الاعداد من 1 الي 5 بين علامة التنصيص تكتب بها ملف القرأه للكتاب الذي تصممه

def page():
appuifw.note('أجمل ما كتب نزار قباني'.decode('utf8'), 'info')

هذا الكود تم شرحه مسبقا

وهو امر اظهار رساله وهذه الرساله تابعه لمهمة عن الكتاب

def setting():
    choices = [u"normal screen", u"full screen"]
    index = appuifw.popup_menu(choices, u"Select screen size:") 

    if index == 0 : 
        appuifw.app.screen = 'normal'
    elif index == 1 : 
        appuifw.app.screen = 'full'

وهذا هو كود ضبط الشاشه

ازا اخترت الخيار الاول أفتح الشاشه عاديه

اما اذا اخترت الثاني فاجعلها كامله

سهل اليس كذلك

def mobPDA():
    appuifw.Content_handler().open_standalone(ru("e:\\data\\MOBPDA.jpg"))

هذا هو كود عن الفريق لو اخترت الخيار داخل القائمه

ستفتح صوره من هذا المسار

def exit():
 if appuifw.query(ru('هل تريد الخروج ؟'),'query')==1:
  appuifw.app.set_exit()

هذا كود الخروج لكن انظر يوجد سؤال قبل الخروج

هذا طبعا محتمل الشخص يكون مخطي

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

def main_():
 appuifw.app.screen='normal'
 r.focus=False
 appuifw.app.exit_key_handler=exit
 r.style=appuifw.STYLE_BOLD  | appuifw.HIGHLIGHT_SHADOW
 r.color=0xFF0000
 r.font='title'
 r.set(ru('                  نزار قباني'))
 r.font=u'CombinedChinesePlain12'
 r.color=0x0000f0
 r.style=1
 r.add(ru('\n\nشاعر سوري ‏،‏ كتب كثيرا عن المرأه والحريه وفلسطين ولد في دمشق ‏.'))
 r.color=0x0
 r.add(ru('\n\n\nتم التصميم بواسطة ‏:\n  فريق المحترفين لتعريب‎\n   وبرمجة برامج الجوال'))
 r.set_pos(0)
 r.color=0x000000

هذا امر الشاشه الموجده خلف الخيارات

ثم لاذم تختم البرنامج هكذا

main_()

app_lock.wait()

لان الكود هو تعرف علي القائمه

ومن هنا البرنامج كامل

# MOBPDA v1.0
# Copyright (c) 2011
import appuifw
import dir_iter
import graphics
import time
import codecs
import sys
import os
import base64
import globalui
import e32
import TopWindow
import key_codes
from key_codes import *
from key_tricks import *
import graphics
import uitricks
import TopWindow
import messaging

appuifw.app.body=r=appuifw.Text()
app_lock = e32.Ao_lock()


appuifw.app.screen = 'normal'

def ru(x):
    return x.decode('utf-8')

k = ru('‏ ‏ 		بسم الله الرحمن الرحيم                                                                                  فريق المحترفين                                                                         		لتعريب وبرمجة برامج الجوال')
x = 0
r.color = (0,
 0,
 250)

while (x < len(k)):
    r.add(k[x])
    x = (x + 1)
    e32.ao_sleep(0.00)

appuifw.note('TEAM MOBPDA'.decode('utf8'), 'info')

def ru(x):
    return x.decode('utf-8')
round = appuifw.Text()
round.font = (u'LatinBold13', 25)
round.style = appuifw.STYLE_BOLD
round.color = 32768

def popup_menu():
    choices = [u"ekhtary", u"zediny eshqaa", u"a7bky jeda",u"nhr ela7zan",u"khbz & 7shesh &kamar"]
    index = appuifw.popup_menu(choices, u"the Index :") 

    if index == 0 : 
        appuifw.app.body.set(ru('1'))
    elif index == 1 : 
        appuifw.app.body.set(ru('2'))
    elif index == 2 : 
        appuifw.app.body.set(ru('3'))
    elif index == 3 : 
        appuifw.app.body.set(ru('4'))
    elif index == 4 : 
        appuifw.app.body.set(ru('5'))

def page():
    appuifw.note('أجمل ما كتب نزار قباني'.decode('utf8'), 'info')
def setting():
    choices = [u"normal screen", u"full screen"]
    index = appuifw.popup_menu(choices, u"Select screen size:") 

    if index == 0 : 
        appuifw.app.screen = 'normal'
    elif index == 1 : 
        appuifw.app.screen = 'full'

def mobPDA():
    appuifw.Content_handler().open_standalone(ru("e:\\data\\MOBPDA.jpg"))

def exit():
 if appuifw.query(ru('هل تريد الخروج ؟'),'query')==1:
  appuifw.app.set_exit()

def main_():
 appuifw.app.screen='normal'
 r.focus=False
 appuifw.app.exit_key_handler=exit
 r.style=appuifw.STYLE_BOLD  | appuifw.HIGHLIGHT_SHADOW
 r.color=0xFF0000
 r.font='title'
 r.set(ru('                  نزار قباني'))
 r.font=u'CombinedChinesePlain12'
 r.color=0x0000f0
 r.style=1
 r.add(ru('\n\nشاعر سوري ‏،‏ كتب كثيرا عن المرأه والحريه وفلسطين ولد في دمشق ‏.'))
 r.color=0x0
 r.add(ru('\n\n\nتم التصميم بواسطة ‏:\n  فريق المحترفين لتعريب‎\n   وبرمجة برامج الجوال'))
 r.set_pos(0)
 r.color=0x000000
appuifw.app.menu = [(ru('أفتح الكتاب‎'), popup_menu),(ru('عن الكتاب'),  page),(ru('حجم الشاشه'), setting),(ru('Team MOBPDA'),  mobPDA),(ru('خروج'), exit)]

main_()

app_lock.wait()

البرنامج المستخدم في البرمجه علي نوكيا هو ipro7

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

وهذه الكلمه def من يتبعها هي عباره عن مهمه ، وما معني المهمه ؟

1
#2

عاشت ايدك صديقي

نرجو منك المزيد من هذه الدروس

#3

ياريت تقوم بتعديل الموضوع

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

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

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

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

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

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