>>> Let's run Python on Mobile

วันอาทิตย์, สิงหาคม 28, 2548

selection_list

selection_list ก็เป็นอีกวิธีหนึ่ง ที่จะให้ผู้ใช้โปรแกรม เลือกตัวเลือกจากใน list คล้ายๆกับที่เราทำใน popup_menu
selection_list อยู่ในโมดูล appuifw วิธีใช้ก็ง่ายๆ สร้าง list ขึ้นมา(เช่น ชื่อ txt) แล้วกำหนดให้ ผู้ใช้เลือกตัวเลือกจากใน list นี้
โดยใช้คำสั่ง
appuifw.selection_list(txt)
จากตัวอย่างที่จะแสดงถัดไป
txt เป็น list ของรายชื่อเดือนทั้ง12 แสดงอยู่ใน selection_list ให้ผู้ใช้เลือก
โดยจะ return ค่าที่ผู้ใช้เลือกกลับมา ให้กับตัวแปร index
ค่าที่ return กลับมาจะเป็นตัวเลข บอกว่า ผู้ใช้เลือกตัวเลือกที่เท่าไรใน list(ชื่อtxt)
แล้วเราก็ไปเที่ยบดูค่า โดยใช้ txt[index]
import appuifw,e32
def sel():
    index=appuifw.selection_list(txt)
    if index is not None:
        My_Screen.add(txt[index]+'\n'+u'')
def clear_screen():
     My_Screen.clear()
     appuifw.note(u'Clear text on screen','info')
def stop_now():
     a.signal()
txt=[u'January',u'February',u'March',u'April',u'May',u'June',u'July'
,u'August',u'September',u'October',u'November',u'December']
appuifw.app.title=u'test18'
My_Screen=appuifw.Text()
appuifw.app.body=My_Screen
My_Screen.set(u'Work on Selection List\n')
appuifw.app.menu=[(u'selection list',sel),(u'clear screen',clear_screen)]
appuifw.app.exit_key_handler=stop_now
a=e32.Ao_lock()
a.wait()



Codeตัวอย่าง
test18.zip

หน้าถัดไป>>>
หน้าก่อน
กลับไปหน้าหลัก

รายละเอียดเกี่ยวกับ Python for Symbian s60
>>>Introduction to Python
>>>Let's run Python for Symbian s60
>>>สั่งงานในPython ด้วย InterActiveConsole
>>>Editor บน Symbian ที่เขียนด้วย Python
>>>เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...

วันเสาร์, สิงหาคม 27, 2548

คำสั่งใน e32 และ sysinfo Module

วันก่อนได้ลองใช้ คำสั่งในโมดูล sys ไปบ้างแล้ว
โมดูล sys จะมีใน Python ทุกๆplatform ไม่ว่าจะเป็น Python บน Linux ,PC MSWindows ,pocketPC หรือ Symbian
แต่เฉพาะใน Python on Symbian ยังมีโมดูลอื่น ให้เราใช้เรียกดู ข้อมูลทำนองเดียวกันนี้ ได้อีก
เช่น
e32 Module มีคำสั่ง
e32.pys60_version เป็นstring บอกversion ของPython
show_drive_list() จะreturnค่ากลับมาเป็น list บอกว่า มี drive อะไรอยู่บ้าง

หรือใน sysinfo Module ก็มีคำสั่ง
sysinfo.battery() จะreturnค่ากลับมาเป็น ตัวเลข บอกระดับแบตเตอรี(0-7)
sysinfo.signal() จะreturnค่ากลับมาเป็น ตัวเลข บอกระดับสัญญาณคลื่นโทรศัพท์(0-7)
sysinfo.imei() จะreturnค่ากลับมาเป็น ตัวเลข บอกimei ของโทรศัพท์

ลองมาดูตัวอย่าง codeกัน
import appuifw,e32,sys,sysinfo
def show_py_ver():
    x=e32.pys60_version
    My_Screen.add(str(x)+u''+'\n')
