# Native Code > برنامه نویسی موبایل > Symbian OS >  طرفندهایی با python  در S60

## rezaTavak

سلام

شما باید ابتدا py60 یا python for sybian 60 را از آدرس زیر دانلود کنید:

http://sourceforge.net/project/showf...roup_id=154155

بسته به مدل Symbian نگارش مناسب را دانلود کنید.

مثال گوشی من N73 است مشخصات آن:

http://www.gsmarena.com/nokia_n73-1550.php

است پس سیستم عامل آن:

Symbian OS 9.1, S60 3rd edition
حال دو فایل :              PythonForS60_1_4_2_3rdEd.SIS               و               PythonScriptShell_1_4_2_3rdEd.SIS              را دانلود میکنم و ابتدا فایل اول را  در گوشی نصب میکنم و سپس  فایل دوم را .
ـــــــــــــــــــــــــ  ـــــــــــــــ
*v3 FP1
* -----Nokia N76, N95, 6290, LG JoY, Samsung SGH-i520   
*v3 MR* ----
Nokia  E50, E60, E61, E62, E70, N71, N73,  N75, N80, N91, N92, N93, N93i, 3250, 5500...  *
DP v2 FP3* ----
Nokia N70, N72, N90  *
DP v2 FP2* 
---
Nokia 6630, Nokia 6680, 6681, 6682  *
DP v2 FP1*
---
Nokia 7610, 6670, 6260, 3230, Lenovo P930, Samsung D720, Samsung D730, Panasonic X700, Panasonic X800  *
v2.0*
---

Nokia 6600

ـــــــــــــــــــــــــ  ــــــــــــ

باید این دو فایل را نصب کنید در لیست برنامه ها یک شکل مانند لوگوی پیتون اضافه خواهد شد:



هر کسی نصب کرد سپس در Stick memory یک شاخه با نام python ایجاد کنید کسانی که Stick memory ندارند هم در phone memory یک شاخه به اسم python با نصب این برنامه ساخته می شود. بعدا طرفند لازم را خواهم گفت.



پس از اجرای برنامه دکمه option وجود دارد. :

run script هر اسکریپتی که در مسیرهای c:\python,e:\python  باشد را نمایش می دهد و هر کدام را انتخاب کنید اجرا می کند.


interactive console هم مانند پنجره دستورات پیتون در ویندوز و لینوکس است که دستورات حین تایپ را بلافصل اجرا می کند. کسانی که stick momory ندارند این دستورات را در کنسول تایپ کنند و کلید وسط joystick بعنوان اینتر است را بزنند. دقت کنید python به بزرگی و کوچکی حروف حساس است.


     import e32
e32.file_copy(u'c:\data\python\*.*', u'c:\python\*.*') 
چون عملا شما به درایو C از طریق file manger دسترسی ندارید.
این تکه کد هر فایلی داخل شاخه python باشد که شما در phone memory با file manger ساخته اید را به درون c:\pyhton کپی می کند. (دقت کنیدفقط شاخه c:\data\ در file manger به صورت phone memory نمایش داده می شود.)
درایو d همان رم است (رم واقعی مانند کامپیوتر که بصورت رم درایو است.)

درایو z هم جایی است که در آن سیستم عامل قرار دارد.



خب حال یک اسکریپت نمونه:

یک فایل در کامپیوتر بسازید که پسوند آن py باشد محتویات آن هم عبارات زیر آنرا به شاخه c:\python یا e:\python کپی کنید و اجرا کنید:


import sysinfo
print sysinfo.battery()
print sysinfo.free_ram()
print sysinfo.free_drivespace()
این کد میزان باطری مقدا حافظه رم و میزان حاظه درایوها را نشان میدهد.

----------


## rezaTavak

ریختن  کل sms ها در یک فایل:



from time import ctime

import codecs
import inbox

box = inbox.Inbox()
msg = box.sms_messages()

f = codecs.open('E:/Others/listSMS.txt', 'w', 'utf8') # Apre il file in codifica UTF8
for i in msg:
	f.write(box.address(i))
	f.write('\n')
	f.write(ctime(box.time(i))) # Converte i secondi in una stringa rappresentante il tempo
	f.write('\n')
	f.write(box.content(i))
	f.write('\n')
f.close()

print 'Fine'

f = codecs.open('E:/Others/listSMS.txt', 'r', 'utf8')
print f.read()
f.close()

----------


## rezaTavak

برای نمایش عناصر رابط کاربری UI از کلاس : appuifw استفاده می شود مثلا برای نمایش یک text box :


