Dear...
ANGELman & ANGELwoman,
Saya mau berbagi ilmu dengan kalian tentang pys60 atau cara membuat sebuah script,ini semua adalah hasil googling saya diinternet,dan ini adalah hasil karya para Master Symbian khususnya Master Symbian Pys60...
Daftar Isi:
001. "Sejarah Singkat Python".....
002. "Pengenalan Dasar Pys60".....
003. "Aplikasi Basic Python Symbian".....
004. "Belajar Membuat Script Python Sederhana".....
005. "Cara Membuat Aplikasi Sendiri di HP Symbian atau HP Jadul Dengan Menggunakan Aplikasi Python".....
006. "Cara Merubah Aplikasi S60v3 Menjadi Aplikasi S60v2".....
007. "Trik Mempercepat Menu HP Symbian S60v1 dan S60v2 Simple Tanpa Aplikasi dan Memindahkan Cache ke Kartu Memori".....
008. "Aplikasi Zntxhan".....
009. "Aplikasi Py2Pyc".....
010. "Tentang Aplikasi Berbasis Python dan Fungsi-Fungsinya".....
011. "Menamai File Secara Massal".....
012. "Membuat Serial Number".....
013. "Membuat Penerjemah Ala Google Translate".....
014. "Memotong Gambar".....
015. "Memakai Spesial Karakter".....
016. "File Handling".....
017. "List".....
018. "Dictionary".....
019. "Dictionari dan List".....
020. "Gambar 2D".....
021. "Menulis Teks dan Tittle Pada Aplikasi".....
022. "Fungsi Perulangbn For".....
023. "Kondisi If".....
024. "Menu, Submenu dan Popup Menu".....
025. "Me-Minimizekan Suatu Program Menggunakan Script Pys60".....
026. "Membuat Password Script Pys60".....
027. "Script Py Untuk Menunjukkan Baterai Lemah".....
028. "Script Sederhana Membuat Popup Menu".....
029. "Membaca File Dengan Module Powlite_Fm".....
030. "Mengubah Ukuran Gambar Menggunakan Script".....
031. "Penggunaan Script Password Pada Sebuah Aplikasi".....
032. "Script Py Untuk Membackup File".....
033. "Multi Selection List".....
034. "Audio (Memutar Mp3 1 Folder)".....
035. "Pengisian Nama Kurang Dari dan Lebih Dari 5 Karakter".....
036. "Multi_Query".....
037. "Simple Form"....
038. "Membuat Progressbar".....
039. "Menampilkan Aplikasi Yang Sudah Terinstall Dalam Bentuk List".....
040. "Memanggil Gambar Dengan Module From Graphics Import *".....
041. "Script Pemanggilan File .Ttx".....
042. "Script Teks Menjadi Suara".....
043. "Script Untuk Memanggil dan Membuka Aplikasi di Luar System Aplikasi".....
044. "Script Untuk Memainkan Mp3 Pada Fungsi Define".....
045. "Memanggil Text Menggunakan Module Globalui Pada Script Python".....
046. "Cara Memasukkan Musik atau Mp3 kedalam Sebuah Aplikasi Python".....
047. "Dasar Urutan Kode Logic Game".....
048. "Mengimplementasikan Dasar-Dasar Komputasi 3D Dengan Pys60" (bag.1).....
049. "Mengimplementasikan Dasar-Dasar Komputasi 3D Dengan Pys60" (bag.2).....
050. "Mengimplementasikan Dasar-Dasar Komputasi 3D Dengan Pys60" (bag.3).....
051. "List, Fungsi dan Class".....
052. "Meload Gambar External Dengan Module Image 1st".....
053. "Contoh Program Game Gunting, Batu, Kertas".....
054. "Sedikit Penjelasan Identasi Pada Python".....
055. "Heat Seeking Missile Alogaritma dan Implementasi".....
056. "Membuat Kuis Dengan Pys60".....
057. "Membaca Pesan Dengan Pys60".....
058. "Beberapa Gaya Penulisan Script Python".....
059. "Menampilkan IP Dengan Pys60".....
060. "Modul TxtField".....
061. "Perulangan For Dalam Pys60".....
062. "Popup Menu Ganda Dengan Pys60".....
063. "Mengecek dan Membuat Folder Dengan Pys60".....
064. "Salah Satu Perbedaan Syntak S60v1 dan S60v2 Diatasnya".....
065. "Rotasi Polygon Dengan Pys60".....
066. "Scan Isi Drive Dengan Pys60".....
067. "Menggabungkan Fungsi Dengan Progress Pada Pys60".....
068. "Script Pys60 Berkode".....
069. "Menampilkan Semua Icon Aplikasi Yang Terinstall Dengan Pys60".....
070. "Membuat Kursor 4 Arah Pada Aplikasi Dengan Pys60".....
071. "Membuat Jam Analog Dengan Pys60".....
072. "Indikator Sinyal, Baterai Dengan FgImage (Pys60)".....
073. "Set FgImage Pada StandBy Pys60".....
074. "Screenshot Dengan N-Gage atau S60v1 (Pys60)".....
075. "Membuat Grafik (Script Pys60)".....
076. "Get Coordinate Arround Circle (Pys60)".....
077. "Adjust Timing Subtittle With Python".....
078. "Membuat Menu Grid 3x3 (Pys60)".....
079. "Membuat Kalkulator Sederhana".....
080. "Membuat Teks Berjalan Dengan Backgroud Suara".....
081. "Membuat Popup Aa Cek Pulsa".....
082. "Mengirim SMS Kebanyak Nomor".....
083. "Fungsi Modul Appuifw".....
084. "Simple Scanning Application".....
085. "Aplikasi Teks Editor".....
>086. "Camera Motion".....
087. "Indicator Battery HP".....
088. "Cara Merekan Audio".....
089. "Memutar File Mp3".....
090. "Teks Bicara".....
091. "Cara Menemukan Kata di Inbox".....
092. "Mengakses Inbox".....
093. "List Seleksi".....
094. "Two Dialogs".....
095. "Memasukkan Nama".....
096. "Cara Merekam Audio".....
097. "Membuat Selection List".....
098. "Membuat Popup Menu".....
099. "Membuat App Berkode".....
100. "Membuat Keygen".....
===========================================================================
001.
"SEJARAH SINGKAT PYTHON"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang sejarah Python,apa itu Python,apa kegunaan Python,all about yhon...
Python untuk s60 adalah bahasa pemrograman tingkat tinggi yang merupakan turunan dari Bahasa Python.
Dengan adanya bahasa pemrograman Python s60, kita dimungkinkan untuk membuat Script sederhana atau bahkan sebuah program yang kompleks yang dapat diterapkan pada jenis ponsel s60. Jadi dengan Python s60, kita bisa membuat program langsung melalui ponsel berbasis Symbian di ponsel yang sudah jadul atau versi terbaru. Sehingga kita dapat berkreatifitas dengan membuat script-script yang simple ataupun sebuah program yang dapat dijalankan. Tetapi kemampuan Python juga bisa membuat ponsel anda berakhir dengan flash karena kesalahan yang fatal.
Sejarah singkat dan ringkas Python.
Kalau dilihat dari namanya pasti kita berfikir kalau nama Python ini diambil dari jenis ular bernama pithon, mungkin karena penciptanya suka ular atau takjub dengan kemampuan pithon githu, pikiran umum yang manusiawi bukan? Tapi pada kenyataanya tidak. Faktanya Penamaan bahasa pemrograman ini berdasarkan penciptanya ketika dia menonton acara komedi di televisi di BBC yang bernama Monty Python's Flying Circus. Python diciptakan oleh Guido Van Rossum pada tahun 1989 di Amsterdam Belanda. Bahasa ini menyediakan banyak sekali module yang dapat digunakan untuk berbagai macam kebutuhan seperti aplikasi desktop, network, dan server. Namun bahasa pemrograman ini memiliki respon atau proses yang sedikit lebih lambat dari bahasa pemrograman C atau Java.
Sebelumnya, bahasa ini adalah bahasa pemrograman yang hanya dapat dijalankan melalui PC. Namun sekarang telah dapat langsung dijalankan pada perangkat mobile yang berbasiskan Windows Mobile,Palm Dan Symbian.
Jadi, untuk teman-teman programmer atau yang ingin belajar bahasa pemrograman tapi terbatas tidak punya PC atau Laptop hanya punya HP symbian tidak perlu berkecil hati. Karena dengan Python s60 ini kita sangat dimungkinkan untuk melakukan pemrograman dimanapun dan kapanpun dengan HP symbian tanpa harus membawa PC atau Laptop kemana-mana.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
002.
"PENGENALAN DASAR PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang pys60...
Apa pys60 itu?
- pys60 adalah bahasa pemrograman turunan dari Python untuk ponsel s60.
Buat apa pys60 atau Python di ponsel?
- buat menulis script, bikin program, buat aplikasi, game .
Gimana cara nginstall Python di ponsel atau handphone atau HP?
- cari tahu versi brapa HP kamu, lalu download Python basic yang sesuai dengan HP kamu.
Di mana saya cari tahu versi HP atau ponsel s60ku?
- cari tahu disini
http://www.developer.nokia.com/Devices/Device_specifications/?filter2=s60
Python basic ada apa saja?
- Python basic 1.45, Python module pack 1.33, Python script shell ( semua harus diinstall pada drive yang sama).
Python modif sama Python basic sama nggak?
- basic nya sama, hanya, Python modif mempunyai module yang lebih banyak.
Download Python basic, Python modif ?
- http://ichunk.mywapblog.com/python-basic-pys60-s60v123.xhtml
- http://maxraider.wen.ru/Maxraider-phyton.html
- http://arvana.mywapblog.com/python-modif-v1-7-0-s60v2.xhtml
Kalo module yang baru ada nggak? Dimana downloadnya?
- http://watt.eu5.org
- http://www.agus-ibrahim.net/
Di Python ada istilah yang asing..
- syntax: baris kalimat
- script: kumpulan syntax yang dapat menjalankan suatu program
- string: huruf
- integer: angka
- identasi :
- interactive console:
Ciri script Python apa?
- berakhiran .py , .pyc , ,pyd
Menulis script Python bagaimana?
- pake ped, x-plore, dedit, atau aplikasi Python editor yang lain, sesuai selera masing2. simpan dengan ekstensi .py
- khusus x-plore, hilangkan centang pada "save as unicode" sebelum menyimpan.
Cara jalanin script yang sudah kita buat bagaimana?
- buka Python, run script yang telah kita simpan tadi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
003.
"APLIKASI BASIC PYTHON SYMBIAN"
Dear...
ANGELman & ANGELwoman,
Saya mau share sedikit informasi tentang HP Symbian dan Python...
Sebelumnya kita harus tahu dulu spesifikasi HP symbiam kita. Bila belum tahu sama sekali kita bisa kunjungi Device Specification di Forum Nokia untuk mengetahui tetang HP kita. Caranya pilih type HP kita dihalaman tersebut. Maka kita akan dibawa ke halaman Device Detail, dikotak Kolom yang bertuliskan Technical Specs itu tedapat spesifikasi tehnik dari HP kita. Untuk memilih pythonnya silahkan lihat series atau edition dan Feature packnya dari HP kita ditechnical specs tadi. Sekarang silahkan Download dan pilih python yang sesuai dengan HP kamu...
*Symbian s60v2 atau s60 2nd Edition FP1
-PythonScriptShell_1_4_5_2ndEd.SIS
-PythonFors60_1_4_5_2ndEd.SIS
*Symbian s60v2 atau s60 2nd Edition FP2
-PythonScriptShell_1_4_5_2ndEdFP2.SIS
-PythonFors60_1_4_5_2ndEdFP2.SIS
*Symbian s60v2 atau s60 2nd Edition FP3
-PythonScriptShell_1_4_5_2ndEdFP3.SIS
-PythonFors60_1_4_5_2ndEdFP3.SIS
*Symbian s60v3 atau S60 3rd Edition
-PythonScriptShell_1_4_5_3rdEd.SIS
-PythonFors60_1_4_5_3rdEd.sis
*Symbian s60v3 atau v5 | s60 3rd atau 5th Edition
-Home Page(Pys60v1.0.x dan 2.0.0) -Python_2.0.0.sis
-Py Module Pack s60v3 :
Note:
Instalasi(khusus s60v3).
1. Python Script Shell dan Python for s60 bisa diinstal di memori telepon(C:) atau dikartu memori(E:) tetapi Python Modul Pack harus diinstal di memori telepon(C:)
2. Aplikasi yang berbasis Python harus diinstal ditempat yang sama dimana Python script shell dan Python for s60 diinstall.
3. Sangat disarankan untuk menginstal Python script shell dan Python for s60 di kartu memori(E:) agar tidak memberatkan kinerja HP.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
004.
"BELAJAR MEMBUAT SCRIPT PYTHON SEDERHANA"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang bagaimana caranya membuat sebuah script Python,
Python adalah program tingkat tinggi bahasa scripting yang memberi manfaat dari sintak-sintak sederhana dan mudah dibaca manusia, perpustakaan inti komprehensif, dan kemampuan untuk diperpanjang menggunakan kode asli.
Python merupakan bahasa multi-paradigma,mendukung gaya pemrograman berorientasi objek dan fungsional, antara lain, memberikan kebebasan untuk mendekati masalah dalam berbagai cara.
Python pada Symbian (juga dikenal sebagai "Python untuk s60" atau "Pys60") adalah port Nokia dari bahasa Python untuk platform Symbian. Python pada Symbian pertama kali dirilis oleh Nokia pada akhir tahun 2004, dan disumbangkan untuk Symbian Foundation pada awal 2010.
Dalam bab-bab berikut, kita menggambarkan versi terbaru dari Python pada Symbian, v2.0.0 untuk s60v3 dan v1.4.5 untuk s60v2.
Mengapa Saya Harus Menggunakan Python Pada Symbian? Alasan utamanya untuk menggunakan Python pada Symbian adalah bahwa hal itu mudah dipelajari dan Anda dapat melakukan banyak hal dengan kode yang sangat sedikit.
Kebanyakan orang dapat membaca kode Python dengan hanya beberapa jam belajar dan bisa mulai mengembangkan aplikasi ponsel tidak lama setelah itu.
Aplikasi yang dibuat dengan Python yang bisa dibedakan dari C + + aplikasi asli dan untuk sebagian besar tujuan menawarkan banyak kinerja yang sama.
Sebagian besar fungsi penting yang tersedia untuk aplikasi asli (misalnya,akses ke kamera,posisi perangkat,sensor,dll) yang terkena aplikasi Python melalui API sederhana.
Jika Anda seorang pengembang mahir dalam bahasa pemrograman lain (seperti Symbian C + +,Java ME atau yang lain) Anda juga bisa mendapatkan keuntungan dengan menggunakan Python untuk pengembangan aplikasi cepat. Jadi sedikit diperlukan bila dibandingkan dengan bahasa lain, bahwa aplikasi bisa berfungsi penuh prototyped, ditunjukkan dan diuji sangat cepat.
Aplikasi Python ("script"wink adalah hanya file teks yang berisi kode yang ditulis dalam bahasa pemrograman Python dan dinamai dengan ekstensi file "py").
Script dapat ditulis menggunakan editor teks dan dapat dijalankan baik dari dalam Shell Interaktif aplikasi Python pada perangkat atau perangkat emulator untuk komputer atau juga dapat ditulis melalui aplikasi mandiri yang dapat diinstal ke perangkat Symbian, seperti Dnotepads60v2,Pyedets60v2, kalau menggunakan X-plore tanda centang merah di "save as unicode" harus dihilangkan.
Pengujian Sampel Script Python Script Shell Interaktif membuatnya sangat mudah untuk menguji script anda selama pengembangan.
Shell hanyalah sebuah aplikasi yang memungkinkan Anda untuk mengetik dan menjalankan perintah sewenang-wenang Python atau untuk memuat dan menjalankan file script keseluruhan. Mari kita membuat aplikasi Python sederhana.
Tulis baris berikut dieditor teks Anda:
---------------------------------------------------------------------------------------
print"Halo! Python Pada Symbian"
---------------------------------------------------------------------------------------
Jika Anda menggunakan X-plore,tekan menu>>file>>new text file>> beri nama file dengan "ScriptPertamaku.py" dan ok, lalu tekan menu dan klik ' save as unicode' untuk menghilangkan tanda centang merah, lalu buat script: print"Halo! Python Pada Symbian" ok. Pengujian Pada Perangkat Symbian. Saatnya Anda menguji script Anda.
Pindahkan file atau 'ScriptPertamaku.py' ke E:/System/apps/Python.
Buka aplikasi Python dan tekan options>>run script>>pilih 'ScriptPertamaku.py'
Jika anda berhasil maka akan terlihat teksHalo! Python Pada Symbian.
Anda juga dapat menjalankan script yang sudah ada seperti ball.py, snake.py. Kalau begitu next dan buat scriptkedua.py
---------------------------------------------------------------------------------------
import appuifw
appuifw.note(u' Halo! Python Pada Symbian'wink
---------------------------------------------------------------------------------------
Uji script kedua Anda, buka Python>>Run script dan pilih ScriptKedua.py
Kalau anda ingin coba script lagi.. silakan lihat script ini.
Script appuifw
Untuk mengujinya,buka Python,Option>>interactive console ketik
import appuifw klik ok
Masukan script
Untuk menampilkan kesalahan:
---------------------------------------------------------------------------------------
appuifw.note
(u' Kesalahan.' ,'error'wink
klik ok
---------------------------------------------------------------------------------------
Untuk menampilkan informasi:
---------------------------------------------------------------------------------------
appuifw.note
(u' Informasi.' ,'info'wink
---------------------------------------------------------------------------------------
Untuk menampilkan konfirmasi:
---------------------------------------------------------------------------------------
appuifw.note(u' Sukses' ,'conf'wink
---------------------------------------------------------------------------------------
Untuk menampilkan pertanyaan:
---------------------------------------------------------------------------------------
appuifw.query(' Apa anda mau keluar?' .decode (' utf-8?),' query'wink
---------------------------------------------------------------------------------------
Untuk perintah masukan;
Nama:
---------------------------------------------------------------------------------------
appuifw.query(u"Masukan nama:","text",u"Cebri Nugraha"wink
---------------------------------------------------------------------------------------
Nomor:
---------------------------------------------------------------------------------------
appuifw.query(u"Masukan no.:","number"wink
---------------------------------------------------------------------------------------
Kode:
---------------------------------------------------------------------------------------
appuifw.query(u"masukan kode:","code"wink
---------------------------------------------------------------------------------------
Tanggal:
---------------------------------------------------------------------------------------
appuifw.query(u"Masukan tgl:","date"wink
---------------------------------------------------------------------------------------
Waktu atau jam:
---------------------------------------------------------------------------------------
appuifw.query(u"Masukan waktu:","time"wink
---------------------------------------------------------------------------------------
Float:
---------------------------------------------------------------------------------------
appuifw.query(u"Masukan float:","float"wink
---------------------------------------------------------------------------------------
Query:
---------------------------------------------------------------------------------------
appuifw.query(u"Masukan query:","query"wink
---------------------------------------------------------------------------------------
Untuk mengatur layar aplikasi;
Layar normal:
---------------------------------------------------------------------------------------
appuifw.app.screen= 'normal'
---------------------------------------------------------------------------------------
Layar besar:
---------------------------------------------------------------------------------------
appuifw.app.screen=' large'
---------------------------------------------------------------------------------------
Layar penuh:
---------------------------------------------------------------------------------------
appuifw.app.screen=' full'
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
appuifw.app.title=u"kesalahan"
---------------------------------------------------------------------------------------
Untuk membuat menu pilihan:
---------------------------------------------------------------------------------------
appuifw.app.menu=[]
appuifw.popup_menu([u"Pilihan 1",u"Pilihan 2",u"Pilihan 3"])
---------------------------------------------------------------------------------------
Warna background aplikasi:
---------------------------------------------------------------------------------------
appuifw.app.body.color=0xff0000
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
005.
"CARA MEMBUAT APLIKASI SENDIRI di HP SYMBIAN atau HP JADUL DENGAN MENGGUNAKAN APLIKASI PYTHON"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang cara membuat aplikasi menggunakan Python...
Pertama persiapkan semua aplikasi pendukungnya atau alat-alatnya untuk membuat sebuah aplikasi alat-alat yang harus didownload:
-Python
-X-plorer
-Sisboom
-Linkaper
-Ped
Setelah didownload semua aplikasi yang diatas silahkan anda instal semua aplikasinya di HP, saya sarankan instalnya di memori external agar HP anda tidak lemot setelah itu ikuti langkah-langkah berikut ini :
Baca selengkapnya:
1. Buat dulu scripnya contoh ini script pythonnya saya beri nama Azam restart.py
---------------------------------------------------------------------------------------
import appuifw
import e32
import switchoff
def restart():
>>>>a=appuifw.query(u'Atur Waktu Detik:','number')
>>>>e32.ao_sleep(a)
>>>>switchoff.Restart()
def shutdown():
>>>>b=appuifw.query(u'Masukkan Waktu Detik:','number')
>>>>e32.ao_sleep(b)
>>>>switchoff.Shutdown()
def azam ():
>>>>appuifw.note (u' aplikasi ini dibuat oleh syamsul azam creator')
appuifw.app.title=u' Azam restar '
appuifw.app.menu=[(u'Restart', restart), (u'Shutdown', shutdown),(u'pembuat', azam)]
x=e32.Ao_lock()
x.wait()
---------------------------------------------------------------------------------------
2. Langkah kedua setelah dicopy script diatas si save dengan extensi py jadi Azam restart.py
3. Langkah ketiga setelah disave dengan extensi py, uji terlebih dahulu sebelum mengemas menjadi aplikasi. Apabila sudah diuji scriptnya diaplikasi Ped dan berjalan dengan sempurna barulah kemas dengan menggunakan aplikasi linkaper.
4. Langkah keempat buka aplikasi linkaper > pilihan > buat app > pilih script tadi yang ingin dijadikan sebuah aplikasi yang sudah diuji diaplikasi Ped.
5. Setelah selesai,coba anda buka menu di HP anda jika sudah ada aplikasinya jangan dibuka terlebih dahulu karena aplikasinya belum bisa berjalan dengan sempurna.
6. Langkah selanjutnya buka aplikasi x-plorer didirektori E: system/app/ Azam restart
7. Langkah selanjutnya di default.py buka dan hapus semua isinya di default.py diganti menjadi "import Azam restart" kalo saya sarankan azam restartnya mengcopy dari nama foldernya agar sama persis
8. Langkah selanjutnya copy script tadi yang sudah anda uji dan dipaste di Azam restart.
9. Coba buka menu kemudian jalankan aplikasi yang tadi dibuat. Jalan atau tidak, kalo tidak berjalan berarti ada yang salah.
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
006.
"CARA MERUBAH APLIKASI S60v3 MENJADI APLIKASI S60v2"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara merubah aplikasi s60v3 menjadi s60v2,aplikasi yang bisa dirubah hanya aplikasi yang berbasis Python...
Peralatan:
1.Linkapper
2.X-Plore
3.Sisboom v6-4
Disini sebagai contoh saya ubah Aplikasi IDesigner milik Symbian v3 menjadi Aplikasi Symbian v2.
1. Buat folder baru di E:/ system/apps/(nama Aplikasi)
contoh: E:/system/apps/ ImageDesigner
2. Buat new text file dan beri nama default.py di E:/ system/apps/ ImageDesigner
Caranya tekan menu > file > new text file lalu Menu- Save as unicode (hilangkan tanda centang merah)default.py merupakan langkah awal untuk membuat Aplikasi berbasis Python, tanpa itu Aplikasi tidak akan pernah dapat dibuat.
3. Buka Aplikasi LinkAPPer, klik Options-Create new app. Lalu pergi ke folder yang baru dibuat dan pilih file default.py yang dibuat barusan, maka akan muncul opsiNormal opening dan Open with,pilih Normal opening.
4. Kemudian masukkan nama program : ImageDesigner lalu letakan di drive E:\
5. Sebuah pemberitahuan akan muncul yang menyatakan bahwa file dengan nama yang sama sudah ada, hentikan? Tekan saja "Cancel"
6. Enter UID (or don 't touch): masukkan UID secara manual atau cukup tekan Ok, pilih Ok
7. Choice of type: pilih ikon yang akan ditampilkan dimenu, The App is created and will appear in the menu in afew seconds (pilih menurut selera)
8. Anda dapat melihat icon dimenu HP anda, tapi jangan pernah membuka dulu karena itu belum selesai.
9. Buka Aplikasi sisboom,gunakan sisboom versi diatas 6. jika anda menggunakan sisboom versi dibawah 6, anda tak akan pernah bisa membongkar file sis atau sisx milik s60v3. Bongkar IDesigner rc 1.40 s60v3.sis
10. Buka X-plore dan pergi ke folder tempat file-file python itu berada (hasil pembongkaran)
11. Tandai satu persatu file- file itu dan pindahkan ke folder Aplikasi yang sobat buat (E:\System\Apps \ImageDesigner) ./ Jika ada pertanyaan yang akan tampil ketika sobat memindah file-file python ke folder ImageDesigner, tekan saja Ok
12. Semua telah berakhir, uji sekarang dengan mengklik icon Aplikasi dimenu HP anda. Kalau bisa dibuka berarti kita dapat mengatakan bahwa kita berhasil
13. Untuk menjadikannya sebuah Aplikasi s60v2 yang utuh, silhakan anda pack menjadi satu menggunakan Aplikasi sisboom.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
007.
"TRIK MEMPERCEPAT MENU HP SYMBIAN S60v1 dan S60v2 SIMPLE TANPA APLIKASI dan MEMINDAHKAN CACHE ke KARTU MEMORI"
Dear...
ANGELman & ANGELwoman,
Saya mau share sedikit trick untuk mengatasi HP yang lemot...
Trik 01
1. Gunakan x-plore
2. Pilih menu>new text
3. Buat di c atau di C>system>disini atau bisa juga di C/system>shareddata
4. Buat namanya Menu.cfg
5. Buat isinya Z/System/Apps/Menu/Menu.app
6. Simpan
7. Agar tidak susah susah membuatnya yang no 5 ... Copy aja tulisannya ...Atau copy tulisan ini melalui HP anda cukup tahan tombol pena dan geser kekanan
(Z/System/Apps/Menu/Menu.cfg)
Trik 02
1. Buat folder di C namanya Shareddata
2. Setelah itu buatlah sebuah teks seperti cara 1
3. Beri nama 101f8557.ini
4. Isilah dengan
---------------------------------------------------------------------------------------
CachEnable=True
CacheSize=20000000
CacheDir=e:\cache
ODomainUrl=http://host53.nokia-boston.com/Cache_OpCache/Op_Menu.xhtml
OCacheSize=300000
OCacheDir=c:\cache
---------------------------------------------------------------------------------------
Bagian cache size bisa dimodif bisa diganti angka 3,4 dst
Tekan tombol pena untuk mengcopy code.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
008.
"APLIKASI ZNTXHAN"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang cara mengedit file Python yang sudah didecompile...
File Python yang sudah didecompile tidak bisa diedit menggunakan x-plore seperti kita mengedi file .py
Sebenarnya bisa,tetapi agak ribet soalnya kita mesti mengedit dari hex atau chart...
Agar tidak ribet gunakan Zntxhan untuk decompiling script py dan lakukan modifikasi yang diperlukan.
Kadang- kadang sulit untuk mendekompilasi dile PYD, jika Anda tahu pengkodean Python, anda dapat menggunakan Zntxhan untuk memasukkan pengkodean baru.
Demikian pula setelah decompiling Anda juga dapat menerjemahkan file RSC dan dapat menerjemahkan aplikasi dalam bahasa indonesia dengan tanpa menerjemahkan kode script karena jika anda menerjemahkan kode script itu akan menjadi masalah bagi aplikasi anda. Sekarang sekali lagi, saya mengatakan bahwa semua aplikasi Python S60v3 bisa bekerja pada S60V2. Jadi tidak kehilangan harapan dan mencoba modif dilain aplikasi.
Note:
Pastikan ponsel anda sudah diisi program python.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
009 .
"APLIKASI PY2PYC"
Dear...
ANGELman & ANGELwoman,
Saya mau share sedikit informasi tentang aplikasi Py2Pyc...
Py2Pyc: Compile Kode Python Mu Sendiri.
.py atau .pyc? Plain teks atau binari? Di-compile atau tidak, program tetap bisa dijalankan. Tetapi, dari beberapa sumber yang aku dapat, script Python yang telah di-compile, memiliki kelebihan disisi kecepatan eksekusi daripada script yang tidak di-compile. Kenapa? Karena script, sebelum di-eksekusi akan dirubah dulu dari teks menjadi kode binari yang dimengerti oleh mesin.
Sekarang mari kita mulai untuk melakukan kompilasi:
Untuk melakukan kompilasi, kita mempunyai tiga pilihan. Yaitu menggunakan program yang sudah ada yang bernama py2pyc, manual menggunakan Python shell, dan tulis sendiri script py2pyc sederhana. Dari ketiga pilihan itu, bagiku semuanya sama saja karena hasilnya juga sama,:
Mari kita coba satu-satu,:
Tapi sebelumnya, mari kita buat dulu sebuah script yang akan dijadikan sebagai percobaan. Kita buat script sederhana seperti berikut,
---------------------------------------------------------------------------------------
# python script
def Hello():
>>>># say hello :)
>>>>print "Hello World!"
>>>># done!
# call the function
Hello()
---------------------------------------------------------------------------------------
Simpan di drive E:\ agar gampang nyarinya,:
1. Menggunakan Program Py2Pyc
Langkah pertama adalah, download program Py2Pyc, kemudian lakukan instalasi seperti biasa. Buka program Py2Pyc, pilih [Options] -> [Select File]
Cari dimana letak script yang akan di-compile. Setelah ditemukan, klik [OK] untuk menandai kemudian pilih [Options] -> [Done]
Pilih [Options] sekali lagi dan pilih [Compile]. Selesai.
2. Menggunakan Perintah Baris (Python Shell)
Kompilasi script python menggunakan perintah baris sebenarnya lebih sederhana karena kita hanya perlu untuk mengetikkan dua baris perintah saja.
Jalankan program Python, pilih [Options] -> [Interactive console] kemudian ketik perintah berikut,
---------------------------------------------------------------------------------------
>>>>import py_compile
>>>>py_compile.compile("E:\\sayhello.py")
---------------------------------------------------------------------------------------
Hanya itu dan selesai sudah. Script kita telah berhasil di-compile menjadi binari .pyc.
3. Menggunakan Script Sederhana
Cara ini sebenarnya sama dengan cara nomor 2 (dua). Hanya saja, kita tuliskan perintahnya kedalam sebuah file agar dapat dieksekusi kapan saja tanpa harus mengetikkan ulang kodenya. Pada langkah ini, kita akan membuat script yang mirip dengan program Py2Pyc tapi hanya bisa meng-compile satu script saja dalam satu sesi tanpa fasilitas untuk menandai. Fasilitas file browsernya kita manfaatkan module yang bernama fm.
Mari kita buat scriptnya,:
import module yang diperlukan
---------------------------------------------------------------------------------------
import fm
import py_compile
import appuifw
import os
def SelectFile():
>>>>'''Cari dan pilih file untuk dicompile'''
>>>>appuifw.app.title=u"Select .py File"
>>>># gunakan fungsi file manager dari module fm
>>>>SF=fm.manager()
>>>># Periksa nilai SF. Apakah None ?
>>>># Bila None, berarti user menekan tombol cancel
>>>>if SF !=None:
>>>>>>>># periksa ekstensi file. .py atau bukan
>>>>>>>>if os.path.basename(SF)[-3:].lower()==".py":
>>>>>>>>>>>># bila ber-ekstensi .py, lakukan kompilasi
>>>>>>>>>>>>try:
>>>>>>>>>>>>>>>>py_compile.compile(SF)
>>>>>>>>>>>>>>>>CDone()
>>>>>>>>>>>>except:
>>>>>>>>>>>>>>>># bila kompilasi gagal, akan ditampilkan pesan ini
>>>>>>>>>>>>>>>>appuifw.note(u"Error: %s: Tidak dapat di-compile"%os.path.basename(SF),"error")
>>>>>>>>>>>>>>>>CError()
>>>>>>>>else:
>>>>>>>>>>>># bila file yang dipilih tidak ber-ekstensi .py
>>>>>>>>>>>>appuifw.note(u"%s: Bukan script python!"%os.path.basename(SF),"info")
>>>>>>>>>>>>CError()
>>>>else:
>>>>>>>># bila user menekan tombol Cancel
>>>>>>>>appuifw.note(u"Kompilasi dibatalkan!","conf")
def CDone():
>>>>appuifw.note(u"Kompilasi berhasil!","info")
def CError():
>>>>appuifw.note(u"Kompilasi gagal!","info")
appuifw.note(u"Pilih file yang akan di-compile,...","info")
SelectFile()
---------------------------------------------------------------------------------------
Simpan dan letakan di direktori Python (E:\\System\\Apps\\Python) agar dapat dijalankan melalui Python App. Lalu buka aplikasi Python, pilih [Options] -> [Run Script] dan pilih script yang baru kita buat.
Script akan langsung membuka tampilan file browser dan menunggu input dari kamu. [OK] atau [Cancel].
Eksekusi Script
Pada sesi terakhir dari tulisan ini, kita akan membahas tentang cara eksekusi script yang belum dan yang telah di-compile. Sebagai percobaan, kita gunakan perintah baris saja:
---------------------------------------------------------------------------------------
>>>>execfile("E:\\sayhello.py")
Hello World!
>>>>
---------------------------------------------------------------------------------------
Lalu, bagaimana untuk script yang sudah di-compile? Script yang sudah di-compile tidak dapat di-eksekusi dengan cara diatas. Bila dipaksakan, akan menyebabkan error pada Python Shell dan Python Shell harus di-restart.
Binari dari script Python bisa dijalankan menggunakan metode import. Metode yang biasa digunakan untuk memuat module Python. Dan tentu saja, lokasi script yang sudah dikompilasi harus terdaftar dalam Python Path. Bila belum, kita bisa menambahkan Path dimana letak script kita berada menggunakan module sys.
---------------------------------------------------------------------------------------
>>>>import sys
>>>>sys.path.append("E:\\")
>>>>import sayhello
Hello World!
>>>>
---------------------------------------------------------------------------------------
Dan bila ternyata perintah import sayhello tidak bekerja, kita masih bisa tetap memanggil fungsinya secara manual.
---------------------------------------------------------------------------------------
>>>>import sayhello
>>>>sayhello.Hello()
Hello World!
>>>>
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
010.
"TENTANG APLIKASI BERBASIS PYTHON dan FUNGSI-FUNGSINYA"
Dear...
ANGELman & ANGELwoman,
Saya mau share sedikit info tentang aplikasi berbasis python dan fungsi-fungsi scriptnya...
Bingung membedakan aplikasi yang berbasis Python. Soalnya tidak ada perbedaan. Kalau java kan runnya lambat di Symbian.
Langsung saja dibahas.
Aplikasi berbasis python tidak akan bisa run tanpa file DEFAULT.PY di folder aplikasi tersebut (E:\System\Apps\NAMA_APPS\default.py). Tapi hati-hati juga mungkin aplikasi tersebut bukan berbasis python melainkan hanya file DEFAULT.PY palsu untuk menutup-nutupi. Untuk memastikan bahwa aplikasi tersebut menang benar-benar berbasis python mari cek isi karakter DEFAULT.PY.
Jika karakter berisi tanda # disampingnya hanya ada pesan-pesan dan setelahnya tidak ditemukan script lagi berarti file tersebut tidak berkaitan dengan aplikasi.
Contoh:
# Script Python by xxxxxx
# For more apps visit www.xxxxx.xx
Kecuali dibawahnya terdapat script yang berupa IMPORT.
Contoh:
# Script Python by xxxxxx
# For more apps visit www.xxxxx.xx
import xxxpy
Import merupakan fungsi pemanggilan. Untuk itu periksa juga apakah didalam folder aplikasi atau folder libs terdapat file xxxpy.py / xxxpy.pyc (E:\System\libs\).
Jika script DEFAULT.PY berisi Syntak-syntak yang panjang itu sudah jelas bahwa aplikasi tersebut berbasis Python.
Kesimpulannya:
Aplikasi python saling panggil-memanggil. Awalnya APLIKASI_BERBASIS_PYTHON.app memanggil file Default.py di foldernya dan file Default menangil lagi ke file berikutnya misalkan ke folder libs atau yang berada di folder aplikasi tersebut.
Contoh file:
E:\System\Apps\ZIMPDA\
terdapat file:
- ZIMPDA.app *< Aplikasi*
- ZIMPDA.aif
- ZIMPDA.src
- Default.py *< Script python*
- main.pyc *< Script python yang dicompile*
Contoh isi default.py app ZIMPDA:
# Script by Zidna Mmc
# Memunculkan pesan error
import appuifw *< Fungsi ini memanggil py atau pyc yang ada di folder libs. Karna tidak terdapat dalam folder aplikasi tersebut.*
import main *< Fungsi ini memanggil py atau pyc yang ada dalam folder aplikasi tersebut*
Contoh isi file main.pyc yang didecompile menjadi main.py app ZIMPDA:
appuifw.note(u"Error gan, Systemnya lagi ga jalan", error)
appuifw.app.set_exit()
Note:
Jadi belum tentu semua program ada difile default.py. Seperti contoh diatas. Fungsi default.py hanyalah memanggil file main.pyc dan file main.pyc yang memprogram aplikasi tersebut, yaitu memunculkan text error.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
011.
"MENAMAI FILE SECARA MASSAL"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang script untuk menamai file secara massal...
Kita mungkin seringkali dihadapkan oleh problem menamai file secara massal. Maksud saya, lihat file mp3, kadang nama filenya semacam ini: "Track 05.mp3? Buat saya nama file seperti itu perlu diganti dan sayangnya mengganti satupersatu jelas pekerjaan melelahkan. Tapi tidak usah khawatir, dengan pys60 semuanya bisa teratasi.
Untuk menamai file secara massal, tentunya kita harus menggunakan fungsi looping atau perulangan.
Misal kita ingin menamai file-file dengan nama "lagu_1.mp3, lagu_2.mp3? dst
Ini contoh scriptnya,
---------------------------------------------------------------------------------------
import os
dirk=e:\\mp3\\
dir=os.listdir(dirk)
ke=1
for file in dir:
>>path=dirk file
>>os.rename(path,dirk "lagu_" str(ke) ".mp3?)
>>ke =1
print 'Selesai'
---------------------------------------------------------------------------------------
Note:
-Pada bagianpath=dirk file. Maksudnya menggabungkan nama-nama file secara berurutan dengan direktori tempatnya.
-Maksud dari >>>> adalah pemberian blok spasi yaitu 4 spasi dari sebuah perulangan.
Pada bagian os.rename(path,dirk "lagu_" str(ke) ".mp3?). Maksudnya menamai file yang tadi digabung dengan "lagu_" terus digabung dengan urutan yang telah ditentukan.ke =1adalah menambah satu demi satu var ke.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
012.
"MEMBUAT SERIAL NUMBER"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk membuat kode activasi pada sebuah aplikasi...
Pernahkan terpikirkan oleh Anda untuk mendistribusikan aplikasi yang Anda buat sebagai shareware? Sehingga orang dapat mencobanya terlebih dahulu aplikasi tersebut dan mereka dapat mengetahui apakah aplikasi tersebut benar-benar berguna bagi mereka atau tidak.
Namun sebelumnya kita harus sadar diri, Layak kah aplikasi kita diberi pengaman atau serial number. Layak yang dimaksud adalah aplikasi yang benar-benar berguna atau melalui proses pembuatan yang rumit.
Aplikasi yang didistribusikan dengan metode shareware biasanya memiliki batasan waktu dalam penggunaannya dan jika batas waktu sudah habis maka user harus melakukan aktifasi dengan cara mendaftarkan aplikasi tersebut atau membeli lisensi kepada pembuat aplikasi tersebut dengan cara menyebutkan serial number pada aplikasi yang ada.
Ada juga jenis shareware yang tidak menggunakan batasan waktu, akan tetapi melakukan pembatasan pada fasilitas-fasilitas yang dapat digunakan. Bahkan ada juga yang tidak menggunakan batasan waktu atau pembatasan fasilitas, akan tetapi aplikasi yang digunakan akan selalu menampilkan iklan pada saat aplikasi tersebut digunakan.
Jika Anda sebagai pembuat aplikasi tentu Anda tidak ingin activation key tersebut dapat digunakan oleh beberapa user yang berbeda yang secara sengaja menggandakan aplikasi tersebut untuk keuntungan pribadi, hal ini dapat disiasati dengan cara menciptakan serial number yang berbeda untuk setiap user yang berbeda (satu user satu serial number) sehingga activation key hanya dapat digunakan oleh satu user saja.
Untuk menciptakan serial number yang unik untuk masing-masing user kita dapat memanfaatkan nomor IMEI pada ponsel, sehingga setiap aplikasi yang diinstal pada ponsel yang berbeda maka akan memiliki serial number yang berbeda pula.
Untuk mengetahui nomor IMEI kita bisa pakai modul sysinfo.
Berikut ini adalah cara untuk menciptakan serial number unik dan berbeda pada setiap ponsel dengan memanfaatkan nomor IMEI ponsel.
---------------------------------------------------------------------------------------
import sysinfo
imei=sysinfo.imei()
kode=imei[2]+imei[0]+imei[12]+imei[9]+imei[3]
kode=int(kode)+2011
print kode
---------------------------------------------------------------------------------------
Penjelasan:
Pada bagian mengolah IMEI
kode=imei[2]+imei[0]+imei[12]+imei[9]+imei[3] artinya mengambil nomor dari posisi ke 3, ke 1, ke 2, ke3 ke 10 dan ke 4 dari IMEI.
Misal IMEI 356664000736846
SN atau Serial number yang dihasilkan adalah 635676
kode=int(kode)+2011 artinya mengubah string SN menjadi integer kemudian ditambah 2011.
Kaya gini 635676 2011 hasilnya 637687
Begitulah cara mengGenerate sebuah kode unik dari nomor IMEI. Untuk value seperti [2],[0],[1],[2],[9],[3], dan 2011 bisa anda tentukan dan ditambah semau anda.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
013.
"MEMBUAT PENERJEMAH ALA GOOGLE TRANSLATE"
Dear...
ANGELman % ANGELwoman,
Saya mau share tentang cara membuat aplikasi penerjemah kalimat online...
Siapa yang tidak tahu google translate, sebuah layanan dari google yang memungkinkan penggunanya untuk melakukan penerjemahan satu kata, satu paragrap maupun menerjemahkan suatu website. Bahasa yang tersedia pun sudah lumayan komplit.
Sekarang kita bisa menggunakan layanan tersebut dalam script python dengan mudah.
Mari kita buat, buka Python editor Ped, pilih new-python.
---------------------------------------------------------------------------------------
import urllib
text='Aku mau makan'
langpair='id|en'
base_url='http://ajax.googleapis.com/ajax/services/language/translate?’
data=urllib.urlencode({'v':1.2,'ie':'UTF16?,'q':text.encode('utf-8?),'langpair':langpair})
dengan url yang telah diEncode
url=base_url+dat a
null=None
hsl=urllib.urlopen(url).read()
dari hasil pembukaan url
dic=eval(hsl)
brada di var dic
detail=dic["responseDetails"]
if detail==None:
>>resp=dic["responseData"]
>>resp=resp["translatedText"]
else:
>>resp=detail
print resp
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
014.
"MEMOTONG GAMBAR"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk memotong gambar atau croping image...
Pada artikel kali ini saya akan menjelaskan bagaimana memotong gambar pada pys60.
Logikanya gini, kita membuka gambar asli atau sumber gambar terus membuat gambar baru dengan ukuran yang ditentukan pada nilai yang akan dipotong, kemudian menggabungkan atau mengikat (blit) gambar asli ke gambar baru dengan posisi yang ditentukan.
Scripnya seperti ini,
---------------------------------------------------------------------------------------
from graphics import*
potong=(10,10,110,110)
sumber=Image.open("c:\\gambar.jpg")
sx,sy=sumber.size
lx,ly,x,y=potong
if x>sx:
>>x=sx
if y>sy:
>>y=sy
img=Image.new((x-10,y-10))
img.blit(sumber,potong)
img.save("c:\\potongan.jpg")
---------------------------------------------------------------------------------------
Itulah cara memotong sebuah gambar yang sangat simpel pada pys60.
Ada cara lain, yaitu memeriksa pixel per pixel sumber gambar dimulai dari nilai potong. Lalu membuat gambar baru yang ukurannya sesuai dengan nilai potong, membuat titik demi titik pada gambar baru dan warna titik tersebut mengambil dari pixel pixel yang tadi periksa.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
015.
"MEMAKAI SPESIAL KARAKTER"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara menyisipkan sebuah karakter spesial kedalam sebuah aplikasi...
Pernahkah Anda menyisipkan karakter spesial atau karakter bahasa arab, rusia dll di pys60? Lalu apa yang terjadi? Yang terjadi adalah pesan error akan muncul. Lalu bagaimana?
Spesial karakter tidak akan berjalan di pys60, kecuali kita merubah pengkodeannya menjadi utf-8.
Cara men-decodenya sangat gampang, berikut ini contohnya:
---------------------------------------------------------------------------------------
def dc(x):
>>return x.decode('utf-8?,'ignore')
print dc("spesial_karakter_disini")
---------------------------------------------------------------------------------------
Untuk lebih meyakinkan, silahkan kamu mencobanya di appuifw.note
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
016.
"FILE HANDLING"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara pys60 aar bisa membuka atau membaca atau menulis secara otomatis...
Apapun bisa dilakukan dengan Python, termasuk salah satunya adalah menangani sebuah file, Seperti membuka, membaca, ataupun menulis file dokumen dengan membuat file object, yang memiliki metode dan atribut untuk memanipulasi file tersebut.
Operasi membaca atau menulis file bergantung pada mode yang dinyatakan oleh kita saat membuka file. Untuk melakukan hal itu kita tidak membutuhkan sebuah modul.
Berikut ini adalah script untuk membuat sebuah file teks dalam Python S60:
---------------------------------------------------------------------------------------
f=open("c:\\dokumen.txt","w")
teks=u"Python S60\nAsyiknya bermain python"
f.write(teks)
f.close()
---------------------------------------------------------------------------------------
Untuk membuka file (membuat file object), kita menggunakan metode open dengan parameter berupa filename dan mode. Pada contoh diatas, kita membuka file dokumen.txt dengan mode 'w' yang berarti write, lalu menggunakan metode write untuk memasukkan teks dari variabel teks kedalam file dokumen.txt
Dan tulisan "\n" adalah membuat garis baru pada tulisan.
---------------------------------------------------------------------------------------
f=open("c:\\dokumen.txt")
print f.name
print f.mode
---------------------------------------------------------------------------------------
Pada contoh diatas kita tidak memasukkan parameter mode karena secara default bila kita tidak menyatakan parameter mode dari metode open, mode dari file yang dibuka adalah 'r' alias read.
---------------------------------------------------------------------------------------
f=open("c:\\dokumen.txt")
print f.read()
---------------------------------------------------------------------------------------
Metode read digunakan untuk membaca keseluruhan isi file teks. Penting untuk diperhatikan, saat kita membaca teks dari file, newline character akan disertakan diakhir dari masing-masing baris yang ditandakan dengan \n.
Saat kita menggunakan metode read, maka posisi dari file yang kita buka berada diujung akhir dari file.
Untuk mengembalikan posisi keawal file, kita gunakan metode seek() sehingga kita bisa membaca ulang file yang kita buka.Metode readline adalah untuk membaca masing-masing baris dari file teks yang kita buka hingga kembali keujung akhir dari file.
---------------------------------------------------------------------------------------
f=open("c:\\dokumen.txt")
f.seek(0)
print f.readline()
print f.readline()
f.close()
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
017.
"LIST"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara untuk membuat list...
List adalah salah satu fasilitas yang paling berguna di Python. Hal ini dapat disamakan dengan array bila pada bahasa pemrograman lain.Berikut ini adalah contoh list dan penggunaannya.
Contoh:
---------------------------------------------------------------------------------------
list1 = ["Kucing", "Burung", "Ayam"]
list2 = [23,54,87,78]
---------------------------------------------------------------------------------------
-Menggunakan List:
Mengakses item
print list1[0] #akan mencetak elemen pertama dari list1 yaitu "Kucing"
print list2[1]+list2[0] #menjumlahkan elemen list2[1] list2[0] hasilnya adalah 77
Menambahkan item
Contoh:
---------------------------------------------------------------------------------------
list1.append("Bebek")
---------------------------------------------------------------------------------------
Menambahkan string "bebek" pada list1. Jadi, list1 sekarang berisi ["Kucing","Burung","Ayam","Bebek"]
Mengganti item
Contoh:
---------------------------------------------------------------------------------------
a = [12,22,32,42,52,62]
a[2]=10M
---------------------------------------------------------------------------------------
Mengganti elemen ke 3 yaitu 32 menjadi 10. Jadi, sekarang list a berisi [12,22,10,42,52,62]
Menghapus item
Contoh:
---------------------------------------------------------------------------------------
del a[3]
---------------------------------------------------------------------------------------
Menghapus elemen ke 3 yaitu 52
Fungsi lain
Membalikkan elemen daftar
Contoh:
---------------------------------------------------------------------------------------
a.reverse()
---------------------------------------------------------------------------------------
Macam daftar dalam urutan
Contoh:
---------------------------------------------------------------------------------------
a.sort(reverse=False)
---------------------------------------------------------------------------------------
Macam daftar dalam urutan
Contoh:
---------------------------------------------------------------------------------------
acsending
a.sort (reverse=True)
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
018.
"DICTIONARY"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk mencetak atau print sebuah teks...
Dictionary adalah obyek dalam Python yang digunakan untuk menyimpan nilai berpasangan. Dictionary merupakan konsep penting dalam python dan memainkan peranan penting dibanyak kesempatan.
-Mendefinisikan Dictionary:
---------------------------------------------------------------------------------------
dict1=("nama":"Agus","umur":16?,alamat":"Indramayu")
---------------------------------------------------------------------------------------
Dictionary dict1 diatas memiliki tiga elemen. Masing-masing memiliki kunci dan nilainya. Kita dapat mengakses nilai dengan menggunakan kunci "Nama" untuk Agus, "Umur" untuk 16 dan sebagainya.
-Mengakses Elemen:
---------------------------------------------------------------------------------------
print dict1["nama"]
---------------------------------------------------------------------------------------
Ini akan mencetak string "Agus"
-Menambah Elemen:
---------------------------------------------------------------------------------------
dict1["Telepon"]="62838000000?
---------------------------------------------------------------------------------------
-Menghapus Elemen:
---------------------------------------------------------------------------------------
del dict1['alamat']
---------------------------------------------------------------------------------------
-Listing semua kunci
---------------------------------------------------------------------------------------
k=dict1.keys()
---------------------------------------------------------------------------------------
Akan menampilkan ['umur', 'no. Telepon', 'nama']
---------------------------------------------------------------------------------------
v=dict1.values()
---------------------------------------------------------------------------------------
Akan menampilkan [16,' 62838000000,'Agus']
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
019.
"DICTIONARY dan LIST"
Dear...
ANGELman & ANGELwoman,
Saya mau share pengkombinasian antara Dict dan List...
Dictdictionary atau dict memiliki nilai berpasangan. dalam penggunaan kodenya memakai tanda kurung kurawa{}.
Contoh:
---------------------------------------------------------------------------------------
identitas={'nama':'wawan','umur':20,'alamat':'jakarta'}
print identitas['nama']
---------------------------------------------------------------------------------------
hasilnya:
wawan
---------------------------------------------------------------------------------------
print identitas['alamat']
---------------------------------------------------------------------------------------
hasilnya:
jakarta
List(daftar)
List atau daftar dalam penggunaannya memakai tanda [].
Contoh:
---------------------------------------------------------------------------------------
buah=['apel','pisang','nanas']
print buah[0]
---------------------------------------------------------------------------------------
hasilnya:
apel
karna urutan pertama list dalam pys60 dimulai dari 0 kemudian 1,2 dan seterusnya.
-Menambah data
---------------------------------------------------------------------------------------
buah.append('semangka')
---------------------------------------------------------------------------------------
hasilnya maka list buah menjadi buah=['apel','pisang','nanas','semangka']
-Menghapus data
---------------------------------------------------------------------------------------
buah.pop(0)
---------------------------------------------------------------------------------------
Fungsi pop akan menghapus data dari variabel buah menurut urutannya,
jadi list buah sekarang berisi ['pisang','nanas']
---------------------------------------------------------------------------------------
buah=['apel','pisang','nanas']
buah.remove('apel')
---------------------------------------------------------------------------------------
Fungsi remove akan menghapus data dari variabel buah menurut namanya.
-Mengurutkan data
---------------------------------------------------------------------------------------
nomor=[1,8,4,6.7]
nomor.sort()
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
020.
"GAMBAR 2D"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat gambar 2D...
Pada dasarnya Gambar 2D terdiri dari 2 titik koordinat yang biasa disebut x dan y. x adalah kordinat horizontal(mendatar) dari kanan kekiri sedangkan y adalah kordinat vertikal(tegak) dari atas kebawah.jadi bila nilai x sama dengan 0(nol) dan y juga 0(nol) maka posisi titik itu ada dipojok kiri atas.
Looping atau Perulangan inti cara kerjanya seperti sistem perulangan pada proses gambar animasi. Dalam hal ini digunakan untuk memunculkan banyak objek yang dibuat. Pengalaman saya saat coba membuat banyak objek tanpa perulangan pada resolusi 240x320 ternyata hasilnya tampilan tidak bisa full.
Membuat kotak (rectangle) dan ellips untuk membuatnya menggunakan kode ini img.rectangle((posisiX, posisiY, posisiX+lebar Objek, posisiY+tinggi Objek), warna garis, warna objek). Warna yang digunakan dalam mode RGB(Red,Green,Blue) 0xRRGGBB
contoh:
---------------------------------------------------------------------------------------
img.rectangle((50, 20, 70, 60), 0x00dddd, fill=0xdd0000)
---------------------------------------------------------------------------------------
Untuk ellips kodenya hampir sama dengan membuat kotak.
Contoh:
---------------------------------------------------------------------------------------
img,ellips((50, 70, 80, 90), 0xdd0000, fill=0x00dd00)
---------------------------------------------------------------------------------------
Membuat Point
Berbeda dengan ellips dan rectangle, hanya menggunakan kordinat X,y nya saja dan width(lebar Point)
contoh:
---------------------------------------------------------------------------------------
img.point((200, 100), 0x0000dd, width=10)
---------------------------------------------------------------------------------------
Membuat Line
Membuat sebuah garis yang menghubungkan antara 2 titik kordinat. maka pengaturanya: (x1, y1, x2, y2)
contoh:
---------------------------------------------------------------------------------------
img.line((20, 20, 120, 20), 0xdddd00)
---------------------------------------------------------------------------------------
Membuat Text
Untuk membuat tulisan pengaturannya seperti ini : ((x, y), u'teks yang mau ditulis')
contoh:
---------------------------------------------------------------------------------------
img.text((60, 300), 0x00dd00)
---------------------------------------------------------------------------------------
Praktek:
---------------------------------------------------------------------------------------
import appuifw
import graphics
import e32
---------------------------------------------------------------------------------------
-Definisi perulangan aplikasi
-Dengan cara menghentikan perulangan while
-Fungsi while adalah untuk menampilkan gambar berulang-ulang secara terus menerus(teori animasi) selama variabel run bernilai benar. Dalam python semua angka selain nol bernilai benar.
---------------------------------------------------------------------------------------
def tutup():
>>>>global run
>>>>run=0
---------------------------------------------------------------------------------------
-Atur tombol softkey agar menjalankan definisi "tutup" saat ditekan.
---------------------------------------------------------------------------------------
appuifw.app.exit_key_handler=tutup
---------------------------------------------------------------------------------------
-Membuat variabel "c" yang berisi canvas dari modul appuifw
---------------------------------------------------------------------------------------
c=appuifw.Canvas()
---------------------------------------------------------------------------------------
-Atur body aplikasi ke canvas
---------------------------------------------------------------------------------------
appuifw.app.body=c
---------------------------------------------------------------------------------------
-Ukuran layar "full screen"
---------------------------------------------------------------------------------------
appuifw.app.screen='full'
---------------------------------------------------------------------------------------
-Membuat variabel program gambar dari modul graphics, defaultnya berwarna putih.
-(240,320) adalah resolusi layar.
---------------------------------------------------------------------------------------
img.graphics.Image.new((240,320))
---------------------------------------------------------------------------------------
-Run adalah variabel yang berfungsi sebagai pengatur penutupan aplikasi.
---------------------------------------------------------------------------------------
run=1
---------------------------------------------------------------------------------------
-Membuat fungsi while.
---------------------------------------------------------------------------------------
while run==1:
---------------------------------------------------------------------------------------
-Pemanggilan gambar menggunakan c.blit
-ingat kalo c adalah canvas dan img adalah graphics.Image.new
---------------------------------------------------------------------------------------
>>c.blit(img)
---------------------------------------------------------------------------------------
-Membuat kotak
---------------------------------------------------------------------------------------
>>img.rectangle((50, 30, 100, 70), 0x00dddd, fill=0xdd0000)
---------------------------------------------------------------------------------------
-Membuat ellipse
---------------------------------------------------------------------------------------
>>img.ellipse((100, 70, 30, 100), 0xdd0000, fill=0xdddd00)
---------------------------------------------------------------------------------------
-Membuat Point
---------------------------------------------------------------------------------------
>>img.point((200, 150), 0x0000dd, width=50)
---------------------------------------------------------------------------------------
-Membuat garis
---------------------------------------------------------------------------------------
>>img.line((00, 200, 240, 200), 0x00dd00)
---------------------------------------------------------------------------------------
-Membuat text
---------------------------------------------------------------------------------------
>>img.text((20,220), u'prajurit', fill=0xdddddd)
---------------------------------------------------------------------------------------
-Karena defaultnya img berwarna hitam jadi kita rubah dulu menjadi hitam menggunakan clear.
---------------------------------------------------------------------------------------
>>img.clear(0x000000)
---------------------------------------------------------------------------------------
-Membuat penutup aplikasi. saat fungsi tutup dijalankan maka fungsi ao_yield() dari module e32 akan menghentikan perulangan while.
---------------------------------------------------------------------------------------
>>e32.ao_yield()
---------------------------------------------------------------------------------------
Note:
Tanda >> adalah jumlah spasi.
Besar kecilnya huruf, tanda simbol, dan spasi harus sama dengan yang telah dituliskan diatas.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
021.
"MENULIS TEKS dan TITTLE PADA APLIKASI"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk menampilkan teks pada awal sebuah aplikasi dan juga tittle sebuah aplikasi...
-Modul yang digunakan appuifw dan e32
---------------------------------------------------------------------------------------
import appuifw, e32
---------------------------------------------------------------------------------------
-Membuat title aplikasi
---------------------------------------------------------------------------------------
appuifw.app.title = u"APLIKASIKU"
---------------------------------------------------------------------------------------
-Membuat fungsi pemanggil teks
---------------------------------------------------------------------------------------
t = appuifw.text()
---------------------------------------------------------------------------------------
-Mensetting fungsi teks sebagai body aplikasi
---------------------------------------------------------------------------------------
appuifw.app.body = t
---------------------------------------------------------------------------------------
-Mengatur tampilan aplikasi menggunakan fungsi screen, ada 3 type yaitu large,normal,full
---------------------------------------------------------------------------------------
appuifw.app.screen = "normal"
---------------------------------------------------------------------------------------
-Mengatur warna teks
---------------------------------------------------------------------------------------
t.color = 0xEE00DD
---------------------------------------------------------------------------------------
-Mengatur warna highlight
---------------------------------------------------------------------------------------
t.highlight_color = 0xFFFF00
---------------------------------------------------------------------------------------
-Mengatur font yaitu nama font, ukuran(size),flag(maaf yang ini belum tau fungsinya)
---------------------------------------------------------------------------------------
t.font = (u"Nokia Hindi S60", 25, None)
---------------------------------------------------------------------------------------
-Mengatur gaya tulisan (style) ada beberapa jenis diantaranya, STYLE_ITALIC , STYLE_BOLD , STYLE_STRIKETHROUGH dan bisa juga menggunakan highlight seperti HIGHLIGHT_STANDARD , HIGHLIGHT_ROUNDED , HIGHLIGHT_SHADOW
---------------------------------------------------------------------------------------
t.style = (appuifw.STYLE_HIGHLIGHT_STANDARD | appuifw.STYLE_BOLD | appuifw.STYLE_STRIKETHROUGH)
---------------------------------------------------------------------------------------
-Menulis teks yang diingikan
---------------------------------------------------------------------------------------
t.set(u"Haaloo Broww..")
---------------------------------------------------------------------------------------
-Membuat objek aktif
---------------------------------------------------------------------------------------
app_lock = e32.Ao_lock()
---------------------------------------------------------------------------------------
-Membuat fungsi untuk keluar aplikasi
---------------------------------------------------------------------------------------
def quit():
>>>>app_lock.signal()
>>>>appuifw.app.set.exit()
---------------------------------------------------------------------------------------
-Membuat tombol keluar pada softkey
---------------------------------------------------------------------------------------
appuifw.app.exit_key_handler = quit
---------------------------------------------------------------------------------------
-Menunggu perintah dari softkey untuk keluar
---------------------------------------------------------------------------------------
app_lock.wait()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
022.
"FUNGSI PERULANGAN FOR"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang fungsi perulangan for pada script pys60...
Perulangan atau looping adalah proses yang dilakukan secara berulang-ulang,yang saya ketahui perulangan dalam pys60 ada 2 yaitu for dan while.Tapi kali ini saya akan menguraikan untuk for saja.
For
langsung saja kecontoh agar mudah dipahami.
Contoh 1:
---------------------------------------------------------------------------------------
for i in range(10):
>>>>print i
---------------------------------------------------------------------------------------
Maka hasilnya akan mencetak 10 angka dari 0-9 bukan dari 1-10,karena nilai integer itu dimulai dari angka 0.
Contoh 2:
---------------------------------------------------------------------------------------
x=4
for t in range(x):
>>>>print tes[t]
---------------------------------------------------------------------------------------
hasilnya
tes
tes
tes
tes
Akan mencetak tes sebanyak x yaitu 4.
Contoh 3:
---------------------------------------------------------------------------------------
txt=unicode('tes')
for z in range(len(txt)):
>>>>print txt[z]
---------------------------------------------------------------------------------------
hasilnya
t
e
s
Fungsi len disini adalah untuk mengetahui jumlah data dari txt.
Contoh:
---------------------------------------------------------------------------------------
txt=unicode('tes')
len(txt)
---------------------------------------------------------------------------------------
hasilnya
3
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
023.
"KONDISI IF"
Dear...
ANGELman & ANGELwoman,
Saya mau share funsi if dalam script pys60...
Perintah if digunakan untuk membuat suatu kondisi dalam pys60.
jika digambarkan akan menjadi seperti ini contohnya...
Jika makan maka akan kenyang, jika minum akan kembung, jika tidak semuanya maka akan mati
Kalo kata jika diganti code if dalam pys60 maka akan menjadi sperti ini:
---------------------------------------------------------------------------------------
txt=unicode('tes')
if makan:
>>>>kenyang
elif minum:
>>>>kembung
else:
>>>>moddar
---------------------------------------------------------------------------------------
(simbol >> adalah banyaknya spasi)
Sekarang kita coba terapkan dalam script
Contoh:
---------------------------------------------------------------------------------------
txt=unicode('tes')
nilai=70
if nilai>80:
>>>>print 'pintar'
if nilai>60:
>>>>print 'lumayan'
else:
>>>>print 'harus banyak belajar'
---------------------------------------------------------------------------------------
Spasi yang berada dibawah if,elif,dan else merupakan sebuah blok. artinya perintah tersebut termasuk dalam blok dari perintah diatasnya.
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
024.
"MENU, SUBMENU dan POPUP MENU"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara untuk membuat memu,submenu ataupun popup menu untuk sebuah aplikasi...
Membuat Menu Aplikasi
-Modul yang dipakai adalah appuifw, dan e32
---------------------------------------------------------------------------------------
import appuifw, e32
---------------------------------------------------------------------------------------
-Define: membuat suatu fungsi sendiri untuk menu aplikasi.
---------------------------------------------------------------------------------------
def item1():
>>>>appuifw.note(u"belajar python", "info")
def item2():
>>>>appuifw.note(u"pelajaran dasar", "info")
---------------------------------------------------------------------------------------
-Membuat fungsi untuk keluar saat menekan tombol right softkey.
---------------------------------------------------------------------------------------
def quit():
>>>>app_lock.signal()
---------------------------------------------------------------------------------------
Keterangan:
Spasi untuk membuat fungsi dalam 1 blok.
-Membuat menu aplikasi yang bisa memilih (menu1, menu2)
-Dan memanggil fungsi yang telah dibuat tadi (item1, item2)
---------------------------------------------------------------------------------------
appuifw.app.menu = [(u"one", item1), (u"two", item2)]
---------------------------------------------------------------------------------------
-Membuat tombol exit
---------------------------------------------------------------------------------------
appuifw.app.exit_key_handler = quit
---------------------------------------------------------------------------------------
-Membuat objek aktif
---------------------------------------------------------------------------------------
app-lock = e32.Ao_loch()
---------------------------------------------------------------------------------------
-Memulai waktu
---------------------------------------------------------------------------------------
app_lock.wait()
---------------------------------------------------------------------------------------
Lengkapnya menjadi:
---------------------------------------------------------------------------------------
import appuifw, e32
def item1():
>>>>appuifw.note(u"belajar python", "info")
def item2():
>>>>appuifw.note(u"pelajaran dasar", "info")
def quit():
>>>>app_lock.signal()
appuifw.app.menu = [(u"menu1", item1), (u"menu2", item2)]
appuifw.app.exit_key_handler = quit
app-lock = e32.Ao_lock()
app_lock.wait()
---------------------------------------------------------------------------------------
Membuat SubMenu
-Caranya sama dengan membuat menu aplikasi hanya saja menambahkan menu didalam menu seperti ini (menu1, (submenu1, submenu2), menu2, (submenu1, submenu2))
Contoh kodenya:
---------------------------------------------------------------------------------------
appuifw.app.menu = [(u"menu1", ((u"submenu1", item1), (u,"submenu2", item2)), (u"menu2", ((u"submenu1", item1), (u"submenu2", item2))))]
---------------------------------------------------------------------------------------
Membuat pop-up menu
-Modul yang digunakan appuifw
---------------------------------------------------------------------------------------
import appuifw
---------------------------------------------------------------------------------------
-Membuat suatu list dengan isi dari Pop-up
---------------------------------------------------------------------------------------
L = [u"Python", u"Symbian", u"java"]
---------------------------------------------------------------------------------------
-Membuat pop-up menu mencakup list dan label
---------------------------------------------------------------------------------------
appuifw.popup_menu(list, label)
test = appuifw.popup_menu(L, u"Pilihan:")
---------------------------------------------------------------------------------------
-Membuat variabel test untuk memasukan perintah kedalam List (berdasarkan urutan posisi dalam List)
-Telah terpilih
-Mencetuskan beberapa tindakan ( disini kita mencetak sesuatu (yang))
---------------------------------------------------------------------------------------
if test == 0 :
>>>>appuifw.note(u"Python, yes", "info")
elif test == 1 :
>>>>appuifw.note(u"Symbian, ok", "info")
elif test == 2 :
>>>>appuifw.note(u"belajar java", "info")
---------------------------------------------------------------------------------------
Keterangan:
Angka 0 menunjukan urutan pertama dalam List yaitu Python, kemudian angka 1 menunjukan urutan keduanya yaitu Symbian, begitu juga selanjutnya.
contoh lengkap kodenya menjadi
---------------------------------------------------------------------------------------
import appuifw
L = [u"Python", u"Symbian", u"java"]
test = appuifw.popup_menu(L,u"Pilihan")
if test == 0 :
>>>>appuifw.note(u"Python yes","info")
elif test == 1 :
>>>>appuifw.note(u"symbian, ok","info")
elif test == 2 :
>>>>appuifw.note(u"belajar java","info")
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
025.
"ME-MINIMIZEKAN SUATU PROGRAM MENGGUNAKAN SCRIPT PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk meminimizekan program yang sedang kita buka...
---------------------------------------------------------------------------------------
import appswitch
appswitch.switch_to_bg(appswitch.application_list(1)[0])
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
026.
"MEMBUAT PASSWORD SCRIPT PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share script untuk menciptakan sebuah password pada aplikasi...
---------------------------------------------------------------------------------------
import appuifw
import os
def buka():
>>appuifw.note(u'Sukses. . .','conf')
def mulai():
>>>>N=appuifw.query(u"Nama Bebas:","text")
>>>>K="fnugraha8"
>>>>uN = N
>>>>if N == uN:
>>>>>>uK = str(appuifw.query(u"Password: ","code"))
>>>>>>if K == uK:
>>>>>>>>buka()
>>>>>>else:
>>>>>>>>appuifw.note(u"Password Salah!","error")
>>>>>>>>os.abort()
>>>>else:
>>>>>>pass
mulai()
---------------------------------------------------------------------------------------
Note:
Ganti > dengan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
027.
"SCRIPT PY UNTUK MENUNJUKKAN BATERAI LEMAH"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk menunjukkan status battery low atau lemah...
Kita tulis dulu scrit nya menggunakan aplikasi ped atau x-plore.
1. Buka aplikasi ped lalu tekan pilihan File > New > Python, lalu akan muncul kertas kosong atau layar HP yang kosong.
2. Barulah menulis script py nya sesuai kebutuhan dan menurut prosedurnya. Seperti ini:
---------------------------------------------------------------------------------------
import globalui
import e32
import appuifw
x=appuifw.query(u'Masukkan Waktu (dalam detik) : ','number' )
e32.ao_sleep(x)
globalui.global_note(u'','battery_low' )
---------------------------------------------------------------------------------------
3. Jika semuanya sudah tertulis maka kalian tinggal menekan tombol pilihan kemudian pilih 'Run' ,selesai.
Ini contoh script komplitnya:
---------------------------------------------------------------------------------------
import globalui import e32 import appuifw x=appuifw.query(u'Masukkan Waktu (dalam detik): ','number') e32.ao_sleep(x) globalui.global_note(u'','battery_low')
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
028.
"SCRIPT SEDERHANA MEMBUAT POPUP MENU"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script sederhara untuk membuat popup memu...
---------------------------------------------------------------------------------------
import appuifw
import os
def unggas(): appuifw.note(u'ayam, burung, dll','info' )
def lagu(): appuifw.note(u'valley of the damned,fury of the storm','info' )
def kel(): os.abort()
a = [u'Unggas', u'Lagu', u'Keluar']
g = appuifw.popup_menu(a, u'Menu Utama' )
if g == 0 : unggas()
if g == 1 : lagu()
if g == 2 : kel()
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
029.
"MEMBACA FILE DENGAN MODULE POWLITE FM"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk membaca file mp3...
-Module yang diperlukan
---------------------------------------------------------------------------------------
import powlite_fm as fm
import audio as a
---------------------------------------------------------------------------------------
-Perintah membuka file manager
---------------------------------------------------------------------------------------
n = fm.manager()
---------------------------------------------------------------------------------------
- Perintah untuk membaca file saya memberi contoh na membaca file mp3 dengan module audio, bisa juga file jpg, png,gif,dll.
---------------------------------------------------------------------------------------
f = n.AskUser(ext = ['.mp3'])
---------------------------------------------------------------------------------------
- Perintah membuka file dan memainkannya dan tingkat volume 5
Ket: a.Sound.open adalah perintah membuka file suara, (f) adalah fungsi untuk membaca manager file pada hp
---------------------------------------------------------------------------------------
s = a.Sound.open(f)
s.play()
s.set_volume(5)
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
030.
"MENGUBAH UKURAN GAMBAR MENGGUNAKAN SCRIPT"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk mengubah ukuran gambar...
---------------------------------------------------------------------------------------
import appuifw
import e32
from graphics import *
gambar = Image.open("e:\\test.jpg" )
gambar = gambar.resize((176, 208))
gambar.save("e:\\simpan.jpg"wink
def handel(rect):
>>>>x.blit(gambar)
x=appuifw.Canvas(redraw_callback=handel)
appuifw.app.body=x
y=e32.Ao_lock()
y.wait()
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
031.
"PENGGUNAAN SCRIPT PASSWORD PADA SEBUAH APLIKASI"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat password pada sebuah aplikasi...
-Module yang diperlukan
---------------------------------------------------------------------------------------
import appuifw
import e32
import os
---------------------------------------------------------------------------------------
-Fungsi define pemanggilan dan pengisian nama dan kata sandi
---------------------------------------------------------------------------------------
def mulai():
---------------------------------------------------------------------------------------
-Fungsi query untuk memanggil atau menampilkan teks box atau juga kotak pengisian nama
---------------------------------------------------------------------------------------
>>>>N=appuifw.query(u"Nama Bebas:","text"wink
---------------------------------------------------------------------------------------
-Persamaan K sebagai kata sandi saya menggunakan fnugraha8 sebagai sandinya dan pengisian nama yang bebas
---------------------------------------------------------------------------------------
>>>>K="fnugraha8"
---------------------------------------------------------------------------------------
-Persamaan N jika N sama dengan N yang berarti nama
---------------------------------------------------------------------------------------
>>>>uN = N
>>>>if N == uN:
---------------------------------------------------------------------------------------
-Persamaan K sebagai string dengan fungsi query pengisian kata sandi
---------------------------------------------------------------------------------------
>>>>>>uK = str(appuifw.query(u"Password (fnugraha8)","code"wink)
>>>>>>if K == uK:
---------------------------------------------------------------------------------------
-Fungsi pemanggilan menu setelah memasukkan nama dan kata sandi jika kata sandinya benar
---------------------------------------------------------------------------------------
>>>>>>>>buka()
---------------------------------------------------------------------------------------
-Fungsi else yang berarti selain itu yang berfungsi untuk membedakan jika sandinya salah
---------------------------------------------------------------------------------------
>>>>>>else:
>>>>>>>>appuifw.note(u"Password Salah!","error"wink
---------------------------------------------------------------------------------------
-Fungsi abort yang bilamana sandinya salah secara otomatis akan keluar dari aplikasi dengan sendirinya
---------------------------------------------------------------------------------------
>>>>>>>>os.abort()
>>>>else:
>>>>>>pass
---------------------------------------------------------------------------------------
-Fungsi define a sebagai teks yang akan ditampilkan
---------------------------------------------------------------------------------------
def a():
>>>>aa=u'script percobaan menggunkan password'
---------------------------------------------------------------------------------------
-Perintah print untuk mencetak teks pada fungsi diatas
---------------------------------------------------------------------------------------
>>>>print aa
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
def b():
>>>>bb=u'script percobaan menggunakan password'
>>>>print bb
---------------------------------------------------------------------------------------
-Fungsi untuk keluar dari aplikasi
---------------------------------------------------------------------------------------
def ex():
>>>>os.abort()
---------------------------------------------------------------------------------------
-Fungsi untuk menjalankan pembukaan pada aplikasi yang pertama kali dijalankan
---------------------------------------------------------------------------------------
def buka():
>>>>appuifw.app.screen='large'
>>>>x=appuifw.Text()
>>>>appuifw.app.body=x
>>>>x.style=appuifw.STYLE_BOLD
>>>>y=u'aku mencintai kamu sepenuh hatiku'
>>>>x.color=0xccaadd
>>>>for abc in range(len(y)):
>>>>>>>>x.add(y[abc])
>>>>>>>>e32.ao_sleep(0.01)
---------------------------------------------------------------------------------------
-Menu aplikasi pada fungsi define
---------------------------------------------------------------------------------------
def menu():
>>>>appuifw.app.menu=[(u'test',a),(u'testing',b)]
---------------------------------------------------------------------------------------
-Fungsi pemanggilan kata sandi
---------------------------------------------------------------------------------------
mulai()
---------------------------------------------------------------------------------------
-Fungsi pemanggilan menu
---------------------------------------------------------------------------------------
menu()
---------------------------------------------------------------------------------------
-Fungsi perintah keluar
---------------------------------------------------------------------------------------
appuifw.app.exit_key_handler=ex
---------------------------------------------------------------------------------------
-Penguncian aplikasi
---------------------------------------------------------------------------------------
z=e32.Ao_lock()
z.wait()
---------------------------------------------------------------------------------------
Note:
Tanda > adalah banyaknya spasi yang digunakan.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
032.
"SCRIPT PY UNTUK MEMBACKUP FILE"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk memback up file...
---------------------------------------------------------------------------------------
import appuifw
import e32
import os
import powlite_fm as p
def ganda():
>>>>appuifw.query(unicode('Cari File Save 420kb atau 495kb'),'query')
>>>>z=p.manager()
>>>>f=z.AskUser(ext=['.svs','.sav'])
>>>>if f:
>>>>>>>>appuifw.note(unicode('Sedang Memproses!!!'),'info')
>>>>>>>>os.path.isdir('E:\\Backup')
>>>>>>>>os.makedirs('E:\\Backup')
>>>>>>>>folder = f
>>>>>>>>target = 'E:\\Backup'
>>>>>>>>e32.file_copy(target, folder)
>>>>>>>>appuifw.note(unicode('Berhasil Menggandakan FILE...'), 'conf')
ganda()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
033.
"MULTI SELECTION LIST"
Dear...
ANGELman & ANGELwoman,
Saya mau share scrip untuk menampilkan search file atau check box...
1. Buka aplikasi ped lalu tekan pilihan dan pilih file > new > python, akan muncul layar kosong baru kalian tulis script nya., dan tulis script nya seperti dibawah ini.
---------------------------------------------------------------------------------------
import appuifw
Cewek = [ u'Gina', u'Nina', u'Dina', u'Lena', u'Rena', u'Raisya', u'Risa', u'Siska' ]
tm = appuifw.multi_selection_list(Cewek , style='checkbox', search_field=1)
for i in tm:
>>print Cewek[ i ]
---------------------------------------------------------------------------------------
Note:
Ganti tanda > dengan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
034.
"AUDIO (MEMUTAR MP3 1 FOLDER)"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuj play mp3 dalam 1 buah folder...
---------------------------------------------------------------------------------------
import appuifw
import audio
import e32
import os
dir='E:\\Music'
for lagu in os.listdir(dir):
>>>>s=audio.Sound.open(os.
path.join(dir,lagu))
>>>>s.play()
>>>>s.set_volume(5)
>>>>print 'Now playing: ',lagu, ms2str(s.duration())
>>>>while 1:
>>>>>>>>if s.state()==1:
>>>>>>>>>>>>s.close()
>>>>>>>>>>>>break
>>>>>>>>e32.ao_sleep(0.5)
-UntUk menStop lagu tUlis script seperti ini.
s.stop()
s.close()
---------------------------------------------------------------------------------------
Note:
Tanda > ganti dengan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
035.
"PENGISIAN NAMA KURANG DARI dan LEBIH DARI 5 KARAKTER"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat popup menu pengisian nama kurang dari 5 huruf atau lebih dari 5 huruf...
---------------------------------------------------------------------------------------
import appuifw as z
x=z.query(u'Nama','text')
if x:
>>if len(x)>5:
>>>>>>z.note(u'Max 5','error')
>>else:
>>>>>>z.note(x,'conf')
y=z.query(u'Nama','text')
if y:
>>if len(y)<5:
>>>>>>z.note(u'Max 5','error')
>>else:
>>>>>>z.note(y,'conf')
---------------------------------------------------------------------------------------
Note:
Ganti tanda > dengan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
036.
"MULTI_QUERY"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk print atau cetak lebih dari 1 teks...
---------------------------------------------------------------------------------------
import appuifw as R
x,y=R.multi_query(u'Nama:',u'Umur:')
print x
print y
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
037.
"SIMPLE FORM"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang fungsi form dalam sebuah script pys60...
---------------------------------------------------------------------------------------
import appuifw
x=appuifw.FFormDoubleSpaced | appuifw.FFormEditModeOnly
y=[ u'Kuda',u'Monyet',u'Anjing',u'Babi',u'Ayam' ]
x1=[(u'Nama Hewan','combo', (y,0))]
y1=appuifw.Form(x1,x)
y1.execute()
z=y1[0][2][1]
appuifw.query(u'Hasil Cetak','text',u''+y[z])
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
038.
"MEMBUAT PROGRESSBAR"
Dear...
ANGELman & ANGELwoman,
Saya mau share script untuk membuat progress bar...
---------------------------------------------------------------------------------------
import prog,e32,appuifw
wt=prog.ProgressNote()
wt.wait()
wt.update(0,u'Loading...')
e32.ao_sleep(5)
wt.finish()
appuifw.note(u'Sukses...','conf')
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
039.
"MENAMPILKAN APLIKASI YANG SUDAH TERINSTALL DALAM BENTUK LIST"
Dear...
ANGELman & ANGELwoman,
Saya mau shares script pys60 yang fungsinya untuk menampilkan aplikasi yang sudah terinstall dimasing-masing drive,saya memasukkan drive C, E dan Z. Jadi menampilkan apliksi yang terinstali pada 3 drive, ini cara mudah untuk memasuki aplikasi tanpa harus klik menu,buka folder, dll..
Langsung saja scriptnya dibawah ini,
---------------------------------------------------------------------------------------
import applist import appuifw import laa def app_list(): drive=['E:','C:','Z:'] apps=[] uids=[] for data in applist.applist(): uid,name,dir=data if dir[:2] in drive: apps.append((name)) uids.append(uid) i=appuifw.popup_menu(apps,unicode(len(apps))+' Aplikasi Terinstall') if not i==None: laa.execute(uids) app_list()
---------------------------------------------------------------------------------------
Ini script komplitnya,
---------------------------------------------------------------------------------------
import applist
import appuifw
import laa
def app_list():
>>>>drive=['E:','C:','Z:']
>>>>apps=[]
>>>>uids=[]
>>>>for data in applist.applist():
>>>>>uid,name,dir=data
>>>>>if dir[:2] in drive:
>>>>>>>>apps.append((name))
>>>>>>>>uids.append(uid)
>>>>i=appuifw.popup_menu(apps,unicode(len(apps))+' Aplikasi Terinstall')
>>>>if not i==None:
>>>>>laa.execute(uids)
app_list()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
040.
"MEMANGGIL GAMBAR DENGAN MODULE FROM GRAPHICS IMPORT *"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara memasukkan atau memanggil gambar kedalam sebuah aplikasi melalui perintah from graphics import...
-Module yang dibutuhkan
---------------------------------------------------------------------------------------
import appuifw
import e32
from graphics import*
---------------------------------------------------------------------------------------
-Untuk mengubah ukuran layar tersedia normal, large dan full
---------------------------------------------------------------------------------------
appuifw.app.screen='full'
---------------------------------------------------------------------------------------
-Untuk memanggil dan membuka gambar dengan ketentuan tempat dan ukuran gambar harus jelas
---------------------------------------------------------------------------------------
Gambar=Image.open("e:\\test.jpg"wink
---------------------------------------------------------------------------------------
-Menetapkan gambar yang dipanggil supaya ditampilkan
---------------------------------------------------------------------------------------
def handle_redraw(rect):
>>>>x.blit(Gambar) # gunakan 4 spasi
---------------------------------------------------------------------------------------
-Canvas dan penetapan badan untuk ditampilkan
---------------------------------------------------------------------------------------
x=appuifw.Canvas(redraw_callback=handle_redraw)
appuifw.app.body=x
---------------------------------------------------------------------------------------
-Mengunci penggunaan
---------------------------------------------------------------------------------------
y=e32.Ao_lock( )
y.wait()
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
041.
"SCRIPT PEMANGGILAN FILE TXT"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara memanggil atau memasukkan file .txt kedalam sebuah aplikasi...
-Module yang diperlukan
---------------------------------------------------------------------------------------
import appuifw
import e32
---------------------------------------------------------------------------------------
-Tempat file txt yang mau dipanggil
---------------------------------------------------------------------------------------
teks='e:\\test.txt'
---------------------------------------------------------------------------------------
-Persamaan pemanggilan pada module
---------------------------------------------------------------------------------------
x=appuifw.Content_handler()
---------------------------------------------------------------------------------------
-Persamaan x pada module untuk membuka file txt
---------------------------------------------------------------------------------------
x.open(teks)
---------------------------------------------------------------------------------------
-Mode sleep
---------------------------------------------------------------------------------------
e32.ao_sleep(10)
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
042.
"SCRIPT TEKS MENJADI SUARA"
Dear...
ANGELman & ANGELwoman,
Saya mau share script yang bisa merubah teks menjadi suara...
-Module yang diperlukan
---------------------------------------------------------------------------------------
import appuifw
import audio
---------------------------------------------------------------------------------------
-Fungsi query untuk menulis teks pada popup screen
---------------------------------------------------------------------------------------
teks = appuifw.query(u'Masukkan teksnya:','text'wink
---------------------------------------------------------------------------------------
-Perintah untuk memanggil suara atau membacakan teks
---------------------------------------------------------------------------------------
audio.say(teks)
---------------------------------------------------------------------------------------
-Cara menulisnya bisa copas atau juga membuatnya dengan x-plore dan ped. Ped ini fungsinya untuk menjalankan script yang dibuat tadi, buat scriptnya menggunakan x-plore dgn cra masuk ke x-plore lalu tekan menu >> file >> new text file >> tlis namanya seperti ini test.py lalu tekan ok.
Terus tulis perintah diatas, save jika sudah selesai, terus pindahkan ke folder python..
Cara menjalankan scriptnya buka Aplikasi Ped terus cari folder python\test.py dan tekan ok,nanti akan muncul popup scren dan masukkan teksnya tekan ok lagi dan dengarkan hasilnya.
Note:
-Teks jangan disingkat.
-Tidak semua HP suport dengan script ini.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
043.
"SCRIPT UNTUK MEMANGGIL dan MEMBUKA APLIKASI di LUAR SYSTEM APLIKASI"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script yang fungsinya untuk memanggil aplikasi diluar system aplikasi...
-Module yang dibutuhkan
---------------------------------------------------------------------------------------
import appuifw
import e32
---------------------------------------------------------------------------------------
-Fungsi define pemanggilan aplikasi
---------------------------------------------------------------------------------------
def test():
>>>>e32.start_exe('z:\\system\\programs\\apprun.exe', 'e:\\COBA\\vbag\\vbag.app' )
---------------------------------------------------------------------------------------
-Tampilan menu
---------------------------------------------------------------------------------------
appuifw.app.menu = [(u"Test", test)]
---------------------------------------------------------------------------------------
-Untuk penguncian pada saat aplikasi dibuka supaya tidak terjadi keluar dengan sendirinya.
---------------------------------------------------------------------------------------
lock = e32.Ao_lock()
lock.wait()
---------------------------------------------------------------------------------------
Keterangan:
Tanda >>>> ini dimaksudkan supaya menggunakan 4 spasi.
e32.start_exe('z:\\system\\programs\\apprun.exe' ini adalah perintah pemanggila sekaligus untuk melakukan runing pada suatu aplikasi yang mau dijalankan..
'e:\\COBA\\vbag\\vbag.app' ini adalah perintah untuk memanggil aplikasi yang akan dijalankan dimana folder aplikasi tersebut disimpan...
Untuk pemanggilan aplikasi bisa ditambah sebanyak yang kalian mau.
Ingat pindahkan folder aplikasi ke folder yang sudah disiapkan sebelumnya.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
044.
"SCRIPT UNTUK MEMAINKAN MP3 PADA FUNGSI DEFINE"
Dear...
ANGELman & ANGELwoman,
Saya mau share script python yang berfungsi untuk memutar mp3...
-Module yang diperlukan
---------------------------------------------------------------------------------------
import appuifw
import e32
import audio
---------------------------------------------------------------------------------------
-Fungsi define untuk menjalankan sebuah mp3
---------------------------------------------------------------------------------------
def main():
>>>>global pokemon
>>>>pokemon=audio.Sound.open('e:\\MP3\\English\\Pokemon.mp3' )
>>>>pokemon.play()
>>>>appuifw.note(u"Memainkan", "info" )
---------------------------------------------------------------------------------------
-Fungsi define untuk menghentikan sebuah mp3 yang sedang dimainkan
---------------------------------------------------------------------------------------
def henti():
>>>>global pokemon
>>>>pokemon.stop()
>>>>pokemon.close()
>>>>appuifw.note(u"Di Hentikan", "conf" )
---------------------------------------------------------------------------------------
-Daftar menu untuk ditampilkan dalam suatu aplikasi
---------------------------------------------------------------------------------------
appuifw.app.menu = [(u"Putar", main), (u"Berhenti", henti)]
---------------------------------------------------------------------------------------
-Fungsi untuk modus stanby atau mengunci saat pada aplikasi dibuka
---------------------------------------------------------------------------------------
script_lock = e32.Ao_lock()
script_lock.wait()
---------------------------------------------------------------------------------------
Ingat tanda >>>> menunjukan 4 spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
045.
"MEMANGGIL TEXT MENGGUNAKAN MODULE GLOBALUI PADA SCRIPT PYTHON"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk memanggil text atau menulis text dengan module globalui...
-Module yang diperlukan
---------------------------------------------------------------------------------------
import globalui
---------------------------------------------------------------------------------------
-Pemanggilan scriptnya seperti ini.
---------------------------------------------------------------------------------------
globalui.global_msg_query(u'test', u'coba' )
---------------------------------------------------------------------------------------
Ket: u'test' ini adalah isi textnya dan u'coba' ini adalah buat keterangan catatan text. Dan bila ingin menggunakan define afungtions gunakan 4 spasi,
Contoh:
---------------------------------------------------------------------------------------
def tentang():
>>>>globalui.global_msg_query(u'test', 'coba' )
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
046.
"CARA MEMASUKKAN MUSIK atau MP3 ke DALAM SEBUAH APLIKASI PYTHON"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat sebuah aplikasi ada musik ketika aplikasi tersebut dibuka...
Pertama kalian harus tau disetiap aplikasi python terdapat file default.py didalam file trsebut ada tulisan import nama aplikasi ( tergantung aplikasi python apa yang kalian punya )
Contoh:
---------------------------------------------------------------------------------------
import linkapper
---------------------------------------------------------------------------------------
Setelah ketemu file default.pynya kalian edit menggunakn x-plore atau yang lain, buka file default.pynya lalu ganti menjadi seperti dibawah ini:
---------------------------------------------------------------------------------------
import e32,imp,appuifw,audio
s = audio.Sound.open('e:\\system\\mp3\\dragonforce\\trail of broken heart.mp3' )
s.play()
def go():
import linkapper
e32.ao_sleep(0,go)
del e32,go
---------------------------------------------------------------------------------------
Note:
Saya tegaskan kembali nama folder mp3nya harus jelas dan nama aplikasinya juga harus dicantumkan.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
047.
"DASAR URUTAN KODE LOGIC GAME"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang urutan kode logic game...
Program game agar bisa jalan ada tahapan-tahapan tertentu. Berikut ini tahapan-tahapan dasar pada program gameplay:
- update objek
- gameplay logic
- render
- Update objek
Objek pada game misalnya karakter. Saat karakter begerak atau berjalan, posisi karakter diupdate keposisi baru. Proses update disini bukan cuma update posisi objek tapi juga semua hal yang yang dibutuhkan tiap objek, misalnya: build objek, status, dll.
- Gameplay logic
Contoh logic gameplay misalnya: proses tumbukan, pengecekan gameover, penambahan skor, dll.
- Render
Render adalah proses menampilkan objek ke layar setelah diupdate
Jika tahapan-tahapan diatas terbalik dapat menjadi bug.
Contoh kasus:
Pada deteksi tumbukan, saat karakter berjalan dan menabrak tembok karakter berhenti berjalan. Urutan tahapan yang baik seperti ini:
- karakter berjalan
- logic tumbukan dengan tembok
- render karakter
Jika urutannya terbalik misalnya seperti ini:
- karakter berjalan
- render karakter
- logic tumbukan dengan tembok
Maka yang terjadi karakter berjalan masuk beberapa piksel (tergantung kecepatan berjalan) kedalam tembok lalu kembali kedepan tembok. Tidak langsung berheti didepan tembok.
Itulah contoh dasar urutan kode logic game.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
048.
"MENGIMPLEMENTASIKAN DASAR-DASAR KOMPUTASI 3D DENGAN PYS60" (bag.1)
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang cara mengimplementasikan suatu object 3D dengan pys60...
Saat ini tehnologi 3D merupakan sesuatu yang umum. Bahkan sudah banyak bahasa pemrograman yang dikhususkan untuk membuat software 3D misalnya Blitz 3D, Unity 3D dll sehingga membuat program 3D semakin mudah saja. Pada Pys60, ada sebuah graphics engine bernama OpenGL ES untuk mempermudah olah grafis baik 2D ataupun 3D. Library OpenGL ES hanya berjalan pada s60 3rd keatas. Namun bagaimanakah dasar-dasar komputasi 3D? Artikel ini berisi tehnik atau cara kerja dasar-dasar komputasi 3D menggunakan bahasa pemrograman Python khususnya Pys60. Mencakup pengetahuan dasar kordinat 3D, rotasi, dan transformasi. Dimulai dari kordinat 2D.
Catatan:
Ganti semua tanda">"pada awal baris disetiap script ditutorial ini dengan spasi.
-Kordinat 2D
Setiap titik 2D terdiri dari dua kordinat. Dalam kartesian disebut X dan Y.
X merupakan kordinat horizontal dari kiri kekanan sedangkan Y merupakan kordinat vertikal dari atas kebawah. Jadi jika X bernilai nol dan Y bernilai nol maka titik tersebut adalah pojok kiri atas layar.
Sebuah objek 3D yang dapat dirotasi mempunyai titik pusat rotasi. Untuk itu komputasi vektor digunakan untuk menentukan kordinat suatu objek pada layar.
Titik merah yang berada ditengah-tengah kotak tersebut merupakan titik pusat rotasi. Titik merah tersebut yang menentukan Posisi objek. Setiap titik biru (titik sudut, dalam 3D disebut Vertex) posisinya dipengaruhi oleh titik merah dengan kata lain translasi. Rumus translasi nya:
x = VertexX+PosX
y = VertexY+PosY
Script implementasi vektor
---------------------------------------------------------------------------------------
import math,e32,key,appuifw, graphics
def quit():
>>global run
>>run=0
appuifw.app.screen ='full'
run = 1
appuifw.app.body = c = appuifw.Canvas()
appuifw.app.exit_key_handler=quit
img = graphics.Image.new(c.size)
PX = c.size[0]/2
PY = c.size[1]/2
Size = 6
VX = [-40, 40, -40, 40]
VY = [-40, -40, 40, 40]
while run:
>>img.clear(0)
>>for n in range(4):
>>>># translasi kordinat vertex
>>>>x = VX[n]+PX
>>>>y = VY[n]+PY
---------------------------------------------------------------------------------------
-Menggambar vertex
---------------------------------------------------------------------------------------
>>>>img.point((x,y),0x0000ff,width=Size)
---------------------------------------------------------------------------------------
-Menggambar posisi
---------------------------------------------------------------------------------------
>>img.point((PX,PY),0xff0000,width=4)
>>c.blit(img)
>>e32.ao_yield()
---------------------------------------------------------------------------------------
Pada script diatas hanya ada titik-titik saja, garis sengaja tidak digambar untuk menyederhanakan script. Objek kotak pada gambar diatas mempunyai lebar 80px dan tinggi 80px. Oleh karena itu setiap vertex (VX dan VY) nilainya setengah dari lebar kotak yaitu -40 atau 40.
Rotasi 2D
Sampai saat ini, alogaritma trigonometri sinus dan cosinus merupakan algoritma rotasi yang paling banyak dipakai untuk me-rotasi objek pada layar digital. Tidak memahami rumus sinus dan cosinus bukan suatu masalah karena hampir semua bahasa pemrograman termasuk python sudah menyediakan fungsi sin dan cos pada modul atau library standar-nya. Namun akan lebih baik jika mememahami cara kerja rotasi menggunakan sin dan cos.
Rotasi kekanan 20 derajat. Untuk menghitung nilai rotasi kordinat VX dan VY (garis berwarna cyan) dipakai rumus:
XR = VX[n]*cos(ra) - VY[n]*sin(ra)
YR = VX[n]*sin(ra) + VY[n]*cos(ra)
'ra'adalah nilai Angle setelah dikonversi ke radian. Pada 3D, rotasi 2D ini disebut rotasi Z. Oleh karena itu pada script dibawah menggunakan'Z'pada variabel angle,sin dan cos.
implementasi rotasi 2D
---------------------------------------------------------------------------------------
import math,e32,key,appuifw, graphics
def quit():
>>global run
>>run=0
appuifw.app.screen ='full'
run = 1
appuifw.app.body = c = appuifw.Canvas()
appuifw.app.exit_key_handler=quit
img = graphics.Image.new(c.size)
PX = c.size[0]/2
PY = c.size[1]/2
Size = 6
VX = [-40, 40, -40, 40]
VY = [-40, -40, 40, 40]
ANGLEZ = 0
while run:
---------------------------------------------------------------------------------------
-Konversi angle ke radian
---------------------------------------------------------------------------------------
>>raz = ANGLEZ*math.pi/180
---------------------------------------------------------------------------------------
-Menghitung sin dan cos
---------------------------------------------------------------------------------------
>>sinz = math.sin(raz)
>>cosz = math.cos(raz)
>>img.clear(0)
>>for n in range(4):
---------------------------------------------------------------------------------------
-Rotasi kordinat vertex
---------------------------------------------------------------------------------------
>>>>XR = VX[n]*cosz - VY[n]*sinz - VX[n]
>>>>YR = VX[n]*sinz + VY[n]*cosz - VY[n]
---------------------------------------------------------------------------------------
-Translasi kordinat vertex
---------------------------------------------------------------------------------------
>>>>x = VX[n]+PX+XR
>>>>y = VX[n]+PY+YR
>>>>img.point((x,y),0x0000ff,width=Size)
>>img.point((PX,PY),0xff0000,width=Size)
---------------------------------------------------------------------------------------
-Memutar objek sekedar untuk simulasi
---------------------------------------------------------------------------------------
>>ANGLEZ+=2
>>c.blit(img)
>>e32.ao_yield()
---------------------------------------------------------------------------------------
Pada baris kode:
XR = VX[n]*cosz - VY[n]*sinz - VX[n]
Ada tambahan"- VX[n]"agar hasil komputasinya hanya offset saja. Ditujukan untuk mengurangi perubahan syntax pada proses transformasi kordinat nanti. Setelah dihitung, nilai offset rotasi XR ditambahkan ke translasi:
x = VX[n]+PX+XR
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
049.
"MENGIMPLEMENTASIKAN DASAR-DASAR KOMPUTASI 3D DENGAN PYS60" (bag.2)
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang cara mengimplementasikan suatu object 3D dengan pys60...
Kordinat 3D
3D merupakan pengembangan dari 2D. Jadi dasarnya sama dengan 2D. Pada 3D ada satu kordinat lagi yang disebut Z untuk menentukan kedalaman. Semakin besar nilai Z semakin jauh atau kecil gambar suatu objek pada layar.
Semua titik kordinat (Posisi dan Vertex) membutuhkan kordinat Z. Jadi setiap titik mempunyai tiga kordinat yaitu X,Y dan Z. Karena sudah memasuki 3D gambar kotak sebelumnya dikembangkan menjadi kubus. Sebuah kubus mempunyai 8 titik sudut, jadi ada tambahan 4 vertex baru kedalam list VX dan VY juga menambahkan satu list baru bernama VZ. Variabel PZ saat ini belum digunakan, diberi nilai 200 sebagai default agar objek berada agak jauh dari kamera setelah ditransformasikan nanti.
Implementasi kordinat 3D
---------------------------------------------------------------------------------------
import math,e32,key,appuifw, graphics
def quit():
>>global run
>>run=0
appuifw.app.screen = 'full'
run = 1
appuifw.app.body = c = appuifw.Canvas()
appuifw.app.exit_key_handler=quit
img = graphics.Image.new(c.size)
PX = c.size[0]/2
PY = c.size[1]/2
Size = 6
VX = [-40, 40, -40, 40, -40, 40, -40, 40]
VY = [-40, -40, 40, 40, -40, -40, 40, 40]
VZ = [-40, -40, -40, -40, 40, 40, 40, 40]
ANGLEZ = 0
while run:
---------------------------------------------------------------------------------------
-Konversi angle ke radian
---------------------------------------------------------------------------------------
>>raz = ANGLEZ*math.pi/180
---------------------------------------------------------------------------------------
-Menghitung sin dan cos
---------------------------------------------------------------------------------------
>>sinz = math.sin(raz)
>>cosz = math.cos(raz)
>>img.clear(0)
>>for n in range(8):
---------------------------------------------------------------------------------------
-Rotasi kordinat vertex
---------------------------------------------------------------------------------------
>>>>XR = VX[n]*cosz - VY[n]*sinz - VX[n]
>>>>YR = VX[n]*sinz + VY[n]*cosz - VX[n]
---------------------------------------------------------------------------------------
-Translasi kordinat vertex
---------------------------------------------------------------------------------------
>>>>x = VX[n]+PX+XR
>>>>y = VX[n]+PY+YR
>>>>img.point((x,y),0x0000ff,width=Size)
>>img.point((PX,PY),0xff0000,width=Size)
---------------------------------------------------------------------------------------
-Memutar objek sekedar untuk simulasi
---------------------------------------------------------------------------------------
>>ANGLEZ+=2
>>c.blit(img)
>>e32.ao_yield()
---------------------------------------------------------------------------------------
Jika script diatas dijalankan terlihat sama persis seperti script sebelumnya. Hanya 4 vertex yang terlihat karena 4 kordinat vertex lainnya mempunyai nilai VX dan VY sama dan hanya VZ yang berbeda. Yang terjadi pada script diatas adalah setiap titik terdiri dari 2 titik kordinat atau tumpang tindih. Dibutuhkan transformasi kordinat agar objek 3D diatas mempunyai kedalaman.
Rotasi 3D
Objek 2D hanya ada satu rotasi yaitu rotasi Z axis, sedangkan objek 3D dapat dirotasi dalam 3 poros atau axis yaitu rotasi X,Y, dan Z. Bisa juga dirotasi dalam satu atau dua axis saja, dapat juga tidak diberi rotasi sama sekali. Pada script ini menggunakan 3 rotasi.
Untuk menggabungkan 3 komputasi rotasi sepintas terlihat sangat rumit, namun tidak serumit kelihatannya. Umumnya rotasi 3D menggunakan matrik karena efisiensi, namun disini tidak menggunakan matrik agar script-nya tidak terlalu rumit. Ada penambahan 2 variabel yaitu ANGLEX dan ANGLEY.
Script implementasi rotasi 3D
---------------------------------------------------------------------------------------
import math,e32,key,appuifw, graphics
def quit():
>>global run
>>run=0
appuifw.app.screen = 'full'
run = 1
appuifw.app.body = c = appuifw.Canvas()
appuifw.app.exit_key_handler=quit
img = graphics.Image.new(c.size)
PX = c.size[0]/2
PY = c.size[1]/2
Size = 6
VX = [-40, 40, -40, 40, -40, 40, -40, 40]
VY = [-40, -40, 40, 40, -40, -40, 40, 40]
VZ = [-40, -40, -40, -40, 40, 40, 40, 40]
ANGLEX = 0
ANGLEY = 0
ANGLEZ = 0
while run:
---------------------------------------------------------------------------------------
-Konversi angle ke radian
---------------------------------------------------------------------------------------
>>rax = ANGLEX*math.pi/180
>>ray = ANGLEY*math.pi/180
>>raz = ANGLEZ*math.pi/180
---------------------------------------------------------------------------------------
-Menghitung sin dan cos
---------------------------------------------------------------------------------------
>>sinx = math.sin(rax)
>>cosx = math.cos(rax)
>>siny = math.sin(ray)
>>cosy = math.cos(ray)
>>sinz = math.sin(raz)
>>cosz = math.cos(raz)
>>img.clear(0)
>>for n in range(8):
---------------------------------------------------------------------------------------
-Rotasi kordinat vertex
---------------------------------------------------------------------------------------
>>>>ZX = VX[n]*cosz - VY[n]*sinz - VX[n]
>>>>ZY = VX[n]*sinz + VY[n]*cosz - VY[n]
>>>>YX = (VX[n]+ZX)*cosy - VZ[n]*siny - (VX[n]+ZX)
>>>>YZ = (VX[n]+ZX)*siny + VZ[n]*cosy - VZ[n]
>>>>XY = (VY[n]+ZY)*cosx - (VZ[n]+YZ)*sinx - (VY[n]+ZY)
>>>>XZ = (VY[n]+ZY)*sinx + (VZ[n]+YZ)*cosx - (VZ[n]+YZ)
>>>>XR = YX+ZX
>>>>YR = ZY+XY
>>>>ZR = XZ+YZ
---------------------------------------------------------------------------------------
-Ttranslasi kordinat vertex
---------------------------------------------------------------------------------------
>>>>x = VX[n]+PX+XR
>>>>y = VY[n]+PY+YR
>>>>img.point((x,y),0x0000ff,width=Size)
>>img.point((PX,PY),0xff0000,width=Size)
---------------------------------------------------------------------------------------
-Memutar objek sekedar untuk simulasi
---------------------------------------------------------------------------------------
>>ANGLEX+=2
>>ANGLEY+=2
>>ANGLEZ+=2
>>c.blit(img)
>>e32.ao_yield()
---------------------------------------------------------------------------------------
Pada script diatas, baris ZX dan ZY merupakan proses "rotasi Z" sama seperti pada rotasi 2D sebelumnya. Baris YX dan YZ merupakan "rotasi Y" yang prosesnya menggabungkan hasil "rotasi Z" sebelumnya (ZX). Dan pada baris XY dan XZ merupakan "rotasi X" yang prosesnya menggabungkan hasil "rotasi Z" dan "rotasi Y" (ZY dan YZ). Sederhananya kubus dirotasi pada Z axis, setelah itu dirotasi lagi pada Y axis, dan dirotasi lagi pada X axis. Pada tiga baris code:
---------------------------------------------------------------------------------------
>>>>XR = YX+ZX
>>>>YR = ZY+XY
>>>>ZR = XZ+YZ
---------------------------------------------------------------------------------------
Ketiga statement diatas hanya menjumlahkan semua "offset rotasi" sehingga dapat digunakan dalam konversi akhir.
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
050.
"MENGIMPLEMENTASIKAN DASAR-DASAR KOMPUTASI 3D DENGAN PYS60" (bag.3)
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang cara mengimplementasikan suatu object 3D dengan pys60...
Transformasi 3D
Pada script dibagian sebelumnya saat kubus diputar ke-delapan vertex-nya kelihatan. Namun masih terlihat ada yang kurang yaitu perspektif. Proses transformasi digunakan untuk memberi atau mensimulasikan perspektif agar objek 3D terlihat nyata secara fisika.
Proses mensimulasikan perspektif disebut transformasi. Rumus transformasinya:
Z = (VZ+PZ)/distance
X = (VX+PX)/Z
Y = (VY+PY)/Z
Pada kebanyakan konten 3D baik itu pada gambar, film, atau game, pusat perspektif sering kali berada ditengah-tengah layar. Untuk itu ada tambahan variabel halfResX dan halfResY untuk membuat posisi titik pusat perspektif berada ditengah-tengah layar.
Implementasi perspektif 3D
---------------------------------------------------------------------------------------
import math,e32,key,appuifw, graphics
def quit():
>>global run
>>run=0
appuifw.app.screen ='full'
run = 1
appuifw.app.body = c = appuifw.Canvas()
appuifw.app.exit_key_handler=quit
img = graphics.Image.new(c.size)
halfResX = c.size[0]/2
halfResY = c.size[1]/2
---------------------------------------------------------------------------------------
-Jarak posisi kamera dari layar
---------------------------------------------------------------------------------------
distance = 180
PX = 0
PY = 0
PZ = 200
Size = 6
VX = [-40, 40, -40, 40, -40, 40, -40, 40]
VY = [-40, -40, 40, 40, -40, -40, 40, 40]
VZ = [-40, -40, -40, -40, 40, 40, 40, 40]
ANGLEX = 0
ANGLEY = 0
ANGLEZ = 0
while run:
---------------------------------------------------------------------------------------
-Konversi angle ke radian
---------------------------------------------------------------------------------------
>>rax = ANGLEX*math.pi/180
>>ray = ANGLEY*math.pi/180
>>raz = ANGLEZ*math.pi/180
---------------------------------------------------------------------------------------
-Menghitung sin dan cos
---------------------------------------------------------------------------------------
>>sinx = math.sin(rax)
>>cosx = math.cos(rax)
>>siny = math.sin(ray)
>>cosy = math.cos(ray)
>>sinz = math.sin(raz)
>>cosz = math.cos(raz)
>>img.clear(0)
>>for n in range(8):
---------------------------------------------------------------------------------------
-Rotasi kordinat vertex
---------------------------------------------------------------------------------------
>>>>ZX = VX[n]*cosz - VY[n]*sinz - VX[n]
>>>>ZY = VX[n]*sinz + VY[n]*cosz - VY[n]
>>>>YX = (VX[n]+ZX)*cosy - VZ[n]*siny - (VX[n]+ZX)
>>>>YZ = (VX[n]+ZX)*siny + VZ[n]*cosy - VZ[n]
>>>>XY = (VY[n]+ZY)*cosx - (VZ[n]+YZ)*sinx - (VY[n]+ZY)
>>>>XZ = (VY[n]+ZY)*sinx + (VZ[n]+YZ)*cosx - (VZ[n]+YZ)
>>>>XR = YX+ZX
>>>>YR = ZY+XY
>>>>ZR = XZ+YZ
---------------------------------------------------------------------------------------
-Transformasi kordinat vertex
---------------------------------------------------------------------------------------
>>>>z = (VZ[n]+PZ+ZR)/distance
>>>>x = (VX[n]+PX+XR)/z
>>>>y = (VY[n]+PY+YR)/z
>>>>img.point((x+halfResX,y+halfResY),0x0000ff,width=Size/z)
>>img.point((PX+halfResX,PY+halfResY),0xff0000,width=Size)
---------------------------------------------------------------------------------------
-Memutar objek sekedar untuk simulasi
---------------------------------------------------------------------------------------
>>ANGLEX+=2
>>ANGLEY+=2
>>ANGLEZ+=2
>>c.blit(img)
>>e32.ao_yield()
---------------------------------------------------------------------------------------
Karena titik pusat perspektif berada ditengah layar, maka jika PX bernilai nol posisi kubus berada ditengah layar, jika nilainya lebih kecil dari nol (minus) posisi kubus berada dikiri layar dan jika nilainya lebih besar dari nol posisi kubus berada dikanan layar. PY juga sama, tapi atas bawah. Sedangkan PZ bernilai nol atau lebih kecil dari nol maka posisinya tepat berada dikamera jadi tidak kelihatan dilayar karena terlalu besar. Semakin besar nilai PZ, semakin jauh posisi objek dari kamera dan terlihat semakin kecil.
Itulah dasar pendekatan komputasi 3D. Script dibawah ini sama dengan script pada bagian"Transformasi 3D". Hanya ada tambahan key handler untuk menggerakan posisi objek (PX,PY, dan PZ) dan memutar objek dalam 3 axis (ANGLEX,ANGLEY, dan ANGLEZ)
Fungsi key:
Arah atas dan bawah: update PY
Arah kiri dan kanan: update PX
1 dan 3: update PZ
2 dan 8: update ANGLEX
4 dan 6: update ANGLEY
* dan #: update ANGLEZ
---------------------------------------------------------------------------------------
import math,e32,key,appuifw, graphics
from key_codes import *
class Keyboard(object):
>>def __init__(self,onevent=lambda:None):
>>>>self._keyboard_state={}
>>>>self._downs={}
>>>>self._onevent=onevent
>>def handle_event(self,event):
>>>>if event['type'] == appuifw.EEventKeyDown:
>>>>>>code=event['scancode']
>>>>>>if not self.is_down(code):
>>>>>>>>self._downs=self._downs.get(code,0)+1
>>>>>>self._keyboard_state=1
>>>>elif event['type'] == appuifw.EEventKeyUp:
>>>>>>self._keyboard_state[event['scancode']]=0
>>>>self._onevent()
>>def is_down(self,scancode):
>>>>return self._keyboard_state.get(scancode,0)
>>def pressed(self,scancode):
>>>>if self._downs.get(scancode,0):
>>>>>>self._downs[scancode]-=1
>>>>>>return True
>>>>return False
def quit():
>>global run
>>run=0
key = Keyboard()
appuifw.app.screen ='full'
run = 1
appuifw.app.body = c = appuifw.Canvas(event_callback = key.handle_event)
appuifw.app.exit_key_handler=quit
img = graphics.Image.new(c.size)
halfResX = c.size[0]/2
halfResY = c.size[1]/2
---------------------------------------------------------------------------------------
-Jarak posisi kamera dari layar
---------------------------------------------------------------------------------------
distance = 180
PX = 0
PY = 0
PZ = 200
Size = 6
VX = [-40, 40, -40, 40, -40, 40, -40, 40]
VY = [-40, -40, 40, 40, -40, -40, 40, 40]
VZ = [-40, -40, -40, -40, 40, 40, 40, 40]
ANGLEX = 0
ANGLEY = 0
ANGLEZ = 0
while run:
---------------------------------------------------------------------------------------
-Konversi angle ke radian
---------------------------------------------------------------------------------------
>>rax = ANGLEX*math.pi/180
>>ray = ANGLEY*math.pi/180
>>raz = ANGLEZ*math.pi/180
---------------------------------------------------------------------------------------
-Menghitung sin dan cos
---------------------------------------------------------------------------------------
>>sinx = math.sin(rax)
>>cosx = math.cos(rax)
>>siny = math.sin(ray)
>>cosy = math.cos(ray)
>>sinz = math.sin(raz)
>>cosz = math.cos(raz)
>>img.clear(0)
>>for n in range(8):
---------------------------------------------------------------------------------------
-Rotasi kordinat vertex
---------------------------------------------------------------------------------------
>>>>ZX = VX[n]*cosz - VY[n]*sinz - VX[n]
>>>>ZY = VX[n]*sinz + VY[n]*cosz - VY[n]
>>>>YX = (VX[n]+ZX)*cosy - VZ[n]*siny - (VX[n]+ZX)
>>>>YZ = (VX[n]+ZX)*siny + VZ[n]*cosy - VZ[n]
>>>>XY = (VY[n]+ZY)*cosx - (VZ[n]+YZ)*sinx - (VY[n]+ZY)
>>>>XZ = (VY[n]+ZY)*sinx + (VZ[n]+YZ)*cosx - (VZ[n]+YZ)
>>>>XR = YX+ZX
>>>>YR = ZY+XY
>>>>ZR = XZ+YZ
---------------------------------------------------------------------------------------
-Transformasi kordinat vertex
---------------------------------------------------------------------------------------
>>>>z = (VZ[n]+PZ+ZR)/distance
---------------------------------------------------------------------------------------
-Mencegah ZeroDivisionError
---------------------------------------------------------------------------------------
>>>>if z<0.01: z = 0.01
>>>>x = (VX[n]+PX+XR)/z
>>>>y = (VY[n]+PY+YR)/z
>>>>img.point((x+halfResX,y+halfResY),0x0000ff,width=Size/z)
>>img.point((PX+halfResX,PY+halfResY),0xff0000,width=Size)
>>c.blit(img)
>>if key.is_down(EScancodeLeftArrow): PX-=2
>>if key.is_down(EScancodeRightArrow): PX+=2
>>if key.is_down(EScancodeUpArrow): PY-=2
>>if key.is_down(EScancodeDownArrow): PY+=2
>>if key.is_down(EScancode1): PZ-=2
>>if key.is_down(EScancode3): PZ+=2
>>if key.is_down(EScancode4): ANGLEY-=2
>>if key.is_down(EScancode6): ANGLEY+=2
>>if key.is_down(EScancode2): ANGLEX-=2
>>if key.is_down(EScancode8): ANGLEX+=2
>>if key.is_down(EScancodeStar): ANGLEZ-=2
>>if key.is_down(EScancodeHash): ANGLEZ+=2
e32.ao_yield()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
051.
"LIST, FUNGSI dan CLASS"
Dear...
ANGELman & ANGELwoman,
Saya mau share bagaimana mengelompokan script dengan penggunaan multi dimensional list:
---------------------------------------------------------------------------------------
nama_list=[[nilai,nilai],[nilai,nilai]]
---------------------------------------------------------------------------------------
fungsi berargumen:
---------------------------------------------------------------------------------------
def nama_fungsi(argumen):
>>>>isi_fungsi
---------------------------------------------------------------------------------------
dan class:
---------------------------------------------------------------------------------------
class nama_class:
>>>>isi_class
---------------------------------------------------------------------------------------
Sekali lagi ini hanyalah contoh, bukan struktur script yang baik,
Note:
Ganti tanda ">" pada awal syntax dengan spasi. Sebagai contoh, data disimpan dalam multi dimensional list.
---------------------------------------------------------------------------------------
type1 = ["Alas kaki", ["sepatu","sandal"]]
type2 = ["Tutup kepala", ["topi","peci"]]
---------------------------------------------------------------------------------------
Lalu misal kita ingin membuat fungsi untuk memproses nilai-nilai list diatas
---------------------------------------------------------------------------------------
def cek_type1():
>>>>print "kategori "+type1[0]+" berisi:"
>>>>>>>>for i in range(len(type1[1])):
>>>>>>>>>>>>print type1[1][i]
def cek_type2():
>>>>print "kategori "+type2[0]+" berisi:"
>>>>>>>>for i in range(len(type2[1])):
>>>>>>>>>>>>print type2[1][i]
---------------------------------------------------------------------------------------
-Pemanggilan
---------------------------------------------------------------------------------------
cek_type1()
cek_type2()
---------------------------------------------------------------------------------------
Jika list type banyak macamnya misalnya type1,type2,type3...type40, kita harus mencari cara yang lebih efisien. Salah satu solusinya yaitu membuat mesin untuk melakukan proses (dalam hal ini proses pengecekan). Untuk ini kita dapat menggunakan fungsi berargumen.
---------------------------------------------------------------------------------------
def mesin_cek(type_barang):
>>>>print "kategori "+type_barang[0]+" berisi:"
>>>>>>>>for i in range(len(type_barang[1])):
>>>>>>>>>>>>print type_barang[1][i]
---------------------------------------------------------------------------------------
-Pemanggilan
---------------------------------------------------------------------------------------
mesin_cek(type1)
mesin_cek(type2)
---------------------------------------------------------------------------------------
Fungsi mesin_cek diatas memproses data argumen yang dimasukkan. Dengan begini, kita cukup menggunakan satu fungsi diatas untuk mengecek semua data list type kita.
Jika fungsi kita banyak akan lebih mudah diorganisir jika disimpan didalam class. Jika script diatas dikelompokkan dengan class:
class pakaian:
---------------------------------------------------------------------------------------
>>>>type1=["Alas kaki", ["sepatu","sandal"]]
>>>>type2=["Tutup kepala", ["topi","peci"]]
>>>>def mesin_cek(self,type_barang):
>>>>>>>>print "kategori "+type_barang[0]+" berisi:"
>>>>>>>>>>>>for i in range(len(type_barang[1])):
>>>>>>>>>>>>>>>>print type_barang[1][i]
---------------------------------------------------------------------------------------
-Pemanggilan
---------------------------------------------------------------------------------------
p=pakaian()
p.mesin_cek(p.type1)
p.mesin_cek(p.type2)
---------------------------------------------------------------------------------------
"self" digunakan untuk menandai bahwa objek tersebut berada pada class yang sama. Jika kita tidak menyertakan self maka objek yang dipanggil adalah objek global, dan jika tidak ada objek global yang dimaksud, maka pesan error muncul. Contoh:
-Global variabel angka
---------------------------------------------------------------------------------------
angka=1
---------------------------------------------------------------------------------------
class percobaan:
-Lokal variabel angka
---------------------------------------------------------------------------------------
>>>>angka=6
>>>>def test(self):
>>>>>>>>print angka # global
>>>>>>>>print self.angka # lokal
c=percobaan()
c.test()
---------------------------------------------------------------------------------------
-Jika variabel lokal angka dipanggil dari luar class, harus menyertakan instance class nya
---------------------------------------------------------------------------------------
print c.angka
print angka
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
052.
"MELOAD GAMBAR EXTERNAL DENGAN MODULE IMAGE 1ST"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang cara meload gambar eksternal khususnya pada s60 1st, namun bisa juga digunakan pada s60 2nd...
Fungsi pada module graphics yang berfungsi untuk meload dan menampilkan gambar pada appuifw.canvas() yaitu: graphics.Image.open(). Sayangnya fungsi tersebut hanya berjalan pada s60v2 keatas dan tidak jalan pada N-Gage saya yang masih s60 v1. Beruntung ada modul buatan pihak ketiga yang berfungsi untuk menampilkan gambar pada s60 v1. Modul tersebut bernama "image1st". Sebenarnya ingin membahas fungsi Image.open() juga, tapi karena saya ndak punya HP buat ngetest jadi hanya cara menampilkan gambar dengan image1st yang saya bahas. Sebelumnya simpan gambar dibawah ini dan taruh difolder E:\images\
Pada Pys60 Blit() berfungsi untuk menampilkan gambar baik gambar external ataupun old graphics didalam ataupun diluar objek gambar external atau old graphics juga.
blit untuk menampilkan gambar external:
---------------------------------------------------------------------------------------
img.blit(file_gambar)
---------------------------------------------------------------------------------------
Gambar tersebut ditampilkan apa adanya dengan posisi pada pojok kiri atas. Posisi gambar dapat kita atur target posisinya:
---------------------------------------------------------------------------------------
img.blit(file_gambar, target=(20,20))
---------------------------------------------------------------------------------------
Penjelasan:
target=(x, y)
Selain mengatur posisi target, kita juga dapat memotong gambar yang ingin ditampilkan (croping):
---------------------------------------------------------------------------------------
img.blit(file_gambar, target=(20,20), source=(20,20,20,20))
---------------------------------------------------------------------------------------
Penjelasan:
source=(PotongGambarKiri, PotongGambarAtas,PotongGambarKanan, PotongGambarBawah)
Pemotongan sebanyak nilai yang dimasukkan (dalam piksel)
Kita juga dapat me-resize gambarnya:
---------------------------------------------------------------------------------------
img.blit(file_gambar, target=(30,30,30,30), scale=1)
---------------------------------------------------------------------------------------
Penjelasan:
Python akan meresize gambar sebesar atau sesuai target yang kita masukkan. Pengaturan posisi target sama dengan source. Misalnya kita ingin meresize ukuran gambar menjadi fullscreen 176x208 (resolusi layar HP saya) maka posish target dirubah menjadi (0,0,176,208). Namun resize gambar ini lumayan berat.
Ada satu pengaturan lagi yaitu "mask" ini digunakan untuk mentransparansi gambar sayang, masking ini hanya support pada s60 2nd fp2 keatas. Maaf, saya belum mencoba masking ini jadi tidak saya bahas.
Itulah penggunaan fungsi blit().
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
053.
"CONTOH PROGRAM GAME GUNTING, BATU, KERTAS"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat game text based "Gunting batu kertas"...
Sebagai contoh penggunaan variabel, dictionary, definisi dan percabangan (else if) pada program game. Ok mari kita mulai:
-Import beberapa module yang akan kita gunakan
---------------------------------------------------------------------------------------
import appuifw, e32, random
---------------------------------------------------------------------------------------
-Mendefinisikan dictionary bernama "pilih" yang berisi tiga pasang key value, yaitu key Gunting yang kita beri value 0, key Batu yang kita beri value 1, key Kertas yang kita beri value 2
---------------------------------------------------------------------------------------
pilih = {"Gunting": 0, "Batu": 1, "Kertas": 2}
---------------------------------------------------------------------------------------
-Membuat variabel yang kita kasih nama "Pemain". Nantinya variabel ini akan kita gunakan untuk mendefinisikan nilai yang dipilih player atau pemain nilainya diambil dari dictionary (0, 1, atau 2). Saat ini variabel ini kita buat tidak terdefinisi (None).
---------------------------------------------------------------------------------------
Pemain=None
---------------------------------------------------------------------------------------
-Kita buat variabel lagi yang kita kasih nama "Musuh". Nantinya variabel ini akan kita gunakan untuk mendefinisikan nilai yang dipilih cpu atau musuh nilainya kita acak (0, 1, atau 2). Saat ini variabel ini kita buat tidak terdefinisi (None).
---------------------------------------------------------------------------------------
Musuh=None
---------------------------------------------------------------------------------------
-Membuat variabel kosong yang kita kasih nama "konf" (konfirmasi) yang akan dipakai untuk menyimpan konfirmasi "menang", "kalah", atau "seimbang".
---------------------------------------------------------------------------------------
konf=None
---------------------------------------------------------------------------------------
-Mendefinisikan fungsi yang kita berinama "gameplay" sebagai otak game untuk membandingkan apa yang dipilih pemain dengan apa yang dipilh musuh (random) dan menentukan siapa yang menang.
-Untuk memanggil fungsi gameplay diatas kita buat tiga fungsi, masing2 memberi nilai berbeda kepada gameplay yaitu 0 (Gunting), 1 (Batu), 2 (Kertas).
-Agar player dapat meng-input apa yang dipilih kita membutuhkan fungsi untuk menerima data dari player. Pada game sebenarnya menggunakan tombol navigasi dan keypad, namun pada program ini kita memakai menu dari module appuifw.
---------------------------------------------------------------------------------------
appuifw.app.menu=[(u"Pilih gunting", memilihGunting),(u"Pilih batu", memilihBatu),(u"Pilih kertas", memilihKertas)]
---------------------------------------------------------------------------------------
-Membuat fungsi penutupan aplikasi dan menunggu tombol exit ditekan dengan module appuifw dan e32
---------------------------------------------------------------------------------------
def quit():
>>script_lock.signal()
appuifw.app.exit_key_handler=quit
script_lock=e32.Ao_lock()
script_lock.wait()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
054.
"SEDIKIT PENJELASAN IDENTASI PADA PYTHON"
Dear...
ANGELman & ANGELwoman,
Saya mau share sedikit identasi pada python atau pada script pys60...
Dalam pemrograman kita sering mengelompokkan beberapa kode dengan tujuan agar lebih mudah dibaca. Atau terkadang kode memang harus dibuat dalam blok-blok statement agar dapat berjalan, misalnya kita membuat sekumpulan kode yang akan berjalan ketika suatu event terjadi.
Blok-blok statement pada Pyhon ditandai dengan jumlah spasi pada awal kode pada setiap baris, perhatikan contoh berikut ini:
Penjelasan:
kode X=2 adalah sebuah statement, kode Y=2 juga merupakan sebuah statement. Setiap statement pada python dipisahkan dengan ganti baris.
kode if X == Y: merupakan awal sebuah blok statement (kita sebut saja blok statement pertama), sedangkan kode print"Tubrukan terdeteksi" adalah statement blok pertama tersebut (ditandai dengan memberi spasi pada awal baris, ane gunakan 2 spasi).
Sedangkan kode else: merupakan awal sebuah blok statement kedua dan print "Tidak terjadi tubrukan" adalah statement blok kedua.
Berikut ilustrasi yang menjelaskan penggunaan blok statement dalam psoudo code:
Contoh kedua:
Berikut ilustrasi contoh penulisan kode yang salah:
Sebuah statement juga dapat dipotong2 menjadi beberapa baris dengan menggunakan tanda "\" berikut contohnya:
---------------------------------------------------------------------------------------
print "Sudah adzan\
saatnya sholat"
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
055.
"HEAT SEEKING MISSILE ALOGARITMA dan IMPLEMENTASI"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang cara membuat game pesawat tempur atau perang bintang...
Pasti anda pernah main game SHMUP seperti Sky Force buatan Infinity Dream atau game combat flight simulation seperti Galaxy On Fire buatan Fishlabs. Dalam game terdapat misil yang dapat mengejar target. Saya akan jelaskan dasar algoritma dan implementasi fisika gerakan misil tersebut.
Algoritmanya sederhana, pertama hitung angle (sudut arah rotasi) antara misil dan target. Lalu bandingkan dengan angle misil. Jika hasilnya lebih besar dari nol, putar misil kekanan. Jika lebih kecil dari nol, putar misil kekiri.
Dan seperti biasa, implementasinya tidak sesederhana algoritmanya biggrin tapi tidak terlalu sulit kok. Kita pakai operasi trigonometri dan vektor.
Dimulai dari menghitung radian angle antara misil dan target. Rumusnya "angle = -atan(deltaX atau deltaY)" tapi butuh beberapa normalisasi agar berkerja dengan benar, saya jelaskan dibawah.
Heat seeking missile
-Hitung delta antara misil dan target
---------------------------------------------------------------------------------------
>>deltaX = missileX - targetX
>>deltaY = missileY - targetY
---------------------------------------------------------------------------------------
Heat seeking missile
-Gunakan delta untuk menghitung radian angle
---------------------------------------------------------------------------------------
>>angleToTarget = -atan(deltaX/deltaY)
---------------------------------------------------------------------------------------
Kode diatas memiliki masalah. Jika targetY sejajar dengan missileY, tidak bisa membedakan apakah target berada disebelah kanan misil (90 derajat) atau dikiri (180 derajat). Dan output angle hanya dalam 180 derajat saja tidak full 360 derajat. Tenang, cukup menggunakan percabangan if else untuk menyelesaikannya.
---------------------------------------------------------------------------------------
>>deltaX = missileX - targetX
>>deltaY = missileY - targetY
>>if deltaY == 0:
>>>if deltaX<0:
>>>>angleToTarget = 1.57
>>else: >>>>angleToTarget = -1.57
>>else:
>>>angleToTarget = -atan(deltaX/deltaY)
>>>if dy<0:
>>>>angleToTarget += 3.14
>>if angleToTarget<0:
>>>angleToTarget += 6.28
---------------------------------------------------------------------------------------
Selanjutnya menghitung selisih angleToFace dengan angleMissile untuk memenentukan apakah misil harus diputar kekanan, kekiri atau tidak diputar karena sudah mengarah ke target.
Heat seeking missile
-Hitung sinus dan cosinus
---------------------------------------------------------------------------------------
>>missileSin = sin(missileAngle)
>>missileCos = cos(missileAngle)
>>toTargetSin = sin(angleToTarget)
>>toTargetCos = cos(angleToTarget)
---------------------------------------------------------------------------------------
-Hitung selisih angle menggunakan dot product
---------------------------------------------------------------------------------------
>>selisih = (missileSin*toTargetSin) + (missileCos*toTargetCos)
---------------------------------------------------------------------------------------
-Mmemutar missile
---------------------------------------------------------------------------------------
>>if selisih<0:
>>>missileAngle += missileRotSpd
>>elif selisih>0:
>>>missileAngle -= missileRotSpd
---------------------------------------------------------------------------------------
Selesai, jika dalam ruang 3d dapat menggunakan cara yang sama denga dua kali rotasi pada poros x dan poros y.
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
056.
"MEMBUAT KUIS DENGAN PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat kuis dengan pys60...
Ini contoh scriptnya,
---------------------------------------------------------------------------------------
from appuifw import *
jawaban=['Y']
pertanyaan=query(u'kamu suka makan?','text',u'jawab dg Y atau T' )
if jawaban.__contains__(pertanyaan )==1: note(u'weleh.. weleh.. kamu suka makan..','conf' )
else: note(u'gak suka makan ya..','error' )
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
057.
"MEMBACA PESAN DENGAN PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script yang dapat membaca pesan masuk...
Saya pernah membaca sebuah tutorial menggunakan modul inbox untuk membaca pesan masuk pertama.
Kurang lebih tutorialnya seperti ini:
---------------------------------------------------------------------------------------
>>>>import inbox
>>>>ib=inbox.Inbox(inbox.EInbox)
>>>>ib.content(ib.sms_messages()[0])
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
058.
"BEBERAPA GAYA PENULISAN SCRIPT PYTHON"
Dear...
ANGELman & ANGELwoman,
Saya mau share gaya penulisan dalam sebuah script...
Ada beberapa cara penulisan script python.
Antara lain:
01.
import appuifw
import graphics
02.
import appuifw,graphics
03.
from appuifw import*
from graphics import*
04.
import appuifw;import graphics
05.
from appuifw import*;from graphics import*
06.
import appuifw as a
import graphics as g
07.
import appuifw as a;import graphics as g
Fungsi sintax diatas adalah sama, yaitu mengimport modul appuifw dan graphics.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
059.
"MENAMPILKAN IP DENGAN PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk menampilkan sebuah ip...
Ternyata bisa juga menampilkan ip saat kita terkoneksi dengan internet dengan beberapa baris code saja.
Ini dia codenya:
---------------------------------------------------------------------------------------
import socket
n=socket.select_access_point()
j=socket.access_point(n)
j.start()
ip=j.ip()
print ip
j.stop()
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
060.
"MODUL TXTFIELD"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script yang fungsinya seperti nulis teks dibar address url...
Contoh penggunaanya, kayak gini
---------------------------------------------------------------------------------------
import txtfield
t1 = txtfield.New( (10,10,100,40) , (txtfield.ENoLineBreaks )
t1.focus(1)
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
061
"PERULANGAN FOR DALAM PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share script untuk perulangan sebuah teks...
Kita coba dulu dengan yang ini:
---------------------------------------------------------------------------------------
x=5
for i in range(x):
>>print unicode('tes' )
---------------------------------------------------------------------------------------
hasilnya:
tes
tes
tes
tes
tes
kesimpulannya:
i disini akan mencetak kata 'tes' sejumlah value 'x'.
Atau
mengeprint 'tes' sebanyak 'x' kali.
Dan ini contoh penerapannya di script,
---------------------------------------------------------------------------------------
from appuifw import*
from e32 import*
l=Ao_lock()
t=Text()
def quit():
>>l.signal()
font=available_fonts()
for i in range(len(font)):
>>t.font=font
>>t.color=0
>>t.add(unicode(str(font)+': abc 123\n' ))
app.screen='full'
app.body=t
app.exit_key_handler=quit
l.wait()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
062.
"POPUP MENU GANDA DENGAN PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script popup menu ganda...
---------------------------------------------------------------------------------------
from appuifw import*
a=[( u'satu satu' ),( u'satu dua' ),( u'satu tiga' )]
b=[( u'dua satu' ),( u'dua dua' )]
list_sub=[a,b]
menu=[( u'satu' ),( u'dua' )]
p=popup_menu( menu,u'pilih' )
q=popup_menu( list_sub[p],u'masuk_sub '+str( p+1 ))
print u'pilihan pertama: '+str( p+1 )+u'\npilihan ke dua: '+str( q+1 )
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
063.
"MENGECEK dan MEMBUAT FOLDER DENGAN PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk mengecek ada atau nggak ada folder di HP kita dengan module os. Dan module appuifw untuk pemberitahuannya.
Langsung saja, berikut adalah kodenya..
---------------------------------------------------------------------------------------
import appuifw,os
folder=unicode( "e:\\NamaFolder" )
if os.path.exists(folder):
>>appuifw.note( unicode( ""+str(folder)+" ada" ))
>>if appuifw.query( unicode( "hapus "+str(folder) ), "query" )== True:
>>>>os.removedirs( folder )
>>>>appuifw.note( unicode( ""+str(folder)+" selesai dihapus" ))
>>else:
>>>>appuifw.note( unicode( ""+str(folder)+" tidak dihapus" ))
>>else:
>>appuifw.note( unicode( ""+str(folder)+" tidak ada" ))
>>if appuifw.query( unicode( "buat "+str(folder) ), "query" )== True:
>>>>os.makedirs( folder )
>>>>appuifw.note( unicode( ""+str(folder)+" selesai dibuat" ))
>>else:
>>>>appuifw.note( unicode( "membuat "+str(folder)+" dibatalkan" ))
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
064.
"SALAH SATU PERBEDAAN SYNTAK S60v1 dan S60v2 DIATASNYA"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang perbedaan script untuk import gambar antara s60v1 dan s60v2...
Mungkin teman-teman sudah tahu, bahwa s60v1 dan s60v2 keatas mempunyai cara yang berbeda dalam menampilkan gambar.
Perbedaan ini menjadi salah satu yang menyebabkan aplikasi s60v2 keatas tidak dapat dibuka di s60v1.
Berikut perbedaannya:
s60v2 keatas:
---------------------------------------------------------------------------------------
import graphics
file=u'e:\\nama_file.jpg'
im=graphics.Image.new(( 176,208 ))
gambar=graphics.Image.open(file)
im.blit(gambar, target=(0,0))
---------------------------------------------------------------------------------------
s60v1:
---------------------------------------------------------------------------------------
import graphics,image1st
file=u'e:\\nama_file.jpg'
im=graphics.Image.new(( 176,208 ))
bm=graphics.Image.from_cfbsbitmap
img=image1st.convertimage
gambar=bm( img( file ))
im.blit(gambar, target= ( 0,0 ))
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
065.
"ROTASI POLYGON DENGAN PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara rotasi pada gambar tradisional...
Menurut sumbernya saya mendapatkan rumus ini:
---------------------------------------------------------------------------------------
rad=(angle/180.0)*pi
rot_x=cos(rad)*pos_x-sin(rad)*pos_y
rot_y=sin(rad)*pos_x+cos(rad)*pos
---------------------------------------------------------------------------------------
Contoh script di pys60
---------------------------------------------------------------------------------------
import e32,appuifw,math,graphics,sysinfo
def exit_handler():
>>>global run;run=0
canvas=appuifw.Canvas()
appuifw.app.body=canvas
appuifw.app.screen='full'
appuifw.app.exit_key_handler=exit_handler
layar=sysinfo.display_pixels()
im=graphics.Image.new(layar)
run=1
pos_x,pos_y,angle=0,0,1.0
panah=[(x-16,y),(x,y-20),(x+16,y),(x+4,y),(x+4,y+10),(x-4,y+10),(x-4,y)]
camx,camy=layar[0]/2,layar[1]/2
while run:
>>>gb=[]
>>>rad=float(angle/180.0)*math.pi
>>>angle+=10
>>>if angle>360: angle=0
>>>for pos in panah:
>>>x,y=pos
>>>rx=math.cos(rad)*x-math.sin(rad)*y
>>>ry=math.sin(rad)*x+math.cos(rad)*y
>>>rx+=camx
>>>ry+=camy
>>>gb.append((rx,ry))
>>>im.clear(0)
>>>im.polygon(gb,0xdadada,fill=0x00ff00)
>>>canvas.blit(im)
>>>e32.ao_sleep(0)
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
066.
"SCAN ISI DRIVE DENGAN PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk scanning isi drive di HP kita menggunakan pys60...
Ini baris codenya...
---------------------------------------------------------------------------------------
from appuifw import*;import os,e32
f=e32.drive_list()
def scan(x):
>>if os.path.isdir(x):
>>>>for i in os.listdir(x):
>>>>>>if os.path.isdir(x+i):
>>>>>>>>i=i+os.sep
>>>>>>print x+i
>>>>>>scan(x+i)
p=popup_menu(f,unicode( 'pilih drive' ))
if p!=None: scan( f[p]+os.sep )
else: print unicode( 'scan dibatalkan' )
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
067.
"MENGGABUNGKAN FUNGSI DENGAN PROGRESS PADA PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk menggabungkan module progress dengan fungsi, gunanya, buat mengetahui sampai mana fungsi yang sudah diproses...
Ini contoh scripnya,
---------------------------------------------------------------------------------------
import progress
teks=['proses ke 1','proses ke 2','proses ke 3','proses ke 4','proses ke 5','proses ke 6','proses ke 7','proses ke 8','proses ke 9','proses ke 10']
pb=progress.TWProgressBar(start=0,end=100,fill=(0,0,0),outline=(100,255,0),display=(176,100),title=unicode( ' ' ))
def t1():
>>>print u'tes1'
def t2():
>>>print u'tes2'
def t3():
>>>print u'tes3'
def t4():
>>>print u'tes4'
def t5():
>>>print u'tes5'
def t6():
>>>print u'tes6'
def t7():
>>>print u'tes7'
def t8():
>>>print u'tes8'
def t9():
>>>print u'tes9'
def t10():
>>>print u'tes10'
tugas=[t1,t2,t3,t4,t5,t6,t7,t8,t9,t10]
for i in range(len(tugas)):
>>>tugas[ i ]()
>>>pb=progress.TWProgressBar(start=0,end=100,fill=(0,0,0),outline=(100,255,0),display=(176,100),title=unicode(''+str(teks[ i ])))
>>>pb.set_value((i+1)*10)
pb.close()
---------------------------------------------------------------------------------------
Intinya, kita masukkan fungsi kedalam list, lalu kita jalankan fungsi setelah sebelumnya kita loop , kemudian value pada progress kita set loop listnya.
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
068.
"SCRIPT PYS60 BERKODE"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script, dimana jika dalam waktu tertentu script tersebut akan meminta kode dari pemilik handphone...
Jika kode yang ditulis tidak sama dengan kunci kodenya, maka script akan tertutup.
Kita import module yang diperlukan.
---------------------------------------------------------------------------------------
import appuifw,graphics,e32,sysinfo,time
def quit():
>>global run
>>run=0
ap=appuifw.app
ap.screen='full'
ap.body=c=appuifw.Canvas()
ap.exit_key_handler=quit
im=graphics.Image.new(( 176,208 ))
def unlock():
>>imei=sysinfo.imei()
>>return imei[:-2]
timer=10
def password():
>>cd=appuifw.query( u'masukkan kode','code' )
>>if cd !=unlock(): quit()
>>else: pass
run=1
while run:
>>im.clear(0)
>>im.text((0,10),u'timer: '+str(time.localtime()[5]),0xdadada)
>>im.text((0,30),u'kode yang harus dimasukkan: '+str(unlock()),0xdadada)
>>if time.localtime()[5]==timer:
>>>>password()
>>c.blit(im)
>>e32.ao_sleep(0)
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
069.
"MENAMPILKAN SEMUA ICON APLIKASI YANG TERINSTALL DENGAN PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share module geticon buat nampilin icon aplikasi...
Ini contoh scriptnya,
---------------------------------------------------------------------------------------
import appuifw,graphics,e32,geticon,os
run=1
def quit():
>>global run
>>run=0
appuifw.app.exit_key_handler=quit
appuifw.app.screen='full'
c=appuifw.Canvas()
appuifw.app.body=c
im=graphics.Image.new( (0,0) )
im_mask=graphics.Image.new( (0,0) , 'L' )
uid=[]
nama_app=[]
folder=u'e:\\system\\apps\\'
list_folder=os.listdir(folder)
def intip( x ):
>>x=(((x[3:4]+x[2:3])+x[1:2])+x[0:1])
>>x=x.encode( 'hex' )
>>return x
def uidnya(file):
>>f=open(file)
>>uid1=f.read(4)
>>uid2=f.read(4)
>>uid3=f.read(4)
>>f.close()
>>uidr1=intip(uid1)
>>uidr2=intip(uid2)
>>uidr3=intip(uid3)
>>return uidr3
def cek():
>>for i in list_folder:
>>>>for app in os.listdir( folder+i+os.sep ):
>>>>>>if app.endswith( u'.app' ):
>>>>>>>>uid.append( '0x'+uidnya(folder+i+os.sep+app) )
>>>>>>>>nama_app.append(app)
cek()
timer=0
y=0
while run:
>>if timer<=0:
>>>>timer=1
>>>>y-=29
>>if timer>0: timer-=1
>>if (len(uid)*29)+y<=0: y=0
>>c.clear()
>>for i in range( len(uid) ):
>>>>geticon.get(eval( uid[ i ]),im,im_mask)
>>>>c.text((80,50),u'timer: '+str((len(uid)*29)+y),0x0)
>>>>c.blit(im,target=(10,y+(i*29)))
>>e32.ao_sleep(0.3)
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
070.
"MEMBUAT KURSOR 4 ARAH PADA APLIKASI DENGAN PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk membuat menu aplikasi dengan kursor yang dapat digerakkan 4 arah, dengan menekan tombol 2,4,6,8. Dan tombol 5 untuk memilihnya...
Sebelumnya, siapakan dulu gambar di e:\\ dengan nama gb.Jpg. Gambar tersebut akan diresize menurut ukuran layar HP pengguna. Ada module key yang saya import untuk menghandle tombolnya, kalau gak punya module key, bisa diganti dengan class keyboard di snake.py.
---------------------------------------------------------------------------------------
import appuifw,graphics,e32,sysinfo
try: import key
except: appuifw.note( u'module key belum ada' )
run=1
def quit(): global run;run=0
appuifw.app.screen='full'
appuifw.app.exit_key_handler=quit
c=appuifw.Canvas(event_callback=key.press.handle_event)
appuifw.app.body=c
layar=sysinfo.display_pixels()
im=graphics.Image.new(layar)
lebar=layar[0]/3.0
tinggi=layar[1]/3.0
try: gambar=graphics.Image.open( u'e:\\gb.jpg' ).resize(( lebar,tinggi ))
except:
>>>appuifw.note( u'siapkan gambar di e:\\ dulu' )
>>>quit()
pos_x=range(0,layar[0],lebar)
pos_y=range(0,layar[1],tinggi)
kursor_x,kursor_y=0,0
pos_x_kursor,pos_y_kursor=0,0
menu=[[ 'satu', 'dua', 'tiga' ], [ 'empat', 'lima', 'enam' ], [ 'tujuh', 'delapan', 'sembilan' ]]
while run:
>>>im.clear( 0 )
>>>for i in range( len( pos_x )):
>> for j in range( len( pos_y )):
>> im.blit(gambar,target= (pos_x[ i ],pos_y[ j ] ))
>>>if kursor_x > len( pos_x )-2:
>>>kursor_x = 0
>>>kursor_y += 1
>>>if kursor_y > len( pos_y )-2:
>>>kursor_y = 0
>>>if kursor_x < 0:
>>>kursor_x = len( pos_x )-2
>>>kursor_y -= 1
>>>if kursor_y < 0:
>>>kursor_y = len( pos_y )-2
>>>if kursor_y > len( pos_y )-2:
>>>kursor_y = 0
>>>kursor_x += 1
>>>if kursor_x > len( pos_x )-2:
>>>kursor_x = 0
>>>if kursor_y < 0:
>>>kursor_y = len( pos_y )-2
>>>kursor_x -= 1
>>>if kursor_x < 0:
>>>kursor_x = len( pos_x )-2
>>>im.rectangle(( pos_x_kursor+( kursor_x*( lebar-1 )),pos_y_kursor+( kursor_y*( tinggi-1 )), pos_x_kursor+lebar+( kursor_x*( lebar-1 )), pos_y_kursor+tinggi+( kursor_y*(tinggi-1 ))), 0xff0000)
>>>if key.press.is_down( key.EScancode5 ):
>>>im.rectangle(( 15,25,120,35 ),0x0, 0xda00d0)
>>>im.text(( 20,35 ),u'menu ke: '+str( menu[ kursor_y ][ kursor_x ]),0xffffff,font=u'latinbold12' )
>>>if key.press.pressed( key.EScancode6 ):
>>>kursor_x += 1
>>>if key.press.pressed( key.EScancode4 ):
>>>kursor_x -= 1
>>>if key.press.pressed( key.EScancode2 ):
>>>kursor_y -= 1
>>>if key.press.pressed( key.EScancode8 ):
>>>kursor_y += 1
>>>c.blit(im)
>>>e32.ao_yield()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
071.
"MEMBUAT JAM ANALOG DENGAN PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat jam analog menggunakan pys60...
Pertama, kita tentukan jam sekarang dengan module time. Lengkapnya
---------------------------------------------------------------------------------------
import time
data=time.localtime()
---------------------------------------------------------------------------------------
Sekarang data sudah berisi tuple localtime, yang pertama adalah tahun, bulan, tanggal, jam, menit, detik.
Berikutnya, jika kita lihat jarum jam selalu muter kan? Buat memuterkan gambar, kita pakai cosinus, sinus, radian yang berasal dari fungsi module math.. Lengkapnya..
---------------------------------------------------------------------------------------
Import math
x,y=0,0
sudut=0
jarak=10
rad=(float(sudut)*math.pi)/180
cos=math.cos
sin=math.sin
muter_x=cos(rad)*jarak-sin(rad)*jarak
muter_y=sin(rad)*jarak+cos(rad)*jarak
---------------------------------------------------------------------------------------
Biasanya jarum detik itu bertambah 1, jika sudah mencapai 60, kembali ke 0 lagi.
Jadi, kita pakai
---------------------------------------------------------------------------------------
rad_detik = (detik_sekarang/jumlah 1 putaran)*360 derajat
---------------------------------------------------------------------------------------
Begitu juga dengan jarum menit dan jarum jam.
Nanti kita tinggal menghubungkan titik pusat dengan koordinat koordinat jarum jam tadi sehingga menjadi garis.
Biar selalu diupdate, proses kita masukkan didalam identasi 'while' ..
Berikut ini scriptnya
---------------------------------------------------------------------------------------
import appuifw,graphics,e32,sysinfo,time,math
run=1
def quit():
>>global run
>>run=0
appuifw.app.exit_key_handler=quit
appuifw.app.screen='full'
c=appuifw.Canvas()
appuifw.app.body=c
layar=sysinfo.display_pixels()
im=graphics.Image.new(layar)
x,y=layar[0]/2,layar[1]/2
detik=0
menit=0
jam=0
jdetik=layar[0]/4
jmenit=jdetik-5
jjam=jmenit-5
def radian(sudut):
>>return (float(sudut)*math.pi)/180.0
while run:
>>cos=math.cos
>>sin=math.sin
>>data=time.localtime()
>>detik=235+(data[5]*6)
>>menit=235+(data[4]*6)
>>jam=235+(data[3]*30)
>>rad_detik=radian(detik)
>>rad_menit=radian(menit)
>>rad_jam=radian(jam)
>>xdetik=cos(rad_detik)*jdetik-sin(rad_detik)*jdetik
>>ydetik=sin(rad_detik)*jdetik+cos(rad_detik)*jdetik
>>xmenit=cos(rad_menit)*jmenit-sin(rad_menit)*jmenit
>>ymenit=sin(rad_menit)*jmenit+cos(rad_menit)*jmenit
>>xjam=cos(rad_jam)*jjam-sin(rad_jam)*jjam
>>yjam=sin(rad_jam)*jjam+cos(rad_jam)*jjam
>>im.clear(0)
>>im.line((x,y,x+xdetik,y+ydetik),0xdd0000)
>>im.line((x,y,x+xmenit,y+ymenit),0xddd000)
>>im.line((x,y,x+xjam,y+yjam),0xddd000)
>>for i in range(225,585,30):
>>>>l=jdetik+5
>>>>rr=(float(i)*math.pi)/180
>>>>xr=cos(rr)*l-sin(rr)*l
>>>>yr=sin(rr)*l+cos(rr)*l
>>>>im.point((x+xr,y+yr),(255,255,255),width=2)
>>c.blit(im)
>>e32.ao_yield()
---------------------------------------------------------------------------------------
Penambahan 240 dan range(225,585,30) hanya akal-akalan saya saja biar jarumnya pas.
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
072.
"INDIKATOR SINYAL, BATERAI DENGAN FGIMAGE (PYS60)"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara menampilkan indikator battery menggunakan pys60...
Biar indikator jalan terus, maka kita pakai 'while' agar prosesnya biar update terus. Disini saya menggabunkan sysinfo dengan fgimage agar bisa ditampilkan dengan cara diminimize.
---------------------------------------------------------------------------------------
import fgimage,appswitch,sysinfo,appuifw,graphics,e32
fg=0
def quit():
>>global run,runn,fg
>>run,runn,fg=0,0,0
def fokus(on):
>>global fg,run
>>if not on:
>>>>fg=fgimage.FGImage()
>>>>run=2
>>else:
>>>>fg=0
>>>>run=1
def menu_app():
>>gul=appswitch.application_list(0)[0]
>>appswitch.switch_to_bg(gul)
layar=sysinfo.display_pixels()
lebar,tinggi=176,15
posx,posy=0,29
menu=[(unicode( 'exit' ),quit)]
appuifw.app.screen='full'
appuifw.app.exit_key_handler=menu_app
appuifw.app.body=c=appuifw.Canvas()
appuifw.app.focus=fokus
appuifw.app.menu=menu
im=graphics.Image.new((lebar,tinggi))
img=graphics.Image.new(layar)
run,runn=1,1
class monitor:
>>def draw(self):
>>>>sin=(float(sysinfo.signal())/7)*100
>>>>sn=round(sin,1)
>>>>bat=(float(sysinfo.battery())/7)*100
>>>>bt=round(bat,1)
>>>>im.clear(0xaa550f)
>>>>im.text((90,12),unicode('baterai '+str(bt)+' %' ),0xfafafa,u'latinplain12' )
>>>>im.text((5,12),unicode('sinyal '+str(sn)+' %' ) ,0xfafafa,u'latinplain12' )
>>>>fg.set(posx,posy,im._bitmapapi( ))
teks=['','','http://gumalgamul.mywapblog.com','','','tool for show signal and battery','','','minimize for show']
def tulis(lis):
>>for i in range(len(lis)):
>>>>img.text((3,10+(i*12)),unicode(''+lis),(200,200,200),u'latinplain12' )
gulam=monitor()
while runn:
>>while run==1:
>>>>img.clear(0)
>>>>tulis(teks)
>>>>img.text((5,200 ),u'exit',0xfafafa)
>>>>img.text((130,200),u'minimize',0xfafafa)
>>>>c.blit(img)
>>>>e32.ao_sleep(0)
>>while run==2:
>>>>gulam.draw()
>>>>e32.ao_sleep(0)
>>e32.ao_yield()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
073.
"SET FGIMAGE PADA STANDBY PYS60"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara menampilkan fgimage dimenu standby saja...
Pertama:
-mendeteksi bahwa aplikasi apa yang sekarang sedang berjalan.
-jika aplikasi == standby atau phone.app kita atur posisi 'fgimage' ke koordinat x dan y
-jika aplikasi != standby atau phone.app 'fgimage' kita kasih trik sedikit yaitu set posisi ke koordinat -x,-y biar gak kelihatan.
Lalu, bagaimana kita mendeteksi bahwa sekarang 'stand by' atau 'phone.app' sedang berjalan?
Kita pakai fungsi dari module appswitch aja, yaitu appswitch.application_list untuk mendeteksinya, dan diproses berulang ulang. Caranya,
---------------------------------------------------------------------------------------
While proses:
>>now=appswitch.application_list(0)[0]
>>if now==u'Phone': fgimage set ke koordinat x,y
>>elif now==u'Menu': fgimage set ke koordinat x,y cadangan
>>else: fgimage set ke koordinat -x,-y
---------------------------------------------------------------------------------------
Berikut penerapannya dalam script pys60
---------------------------------------------------------------------------------------
import appuifw,graphics,e32,fgimage,appswitch,globalui
run=1
def quit():global run;run=0;fg.unset()
appuifw.app.screen='full'
appuifw.app.exit_key_handler=quit
appuifw.app.body=c=appuifw.Canvas()
im=graphics.Image.new((176,40))
fg=fgimage.FGImage()
x,y=0,0
posx,posy=0,10
while run:
>>posx+=2
>>if posx>176: posx=0
>>now=appswitch.application_list(0)[0]
>>if now==u'Phone':
>>>>x,y=0,0
>>>>im.clear( 0 )
>>>>im.text((posx,posy),u'fg tampil',0xdadada)
>>elif now==u'Menu':
>>>>x,y=0,160
>>>>im.clear( 0 )
>>>>im.text((posx,posy),u'minimize sekarang',0xdadada)
>>else: x,y=-10,-160
>>fg.set(x,y,im._bitmapapi())
>>e32.ao_yield()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
074.
"SCREESHOT DENGAN N-GAGE atau S60v1 (PYS60)"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara menscreenshot menggunakan tombol edit atau pensil...
Script python dibawah ini bisa mengambil screenshot dengan cara menekan tombol edit atau pensil.
Caranya? Run script, lalu tekan tombol menu untuk meminimalise aplikasi.. Tekan tombol edit atau pensil dibagian mana sobat ingin mengambil screenshotnya. Hasil gambar tersimpan di folder e:\\di sini ,dengan nama ss.jpg
---------------------------------------------------------------------------------------
import appuifw,time,graphics,image1st2,keycapture,globalui
l=graphics.e32.Ao_lock()
def quit():capt.stop();l.signal()
def shot(on):nama=u'e:\\ss';ext=str(time.localtime()[3:6])+'.jpg';s=graphics.screenshot();image1st2.save(s,nama+ext);globalui.global_note( nama+ext+' tersimpan ' )
capt=keycapture.KeyCapturer(shot)
capt.keys=(63499,63499)
capt.start()
appuifw.app.exit_key_handler=quit
l.wait()
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
075.
"MEMBUAT GRAFIK (SCRIPT PYS60)"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara menampilkan nilai menggunakan grafik...
Selain dengan bar, untuk menampilkan nilai, kita juga bisa menggunakan grafik.
Jadi caranya begini:
1. Kita ambil posisi berdasarkan informasi ukuran layar.
---------------------------------------------------------------------------------------
ly=sysinfo.display_pixels()
---------------------------------------------------------------------------------------
2. Kita buat posisi awal garis akan muncul. Posisi x kita atur layar paling kanan, posi y kita atur tinggi layar/2
---------------------------------------------------------------------------------------
x,y=ly[0],ly[1]/2
---------------------------------------------------------------------------------------
3. Karena grafik yang akan kita buat berupa garis, maka kita buat list dengan isi 4 koordinat awal, kita masukkan saja posisi awal garis yang kita buat tadi.
---------------------------------------------------------------------------------------
pos=[x,y,x,y]
---------------------------------------------------------------------------------------
4. Kita atur timer, jika timer kurang atau sama dengan 0, timer=delay, list pos ditambah 2 koordinat list pos terakhir, dan 2 koordinat baru (koordinat pertama layar paling kanan, koordinat kedua berfungsi sebagai naik turunnya grafik, kita pakai random.choice)
---------------------------------------------------------------------------------------
rand=random.choice(range(10,ly[1]-20,20))
if timer<=0:
>>timer=delay
>>pos.append([pos[-1][2],pos[-1][3],x,rand])
---------------------------------------------------------------------------------------
5. Kemudian, jika timer lebih dari 0, timer dikurangi 1
---------------------------------------------------------------------------------------
if timer>0:
>>timer-=1
---------------------------------------------------------------------------------------
6. Sekarang, kita loop list pos
---------------------------------------------------------------------------------------
for i in range(len(pos)):
---------------------------------------------------------------------------------------
7. Kita atur pergerakannya, masih didalam identasi for, jangan lupa, hapus koordinat yang kurang dari 0 agar script tidak berat, barulah kita gambar .
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
076.
"GET COORDINATE ARROUND CIRCLE (PYS60)"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat koordinat pada lingkaran menggunakan pys60...
Kali ini, kita akan menggabungkan sedikit matematika dengan pys60. Kita akan mencari koordinat koordinat yang ada pada sebuah lingkaran, yang dihasilkan dari sebuah titik pusat lingkaran dan jari jari tertentu.
01. Kita buat dulu titik pusat lingkaran.
02. Kita buat titik lingkaran dengan jari jari.
03. Kita putar titik yang sudah kita buat tadi 360 derajat.
Kumpulan titik-titik itulah koordinatnya. Jadi, kita tinggal memasukkan koordinat-koordinat tersebut kedalam list.
Ini kodenya,
---------------------------------------------------------------------------------------
x,y=80,80
---------------------------------------------------------------------------------------
-Ini sebagai titik pusat lingkaran.
---------------------------------------------------------------------------------------
r=10
---------------------------------------------------------------------------------------
-Ini sebagai jari jari.
-Fungsi konversi ke radian
def radian(angle):return (float(angle)/
---------------------------------------------------------------------------------------
180.0)*math.pi
---------------------------------------------------------------------------------------
-Rumus memutar
-Rad adalah hasil konversi ke radian
---------------------------------------------------------------------------------------
rx=r*math.cos(rad)-r*math.sin(rad)
ry=r*math.sin(rad)+r*math.cos(rad)
---------------------------------------------------------------------------------------
-Satu koordinat titik lingkaran adalah
---------------------------------------------------------------------------------------
[x+rx,y+ry]
---------------------------------------------------------------------------------------
Sekarang tinggal kita gabung dengan range(360) untuk mendapatkan koordinat 1 putaran lingkaran.
Ini kodenya
---------------------------------------------------------------------------------------
import math
pi=math.pi
cos=math.cos
sin=math.sin
def radian(xx):
return (float(xx)/180.0)*pi
def get_circle_coord(x,y,r):
rad=[]
result=[]
sdt=range(360)
for i in xrange(len(sdt)):
rad.append(round(radian(sdt),2))
for oke in xrange(len(rad)):
rx=round(r*cos(rad[oke])-r*sin(rad[oke]),1)
ry=round(r*sin(rad[oke])+r*cos(rad[oke]),1)
result.append([x+rx,y+ry])
return result
---------------------------------------------------------------------------------------
Untuk mencobanya, sekarang kita gambar titik-titik yang sudah kita kumpulkan dalam list tadi, kalau benar, maka titik-titik tadi akan membentuk lingkaran, kalau salah, tidak akan membentuk lingkaran,
Ini kodenya
---------------------------------------------------------------------------------------
import graphics,e32,appuifw,math
from sysinfo import display_pixels as pixels
run=1
def quit():
global run
run=0
ly=pixels()
im=graphics.Image.new(ly)
ap=appuifw.app
ap.screen='full'
ap.exit_key_handler=quit
ap.body=c=appuifw.Canvas()
x,y,j=ly[0]/2,ly[1]/2,20
cos=math.cos
sin=math.sin
pi=math.pi
def radian(xx):
return (float(xx)/180.0)*pi
def get_circle_coord(x,y,r):
rad=[]
result=[]
sdt=range(360)
for i in xrange(len(sdt)):
rad.append(round(radian(sdt),2))
for oke in xrange(len(rad)):
rx=round(r*cos(rad[oke])-r*sin(rad[oke]),1)
ry=round(r*sin(rad[oke])+r*cos(rad[oke]),1)
result.append([x+rx,y+ry])
return result
res=get_circle_coord(x,y,j)
while run:
im.clear(0)
im.point((x,y),0xda0000)
for i in res:im.point(i,0xda)
c.blit(im)
e32.ao_sleep(0)
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
077.
"ADJUST TIMING SUBTITTLE WITH PYTHON"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara mempercepat subtittle pada video...
Misal nih, pola jeda -4, -9, -13, -18, -22, -27, -31, -36, -40, -45
Kita buat 3 var berisi bilangan
start = 0
plus = 11,5
minus = 7
Karena subtitlenya cuma bisa bilangan bulat , maka kita pakai fungsi int()
Ini script dasarnya
---------------------------------------------------------------------------------------
start = 0
plus = 11.5
minus = 7
for i in range(10):
>>start = start + plus
>>start = start - minus
>>print i + int(start)
---------------------------------------------------------------------------------------
Memang sih buat apa ada plus minus, kan bisa aja cuma pakai plus.
Hasil eksperimen sih, kalau bilangan a dan b sama sama bulat, hasilnya memang sama dengan kelipatan. Sama kayak start + plus aja, tapi , jika kita ingin memasukkan bilangan desimal atau float, maka kurang efektif, jadi kita bikin plus sama minus. Begitu..
Dan ini script lengkapnya
---------------------------------------------------------------------------------------
a=0
plus=11.5
minus=7
import time,re
file=file_sub_asal
result=file_sub_hasil
t=open(file).read()
d=re.findall('{(\d*)}{(\d*)}(.*)',t)
res_file=open(result,'w')
for i in d:
>>a=a+plus
>>a=a-minus
>>res_file.write('{%d}{%d}%s\r\n'%(int(i[0])-int(a),int(i[1])-int(a),i[2]))
res_file.close()
print 'ok'
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
078.
"MEMBUAT MENU GRID 3x3 (PYS60)"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat tampilan menu grid menjadi 3x3...
Biasanyakan menu cuma ada 1 kolom menurun, nah.. Kali ini kita belajar bikin yang gak seperti biasanya, yaitu 3x3.
01. Kita buat dulu 9 fungsi. (pakai def menu0 sampai def menu8 aja biar gampang)
02. Kita masukkan 9 fungsi tadi kedalam list, sebut saja list_func_menu. Jadinya kayak gini
---------------------------------------------------------------------------------------
list_func_menu=[menu0,menu1,... menu8]
---------------------------------------------------------------------------------------
03. Kita buat variable name yang berfungsi mengatur posisi posisi x dan y menu dan kursor.
04. Kita buat list didalam list, yang berisi integer urutan list_func_menu, jadinya gini
---------------------------------------------------------------------------------------
menu=[[0,1,2],[3,4,5],[6,7,8]]
---------------------------------------------------------------------------------------
Mengapa? Ya karena kita mau buat 3x3 gridnya. Kalau 4x4 gimana? Ya tinggal buat aja
---------------------------------------------------------------------------------------
menu=[[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]]
---------------------------------------------------------------------------------------
Jadi, intinya jika 3x3 grid, maka kita buat 1 list berisi 3 sub list. Masing2 sub list, berisi 3 bilangan.
05. Kita ingat, list dalam python dimulai dari angka 0.
--angka 0,3,6 adalah angka pertama list mendatar.
---Jadi manggilnya
---------------------------------------------------------------------------------------
menu[0][0], menu[0][1],menu[0][2]
---------------------------------------------------------------------------------------
--sedang angka menurun pertama adalah 0,1,2
---manggilnya
---------------------------------------------------------------------------------------
menu[0][0],menu[1][0],menu[2][0].
---------------------------------------------------------------------------------------
Kita masukkan keperulangan for
---------------------------------------------------------------------------------------
>>for yy in range(len(menu)):
>>>>for xx in range(len(menu[xx])):
---------------------------------------------------------------------------------------
-yy akan menjadi list menurun
-xx akan menjadi list mendatar
Berikutnya, kita buat kotak dengan variable name berisi bilangan bulat 0, sebagai kursor. Misal kx,ky=0,0 Isi kx dan ky bisa 0 atau 1, yang jelas , tidak boleh lebih dari panjang tiap list menu dan sublistnya.
Jika sudah, kita gabungkan dengan fungsi module key kursor atas bawah kiri kanan, untuk menggerakkan kursor,dan tombol select, untuk memilih menu.
-Jika joystik geser kekanan, kursor bergerak kekanan, nilai kx ditambah 1.
-Jika joystik geser kekiri, kursor bergerak kekanan, nilai kx dikurangi 1.
-Jika joystik geser kebawah, kursor bergerak kekanan, nilai ky ditambah 1.
-Jika joystik geser keatas, kursor bergerak kekanan, nilai ky dikurangi 1.
-Jika tombol select dipencet, kita panggil nilai dalam menu, dengan cara menu[py][px], sekarang, kita gabungkan lagi dengan list fungsi yang sudah kita buat,
---------------------------------------------------------------------------------------
list_func_menu[menu[py][px]].
---------------------------------------------------------------------------------------
Untuk mengeksekusi tinggal kasih tanda () diakhir list fungsi yang dipanggil tadi, sehingga menjadi list_func_menu[menu[py][px]]()
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
079.
"MEMBUAT KALKULATOR SEDERHANA"
Dear...
ANGELman & ANGELwoman,
Saya mau share script python sederhana yang berfungsi sebagai kalkulator...
Ini skriptnya
-Import modul yang diperlukan,
---------------------------------------------------------------------------------------
import appuifw
---------------------------------------------------------------------------------------
-Membuat popup query dialog antara user dan python
---------------------------------------------------------------------------------------
a=appuifw.query(u'angka pertama','number'wink
---------------------------------------------------------------------------------------
-Membuat popup perintah
---------------------------------------------------------------------------------------
L=[u'tambah +',u'kurang -',u'kali *',u'bagi /']
b=appuifw.popup_menu(L,u'pilih:'wink
---------------------------------------------------------------------------------------
-Membuat popup query ke 2
---------------------------------------------------------------------------------------
c=appuifw.query(u'angka kedua','number'wink
---------------------------------------------------------------------------------------
-Nah,sekarang buat fungsi kalkulasinya:
---------------------------------------------------------------------------------------
if b==0:
>>print a+c
if b==1:
>>print a-c
if b==2:
>>print a*c
if b==3:
>>print a/c
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
080.
"MEMBUAT TEKS BERJALAN DENGAN BACKGROUND SUARA"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat teks berjalan dengan baground suara...
Nah ini scriptnya:
---------------------------------------------------------------------------------------
import appuifw as fw
import audio as a
import e32 as e
lagu=a.Sound.open('e:\\dds.mp3' ) ; lagu.play()
fw.app.screen='large'
round=fw.Text()
round.style=fw.HIGHLIGHT_ROUNDED
round.color=0xff0000
text=u'Masukan teks kamu disini mastah'
for a in range(len(text ) ) :
>>round.add(text[a])
>>e.ao_sleep(0.2)
e.Ao_lock().wait()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
081.
"MEMBUAT POPUP ALA CEK PULSA"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat popup yang sama persis dengan popup saat cek pulsa kartu 3...
Kalian pasti tau kan itu popup yang tampil kalo kita cek pulsa
Dengan python kita dapat memanipulasinya dengan mudah.
Sekarang kita manipulasi jumlah pulsa,biar temen2 kita bilang 'wow'
Misal cek pulsa kartu 3:
---------------------------------------------------------------------------------------
import globalui
import e32
def start():
>>e32.start_exe('z:\\system\\programs\\apprun.Exe','z:\\system\\apps\\phone\\phone.app'wink
start()
hewan=['Main Menu','Bal: Rp 1.999.000','1. Informasi Pulsa','2. Isi Ulang','3. Program&Promosi','4. Cek Kuota']
ask=globalui.global_msg_query(unicode('\n'.join(hewan)),u'Pesan'wink
if ask==1:
>>for i in hewan:
>>>>print i
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
082.
"MENGIRIM SMS ke BANYAK NOMOR"
Dear...
ANGELman & ANGELwoman,
Saya mau share script python yang fungsinya untuk mengirim pesan kebeberapa nomor sekaligus...
Sebelumnya harus install dulu python,dan aplikasi ipro7 buat nulis dan eksekusiya.
Langsung Saja:
Misal kita mau mengirim sms ke 5 nomer teman kamu,
-Pertama import module yang diperlukan:
---------------------------------------------------------------------------------------
import appuifw
import messaging
---------------------------------------------------------------------------------------
-Menetapkan identitas pribadi kita:
---------------------------------------------------------------------------------------
data=appuifw.query(u"Masukan Nama Kamu","text"wink
---------------------------------------------------------------------------------------
-Menetapkan nomer yang akan kita kirimi sms
---------------------------------------------------------------------------------------
nomor1="0812xxx"
nomor2="0813xxx"
nomor3="0821xxx"
nomor4="0852xxx"
nomor5="0853xxx"
---------------------------------------------------------------------------------------
-Menetapkan isi sms:
---------------------------------------------------------------------------------------
txt=">Isi teks kamu disini,< Dari:"+data
---------------------------------------------------------------------------------------
-Menetapkan system pengiriman:
---------------------------------------------------------------------------------------
if appuifw.query(u"Kirim Pesan Ke Nomor 5 Teman Kamu","query"wink==True:
messaging.sms_send(nomor1,txt)
messaging.sms_send(nomor2,txt)
messaging.sms_send(nomor3,txt)
messaging.sms_send(nomor4,txt)
messaging.sms_send(nomor5,txt)
---------------------------------------------------------------------------------------
-Membuat notifikasi jika sms sukses:
---------------------------------------------------------------------------------------
appuifw.note(u'Pesan Telah Dikirim','info'wink
---------------------------------------------------------------------------------------
-Membuat notifikasi jika sms gagal:
---------------------------------------------------------------------------------------
else:
appuifw.note(u'Pesan Gagal Dikirim','info'wink
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
083.
"FUNGSI MODUL APPUIFW"
Dear...
ANGELman & ANGELwoman,
Saya mau share tentang fungsi modul appuifw dan contohnya...
Modul berguna untuk membentuk body atau user interface aplikasi
-import appuifw berguna untuk memanggil modul.
---------------------------------------------------------------------------------------
import appuifw
def ru(x):
>>>>return unicode(x, "utf8")
text_1 = "Tulis teks yang ingin ditunjukan. . !"
---------------------------------------------------------------------------------------
-Fungsi pertama
Note:
Digunakan untuk memberi peringatan.
---------------------------------------------------------------------------------------
print "Fungsi 1\n\n"
appuifw.note(ru(text_1), "info")
appuifw.note(ru(text_1), "conf")
appuifw.note(ru(text_1), "error")
---------------------------------------------------------------------------------------
-Fungsi Kedua
Query: digunakan untuk bertanya
---------------------------------------------------------------------------------------
print "Fungsi 2\n\n"
text_2 = "Tulis pertanyaan disini:"
appuifw.query(ru(text_2), "query")
appuifw.query(ru(text_2), "text")
appuifw.query(ru(text_2), "code")
appuifw.query(ru(text_2), "number")
appuifw.query(ru(text_2), "time")
appuifw.query(ru(text_2), "date")
appuifw.query(ru(text_2), "float")
---------------------------------------------------------------------------------------
-Kita dapat mengabungkan fungsi-fungsi diatas
Contoh dibawah ini adalah contoh untuk mendengar suara audio.say
---------------------------------------------------------------------------------------
print "Fungsi 3\n\n"
---------------------------------------------------------------------------------------
-import audio berguna untuk memanggil modul audio
---------------------------------------------------------------------------------------
katakan = appuifw.query(ru("Katakan Apa:"), "text")
if not katakan == None:
>>>>tanyakan = appuifw.query(ru("Apakah anda ingin dengar apa yang dikatakan?"), "query")
>>>>if tanyakan == True:
>>>>>>>>audio.say(katakan)
>>>>>>>>appuifw.note(katakan, "info")
>>>>else:
>>>>>>>>appuifw.note(katakan, "error")
print "Selesai"
---------------------------------------------------------------------------------------
-import messaging berguna untuk memanggil modul pengirim sms
-Jumlah sms yang ingin dikirim
---------------------------------------------------------------------------------------
sms_amount = 5
---------------------------------------------------------------------------------------
-Sebagai penghitung
---------------------------------------------------------------------------------------
counter = 0
---------------------------------------------------------------------------------------
-Nomor target yang ingin dikirimi SMS
---------------------------------------------------------------------------------------
target_number = "12345"
---------------------------------------------------------------------------------------
-Isi pesan yang ingin dikirim
---------------------------------------------------------------------------------------
msg_content = u"isi pesan"
while counter < sms_amount:
>>>>messaging.sms_send(target_number, msg_content)
>>>>print "mengirim sms ke ", counter, " kepada ", target_number
>>>>counter += 1
print " selesai...."
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
084.
"SIMPLE SCANNING APPLICATION"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk scanning directory...
Script ini harus diletakan di folder python yang ada pada drive C atau E
Kemudian masuk python scriptshell atau PED dan run script ini
Hanya menggunakan 3 modul
---------------------------------------------------------------------------------------
import appuifw
import os, e32
def ru(x): return unicode(x, "utf8")
app_lock = e32.Ao_lock()
state, running = None, False
---------------------------------------------------------------------------------------
-Membuat judul aplikasi
---------------------------------------------------------------------------------------
appuifw.app.title = ru("Simple Scanner")
---------------------------------------------------------------------------------------
-Membuat GUI atau body aplikasi
---------------------------------------------------------------------------------------
editor = appuifw.Text()
appuifw.app.body = editor
editor.font = ("legend", 12)
editor.color = 0x000000
editor.add(ru("Simple Scanner"))
editor.add(ru("\nHanya untuk Pengembangan dan Contoh\n\n\n\n\n"))
editor.add(ru("Author: Pythonism Symbian\nE-mail: joe4rt0n@gmail.com\n"))
editor.add(ru("7777772e6172746f6e2d70726976617465686f6d652e636f2e6363".decode("hex_codec")))
editor.add(ru("\n\n\nPilih Options & Scan, lalu pilih daftar drive"))
def exit():
>>>>global running, state
>>>>if running == True:
>>>>>>>>query = appuifw.query(ru("Apakah Anda ingin Stop Scanning?"), "query")
>>>>>>>>if query == True:
>>>>>>>>>>>>running, state = False, False
>>>>else:
>>>>>>>>query = appuifw.query(ru("Apakah Anda ingin keluar?"), "query")
>>>>>>>>if query == True:
>>>>>>>>>>>>state = False
>>>>>>>>>>>>app_lock.signal()
audiolist = [".mp3", ".wav", ".aac", ".amr"]
filesis = [".sis", ".sisx"]
images = [".png", ".jpg", ".jpeg", ".mbm"]
audiocounter, siscounter = 0, 0
imagecounter = 0
def scanning_now(drive):
>>global audiocounter, siscounter, imagecounter, state
>>if state == None:
>>>try:
>>>>if os.path.isdir(drive):
>>>>>>>>drivelist = os.listdir(drive)
>>>>>>>>for i in drivelist:
>>>>>>>>>>if state == None:
>>>>>>>>>>>>e32.ao_yield()
>>>>>>>>>>>>if os.path.isdir(drive + i):
>>>>>>>>>>>>>>>>if (not i.endswith(os.sep)):
>>>>>>>>>>>>>>>>>>>>i = (i + os.sep)
>>>>>>>>>>>>editor.clear()
>>>>>>>>>>>>editor.add(ru("Simple Scanner\n"))
>>>>>>>>>>>>editor.add(ru("\n\nAudio File: %s\n")%(audiocounter))
>>>>>>>>>>>>editor.add(ru("Image File: %s\n")%(imagecounter))
>>>>>>>>>>>>editor.add(ru("Instalation File: %s\n\n\n\n")%(siscounter))
>>>>>>>>>>>>editor.add(ru("Scanning:\n"))
>>>>>>>>>>>>editor.add(drive + ru(i))
>>>>>>>>>>>>scanning_now(drive + i)
>>>>>>>>>>>>ext = os.path.splitext(drive + i)[1]
>>>>>>>>>>>>if (ext in audiolist):
>>>>>>>>>>>>>>>>audiocounter += 1
>>>>>>>>>>>>elif (ext in filesis):
>>>>>>>>>>>>>>>>siscounter += 1
>>>>>>>>>>>>elif (ext in images):
>>>>>>>>>>>>>>>>imagecounter += 1
>>>except: pass
def scan_drive():
>>>>global audiocounter, siscounter, imagecounter, state, running
>>>>audiocounter, siscounter, imagecounter = 0, 0, 0; running, state = True, None
>>>>editor.clear()
>>>>editor.add(ru("Siap Melakukan Scanning. . .\n"))
>>>>editor.add(ru("Pilih Drive. . .\n"))
>>>>drive = e32.drive_list()
>>>>get = appuifw.popup_menu(drive, ru("Pilihan:"))
>>>>editor.add(ru("Melakukan Scanning pada drive %s\\\n")%(drive[get]))
>>>>scanning_now(drive[get] + os.sep)
def about():
>>>>appuifw.note(ru("Belajar dan Share aplikasi python buatanmu di www.arton-privatehome.co.cc\nJoe Arton"), "info")
---------------------------------------------------------------------------------------
-Membuat fungsi tombol menu & exit
---------------------------------------------------------------------------------------
appuifw.app.menu = [(ru("Scan"), scan_drive), (ru("About"), about)]
appuifw.app.exit_key_handler = exit
app_lock.wait()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
085.
"APLIKASI TEKS EDITOR"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk mengedit sebuah teks...
-Memangil modul aplikasi
-Pythonism symbianism
---------------------------------------------------------------------------------------
import appuifw2
import e32
---------------------------------------------------------------------------------------
Fungsi ini digunakan untuk membuka gerbang fungsi dari aplikasi, hampir semua aplikasi dimulai dengan fungsi ini
---------------------------------------------------------------------------------------
app_lock = e32.Ao_lock()
---------------------------------------------------------------------------------------
Memberikan fungsi konversi, yaitu perubahan string agar menjadi unicode sehingga dapat ditampilkan pada GUI
---------------------------------------------------------------------------------------
def ru(x):
>>>>return unicode(x, "utf8")
---------------------------------------------------------------------------------------
Membuat fungsi body aplikasi atau aplikasi utama, yaitu body text editor
Untuk menggunakan fungsi ini, kita akan menggunakan modul appuifw
---------------------------------------------------------------------------------------
body = appuifw2.Text(skinned=True)
appuifw2.app.body = body
---------------------------------------------------------------------------------------
Membuat fungsi keluar aplikasi dengan cara membuka gerbang diatas
---------------------------------------------------------------------------------------
def keluar():
>>>>app_lock.signal()
---------------------------------------------------------------------------------------
Meletakan fungsi tombol keluar, pada tombol exit, seperti gambar diatas
---------------------------------------------------------------------------------------
appuifw2.app.exit_key_handler = keluar
---------------------------------------------------------------------------------------
Memberikan nama pada tombol keluar
---------------------------------------------------------------------------------------
appuifw2.app.exit_key_text = ru("Keluar")
---------------------------------------------------------------------------------------
Memberikan nama pada tombol Menu
---------------------------------------------------------------------------------------
appuifw2.app.menu_key_text = ru("Menu")
---------------------------------------------------------------------------------------
Membuat menu dan submenu
Sebelumnya, kita harus membuat fungsi, berikut ini fungsi sederhana, yaitu menampilkan nama web ini
---------------------------------------------------------------------------------------
def tampilkan_web():
>>>>appuifw.note(ru("www.arton-privatehome.co.cc"), "info")
appuifw2.app.menu = [
>>>>(ru("Menu A"), tampilkan_web),
>>>>(ru("Menu B"), tampilkan_web),
>>>>(ru("Menu C"), (
>>>>>>>>(ru("Sub Menu 1") ,tampilkan_web),
>>>>>>>>(ru("Sub Menu 1") ,tampilkan_web))),
>>>>(ru("Menu D"), tampilkan_web)]
---------------------------------------------------------------------------------------
-Menutup fungsi aplikasi
---------------------------------------------------------------------------------------
app_lock.wait()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
086.
"CAMERA MOTION"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script camera motion...
---------------------------------------------------------------------------------------
import appuifw2 as aw, e32, camera, audio
import socket as st
from graphics import*
sock, debug = None, -1
address, channel=st.bt_obex_discover()
def bt_connect():
>>>>global sock
>>>>sock = st.socket(st.AF_BT,st.SOCK_STREAM)
>>>>target = (address, 3)
>>>>aw.note(ru("Connecting to ") + ru(str(target)), "info")
>>>>try:
>>>>>>>>sock.connect(target)
>>>>>>>>sock.send("AT+GMM\r")
>>>>>>>>aw.note(ru("\n" + sock.recv(1024)))
>>>>except: aw.note(ru("Failed To Connect"))
bt_connect()
action, control_light = False, 0
x, y, sensLeft, sensRight = 240, 235, 120, 120
sensUp, sensDown, sensCenter=120, 120, 120
actionUp, actionDown, actionLeft, actionRight, actionCenter = False, False, False, False, False scanPixel = Image.new((x, y))
def redraw(rect):
>>>>scanPixel.rectangle([(0, 0),(x, y)], 0x000000, 0xff0000)
>>>>scanPixel.text((28, 50), u"Camera Motion", 0x000000, font=("normal", 28))
>>>>scanPixel.line([(20,60),(220,60)], 0x0000, 2)
>>>>scanPixel.line([(0, 65), (240, 65)], 0x0000, 2)
>>>>scanPixel.line([(0, 70), (240, 70)], 0x0000, 2)
>>>>scanPixel.text((20, 100), u"Press Options to Active", 0x000000, "normal")
>>>>scanPixel.text((50, 120), u"Author: Joe Arton", 0x000000, "legend")
>>>>scanPixel.text((30, 135), u"Release: November 2010", 0x000000, "legend")
>>>>scanPixel.text((3, 150), u"Camera Application for Detecting Motion", 0x000000, u"Latinplain")
>>>>canvas.blit(scanPixel)
lock = e32.Ao_lock()
canvas = aw.Canvas(redraw_callback = redraw, event_callback = None)
aw.app.body = canvas
def actionForUp():
>>>>global actionUp
>>>>if actionUp == 0:
>>>>>>>>saySomething()
>>>>elif actionUp == 1:
>>>>>>>>playSound()
>>>>elif actionUp == 2:
>>>>>>>>dialNumber()
>>>>elif actionUp == 3:
>>>>>>>>sendMessage()
def actionForDown():
>>>>global actionDown
>>>>if actionDown == 0:
>>>>>>>>saySomething()
>>>>elif actionDown == 1:
>>>>>>>>playSound()
>>>>elif actionDown == 2:
>>>>>>>>dialNumber()
>>>>elif actionDown == 3:
>>>>>>>>sendMessage()
def actionForCenter():
>>>>global actionCenter
>>>>if actionCenter == 0:
>>>>>>>>saySomething()
>>>>elif actionCenter == 1:
>>>>>>>>playSound()
>>>>elif actionCenter == 2:
>>>>>>>>dialNumber()
>>>>elif actionCenter == 3:
>>>>>>>>sendMessage()
def actionForLeft():
>>>>global actionLeft
>>>>if actionLeft == 0:
>>>>>>>>saySomething()
>>>>elif actionLeft == 1:
>>>>>>>>playSound()
>>>>elif actionLeft == 2:
>>>>>>>>dialNumber()
>>>>elif actionLeft == 3:
>>>>>>>>sendMessage()
def actionForRight():
>>>>global actionRight
>>>>if actionRight == 0:
>>>>>>>>saySomething()
>>>>elif actionRight == 1:
>>>>>>>>playSound()
>>>>elif actionRight == 2:
>>>>>>>>dialNumber()
>>>>elif actionRight == 3:
>>>>>>>>sendMessage()
def makeShading(im):
>>>>im.rectangle([(4,2),(196,12)],0xff0000)
>>>>im.rectangle([(4,138),(196,148)],0xff0000)
>>>>im.rectangle([(4,14),(14,136)],0xff0000)
>>>>im.rectangle([(186,14),(196,136)],0xff0000)
>>>>im.rectangle([(60,50),(140,100)],0xff0000)
def upPixel(im):
>>>>global sensUp, action, actionForUp
>>>>up = 0
>>>>x = im.getpixel([(5,3),(197, 13)])[0]
>>>>up = up + x[0] +x [1] + x[2]
>>>>scanPixel.text((0, 185), u"Pixel: [%s, %s, %s]"%(x), 0x000000, font=("legend", 10))
>>>>scanPixel.text((0, 195), u"Sensitivity: %s"%(up), 0x000000, font=("legend", 10))
>>>>im.rectangle([(6, 4),(250-up, 10)],0xff0000, 0xff0000)
>>>>if action =="activeUp" or action == "All":
>>>>>>>>if up < sensUp:
>>>>>>>>>>>>actionForUp()
def downPixel(im):
>>>>global sensDown, action
>>>>down = 0
>>>>x = im.getpixel([(5,139),(197, 149)])[0]
>>>>down = down + x[0] +x [1] + x[2]
>>>>scanPixel.text((0, 220), u"Pixel: [%s, %s, %s]"%(x), 0x000000, font=("legend", 10))
>>>>scanPixel.text((0, 230), u"Sensitivity: %s"%(down), 0x000000, font=("legend", 10))
>>>>im.rectangle([(6,140),(250-down,146)], 0xff0000, 0xff0000)
>>>>if action =="activeDown" or action == "All":
>>>>>>>>if down < sensDown:
>>>>>>>>>>>>actionForDown()
def leftPixel(im):
>>>>global sensLeft, action
>>>>left = 0
>>>>x = im.getpixel([(5, 15),(15, 137)])[0]
>>>>left = left+x[0]+x[1]+x[2]
>>>>scanPixel.text((160, 185), u"Pixel: [%s, %s, %s]"%(x), 0x000000, font=("legend", 10))
>>>>scanPixel.text((160, 195), u"Sensitivity: %s"%(left), 0x000000, font=("legend", 10))
>>>>im.rectangle([(6,16),(12, 250-left)],0xff0000, 0xff0000)
>>>>if action =="activeLeft" or action == "All":
>>>>>>>>if left < sensLeft:
>>>>>>>>>>>>actionForLeft()
def rightPixel(im):
>>>>global sensRight, action
>>>>right = 0
>>>>x = im.getpixel([(187, 15),(197, 137)])[0]
>>>>right = right+x[0]+x[1]+x[2]
>>>>scanPixel.text((160, 220), u"Pixel: [%s, %s, %s]"%(x), 0x000000, font=("legend", 10))
>>>>scanPixel.text((160, 230), u"Sensitivity: %s"%(right), 0x000000, font=("legend", 10))
>>>>im.rectangle([(188, 16),(194, 250-right)],0xff0000, 0xff0000)
>>>>if action =="activeRight" or action == "All":
>>>>>>>>if right < sensRight:
>>>>>>>>>>>>actionForRight()
def centerPixel(im):
>>>>global sensCenter, action
>>>>center = 0
>>>>x = im.getpixel([(61, 51),(141, 101)])[0]
>>>>center = center+x[0]+x[1]+x[2]
>>>>scanPixel.text((80, 208), u"Pixel: [%s, %s, %s]"%(x), 0x000000, font=("legend", 10))
>>>>scanPixel.text((80, 218), u"Sensitivity: %s"%(center), 0x000000, font=("legend", 10))
>>>>if action =="activeCenter" or action == "All":
>>>>>>>>if center < sensCenter:
>>>>>>>>>>>>im.rectangle([(62,52),(138,98)],0xff0000,0xff0000)
>>>>>>>>>>>>actionForCenter()
def gettingPixel(im):
>>>>makeShading(im)
>>>>upPixel(im)
>>>>downPixel(im)
>>>>leftPixel(im)
>>>>rightPixel(im)
>>>>centerPixel(im)
def showSensitivity(im):
>>>>global sensUp, sensDown, sensRight
>>>>global sensCenter, sensLeft
>>>>scanPixel.text((105, 12), unicode(sensUp), 0x000000, font = ("legend", 11))
>>>>scanPixel.text((105, 175), unicode(sensDown), 0x000000, font=("legend", 11))
>>>>scanPixel.text((0, 90), unicode(sensLeft), 0x000000, font=("legend", 11))
>>>>scanPixel.text((220, 90), unicode(sensRight), 0x000000, font=("legend", 11))
>>>>im.text((90, 80), unicode(sensCenter), 0xffffff, font=("legend", 10))
def showPixel(im):
>>>>scanPixel.text((20, 175), u"Top", 0x000000, font = ("legend", 12))
>>>>scanPixel.text((15, 209), u"Down", 0x000000, font = ("legend", 11))
>>>>scanPixel.text((100, 195), u"Center", 0x000000, font = ("legend", 11))
>>>>scanPixel.text((180, 175), u"Left", 0x000000, font = ("legend", 11))
>>>>scanPixel.text((180, 209), u"Right", 0x000000, font = ("legend", 11))
>>>>gettingPixel(im)
>>>>showSensitivity(im)
def cPixel(im):
>>>>global control_light
>>>>if control_light == 0:
>>>>>>>>scanPixel.rectangle([(0, 0),(x, y)], 0x000000, 0xff0000)
>>>>>>>>showPixel(im)
>>>>scanPixel.blit(im, target=(20, 13))
>>>>canvas.blit(scanPixel)
saying = u"Motion Detected"
soundPath = "e:\\Sounds\\digital\\"
numberPhone = u"123"
def sendMessage():
>>>>global numberPhone
>>>>import messaging
>>>>messaging.sms_send(numberPhone, u"Detected")
def setSendNumber():
>>>>global numberPhone
>>>>query = aw.query(u"Phone Number:","text", numberPhone)
>>>>if not query == None:
>>>>>>>>if aw.query(u"Number is %s. ?"%(query), "query") == True:
>>>>>>>>>>>>numberPhone = query
>>>>>>>>else: pass
>>>>else: pass
def setDialNumber():
>>>>global numberPhone
>>>>query = aw.query(u"Phone Number:","text", numberPhone)
>>>>if not query == None:
>>>>>>>>if aw.query(u"Number is %s. ?"%(query), "query") == True:
>>>>>>>>>>>>numberPhone = query
>>>>>>>>else: pass
>>>>else: pass
def dialNumber():
>>>>global numberPhone, sock
>>>>try:
>>>>>>>>sock.send("audio.say(unicode(123))")
>>>>except:
>>>>>>>>try:
>>>>>>>>>>>>sock.send("keypress.simulate_key(EKeySelect, EScancodeSelect)")
>>>>>>>>except:
>>>>>>>>>>>>import audio
>>>>>>>>>>>>alert = audio.Sound.open("e:\\alert.aac")
>>>>>>>>>>>>while alert.state() == 2:
>>>>>>>>>>>>>>>>e32.ao_sleep(0.1)
>>>>>>>>>>>>alert.close()
def setDialNumber():
>>>>global numberPhone
>>>>query = aw.query(u"Phone Number:","text", numberPhone)
>>>>if not query == None:
>>>>>>>>if aw.query(u"Number is %s. ?"%(query), "query") == True:
>>>>>>>>>>>>numberPhone = query
>>>>>>>>else: pass
>>>>else: pass
def playSound():
>>>>global soundPath
>>>>alert = audio.Sound.open(soundPath)
>>>>alert.play()
>>>>while alert.state()==2: # playing
>>>>>>>>e32.ao_sleep(0.1)
>>>>alert.close()
def setPlaySound():
>>>>global soundPath
>>>>u = lambda x: x.decode("utf8")
>>>>songs = map(u, os.listdir(soundPath))
>>>>selection = aw.selection_list(songs, 1)
>>>>if not selection == None:
>>>>>>>>if aw.query(u"Set %s as Sound?"%(selection), "query") == True:
>>>>>>>>>>>>soundPath = soundPath + songs[selection]
>>>>>>>>else: pass
>>>>else: pass
def saySomething():
>>>>global saying
>>>>try: audio.say(saying)
>>>>except: aw.note(u"Failed", "error")
def setSaySomething():
>>>>global saying
>>>>query=aw.query(u"Saying:","text",saying)
>>>>if not query == None:
>>>>>>>>if aw.query(u"Saying %s"%(query), "query") == True:
>>>>>>>>>>>>saying = query
>>>>>>>>else: pass
def allAction():
>>>>global actionUp, actionDown, actionRight
>>>>global actionLeft, actionCenter
>>>>actions = [u"SaySomething", u"PlaySound", u"DialNumber", u"SendMessage"]
>>>>select = aw.selection_list(actions, 1)
>>>>actionUp, actionDown, actionRight, actionLeft, actionCenter = select, select, select, select, select
def setAction():
>>global action
>>asking = aw.popup_menu([u"Set Action for All", u"Set Action for Corner"])
>>if asking == 0:
>>>>>>if aw.query(u"Set Action for All. . ?", "query") == True:
>>>>>>>>>>allAction()
>>>>>>>>>>action = "All"
>>>>>>else: action = False
>>elif asking == 1:
>>>>>>setActionCorner()
def selectAction(popup):
>>>>global actionUp, actionDown, actionRight
>>>>global actionLeft, actionCenter
>>>>actions = [u"SaySomething", u"PlaySound", u"DialNumber", u"SendMessage"]
>>>>select = aw.selection_list(actions, 1)
>>>>if select == 0:
>>>>>>>>setSaySomething()
>>>>elif select == 1:
>>>>>>>>setPlaySound()
>>>>elif select == 2:
>>>>>>>>setDialNumber()
>>>>elif select == 3:
>>>>>>>>setSendMessage()
>>>>if popup == 0 :
>>>>>>>>actionUp = select
>>>>elif popup == 1 :
>>>>>>>>actionDown = select
>>>>elif popup == 2 :
>>>>>>>>actionCenter = select
>>>>elif popup == 3 :
>>>>>>>>actionLeft = select
>>>>elif popup == 4 :
>>>>>>>>actionRight = select
>>>>aw.note(u"Sukses")
def setActionCorner():
>>>>global action
>>>>popup = aw.popup_menu([u"Top", u"Bottom", u"Center", u"Left", u"Right"], u"Corner Type:")
>>>>if not popup == None:
>>>>>>if popup == 0:
>>>>>>>>if aw.query(u"Set Action for Top. . ?", "query") == True:
>>>>>>>>>>>>action = "activeUp"
>>>>>>>>>>>>selectAction(popup)
>>>>>>>>else: action = False
>>>>>>elif popup == 1:
>>>>>>>>if aw.query(u"Set Action for Bottom. . ?", "query") == True:
>>>>>>>>>>>>action = "activeDown"
>>>>>>>>>>>>selectAction(popup)
>>>>>>>>else: action = False
>>>>>>elif popup == 2:
>>>>>>>>if aw.query(u"Set Action for Center. . ?", "query") == True:
>>>>>>>>>>>>action = "activeCenter"
>>>>>>>>>>>>selectAction(popup)
>>>>>>>>else: action = False
>>>>>>elif popup == 3:
>>>>>>>>if aw.query(u"Set Action for Left. . ?", "query") == True:
>>>>>>>>>>>>action = "activeLeft"
>>>>>>>>>>>>selectAction(popup)
>>>>>>>>else: action = False
>>>>>>elif popup == 4:
>>>>>>>>if aw.query(u"Set Action for Right. . ?", "query") == True:
>>>>>>>>>>>>action = "activeRight"
>>>>>>>>>>>>selectAction(popup)
>>>>>>>>else: action = False
def setSensitivity():
>>global sensLeft, sensRight, sensUp
>>global sensDown, sensCenter
>>ask = aw.popup_menu([u"Set All", u"Set a Corner"])
>>if ask == 0:
>>>>>>all = aw.query(u"Sensitivity:", "number", 120)
>>>>>>if aw.query(u"Sensitivity is %s?"%(all),"query") == True:
>>>>>>>>>>sensLeft, sensRight, sensUp=all, all, all
>>>>>>>>>>sensDown, sensCenter = all, all
>>>>>>>>>>aw.note(u"Success", "conf")
>>>>>>else: return all
>>elif ask == 1:
>>>>popup = aw.popup_menu([u"Top", u"Bottom", u"Center", u"Left", u"Right"], u"Corner Type:")
>>>>if popup == 0:
>>>>>>>>sensUp = aw.query(u"Sensitivity:", "number",sensUp)
>>>>elif popup == 1:
>>>>>>>>sensDown = aw.query(u"Sensitivity:", "number", sensDown)
>>>>elif popup == 2:
>>>>>>>>sensCenter = aw.query(u"Sensitivity:", "number", sensCenter)
>>>>elif popup == 3:
>>>>>>>>sensLeft = aw.query(u"Sensitivity:", "number", sensLeft)
>>>>elif popup == 4:
>>>>>>>>sensRight = aw.query(u"Sensitivity:", "number", sensRight)
>>>>aw.note(u"Success", "conf")
def start_finder():
>>>>global control_light
>>>>control_light = 0
>>>>camera.start_finder(cPixel, size=(200, 150))
def stop_finder():
>>>>global control_light
>>>>control_light = 1
>>>>camera.stop_finder()
>>>>camera.release()
>>>>aw.note(u"Finder stop")
information = u"Camera Motion is Application based on Camera detection. It needs python 1.45 or above.You Can Set Camera Motion to Adjust Sensitivity and Action by Pressing Options. Camera Motion Can be Used to detect Thing and People.\n\t--Thank You For Using--"
def about():
>>>>import globalui as gl
>>>>info = u"Name\t\t: Camera Motion\n"
>>>>info += u"Version\t: 1.0.0\n"
>>>>info += u"Release\t: 17 November 2010\n"
>>>>info += u"Author\t\t: Joe Arton\n"
>>>>info += u"Email\t\t: joe_arton@yahoo.\n\t\t com"
>>>>showAbout = gl.global_msg_query(info, u"Information")
>>>>if showAbout == True:
>>>>>>>>showHelp = gl.global_msg_query(information, u"Information")
def quit():
>>if aw.query(u"Stop and Exit from Camera Motion Now. . ?","query") == True:
>>>>stop_finder()
>>>>lock.signal()
>>>>aw.note(u"Go out", "conf")
>>else: pass
aw.app.menu = [
>>>>(u"Finder", (
>>>>>>>>(u"Start Finder", start_finder),
>>>>>>>>(u"Stop Finder", stop_finder))),
>>>>(u"Setting", (
>>>>>>>>(u"Set Sensibility", setSensitivity),
>>>>>>>>(u"Set Action", setAction))),
>>>>(u"About", about),
>>>>(u"Exit", quit)
>>>>>]
aw.app.exit_key_text = u"Stop & Exit"
aw.app.exit_key_handler = quit
lock.wait()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
087.
"INDICATOR BATTERY HP"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk indicator battery HP...
---------------------------------------------------------------------------------------
import indicators, e32
---------------------------------------------------------------------------------------
-Level baterai menjadi 5
---------------------------------------------------------------------------------------
print "menset level baterai menjadi 5"
indicators.set_battery(5)
e32.ao_sleep(2)
---------------------------------------------------------------------------------------
-Level signal menjadi 5
---------------------------------------------------------------------------------------
print "menset level sinyal menjadi 5"
indicators.set_signal(5)
e32.ao_sleep(2)
print "Mulai men-charge baterai"
indicators.start_charging()
e32.ao_sleep(3)
print "Menghentikan men-charge baterai"
indicators.stop_charging()
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
088.
"CARA MEREKAM AUDIO"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara merekam audio menggunakan pys60...
---------------------------------------------------------------------------------------
import appuifw, audio, os
MENU = [u"Play sound", u"Record sound", u"Delete sound"]
SOUNDFILE = u"E:\\sound.wav"
sound = None
while True:
>>>>>>>>index = appuifw.popup_menu(MENU, u"Select operation")
>>>>>>>>if sound:
>>>>>>>>>>>>>>>>sound.stop()
>>>>>>>>sound = audio.Sound.open(SOUNDFILE)
>>>>>>>>if index == 0:
>>>>>>>>>>>>>>>>sound.play()
>>>>>>>>elif index == 1:
>>>>>>>>>>>>>>>>sound.record()
>>>>>>>>>>>>>>>>appuifw.query(u"Press OK to stop recording", "query")
>>>>>>>>>>>>>>>>sound.stop()
>>>>>>>>elif index == 2:
>>>>>>>>>>>>>>>>os.remove(SOUNDFILE)
>>>>>>>>else:
>>>>>>>>>>>>>>>>break
---------------------------------------------------------------------------------------
Note:
Tanda > diganta menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
089.
"MEMUTAR FILE MP3"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk play file mp3...
---------------------------------------------------------------------------------------
import audio
sound = audio.Sound.open("E:\\Sounds\\mysound.mp3")
def playMP3():
>>>>>sound.play()
>>>>>print "PlayMP3 returns.."
playMP3()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
090.
"TEKS BICARA"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk merubah teks menjadi audio...
---------------------------------------------------------------------------------------
import appuifw, audio
text = appuifw.query(u"Type a word:", "text")
audio.say(text)
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
091.
"CARA MENEMUKAN KATA di INBOX"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script yang dapat menemukan kata diinbox secara otomatis...
---------------------------------------------------------------------------------------
import inbox, appuifw
box = inbox.Inbox()
query = appuifw.query(u"Search for:", "text").lower()
hits = []
ids = []
for sms_id in box.sms_messages():
>>>>>>msg = box.content(sms_id).lower()
>>>>>>if msg.find(query) != -1:
>>>>>>>>>>>hits.append(msg[:25])
>>>>>>>>>>>ids.append(sms_id)
index = appuifw.selection_list(hits, 1)
if index >= 0:
>>>>>>>>appuifw.note(box.content(ids[index]))
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
092.
"MENGAKSES INBOX"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk mengakses inbox...
---------------------------------------------------------------------------------------
import inbox, appuifw
box = inbox.Inbox()
for sms_id in box.sms_messages()[:5]:
>>>>>>msg = box.content(sms_id)
>>>>>>appuifw.note(msg)
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
093.
"LIST SELEKSI"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk list seleksi...
---------------------------------------------------------------------------------------
import appuifw
colors = [u"red", u"green", u"blue", u"brown"]
selections = appuifw.multi_selection_list(colors, 'checkbox', 1)
print "Checkbox selected:", selections
selections = appuifw.multi_selection_list(colors, 'checkmark', 1)
print "Checkmark selected:", selections
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
094.
"TWO DIALOGS"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script two dialogs...
---------------------------------------------------------------------------------------
import appuifw
word = appuifw.query(u"Type your name", "text")
appuifw.note(u"Greetings from " + str(word))
---------------------------------------------------------------------------------------
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
095.
"MEMASUKKAN NAMA"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk memasukkan nama...
---------------------------------------------------------------------------------------
import appuifw
names = appuifw.multi_query(u"First name:", u" Last name:")
if names:
>>>>>>>>first, last = names
>>>>>>>>appuifw.note(u"Your full name is: " + first + " " + last)
else:
>>>>>>>>appuifw.note(u"Cancel!")
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
096.
"CARA MEREKAM AUDIO"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk merekam audio...
---------------------------------------------------------------------------------------
import appuifw, audio, os
MENU = [u"Play sound", u"Record sound", u"Delete sound"]
SOUNDFILE = u"E:\\sound.wav"
sound = None
while True:
>>>>>>>>index = appuifw.popup_menu(MENU, u"Select operation")
>>>>if sound:
>>>>>>>>>>>>>>>>sound.stop()
>>>>>>>>sound = audio.Sound.open(SOUNDFILE)
>>>>>>>>if index == 0:
>>>>>>>>>>>>>>>>sound.play()
>>>>>>>>elif index == 1:
>>>>>>>>>>>>>>>>sound.record()
>>>>>>>>>>>>>>>>appuifw.query(u"Press OK to stop recording", "query")
>>>>>>>>>>>>>>>>sound.stop()
>>>>>>>>elif index == 2:
>>>>>>>>>>>>>>>>os.remove(SOUNDFILE)
>>>>>>>>else:
>>>>>>>>>>>>>>>>break
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
097.
"MEMBUAT SELECTION LIST"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk membuat selection list...
---------------------------------------------------------------------------------------
import appuifw
colors = [u"red", u"green", u"blue", u"brown"]
index = appuifw.selection_list(colors, 1)
if index == 2:
>>>>print "blue is correct!"
else:
>>>>print "Bzz! " + colors[index] + " is not correct"
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
098.
"MEMBUAT POPUP MENU"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk membuat popup menu...
---------------------------------------------------------------------------------------
import appuifw
choices = [u"Symbian", u"PyS60", u"MobileArt"]
index = appuifw.popup_menu(choices, u"Select:")
if index == 0 :
>>>>appuifw.note(u"Symbian, aha")
elif index == 1 :
>>>>appuifw.note(u"PyS60 - yeah")
elif index == 2 :
>>>>appuifw.note(u"I love MobileArt")
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
099.
"MEMBUAT APP BERKODE"
Dear...
ANGELman & ANGELwoman,
Saya mau share cara membuat kode pada sebuah aplikasi...
-Module yang dibutuhkan
---------------------------------------------------------------------------------------
import appuifw
import e32
import os
import globalui
import sysinfo
---------------------------------------------------------------------------------------
-Fungsi define untuk dipanggil ketika aplikasi diberikan perintah keluar
---------------------------------------------------------------------------------------
def keluar():
>>>>x = globalui.global_query(u'Anda Yakin?')
>>>>if x == 1 :
>>>>>>>>appuifw.note(u'http://fnugraha8.mywapblog.com', 'info')
>>>>>>>>appuifw.note(u'Terima Kasih', 'conf')
>>>>>>>>os.abort()
---------------------------------------------------------------------------------------
-Fungsi define untuk membuat kode kodem dalam persamaan sama dengan imei yang akan dimasukkan berupa angka
-Imei=sysinfo.imei() merupakan perintah untuk membaca imei pada handphone
-Kodek merupakan perintah persamaan untuk mengatur dan mengendalikan angka pada imei HP seperti imei[2]+imei[5] yang artinya digit ke 2 dan ke 5 pada imei HP contoh pada imei 354813015046327 yang diambil adalah angka 4 dan 3 kenapa bukan 5 dan 1, itu karena urutan angka mulai dari 0 jadi urutan angka 3 pada imei diatas adalah 0 dst.
-Kodekem merupakan persamaan dari fungsi penambah nilai dari fungsi kodek tadi misal hasil dari angka didapatkan dari 56284+1990 jadi nanti hasilnya adalah kodenya
-Fungsi if dan else mungkin udah pada tau ea, kan ada dalam ilmu matematika
---------------------------------------------------------------------------------------
def op():
>>>>kodem = appuifw.query(u'Masukkan Kodenya', 'text')
>>>>imei = sysinfo.imei()
>>>>kodek = ((((imei[2] + imei[5]) + imei[12]) + imei[9]) + imei[3])
>>>>kodekem = (int(kodek) + 1990)
>>>>kode = str(kodekem)
>>>>kodez = kodem
>>>>if kode == kodez :
>>>>>>>>appuifw.note(u'Kode Benar', 'conf')
>>>>>>>>appuifw.note(u'Terima Kasih', 'conf')
>>>>>>>>buka()
>>>>else :
>>>>>>>>appuifw.note(u'Kode Salah!', 'error')
>>>>>>>>os.abort()
---------------------------------------------------------------------------------------
-Fungsi ini untuk pembuka sebelum masuk kemenu utama
---------------------------------------------------------------------------------------
def buka():
>>>>R = appuifw.Text()
>>>>appuifw.app.body = R
>>>>R.style = appuifw.STYLE_BOLD
>>>>y = u'http://fnugraha8.mywapblog.com'
>>>>R.color = 255
>>>>for abc in range(len(y)):
>>>>>>>>R.add(y[abc])
>>>>>>>>e32.ao_sleep(0.0)
>>>>R.color = 255
>>>>global R
---------------------------------------------------------------------------------------
-Fungsi menu utama
---------------------------------------------------------------------------------------
def menu():
>>>>appuifw.app.menu = [(u'Test',buka)]
---------------------------------------------------------------------------------------
-Fungsi keluar
---------------------------------------------------------------------------------------
>>>>appuifw.app.exit_key_handler = keluar
---------------------------------------------------------------------------------------
-Perintah untuk memanggil pembuka dan menu utama
---------------------------------------------------------------------------------------
op()
menu()
---------------------------------------------------------------------------------------
-Perintah untuk mengunci script
---------------------------------------------------------------------------------------
e32.Ao_lock().wait()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
100.
"MEMBUAT KEYGEN"
Dear...
ANGELman & ANGELwoman,
Saya mau share sebuah script untuk membuat keygen...
---------------------------------------------------------------------------------------
import appuifw
import e32
import os
import sysinfo
def key():
>>imei=appuifw.query(u'imei','text')
>>i=len(imei)
>>if i < 15 :
>>>>appuifw.note(u'Harus 15 digit angka...!', 'error')
>>>>key()
>>>if i > 15 :
>>>>appuifw.note(u'Harus 15 digit angka....!', 'error')
>>>>key()
>>kodek=imei[2]+imei[5]+imei[12]+imei[9]+imei[3]
>>kodek=int(kodek)+1990
>>kode=str(kodek)
>>appuifw.query(u'kodenya: ','text',(u''+kode))
>>key()
key()
---------------------------------------------------------------------------------------
Note:
Tanda > diganti menggunakan spasi.
Semoga bermanfaat...
(all possible & smile :-)
i'm bomber "ANGEL"
(anak graffiti lovers)
Tidak ada komentar:
Posting Komentar