def show_drive_list():
    x=e32.drive_list()
    My_Screen.add(str(x)+u''+'\n')
def show_batt_level():
    x=sysinfo.battery()
    My_Screen.add(u'battery level '+str(x)+u'/7'+'\n')
def show_radio():
    x=sysinfo.signal()
    My_Screen.add(u'radio signal '+str(x)+u'/7'+'\n')
def show_imei():
    x=sysinfo.imei()
    My_Screen.add(u'imei '+str(x)+'\n')
def clear_screen():
    My_Screen.clear()
    appuifw.note(u'Clear text on screen','info')
def stop_now():
    a.signal()
appuifw.app.title=u'test17'
My_Screen=appuifw.Text()
appuifw.app.body=My_Screen
My_Screen.set(u'Work on e32 and sysinfo\n')
appuifw.app.menu=[(u'show drive list',show_drive_list),(u'show python version',show_py_ver),(u'show battery level',show_batt_level),(u'show imei',show_imei),(u'show radio signal',show_radio),(u'clear screen',clear_screen)]
appuifw.app.exit_key_handler=stop_now
a=e32.Ao_lock()
a.wait()




Codeตัวอย่าง
test17.zip

หน้าก่อน
กลับไปหน้าหลัก

รายละเอียดเกี่ยวกับ Python for Symbian s60
>>>Introduction to Python
>>>Let's run Python for Symbian s60
>>>สั่งงานในPython ด้วย InterActiveConsole
>>>Editor บน Symbian ที่เขียนด้วย Python
>>>เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...

วันจันทร์, สิงหาคม 22, 2548

ลองใช้คำสั่งใน sys Module

ที่ผ่านมาเราได้หัดใช้โมดูล appuifw และ e32
และหลายๆคำสั่งที่เป็นแบบ build-in ไม่ต้องเรียกโมดูลก่อนใช้ เช่นคำสั่ง str() ซึ่งมีประโยชน์มาก มันสามารถแปลงค่าต่างๆ ที่returnกลับมา จากfunctionอื่นๆ ให้กลายเป็น string ได้
มีเทคนิคเล็กน้อยเกี่ยวกับคำสั่ง str()
หากเราต้องการจะแสดงข้อความบนหน้าจอ Smartphone เช่นใช้คำสั่ง add()
เราจำเป็นจะต้องเปลี่ยน ข้อความนั้นๆ ให้กลายเป็น Unicode string เสียก่อน
เราสามารถบังคับคำสั่ง str() ให้สร้าง Unicode string ให้กับเราโดย จับมัน + กับUnicode string อะไรสักอย่าง ดังตัวอย่าง
เปลี่ยน int (เลขจำนวนเต็ม) ให้กลายเป็น Unicode string
str(123456)+u'something'
หรือ
str(123456)+u""

ลองมาดู คำสั่งในโมดูลอื่นๆกันบ้าง
โมดูล sys เรียกใช้งาน python interpreter มีหลายๆคำสั่งที่น่าสนใจ เรียกใช้บ่อยๆ
เริ่มเรียกใช้โมดูล sys โดยการ
import sys

วันนี้จะขอแสดงเฉพาะคำสั่งง่ายๆให้ดูกันก่อน
sys.version จะreturnค่ากลับมาเป็นstring บอกversionของpython
sys.platform จะreturnค่ากลับมาเป็นstring บอกว่า python กำลังทำงานอยู่บน os อะไร
sys.path จะreturnค่ากลับมาเป็น list บอกว่า python สามารถ load module จากที่folderไหนได้บ้าง
sys.exit() ออกจาก python