import appuifw
data = appuifw.query(u"Type a word:", "text")



و برای نمایش چیزی مانند MessageBox در موبایل:



import appuifw

appuifw.note(u"Hello World!", "info")

----------


## rezaTavak

برای ارسال SMS از کلاس messaging استفاده می شود:


import messaging
 messaging.sms_send(telNumber, txtMessage)

----------


## rezaTavak

دیده اید که موبایل نام کسی که تماس گرفته را می گوید؟

دوست دارید هر مطلبی را تایپ میکنید موبایل بخواند؟ 

یعنی Text to speech

خب برای اینکار 


import audio
audio.say(u'Hello')


هر چیزی هم به جای Hello باشد خوانده می شود.

----------


## rezaTavak

کلاس os در پیتون استاندارد برای کار با فایلها و سیستم عامل طراحی شده است.:
http://docs.python.org/lib/module-os.html

مثال اول:


import os
print os.listdir("c:/")

----------


## rezaTavak

از کلاس فوق برای ساختن یک شاخه:


import os
os.mkdir("c:/Myfolder")


تذکر:

import کلمه کلیدی است که ماژول را بار گذاری می کند و فقط هر ماژول یکبار بار گذاری شود کافی است.

----------


## rezaTavak

فرستادن یک فایل از طریق BlueTooth
ابتدا دستگاههای اطراف سرچ شود:

    device=socket.bt_obex_discover()

سپس حالا کل دستگاهها در device  است که یک آرایه است. برای در آوردن آدرس اولین دستگاه

    address=device[0]


خب حالا برای ارسال :


    channel=device[1][u'OBEX Object Push']
    socket.bt_obex_send_file(address,channel,file)



باید file از نوع file باشد و مثلا می توانید اینطور تعریف کنید:


file=(u'e:\\Images\\picture1.jpg')


خب حتما متوجه شده اید که باید ماژول 
socket 
هم بارگذاری شود.

برنامه کامل که از دوربین عکس گرفته ارسال میکند:



# Copyright (c) 2007 Jurgen Scheible

import camera,e32,socket,appuifw

def start():
    image= camera.take_photo()
    appuifw.app.body=c=appuifw.Canvas()
    c.blit(image,scale=1)
    file=(u'e:\\Images\\picture1.jpg')
    image.save(file)
    device=socket.bt_obex_discover()
    address=device[0]
    channel=device[1][u'OBEX Object Push']
    socket.bt_obex_send_file(address,channel,file)
    appuifw.note(u"Picture sent","info")

def quit():
    app_lock.signal()
    appuifw.app.set_exit()

app_lock = e32.Ao_lock()
appuifw.app.title = u"Bluetooth photo"
appuifw.app.menu = [(u"Start", start),(u"Exit",quit)]
app_lock.wait()

----------


## saeedIRHA

سلام
واقعاً عالی بود فقط در دکمه تشکر نمیگنجید !
ممنون میشم اگر بفرمایین منبع Tutorial ها تون از کجاست

با تشکر

----------


## rezaTavak

در سایت دانلود:
http://sourceforge.net/project/showf...roup_id=154155
یک PDF دارد.

و از اینجا:
http://www.mobilenin.com/pys60/menu.htm

http://wiki.opensource.nokia.com/pro...Python_for_S60

----------


## rezaTavak

چگونه کل شماره های ذخیره شده را نمایش دهیم؟

import contacts
db=contacts.open()
for id in db:
        print 'Contact:%s'%db[id]
    print 'number of entries:%i'%len(db)

----------


## ARA

مرسی بسیار عالی بود

من هنوز امتحان نکرده بودم فکر کنم با همین ها پایتون رو شروع کنم 

این هم برای انتخاب مدل گوشی و سیستم عامل آن 
http://www.forum.nokia.com/devices/m...2ed_fp3_1.html

----------


## mc_laren

به نام خدا
با سلام
ضمن تشکر از شما اگه میشه لطف کنید بگید برای اینکه بوسیله پایتون در کامپیوتر برنامه رو نوشته
بعد در موبایل اجرا کنم فایل محیط برنامه نویسی اون رو از کجا گیر بیارم در ضمن آیا پایتون محیط ویژوال برای
برنامه نویسی داره؟

----------


## ARA

منظورتون اگه همین مثالها بود که تو Notpade هم میتونستین بنویسین و انتقال به موبایل و اجرا کنین

----------


## f.ebrahimnejad

میشه برای UIQ  هم بگذارید. اگر کتابی را هم می شناسید، لطفا معرفی کنید

----------