จากCode ตัวอย่างข้างล่าง
เรา import sys แล้วเรียกใช้คำสั่งต่างๆในโมดูล sys ผ่าน def และ menu
มีตัวแปล x คอยรับค่าต่างๆที่returnกลับมา แล้วเปลี่ยนให้เป็น Unicode string
แสดงขึ้นจอด้วยคำสั่ง t.add()
import appuifw ,e32,sys
def show_path():
     x=sys.path
     t.add(str(x)+u''+'\n')
def show_platform():
     x=sys.platform
     t.add(str(x)+u''+'\n')
def show_python_version():
     x=sys.version
     t.add(str(x)+u''+'\n')
def exit_now():
     appuifw.note(u'Prepare to exit','info')
     sys.exit()
def clear_screen():
     t.clear()
     appuifw.note(u'Clear text on screen','info')
def stop_now():
     a.signal()
appuifw.app.title=u'test16'
t=appuifw.Text()
appuifw.app.body=t
t.set(u'Work on sys Module\n')
appuifw.app.menu=[(u'show path',show_path),(u'show platform',show_platform),(u'show python
version',show_python_version),(u'clear screen menu',clear_screen),(u'exit_now',exit_now)]
appuifw.app.exit_key_handler=stop_now
a=e32.Ao_lock()
a.wait()





Codeตัวอย่าง
test16.zip

หน้าถัดไป>>>
หน้าก่อน
กลับไปหน้าหลัก

รายละเอียดเกี่ยวกับ Python for Symbian s60
>>> Introduction to Python
>>> Let's run Python for Symbian s60
>>> สั่งงานในPython ด้วย InterActiveConsole
>>> Editor บน Symbian ที่เขียนด้วย Python
>>> เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...

วันเสาร์, สิงหาคม 20, 2548

Python Links

>>>Python on Symbian
...D/L Python for Symbian S60 from Nokia
...Python for Series 60 Resources
...Forum Python for Symbian S60
...Python in symbian tutorial

>>>Tkinter
...Tkinter Wiki
...Thinking in Tkinter
...An Introduction to Tkinter by Fredrik Lundh
...Tkinter Summary

>>>Python E-book
...A Byte of Python
...Dive Into Python
...Python Tutorial
...Thinking in Python
...Tkinter from Pythonware.com
...Python Libraries

>>>Python Tutorial (ภาษาไทย)
...มาเขียน ไพธอน กันดีกว่า by คุณ sugree
...Citec Club - Python Article
...เอ็นโปรเท็ค - Free Source Code และ Tutorials
...Python by คุณ วีร์
...Python by CMSthailand.com

>>>Codeดี ๆสำหรับ Python on Symbian
...Snippets

>>>Python on The NET
...Python.org
...ActivePython
...IronPython
...pygame

>>>Python Blog
...[eriksmartt.com/blog]
...http://nokiapython.blogspot.com/


...more Python tutorial links
links from awaretek
Useless Python

กลับไปหน้าหลัก

วันจันทร์, สิงหาคม 15, 2548

popup_menu กับ list

หาก input แบบ query เปรียบเสมือนเติมคำในช่องว่าง
popup_menu ก็คงคล้ายๆกับ choice ให้ผู้ใช้โปรแกรมเลือก
เราสร้าง popup_menu ขึ้นมาจาก list รายการของกลุ่มตัวอักษร (unicode string)
จัดเตรียมไว้ให้ผู้ใช้โปรแกรมเลือก (one best choice)

แต่ละ unicode string ขั้นกัน ด้วยเครื่องหมายจุลภาค(,) ปิดหัวท้ายด้วย [ และ ] กลายเป็น list
เช่น
my_list=[u'hello',u'something',u'anything',u'anyway',u'then',u'goodbye']


และเราก็ใช้ ชื่อของ list ตามด้วยตัวเลข อยู่ในเครื่องหมาย [ กับ ] เพื่ออ้างถึงสมาชิก แต่ละตัวใน list
ตัวเลขนี้จะเป็นคล้ายๆกับ index เริ่มจาก 0 เพื่ออ้างถึงสมาชิกตัวแรก ใน list และตัวถัดไปก็จะเป็น 1 ,2 ,3 ,ฯลฯ ตามลำดับ
เช่น
my_list[0] หมายถึง u'hello'
my_list[1] หมายถึง u'something'
my_list[5] หมายถึง u'goodbye'

ลองมาดูตัวอย่างcodeกัน
import appuifw ,e32
def the_end():
     a.signal()
appuifw.app.title=u'test11'
my_screen=appuifw.Text()
appuifw.app.body=my_screen
my_list=[u'hello',u'something',u'anything',u'anyway',u'then',u'goodbye']
my_screen.add(u'my_list[0] = '+my_list[0]+'\n')
my_screen.add(u'my_list[1] = '+my_list[1]+'\n')
my_screen.add(u'my_list[2] = '+my_list[2]+'\n')
my_screen.add(u'my_list[3] = '+my_list[3]+'\n')
my_screen.add(u'my_list[4] = '+my_list[4]+'\n')
my_screen.add(u'my_list[5] = '+my_list[5]+'\n')
appuifw.app.exit_key_handler=the_end
a=e32.Ao_lock()
a.wait()



ส่วน popup_menu เราก็สร้างขึ้นมาได้ โดยใช้ list
เช่น
appuifw.popup_menu(my_list,u'Text Label')

แต่ละบรรทัดในpopup_menu ก็คือสมาชิกแต่ละตัวใน list
u'Text Label' เป็นตัวอักษรที่กำกับอยู่เหนือ popup_menu
ดังตัวอย่าง
import appuifw ,e32
def the_end():
     a.signal()
appuifw.app.title=u'test12'
my_screen=appuifw.Text()
appuifw.app.body=my_screen
my_list=[u'hello',u'something',u'anything',u'anyway',u'then',u'goodbye']
index=appuifw.popup_menu(my_list,u'Text Label')

if index is not None:
     my_screen.add(my_list[index]+'\n'+u"")
appuifw.app.exit_key_handler=the_end
a=e32.Ao_lock()
a.wait()



ค่าที่ popup_menu นั้น return กลับมา จะเป็นคล้ายๆกับ index ไว้ไปเทียบใน list
โดยจะเป็นตัวเลข เช่น 0, 1, 2, 3, ฯลฯ บอกว่าเป็นสมาชิกตัวที่เท่าไรใน list


Codeตัวอย่าง
test11.zip
test12.zip

หน้าถัดไป>>>
หน้าก่อน
กลับไปหน้าหลัก

รายละเอียดเกี่ยวกับ Python for Symbian s60
>>> Introduction to Python
>>> Let's run Python for Symbian s60
>>> สั่งงานในPython ด้วย InterActiveConsole
>>> Editor บน Symbian ที่เขียนด้วย Python
>>> เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...

วันศุกร์, สิงหาคม 12, 2548

Input ด้วย query

ในโมดูล appuifw ยังมีอีกหลายmethod ที่น่าสนใจ เช่น
appuifw.query(u'label',type)
เป็นการเรียกช่องกรอกตัวอักษร(textbox) ขึ้นมา กำกับด้วย label ให้ผู้ใช้กรอกตัวอักษร และจะ return ค่า กลับมาเป็น string ,int หรืออื่นๆ แล้วแต่ เราจะกำหนดไว้ใน type
type จะเป็น แบบใดแบบหนึ่ง ใน6อย่าง คือ 'text','code','number','date','time'หรือ'query'
ลองมาดูตัวอย่างcodeกัน
import appuifw ,e32
def the_end():
     a.signal()
appuifw.app.title=u'test09'
my_screen=appuifw.Text()
appuifw.app.body=my_screen
my_screen.add(u'Test input by query\n')
my_input=appuifw.query(u'Some text','text')
if my_input is not None:
     my_screen.add(my_input+'\n')
appuifw.app.exit_key_handler=the_end
a=e32.Ao_lock()
a.wait()



โปรแกรมนี้ใช้ type เป็นแบบ 'text' ให้ผู้ใช้กรอกตัวอักษร แล้วกด ok
อักษรที่ผู้ใช้กรอกจึงไปปรากฎบน screen
แต่ถ้าผู้ใช้กดเป็น cancel จะ return กลับมาเป็น None ก็จะไม่มีอะไรเกิดขึ้น
มีการใช้คำสั่ง if ตามด้วยcondition แล้วต่อด้วย :
ถ้า conditionเป็นจริง ก็จะทำตาม blockคำสั่งที่ตามมา
blockคำสั่งถัดๆไปที่ตาม if มาต้องมีการขึ้นบรรทัดใหม่และย่อหน้า
ลองมาดูตัวอย่างแบบตัวเลขกันบ้าง
import appuifw ,e32
def the_end():
     a.signal()
appuifw.app.title=u'test10'
my_screen=appuifw.Text()
appuifw.app.body=my_screen
my_screen.add(u'Test input by query\n')
my_input=appuifw.query(u'Some number','number')
if my_input is not None:
     my_screen.add(str(my_input)+'\n'+u"")
appuifw.app.exit_key_handler=the_end
a=e32.Ao_lock()
a.wait()



ถ้าเป็นแบบตัวเลข จะreturnกลับมาเป็น เลขจำนวนเต็ม
เราจะต้องแปลงเป็น Unicode string เสียก่อน โดยใช้คำสั่ง str() แล้วบวกด้วย Unicode string อะไรก็ได้


Codeตัวอย่าง
test09.zip
test10.zip

หน้าถัดไป>>>
หน้าก่อน
กลับไปหน้าหลัก

รายละเอียดเกี่ยวกับ Python for Symbian s60
>>> Introduction to Python
>>> Let's run Python for Symbian s60
>>> สั่งงานในPython ด้วย InterActiveConsole
>>> Editor บน Symbian ที่เขียนด้วย Python
>>> เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...

วันพุธ, สิงหาคม 10, 2548

def กำหนดคำสั่ง และการ return

def ใช้กำหนดคำสั่ง คุณได้เห็นวิธีใช้มาบ้างแล้ว เช่น การปรากฎ note สั้นๆ บนหน้าจอ Smartphone ดังตัวอย่าง

def hello_01():
     appuifw.note(u'hello with no return','info')

เราใช้ def ตามด้วยชื่อคำสั่งที่เราต้องการกำหนด ต่อด้วยเครื่องหมาย : แล้วมีการย่อหน้า (อาจจะด้วยสัก 4 space)
แต่ละบรรทัดที่ตามมา จะบอกว่าคำสั่งนี้ทำอะไร
แต่ละบรรทัดที่อยู่ในขอบเขตของ def ก็ต้องย่อหน้าให้ตรงกันด้วย

ภาษาPython ไม่มีเครื่องหมายจบประโยค ไม่มีเครื่องหมายกำหนดขอบเขต แบบภาษาอื่น
Pythonจึงให้ความสำคัญ กับการขึ้นบรรทัดใหม่ และการย่อหน้า ค่อนข้างมาก
ลองมาดู def แบบหลายบรรทัดกันบ้าง

def hello_re():
     appuifw.note(u'hello with return','info')
     return 2005

จากตัวอย่าง มีการขึ้นบรรทัดใหม่ ย่อหน้าให้ตรงกัน บอกว่า 2 บรรทัดที่ตามมา อยู่ในขอบเขตของ def
คุณจะเห็นว่า hello_re() นอกจากจะแสดง note สั้นๆ แล้ว ยังมีการ return 2005
สามารถนำไปกำหนดค่าให้ตัวแปรต่างๆเช่น
a=hello_re()
หรือจะเปลี่ยน ให้เป็น String ก่อน ก็ใช้คำสั่ง str() เช่น
my_id=str(hello_re())

ที่จริงทุกคำสั่งในPythonนั้น จะมีการ returnค่า ด้วยเสมอ เช่นตัวอย่างแรก hello_01() ถ้าไม่มีการกำหนดเรื่อง return ไว้ ก็จะ return None
ดังตัวอย่าง
import appuifw ,e32
def hello_01():
     appuifw.note(u'hello with no return','info')
def hello_re():
     appuifw.note(u'hello with return','info')
     return 2005
def stop_now():
     a.signal()

appuifw.app.title=u'test08'
t=appuifw.Text()
appuifw.app.body=t
x=str(hello_01())
t.add(u'hello_01 return this...'+x+'\n')
y=str(hello_re())
t.add(u'hello_re return this...'+y+'\n')
appuifw.app.exit_key_handler=stop_now
a=e32.Ao_lock()
a.wait()


return,or not return?



Codeตัวอย่าง
test08.zip

หน้าถัดไป>>>
หน้าก่อน
กลับไปหน้าหลัก

รายละเอียดเกี่ยวกับ Python for Symbian s60
>>> Introduction to Python
>>> Let's run Python for Symbian s60
>>> สั่งงานในPython ด้วย InterActiveConsole
>>> Editor บน Symbian ที่เขียนด้วย Python
>>> เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...

วันอาทิตย์, สิงหาคม 07, 2548

String

String เปรียบเสมือนเส้นสาย ของตัวอักษร
เรากำหนดแต่ละ string โดยการปิดหัว-ท้าย กลุ่มตัวอักษรด้วย ' หรือ " หรือ """
ในตัวอย่างที่ผ่านๆมา คุณจะเห็นการใช้ Stringหลายต่อหลายครั้ง เช่น
'hello'
'something'


ถ้าต้องการให้มีการขึ้นบรรทัดใหม่ ก็ใช้แทนด้วยอักษร \n เช่น
print 'hello\nsomething'
จะได้เป็น
hello
something

ถ้าต้องการให้พิมพ์อักษร \ ก็ใช้แทนด้วยอักษร \
print 'is\\am\\are.'
จะได้ผลเป็น
is\am\are.

ถ้าต้องการให้พิมพ์อักษร ' หรือ " ก็ใช้แทนด้วยอักษร \' หรือ \" เช่น
print '_\"isn\'t it\"_'
จะได้ผลเป็น
_"isn't it"_

อีกวิธีในการแสดงเครื่องหมาย ' คือใช้ปิดหัว-ท้าย string ด้วย " หรือ """
โดยเฉพาะเครื่องหมาย """ ถ้าล้อมรอบstringใด สามารถใช้ ' และ " หรือมีการขึ้นบรรทัดใหม่ ในstring ได้ง่ายๆเลย ดังตัวอย่าง
import appuifw ,e32
def stop_now():
     a.signal()
appuifw.app.title=u'test07'
t=appuifw.Text()
appuifw.app.body=t
x=u"Isn't it?"
y=u'\n'
z=u"""Hello.
It's "cool".
Isn't it?"""
t.add(x)
t.add(y)
t.add(z)
appuifw.app.exit_key_handler=stop_now
a=e32.Ao_lock()
a.wait()


string ที่จะปรากฎบนหน้าจอของsmartphone ต้องเป็น Unicode
ดังจะเห็นว่า string ส่วนใหญ่ที่ใช้ใน method ของ appuifw จะเป็น Unicode
Unicode string จะมีอักษร u อยู่ข้างหน้า ดังตัวอย่างที่ผ่านๆมา

เนื่องจาก ไฟล์.py เป็นไฟล์แบบ ASCII เราจึงไม่สามารถใส่อักษร Unicode ลงไปในไฟล์ได้โดยตรง
แต่อาจจะใช้ \u ตามด้วยเลขฐาน16 เพื่อกำหนดแต่ละตัวอักษร เช่น
\u0e01 เป็นอักษร ก เป็นต้น


Codeตัวอย่าง
test07.zip

หน้าถัดไป>>>
หน้าก่อน
กลับไปหน้าหลัก

รายละเอียดเกี่ยวกับ Python for Symbian s60
>>> Introduction to Python
>>> Let's run Python for Symbian s60
>>> สั่งงานในPython ด้วย InterActiveConsole
>>> Editor บน Symbian ที่เขียนด้วย Python
>>> เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...

วันอังคาร, สิงหาคม 02, 2548

กำหนด Softkey สร้างMenu และ Set text on Screen(2)

Smartphone จะมี Softkey ใต้ Sceen ซ้ายและขวา
Softkeyขวา เรากำหนดให้เป็น Exit ด้วยคำสั่ง

appuifw.app.exit_key_handler=stop_now


คำสั่งที่ตามหลังเครื่องหมาย = จะเห็นว่าเป็นแบบไม่มีเครื่องหมาย () ตามหลัง นั่นคือเราไม่สามารถเรียกใช้คำสั่งต่างๆได้โดยตรงที่นี่ เราต้องกำหนดไว้ก่อน (ด้วย def )
Softkeyซ้ายก็คล้ายๆกัน เรากำหนดด้วยคำสั่ง

appuifw.app.menu=[(u'menu text1',funtion1),(u'menu text2',funtion2)]


menuมีได้หลายอัน จากตัวอย่างข้างบน menu text1 ต้องเป็นแบบ Unicode String เป็นตัวอักษรที่จะแสดงบนแต่ละ menu บนหน้าจอ Smartphone
ส่วนถัดมา (funtion1จากตัวอย่าง) เป็นคำสั่งที่เรากำหนดไว้ก่อนเป็นแบบไม่มีเครื่องหมาย () ตามหลัง
ลองมาดูโปรแกรมเต็มๆกัน
import appuifw ,e32
def info_hello():
     appuifw.note(u'hello','info')
def clear_screen():
     t.clear()
def note_with_clear():
     t.clear()
     appuifw.note(u'Clear text on screen','info')
def note_with_settext():
     t.set(u'set text on screen to hello\n')
     appuifw.note(u'Set text on screen to hello','info')
def note_with_add():
     t.add(u'add something\n')
     appuifw.note(u'Add text on screen body','info')
def stop_now():
     a.signal()
appuifw.app.title=u'test06'
t=appuifw.Text()
appuifw.app.body=t
t.set(u'set text on screen to hello\n')
appuifw.app.menu=[(u'hello menu',info_hello),(u'clear screen menu',clear_screen),(u'note with clear menu',note_with_clear),(u'note with add menu',note_with_add),(u'note with settext menu',note_with_settext)]
appuifw.app.exit_key_handler=stop_now
a=e32.Ao_lock()
a.wait()


โปรแกรม test06.py จะสร้าง menu 5อัน มี 5Function ที่เรากำหนดให้เรียกใช้
เช่น
appuifw.note() แสดงnoteสั้นๆ
t.clear() จะลบอักษรบน Text Screen Body
t.set() กำหนดอักษรบน Text Screen Body ทั้งหมด
t.add() เพิ่มอักษรบน Text Screen Body บริเวณ cusor
หากให้มีการขึ้นบรรทัดใหม่ ก็ใส่ \n ลงไปใน string


Codeตัวอย่าง
test06.zip

หน้าถัดไป >>>
หน้าก่อน
กลับไปหน้าหลัก

รายละเอียดเกี่ยวกับ Python for Symbian s60
>>> Introduction to Python
>>> Let's run Python for Symbian s60
>>> สั่งงานในPython ด้วย InterActiveConsole
>>> Editor บน Symbian ที่เขียนด้วย Python
>>> เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...