<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-14680809</id><updated>2011-04-22T12:18:31.463+07:00</updated><category term='UIQ'/><category term='C++'/><category term='Sound'/><title type='text'>&gt;&gt;&gt; Let's run Python on Mobile</title><subtitle type='html'>- &lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;Python for Symbian&lt;/a&gt;
&lt;br&gt;- &lt;a href="http://isiam.blogspot.com/2006/05/something-about-windowsmobile.html"&gt;WindowsMobile SmartPhone&lt;/a&gt;&lt;br&gt;- &lt;a href="http://isiam.blogspot.com/2005/09/python-on-pocketpc.html"&gt;Python for PocketPC&lt;/a&gt;
&lt;br&gt;- &lt;a href="http://www.isiam.info/cosmos"&gt;My Website&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://isiam.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>73</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14680809.post-7711865499400117876</id><published>2007-12-22T00:24:00.000+07:00</published><updated>2007-12-22T00:27:48.354+07:00</updated><title type='text'>Move.move.move...</title><content type='html'>ฺServer นี้ รวนๆ อย่างไรชอบกล&lt;br&gt;
Edit วันที่ไม่ได้เลย&lt;br&gt;
ขอย้ายไปที่&lt;br&gt;
&lt;a href="http://betweenline.blogspot.com/"&gt;http://betweenline.blogspot.com&lt;/a&gt;
&lt;br&gt;ครับ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-7711865499400117876?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/7711865499400117876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/7711865499400117876'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/12/movemovemove.html' title='Move.move.move...'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116767586310517719</id><published>2007-09-25T12:26:00.001+07:00</published><updated>2007-09-25T12:26:46.266+07:00</updated><title type='text'>Jython on SonyEricsson SmartPhone (Updated)</title><content type='html'>This is Latest news about Jython on UIQ.(work with my SonyEricssonP910i)
&lt;br&gt;You can D/L my beta-version here.
&lt;br&gt;&lt;a href="http://www.planetmobile.it/jumpjack/JythonQ.zip"&gt;http://www.planetmobile.it/jumpjack/JythonQ.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://download.yousendit.com/8277E5F63794F5AB"&gt;http://download.yousendit.com/8277E5F63794F5AB&lt;/a&gt;
&lt;br&gt;In file jythonp910i.rar you will see file&amp;folder named
&lt;br&gt;-JRun.txt
&lt;br&gt;-jython (Folder)
&lt;br&gt;&lt;br&gt;How to run Jython on UIQ.(work with my SonyEricssonP910i)
&lt;br&gt;-You need program Jrun in program JCompile.
&lt;br&gt;D/L JCompile from here.
&lt;br&gt;&lt;a href="http://www.freepoc.org/viewapp.php?id=42"&gt;http://www.freepoc.org/viewapp.php?id=42&lt;/a&gt;
&lt;br&gt;-Install jRunP800.SIS
&lt;br&gt;-replace Jrun.txt(in C:\system\apps\JRun) with Jrun.txt from jythonp910i.rar
&lt;br&gt;-put jython (Folder) (from jythonp910i.rar) in D:\ (so that it will be D:\jython)
&lt;br&gt;-Activate Jrun
&lt;br&gt;-Wait for 20-30sec You will see Jython InterActive Console like this...
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://inthai.virtualave.net/i/jythonp910i.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;-If the keyboard not work,Click Menu(Don't click Exit) and click TextArea again.
&lt;br&gt;-To Exit Jython click Menu&gt;&gt;Exit
&lt;br&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116767586310517719?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116767586310517719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116767586310517719'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jython-on-sonyericsson-smartphone.html' title='Jython on SonyEricsson SmartPhone (Updated)'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-9098784675914661804</id><published>2007-04-23T12:51:00.000+07:00</published><updated>2007-04-23T12:51:44.098+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UIQ'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Symbian UIQ Missing files</title><content type='html'>ทิ้ง C++ (Symbian UIQ) ไปเสียนาน วันนี้กลับมาหัดเขียนอีกครั้ง&lt;br&gt;
ติดๆขัดๆไปหมด&lt;br&gt;
เริ่มจาก&lt;br&gt;
สร้างโฟล์เดอร์ ที่ path ไม่มี space&lt;br&gt;
&lt;font color=blue&gt;devices -setdefault @UIQ_21:com.symbian.UIQ&lt;/font&gt;&lt;br&gt;
&lt;font color=blue&gt;bldmake bldfiles&lt;/font&gt;&lt;br&gt;
&lt;font color=blue&gt;abld build armi urel&lt;/font&gt;&lt;br&gt;
แล้ว นำไฟล์ &lt;font color=blue&gt;.app .rsc&lt;/font&gt; ใส่ใน UIQ &lt;br&gt;
ok work ดี&lt;br&gt;
&lt;br&gt;
ลองบน Emulator บ้าง&lt;br&gt;
&lt;font color=blue&gt;abld build wins udeb&lt;/font&gt;&lt;br&gt;
คราวนี้ Error &gt;&gt;&gt; ถามหาไฟล์ &lt;font color=blue&gt;mspdb71.dll&lt;/font&gt;&lt;br&gt;
เกิดจากลืมเพิ่ม &lt;br&gt;
&lt;font color=blue&gt;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE&lt;/font&gt; &lt;br&gt;
ใน path &lt;br&gt;
&lt;br&gt;
ลองใหม่ &lt;br&gt;
ลองเขียนโปรแกรม PhoneMakeCall &lt;br&gt;
Error อีก &lt;br&gt;
คราวนี้ถามหาไฟล์ &lt;font color=blue&gt;etelmm.h&lt;/font&gt; &lt;br&gt;
ทำไม SonyEricsson ถึงแจก Symbian UIQ SDK &lt;br&gt;
ที่เขียนโปรแกรมโทรศัพท์ไม่ได้มาหล่ะ แปลกจริง&lt;br&gt;
&lt;font color=blue&gt;etelmm.h&lt;br&gt; 
etelmmcs.h&lt;br&gt;
et_clsvr.h&lt;/font&gt;&lt;br&gt;
D/L ได้ที่นี่&lt;br&gt;
&lt;a href="http://zerogravity.narod.ru/symbian/uiq/etelmm.html"&gt;http://zerogravity.narod.ru/symbian/uiq/etelmm.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-9098784675914661804?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/9098784675914661804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/9098784675914661804'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/04/symbian-uiq-missing-files.html' title='Symbian UIQ Missing files'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-5497755970686813392</id><published>2007-04-23T10:05:00.001+07:00</published><updated>2007-04-23T10:05:59.077+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UIQ'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Sound'/><title type='text'>Play Sound ด้วย Undocumented Symbian class</title><content type='html'>อ่านเจอวิธี Play Sound ด้วย code สั้นๆ จากที่นี่&lt;br&gt;
&lt;a href="http://developer.sonyericsson.com/site/global/techsupport/tipstrickscode/symbian/p_playingrecordingsoundsp800.jsp"&gt;http://developer.sonyericsson.com/site/global/techsupport&lt;/a&gt;&lt;br&gt;
โดยใช้ class &lt;font color=blue&gt;CQikSoundPlayer&lt;/font&gt;&lt;br&gt;
class นี้ ไม่มีอธิบายใน Symbian UIQ2.1 SDK&lt;br&gt;
(แต่มีไฟล์ &lt;font color=blue&gt;QikSoundPlayer.h&lt;/font&gt; มากับ SDK ด้วย)&lt;br&gt;
ลองเพิ่ม code นี้ลงใน HelloWorld_CExampleAppUi.cpp แล้วคอมไพล์&lt;br&gt;
&lt;br&gt;
&lt;font color=blue&gt;#include "QikSoundPlayer.h"&lt;/font&gt;&lt;br&gt;
&lt;font color=blue&gt;...&lt;/font&gt;&lt;br&gt;
&lt;font color=blue&gt;CQikSoundPlayer *player;&lt;/font&gt;&lt;br&gt;
&lt;font color=blue&gt;player = CQikSoundPlayer::NewL( *iEikonEnv );&lt;/font&gt;&lt;br&gt;
&lt;font color=blue&gt;player-&gt;StartPlayL(_L("D:\\a.mid"));&lt;/font&gt;&lt;br&gt;
&lt;br&gt;
ปรากฎว่า error ตลอด &lt;br&gt;
นั่งแก้codeไปมา จนกระทั่งไปเจอกระทู้นี้&lt;br&gt;
&lt;a href="http://developer.sonyericsson.com/thread.jspa?&amp;threadID=12560&amp;start=0"&gt;http://developer.sonyericsson.com&lt;/a&gt;&lt;br&gt;
เพิ่ม &lt;font color=blue&gt;mediaclient.lib mediaclientaudio.lib qikctl.lib&lt;/font&gt;&lt;br&gt;
ลงใน .mmp ไฟล์ คราวนี้ คอมไพล์ผ่าน ใช้ได้เลย&lt;br&gt;
Play Sound บน Symbian ก็ไม่ยากเท่าไร&lt;br&gt;
(แต่ดูผ่านๆ สงสัยจะทำ Memory leak เพียบ)&lt;br&gt;
ถ้าแปลงเป็น JNI ได้ คราวนี้ PersonalJava บน UIQ จะมีเสียงสักที&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-5497755970686813392?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/5497755970686813392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/5497755970686813392'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/04/play-sound-undocumented-symbian-class.html' title='Play Sound ด้วย Undocumented Symbian class'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116844728469940512</id><published>2007-02-15T11:41:00.000+07:00</published><updated>2007-02-15T11:41:37.483+07:00</updated><title type='text'>เขียนโปรแกรม(Java)ไว้ใช้ บน UIQ</title><content type='html'>ใน UIQ (SonyEricsson SmartPhone)มี Personal Java ซึ่งมีคุณสมบัติใกล้เคียงกับ Java1.1.8 บนเครื่องPC&lt;br&gt;
การเขียนโปรแกรม ไว้ใช้กับ Java1.1.8 ก็ง่ายกว่า Java2MEมาก&lt;br&gt;
แค่ D/L Java Development Kit (JDK) version 1.1.8 มาก็ใช้ได้แล้ว&lt;br&gt;
(version 1.1.8 อาจจะเก่าหน่อย แต่กระทัดรัดดี แค่8Mb)&lt;br&gt;
D/L ได้ที่นี่&lt;br&gt;
&lt;a href="http://java.sun.com/products/archive/jdk/1.1.8_006/index.html"&gt;http://java.sun.com/products/archive/jdk/1.1.8_006/index.html&lt;/a&gt; &lt;br&gt;
D/Lมาแล้วจะได้ไฟล์ &lt;font color=blue&gt;jdk-1_1_8_006-windows-i586.exe&lt;/font&gt;&lt;br&gt;
คลิกเพื่อติดตั้ง &lt;br&gt;

&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdk01.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

ถ้าทำตามขั้นตอนไปเรื่อยๆ จะติดตั้ง JDK1.1 ไว้ที่&lt;br&gt;
&lt;font color=blue&gt;C:\jdk1.1.8&lt;/font&gt; &lt;br&gt;

&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdk03.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
เวลาคอมไพล์โปรแกรม&lt;br&gt;
สมมติคุณมี Code ประมาณนี้ &lt;br&gt;
เป็นโปรแกรมชื่อ HelloUIQ จะแสดงคำว่า Hello บนหน้าจอ ประมาณ 5 วินาที &lt;br&gt;

&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/hellouiq1.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

สร้างเป็นไฟล์ชื่อ &lt;font color=blue&gt;HelloUIQ.java&lt;/font&gt; ไว้ที่ &lt;font color=blue&gt;C:\jdk1.1.8&lt;/font&gt;&lt;br&gt;
set path เสร็จแล้วคอมไพล์ด้วยคำสั่ง&lt;br&gt;
่&lt;font color=blue&gt;javac HelloUIQ.java&lt;/font&gt;
จะได้ไฟล์  HelloUIQ.class เพิ่มขึ้นมาใน  C:\jdk1.1.8&lt;br&gt;

&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/hellouiq2.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
ลอง Run บน PC ก็จะได้ Window Frame แสดงข้อความ Hello ดังรูป&lt;br&gt;

&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/hellouiq3.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

สำหรับการจะนำโปรแกรมที่ได้ไปใช้ใน UIQ &lt;br&gt;
ถ้าว่าตามตำราก็ต้อง ทำเป็นไฟล์ .jar และอีกหลายขั้นตอน จนกว่าจะได้ ไฟล์ .sis ออกมา จึงจะนำไปติดตั้งใน UIQ ได้&lt;br&gt;

แต่คุณสามารถนำไฟล์  HelloUIQ.class นี้ไป run บน UIQ ได้ง่ายๆ&lt;br&gt;
โดยใช้โปรแกรม &lt;font color=blue&gt;Jrun&lt;/font&gt; ที่อยู่ใน โปรแกรม JCompile &lt;br&gt;
D/L JCompile ได้ที่นี่&lt;br&gt;
&lt;a href="http://www.freepoc.org/viewapp.php?id=42"&gt;http://www.freepoc.org/viewapp.php?id=42&lt;/a&gt;
ในไฟล์ที่ D/L มา จะมี jRunP800.SIS ให้นำไปติดตั้งใน UIQ &lt;br&gt;
หลังจากนั้น นำ  HelloUIQ.class ไปไว้ในเครื่อง SmartPhone UIQ ที่&lt;br&gt;
c:\classes (ถ้ายังไม่มีโฟลเดอร์นี้ ก็สร้างมันขึ้นมา)&lt;br&gt;

&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/hellouiq4.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
หลังจากนั้น แก้ข้อความในไฟล์ ที่ชื่อ &lt;font color=blue&gt;Jrun.txt&lt;/font&gt; (อยู่ใน C:\system\apps\Jrun)&lt;br&gt;
ไปเป็น&lt;br&gt;
&lt;font color=blue&gt;-cp c:\classes helloUIQ&lt;/font&gt;&lt;br&gt;
เมื่อ save เรียบร้อย เรียกโปรแกรม Jrun ก็จะ ไปเรียก HelloUIQ.class ขึ้นมา&lt;br&gt;
จะปรากฏ คำว่า Hello บนหน้าจอ ประมาณ 5 วินาที &lt;br&gt;


&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/hellouiq5.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

ตัวอย่าง code &lt;a href="http://isiam.info/dl/hellouiq.zip"&gt;helloUIQ.java&lt;/a&gt;
&lt;br&gt;
D/L tutorial PersonalJava Programming ได้จาก
&lt;a href="http://developer.sonyericsson.com/site/global/docstools/symbian/p_symbian.jsp"&gt;http://developer.sonyericsson.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116844728469940512?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116844728469940512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116844728469940512'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/java-uiq.html' title='เขียนโปรแกรม(Java)ไว้ใช้ บน UIQ'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116973802500201160</id><published>2007-01-25T22:04:00.000+07:00</published><updated>2007-01-26T01:21:23.656+07:00</updated><title type='text'>How to Swing on UIQ</title><content type='html'>You can't run normal Swing application on UIQ.&lt;br&gt;
(Swing is Java2SE(or more),but PersonalJava on UIQ is Java 1.1)&lt;br&gt;
But you can make your own Swing app. that can run on UIQ.&lt;br&gt;
Here is how to do that...&lt;br&gt;
&lt;br&gt;
Once upon the time,when Java was version 1.1,there was a Swing Package named "swingall.jar".&lt;br&gt;
File named swingall.jar,was prepared for compiling and running Swing app. on Java1.1.&lt;br&gt;
Try Google-searching for swingall.jar.&lt;br&gt;
Swingall.jar has many versions,the version you need is version that has folder "javax" insided.&lt;br&gt;
&lt;br&gt;
To compile Swing app. for UIQ,You have to use JDK1.1.8,that can D/L here&lt;br&gt;
&lt;a href="http://java.sun.com/products/archive/jdk/1.1.8_006/index.html"&gt;http://java.sun.com/products/archive/jdk/1.1.8_006/index.html&lt;/a&gt;&lt;br&gt; 
After JDK1.1.8 installation(in C:\JDK1.1.8),place swingall.jar in C:\(current folder),and use this command to compile.&lt;br&gt;
(My example sourcecode is C:\Stest.java)&lt;br&gt;
&lt;br&gt;&lt;font color=blue&gt;
path .;C:\jdk1.1.8\bin&lt;br&gt;
javac -classpath ".;C:\swingall.jar;C:\JDK1.1.8\lib\classes.zip" Stest.java&lt;br&gt;
&lt;br&gt;&lt;/font&gt;
Then you have file Stest.class in C:\ on your PC.&lt;br&gt;&lt;br&gt;
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
&lt;div style='line-height:75%;white-space:pre;overflow:scroll;font-size:100%'&gt;
import javax.swing.*;&lt;br&gt;
import java.awt.*;&lt;br&gt;
import java.awt.event.*;&lt;br&gt;
class Stest extends JButton implements ActionListener {&lt;br&gt;
    Stest() {&lt;br&gt;
        super("Exit");&lt;br&gt;
        addActionListener(this);&lt;br&gt;
    }&lt;br&gt;
    public void actionPerformed(ActionEvent e) {&lt;br&gt;
        System.exit(0);&lt;br&gt;
    }&lt;br&gt;
    public static void main(String args[]) {&lt;br&gt;
        JFrame MyFrame = new JFrame("Hello!!");&lt;br&gt;
        Container MyCont = MyFrame.getContentPane();&lt;br&gt;
        MyCont.setLayout(new FlowLayout());&lt;br&gt;
        Stest TheButton = new Stest();&lt;br&gt;
        MyCont.add(TheButton);&lt;br&gt;
        MyFrame.setSize(170,100);&lt;br&gt;
        MyFrame.setVisible(true);&lt;br&gt;
        TheButton.requestFocus();&lt;br&gt;
    }&lt;br&gt;
}&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/swingcompile.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
How to run Swing app. on UIQ.&lt;br&gt;
Just place swingall.jar in C:\classes (on UIQ),and add classpath(-cp) to C:\classes\swingall.jar&lt;br&gt;
&lt;br&gt;
Or you can run it with jRun in jCompile program.&lt;br&gt;
&lt;a href="http://www.freepoc.org/viewapp.php?id=42 "&gt;http://www.freepoc.org/viewapp.php?id=42&lt;/a&gt; &lt;br&gt;
After install jrunp800.sis,change content of jRun.txt into...&lt;br&gt;&lt;font color=blue&gt;
-cp C:\classes\swingall.jar;C:\classes Stest&lt;br&gt;
&lt;br&gt;&lt;/font&gt;
Place swingall.jar and Stest.class in C:\classes on UIQ.&lt;br&gt;
Activate jRun,you will run your Swing app. on your UIQ like this.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/swinguiq02.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;&lt;a href="http://isiam.info/dl/stestuiq.zip"&gt;Stest.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116973802500201160?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116973802500201160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116973802500201160'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/how-to-swing-on-uiq.html' title='How to Swing on UIQ'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116952354263283380</id><published>2007-01-23T10:27:00.000+07:00</published><updated>2007-01-23T10:51:29.816+07:00</updated><title type='text'>Jython Examples</title><content type='html'>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://isiam.blogspot.com/2007/01/jython01py.html"&gt;Jython01.py&lt;/a&gt;
&gt;&gt;&gt; HelloWolrd in Jython.
&lt;li&gt;&lt;a href="http://isiam.blogspot.com/2007/01/jython02py.html"&gt;jython02.py&lt;/a&gt;
&gt;&gt;&gt; BorderLayout.
&lt;li&gt;&lt;a href="http://isiam.blogspot.com/2007/01/jython03py.html"&gt;jython03.py&lt;/a&gt;
&gt;&gt;&gt; GridLayout.
&lt;li&gt;&lt;a href="http://isiam.blogspot.com/2007/01/jython04py.html"&gt;jython04.py&lt;/a&gt;
&gt;&gt;&gt; How to use TextArea.
&lt;li&gt;&lt;a href="http://isiam.blogspot.com/2007/01/jython05py.html"&gt;jython05.py&lt;/a&gt;
&gt;&gt;&gt; Menu.
&lt;li&gt;&lt;a href="http://isiam.blogspot.com/2007/01/jython06py.html"&gt;jython06.py&lt;/a&gt;
&gt;&gt;&gt; Assign function to Menu.
&lt;li&gt;&lt;a href="http://isiam.blogspot.com/2007/01/jython07py.html"&gt;jython07.py&lt;/a&gt;
&gt;&gt;&gt; Open&amp;Read file.
&lt;li&gt;&lt;a href="http://isiam.blogspot.com/2007/01/jython08py.html"&gt;jython08.py&lt;/a&gt;
&gt;&gt;&gt; Open&amp;Read file with FileDialog.
&lt;/ul&gt;


&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo06b.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on UIQ&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo08.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on UIQ&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116952354263283380?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116952354263283380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116952354263283380'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jython-examples.html' title='Jython Examples'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116952273102914389</id><published>2007-01-23T10:24:00.000+07:00</published><updated>2007-01-24T13:27:21.686+07:00</updated><title type='text'>jython08.py</title><content type='html'>&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
&lt;div style='line-height:75%;white-space:pre;overflow:scroll;font-size:100%'&gt;
import os&lt;br&gt;
import java.lang&lt;br&gt;
from java.awt import Frame,MenuBar,Menu,MenuItem,TextArea,FileDialog&lt;br&gt;
from java.awt.event import ActionEvent&lt;br&gt;
class jython08(java.awt.Frame):&lt;br&gt;
    def __init__(self):&lt;br&gt;
        self.size=(208,276)&lt;br&gt;
        self.myOutput=java.awt.TextArea("Hello UIQ from Jython!!!")&lt;br&gt;
        self.add("Center",self.myOutput)&lt;br&gt;
        self.myMenuBar=java.awt.MenuBar()&lt;br&gt;
        self.myMenu=java.awt.Menu("Menu")&lt;br&gt;
        self.myReadFile=java.awt.MenuItem("Read File",actionPerformed=self.doRead)&lt;br&gt;
        self.myMenuExit=java.awt.MenuItem("Exit",actionPerformed=self.doExit)&lt;br&gt;
        self.myMenuBar.add(self.myMenu)&lt;br&gt;
        self.myMenu.add(self.myReadFile)&lt;br&gt;
        self.myMenu.add(self.myMenuExit)&lt;br&gt;
        self.setMenuBar(self.myMenuBar)&lt;br&gt;
        self.setVisible(1)&lt;br&gt;
    def doRead(self,event):&lt;br&gt;
        d=java.awt.FileDialog(self,"Select File",java.awt.FileDialog.LOAD)&lt;br&gt;
        d.setDirectory("D:\\")&lt;br&gt;
        d.setVisible(1)&lt;br&gt;
        myFile = open(d.getDirectory()+d.getFile(),'r')&lt;br&gt;
        myText = myFile.read()&lt;br&gt;
        self.myOutput.setText(myText)&lt;br&gt;
        myFile.close()&lt;br&gt;
    def doExit(self,event):&lt;br&gt;
        java.lang.System.exit(0)&lt;br&gt;
if __name__=="__main__":&lt;br&gt;
    myApp=jython08()&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo08.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on UIQ&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116952273102914389?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116952273102914389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116952273102914389'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jython08py.html' title='jython08.py'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116952258829717737</id><published>2007-01-23T10:21:00.000+07:00</published><updated>2007-01-24T13:25:07.843+07:00</updated><title type='text'>jython07.py</title><content type='html'>&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
&lt;div style='line-height:75%;white-space:pre;overflow:scroll;font-size:100%'&gt;
import os&lt;br&gt;
import java.lang&lt;br&gt;
from java.awt import Frame,Button,TextArea&lt;br&gt;
from java.awt.event import ActionEvent&lt;br&gt;
class jython07(java.awt.Frame):&lt;br&gt;
    def __init__(self):&lt;br&gt;
        self.size=(208,276)&lt;br&gt;
        myFile = open("D:\\jython\\jython07.py",'r')&lt;br&gt;
        myText = myFile.read()&lt;br&gt;
        myFile.close()&lt;br&gt;
        self.myOutput=java.awt.TextArea(myText)&lt;br&gt;
        self.theButton=java.awt.Button("Exit",actionPerformed=self.doExit)&lt;br&gt;
        self.add("Center",self.myOutput)&lt;br&gt;
        self.add("South",self.theButton)&lt;br&gt;
        self.setVisible(1)&lt;br&gt;
    def doExit(self,event):&lt;br&gt;
        java.lang.System.exit(0)&lt;br&gt;
if __name__=="__main__":&lt;br&gt;
    myApp=jython07()&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo07.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on UIQ&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116952258829717737?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116952258829717737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116952258829717737'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jython07py.html' title='jython07.py'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116945525238840308</id><published>2007-01-22T15:39:00.000+07:00</published><updated>2007-01-22T23:40:26.696+07:00</updated><title type='text'>jython06.py</title><content type='html'>&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
&lt;div style='line-height:75%;white-space:pre;overflow:scroll;font-size:100%'&gt;
import java.lang&lt;br&gt;
from java.awt import Frame,MenuBar,Menu,MenuItem,TextArea&lt;br&gt;
from java.awt.event import ActionEvent&lt;br&gt;
class jython06(java.awt.Frame):&lt;br&gt;
    def __init__(self):&lt;br&gt;
        self.size=(208,276)&lt;br&gt;
        self.myOutput=java.awt.TextArea("Hello UIQ from Jython!!!\n")&lt;br&gt;
        self.add("Center",self.myOutput)&lt;br&gt;
        self.myMenuBar=java.awt.MenuBar()&lt;br&gt;
        self.myMenu=java.awt.Menu("Menu")&lt;br&gt;
        self.one=java.awt.MenuItem("Say Hello",actionPerformed=self.sayHello)&lt;br&gt;
        self.two=java.awt.MenuItem("Say Hi",actionPerformed=self.sayHi)&lt;br&gt;
        self.myMenuExit=java.awt.MenuItem("Exit",actionPerformed=self.doExit)&lt;br&gt;
        self.myMenuBar.add(self.myMenu)&lt;br&gt;
        self.myMenu.add(self.one)&lt;br&gt;
        self.myMenu.add(self.two)&lt;br&gt;
        self.myMenu.add(self.myMenuExit)&lt;br&gt;
        self.setMenuBar(self.myMenuBar)&lt;br&gt;
        self.setVisible(1)&lt;br&gt;
    def sayHello(self,event):&lt;br&gt;
        self.addSomething("Hello\n")&lt;br&gt;
    def sayHi(self,event):&lt;br&gt;
        self.setOutput("hi\n")&lt;br&gt;
    def addSomething(self,tx):&lt;br&gt;
        self.myOutput.appendText(tx)&lt;br&gt;
    def setOutput(self,tx):&lt;br&gt;
        self.myOutput.setText(tx)&lt;br&gt;
    def doExit(self,event):&lt;br&gt;
        java.lang.System.exit(0)&lt;br&gt;
if __name__=="__main__":&lt;br&gt;
    myApp=jython06()&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo06a.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on PC&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo06b.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on UIQ&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116945525238840308?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945525238840308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945525238840308'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jython06py.html' title='jython06.py'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116945486480863927</id><published>2007-01-22T15:33:00.000+07:00</published><updated>2007-01-22T23:39:43.280+07:00</updated><title type='text'>jython05.py</title><content type='html'>&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
&lt;div style='line-height:75%;white-space:pre;overflow:scroll;font-size:100%'&gt;
import java.lang&lt;br&gt;
from java.awt import Frame,MenuBar,Menu,MenuItem,TextArea&lt;br&gt;
from java.awt.event import ActionEvent&lt;br&gt;
class jython05(java.awt.Frame):&lt;br&gt;
    def __init__(self):&lt;br&gt;
        self.size=(208,276)&lt;br&gt;
        self.myOutput=java.awt.TextArea("Hello UIQ from Jython!!!")&lt;br&gt;
        self.add("Center",self.myOutput)&lt;br&gt;
        self.myMenuBar=java.awt.MenuBar()&lt;br&gt;
        self.myMenu=java.awt.Menu("Menu")&lt;br&gt;
        self.myMenuExit=java.awt.MenuItem("Exit",actionPerformed=self.doExit)&lt;br&gt;
        self.myMenuBar.add(self.myMenu)&lt;br&gt;
        self.myMenu.add(self.myMenuExit)&lt;br&gt;
        self.setMenuBar(self.myMenuBar)&lt;br&gt;
        self.setVisible(1)&lt;br&gt;
    def doExit(self,event):&lt;br&gt;
        java.lang.System.exit(0)&lt;br&gt;
if __name__=="__main__":&lt;br&gt;
    myApp=jython05()&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo05a.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on PC&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo05b.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on UIQ&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116945486480863927?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945486480863927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945486480863927'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jython05py.html' title='jython05.py'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116945474195194726</id><published>2007-01-22T15:30:00.000+07:00</published><updated>2007-01-22T23:38:44.373+07:00</updated><title type='text'>jython04.py</title><content type='html'>&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
&lt;div style='line-height:75%;white-space:pre;overflow:scroll;font-size:100%'&gt;
import java.lang&lt;br&gt;
from java.awt import Frame,Button,TextArea&lt;br&gt;
from java.awt.event import ActionEvent&lt;br&gt;
class jython04(java.awt.Frame):&lt;br&gt;
    def __init__(self):&lt;br&gt;
        self.size=(208,276)&lt;br&gt;
        self.myOutput=java.awt.TextArea("Hello UIQ from Jython!!!")&lt;br&gt;
        self.theButton=java.awt.Button("Exit",actionPerformed=self.doExit)&lt;br&gt;
        self.add("Center",self.myOutput)&lt;br&gt;
        self.add("South",self.theButton)&lt;br&gt;
        self.setVisible(1)&lt;br&gt;
    def doExit(self,event):&lt;br&gt;
        java.lang.System.exit(0)&lt;br&gt;
if __name__=="__main__":&lt;br&gt;
    myApp=jython04()&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo04a.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on PC&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo04b.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on UIQ&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116945474195194726?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945474195194726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945474195194726'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jython04py.html' title='jython04.py'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116945436775232669</id><published>2007-01-22T15:25:00.000+07:00</published><updated>2007-01-22T23:37:33.116+07:00</updated><title type='text'>jython03.py</title><content type='html'>&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
&lt;div style='line-height:75%;white-space:pre;overflow:scroll;font-size:100%'&gt;
import java.lang&lt;br&gt;
from java.awt import Frame,Label,Button,GridLayout&lt;br&gt;
from java.awt.event import ActionEvent&lt;br&gt;
class jython03(java.awt.Frame):&lt;br&gt;
    def __init__(self):&lt;br&gt;
        self.size=(208,276)&lt;br&gt;
        self.theLabel=java.awt.Label("Hello",java.awt.Label.CENTER)&lt;br&gt;
        self.aButton=java.awt.Button("Exit A",actionPerformed=self.doExit)&lt;br&gt;
        self.bButton=java.awt.Button("Exit B",actionPerformed=self.doExit)&lt;br&gt;
        self.cButton=java.awt.Button("Exit C",actionPerformed=self.doExit)&lt;br&gt;
        self.setLayout(java.awt.GridLayout(4,1))&lt;br&gt;
        self.add(self.theLabel)&lt;br&gt;
        self.add(self.aButton)&lt;br&gt;
        self.add(self.bButton)&lt;br&gt;
        self.add(self.cButton)&lt;br&gt;
        self.setVisible(1)&lt;br&gt;
    def doExit(self,event):&lt;br&gt;
        java.lang.System.exit(0)&lt;br&gt;
if __name__=="__main__":&lt;br&gt;
    a=jython03()&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo03a.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on PC&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo03b.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on UIQ&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116945436775232669?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945436775232669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945436775232669'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jython03py.html' title='jython03.py'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116945415290361036</id><published>2007-01-22T15:20:00.000+07:00</published><updated>2007-01-22T23:36:46.016+07:00</updated><title type='text'>jython02.py</title><content type='html'>&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
&lt;div style='line-height:75%;white-space:pre;overflow:scroll;font-size:100%'&gt;
import java.lang&lt;br&gt;
from java.awt import Frame,Label,Button,BorderLayout&lt;br&gt;
from java.awt.event import ActionEvent&lt;br&gt;
class jython02(java.awt.Frame):&lt;br&gt;
    def __init__(self):&lt;br&gt;
        self.size=(208,276)&lt;br&gt;
        self.theLabel=java.awt.Label("Hello",java.awt.Label.CENTER)&lt;br&gt;
        self.nButton=java.awt.Button("North Exit",actionPerformed=self.doExit)&lt;br&gt;
        self.eButton=java.awt.Button("East Exit",actionPerformed=self.doExit)&lt;br&gt;
        self.wButton=java.awt.Button("West Exit",actionPerformed=self.doExit)&lt;br&gt;
        self.sButton=java.awt.Button("South Exit",actionPerformed=self.doExit)&lt;br&gt;
        self.setLayout(java.awt.BorderLayout())&lt;br&gt;
        self.add("Center",self.theLabel)&lt;br&gt;
        self.add("North",self.nButton)&lt;br&gt;
        self.add("East",self.eButton)&lt;br&gt;
        self.add("West",self.wButton)&lt;br&gt;
        self.add("South",self.sButton)&lt;br&gt;
        self.setVisible(1)&lt;br&gt;
    def doExit(self,event):&lt;br&gt;
        java.lang.System.exit(0)&lt;br&gt;
if __name__=="__main__":&lt;br&gt;
    a=jython02()&lt;br&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo02a.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on PC&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo02b.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on UIQ&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116945415290361036?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945415290361036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945415290361036'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jython02py.html' title='jython02.py'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116945366487159501</id><published>2007-01-22T15:09:00.000+07:00</published><updated>2007-01-22T23:35:17.473+07:00</updated><title type='text'>jython01.py</title><content type='html'>&lt;table WIDTH="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
&lt;div style='line-height:75%;white-space:pre;overflow:scroll;font-size:100%'&gt;
import java.lang&lt;br&gt;
from java.awt import Frame,Label,Button &lt;br&gt;
from java.awt.event import ActionEvent&lt;br&gt;
class jython01(java.awt.Frame):&lt;br&gt;
    def __init__(self):&lt;br&gt;
        self.size=(208,276)&lt;br&gt;
        self.theLabel=java.awt.Label("Hello",java.awt.Label.CENTER)&lt;br&gt;
        self.theButton=java.awt.Button("Exit",actionPerformed=self.doExit)&lt;br&gt;
        self.add("Center",self.theLabel)&lt;br&gt;
        self.add("South",self.theButton)&lt;br&gt;
        self.setVisible(1)&lt;br&gt;
    def doExit(self,event):&lt;br&gt;
        java.lang.System.exit(0)&lt;br&gt;
if __name__=="__main__":&lt;br&gt;
    a=jython01()&lt;br&gt;
    
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo01a.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on PC&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdemo01b.gif" /&gt;&lt;br&gt;&lt;center&gt;Jython on UIQ&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116945366487159501?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945366487159501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116945366487159501'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jython01py.html' title='jython01.py'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116918769727105738</id><published>2007-01-19T13:17:00.000+07:00</published><updated>2007-01-19T13:25:03.846+07:00</updated><title type='text'>Simplify Symbian programming</title><content type='html'>ว่าจะหัดเขียน โปรแกรมสำหรับ UIQ ด้วย C++ ดูบ้าง&lt;br&gt;
เผื่อจะใช้ C++ ได้คล่องขึ้น และที่สำคัญ มันจำเป็นสำหรับการเขียน JNI &lt;br&gt;
แล้วต้องเตรียมอะไรบ้าง &lt;br&gt;
ตามตำราเขาว่า มี UIQ,PC และก็ลง &lt;font color=blue&gt;Symbian SDK for UIQ&lt;/font&gt; ซึ่งมีแถมมากับหนังสือ หรือจะ D/L ได้ที่นี่&lt;br&gt;
&lt;a href="http://developer.sonyericsson.com/site/global/docstools/symbian/p_symbian.jsp?cc=gb&amp;amp;lc=en&amp;amp;ver=4000&amp;amp;template=ps1&amp;amp;zone=ps%20"&gt;http://developer.sonyericsson.com&lt;/a&gt;
&lt;br&gt;ต่อมา เขาว่าต้องมี &lt;font color=blue&gt;C++ compiler&lt;/font&gt; เช่น MS visual studios หรือ Code Warrior&lt;br&gt;
ยุ่งยากจัง ใช้ Editor ตัวอื่น แล้วคอมไพล์ผ่าน Command Line ได้หรือเปล่า&lt;br&gt;
แล้วใน Symbian SDK มันมี GNU C Compiler แนบมาแล้วนี่ แล้วใช้แค่นี้ได้หรือเปล่า&lt;br&gt;
อ่านๆดูเขาว่าต้องใช้คอมไพล์โปรแกรม สำหรับ Emulator&lt;br&gt;
ถ้าผมไม่อยากลง compiler เพิ่มก็ คอมไพล์โปรแกรม สำหรับ Emulator ไม่ได้&lt;br&gt;
ไม่ได้ก็ไม่ได้สิ เขียนลง SmartPhone อย่างเดียวก็แล้วกัน (แค่หัดเขียนเองนี่นา)&lt;br&gt;
ว่าแล้วก็ข้ามขั้นตอนนี้ไปเลย&lt;br&gt;
&lt;br&gt;
ในSymbian SDK for UIQ จะมี &lt;font color=blue&gt;Perl&lt;/font&gt; แนบมาด้วย ต้องลง Perl อีก&lt;br&gt;
เครื่องผมมี Perl เวอร์ชันล่าสุด อยู่แล้ว ข้ามไปเลย&lt;br&gt;
&lt;br&gt;
ในSymbian SDK มี&lt;font color=blue&gt;Java1.3&lt;/font&gt; เขาให้ลงเพิ่มด้วย&lt;br&gt;
มันจำเป็นสำหรับ tools หลายๆอย่าง เช่น AIFbuilder&lt;br&gt;
ผมมี Java1.6,Java1.1.8อยู่แล้ว จะให้ลง Java1.3อีกเหรอ&lt;br&gt;
ว่าแล้ว ก็ข้ามไปอีกขั้น (มารู้ทีหลังว่าข้ามขั้นนี้ ไม่ดี มันยุ่งกว่าที่คิด)&lt;br&gt;
&lt;br&gt;
เสร็จเรียบร้อยก็ลองคอมไพล์ HelloWorld (อยู่ในโฟลเดอร์ UIQExamples)&lt;br&gt;
ลองcopyมาที Desktop แล้วเปิด Command Prompt &lt;br&gt;
&lt;font color=blue&gt;devices -setdefault @UIQ_21:com.symbian.UIQ&lt;/font&gt;&lt;br&gt;
&lt;br&gt;
CD ไปที่โฟลเดอร์ HelloWorld แล้วสั่ง&lt;br&gt;
&lt;font color=blue&gt;bldmake bldfiles&lt;/font&gt;&lt;br&gt;
&lt;font color=blue&gt;abld build armi urel&lt;/font&gt;&lt;br&gt;
&lt;br&gt;
ผลออกมา error คอมไพล์ไม่ผ่าน&lt;br&gt;
ค้นๆดูเขาว่า สงสัยเป็นที่ path มี space อยู่ เช่น "Documents and Settings"&lt;br&gt;
เลยลองคอมไพล์ ที่โฟลเดอร์ HelloWorld ที่อยู่ใน C:\symbian&lt;br&gt;
คราวนี้ผ่าน :)&lt;br&gt;
ลองsearchดู มีไฟล์ชื่อ HelloWolrd หลายนามสกุลกระจายอยู่หลายโฟลเดอร์&lt;br&gt;
&lt;br&gt;
ต่อมาเขาให้ลองใน Emulator ผมข้ามไปเลยแล้วกัน&lt;br&gt;
ขั้นต่อไป ใช้ AIFbuilder&lt;br&gt;
ไม่มี java1.3 ให้ มันเลยไม่ยอมเรียก AIFbuilder ขึ้นมา&lt;br&gt;
ไม่เป็นไร ใช้ CommandLine ก็ได้&lt;br&gt;
&lt;br&gt;
อ่านๆดูถ้าจะใช้ CommandLine มีอีกหลายขั้น&lt;br&gt;
bmconv,AIF,aiftool,makesis&lt;br&gt;
ทำไมยุ่งยากจัง มีแค่ Helloworld.app กับ HelloWorld.rsc&lt;br&gt;
โปรแกรมง่ายๆ ก็น่าจะrunได้แล้วนี่ &lt;br&gt;
&lt;br&gt;
ผมลองนำ Helloworld.app กับ HelloWorld.rsc&lt;br&gt;
ไปใส่ในโฟล์เดอร์ ที่สร้างขึ้นมาใหม่&lt;br&gt;
&lt;font color=blue&gt;D:\system\apps\HelloWorld&lt;/font&gt;&lt;br&gt;
แล้วลองดูในหน้าหลักของUIQ&lt;br&gt;
มีไอคอน HelloWorld เพิ่มขึ้นมาจริงๆด้วย&lt;br&gt;
ลองคลิกดู ใช้ได้แฮะ :) &lt;br&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/symbian01.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116918769727105738?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116918769727105738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116918769727105738'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/simplify-symbian-programming.html' title='Simplify Symbian programming'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116849583988233359</id><published>2007-01-11T13:07:00.000+07:00</published><updated>2007-01-11T13:18:42.206+07:00</updated><title type='text'>วิธีใช้โปรแกรม jRun</title><content type='html'>โปรแกรม &lt;font color=blue&gt;jRun&lt;/font&gt; อยู่ในpackageของโปรแกรม &lt;font color=blue&gt;jCompile&lt;/font&gt;&lt;br&gt;
&lt;a href="http://www.freepoc.org/viewapp.php?id=42"&gt;http://www.freepoc.org/viewapp.php?id=42&lt;/a&gt;
&lt;br&gt;โปรแกรม jRun ใช้เรียกโปรแกรมที่เขียนด้วย Java ขึ้นมาทำงาน&lt;br&gt;
โปรแกรม Java อาจอยู่ในรูปของไฟล์ &lt;font color=blue&gt;.class&lt;/font&gt; &lt;br&gt;
หรือไฟล์ &lt;font color=blue&gt;.jar&lt;/font&gt; ซึ่งเป็นการรวมหลายๆไฟล์ .class ไว้เป็นไฟล์เดียว (ลองเปิดดูได้ด้วย WinZip หรือWinRar)&lt;br&gt;
&lt;br&gt;
ไฟล์ &lt;font color=blue&gt;jRunP800.SIS&lt;/font&gt; ที่อยู่ในpackageของโปรแกรม jCompile&lt;br&gt;
คุณอาจติดตั้งไว้ที่ C:\ หรือ D:\ ใน SmartPhone UIQ&lt;br&gt;
เมื่อติดตั้งแล้ว จะมีไฟล์ชื่อ &lt;font color=blue&gt;jRun.txt&lt;/font&gt; &lt;br&gt;
อยู่ที่ &lt;font color=blue&gt;C:(หรือ D:)\system\apps\jRun&lt;/font&gt;&lt;br&gt;
ไฟล์ jRun.txt นี้จะต้องบอก classpath และ ไฟล์Javaที่เราจะเรียกให้มันทำงาน &lt;br&gt;
ถ้าคุณเคยใช้โปรแกรมJava โดยเรียกจาก command prompt บน PC ก็คงจะคุ้นเคยกับ classpath และการเรียกโปรแกรม Java มาบ้าง&lt;br&gt;
เช่น&lt;br&gt;
ถ้ามี ไฟล์ HelloUIQ.class อยู่ที่ C:\classes ใน Smartphone&lt;br&gt;
ก็ set ไฟล์ jRun.txt เป็น&lt;br&gt;
&lt;font color=blue&gt;-cp C:\classes HelloUIQ&lt;/font&gt;&lt;br&gt;
โดยคำแรกจะเป็น -cp กั้นด้วยspace ตามด้วยClasspath &lt;br&gt;
แล้วกั้นด้วยspaceอีกครั้ง แล้วตามด้วยชื่อไฟล์ ที่จะrun (แค่ชื่อ ไม่มี.class)&lt;br&gt;
&lt;br&gt;
ตัวอย่างถัดไป&lt;br&gt;
&lt;font color=blue&gt;-cp C:\classes;C:\REGEX myreg&lt;/font&gt;&lt;br&gt;
เป็นการเรียกไฟล์ myreg.class &lt;br&gt;
โดยไฟล์ที่ต้องการเรียกใช้ร่วมกับ myreg.class อยู่ใน C:\classes หรือ C:\REGEX&lt;br&gt;
&lt;br&gt;
อีกตัวอย่าง&lt;br&gt;
&lt;font color=blue&gt;-cp C:\classes\myjar.jar hello&lt;/font&gt;&lt;br&gt;
เป็นการเรียกไฟล์ hello.class &lt;br&gt;
โดยไฟล์ hello.class และไฟล์ที่ต้องการเรียกใช้ร่วมกับ hello.class อยู่ใน C:\classes\myjar.jar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116849583988233359?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116849583988233359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116849583988233359'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/jrun.html' title='วิธีใช้โปรแกรม jRun'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116758726528277210</id><published>2007-01-01T00:36:00.000+07:00</published><updated>2007-01-01T01:06:12.386+07:00</updated><title type='text'>Touch of Reflection in Java</title><content type='html'>หลังจากพยายามอ่านเรื่องReflection in Javaจนเวียนศีรษะไปหลายรอบ&lt;br&gt;
ด้วยคำชี้แนะจากคุณsiros แห่ง Narisa.com (ขอขอบคุณมา ณ ที่นี้)&lt;br&gt;
ผมก็เขียนโปรแกรมเสร็จอีก 2 โปรแกรม&lt;br&gt;
โปรแกรมนึงไว้เลือก Exec ไฟล์จาวา .class ใน UIQ&lt;br&gt;
(runตัวนี้ด้วย JRun จะrunไฟล์จาวาตัวอื่นๆต่อก็สะดวกขึ้นเยอะเลย)&lt;br&gt;
อีกโปรแกรมไว้ Reflection ดูวิธีใช้แต่ละคำสั่ง&lt;br&gt;
(ไม่ต้องพกคู่มือหนาๆไว้ในรถแล้วละที่นี้)&lt;br&gt;
&lt;br&gt;
ไว้วันถัดไปจะมาแนะนำวิธีใช้ JRun เปิดrunไฟล์จาวา .class ใน UIQ&lt;br&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/swingapp02.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116758726528277210?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116758726528277210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116758726528277210'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2007/01/touch-of-reflection-in-java.html' title='Touch of Reflection in Java'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116736960791320583</id><published>2006-12-29T12:14:00.000+07:00</published><updated>2007-01-01T01:06:54.753+07:00</updated><title type='text'>จับ swing ใส่ SonyEricsson SmartPhone</title><content type='html'>วันนี้ลองเขียนโปรแกรมเรียกใช้ Swing ใน p910i&lt;br&gt;
นำไฟล์ Swingall.jar ที่เคยหาไว้ นำมาใส่ใน p910i&lt;br&gt;
แตกเป็นโฟล์เดอร์ javax,com ใส่ใน C:\classes&lt;br&gt;
ใช้ได้เลย &lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/swingsp01.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116736960791320583?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116736960791320583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116736960791320583'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/12/swing-sonyericsson-smartphone.html' title='จับ swing ใส่ SonyEricsson SmartPhone'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116710499228200527</id><published>2006-12-26T10:27:00.000+07:00</published><updated>2006-12-26T11:07:58.926+07:00</updated><title type='text'>UID สำหรับแต่ละ Symbian Application</title><content type='html'>การจะสร้างไฟล์ .sis เพื่่อติดตั้งบน Symbian Smartphone จำเป็นจะต้องมี เลข UID (ฐาน16 แปดหลัก) ที่จำเพาะสำหรับแต่ละ Application (ไม่ว่าจะเป็นที่เขียนด้วย C++ หรือ PersonalJava)&lt;br&gt;
การขอเลข UID มี 2 วิธี&lt;br&gt;
&lt;br&gt;
วิธีแรก (แบบโบราณ) ใช้ E-mail&lt;br&gt;
ให้คุณส่ง E-mail ไปที่ uid@symbiandevnet.com&lt;br&gt;
ตั้งsubjectเป็น "UID Request"&lt;br&gt;
แล้วบอกข้อมูลเกี่ยวกับ&lt;br&gt;
-ชื่อของคุณ ชื่อโปรแกรม&lt;br&gt;
-E-mailของคุณ&lt;br&gt;
-ต้องการเลข UID จำนวนเท่าไร (น่าจะสักครั้งละ10)&lt;br&gt;
เขาจะส่งเลขUID ไปให้คุณตาม E-mail Address&lt;br&gt;
&lt;br&gt;
ปัจจุบันมีอีกวิธีที่สะดวกกว่า&lt;br&gt;
คุณสามารถขอเลข UID ได้ทันที (ไม่ต้องรอ E-mail) จากเวบไซต์&lt;br&gt;
&lt;a href="https://www.symbiansigned.com/app/page"&gt;https://www.symbiansigned.com/app/page&lt;/a&gt;&lt;br&gt;
เพียงแตุ่คุณสมัครสมาชิกกับเขา ,login แล้วเข้าไปที่&lt;br&gt;
เมนู ...UID ...Request&lt;br&gt;
กรอกรายละเอียด submit แล้วได้เลข UID ทันทีเลย&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/uid01.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116710499228200527?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116710499228200527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116710499228200527'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/12/uid-symbian-application.html' title='UID สำหรับแต่ละ Symbian Application'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116687986075362047</id><published>2006-12-23T20:14:00.000+07:00</published><updated>2006-12-23T20:34:22.286+07:00</updated><title type='text'>Regular Expressions in Java</title><content type='html'>กำลังมองหา Regular Expression ที่เป็น Java&lt;br&gt;
ไว้ใช้บน PersonalJava&lt;br&gt;
จาก Link นี้มีให้เลือกหลากหลายดี&lt;br&gt;
&lt;a href="http://regex.info/java.html"&gt;http://regex.info/java.html&lt;/a&gt;&lt;br&gt;
แต่อันไหน run บน Java1.1 ได้บ้างเนี่ย&lt;br&gt;
เอหรือ จะไปเรียก re ใน Jython ดี&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116687986075362047?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116687986075362047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116687986075362047'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/12/regular-expressions-in-java.html' title='Regular Expressions in Java'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-116490734410979738</id><published>2006-12-01T00:19:00.000+07:00</published><updated>2006-12-01T00:22:24.923+07:00</updated><title type='text'>Jython on SonyEricsson Smartphone</title><content type='html'>ช่วงนี้ ลองมาหัดใช้ UIQ ดูบ้าง&lt;br&gt;
ผมได้ SonyEricsson P910i มาประมาณเดือนเศษ&lt;br&gt;
แต่เก็บไว้ในลิ้นชัก เงียบๆ เพราะยังใช้ไม่ค่อยเป็น &lt;br&gt;
จะกดอะไรก็ไม่ค่อยจะคล่อง เพราะไม่รู้ มีโปรแกรมอะไร อยู่ที่ไหนบ้าง&lt;br&gt;
&lt;br&gt;
วันสองวันนี้ ได้มีโอกาสใช้เวลา ทำความคุ้นเคยกับมันสักพัก&lt;br&gt;
ลองนั่งอ่าน Spec. ดู  &lt;br&gt;
รุ่นนี้ใช้ PersonalJava ได้ด้วย! อยู่ในROMเลย อีกต่างหาก&lt;br&gt;
นั่นหมายความว่าสามารถเล่นได้ทั้ง J2ME(.jar,.jad)&lt;br&gt;
และ PersonalJava ที่เป็น .class (คล้ายๆJavaSE1.1บนDesktop)&lt;br&gt;
น่าสนใจที่เดียว&lt;br&gt;
&lt;br&gt;
ลองค้นๆดู ถ้าจะใช้ PersonalJava ต้องรวม ไฟล์ .class .jar &lt;br&gt;
ไปเป็น .sis แล้วติดตั้ง &lt;br&gt;
ทำไมยุ่งยากจัง น่าจะที่วิธีที่ง่ายกว่านี้นะ&lt;br&gt;
&lt;br&gt;
ค้นๆดูก็ไปเจออะไร น่าสนใจยิ่งกว่า &lt;br&gt;
ที่ &lt;a href="http://www.freepoc.org/software.php"&gt;http://www.freepoc.org&lt;/a&gt;&lt;br&gt;
เขามีโปรแกรมชื่อ jCompile ใช้คอมไพล์ Java ได้บน UIQ เลย!!&lt;br&gt;
ใน package jCompile นี้เอง มีโปรแกรมชื่อ jRun &lt;br&gt;
ใช้runไฟล์ .class ที่เป็น PersonalJava หรือ Java1.1 ได้&lt;br&gt;
&lt;br&gt;
หลังจากลองกับ HelloWorld.class แล้วworkดี&lt;br&gt;
ผมก็ลองจัดการลง Jython (ที่เคยเตรียมไว้ใช้บน PersonalJava ใน WindowsMobile)&lt;br&gt;
ปรากฏว่าลองครั้งแรก ก็ error เพียบ&lt;br&gt;
มันแจ้งว่า skip bad jar file แล้วก็อะไรตามมาอีกเพียบ&lt;br&gt;
สงสัยจะไม่ชอบ ไฟล์ .jar&lt;br&gt;
&lt;br&gt;
ผมเลยลองเตรียมเป็น ไฟล์ .class ล้วนๆ&lt;br&gt;
(Extract .jar ออกมาให้หมด จัดFolder package ให้เรียบร้อย)&lt;br&gt;
กด jRun แค่15sec&lt;br&gt;
ได้ Jython InterActive Console ขึ้นมา work ดีเลย&lt;br&gt;
&lt;br&gt;
ไม่คิดเลยว่า ย้าย Jython จาก WindowsMobile มาลง UIQ จะง่ายดายขนาดนี้&lt;br&gt;
สงสัยจะเป็น GUI Python สายพันธุ์แรก เลยนะนี่ที่ใช้ได้ดีบน SonyEricsson SmartPhone (UIQ) &lt;br&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/juiq0.jpg" /&gt;&lt;br&gt;Jython (JPython) on UIQ
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-116490734410979738?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116490734410979738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/116490734410979738'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/12/jython-on-sonyericsson-smartphone.html' title='Jython on SonyEricsson Smartphone'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-115539816131306407</id><published>2006-08-12T22:55:00.000+07:00</published><updated>2006-08-12T23:05:10.153+07:00</updated><title type='text'>Non-PC Programming with Jython</title><content type='html'>อยากได้ Unicode Notepad (UTF-8 editor) ไว้ใช้บน WindowsMobile SmartPhone
&lt;br&gt;เจอแต่แบบ ASCII editor
&lt;br&gt;เลยลองเขียนเอง แบบไม่ใช้ PC ด้วย Jython
&lt;br&gt;พยายามทดสอบดูสักหน่อยว่า Jython บน PersonalJava ทำอะไรได้บ้าง
&lt;br&gt;พอใช้ได้นะ Unicode Notepad + Thai input (Voq qwerty)
&lt;br&gt;(แต่ code ยังไม่ค่อยน่าดูเท่าไร ไว้อีกสักพักอาจจะมาแนะนำ)
&lt;br&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/knotepad4.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/knotepad7.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-115539816131306407?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/115539816131306407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/115539816131306407'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/08/non-pc-programming-with-jython.html' title='Non-PC Programming with Jython'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-115527826316733128</id><published>2006-08-11T13:31:00.000+07:00</published><updated>2006-08-11T13:37:43.526+07:00</updated><title type='text'>Python port for  Pocket PC at sourceFORGE.net</title><content type='html'>Python port for Windows CE (Pocket PC) devices. 
&lt;br&gt;เวอร์ชันล่าสุดอยู่ที่ &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=104228"&gt;sourceFORGE.net&lt;/a&gt;ครับ
&lt;br&gt;รู้สึกว่าทำมาสำหรับ WindowsMobile2003
&lt;br&gt;for 2002 D/L ได้ที่เดิม&lt;br&gt;&lt;a href="http://fore.validus.com/~kashtan/"&gt;http://fore.validus.com/~kashtan/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-115527826316733128?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/115527826316733128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/115527826316733128'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/08/python-port-for-pocket-pc-at.html' title='Python port for  Pocket PC at sourceFORGE.net'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-115526661349763642</id><published>2006-08-11T10:16:00.000+07:00</published><updated>2006-08-11T20:07:49.770+07:00</updated><title type='text'>Python for SymbianS60 on sourceFORGE.net</title><content type='html'>Python for SymbianS60 
&lt;br&gt;เวอร์ชันล่าสุด D/L ได้ที่ 
&lt;br&gt;&lt;a href="http://sourceforge.net/project/showfiles.php?group_id=154155"&gt;sourceFORGE.net&lt;/a&gt;
&lt;br&gt;มี version 1.3.8 สำหรับ Symbian 3rd Ed. แล้วครับ
&lt;br&gt;โทรศัพท์ใครเป็น Symbian 1st Ed.,2nd ED. ก็ใช้ version 1.3.1
&lt;br&gt;ปล.Symbian version ต่างๆ &lt;a href="http://en.wikipedia.org/wiki/S60_Platform_and_Symbian_OS"&gt;http://en.wikipedia.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-115526661349763642?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/115526661349763642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/115526661349763642'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/08/python-for-symbians60-on.html' title='Python for SymbianS60 on sourceFORGE.net'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-115044930554126093</id><published>2006-06-16T16:13:00.000+07:00</published><updated>2006-06-16T16:15:05.936+07:00</updated><title type='text'>จับSwing ใส่ SmartPhone II</title><content type='html'>นั่งหงุดหงิดกับ swingall.jar อยู่นาน เพิ่งรู้ว่ามันมีหลายversion
&lt;br&gt;versionนี้ ที่เพิ่งเจอ สามารถใช้
&lt;br&gt;import javax.swing.*
&lt;br&gt;ได้เลย
&lt;br&gt;เห้อ! write once ,run anywhere ได้สักที
&lt;br&gt;D/L ได้ที่นี่&lt;br&gt;http://www.smart-mobile.com/forum/viewtopic.php?t=97137&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-115044930554126093?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/115044930554126093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/115044930554126093'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/06/swing-smartphone-ii.html' title='จับSwing ใส่ SmartPhone II'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114795167808739355</id><published>2006-05-18T18:09:00.000+07:00</published><updated>2006-05-18T18:28:03.643+07:00</updated><title type='text'>Something about WindowsMobile Smartphone</title><content type='html'>Jython, PersonalJava, Programming ,etc.
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/02/jython-for-pocketpc-and-smartphone.html"&gt;Jython for PocketPC and Smartphone&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
  &lt;a href="http://isiam.blogspot.com/2006/03/jython-awt-console.html"&gt;Jython AWT-Console&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/03/rhino-javascript-on-smartphone.html"&gt;Rhino - JavaScript (on SmartPhone)&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/03/personaljava-windowsmobile-smartphone.html"&gt;ลง PersonalJava ใน WindowsMobile SmartPhone&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/03/java-programming-with-jdk11.html"&gt;Java Programming with JDK1.1&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/04/swing-smartphone.html"&gt;จับ swing ใส่ SmartPhone&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/04/coding-compiling-in-smartphone.html"&gt;Coding ,Compiling in SmartPhone&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/04/jasmin-assembly-for-java.html"&gt;Jasmin ,Assembly for Java&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/04/task-manager.html"&gt;SP Task Manager&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/04/smartphone-jython-python-in-java.html"&gt;SmartPhone + Jython (Python in Java)&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/05/dl-microsoft-embedded-visual-c.html"&gt;D/L Microsoft eMbedded Visual C++&lt;/a&gt;
&lt;br&gt;&lt;img src="http://www.blogblog.com/tictac/tictac_orange.gif"&gt;
 &lt;a href="http://isiam.blogspot.com/2006/05/jniwhen-java-meet-cand-rule-them-all.html"&gt;JNI,When Java meet C++,and Rule them all with Jython&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jshell02.gif" /&gt;&lt;img src="http://www.isiam.info/i/jswing02.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114795167808739355?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114795167808739355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114795167808739355'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/05/something-about-windowsmobile.html' title='Something about WindowsMobile Smartphone'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114794849269550716</id><published>2006-05-18T17:26:00.000+07:00</published><updated>2006-05-19T07:38:09.443+07:00</updated><title type='text'>JNI,When Java meet C++,and Rule them all with Jython</title><content type='html'>หลายๆFunctionใน SmartPhone ดูไปคล้ายๆกับจะพยายามบังคับ ให้เราไปใช้ C++ เขียนโปรแกรม ยังไงก็ไม่รู้
&lt;br&gt;ไม่ว่าจะเป็น PhoneMakeCall ,SmsSendMessage ,PlaySound
&lt;br&gt;ถ้าจะใช้ C# ก็ใช้ PInvoke แก้ปัญหาไปได้บ้าง
&lt;br&gt;แต่ถ้าจะพยายามเรียกใช้ คำสั่งเหล่านี้ ด้วย Java หรือ Jython ก็สามารถทำได้ โดยใช้
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;JNI&lt;/span&gt; หรือ &lt;span style="font-size:100%;color:#3333ff;"&gt;Java Native Interface&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;หลักการง่ายๆก็คือ เขียนโปรแกรมด้วย Java กำหนดไว้ว่า จะเรียกใช้คำสั่งอะไรบ้าง
&lt;br&gt;แล้วก็ เขียน &lt;span style="font-size:100%;color:#3333ff;"&gt;Native Code&lt;/span&gt; ด้วย C/C++ จัดเตรียมเป็นไฟล์ .DLL ไว้ให้ Java เรียกใช้
&lt;br&gt;เนื่องจาก Jython เป็น Python ที่เป็น Pure Java
&lt;br&gt;Jython ก็สามารถใช้ Java ให้ไปเรียก Native Code เหล่านี้ได้ด้วย
&lt;br&gt;
&lt;br&gt;วิธีการใช้ JNI
&lt;br&gt;1.เขียนโปรแกรมด้วย Java กำหนด Native Method,loadLibrary
&lt;br&gt;2.compile เป็นไฟล์ .class
&lt;br&gt;3.ไช้ไฟล์ .class สร้างไฟล์ .h
&lt;br&gt;4.นำไฟล์ .h ไป include เวลาเขียนโปรแกรมด้วย C/C++
&lt;br&gt;5.เขียนโปรแกรมด้วย C/C++ เป็นไฟล์ .DLL
&lt;br&gt;6.run โปรแกรม โดยมี ไฟล์ .DLL ที่ได้อยู่ใน path  
&lt;br&gt;และ ไฟล์ .class ที่ได้อยู่ใน classpath
&lt;br&gt;
&lt;br&gt;ขอยกตัวอย่างบน PC ก่อน
&lt;br&gt;ไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;jni01.java&lt;/span&gt; ดังตัวอย่างถัดไป
&lt;br&gt;มีการเรียกใช้ไฟล์ HelloWorld.dll โดยใช้คำสั่ง 
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;System.loadLibrary("HelloWorld")&lt;/span&gt;
&lt;br&gt;อยู่ใน static block
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jnicall01.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;มีการกำหนด Native Method ชื่อว่า print โดยใช้คำสั่ง 
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;public native void print();&lt;/span&gt;
&lt;br&gt;มีคำว่า native และปิดด้วย ; ทันที 
&lt;br&gt;โดยรายละเอียดของ print จะอยู่ใน HelloWorld.dll ซึ่งจะไว้เขียนทีหลัง
&lt;br&gt;
&lt;br&gt;ต่อมาก็ compile ไฟล์ jni01.java ได้ไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;jni01.class&lt;/span&gt; ออกมา
&lt;br&gt;แล้วสร้างไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;jni01.h&lt;/span&gt; โดยใช้คำสั่ง 
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;javah -classpath . jni01&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jnicall02.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ไฟล์ jni01.h ที่ได้นำไปใช้ใน C++ เพื่อสร้างไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;HelloWorld.dll&lt;/span&gt;
&lt;br&gt;โดยในไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;HelloWorld.cpp&lt;/span&gt; นี้จะต้อง include
&lt;br&gt;-ไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;jni01.h&lt;/span&gt;เพิ่งสร้างเสร็จนี้ และ
&lt;br&gt;-ไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;jni.h&lt;/span&gt; ที่อยู่ใน JDK 
&lt;br&gt;จะเห็นว่าคำสั่ง print ของ Java ใน C++ จะเปลี่ยนชื่อเป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;Java_jni01_print&lt;/span&gt;
&lt;br&gt;คำสั่ง  Java_jni01_print นี้ มีการเรียกใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;printf&lt;/span&gt; ใน C++
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jnicall10.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;นำไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;HelloWorld.DLL&lt;/span&gt; และ ไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;jni01.class&lt;/span&gt; ที่ได้ ไป run
&lt;br&gt;เช่น จากรูปข้างล่าง มี HelloWorld.DLL ,jni01.class อยู่ที่ C:&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jnicall04.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ลองเรียกจาก Jython ดูบ้าง
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jnicall05.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;คราวหน้า จะมาต่อ ด้วยการใช้ JNI กับ PersonalJava บน Smartphone ครับ
&lt;br&gt;รายละเอียดเรื่อง JNI อ่านได้ที่นี่
&lt;br&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/information/download.html"&gt;E-book JNI&lt;/a&gt;
&lt;br&gt;ตัวอย่าง Code &lt;a href="http://isiam.info/dl/helloworld.zip"&gt;helloworld.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114794849269550716?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114794849269550716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114794849269550716'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/05/jniwhen-java-meet-cand-rule-them-all.html' title='JNI,When Java meet C++,and Rule them all with Jython'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114760958463865000</id><published>2006-05-14T19:22:00.000+07:00</published><updated>2006-05-14T19:26:36.223+07:00</updated><title type='text'>D/L Microsoft eMbedded Visual C++</title><content type='html'>ถ้าคุณต้องการเขียนโปรแกรมสำหรับ WindowsMobile Smartphone ด้วยภาษา C++
&lt;br&gt;เพื่อสร้างไฟล์ประเภท .exe , .dll
&lt;br&gt;คุณสามารถD/L Microsoft eMbedded Visual C++ ได้ฟรี จาก website ของ Microsoft
&lt;br&gt;
&lt;br&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=a6c4f799-ec5c-427c-807c-4c0f96765a81&amp;displaylang=en"&gt;SDK for Windows Mobile 2003-based Smartphones&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=1DACDB3D-50D1-41B2-A107-FA75AE960856&amp;displaylang=en"&gt;eMbedded Visual C++ 4.0&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=5BB36F3E-5B3D-419A-9610-2FE53815AE3B&amp;displaylang=en"&gt;eMbedded Visual C++ 4.0 SP3&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=5BB36F3E-5B3D-419A-9610-2FE53815AE3B&amp;displaylang=en"&gt;eMbedded Visual C++ 4.0 SP4&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;การจะเรียกใช้ Function ต่างๆของ WindowsMobile Smartphone จำเป็นต้องใช้ Native code ซึ่งสร้างขึ้นได้ด้วยภาษา C++
&lt;br&gt;หากคุณเขียนโปรแกรม WindowsMobile Smartphone ด้วย C# คงเคยได้ยินเทคนิค ที่เรียกว่า PInvoke ไว้เรียกใช้ Native code
&lt;br&gt;สำหรับ Java ก็มีเทคนิคในการเรียกใช้ Native code ที่เรียกว่า 
&lt;br&gt;JNI - Java Native Interface
&lt;br&gt;&lt;br&gt;coming up,next..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114760958463865000?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114760958463865000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114760958463865000'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/05/dl-microsoft-embedded-visual-c.html' title='D/L Microsoft eMbedded Visual C++'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114604954762125460</id><published>2006-04-26T17:54:00.000+07:00</published><updated>2006-04-26T21:58:02.446+07:00</updated><title type='text'>SmartPhone + Jython (Python in Java)</title><content type='html'>&lt;a href="http://www.jython.org/"&gt;Jython&lt;/a&gt; เป็นภาษา &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt; ที่สร้างขึ้นด้วย Java ล้วนๆ
&lt;br&gt;ภาษา&lt;a href="http://en.wikipedia.org/wiki/Python_language"&gt;Python&lt;/a&gt;ใช้ในการเขียนโปรแกรมคอมพิวเตอร์ เป็นภาษาอ่านง่าย เรียนรู้ง่าย มีให้ใช้ ทั้งบน Linux ,PC ,PocketPC ,Symbian และ Java
 ว่ากันว่า โปรแกรมเมอร์คนใด เพียงแค่ D/L Python Doc มาอ่าน แค่วันเดียว ก็พอจะเขียน Python ได้แล้ว&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Python&lt;/span&gt; ที่อยู่บน Java ทำงานบน Java Virtual Machine เรียกว่า &lt;span style="font-size:100%;color:#3333ff;"&gt;Jython&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;หลังจากผมพบว่า PersonalJava สามารถทำงานบน WindowsMobile SmartPhone ก็ลองเอา Jython มาลง ก็พบว่า ใช้งานได้ดีทีเดียว
&lt;br&gt;
&lt;br&gt;เปิด Jython มาครั้งแรกก็จะพบกับ &lt;span style="font-size:100%;color:#3333ff;"&gt;InterActive Console&lt;/span&gt;
&lt;br&gt;(หรือ Jython Completion Shell)
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/spjython01.gif" /&gt;&lt;img src="http://www.isiam.info/i/spjython02.gif" /&gt;&lt;br&gt;InterActive Console
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;สามารถใช้เขียนโปรแกรมสั้นๆ ลองหัดใช้คำสั่งต่างๆ หรือใช้เป็นเครื่องคิดเลขได้
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/spjython03.gif" /&gt;&lt;img src="http://www.isiam.info/i/spjython04.gif" /&gt;&lt;br&gt;ใช้เขียนโปรแกรมสั้นๆใช้งาน หรือทดสอบcode
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;เนื่องจาก Jython เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;Pure Java&lt;/span&gt; จึงมีความสามารถพิเศษ เรียกใช้คำสั่งต่างๆของ Java ได้ เช่น จากตัวอย่างข้างล่าง
&lt;br&gt;เปิด Frame มีคำว่า Hi ขนาด170x100pixel 
&lt;br&gt;เขียน code แค่ 4บรรทัด (และไม่ต้องcompileเลย!)
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/spjython05.gif" /&gt;&lt;br&gt;เรียกใช้ Java
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;การเขียนโปรแกรมบน Jython ก็เขียนเป็น Text-file ธรรมดา ที่สามารถเปิด อ่าน เขียน ได้ด้วย Notepad ทั้งบน PC และ Smartphone
&lt;br&gt;
&lt;br&gt;มาลองติดตั้ง Jython กันเลยดีกว่า
&lt;br&gt;เริ่มจากคุณต้องลง &lt;span style="font-size:100%;color:#3333ff;"&gt;PersonalJava&lt;/span&gt; ใน WindowsMobile Smartphone
&lt;br&gt;D/L PersonalJava ได้จาก
&lt;br&gt;http://www.smart-mobile.com/forum/viewtopic.php?t=97137
&lt;br&gt;ผมแนะนำวิธีติดตั้ง PersonalJava ไว้ที่นี่
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2006/03/personaljava-windowsmobile-smartphone.html"&gt;click here -&gt; isiam.blogspot.com&lt;/a&gt;
&lt;br&gt;ติดตั้งเสร็จคุณก็จะมี ไฟล์เหล่านี้ (~2Mb)
&lt;br&gt;-&lt;span style="font-size:100%;color:#3333ff;"&gt;pjava.exe&lt;/span&gt;
&lt;br&gt;-&lt;span style="font-size:100%;color:#3333ff;"&gt;javai.dll&lt;/span&gt;
&lt;br&gt;-&lt;span style="font-size:100%;color:#3333ff;"&gt;wceCompat.dll&lt;/span&gt;
&lt;br&gt;อยู่ใน &lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage\pjava\bin&lt;/span&gt;
&lt;br&gt;ของ WindowsMobile SmartPhone
&lt;br&gt;
&lt;br&gt;เสร็จแล้ว ก็ลง Jython
&lt;br&gt;D/L ได้ที่นี่
&lt;br&gt;http://www.smart-mobile.com/forum/viewtopic.php?t=98932
&lt;br&gt;D/L ทั้ง4parts ครบแล้วเปิดด้วย Winrar
&lt;br&gt;ให้นำโฟลเดอร์ \j ไปไว้ใน \Storage Card&lt;br&gt;จะได้ &lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage Card\j &lt;/span&gt;
&lt;br&gt;มี 4folders ,3files อยู่ภายใน ดังรูป
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/spjython06.gif" /&gt;&lt;br&gt;\Storage Card\j มี 4folders ,3files
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ต่อมาก็ลงไฟล์ .jar เป็น Java Library
&lt;br&gt;คุณต้องD/L &lt;span style="font-size:100%;color:#3333ff;"&gt;JDK1.1&lt;/span&gt; มาติดตั้งในPC
&lt;br&gt;D/L JDK1.1 ได้จากที่นี่
&lt;br&gt;&lt;a href="http://java.sun.com/products/archive/jdk/1.1.8_006/index.html"&gt;click here -&gt; java.sun.com&lt;/a&gt;
&lt;br&gt;ผมแนะนำวิธีติดตั้งไว้ที่นี่
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2006/03/java-programming-with-jdk11.html"&gt;click here -&gt; isiam.blogspot.com&lt;/a&gt;
&lt;br&gt;สมมติคุณติดตั้ง JDK1.1 ไว้ที่
&lt;br&gt;C:\jdk1.1.8
&lt;br&gt;ให้ลองค้นๆดูใน
&lt;br&gt;C:\jdk1.1.8\JRE\lib
&lt;br&gt;พบไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;rt.jar&lt;/span&gt; และ &lt;span style="font-size:100%;color:#3333ff;"&gt;i18n.jar&lt;/span&gt;
&lt;br&gt;ให้นำสองไฟล์นี้ ไปไว้ใน SmartPhone ที่
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage Card\j&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/spjython07.gif" /&gt;&lt;br&gt;ใน C:\jdk1.1.8\JRE\lib
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;และถ้าคุณจะใช้ Java Swing ก็ต้องใช้ &lt;a href="http://www.google.com/search?as_q=%22swingall.jar%22&amp;num=50&amp;hl=en&amp;btnG=Google+Search&amp;as_epq=&amp;as_oq=&amp;as_eq=&amp;lr=&amp;as_ft=i&amp;as_filetype=&amp;as_qdr=all&amp;as_occt=any&amp;as_dt=i&amp;as_sitesearch=&amp;as_rights=&amp;safe=off"&gt;Google&lt;/a&gt; ตามหาไฟล์ ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;swingall.jar&lt;/span&gt;
&lt;br&gt;นำมาไว้ที่ \Storage Card\j ด้วย
&lt;br&gt;(ไว้วันหลังจะใช้ swing ค่อยนำมาใส่ก็ได้)
&lt;br&gt;
&lt;br&gt;ต่อมาก็เปิดโปรแกรม
&lt;br&gt;ใช้ SmartExplorer คลิกที่ไฟล์
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;JythonSmartphone&lt;/span&gt;
&lt;br&gt;ใน \Storage Card\j
&lt;br&gt;( หรือจะให้เรียกใช้สะดวก วันหลังอาจลอง copy ไฟล์นี้ไปที่ 
&lt;br&gt;\Storage\windows\Start Menu )
&lt;br&gt;ถึงจุดนี้จะมี error แสดงเล็กน้อย ไม่ต้องไปสนใจ
&lt;br&gt;Jython จะ scan ตาม ไฟล์ .jar ต่างๆ ประมาณ 2นาที 
&lt;br&gt;จะเปิดช้ามากๆเฉพาะครั้งแรก ครั้งถัดไปจะเร็วขึ้น เหลือครึ่งนาทีเศษ
&lt;br&gt;ส่วนใหญ่ผมใช้วิธีเปิดค้างไว้ตลอด  จะได้ไม่เสียเวลาเปิดบ่อยๆ
&lt;br&gt;เสร็จเรียบร้อยก็จะพบ Jython Shell
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/spjython08.gif" /&gt;&lt;img src="http://www.isiam.info/i/spjython01.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;คุณสามารถ D/L วิธีการเขียนโปรแกรมด้วย &lt;span style="font-size:100%;color:#3333ff;"&gt;Jython&lt;/span&gt; และ &lt;span style="font-size:100%;color:#3333ff;"&gt;Python&lt;/span&gt; ได้จาก
&lt;br&gt;&lt;a href="http://docs.python.org/download.html"&gt;Python 2.4.3 Documentation&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.byteofpython.info/download"&gt;A Byte of Python &lt;/a&gt;
&lt;br&gt;&lt;a href="http://diveintopython.org/"&gt;Dive Into Python &lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.jython.org/"&gt;Jython Homepage&lt;/a&gt;
&lt;br&gt;E-book Jython &lt;a href="http://www.jython.org/j-jython1-ltr.pdf"&gt;01&lt;/a&gt; ,&lt;a href="http://www.jython.org/j-jython2-ltr.pdf"&gt;02&lt;/a&gt; (or &lt;a href="http://www-128.ibm.com/developerworks/edu/j-dw-java-jython1-i.html"&gt;01&lt;/a&gt; ,&lt;a href="http://www-128.ibm.com/developerworks/edu/j-dw-java-jython2-i.html"&gt;02&lt;/a&gt; - register needed.)
&lt;br&gt;&lt;br&gt;บทความเกี่ยวกับ Jython
&lt;br&gt;&lt;a href="http://en.wikipedia.org/wiki/Jython"&gt;Jython From Wikipedia&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.onlamp.com/pub/a/python/2002/04/11/jythontips.html"&gt;Jython Tips for Python Programmers&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.onjava.com/pub/a/onjava/2002/03/27/jython.html"&gt;Scripting Java with Jython&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www-128.ibm.com/developerworks/java/library/j-jython.html"&gt;Charming Jython&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www-128.ibm.com/developerworks/library/j-alj07064/"&gt;Get to know Jython&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/python-links.html"&gt;Links&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114604954762125460?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114604954762125460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114604954762125460'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/04/smartphone-jython-python-in-java.html' title='SmartPhone + Jython (Python in Java)'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114604857566441642</id><published>2006-04-26T17:45:00.000+07:00</published><updated>2006-04-26T17:52:46.880+07:00</updated><title type='text'>Task Manager</title><content type='html'>เวลาหัดเขียนโปรแกรมบน SmartPhone
&lt;br&gt;โปรแกรมประเภท &lt;span style="font-size:100%;color:#3333ff;"&gt;Task Manager&lt;/span&gt; ค่อนข้างจะเป็นสิ่งจำเป็น เอาไว้สลับ สับเปลี่ยนไปหน้าโปรแกรมต่างๆ หรือไว้ ปิดโปรแกรม ,kill processที่ error
&lt;br&gt;วันนี้จะขอแนะนำโปรแกรมหนึ่ง ชื่อว่า SP Task Manager
&lt;br&gt;(เจ้าของเดียวกับ Smart Explorer อันโด่งดัง)
&lt;br&gt;D/Lได้ที่นี่
&lt;br&gt;&lt;a href="http://www.binarys.com/taskmanager_en.asp"&gt;http://www.binarys.com/taskmanager_en.asp&lt;/a&gt;
&lt;br&gt;ลองมาดูหน้าตาของ SP Task Manager กันดีกว่า
&lt;br&gt;ในส่วน &lt;span style="font-size:100%;color:#3333ff;"&gt;Edit&lt;/span&gt; ถ้าคุณเลือกเป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;Show app.list&lt;/span&gt;
&lt;br&gt;มันจะแสดงรายชื่อโปรแกรมต่างๆที่เปิดค้างอยู่ใน memory
&lt;br&gt;ขยับแถบสีน้ำเงินขึ้นลง เพื่อเลือกโปรแกรมที่ต้องการ
&lt;br&gt;แล้วเลือก
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;File &gt;&gt; Bring to Front&lt;/span&gt;
&lt;br&gt;เพื่อไปยังโปรแกรมที่ต้องการ
&lt;br&gt;หรือเลือก
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;File &gt;&gt; Quit Application&lt;/span&gt;
&lt;br&gt;เพื่อปิดโปรแกรมที่ต้องการ
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/sptask1.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;แต่บางโปรแกรมอาจยังคงค้างอยู่ใน memory ไม่ยอมให้ปิดง่ายๆ
&lt;br&gt;ลองเลือก
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Edit &gt;&gt; Show Process&lt;/span&gt;
&lt;br&gt;เพื่อแสดง Process ทั้งหมด ที่ยังคงค้าง อยู่ใน memory
&lt;br&gt;แล้วปิด Process ที่ต้องการ โดยเลือก
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;File &gt;&gt; Kill Process&lt;/span&gt;
&lt;br&gt;(อย่าปิด Processที่คุณไม่รู้จัก ไม่งั้นอาจต้องเปิดเครื่องใหม่)
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/sptask2.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;นอกจากนี้ คุณสามารถดูข้อมูลทรัพยากรต่างๆ โดยเลือก
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Edit &gt;&gt; Show syst.status&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114604857566441642?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114604857566441642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114604857566441642'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/04/task-manager.html' title='Task Manager'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114594403513283184</id><published>2006-04-25T12:45:00.000+07:00</published><updated>2006-04-30T01:12:41.420+07:00</updated><title type='text'>Jasmin ,Assembly for Java</title><content type='html'>การเขียนโปรแกรมสำหรับ &lt;span style="font-size:100%;color:#3333ff;"&gt;Jasmin&lt;/span&gt; ก็คล้ายๆกับการเขียนภาษา &lt;span style="font-size:100%;color:#3333ff;"&gt;Assembly&lt;/span&gt; สำหรับ &lt;span style="font-size:100%;color:#3333ff;"&gt;Java&lt;/span&gt;
&lt;br&gt;ไฟล์นามสกุล &lt;span style="font-size:100%;color:#3333ff;"&gt;.j&lt;/span&gt; สร้างเป็นไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;.class&lt;/span&gt; (Java bytecode) ได้อย่างรวดเร็ว
&lt;br&gt;เนื่องจากโครงสร้างของภาษา ใกล้เคียงกับ  Java bytecode มาก
&lt;br&gt;(เท่าที่มนุษย์จะสามารถอ่านได้)
&lt;br&gt;
&lt;br&gt;ที่มาของ Jasmin มาจากหนังสือชื่อ Java Virtual Machine ของ O'Reilly
&lt;br&gt;การจะศึกษาให้เข้าใจถึง Java bytecode ก็ต้องมี สักภาษาหนึ่ง ที่คนพออ่านได้้ และแต่ละคำสั่งในภาษานั้น ก็ต้องใกล้เคียงกับ แต่ละ Byte code สำหรับ Java Virtual Machine
&lt;br&gt;ผู้เขียนหนังสือ จึงสร้างภาษา Jasmin ขึ้นมา
&lt;br&gt;
&lt;br&gt;คุณสามารถ D/L Jasminได้จาก
&lt;br&gt;&lt;a href="http://jasmin.sourceforge.net/"&gt;http://jasmin.sourceforge.net/&lt;/a&gt;
&lt;br&gt;ไฟล์ที่จะนำไปใช้งานก็คือไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;jasmin.jar&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;ลองเปรียบเทียบภาษา Jasmin กับภาษา Java ดูนะครับ
&lt;br&gt;สมมติมี โปรแกรมภาษา Java ง่ายๆประมาณนี้ (ตั้งชื่อว่า&lt;span style="font-size:100%;color:#3333ff;"&gt;SimpleHello.java&lt;/span&gt;)
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/Simplehello01.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ถ้าเขียนเป็น Jasmin ก็จะได้เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;SimpleHello.j&lt;/span&gt;(ยากๆ)ประมาณนี้
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/Simplehello02.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ถ้าคุณจะคอมไพล์ SimpleHello.j ไปเป็น Java bytecode
&lt;br&gt;(สมมติว่า มี jasmin.jar และ SimpleHello.j อยู่ที่ C:\)
&lt;br&gt;ก็ใช้คำสั่ง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;java -jar jasmin.jar SimpleHello.j&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;เท่านี้ก็จะได้ ไฟล์ SimpleHello.class ออกมา
&lt;br&gt;รวดเร็วมาก ไม่ต้องใช้ JavaSDK เลย
&lt;br&gt;มีแค่ JRE+Jasmin ก็คอมไพล์ไปเป็น Java bytecode ได้แล้ว
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/Simplehellopc.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ลองมาเล่นบน WindowsMoble Smartphoneดูบ้าง
&lt;br&gt;สมมติคุณลง PersonalJava เรียบร้อย 
&lt;br&gt;(pjava.exe อยู่ที่ \Storage\pjava\bin)
&lt;br&gt;นำไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;jasmin.jar&lt;/span&gt; และ &lt;span style="font-size:100%;color:#3333ff;"&gt;SimpleHello.j&lt;/span&gt;
&lt;br&gt;ไปไว้ที่ Folder &lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage Card\j&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;เวลาจะคอมไพล์ SimpleHello.j ไปเป็น SimpleHello.class
&lt;br&gt;ก็ใช้ Notepad สร้างไฟล์ cpSimpleHello.lnk 
&lt;br&gt;ไว้ที่ \Storage Card\j มีอักษรว่า
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;281#"\Storage\pjava\bin\pjava.exe" -classpath "\Storage Card\j\jasmin.jar" Jasmin "\Storage Card\j\SimpleHello.j"&lt;/span&gt;
&lt;br&gt;แล้วใช้โปรแกรมพวก Explorer คลิกที่ cpSimpleHello.lnk
&lt;br&gt;รอสักครู่ก็จะได้ไฟล์ SimpleHello.class อยู่ที่ "\"(root)&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/Simplehellosp1.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;เวลาจะrun SimpleHello.class ก็สร้าง SimpleHello.lnk เป็น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;282#"\Storage\pjava\bin\pjava.exe" -classpath "\" SimpleHello&lt;/span&gt;
&lt;br&gt;แล้วใช้โปรแกรมพวก Explorer คลิกที่ SimpleHello.lnk
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/Simplehellosp2.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ดูๆไปก็สะดวกดี จะไม่สะดวกก็ตรงที่ภาษา Jasmin นี่ยากกว่า Java เยอะเลย
&lt;br&gt;คราวหน้า จะมาแนะนำ อีกภาษาหนึ่งที่ง่ายกว่า ในการเขียนโปรแกรม บน SmartPhone
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Jython&lt;/span&gt; - Python on Java&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114594403513283184?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114594403513283184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114594403513283184'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/04/jasmin-assembly-for-java.html' title='Jasmin ,Assembly for Java'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114594312404523505</id><published>2006-04-25T12:22:00.000+07:00</published><updated>2006-04-25T12:43:32.090+07:00</updated><title type='text'>Coding ,Compiling in SmartPhone</title><content type='html'>การเขียนโปรแกรมมักจะถูกจำกัดว่า ควรจะทำบน PC 
&lt;br&gt;เหมือนถูกจำกัดอยู่แค่ในบ้าน ในoffice หรือไม่ก็ต้อง หิ้วNotebook ราคาแพงๆไปด้วย
&lt;br&gt;ถ้าบางอารมณ์ อยู่ว่างๆ เบื่อๆ
&lt;br&gt;หรือรู้สึก อยากเขียนโปรแกรมเล่น สนุกๆ ที่ไหนก็ได้ เมื่อไรก็ได้
&lt;br&gt;ถ้ามี Mobile device ให้เราสามารถเขียน &lt;span style="font-size:100%;color:#3333ff;"&gt;code ,compile&lt;/span&gt; และลองเรียกใช้โปรแกรม ได้เสร็จสรรพ ก็คงจะน่าสนุกดี
&lt;br&gt;
&lt;br&gt;ที่จริงพวก &lt;span style="font-size:100%;color:#3333ff;"&gt;HTML ,xHTML ,JavaScript &lt;/span&gt;
&lt;br&gt;เขียนบน SmartPhone แล้วก็สามารถใช้ได้เลยนะครับ
&lt;br&gt;แต่มันอ่านเขียนไฟล์ไม่ได้ จึงไม่ค่อยสนุกเท่าไร
&lt;br&gt;
&lt;br&gt;จนถึงวันนี้ ผมลองเล่นดูหลายโปรแกรม ที่แนะนำไปบ้างแล้ว ก็มี
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;Python on Symbian S60&lt;/a&gt; ,&lt;a href="http://isiam.blogspot.com/2005/09/python-on-pocketpc.html"&gt;Python on PocketPc&lt;/a&gt;&lt;/span&gt;
&lt;br&gt;ที่จริงบน PocketPc ก็มีอีกหลายโปรแกรมที่น่าสนใจ เช่น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&lt;a href="http://www.pdamobiz.com/show_news.asp?NewsID=25111"&gt;PocketC#&lt;/a&gt; ,&lt;a href="http://www.mazama.net/scheme/pscheme.htm"&gt;PocketScheme&lt;/a&gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;แต่พอมาถึง &lt;span style="font-size:100%;color:#3333ff;"&gt;WindowsMoblie Smartphone&lt;/span&gt;
&lt;br&gt;เคยลองงัดแงะ PocketC# มาใส่ดู ก็ใช้ได้ดีเหมือนกัน
&lt;br&gt;(ไว้จะค่อยๆเล่าให้ฟังวันหลัง รอให้ผมคล่องC#มากขึ้นอีกสักนิดก่อน)
&lt;br&gt;
&lt;br&gt;พอผมหัดใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;PersonalJava&lt;/span&gt; ก็มีปัญหา ว่า จะต้องไป compile บน PC อีก
&lt;br&gt;ได้พยายามหา แล้วพบว่ามีภาษาอื่น ที่สามารถใช้ได้บนPersonalJava (Java1.1)
&lt;br&gt;เช่น
&lt;br&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Rhino&lt;/span&gt; เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;JavaScript&lt;/span&gt; ที่เรียกใช้ Java Class ได้
&lt;br&gt;ได้ข่าวว่าอนาคต อยู่ใน &lt;a href="http://scripting.dev.java.net/"&gt;Java6 (Mustang)&lt;/a&gt; ด้วย
&lt;br&gt;แต่ &lt;a href="http://www.mozilla.org/rhino/"&gt;Rhino&lt;/a&gt;เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;Prototype-based programming&lt;/span&gt; ไม่มี Class
&lt;br&gt;เวลาจะพยายามเขียนให้ได้ อย่าง Java Class แล้วอึดอัดยังไงก็ไม่รู้
&lt;br&gt;สรุปว่า ผมคงต้องฝึกอีกเยอะ กว่าจะรู้สึกสนุกกับ Rhino
&lt;br&gt;แต่ข้อดีที่น่าสนใจก็คือ ลง Rhino+PersonalJava แล้วสามารถ
&lt;br&gt;compile ไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;.js&lt;/span&gt; ไปเป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;.class&lt;/span&gt; ใน SmartPhoneได้เลย
&lt;br&gt;ผมก็กำลัง พยายามเขียน Rhino awt Console สำหรับ SmartPhone อยู่
&lt;br&gt;เสร็จเมื่อไร จะค่อยๆแนะนำกัน
&lt;br&gt;
&lt;br&gt;ผมเพิ่งเขียน &lt;span style="font-size:100%;color:#3333ff;"&gt;Jython&lt;/span&gt; awt Console เสร็จ กำลังเรียบเรียงข้อมูลอยู่ 
&lt;br&gt;น่าจะเป็นวิธีเดียวในขณะนี้ (เมย.49)ที่สามารถ
&lt;br&gt;นำ ภาษา &lt;span style="font-size:100%;color:#3333ff;"&gt;Python&lt;/span&gt; มาใช้บน WindowsMobile SmartPhoneได้
&lt;br&gt;
&lt;br&gt;ระหว่างนี้ไปเจอ &lt;span style="font-size:100%;color:#3333ff;"&gt;Jasmin&lt;/span&gt;
&lt;br&gt;&lt;a href="http://jasmin.sourceforge.net/"&gt;Jasmin&lt;/a&gt; เป็นคล้ายๆภาษา Assembly ของ Java คอมไพล์ไปเป็น Java bytecode
&lt;br&gt;ไฟล์นามสกุล &lt;span style="font-size:100%;color:#3333ff;"&gt;.j&lt;/span&gt; ซึ่งcompileไปเป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;.class&lt;/span&gt;
&lt;br&gt;ที่สำคัญ Jasmin+PersonalJava สร้างไฟล์.class ได้ใน SmartPhone เลย
&lt;br&gt;เสียแต่ว่า ภาษา Jasmin ยากพอๆกับ Assembly เลย 
&lt;br&gt;(เอ หรือว่ายากกว่า? น่าลองค้นๆดู ...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114594312404523505?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114594312404523505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114594312404523505'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/04/coding-compiling-in-smartphone.html' title='Coding ,Compiling in SmartPhone'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114577816423301070</id><published>2006-04-23T14:37:00.000+07:00</published><updated>2006-06-16T16:28:14.990+07:00</updated><title type='text'>จับ swing ใส่ SmartPhone</title><content type='html'>ลองมาดูเทคนิคการใส่ &lt;span style="font-size:100%;color:#3333ff;"&gt;swing&lt;/span&gt; ลงใน WindowsMobile SmartPhone ดูบ้าง
&lt;br&gt;เริ่มจากคุณต้องหา ไฟล์ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;swingall.jar&lt;/span&gt; ให้ได้ก่อน
&lt;br&gt;ลองค้นๆดูด้วย Google ครับ
&lt;br&gt;&lt;a href="http://www.google.com/search?as_q=%22swingall.jar%22&amp;num=50&amp;hl=en&amp;btnG=Google+Search&amp;as_epq=&amp;as_oq=&amp;as_eq=&amp;lr=&amp;as_ft=i&amp;as_filetype=&amp;as_qdr=all&amp;as_occt=any&amp;as_dt=i&amp;as_sitesearch=&amp;as_rights=&amp;safe=off"&gt;คลิกที่นี่เพื่อลองค้นหา swingall.jar ด้วย Google&lt;/a&gt;
&lt;br&gt;ไฟล์ &lt;span style="font-size:100%;color:#3333ff;"&gt;swingall.jar&lt;/span&gt; เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;Java swing&lt;/span&gt; รุ่นแรกๆของ Sun ไว้ใช้เขียนโปรแกรม กับJDK1.1
&lt;br&gt;ไฟล์เดียวกันนี้ก็ใช้ในการ run โปรแกรมที่เรียกใช้ swing ได้ด้วย
&lt;br&gt;
&lt;br&gt;เมื่อได้ไฟล์ชื่อ swingall.jar มาแล้ว (เนื่องจากไฟล์ค่อนข้างใหญ่ประมาณ 2MB)
&lt;br&gt;ให้นำไปใส่ใน SmartPhone ที่ &lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage Card\j&lt;/span&gt;
&lt;br&gt;(สร้างโฟลเดอร์ชื่อ  &lt;span style="font-size:100%;color:#3333ff;"&gt;j&lt;/span&gt; ใน&lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage Card&lt;/span&gt; แล้วนำ swingall.jar ไปใส่ในโฟลเดอร์นี้ -โฟลเดอร์ชื่อยิ่งสั้นยิ่งดี เพราะ สะดวกเวลาสร้าง Shortcut)
&lt;br&gt;
&lt;br&gt;การเขียนโปรแกรมเรียกใช้ swing ใน JDK1.1 จะแตกต่างจาก Javaรุ่นใหม่ๆอยู่เล็กน้อย
&lt;br&gt;ประการแรก ต้อง มี &lt;span style="font-size:100%;color:#3333ff;"&gt;swingall.jar&lt;/span&gt; ใน &lt;span style="font-size:100%;color:#3333ff;"&gt;-classpath&lt;/span&gt; ทั้งในเวลา compile และ run โปรแกรม
&lt;br&gt;(และคนที่เขียนJavaมาบ้าง คงสังเกต ว่า JDK1.1ใช้ -classpath แต่รุ่นใหม่ๆใช้คำว่า -cp)
&lt;br&gt;
&lt;br&gt;และอีกประการหนึ่ง ที่สำคัญ การเขียนโปรแกรมเรียกใช้ swing ใน JDK1.1 จะใช้ว่า
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;import com.sun.java.swing.*;&lt;/span&gt;
&lt;br&gt;(แต่ Javaรุ่นใหม่ๆจะใช้เป็น import javax.swing.*;)
&lt;br&gt;&lt;br&gt;หมายเหตุ:ขอ Update สักเล็กน้อย
&lt;br&gt;แต่ถ้าคุณสามารถหาswingall.jar version ที่เป็น javax.swing ได้ 
&lt;br&gt;ก็ใช้ import javax.swing.* ได้ครับ 
&lt;br&gt;ถ้าอยากรู้ว่าได้versionไหนมา ให้ใช้ WinRar,WinZip ค้นเข้าไปดู
&lt;br&gt;หรือแวะไปดูที่นี่
&lt;br&gt;http://www.smart-mobile.com/forum/viewtopic.php?t=97137
&lt;br&gt;&lt;br&gt;ลองมาดูตัวอย่าง code กันเลยดีกว่า
&lt;br&gt;สมมติคุณมี code ประมาณนี้
&lt;br&gt;(เทคนิคการเขียนโปรแกรมของผม อาจไม่น่าดูเป็นตัวอย่างเท่าไร แต่ก็อย่าว่ากันนะครับ)
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/swingcode01.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;จาก code เป็นโปรแกรม สร้าง JButton ไว้บน JFrame ปิดโปรแกรมเมื่อคลิกที่ JButton
&lt;br&gt;สมมติ saveโปรแกรมเป็นชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;Stest.java&lt;/span&gt; ไว้ที่ C:\ 
&lt;br&gt;(และ &lt;span style="font-size:100%;color:#3333ff;"&gt;swingalljar&lt;/span&gt; ก็อยู่ที่ C:\ด้วย)
&lt;br&gt;เปิด Command Prompt แล้ว ตั้ง  &lt;span style="font-size:100%;color:#3333ff;"&gt;path=.;C:\JDK1.1.8\bin&lt;/span&gt;
&lt;br&gt;(เผื่อว่าคุณอาจมี JDKอยู่หลาย version)
&lt;br&gt;
&lt;br&gt;เวลาคอมไพล์โปรแกรมก็พิมพ์ว่า
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;javac -classpath ".;C:\swingall.jar;C:\JDK1.1.8\lib\classes.zip" Stest.java&lt;/span&gt;
&lt;br&gt;จะได้ไฟล์ Stest.class ออกมา
&lt;br&gt;เวลาrunโปรแกรมก็พิมพ์ว่า
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;java -classpath ".;C:\swingall.jar;C:\JDK1.1.8\lib\classes.zip" Stest&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/swingcompile.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ต่อมาเวลาจะนำไปใช้บน WindowsMobile SmartPhone
&lt;br&gt;ก็สร้าง Shortcut เป็นไฟล์ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;Stest.lnk&lt;/span&gt;
&lt;br&gt;ด้วย Notepad มีตัวอักษรประมาณนี้
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;221#"\Storage\pjava\bin\pjava.exe" -classpath "\Storage\pjava;\Storage Card\j\swingall.jar" Stest&lt;/span&gt;
&lt;br&gt;(เรียงต่อกันไปในบรรทัดเดียว ไม่มีการขึ้นบรรทัดใหม่นะครับ)
&lt;br&gt;saveเป็นไฟล์ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;Stest.lnk&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/swingtosp.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;แล้วนำ ไฟล์ Stest.lnk และ Stest.class
&lt;br&gt;ไปใส่ใน SmartPhone ที่โฟลเดอร์ &lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage\pjava&lt;/span&gt;
&lt;br&gt;สรุป ถึงตรงนี้ คุณก็จะมี
&lt;br&gt;-PersonalJava(pjava.exe)อยู่ใน \Storage\pjava\bin
&lt;br&gt;-ไฟล์ Stest.lnk และ Stest.class อยู่ใน \Storage\pjava
&lt;br&gt;-swingall.jar อยู่ใน \Storage Card\j
&lt;br&gt;
&lt;br&gt;เวลาrunโปรแกรมก็ เปิด SmartExplorer แล้วคลิกที่ &lt;span style="font-size:100%;color:#3333ff;"&gt;Stest.lnk&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/swingshow.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ตัวอย่าง Code
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/stest.zip"&gt;stest.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114577816423301070?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114577816423301070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114577816423301070'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/04/swing-smartphone.html' title='จับ swing ใส่ SmartPhone'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114363424972329858</id><published>2006-03-29T19:05:00.000+07:00</published><updated>2006-03-29T19:49:38.280+07:00</updated><title type='text'>Java Programming with JDK1.1</title><content type='html'>เขียนโปรแกรมสำหรับ &lt;span style="font-size:100%;color:#3333ff;"&gt;WindowsMobile SmartPhone&lt;/span&gt; ด้วย &lt;span style="font-size:100%;color:#3333ff;"&gt;Java&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;การเขียนโปรแกรม Java สำหรับ PersonalJava ใน Smartphone 
&lt;br&gt;เราจะเขียนในลักษณะที่เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;Java Application&lt;/span&gt; (ไม่ใช่J2ME)
&lt;br&gt;ถ้าโปรแกรมไม่ซับซ้อน ไม่ specific อะไรมากมาย 
&lt;br&gt;โปรแกรมที่เขียนขึ้นจะสามารถ run ได้ทั้งบน &lt;span style="font-size:100%;color:#3333ff;"&gt;Smartphone&lt;/span&gt; และ บน &lt;span style="font-size:100%;color:#3333ff;"&gt;PC&lt;/span&gt; เลย
&lt;br&gt;
&lt;br&gt;ถ้าคุณจะหัดเขียนโปรแกรม Java ในวันนี้ 
&lt;br&gt;ผมก็แนะนำให้ใช้ JDK 5.0 (เทียบได้ประมาณ Java1.5 มั้ง?)
&lt;br&gt;แต่เนื่องจาก &lt;span style="font-size:100%;color:#3333ff;"&gt;PersonalJava&lt;/span&gt; เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;Java1.1 &lt;/span&gt;
&lt;br&gt;ดังนั้น การเขียนโปรแกรมไว้ใช้กับ PersonalJava ก็ต้องใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;JDK version 1.1&lt;/span&gt; ด้วย
&lt;br&gt;JDK1.1 นี้ถึงแม้จะเป็น JDK ตัวเก่า แต่ก็มีข้อดีหลายๆอย่างเช่น
&lt;br&gt;-โปรแกรมที่เขียนส่วนใหญ่ run บน Java version ใหม่ๆได้ด้วย
&lt;br&gt;-JDK1.1 ขนาดเล็ก (แค่8Mb) D/L ง่าย
&lt;br&gt;(JDK5.0+NetBeanIDE ขนาดประมาณ 130Mb)
&lt;br&gt;-Javaที่อยู่บน Browser รุ่นเก่าๆ (แต่ยังมีใช้กันอยู่) เป็นJava1.1
&lt;br&gt;
&lt;br&gt;เริ่มจากD/L JDK1.1 จากที่นี่
&lt;br&gt;&lt;a href="http://java.sun.com/products/archive/jdk/1.1.8_006/index.html"&gt;http://java.sun.com/products/archive/jdk/1.1.8_006/index.html&lt;/a&gt;
&lt;br&gt;D/Lมาแล้วจะได้ไฟล์&lt;span style="font-size:100%;color:#3333ff;"&gt; jdk-1_1_8_006-windows-i586.exe&lt;/span&gt;
&lt;br&gt;คลิกเพื่อติดตั้ง
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdk01.gif" /&gt;
&lt;br&gt;คลิก jdk-1_1_8_010-windows-i586.exe เพื่อติดตั้ง
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ถ้าทำตามขั้นตอนไปเรื่อยๆ จะติดตั้ง JDK1.1 ไว้ที่
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;C:\jdk1.1.8&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdk03.gif" /&gt;
&lt;br&gt;กรณีจะติดตั้ง JDK1.1 ไว้ที่ C:\jdk1.1.8
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;คงไม่ต้องแนะนำเรื่องภาษา Java นะครับ
&lt;br&gt;เพราะปัจจุบัน หนังสือ Java ที่เป็นภาษาไทย มีอยู่มากมาย
&lt;br&gt;มาดูตัวอย่างกันเลยดีกว่า
&lt;br&gt;สมมติคุณมี Code ประมาณนี้
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdkcode.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;เป็นการสร้าง Frame ขนาด 170x100 pixels 
&lt;br&gt;มีคำว่า Hello World บน title-bar และปิด Frame เมื่อกดปุ่มใดๆ
&lt;br&gt;
&lt;br&gt;save Codeไว้ที่ C:\ เป็นชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;Hi.java&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;set path = C:\jdk1.1.8\bin&lt;/span&gt; (เผื่อว่าคุณอาจลง jdk ไว้หลายตัว)
&lt;br&gt;
&lt;br&gt;compile ด้วยคำสั่ง 
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;javac Hi.java &lt;/span&gt;
&lt;br&gt;จะได้ไฟล์ Hi.class ออกมา
&lt;br&gt;run ด้วยคำสั่ง 
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;java -classpath ".;C:\jdk1.1.8\lib\classes.zip" Hi&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdk04.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ถ้าคุณจะนำไป run บน SmartPhone (ที่ลงPersonalJava)
&lt;br&gt;ก็ใช้ Notepad สร้างไฟล์ ที่มีอักษรประมาณนี้ (ไม่มีการขึ้นบรรทัดใหม่)
&lt;br&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;211#"\Storage\pjava\bin\pjava.exe" -classpath "\Storage\pjava" Hi &lt;/span&gt;
&lt;br&gt;
&lt;br&gt;แล้ว save เป็นไฟล์ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;Hi.lnk&lt;/span&gt; (ด็อท-เอล-เอ็น-เค)
&lt;br&gt;ต่อมานำไฟล์ทั้งสอง (&lt;span style="font-size:100%;color:#3333ff;"&gt;Hi.lnk ,Hi.class&lt;/span&gt;) ไปไว้ใน SmartPhone ที่
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage\pjava&lt;/span&gt;
&lt;br&gt;เวลาจะrun ก็ใช้ SmartExplorer คลิกที่ &lt;span style="font-size:100%;color:#3333ff;"&gt;Hi.lnk&lt;/span&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jdk05.gif" /&gt;&lt;img src="http://www.isiam.info/i/jdk06.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ไม่ยากเลยใช่มั้ยครับ
&lt;br&gt;(สงสัย จะยากก็ตรงเขียน Java Code นี่แหละ)
&lt;br&gt;
&lt;br&gt;ตัวอย่าง Code
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/hi.zip"&gt;hi.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114363424972329858?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114363424972329858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114363424972329858'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/03/java-programming-with-jdk11.html' title='Java Programming with JDK1.1'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114339294212918522</id><published>2006-03-27T00:05:00.000+07:00</published><updated>2006-03-27T00:28:24.370+07:00</updated><title type='text'>ลง PersonalJava ใน WindowsMobile SmartPhone</title><content type='html'>Step by Step
&lt;br&gt;หลังจากลองใช้มาได้สักระยะ ผมก็รู้สึกชอบ &lt;span style="font-size:100%;color:#3333ff;"&gt;PersonalJava&lt;/span&gt; มากขึ้นเรื่อยๆ
&lt;br&gt;เลยจะขอแนะนำวิธีติดตั้ง,วิธีใช้กับ &lt;span style="font-size:100%;color:#3333ff;"&gt;WindowsMobile SmartPhone&lt;/span&gt;
&lt;br&gt;( เครื่องรุ่นที่ผมใช้เป็น WindowsMobile2003SE รุ่นอื่นก็น่าจะใช้ได้ )
&lt;br&gt;
&lt;br&gt;บอกไว้ก่อนเลยว่า PersonalJava ไม่ใช่ Java2ME 
&lt;br&gt;ดังนั้นเอาพวก ไฟล์ .jar,.jad แบบของโทรศัพท์มือถือทั่วไป มาลง ไม่ได้แน่นอน
&lt;br&gt;แต่ มันมีความสามารถเหนือ J2ME ในหลายๆด้าน เช่น &lt;span style="font-size:100%;color:#3333ff;"&gt;การอ่านเขียนไฟล์ ,awt ,swing ,jni&lt;/span&gt;
&lt;br&gt;เปรียบเทียบแล้ว PersonalJava ก็ ประมาณ &lt;span style="font-size:100%;color:#3333ff;"&gt;Java1.1&lt;/span&gt; 
&lt;br&gt;( specใกล้เคียงกับ Java1.1 บน PC )
&lt;br&gt;อาจจะฟังดูค่อนข้างเก่า แต่ก็มีข้อดีคือ โปรแกรมที่เขียนไว้ run บน  PersonalJava จะสามารถนำมา run บน PC ที่ติดตั้ง Java version ใหม่ๆได้ด้วย
&lt;br&gt;สรุป ก็คือเหมาะสำหรับผู้สนใจจะเขียนโปรแกรมไว้ใช้เองบน SmartPhone 
&lt;br&gt;ด้วยภาษา &lt;span style="font-size:100%;color:#3333ff;"&gt;Java&lt;/span&gt;
&lt;br&gt;ผมลองแล้วใช้ได้กับภาษาอื่นๆที่ port มาลง Java ได้ด้วย เช่น
&lt;br&gt;Python (Jython)
&lt;br&gt;JavaScript (Rhino)
&lt;br&gt;(ว่าจะลอง NetREXX กับ Scheme ต่อ แต่ยังเขียนไม่เป็น.)
&lt;br&gt;
&lt;br&gt;มาเริ่มกันเลยดีกว่า
&lt;br&gt;ขั้นแรก คุณต้องหาโปรแกรม &lt;span style="font-size:100%;color:#3333ff;"&gt;PersonalJava&lt;/span&gt; มาให้ได้ซะก่อน
&lt;br&gt;ก็เคย D/L ได้จาก website ของ Sun ในสมัยก่อน แต่ตอนนี้หาไม่เจอแล้ว
&lt;br&gt;พอจะหาได้บ้างโดยใช้ Google 
&lt;br&gt;&lt;a href="http://www.google.com/search?as_q=pjavawince-1_1-beta1-arm.zip&amp;num=50&amp;hl=en&amp;btnG=Google+Search&amp;as_epq=&amp;as_oq=&amp;as_eq=&amp;lr=&amp;as_ft=i&amp;as_filetype=&amp;as_qdr=all&amp;as_occt=any&amp;as_dt=i&amp;as_sitesearch=&amp;as_rights=&amp;safe=off"&gt;click here to search for pjavawince-1_1-beta1-arm.zip&lt;/a&gt;
&lt;br&gt;ลองค้นๆดูครับไฟล์ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;pjavawince-1_1-beta1-arm.zip&lt;/span&gt;
&lt;br&gt;ได้มาแล้วเปิดดูด้วย Winzip หรือ WinRar จะพบไฟล์ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;pjavawince.arm.CAB&lt;/span&gt; อยู่ภายใน
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/pjava01.gif" /&gt;
&lt;br&gt;ภายใน pjavawince-1_1-beta1-arm.zip
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;ไฟล์ pjavawince.arm.CAB นี้ มีไว้สำหรับติดตั้ง PersonalJava ลงใน &lt;span style="font-size:100%;color:#3333ff;"&gt;PocketPC&lt;/span&gt;
&lt;br&gt;ดังนั้นมันคงไม่ยอมลงไปอยู่ใน &lt;span style="font-size:100%;color:#3333ff;"&gt;SmartPhone&lt;/span&gt; ง่ายๆ
&lt;br&gt;วิธีติดตั้ง PersonalJava ลง WindowsMobile SmartPhone แบบง่ายที่สุดก็คือ 
&lt;br&gt;นำไฟล์ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;pjavawince.arm.CAB&lt;/span&gt; ไปติดตั้งใน  &lt;span style="font-size:100%;color:#3333ff;"&gt;PocketPC&lt;/span&gt; ให้เรียบร้อยก่อน
&lt;br&gt;แล้วแงะไฟล์ที่ต้องการออกมา ได้แก่ ไฟล์ชื่อ
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;javai.dll&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;pjava.exe&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;wceCompat.dll&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/pjavaonppc.gif" /&gt;
&lt;br&gt;3ไฟล์ที่ต้องการ ภายใน PocketPC
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;แต่ถ้าคุณไม่มี PocketPC ก็ลองทำตามวิธีถัดไปนี้
&lt;br&gt;ใช้ WinRar เปิดไฟล์ชื่อ pjavawince.arm.CAB จะพบไฟล์ และโฟลเดอร์มากมาย อยู่ภายใน
&lt;br&gt;มองหาไฟล์ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;000javai.001&lt;/span&gt; แล้ว copy มันออกมา
&lt;br&gt;ต่อมาเข้าไปใน โฟลเดอร์ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;wce300&lt;/span&gt; จะมี 2 ไฟล์ อยู่ภายใน
&lt;br&gt;ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;WCECOM~1.016&lt;/span&gt; และ &lt;span style="font-size:100%;color:#3333ff;"&gt;pjava.015&lt;/span&gt; ให้  copy มันออกมา
&lt;br&gt;3 ไฟล์ ที่ได้นี้แหล่ะ เป็นไฟล์ที่เราต้องการ 
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/pjava03.gif" /&gt;
&lt;br&gt;เปิดไฟล์ pjavawince.arm.CAB
&lt;br&gt;มองหาไฟล์ชื่อ 000javai.001
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/pjava04.gif" /&gt;
&lt;br&gt;ใน โฟลเดอร์ชื่อ wce300
&lt;br&gt;มองหาไฟล์ชื่อ WCECOM~1.016 และ pjava.015
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ขั้นถัดไปก็ rename
&lt;br&gt;000javai.001  ไปเป็น  &lt;span style="font-size:100%;color:#3333ff;"&gt;javai.dll&lt;/span&gt;
&lt;br&gt;pjava.015  ไปเป็น  &lt;span style="font-size:100%;color:#3333ff;"&gt;pjava.exe&lt;/span&gt;
&lt;br&gt;WCECOM~1.016  ไปเป็น  &lt;span style="font-size:100%;color:#3333ff;"&gt;wceCompat.dll&lt;/span&gt;
&lt;br&gt;ดังรูป ข้างล่างนี้
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/pjava05.gif" /&gt;
&lt;br&gt;จัดการ Rename
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;ขั้นถัดไปก็นำไฟล์ทั้งสาม ที่ได้มาไปใส่ใน SmartPhone
&lt;br&gt;แนะนำให้ใส่ไว้ใน Phone นะครับ (ในโฟลเดอร์ &lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage\pjava\bin&lt;/span&gt;)
&lt;br&gt;ผมเคยลองใส่ไว้ใน Storage Card แล้ว มันเปิดโปรแกรมช้ามากๆ
&lt;br&gt;
&lt;br&gt;ใน Smartphone ในโฟลเดอร์ \Storage 
&lt;br&gt;ให้สร้าง โฟลเดอร์ใหม่ชื่อ \pjava
&lt;br&gt;ในโฟลเดอร์ \pjava ให้สร้าง โฟลเดอร์ใหม่ลงไปอีกชั้นชื่อ \bin
&lt;br&gt;
&lt;br&gt;จะได้เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage\pjava\bin&lt;/span&gt; ให้นำไฟล์ ทั้ง3มาไว้ใน โฟลเดอร์นี้
&lt;br&gt;ดังรูป
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/pjava06.gif" /&gt;
&lt;br&gt;นำไฟล์ ทั้ง3มาไว้ใน \Storage\pjava\bin
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;เท่านี้ก็เรียบร้อย
&lt;br&gt;ต่อไปก็วิธี run โปรแกรม
&lt;br&gt;สมมติคุณได้โปรแกรมชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;test.class&lt;/span&gt; มา
&lt;br&gt;ให้ใช้ Notepad สร้างไฟล์ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;test.lnk&lt;/span&gt; มีตัวอักษรดังนี้
&lt;br&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;205#"\Storage\pjava\bin\pjava.exe" -classpath "\Storage\pjava" test&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;ทั้งหมดนี้ไม่มีการขึ้นบรรทัดใหม่นะครับ ให้เรียงกันไปในบรรทัดเดียว
&lt;br&gt;เลขข้างหน้า เป็นเลขอะไรก็ได้ ตามด้วยเครื่องหมาย #
&lt;br&gt;แล้วตามด้วย path ของ pjava
&lt;br&gt;วรรค แล้วตามด้วย -classpath
&lt;br&gt;แล้วตามด้วย path ของ ไฟล์ .class
&lt;br&gt;(เป็นการบอกว่า จะหา ไฟล์ .class ได้จากที่ไหน)
&lt;br&gt;วรรคอีกครั้ง แล้วตามด้วยชื่อของ ไฟล์ .class (ไม่ต้องเขียนนามสกุล)
&lt;br&gt;
&lt;br&gt;ต่อมานำไฟล์ ทั้งสอง คือ &lt;span style="font-size:100%;color:#3333ff;"&gt;test.class&lt;/span&gt; และ &lt;span style="font-size:100%;color:#3333ff;"&gt;test.lnk&lt;/span&gt;
&lt;br&gt;ไปไว้ในโฟลเดอร์ &lt;span style="font-size:100%;color:#3333ff;"&gt;\Storage\pjava&lt;/span&gt;
&lt;br&gt;เวลาเรียกโปรแกรมก็เปิดโปรแกรมพวก &lt;span style="font-size:100%;color:#3333ff;"&gt;SmartExplorer&lt;/span&gt; ใน Smartphone
&lt;br&gt;แล้วคลิกที่ &lt;span style="font-size:100%;color:#3333ff;"&gt;test.lnk&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/pjava07.gif" /&gt;
&lt;br&gt;คลิกด้วย SmartExplorer
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;ตัวอย่างถัดไป สมมติคุณได้ไฟล์ testjar.jar ที่มี testjar.class อยู่ภายใน
&lt;br&gt;ไฟล์ testjar.lnk ก็จะเป็น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;206#"\Storage\pjava\bin\pjava.exe" -classpath "\Storage\pjava\testjar.jar" testjar&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;ผมเตรียมไฟล์ทดสอบไว้ที่นี่ครับ
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/testjava.zip"&gt;testjava.zip&lt;/a&gt;
&lt;br&gt;ถ้าติดตั้ง PersonalJava เรียบร้อยแล้ว D/L มาทดลองได้
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/pjava08.gif" /&gt;&lt;img src="http://www.isiam.info/i/pjava09.gif" /&gt;
&lt;br&gt;ทดสอบโปรแกรม
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;ถ้าคุณใช้ภาษา java เป็น
&lt;br&gt;ก็สามารถD/L &lt;a href="http://java.sun.com/products/archive/jdk/1.1.8_006/index.html"&gt;jdk1.1&lt;/a&gt; มาเขียนโปรแกรมไว้ใช้เองได้ครับ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114339294212918522?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114339294212918522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114339294212918522'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/03/personaljava-windowsmobile-smartphone.html' title='ลง PersonalJava ใน WindowsMobile SmartPhone'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114251340360373021</id><published>2006-03-16T19:46:00.000+07:00</published><updated>2006-03-16T19:50:03.896+07:00</updated><title type='text'>MobiLenin เวบดีๆสำหรับ Python on Symbian S60</title><content type='html'>อีกหนึ่ง website ดีๆสำหรับ Python for Symbian S60
&lt;br&gt;&lt;a href="http://www.mobilenin.com/"&gt;http://www.mobilenin.com/&lt;/a&gt;
&lt;br&gt;พร้อม &lt;a href="http://www.mobilenin.com/pys60/menu.htm"&gt;Tutorial&lt;/a&gt; และตัวอย่าง script (ไฟล์ .py) ให้ D/L&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114251340360373021?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.mobilenin.com/' title='MobiLenin เวบดีๆสำหรับ Python on Symbian S60'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114251340360373021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114251340360373021'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/03/mobilenin-python-on-symbian-s60.html' title='MobiLenin เวบดีๆสำหรับ Python on Symbian S60'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114239985855706785</id><published>2006-03-15T12:14:00.000+07:00</published><updated>2006-03-15T12:17:38.826+07:00</updated><title type='text'>โทรศัพท์มือถือของGuido van Rossum</title><content type='html'>โทรศัพท์มือถือของGuido van Rossum
&lt;br&gt;&lt;a href="http://www.artima.com/weblogs/index.jsp?blogger=guido"&gt;Guido van Rossum&lt;/a&gt; ผู้สร้างภาษา&lt;span style="font-size:100%;color:#3333ff;"&gt;Python&lt;/span&gt; รู้สึกว่าเขากำลังใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;Nokia 6630&lt;/span&gt; อยู่นะครับ (อภินันทนาการ จาก Nokia) แต่ไม่รู้ใช้เป็นเครื่องหลักหรือเปล่า
&lt;br&gt;ลองอ่าน ความรู้สึกของGuido van Rossum เมื่อได้ลองใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;Python for Symbian&lt;/span&gt; ได้ที่นี่ครับ
&lt;br&gt;&lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=148064"&gt;http://www.artima.com/weblogs/viewpost.jsp?thread=148064&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114239985855706785?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114239985855706785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114239985855706785'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/03/guido-van-rossum.html' title='โทรศัพท์มือถือของGuido van Rossum'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114200481380467919</id><published>2006-03-10T22:33:00.000+07:00</published><updated>2006-03-10T22:37:41.300+07:00</updated><title type='text'>Rhino - JavaScript (on SmartPhone)</title><content type='html'>อยากรู้เหมือนกัน ว่า &lt;span style="font-size:100%;color:#3333ff;"&gt;PersonalJava&lt;/span&gt; จะทำอะไรได้สักแค่ไหน
&lt;br&gt;เลยลองเอา &lt;a href="http://www.mozilla.org/rhino/"&gt;Rhino&lt;/a&gt; มาลงเล่น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Rhino&lt;/span&gt; เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;JavaScript (Interpreter)&lt;/span&gt; ที่เขียนขึ้นด้วย Java ล้วนๆ
&lt;br&gt;มีความสามารถสูงกว่า JavaScript บน Browser มากมาย 
&lt;br&gt;เนื่องจากมันสามารถควบคุมคำสั่งของ Java API ได้
&lt;br&gt;ไม่ว่าจะเป็น awt,swing,อ่าน-เขียนไฟล์
&lt;br&gt;และยังมี InterActive Console คล้ายๆกับที่มีใน Python
&lt;br&gt;ผมลองแก้ไข Source code แค่2ไฟล์ ก็นำ Rhinoมาลงเล่นใน MS SmartPhone ได้แล้ว
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/rhino01.gif" /&gt;&lt;img src="http://www.isiam.info/i/rhino02.gif" /&gt;
&lt;br&gt;Rhino - JavaScript นำมาลงใน MS SmartPhone
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;เมื่อปีที่แล้ว ผมหาไม่เจอ Script Languageให้เล่นบน MS SmartPhone เลยสักอย่าง
&lt;br&gt;(จริงๆ ก็มีให้ใช้อยู่ไม่รู้ทำไมมองไม่เห็น) 
&lt;br&gt;เวลานี่มีทั้ง &lt;span style="font-size:100%;color:#3333ff;"&gt;Jython(Java+Python)&lt;/span&gt; และ &lt;span style="font-size:100%;color:#3333ff;"&gt;Rhino(JavaScript)&lt;/span&gt; น่าสนุกจริงๆ
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/rhino03.gif" /&gt;
&lt;br&gt; Hello World เรียกจาก&lt;br&gt; JS swing console
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114200481380467919?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114200481380467919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114200481380467919'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/03/rhino-javascript-on-smartphone.html' title='Rhino - JavaScript (on SmartPhone)'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-114130777427216847</id><published>2006-03-02T20:47:00.000+07:00</published><updated>2006-03-02T21:01:13.696+07:00</updated><title type='text'>Jython AWT-Console</title><content type='html'>หลังจากนั่งแกะcode จนปวดหัวมาหลายวัน
&lt;br&gt;ผมก็ทำได้สำเร็จ
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Jython AWT-Console&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jshell02.gif" /&gt;&lt;img src="http://www.isiam.info/i/jshell03.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Java console&lt;/span&gt; ที่ปรากฎขึ้นมาทีแรก มันค่อนข้างเล็ก และไม่สะดวกในหลายๆด้าน
&lt;br&gt;เลยลองค้นๆดูว่ามีคนเคย ทำ Jython Console ที่เป็นGUI หรือยัง
&lt;br&gt;ก็เจออยู่บ้าง
&lt;br&gt;&lt;a href="http://www.nano.geo.uni-muenchen.de/~fxj/jcrust.html"&gt;Jcrust&lt;/a&gt; ดัดแปลงมาจาก
&lt;br&gt;&lt;a href="http://don.freeshell.org/jython/"&gt;Jython Console with Code Completion&lt;/a&gt; (ซึ่งดัดแปลงมาจาก &lt;a href="http://sourceforge.net/projects/pycrust/"&gt;PyCrust&lt;/a&gt; อีกที)
&lt;br&gt;เป็น Swing ทั้งนั้นเลย
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jshell04.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jcrust.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;แล้ว &lt;span style="font-size:100%;color:#3333ff;"&gt;PersonalJava บน Microsoft SmartPhone&lt;/span&gt; มันเป็น Java1.1 จะใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;Swing&lt;/span&gt; ได้หรือเปล่า
&lt;br&gt;ค้นดูในตำราของ ดร.วีระศักดิ์ มีเขียนไว้ว่าให้หาไฟล์ ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;swingall.jar&lt;/span&gt; มาลง
&lt;br&gt;ผมลองทำตามก็ใช้ได้เลย 
&lt;br&gt;เลยได้เคล็ดวิชามาอีกหนึ่งอย่าง คือการใช้ swing ใน PersonalJava บน Microsoft SmartPhone
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jswing01.gif" /&gt;&lt;img src="http://www.isiam.info/i/jswing02.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;ผมแก้ไขเพียงไม่กี่บรรทัด ก็นำเอา Jython Console with Code Completion แบบ Swing มาใช้บน Microsoft SmartPhone ได้สำเร็จ
&lt;br&gt;แต่มันใช้เวลา Startup ช้ามากๆ และต้องใช้ปุ่มtab (ซึ่งผมหาไม่เจอบนSmartphone)
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jswing03.gif" /&gt;&lt;br&gt;Swing Jython Console
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;เลยลองเขียนใหม่เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;AWT&lt;/span&gt; ซึ่งก็ใช้ได้ดี ใกล้จะเสร็จเรียบร้อยแล้ว
&lt;br&gt;อีกสักพักจะค่อยๆแนะนำวิธีติดตั้ง+วิธีใช้ ครับ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-114130777427216847?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114130777427216847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/114130777427216847'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/03/jython-awt-console.html' title='Jython AWT-Console'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-113971309927884290</id><published>2006-02-12T09:51:00.000+07:00</published><updated>2006-03-02T21:14:14.726+07:00</updated><title type='text'>Jython for PocketPC and Smartphone</title><content type='html'>2-3 เดือนที่ผ่านมา ผมมักจะใช้เวลาว่างค้นคว้าเรื่อง การนำ Jython มาใช้บน PocketPC และ Microsoft Smartphone
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Jython&lt;/span&gt; เป็น Python ที่เป็น Pure Java 
&lt;br&gt;คือเป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;Python Interpreter&lt;/span&gt; ที่สร้างขึ้นด้วย &lt;span style="font-size:100%;color:#3333ff;"&gt;Java&lt;/span&gt; ล้วนๆ
&lt;br&gt;(ฝีมือ Jim Hugunin ผู้สร้าง IronPython)
&lt;br&gt;ดังนั้น Jython จึงสามารถทำงานได้บน แทบทุก Platform ที่ลง Java ไว้
&lt;br&gt;(Java Virtual Machine version 1.1 ขึ้นไป)
&lt;br&gt;แต่ PocketPC และ Microsoft Smartphone นี่ก็หา Java มาใช้แบบฟรีๆ ได้ยากมากๆเลย
&lt;br&gt;
&lt;br&gt;หลังจากผมค้นคว้าไปสักพัก ก็พบว่า &lt;span style="font-size:100%;color:#3333ff;"&gt;J2ME&lt;/span&gt; ไม่สามารถ Run Jython ได้
&lt;br&gt;เพราะ Java 2 Micro Edtion - ที่ใช้ตามโทรศัพท์มือถือ มีความสามารถจำกัด มีความสามารถน้อยกว่า Java ที่อยู่บน PC 
&lt;br&gt;โดยเฉพาะ พวก &lt;span style="font-size:100%;color:#3333ff;"&gt;Reflection&lt;/span&gt; นั้น จำเป็นมากในการ Run Jython
&lt;br&gt;
&lt;br&gt;จนกระทั้งวันนึง ผมอ่านเจอใน Mailing List เก่าๆของ Jython และ Python WinCE
&lt;br&gt;ว่าสามารถ Run Jython ได้บน PocketPC โดยใช้ PersonalJava
&lt;br&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;PersonalJava&lt;/span&gt; เป็น Java for Mobile Device ที่ Sun เลิกสนับสนุน
&lt;br&gt;ออกมาแค่ version 1.1 beta แล้วไม่มีออกมาอีก
&lt;br&gt;ปัจจุบันหาD/Lไม่ได้แล้ว จาก&lt;a href="http://java.sun.com/products/personaljava/index.jsp"&gt;Website ของ Sun&lt;/a&gt;
&lt;br&gt;แต่ยังพอหาได้ด้วย &lt;a href="http://www.google.co.th/search?hl=en&amp;q=%22pjavawince-1_1-beta1-arm.zip%22&amp;btnG=Google+Search&amp;meta="&gt;Google&lt;/a&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jython03.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;Run Jython ได้บน PocketPC โดยใช้ PersonalJava เป็นแค่ก้าวแรกๆ
&lt;br&gt;บอกตามตรง มันใช้ไม่ค่อยสะดวกนักหรอก
&lt;br&gt;ถ้าคุณอยาใช้ Python บน PocketPC ก็ใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;Python for PocketPC&lt;/span&gt; ที่แนะนำไปแล้วจะสะดวกกว่า
&lt;br&gt;เว้นเสียแต่ คุณจะใจรัก อยากใช้ Java อยากใช้ Jython มากจริงๆ
&lt;br&gt;Run Jython บน PocketPC ช่วยให้เขียนโปรแกรมใช้คำสั่งต่างๆของ Java ได้โดยไม่ต้องเสีย เวลา compile บน PC
&lt;br&gt;เขียนเป็น สคริปต์ไฟล์ .py แล้วใช้งานบนPocketPC ได้ทันที
&lt;br&gt;และยัง support &lt;span style="font-size:100%;color:#3333ff;"&gt;java.awt&lt;/span&gt; อีกต่างหาก
&lt;br&gt;
&lt;br&gt;ผมใช้ Python ได้บน PC, JVM, Symbian และ PocketPC
&lt;br&gt;สิ่งหนึ่ง ที่ผมอยากทำมากๆเลย ในขั้นถัดไป ก็คือ 
&lt;br&gt;Run Python บน Microsoft Smartphone
&lt;br&gt;เพราะช่วงนี้ ผมพก &lt;span style="font-size:100%;color:#3333ff;"&gt;Microsoft Smartphone (2003SE)&lt;/span&gt; ค่อนข้างบ่อย
&lt;br&gt;และวันนี้ผมก็ทำได้สำเร็จ
&lt;br&gt;โดยใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;PersonalJava + Jython&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/jython01.gif" /&gt;&lt;img src="http://www.isiam.info/i/jython04.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;แต่มันต้อง &lt;span style="font-size:100%;color:#3333ff;"&gt;Hack&lt;/span&gt; อะไรอีกหลายๆอย่าง ไว้จะค่อยๆเล่าให้ฟังครับ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-113971309927884290?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/113971309927884290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/113971309927884290'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2006/02/jython-for-pocketpc-and-smartphone.html' title='Jython for PocketPC and Smartphone'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-113248384978693489</id><published>2005-11-20T17:44:00.000+07:00</published><updated>2005-11-20T18:02:38.356+07:00</updated><title type='text'>จัดเรียง widget ด้วย grid</title><content type='html'>&lt;span style="font-size:80%;color:#3333ff;"&gt;Python for PocketPC&lt;/span&gt;
&lt;br&gt;Geometry Manager ช่วยจัดเรียง widget บน root window
&lt;br&gt;เมื่อทำเสร็จเรียบร้อย widget จึงจะสามารถปรากฎให้เราเห็นได้
&lt;br&gt;ที่ผ่านมา ได้แนะนำวิธีใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;Geometry Manager&lt;/span&gt; ที่เรียกว่า &lt;span style="font-size:100%;color:#3333ff;"&gt;pack&lt;/span&gt;
&lt;br&gt;แต่ pack นั้น ใช้เรียง widgetให้ได้ดังใจเรา ได้ค่อนข้างยาก
&lt;br&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;grid&lt;/span&gt; เป็น Geometry Manager อีกอัน ที่อาจจะซับซ้อนกว่าเล็กน้อย
&lt;br&gt;แต่สามารถ วาง widget ตามแนว x,y คล้ายๆตาราง ดูจะน่าใช้กว่า
&lt;br&gt;
&lt;br&gt;สมมติคุณสร้าง Button a,b,c,d,e และ f
&lt;br&gt;เราสามารถใช้คำสั่ง grid ตามด้วย option ในวงเล็บ เพื่อสั่งว่าจะให้แต่ละ Button ไปอยู่ ตามแนว &lt;span style="font-size:100%;color:#3333ff;"&gt;row&lt;/span&gt; และ &lt;span style="font-size:100%;color:#3333ff;"&gt;column&lt;/span&gt; ที่เท่าไร &lt;br&gt;ดังตัวอย่าง
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\python\\lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;root.title('Python &amp; Tk')
&lt;br&gt;a=Tkinter.Button(text="Something")
&lt;br&gt;b=Tkinter.Button(text="Anything")
&lt;br&gt;c=Tkinter.Button(text="Nothing")
&lt;br&gt;d=Tkinter.Button(text="Hi !!")
&lt;br&gt;e=Tkinter.Button(text="Hello")
&lt;br&gt;f=Tkinter.Button(text="Exit" , command=sys.exit)
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;a.grid(row=0,column=0)&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;b.grid(row=0,column=1)&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;c.grid(row=0,column=2)&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;d.grid(row=1,column=0)&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;e.grid(row=1,column=1)&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;f.grid(row=1,column=2)&lt;/span&gt;
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/tk051120a.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;หรือจะเรียกใช้ คำสั่ง grid ตามหลังเวลาสร้างแต่ละ Button เลยก็ได้
&lt;br&gt;ดัง code ข้างล่าง ก็จะได้ผลออกมาเหมือนกัน
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\python\\lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;root.title('Python &amp; Tk')
&lt;br&gt;a=Tkinter.Button(text="Something").&lt;span style="font-size:100%;color:#3333ff;"&gt;grid(row=0,column=0)&lt;/span&gt;
&lt;br&gt;b=Tkinter.Button(text="Anything").&lt;span style="font-size:100%;color:#3333ff;"&gt;grid(row=0,column=1)&lt;/span&gt;
&lt;br&gt;c=Tkinter.Button(text="Nothing").&lt;span style="font-size:100%;color:#3333ff;"&gt;grid(row=0,column=2)&lt;/span&gt;
&lt;br&gt;d=Tkinter.Button(text="Hi !!").&lt;span style="font-size:100%;color:#3333ff;"&gt;grid(row=1,column=0)&lt;/span&gt;
&lt;br&gt;e=Tkinter.Button(text="Hello").&lt;span style="font-size:100%;color:#3333ff;"&gt;grid(row=1,column=1)&lt;/span&gt;
&lt;br&gt;f=Tkinter.Button(text="Exit" , command=sys.exit).&lt;span style="font-size:100%;color:#3333ff;"&gt;grid(row=1,column=2)&lt;/span&gt;
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;br&gt;จะเห็นว่าแต่ละ Button มีขนาดไม่สม่ำเสมอกัน 
&lt;br&gt;ต่อไปเราจะพยายาม แก้ไข ขนาดของบาง Button
&lt;br&gt;
&lt;br&gt;Button ไหนสั้นไป ก็ใช้ option ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;sticky &lt;/span&gt;)เพิ่มเข้าไป
&lt;br&gt;เพื่อบอกให้ Botton แผ่ออกไปให้เต็มช่องว่าง
&lt;br&gt;ดัง code ข้างล่าง เราใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;sticky='E'+'W' &lt;/span&gt;)
&lt;br&gt;เพื่อบอกให้ Button d และ e แผ่ออกไปตามแนว East และ West
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\python\\lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;root.title('Python &amp; Tk')
&lt;br&gt;a=Tkinter.Button(text="Something").grid(row=0,column=0)
&lt;br&gt;b=Tkinter.Button(text="Anything").grid(row=0,column=1)
&lt;br&gt;c=Tkinter.Button(text="Nothing").grid(row=0,column=2)
&lt;br&gt;d=Tkinter.Button(text="Hi !!").grid(row=1,column=0,&lt;span style="font-size:100%;color:#3333ff;"&gt;sticky='E'+'W'&lt;/span&gt;)
&lt;br&gt;e=Tkinter.Button(text="Hello").grid(row=1,column=1,&lt;span style="font-size:100%;color:#3333ff;"&gt;sticky='E'+'W'&lt;/span&gt;)
&lt;br&gt;f=Tkinter.Button(text="Exit" , command=sys.exit)
&lt;br&gt;f.grid(row=1,column=2,&lt;span style="font-size:100%;color:#3333ff;"&gt;sticky='E'+'W'&lt;/span&gt;))
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/tk051120b.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;แต่ถ้า widget แต่ละแนว มีจำนวนไม่เท่ากัน ก็คงจะนำมาเรียงให้เรียบร้อยเป็นตารางหมากรุก คงจะยาก
&lt;br&gt;option ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;columnspan&lt;/span&gt; ช่วยบอกให้ widget แผ่ขยาย ไปกินที่ช่องข้างๆ
&lt;br&gt;ดังตัวอย่าง ถัดไป เราลบ Button e ทิ้ง แล้วบอกให้ Button d แผ่ไปครอบคลุมพื้นที่ 2 column
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\python\\lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;root.title('Python &amp; Tk')
&lt;br&gt;a=Tkinter.Button(text="Something").grid(row=0,column=0)
&lt;br&gt;b=Tkinter.Button(text="Anything").grid(row=0,column=1)
&lt;br&gt;c=Tkinter.Button(text="Nothing").grid(row=0,column=2)
&lt;br&gt;d=Tkinter.Button(text="Hi !!")
&lt;br&gt;d.grid(row=1,column=0,sticky='E'+'W',&lt;span style="font-size:100%;color:#3333ff;"&gt;columnspan=2&lt;/span&gt;)
&lt;br&gt;f=Tkinter.Button(text="Exit" , command=sys.exit)
&lt;br&gt;f.grid(row=1,column=2,sticky='E'+'W')
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
 
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/tk051120c.gif" /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;img src="http://www.isiam.info/i/tk051120d.gif" /&gt;&lt;br&gt;  code เดียวกัน ลอง run บน PC
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;

&lt;br&gt;
&lt;br&gt;ตัวอย่าง code
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tkGridTest1.zip"&gt;tkGridTest1.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tkGridTest2.zip"&gt;tkGridTest2.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tkGridTest3.zip"&gt;tkGridTest3.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tkGridTest4.zip"&gt;tkGridTest4.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-on-pocketpc.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&gt;&gt;&gt;&lt;/span&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/widget-pack.html"&gt;หน้าก่อน&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-113248384978693489?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/113248384978693489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/113248384978693489'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/11/widget-grid.html' title='จัดเรียง widget ด้วย grid'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-113121507403355220</id><published>2005-11-06T01:11:00.000+07:00</published><updated>2005-11-06T01:28:59.003+07:00</updated><title type='text'>IronPython0.94 for .NET2.0 ออกแล้ว</title><content type='html'>งานนี้ขอแจ้งข่าว - แต่ไม่เกี่ยวกับ Symbian หรือ Pocketpc สักเท่าไร
&lt;br&gt;IronPython อีกหนึ่งทางเลือกในการเขียนโปรแกรมบน .NET2.0 
&lt;br&gt;ออกเวอร์ชันใหม่ &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=BA268A8E-0D79-4245-B14B-9A89395654DA&amp;displaylang=en"&gt;0.94&lt;/a&gt; 
&lt;br&gt;ที่น่าสนใจก็คือ คราวนี้ มี Tutorial อย่างดี แนบมาด้วย
&lt;br&gt;(ไม่ต้องงม ลองผิดลองถูก แบบเดิมๆอีกแล้ว)
&lt;br&gt;
&lt;br&gt;ช่วงนี้ไม่ค่อยจะได้เขียนอะไรเพิ่มเติมเลย กำลังพยามยามเข้าใจ Pythonให้ลึกซึ้งยิ่งขึ้น
&lt;br&gt;กำลังฝึก Object-Oriented Programming กับ Funtional Programming 
&lt;br&gt;และก็ศึกษา .Net ไปด้วย 
&lt;br&gt;พอมี IronPython0.94 ออกมาพอดี คงได้มีอะไรสนุกๆในชีวิต เพิ่มขึ้น
&lt;br&gt;
&lt;br&gt;มีบทความ Discover Python มาฝาก ผมอ่านแล้ว รู้สึกเลยว่า เข้าใจ Python ได้ลึกซึ้งขึ้น กว่าเดิม
 &lt;br&gt;&lt;a href="http://www-128.ibm.com/developerworks/opensource/library/os-python1/"&gt;Discover Python, Part 1: Python's built-in numerical types&lt;/a&gt;
&lt;a href="http://www-128.ibm.com/developerworks/opensource/library/os-python2/"&gt;&lt;br&gt;Discover Python, Part 2: Explore the Python type hierarchy&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www-128.ibm.com/developerworks/opensource/library/os-python3/"&gt;Discover Python, Part 3: Explore the Python type hierarchy - string&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www-128.ibm.com/developerworks/opensource/library/os-python4/"&gt;Discover Python, Part 4: Explore the Python type hierarchy - list&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www-128.ibm.com/developerworks/opensource/library/os-python5/"&gt;Discover Python, Part 5: Programming in Python - flow control&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www-128.ibm.com/developerworks/opensource/library/os-python6/"&gt;Discover Python, Part 6: Programming in Python - for loop&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www-128.ibm.com/developerworks/linux/library/l-prog.html"&gt;Charming Python: Functional programming in Python, Part 1&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www-128.ibm.com/developerworks/linux/library/l-prog2.html"&gt;Charming Python: Functional programming in Python, Part 2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-113121507403355220?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gotdotnet.com/workspaces/workspace.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742' title='IronPython0.94 for .NET2.0 ออกแล้ว'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/113121507403355220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/113121507403355220'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/11/ironpython094-for-net20.html' title='IronPython0.94 for .NET2.0 ออกแล้ว'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112999104563954370</id><published>2005-10-22T21:19:00.001+07:00</published><updated>2005-11-06T01:11:19.230+07:00</updated><title type='text'>D/L Python for Series 60 version 1.2</title><content type='html'>D/L Python for Series 60 version 1.2 ได้แล้วครับที่&lt;br&gt;
&lt;em&gt;&lt;a href="http://www.forum.nokia.com/main/0,6566,034-821,00.html"&gt;http://www.forum.nokia.com/main/0,6566,034-821,00.html&lt;/a&gt;
&lt;/em&gt;
&lt;br&gt;&lt;br&gt;Version 1.2 is Nokia's second major release of the Python for Series 60 environment. &lt;br&gt;The new version includes support for the following new features:

&lt;br&gt;2D Graphics, Images, and Full-screen applications
&lt;br&gt;Camera and Screenshot API
&lt;br&gt;Contacts and Calendar API
&lt;br&gt;Sound recording and playback
&lt;br&gt;Access to System info, such as IMEI number, disk space, free memory, etc.
&lt;br&gt;Rich text display (fonts, colors, styles)
&lt;br&gt;Support for Scalable UI
&lt;br&gt;Expanded key events
&lt;br&gt;Telephone dialing
&lt;br&gt;ZIP module&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112999104563954370?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.forum.nokia.com/main/0,6566,034-821,00.html' title='D/L Python for Series 60 version 1.2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112999104563954370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112999104563954370'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/10/dl-python-for-series-60-version-12_22.html' title='D/L Python for Series 60 version 1.2'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112788740955622640</id><published>2005-09-28T13:00:00.000+07:00</published><updated>2005-11-20T18:08:30.836+07:00</updated><title type='text'>การจัดเรียง widget ด้วย .pack()</title><content type='html'>&lt;span style="font-size:80%;color:#3333ff;"&gt;Python for PocketPC&lt;/span&gt;
&lt;br&gt;การจัดเรียง widget ใน root window สามารถทำได้โดยใช้ กลุ่มคำสั่ง ที่เรียกว่า &lt;span style="font-size:100%;color:#3333ff;"&gt;Geometry Manager&lt;/span&gt; (ได้แก่ .pack() .grid() และ .place())
&lt;br&gt;Tkinter ใน Python ให้ความสำคัญกับ การทำGeometry Manager ค่อนข้างมาก 
&lt;br&gt;โดยแต่ละ widget ต้องเรียกคำสั่ง Geometry Manager ให้เรียบร้อยเสียก่อน จึงจะปรากฏบน screen ให้เห็นได้
&lt;br&gt;คำสั่งหนึ่งใน Geometry Manager ที่ได้มีการใช้ให้เห็น ไปบ้างแล้ว คือคำสั่ง pack()
&lt;br&gt;เช่นถ้าเรามี widget ชื่อ button01 แล้วจะเรียกคำสั่ง pack() ก็ใช้ว่า
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;button01.pack()&lt;/span&gt;
&lt;br&gt;หรือสามารถเรียก คำสั่ง pack() ได้ตั้งแต่ ช่วงสร้าง widget เลยก็ได้ เช่น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;button01=Tkinter.Button(text=u'something').pack()&lt;/span&gt;
&lt;br&gt;ลองมาดูตัวอย่าง code เต็มๆกัน
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\Python\\Lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;root.title(u'tk05')
&lt;br&gt;button01=Tkinter.Button(text=u'something').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack()&lt;/span&gt;
&lt;br&gt;button02=Tkinter.Button(text=u'anything').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack()&lt;/span&gt;
&lt;br&gt;button03=Tkinter.Button(text=u'nothing').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack()&lt;/span&gt;
&lt;br&gt;button04=Tkinter.Button(text=u'another').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack()&lt;/span&gt;
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test05092801.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test05092802.gif" /&gt;&lt;br&gt;ลองเปลี่นขนาด-ตำแหน่ง&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;(คุณสามารถคลิกที่ Tk root window เพื่อย้ายตำแหน่ง เปลี่ยนขนาดได้ คล้ายๆกับ Windows บน PC)
&lt;br&gt;จะเห็นว่า แต่ละ button ขนาดไม่เท่ากัน เกาะรวมอยู่ด้านบน
&lt;br&gt;คุณสามารถเพิ่ม option ต่างๆ ให้คำสั่ง pack() เช่น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;side&lt;/span&gt; ทำให้ widget ไปเรียงชิดขอบ 
&lt;br&gt;side อาจจะกำหนดให้เท่ากับ &lt;span style="font-size:100%;color:#3333ff;"&gt;'top' ,'left' ,'right' หรือ 'buttom'&lt;/span&gt;
&lt;br&gt;(by default ถ้าไม่กำหนด option side ไว้ จะถือว่า side='top')
&lt;br&gt;ดังตัวอย่าง
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\Python\\Lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;root.title(u'tk06')
&lt;br&gt;button01=Tkinter.Button(text=u'something').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack(side='top')&lt;/span&gt;
&lt;br&gt;button02=Tkinter.Button(text=u'anything').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack(side='left')&lt;/span&gt;
&lt;br&gt;button03=Tkinter.Button(text=u'nothing').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack(side='right')&lt;/span&gt;
&lt;br&gt;button04=Tkinter.Button(text=u'another').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack(side='bottom')&lt;/span&gt;
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test05092803.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;ถ้าอยากจะให้ widget แผ่ไปตามแนวซ้าย-ขวา จนเต็ม root window ก็ใช้ option
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;fill='x'&lt;/span&gt;
&lt;br&gt;เช่น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;button01=Tkinter.Button(text=u'something').pack(fill='x')&lt;/span&gt;
&lt;br&gt;ดังตัวอย่าง
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\Python\\Lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;root.title(u'tk07')
&lt;br&gt;button01=Tkinter.Button(text=u'something').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack(fill='x')&lt;/span&gt;
&lt;br&gt;button02=Tkinter.Button(text=u'anything').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack(fill='x')&lt;/span&gt;
&lt;br&gt;button03=Tkinter.Button(text=u'nothing').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack(fill='x')&lt;/span&gt;
&lt;br&gt;button04=Tkinter.Button(text=u'another').&lt;span style="font-size:100%;color:#3333ff;"&gt;pack(fill='x')&lt;/span&gt;
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test05092804.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;ตัวอย่าง code
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tk05.zip"&gt;tk05.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tk06.zip"&gt;tk06.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tk07.zip"&gt;tk07.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/11/widget-grid.html"&gt;หน้าถัดไป&lt;/a&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&gt;&gt;&gt;&lt;/span&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-on-pocketpc.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&lt;&lt;&lt;&lt;/span&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/button.html"&gt;หน้าก่อน&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112788740955622640?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112788740955622640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112788740955622640'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/widget-pack.html' title='การจัดเรียง widget ด้วย .pack()'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112766982283313800</id><published>2005-09-26T00:29:00.000+07:00</published><updated>2006-03-24T23:14:16.486+07:00</updated><title type='text'>At home ,Let's run IronPython.</title><content type='html'>Guido van Rossum สร้างภาษา &lt;a href="http://www.python.org"&gt;Python&lt;/a&gt; ขึ้นมาเมื่อประมาณปี1990
&lt;br&gt;ภาษาPython นั้น เป็น Script Language ที่เรียบง่าย และสวยงาม แต่ก็ทำอะไรดีๆ น่าประทับใจได้หลายๆอย่าง
&lt;br&gt;ประมาณปี1997 &lt;a href="http://hugunin.net/"&gt;Jim Hugunin&lt;/a&gt; สร้าง Python อีกสายพันธุ์หนึ่งบน Java
&lt;br&gt;รู้จักกันในนาม &lt;a href="http://www.jython.org/"&gt;Jython&lt;/a&gt; (หรือ JPython) 
&lt;br&gt;Jython ทำให้สามารถเขียนโปรแกรมJava ได้ง่ายๆ สั้นๆ และสามารถ run ทดสอบcodeได้ใน InterActive Console (ไม่ต้องเสียเวลา compile หลายๆครั้ง)
&lt;br&gt;จะเรียกGUIต่างๆของJava ไม่ว่าจะเป็น AWT ,Swing ก็เรียกขึ้นมาได้ง่ายๆ จาก InterActive Console
&lt;br&gt;&lt;br&gt;เมื่อ10วันก่อน ระหว่างที่ผมกำลังประทับใจ กับความสามารถต่างๆของ Jython
&lt;br&gt;ก็ได้ทราบข่าวจากเพื่อนคนนึงว่า &lt;a href="http://blogs.msdn.com/hugunin/"&gt;Jim Hugunin&lt;/a&gt; ย้ายไปร่วมงานกับ Microsoft ตั้งแต่ปีที่แล้ว
&lt;br&gt;และก็เกิด Python อีกสายพันธุ์ขึ้นมา บน .NET ชื่อว่า &lt;a href="http://www.ironpython.com/"&gt;IronPython&lt;/a&gt;
&lt;br&gt;ผมอาจจะทราบข่าวล้าหลังคนอื่นตั้ง1ปี แต่ก็ทันพอดี IronPython ออก version ใหม่ 
&lt;br&gt;version 0.9 ,0.91 ,0.92 ออกตามๆกันมา ในเวลาไล่เลี่ยกัน ช่วงกค.-กย.48
&lt;br&gt;&lt;a href="http://www.gotdotnet.com/workspaces/workspace.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742"&gt;IronPython&lt;/a&gt; versionนี้ จำเป็นจะต้องrun บน .NET framework 2.0beta ขึ้นไป
&lt;br&gt;ผมเสียเวลาอยู่พักหนึ่ง ถอด .NETframework1.1 ออก
&lt;br&gt;ย้ายVisualStudio.NET2003(ซึ่งจำเป็นต้องย้ายตาม .NETframework1.1) ไปอยู่ harddisk ตัวอื่น
&lt;br&gt;กว่าจะได้ลอง IronPython0.92 ก็เหนื่อย แต่ก็คุ้มที่ได้ลอง 
&lt;br&gt;และผมประทับใจกับ IronPython ขึ้นมาทันที
&lt;br&gt;&lt;br&gt;D/L ไฟล์ &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2c649e9e-cf43-41e0-9e22-6e6438924caa&amp;displaylang=en"&gt;IronPython-0.9.2.zip&lt;/a&gt; ขนาดแค่ประมาณ 1/2MB 
&lt;br&gt;มีแนะนำวิธีใช้เพียงแค่ webpage 2หน้า FAQ.html และ Readme.html สั้นๆ 
&lt;br&gt;ที่เหลือ ก็ให้เราทดลอง และค้นๆดูวิธีใช้เอาเอง (ท้าทายความสามารถดีแท้ๆ)
&lt;br&gt;เริ่มจากเรียก InterActive Console โดยคลิกที่ไฟล์ IronPythonConsole.exe
&lt;br&gt;จะปรากฏ InterActive Console คล้ายๆCommandPrompt มีเครื่องหมาย &gt;&gt;&gt;
&lt;br&gt;ลองพิมพ์คำสั่ง
&lt;br&gt;
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.LoadAssemblyByName("System.Windows.Forms")
&lt;br&gt;import System.Windows.Forms.MessageBox
&lt;br&gt;System.Windows.Forms.MessageBox.Show("Hello")&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test05092601.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;น่าสนใจจริงๆ codeแค่4บรรทัด เรียกใช้คำสั่งใน .NETframework 
&lt;br&gt;แสดง MessageBox มีคำว่า Hello ออกมา ง่ายดายอะไรอย่างนี้
&lt;br&gt;ผมลองสร้างเป็น textไฟล์ชื่อ i01.py แล้วลากไปใส่ในไอคอนของ IronPythonConsole.exe
&lt;br&gt;ได้ผลคล้ายๆกัน แต่คราวนี้ได้ไฟล์ i01.exe เพิ่มขึ้นมา
&lt;br&gt;ไฟล์ i01.exe สามารถนำไปsave เก็บไว้ แล้วคลิกที่ไฟล์เพื่อ run โปรแกรมได้เลย
&lt;br&gt;(แต่ต้องrunบน.NET framework 2.0beta ขึ้นไป และมีไฟล์ .dll 2ไฟล์ ของ IronPython อยู่ใกล้ๆ)
&lt;br&gt;ลองเขียนโปรแกรมแบบ Windows Form มีปุ่มกด เรียก MessageBox ดูบ้าง&lt;br&gt;
&lt;br&gt;
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.LoadAssemblyByName("System.Windows.Forms")
&lt;br&gt;from System.Windows.Forms import *
&lt;br&gt;
&lt;br&gt;my_Form = Form(Text="Hello Test")
&lt;br&gt;my_Form.StartPosition = FormStartPosition.CenterScreen
&lt;br&gt;the_Button = Button(Text="Push Me")
&lt;br&gt;
&lt;br&gt;def press_here(data, event):
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp;MessageBox.Show("Hello")
&lt;br&gt;
&lt;br&gt;the_Button.Click += press_here
&lt;br&gt;
&lt;br&gt;my_Form.Controls.Add(the_Button)
&lt;br&gt;my_Form.ShowDialog()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
 &lt;br&gt;
&lt;br&gt;ได้ผลดังรูปข้างล่าง น่าประทับใจจริงๆ
&lt;br&gt;เขียนโปรแกรมแบบ.NET ไว้ใช้เองได้ง่ายๆ ได้ไฟล์ .exe ซึ่งทำงานได้รวดเร็ว
&lt;br&gt;ได้หัดใช้ คำสั่งต่างๆ ของ Windows Form Programming
&lt;br&gt;แต่คงยังพัฒนาโปรแกรมให้ใครใช้ไม่ได้ครับ 
&lt;br&gt;เพราะไม่รู้ว่า มีใครใช้ .NET framework 2.0beta กันบ้างหรือยัง&lt;br&gt;&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test05092602.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112766982283313800?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112766982283313800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112766982283313800'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/at-home-lets-run-ironpython.html' title='At home ,Let&apos;s run IronPython.'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112749597941340670</id><published>2005-09-24T00:16:00.000+07:00</published><updated>2005-09-24T00:23:33.350+07:00</updated><title type='text'>เปลี่ยน Screen body ให้เป็น Listbox</title><content type='html'>&lt;span style="font-size:80%;color:#3333ff;"&gt;Python on Symbian&lt;/span&gt;
&lt;br&gt;ที่ผ่านๆมาเราใช้ Screen body เป็นแบบ Text และมีการใช้ GUI แบบต่างๆ เพิ่มขึ้นมา เพื่อรับ Input จาก user
&lt;br&gt;คราวนี้ จะลองมาเปลี่ยน Screen body ให้เป็นแบบ &lt;span style="font-size:100%;color:#3333ff;"&gt;Listbox&lt;/span&gt; ดูบ้าง 
&lt;br&gt;เพื่อแสดงแต่ละรายการใน List ในหน้าจอหลักของโปรแกรมเลย และสามารถรับคำสั่ง เมื่อ user กดเลือกแต่ละรายการใน Listbox ได้ด้วย
&lt;br&gt;
&lt;br&gt;เริ่มจากสร้าง List เตรียมไว้ และใช้ def กำหนดคำสั่งที่ต้องการ จะให้ทำเมื่อกดเลือกรายการใน Listbox
&lt;br&gt;วิธีใช้
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Listbox(Listที่สร้างเตรียมไว้,คำสั่งที่ต้องการ)&lt;/span&gt;
&lt;br&gt;เปลี่ยน Screen body ให้เป็น Listbox ได้ดังตัวอย่าง
&lt;br&gt;
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw,e32
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;def my_press():&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    &lt;span style="font-size:100%;color:#3333ff;"&gt;appuifw.note(u'You select the month.','info')&lt;/span&gt;
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;text_list=[u'January',u'February',u'March',u'April',u'May',u'June',u'July',&lt;br&gt;u'August',u'September',u'October',u'November',u'December']
&lt;br&gt;appuifw.app.title=u'test24'
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;My_Screen=appuifw.Listbox(text_list,my_press)&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;appuifw.app.body=My_Screen&lt;/span&gt;
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test05092401.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;Codeตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test24.zip"&gt;test24.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/sys-module.html"&gt;หน้าถัดไป&lt;/a&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&gt;&gt;&gt;&lt;/span&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/mutiselectionlist.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112749597941340670?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112749597941340670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112749597941340670'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/screen-body-listbox.html' title='เปลี่ยน Screen body ให้เป็น Listbox'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112669851395968884</id><published>2005-09-14T18:44:00.000+07:00</published><updated>2005-09-24T00:26:23.846+07:00</updated><title type='text'>muti_selection_list</title><content type='html'>&lt;span style="font-size:80%;color:#3333ff;"&gt;Python for Symbian&lt;/span&gt;
&lt;br&gt;muti_selection_list ก็เป็นอีก GUI หนึ่ง ในโมดูล &lt;span style="font-size:100%;color:#3333ff;"&gt;appuifw&lt;/span&gt; 
&lt;br&gt;ลักษณะของ muti_selection_list มีคล้ายๆกันกับ selection_list แตกต่างตรงที่ muti_selection_list นี้ อนุญาตให้ user &lt;br&gt;เลือกตัวเลือกจาก listได้หลายตัวเลือก
&lt;br&gt;ค่าที่ return กลับมาจะเป็น list ของตัวเลข index บอกว่า user เลือกตัวเลือก ลำดับที่เท่าไรไปบ้าง
&lt;br&gt;วิธีใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;muti_selection_list&lt;/span&gt; 
&lt;br&gt;เราก็ต้องสร้าง list (ของตัวอักษรUnicode String) ขึ้นมาก่อน เช่น จากตัวอย่างข้างล่างเป็น list ชื่อ txt
&lt;br&gt;เราสามารถ สร้าง multi_selection_list ขึ้นมาด้วยคำสั่ง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;appuifw.multi_selection_list(txt)&lt;/span&gt; 
&lt;br&gt;ลองมาดูตัวอย่าง code เต็มๆกัน
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw,e32
&lt;br&gt;def multi():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    &lt;span style="font-size:100%;color:#3333ff;"&gt;z=appuifw.multi_selection_list(txt)&lt;/span&gt; 
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    if z is not None:
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp        for &lt;span style="font-size:100%;color:#3333ff;"&gt;index&lt;/span&gt; in z:
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp            My_Screen.add(&lt;span style="font-size:100%;color:#3333ff;"&gt;txt[index]&lt;/span&gt;+'\n'+u'')
&lt;br&gt;def clear_screen():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    My_Screen.clear()
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'Clear text on screen','info')
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;txt=[u'January',u'February',u'March',u'April',u'May',u'June',u'July',
&lt;br&gt;u'August',u'September',u'October',u'November',u'December']
&lt;br&gt;appuifw.app.title=u'test22'
&lt;br&gt;My_Screen=appuifw.Text()
&lt;br&gt;appuifw.app.body=My_Screen
&lt;br&gt;My_Screen.set(u'Work on Multiselection List\n')
&lt;br&gt;appuifw.app.menu=[(u'multiselection list',multi),(u'clear screen',clear_screen)]
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;br&gt;จากตัวอย่าง &lt;span style="font-size:100%;color:#3333ff;"&gt;txt&lt;/span&gt; เป็น list ของ Unicode string (เดือนที้ง12) 
&lt;br&gt;ค่าที่ return กลับมา ยังตัวแปล z จะเป็น list ของตัวเลข &lt;span style="font-size:100%;color:#3333ff;"&gt;index&lt;/span&gt;
&lt;br&gt;เราใช้ for เรียก ตัวเลข &lt;span style="font-size:100%;color:#3333ff;"&gt;index&lt;/span&gt; แต่ละตัวใน z ออกมา
&lt;br&gt;แล้วไปเทียบดู แต่ละค่าใน txt   
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test01140905.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;ตัวอย่าง code
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test22.zip"&gt;test22.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/screen-body-listbox.html"&gt;หน้าถัดไป&lt;/a&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&gt;&gt;&gt;&lt;/span&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/for-in-python.html"&gt;หน้าก่อน&lt;/a&gt;&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112669851395968884?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112669851395968884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112669851395968884'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/mutiselectionlist.html' title='muti_selection_list'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112654630889583253</id><published>2005-09-13T00:28:00.000+07:00</published><updated>2005-09-14T18:52:26.466+07:00</updated><title type='text'>for-in ใน Python</title><content type='html'>&lt;span style="font-size:80%;color:#3333ff;"&gt;Python for Symbian&lt;/span&gt;
&lt;br&gt;การใช้&lt;span style="font-size:100%;color:#3333ff;"&gt; for&lt;/span&gt; ใน Python จะแตกต่างกับภาษาอื่น
&lt;br&gt;ใน Python เราต้องใช้ for กับตัวแปรที่เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;Sequence&lt;/span&gt;
&lt;br&gt;Sequence คือตัวแปรที่เป็นชุดๆ สามารถไล่ index หาสมาชิกตัวถัดๆ ไปใน Sequence ได้ เช่น x[0] ,x[1] ,x[2]
&lt;br&gt;ตัวอย่างของ Sequence ก็เช่น String ,List เป็นต้น
&lt;br&gt;
&lt;br&gt;วิธีใช้ for-in ก็กำหนดประโยคเป็น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;for&lt;/span&gt; แต่ละสมาชิก &lt;span style="font-size:100%;color:#3333ff;"&gt;in&lt;/span&gt; Sequence &lt;span style="font-size:100%;color:#3333ff;"&gt;:&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&lt;span style="font-size:100%;color:#3333ff;"&gt;do something 1&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&lt;span style="font-size:100%;color:#3333ff;"&gt;do something 2&lt;/span&gt;
&lt;br&gt;เช่น

&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw,e32
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspa.signal()
&lt;br&gt;appuifw.app.title=u'test19'
&lt;br&gt;My_Screen=appuifw.Text()
&lt;br&gt;appuifw.app.body=My_Screen
&lt;br&gt;x=u'March'
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;for My_char in x :&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&lt;span style="font-size:100%;color:#3333ff;"&gt;My_Screen.add(u'\n')&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&lt;span style="font-size:100%;color:#3333ff;"&gt;My_Screen.add(My_char)&lt;/span&gt;
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;จากตัวอย่างข้างบน
&lt;br&gt;จะเห็นว่า เราสร้าง Unicode String ชื่อ x 
&lt;br&gt;ต่อมา
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;for My_char in x :&lt;/span&gt;
&lt;br&gt;จะเห็นว่าประโยค for จบประโยคด้วย&lt;span style="font-size:100%;color:#3333ff;"&gt;เครื่องหมาย :&lt;/span&gt;
&lt;br&gt;My_char แทนแต่ละสมาชิกใน x 
&lt;br&gt;(คือ จะค่อยๆเปลี่ยนจาก x[0] แล้วเป็น x[1] ไป x[2] ... จนครบหมด)
&lt;br&gt;เมื่อกำหนดค่าแต่ละสมาชิกใน x เสร็จจะไปทำ คำสั่งบรรทัดถัดๆมา
&lt;br&gt;คำสั่งบรรทัดถัดๆมา นี้ต้องเขียนให้มีการย่อหน้า(ก็แล้วแต่สะดวก เช่น ประมาณ 4 space)
&lt;br&gt;คำสั่งบรรทัดต่อไปถ้ายังอยู่ใน loop ของ for ก็ต้องย่อหน้าให้ตรงกันด้วย
&lt;br&gt;
&lt;br&gt;ลองดูตัวอย่างของ list ดูบ้าง

&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw,e32
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspa.signal()
&lt;br&gt;appuifw.app.title=u'test20'
&lt;br&gt;My_Screen=appuifw.Text()
&lt;br&gt;appuifw.app.body=My_Screen
&lt;br&gt;txt=[u'January',u'February',u'March',u'April',u'May',u'June',u'July',u&lt;br&gt;'August',u'September',u'October',u'November',u'December']
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;for My_month in txt :&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&lt;span style="font-size:100%;color:#3333ff;"&gt;My_Screen.add(u' __ ')&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&lt;span style="font-size:100%;color:#3333ff;"&gt;My_Screen.add(My_month)&lt;/span&gt;
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test01120905.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;ตัวอย่าง code
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test19.zip"&gt;test19.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test20.zip"&gt;test20.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/mutiselectionlist.html"&gt;หน้าถัดไป&lt;/a&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&gt;&gt;&gt;&lt;/span&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/selectionlist_28.html"&gt;หน้าก่อน&lt;/a&gt;&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112654630889583253?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112654630889583253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112654630889583253'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/for-in-python.html' title='for-in ใน Python'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112584477099063623</id><published>2005-09-04T21:28:00.000+07:00</published><updated>2005-09-28T13:09:06.206+07:00</updated><title type='text'>การสร้างปุ่มกด แบบButton</title><content type='html'>&lt;span style="font-size:80%;color:#3333ff;"&gt;Python for PocketPC&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Button&lt;/span&gt; เป็นอีกwidgetหนึ่งที่เราคุ้นเคย และใช้กันบ่อยๆ 
&lt;br&gt;คำสั่ง &lt;span style="font-size:100%;color:#3333ff;"&gt;Tkinter.Button(text=u'click here')&lt;/span&gt; ใช้สำหรับสร้างปุ่มกด ที่มีตัวอักษรว่า click here
&lt;br&gt;option ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;text&lt;/span&gt; เป็นการกำหนดตัวอักษร ที่ปรากฎบนปุ่มกด
&lt;br&gt;จากตัวอย่างข้างล่าง เรากำหนดให้ปุ่มกดที่เราสร้างขึ้น มีชื่อว่า &lt;span style="font-size:100%;color:#3333ff;"&gt;the_button&lt;/span&gt;
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\Python\\Lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;root.title(u'hello')
&lt;br&gt;my_label=Tkinter.Label(text=u'hello test').pack()
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;the_button=Tkinter.Button(text=u'click here').pack()&lt;/span&gt;
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test04090501.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;แต่ละwidget จะมีคำสั่งมากมายเป็นของตัวเอง ให้เราเรียกใช้
&lt;br&gt;เช่น คำสั่ง &lt;span style="font-size:100%;color:#3333ff;"&gt;.pack()&lt;/span&gt; เป็นการกำหนดตำแหน่ง ของwidget ใน root window และทำให้ widget ปรากฎขึ้นมา
&lt;br&gt;เราสามารถ แยกมาอีกบรรทัด เพื่อเรียกใช้คำสั่ง .pack() ก็ได้ เช่น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;my_label.pack()&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;the_button.pack()&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;จากตัวอย่างข้างบนเมื่อกดปุ่ม จะยังไม่มีอะไรเกิดขึ้น
&lt;br&gt;เราสามารถเชื่อมโยงปุ่มกดเข้ากับ คำสั่งต่างๆโดยใช้ option ชื่อ &lt;span style="font-size:100%;color:#3333ff;"&gt;command &lt;/span&gt;
&lt;br&gt;ดังตัวอย่างถัดไป เป็นการเชื่อมโยงปุ่มกด เข้ากับคำสั่ง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;sys.exit()&lt;/span&gt; ซึ่งเป็นการปิดโปรแกรม (ปิด root window + ปิด Python) 
&lt;br&gt;จะเห็นว่า คำสั่ง sys.exit() มีวงเล็บ แต่เมื่อไปอยู่หลัง command จะไม่มีวงเล็บ
&lt;br&gt;(นั่นหมายความว่าถ้าคำสั่งใดมี argument คงไม่สามารถ เชื่อมกับ option ชื่อ commandได้โดยตรง)
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\Python\\Lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;root.title(u'hello')
&lt;br&gt;my_label=Tkinter.Label(text=u'hello test')
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;the_button=Tkinter.Button(text=u'Exit',command=sys.exit)&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;my_label.pack()&lt;/span&gt;
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;the_button.pack()&lt;/span&gt;
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test31080508.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;ตัวอย่าง code
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tk03.zip"&gt;tk03.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tk04.zip"&gt;tk04.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/widget-pack.html"&gt;หน้าถัดไป&lt;/a&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&gt;&gt;&gt;&lt;/span&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/title-windows-tkinter.html"&gt;หน้าก่อน&lt;/a&gt;&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-on-pocketpc.html"&gt;หน้าหลัก&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112584477099063623?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112584477099063623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112584477099063623'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/button.html' title='การสร้างปุ่มกด แบบButton'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112584381288330980</id><published>2005-09-04T21:15:00.000+07:00</published><updated>2005-09-04T21:47:08.426+07:00</updated><title type='text'>วิธีเปลี่ยน Title ให้ Windows ใน Tkinter</title><content type='html'>&lt;span style="font-size:130%;color:#3333ff;"&gt;Python for PocketPC&lt;/span&gt;
&lt;br&gt;tk root window ที่เราสร้างขึ้นในตัวอย่างที่ผ่านมา มีTitle เป็นตัวอักษร tk
&lt;br&gt;เราสามารถกำหนดตัวอักษรTitle ได้โดยใช้คำสั่ง &lt;span style="font-size:100%;color:#3333ff;"&gt;title(u'string')&lt;/span&gt;
&lt;br&gt;เช่น
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\python\\lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;root.title(u'hello')&lt;/span&gt;
&lt;br&gt;my_label=Tkinter.Label(text=u'hello test')
&lt;br&gt;my_label.pack()
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;จากตัวอย่าง ในบรรทัด
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;root.title(u'hello')&lt;/span&gt;
&lt;br&gt;จะกำหนดให้ Title เป็น StringแบบUnicode เขียนว่า hello
&lt;br&gt;ส่วนบรรทัด
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;my_label=Tkinter.Label(text=u'hello test')&lt;/span&gt;
&lt;br&gt;ก็เป็นการสร้าง Label ใน root windows ขึ้นมา1อัน มีตัวอักษรเขียนว่า hello test
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test31080507.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;code ตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tk02.zip"&gt;tk02.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/button.html"&gt;หน้าถัดไป &lt;/a&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&gt;&gt;&gt;&lt;/span&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-for-pocketpc_04.html"&gt;หน้าก่อน&lt;/a&gt;&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-on-pocketpc.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112584381288330980?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112584381288330980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112584381288330980'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/title-windows-tkinter.html' title='วิธีเปลี่ยน Title ให้ Windows ใน Tkinter'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112584263960598583</id><published>2005-09-04T20:59:00.000+07:00</published><updated>2005-09-04T22:02:05.916+07:00</updated><title type='text'>เริ่มเขียนโปรแกรมด้วย Python for PocketPC</title><content type='html'>&lt;span style="font-size:130%;color:#3333ff;"&gt;Python for PocketPC&lt;/span&gt;
&lt;br&gt;ภาษาpython นั้นเรียบง่ายจนคุณสามารถเขียนโปรแกรม Hello แบบ GUI ได้โดยใช้Codeเพียงไม่กี่บรรทัด
&lt;br&gt;ลองมาดูตัวอย่างcodeกัน
&lt;br&gt;&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import sys
&lt;br&gt;sys.path.append('\\Storage Card\\Python\\Lib\\python23.zip\\lib-tk')
&lt;br&gt;import Tkinter
&lt;br&gt;root=Tkinter.Tk()
&lt;br&gt;my_label=Tkinter.Label(text=u'hello from python')
&lt;br&gt;my_label.pack()
&lt;br&gt;root.mainloop()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;ลองสร้าง text file ที่มีเนื้อหาดัง codeข้างบน แล้ว saveเป็น tk01.py 
&lt;br&gt;Codeสามบรรทัดแรกเพื่อ Load Module ชื่อ&lt;span style="font-size:100%;color:#3333ff;"&gt; Tkinter&lt;/span&gt; 
&lt;br&gt;โมดูล Tkinter นี้ใช้สร้างGUI(Graphic User Interface) ต่างๆ ใน Python บน PocketPC 
&lt;br&gt;ชิ้นส่วนต่างๆ ที่มาประกอบกันเป็น GUI ใน Python เราเรียกว่า &lt;span style="font-size:100%;color:#3333ff;"&gt;widget&lt;/span&gt;
&lt;br&gt;การเริ่มเปิดใช้ Tkinter ทำได้โดยสร้าง root widget ด้วยคำสั่ง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;root=Tkinter.Tk()&lt;/span&gt;
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test31080506.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;ต่อมาเราเพิ่มตัวอักษรลงไป โดยสร้างwidgetอีกชนิดหนึ่งขึ้นมา เรียกว่า &lt;span style="font-size:100%;color:#3333ff;"&gt;Label&lt;/span&gt;
&lt;br&gt;เราสร้างLabel ชื่อ my_label ขึ้นมาด้วยคำสั่ง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;my_label=Tkinter.Label(text=u'hello from python')&lt;/span&gt;
&lt;br&gt;ตัวอักษรที่อยู่ในวงเล็บ เรียกว่า &lt;span style="font-size:100%;color:#3333ff;"&gt;option&lt;/span&gt;
&lt;br&gt;ในที่นี้เรากำหนด option ให้ my_label เพียงoptionเดียว
&lt;br&gt;เราใช้optionชื่อ text เพื่อกำหนดตัวอักษร ที่แสดงบน Label
&lt;br&gt;u'hello from python' เป็น string แบบ&lt;span style="font-size:100%;color:#3333ff;"&gt; Unicode (นำหน้าด้วย u)&lt;/span&gt;
&lt;br&gt;ตัวอักษร ที่แสดงบนPocketPC พยายามให้เป็น Unicodeไว้เสมอ
&lt;br&gt;
&lt;br&gt;แต่ละwidget จะมี method ของตนเองซึ่งสามารถเรียกใช้ได้
&lt;br&gt;คำสั่ง&lt;span style="font-size:100%;color:#3333ff;"&gt;pack()&lt;/span&gt; จะทำให้ widget ปรากฏขึ้นมาบนWindows
&lt;br&gt;และปรับขนาดของ Windows ให้พอดีกับwidget
&lt;br&gt;
&lt;br&gt;คำสั่ง &lt;span style="font-size:100%;color:#3333ff;"&gt;root.mainloop()&lt;/span&gt;
&lt;br&gt;เป็นการ เปิดWindows ของTkinter ค้างไว้เพื่อรอรับคำสั่งต่างๆ
&lt;br&gt;คุณสามารถปิด โปรแกรมได้โดย คลิกที่ X มุมขวาบน
&lt;br&gt;
&lt;br&gt;หมายเหตุ:-ไฟล์ .py ต้องใช้ encoding เป็น &lt;span style="font-size:100%;color:#3333ff;"&gt;ANSI&lt;/span&gt;
&lt;br&gt;และถ้าset Registry ได้ถูกต้องคุณสามารถ run ไฟล์นี้จากโฟลเดอร์ใดก็ได้ ใน PocketPC
&lt;br&gt;
&lt;br&gt;ตัวอย่างcode
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/tk01.zip"&gt;tk01.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/title-windows-tkinter.html"&gt;หน้าถัดไป&lt;/a&gt; &lt;span style="font-size:100%;color:#3333ff;"&gt;&gt;&gt;&gt;&lt;/span&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-for-pocketpc.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-on-pocketpc.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112584263960598583?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112584263960598583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112584263960598583'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/python-for-pocketpc_04.html' title='เริ่มเขียนโปรแกรมด้วย Python for PocketPC'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112580385865764594</id><published>2005-09-04T10:14:00.000+07:00</published><updated>2005-09-04T21:14:05.826+07:00</updated><title type='text'>การติดตั้งPython for PocketPC</title><content type='html'>&lt;span style="font-size:130%;color:#3333ff;"&gt;Python for PocketPC&lt;/span&gt;
&lt;br&gt;วิธีติดตั้ง Python บน PocketPC เริ่มจากไป D/L Python for PocketPC จาก
&lt;br&gt;&lt;a href="http://fore.validus.com/~kashtan"&gt;http://fore.validus.com/~kashtan&lt;/a&gt;
&lt;br&gt;ซึ่งมีให้เลือกทั้งแบบ Windows for PocketPC2002 และ 2003
&lt;br&gt;(ไฟล์ Python-2.3.4-arm-PPC2002.zip หรือ Python-2.3.4-arm-PPC2003.zip)
&lt;br&gt;และ Tkinter-Files.zip
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test31080504.gif" /&gt;&lt;br&gt;Python-2.3.4-arm-PPC2003.zip&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;ให้คุณUnzipไฟล์ Python-2.3.4-arm-PPC2002.zip หรือ Python-2.3.4-arm-PPC2003.zip 
&lt;br&gt;ซึ่งไฟล์ที่ได้นี้ เขาเตรียมไว้สำหรับติดตั้งลงโฟลเดอร์ \Program Files\Python\Lib&lt;br&gt;(ถ้าจะลงที่ main memory ลงไฟล์เสร็จ ก็คลิกที่shortcutชื่อ SetupRegistry)
&lt;br&gt;
&lt;br&gt;แต่ผมรู้สึกว่าจะประหยัดmemoryมากกว่า ถ้านำไปลงใน StorageCard
&lt;br&gt;ใครจะ ลงPythonใน StorageCard ทำตามนี้ครับ
&lt;br&gt;-ให้สร้างโฟลเดอร์ \Storage Card\Python\Lib&lt;br&gt;-แล้วนำไฟล์ทั้งหมดที่เพิ่งUnzip(as above) ลงในโฟลเดอร์นี้
&lt;br&gt;-ต่อมา D/L &lt;a href="http://www.isiam.info/dl/toSD.zip"&gt;toSD.zip&lt;/a&gt;
&lt;br&gt;-unZip ไฟล์ toSD.zip(จะได้เป็น2ไฟล์) &lt;br&gt;แล้วนำไปไว้รวมกับไฟล์อื่นๆใน โฟลเดอร์ \Storage Card\Python\Lib\ 
&lt;br&gt;-ในPocketPC ที่โฟลเดอร์ \Storage Card\Python\Lib คลิกที่ไฟล์ toSD_click
&lt;br&gt;(หรือใครset RegistryในPocketPC เป็น สนใจจะทำเองก็ลองทำตาม &lt;a href="http://isiam.blogspot.com/2005/09/set-registrypocketpc-run-python.html"&gt;Linkนี้ &lt;/a&gt;ดูครับ)

&lt;br&gt;-ลองทดสอบดูว่า work ดีมั้ย คลิกที่ python.exe ก็จะมี InterActive Console ขึ้นมา &gt;&gt;&gt; พร้อมรับคำสั่ง 
&lt;br&gt;-ต่อมาก็ลง Tkinter
&lt;br&gt;-UnZipไฟล์ Tkinter-Files.zip จะได้เป็น2โฟลเดอร์ (tcl8.4.3 , Windows)
&lt;br&gt;-นำทั้งโฟลเดอร์ tcl8.4.3(ที่UnZipได้มา) ไปไว้ที่ \ (โฟลเดอร์สูงสุดของ PocketPC)
&lt;br&gt;-นำ3ไฟล์ในโฟลเดอร์Windows(ที่UnZipได้มา) ไปไว้ใน \Windows(ในPocketPC)
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test31080505.gif" /&gt;&lt;br&gt;Tkinter-Files.zip&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;เท่านี้ก็เรียบร้อย สามารถrun ไฟล์ .py โดยคลิกกดที่ไฟล์ได้เลย
&lt;br&gt;โดยจะนำไฟล์ .py ใหม่ที่ได้มาหรือเขียนขึ้นมาใหม่ไปไว้ที่Folderใด(ในPocketPC) ก็ได้
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test31080506.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;หมายเหตุ &lt;/span&gt;: ตัวอย่างที่จะแสดงในหน้าถัดไป สามารถใช้กับ Python ที่ลงใน Storage Card หรือ PC
&lt;br&gt;ถ้าใครลง Python ใน Main memory ของ PocketPC จำเป็นต้องปรับเปลี่ยน code เล็กน้อย
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-for-pocketpc_04.html"&gt;หน้าถัดไป &lt;/a&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;&gt;&gt;&gt;&lt;/span&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/introduction-to-python-for-pocketpc.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-on-pocketpc.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112580385865764594?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112580385865764594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112580385865764594'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/python-for-pocketpc.html' title='การติดตั้งPython for PocketPC'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112580356708046082</id><published>2005-09-04T10:11:00.000+07:00</published><updated>2005-09-04T10:33:09.850+07:00</updated><title type='text'>set RegistryในPocketPC เพื่อ run Python</title><content type='html'>&lt;span style="font-size:130%;color:#3333ff;"&gt;Python for PocketPC&lt;/span&gt;
&lt;br&gt;-ให้คุณUnzipไฟล์ Python-2.3.4-arm-PPC2002.zip หรือ Python-2.3.4-arm-PPC2003.zip 
&lt;br&gt;(ที่ D/L จาก &lt;a href="http://fore.validus.com/~kashtan"&gt;http://fore.validus.com/~kashtan&lt;/a&gt;)
&lt;br&gt;-สร้างโฟลเดอร์ \Storage Card\Python\Lib\ แล้วนำไฟล์ทั้งหมดที่เพิ่งUnzip(as above) ลงในโฟลเดอร์นี้
&lt;br&gt;-set RegistryในPocketPC
&lt;br&gt;
&lt;br&gt;ใน HKEY_CLASSES_ROOT
&lt;br&gt;keyชื่อ .py มีvalueเป็น "Python.File" (แบบREG_SZ)
&lt;br&gt;
&lt;br&gt;ใน HKEY_CLASSES_ROOT (อีกkey)
&lt;br&gt;keyชื่อ .pyc มีvalueเป็น "Python.File" (แบบREG_SZ)
&lt;br&gt;
&lt;br&gt;ใน HKEY_CLASSES_ROOT\Python.File\Shell\Open\Command
&lt;br&gt;keyชื่อ Default มีvalueเป็น "\Storage Card\Python\Lib\python.exe" "%1" (แบบREG_SZ)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112580356708046082?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112580356708046082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112580356708046082'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/set-registrypocketpc-run-python.html' title='set RegistryในPocketPC เพื่อ run Python'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112580189055269856</id><published>2005-09-04T09:42:00.000+07:00</published><updated>2005-09-04T10:43:59.716+07:00</updated><title type='text'>Introduction to Python for PocketPC</title><content type='html'>&lt;span style="font-size:130%;color:#3333ff;"&gt;Python for PocketPC&lt;/span&gt;
&lt;br&gt;ถ้าจะเขียนโปรแกรมไว้ใช้บนPocketPC ก็คงจะมีหลายๆภาษาที่ดีๆ และมีประสิทธิภาพให้เลือกใช้
&lt;br&gt;แต่ถ้าคิดจะใช้คำสั่งเพียงไม่กี่บรรทัด แล้วได้โปรแกรม แบบGUI สามารถเปิดอ่าน-เขียนไฟล์ลงStorageCard หรือสามารถเขียนโปรแกรมง่ายๆที่runได้ทั้งบน Pocketpc Windows(PC) และLinux แล้วล่ะก็
&lt;br&gt;Pythonก็เป็นอีกหนึ่งตัวเลือกที่น่าสนใจทีเดียว
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test31080501.gif" /&gt;&lt;br&gt;Python on PocketPC&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;โปรแกรม .py เป็น text-files ธรรมดาที่สามารถเปิดอ่านและเขียนได้ด้วย Notepad
&lt;br&gt;ไฟล์ .py นี้ เป็นScript ที่ runบน Python Interpreter ซึ่งปัจจุบันมีให้D/L มาใช้ได้ แทบจะทุกplatform ไม่ว่าจะเป็น Linux Windows(PC) PocketPC หรือแม้แต่ Symbian
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test31080503.gif" /&gt;&lt;br&gt;Script Python on PC&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;GUI ทีใช้บน Python for PocketPC ใช้โมดูล Tkinter ซึ่งใช้งานคล้ายๆกันทั้งบน PC Linux และ Python for PocketPC
&lt;br&gt;มีMenu ,Button ,Label ,Listbox มีแม้กระทั่ง Canvas ให้ทำงาน หรือ Load Image แบบ Graphic
&lt;br&gt;Python ยังมี InterActive Console ที่ดูคล้าย Command Prompt สามารถ runคำสั่งสั้นๆ และใช้เป็นเครื่องคิดเลขได้อีกด้วย
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test31080502.gif" /&gt;&lt;br&gt;Python Active Console&lt;br&gt;ไว้เขียนโปรแกรมสั้นๆ&lt;br&gt;หรือสามารถใช้แทนเครื่องคิดเลข&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-for-pocketpc.html"&gt;หน้าถัดไป&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/python-on-pocketpc.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112580189055269856?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112580189055269856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112580189055269856'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/introduction-to-python-for-pocketpc.html' title='Introduction to Python for PocketPC'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112576639327377159</id><published>2005-09-03T23:50:00.000+07:00</published><updated>2005-11-20T18:04:59.516+07:00</updated><title type='text'>Python on PocketPC</title><content type='html'>&lt;span style="font-size:130%;color:#3333ff;"&gt;Python for PocketPC&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/09/introduction-to-python-for-pocketpc.html"&gt;Introduction to Python for PocketPC&lt;/a&gt; 
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/09/python-for-pocketpc.html"&gt;การติดตั้งPython for PocketPC&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/09/python-for-pocketpc_04.html"&gt;เริ่มเขียนโปรแกรมด้วย Python for PocketPC&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/09/title-windows-tkinter.html"&gt;วิธีเปลี่ยน Title ให้ Windows ใน Tkinter&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/09/button.html"&gt;การสร้างปุ่มกด แบบButton&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/09/widget-pack.html"&gt;การจัดเรียง widget ด้วย .pack()&lt;/a&gt; 
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/11/widget-grid.html"&gt;การจัดเรียง widget ด้วย grid&lt;/a&gt; 

&lt;br&gt;&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/08/python-links.html"&gt;Python Links&lt;/a&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/PythonPocketPC.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112576639327377159?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112576639327377159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112576639327377159'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/09/python-on-pocketpc.html' title='Python on PocketPC'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112520064390073728</id><published>2005-08-28T10:43:00.000+07:00</published><updated>2005-09-13T00:41:46.593+07:00</updated><title type='text'>selection_list</title><content type='html'>selection_list ก็เป็นอีกวิธีหนึ่ง ที่จะให้ผู้ใช้โปรแกรม เลือกตัวเลือกจากใน list คล้ายๆกับที่เราทำใน popup_menu
&lt;br&gt;selection_list อยู่ในโมดูล appuifw วิธีใช้ก็ง่ายๆ สร้าง list ขึ้นมา(เช่น ชื่อ txt) แล้วกำหนดให้ ผู้ใช้เลือกตัวเลือกจากใน list นี้ &lt;br&gt;โดยใช้คำสั่ง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;appuifw.selection_list(txt)&lt;/span&gt;
&lt;br&gt;จากตัวอย่างที่จะแสดงถัดไป
&lt;br&gt;txt เป็น list ของรายชื่อเดือนทั้ง12 แสดงอยู่ใน selection_list ให้ผู้ใช้เลือก 
&lt;br&gt;โดยจะ return ค่าที่ผู้ใช้เลือกกลับมา ให้กับตัวแปร index
&lt;br&gt;ค่าที่ return กลับมาจะเป็นตัวเลข บอกว่า ผู้ใช้เลือกตัวเลือกที่เท่าไรใน list(ชื่อtxt)
&lt;br&gt;แล้วเราก็ไปเที่ยบดูค่า โดยใช้ &lt;span style="font-size:100%;color:#3333ff;"&gt;txt[index]&lt;/span&gt;
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw,e32
&lt;br&gt;def sel():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&lt;span style="font-size:100%;color:#3333ff;"&gt;index=appuifw.selection_list(txt)&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspif index is not None:
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspMy_Screen.add(&lt;span style="font-size:100%;color:#3333ff;"&gt;txt[index]&lt;/span&gt;+'\n'+u'')
&lt;br&gt;def clear_screen():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    My_Screen.clear()
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'Clear text on screen','info')
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;txt=[u'January',u'February',u'March',u'April',u'May',u'June',u'July'&lt;br&gt;
,u'August',u'September',u'October',u'November',u'December']
&lt;br&gt;appuifw.app.title=u'test18'
&lt;br&gt;My_Screen=appuifw.Text()
&lt;br&gt;appuifw.app.body=My_Screen
&lt;br&gt;My_Screen.set(u'Work on Selection List\n')
&lt;br&gt;appuifw.app.menu=[(u'selection list',sel),(u'clear screen',clear_screen)]
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test28080501.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;Codeตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test18.zip"&gt;test18.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/for-in-python.html"&gt;หน้าถัดไป&lt;/a&gt;&gt;&gt;&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/popupmenu-list.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;And More...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112520064390073728?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112520064390073728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112520064390073728'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/08/selectionlist_28.html' title='selection_list'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112507785225980226</id><published>2005-08-27T00:34:00.000+07:00</published><updated>2005-08-27T00:53:01.796+07:00</updated><title type='text'>คำสั่งใน e32 และ sysinfo Module</title><content type='html'>วันก่อนได้ลองใช้ คำสั่งในโมดูล sys ไปบ้างแล้ว
&lt;br&gt;โมดูล sys จะมีใน Python ทุกๆplatform ไม่ว่าจะเป็น Python บน Linux ,PC MSWindows ,pocketPC หรือ Symbian
&lt;br&gt;แต่เฉพาะใน Python on Symbian ยังมีโมดูลอื่น ให้เราใช้เรียกดู ข้อมูลทำนองเดียวกันนี้ ได้อีก
&lt;br&gt;เช่น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;e32 Module&lt;/span&gt; มีคำสั่ง
&lt;br&gt;e32.pys60_version เป็นstring บอกversion ของPython
&lt;br&gt;show_drive_list() จะreturnค่ากลับมาเป็น list บอกว่า มี drive อะไรอยู่บ้าง
&lt;br&gt;
&lt;br&gt;หรือใน &lt;span style="font-size:100%;color:#3333ff;"&gt;sysinfo Module&lt;/span&gt; ก็มีคำสั่ง
&lt;br&gt;sysinfo.battery() จะreturnค่ากลับมาเป็น ตัวเลข บอกระดับแบตเตอรี(0-7)
&lt;br&gt;sysinfo.signal() จะreturnค่ากลับมาเป็น ตัวเลข บอกระดับสัญญาณคลื่นโทรศัพท์(0-7)
&lt;br&gt;sysinfo.imei() จะreturnค่ากลับมาเป็น ตัวเลข บอกimei ของโทรศัพท์
&lt;br&gt;
&lt;br&gt;ลองมาดูตัวอย่าง codeกัน
&lt;br&gt;&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw,e32,sys,sysinfo
&lt;br&gt;def show_py_ver():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspx=&lt;span style="font-size:100%;color:#3333ff;"&gt;e32.pys60_version&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspMy_Screen.add(str(x)+u''+'\n')
&lt;br&gt;def show_drive_list():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspx=&lt;span style="font-size:100%;color:#3333ff;"&gt;e32.drive_list()&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspMy_Screen.add(str(x)+u''+'\n')
&lt;br&gt;def show_batt_level():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspx=&lt;span style="font-size:100%;color:#3333ff;"&gt;sysinfo.battery()&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspMy_Screen.add(u'battery level '+str(x)+u'/7'+'\n')
&lt;br&gt;def show_radio():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspx=&lt;span style="font-size:100%;color:#3333ff;"&gt;sysinfo.signal()&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspMy_Screen.add(u'radio signal '+str(x)+u'/7'+'\n')
&lt;br&gt;def show_imei():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspx=&lt;span style="font-size:100%;color:#3333ff;"&gt;sysinfo.imei()&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspMy_Screen.add(u'imei '+str(x)+'\n')
&lt;br&gt;def clear_screen():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspMy_Screen.clear()
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspappuifw.note(u'Clear text on screen','info')
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbspa.signal()
&lt;br&gt;appuifw.app.title=u'test17'
&lt;br&gt;My_Screen=appuifw.Text()
&lt;br&gt;appuifw.app.body=My_Screen
&lt;br&gt;My_Screen.set(u'Work on e32 and sysinfo\n')
&lt;br&gt;appuifw.app.menu=[(u'show drive list',show_drive_list),(u'show python version',show_py_ver),(u'show battery level',show_batt_level),(u'show imei',show_imei),(u'show radio signal',show_radio),(u'clear screen',clear_screen)]
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test26080501.gif" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test26080502.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;Codeตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test17.zip"&gt;test17.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/sys-module.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;And More...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112507785225980226?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112507785225980226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112507785225980226'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/08/e32-sysinfo-module.html' title='คำสั่งใน e32 และ sysinfo Module'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112465518035258853</id><published>2005-08-22T03:09:00.000+07:00</published><updated>2005-09-24T00:27:14.113+07:00</updated><title type='text'>ลองใช้คำสั่งใน sys Module</title><content type='html'>ที่ผ่านมาเราได้หัดใช้โมดูล appuifw และ e32
&lt;br&gt;และหลายๆคำสั่งที่เป็นแบบ build-in ไม่ต้องเรียกโมดูลก่อนใช้ เช่นคำสั่ง str() ซึ่งมีประโยชน์มาก มันสามารถแปลงค่าต่างๆ  ที่returnกลับมา จากfunctionอื่นๆ ให้กลายเป็น string ได้
&lt;br&gt;มีเทคนิคเล็กน้อยเกี่ยวกับคำสั่ง str() 
&lt;br&gt;หากเราต้องการจะแสดงข้อความบนหน้าจอ Smartphone เช่นใช้คำสั่ง add() 
&lt;br&gt;เราจำเป็นจะต้องเปลี่ยน ข้อความนั้นๆ ให้กลายเป็น Unicode string เสียก่อน
&lt;br&gt;เราสามารถบังคับคำสั่ง str() ให้สร้าง Unicode string ให้กับเราโดย จับมัน + กับUnicode string อะไรสักอย่าง ดังตัวอย่าง
&lt;br&gt;เปลี่ยน int (เลขจำนวนเต็ม) ให้กลายเป็น Unicode string
&lt;br&gt;str(123456)+u'something'
&lt;br&gt;หรือ
&lt;br&gt;str(123456)+u""
&lt;br&gt;
&lt;br&gt;ลองมาดู คำสั่งในโมดูลอื่นๆกันบ้าง
&lt;br&gt;โมดูล sys เรียกใช้งาน python interpreter มีหลายๆคำสั่งที่น่าสนใจ เรียกใช้บ่อยๆ
&lt;br&gt;เริ่มเรียกใช้โมดูล sys โดยการ
&lt;br&gt;import sys
&lt;br&gt;
&lt;br&gt;วันนี้จะขอแสดงเฉพาะคำสั่งง่ายๆให้ดูกันก่อน
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;sys.version&lt;/span&gt; จะreturnค่ากลับมาเป็นstring บอกversionของpython
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;sys.platform&lt;/span&gt; จะreturnค่ากลับมาเป็นstring บอกว่า python กำลังทำงานอยู่บน os อะไร
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;sys.path&lt;/span&gt; จะreturnค่ากลับมาเป็น list บอกว่า python สามารถ load module จากที่folderไหนได้บ้าง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;sys.exit()&lt;/span&gt; ออกจาก python
&lt;br&gt;
&lt;br&gt;จากCode ตัวอย่างข้างล่าง
&lt;br&gt;เรา import sys แล้วเรียกใช้คำสั่งต่างๆในโมดูล sys ผ่าน def และ menu
&lt;br&gt;มีตัวแปล x คอยรับค่าต่างๆที่returnกลับมา แล้วเปลี่ยนให้เป็น Unicode string
&lt;br&gt;แสดงขึ้นจอด้วยคำสั่ง t.add()
&lt;br&gt;&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;import appuifw ,e32,sys
&lt;br&gt;def show_path():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    x=&lt;span style="font-size:100%;color:#3333ff;"&gt;sys.path&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    t.add(str(x)+u''+'\n')
&lt;br&gt;def show_platform():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    x=&lt;span style="font-size:100%;color:#3333ff;"&gt;sys.platform&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    t.add(str(x)+u''+'\n')
&lt;br&gt;def show_python_version():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    x=&lt;span style="font-size:100%;color:#3333ff;"&gt;sys.version&lt;/span&gt;
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    t.add(str(x)+u''+'\n')
&lt;br&gt;def exit_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'Prepare to exit','info')
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    &lt;span style="font-size:100%;color:#3333ff;"&gt;sys.exit()&lt;/span&gt;
&lt;br&gt;def clear_screen():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    t.clear()
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'Clear text on screen','info')
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;appuifw.app.title=u'test16'
&lt;br&gt;t=appuifw.Text()
&lt;br&gt;appuifw.app.body=t
&lt;br&gt;t.set(u'Work on sys Module\n')
&lt;br&gt;appuifw.app.menu=[(u'show path',show_path),(u'show platform',show_platform),(u'show python &lt;br&gt;version',show_python_version),(u'clear screen menu',clear_screen),(u'exit_now',exit_now)]
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test1622080501.gif" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test1622080502.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;Codeตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test16.zip"&gt;test16.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/e32-sysinfo-module.html"&gt;หน้าถัดไป&lt;/a&gt;&gt;&gt;&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/09/screen-body-listbox.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;And More...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112465518035258853?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112465518035258853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112465518035258853'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/08/sys-module.html' title='ลองใช้คำสั่งใน sys Module'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112454132866563550</id><published>2005-08-20T19:26:00.000+07:00</published><updated>2006-05-02T16:17:02.826+07:00</updated><title type='text'>Python Links</title><content type='html'>&gt;&gt;&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Python on Symbian&lt;/span&gt;
&lt;br&gt;...&lt;a href="http://www.forum.nokia.com/main/0,6566,034-821,00.html"&gt;D/L Python for Symbian S60 from Nokia&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://www.eriksmartt.com/blog/pys60/"&gt;Python for Series 60 Resources&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://discussion.forum.nokia.com/forum/forumdisplay.php?s=c56083364ede9a5e58581de689ae1a5e&amp;forumid=102"&gt;Forum Python for Symbian S60&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://www.csd.uwo.ca/courses/CS457a/tutorial/index.html"&gt;Python in symbian tutorial&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&gt;&gt;&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Tkinter&lt;/span&gt;
&lt;br&gt;...&lt;a href="http://tkinter.unpythonic.net/wiki/FrontPage"&gt;Tkinter Wiki&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://www.ferg.org/thinking_in_tkinter/index.html"&gt;Thinking in Tkinter&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://www.pythonware.com/library/tkinter/introduction/index.htm"&gt;An Introduction to Tkinter&lt;/a&gt; by Fredrik Lundh
&lt;br&gt;...&lt;a href="http://www.astro.washington.edu/owen/TkinterSummary.html"&gt;Tkinter Summary&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&gt;&gt;&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Python E-book&lt;/span&gt;
&lt;br&gt;...&lt;a href="http://www.byteofpython.info/download"&gt;A Byte of Python&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://diveintopython.org/"&gt;Dive Into Python&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://docs.python.org/download.html"&gt;Python Tutorial&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://mindview.net/Books/TIPython"&gt;Thinking in Python&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://www.pythonware.com/library/tkinter/an-introduction-to-tkinter.pdf"&gt;Tkinter from Pythonware.com&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://www.informit.com/articles/article.asp?p=130959"&gt;Python Libraries&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&gt;&gt;&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Python Tutorial (ภาษาไทย)&lt;/span&gt;
&lt;br&gt;...&lt;a href="http://www.howforge.com/book/python-tutorial"&gt;มาเขียน ไพธอน กันดีกว่า&lt;/a&gt; by คุณ sugree
&lt;br&gt;...&lt;a href="http://www.citecclub.org/forum2/viewboard.php?BoardID=56"&gt;Citec Club - Python Article&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://www.electoday.com/projects/nprotech/python01/"&gt;เอ็นโปรเท็ค - Free Source Code และ Tutorials&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://veer.exteen.com/20040618/python-1"&gt;Python by คุณ วีร์&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://python.cmsthailand.com/"&gt;Python by CMSthailand.com&lt;/a&gt;

&lt;br&gt;&lt;br&gt;&gt;&gt;&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Codeดี ๆสำหรับ Python on Symbian&lt;/span&gt; 
&lt;br&gt;...&lt;a href="http://www.bigbold.com/snippets/tags/python"&gt;Snippets&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&gt;&gt;&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Python on The NET&lt;/span&gt;
&lt;br&gt;...&lt;a href="http://www.python.org/"&gt;Python.org&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://aspn.activestate.com/ASPN/Python"&gt;ActivePython&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://www.gotdotnet.com/workspaces/workspace.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742"&gt;IronPython&lt;/a&gt;
&lt;br&gt;...&lt;a href="http://www.pygame.org/news.html"&gt;pygame&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&gt;&gt;&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;Python Blog&lt;/span&gt;
&lt;br&gt;...[&lt;a href="http://www.eriksmartt.com/blog/"&gt;eriksmartt.com/blog&lt;/a&gt;] 
&lt;br&gt;...&lt;a href="http://nokiapython.blogspot.com/"&gt;http://nokiapython.blogspot.com/&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;...more Python tutorial links
&lt;br&gt;&lt;a href="http://www.awaretek.com/tutorials.html"&gt;links from awaretek&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.uselesspython.com/tutorials.html"&gt;Useless Python&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112454132866563550?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112454132866563550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112454132866563550'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/08/python-links.html' title='Python Links'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112411432629214958</id><published>2005-08-15T20:55:00.000+07:00</published><updated>2005-08-28T11:07:50.016+07:00</updated><title type='text'>popup_menu กับ list</title><content type='html'>หาก input แบบ query เปรียบเสมือนเติมคำในช่องว่าง
&lt;br&gt;popup_menu ก็คงคล้ายๆกับ choice ให้ผู้ใช้โปรแกรมเลือก
&lt;br&gt;เราสร้าง popup_menu ขึ้นมาจาก list รายการของกลุ่มตัวอักษร (unicode string)
&lt;br&gt;จัดเตรียมไว้ให้ผู้ใช้โปรแกรมเลือก (one best choice)
&lt;br&gt;
&lt;br&gt;แต่ละ unicode string ขั้นกัน ด้วยเครื่องหมายจุลภาค(,) ปิดหัวท้ายด้วย [ และ ] กลายเป็น list
&lt;br&gt;เช่น 
&lt;br&gt;&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
my_list=[u'hello',u'something',u'anything',u'anyway',u'then',u'goodbye']
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;และเราก็ใช้ ชื่อของ list ตามด้วยตัวเลข อยู่ในเครื่องหมาย [ กับ ] เพื่ออ้างถึงสมาชิก แต่ละตัวใน list
&lt;br&gt;ตัวเลขนี้จะเป็นคล้ายๆกับ index เริ่มจาก 0 เพื่ออ้างถึงสมาชิกตัวแรก ใน list และตัวถัดไปก็จะเป็น 1 ,2 ,3 ,ฯลฯ ตามลำดับ
&lt;br&gt;เช่น
&lt;br&gt;my_list[0] หมายถึง u'hello'
&lt;br&gt;my_list[1] หมายถึง u'something'
&lt;br&gt;my_list[5] หมายถึง u'goodbye'
&lt;br&gt;
&lt;br&gt;ลองมาดูตัวอย่างcodeกัน
&lt;br&gt;&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw ,e32
&lt;br&gt;def the_end():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;appuifw.app.title=u'test11'
&lt;br&gt;my_screen=appuifw.Text()
&lt;br&gt;appuifw.app.body=my_screen
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;my_list=[u'hello',u'something',u'anything',u'anyway',u'then',u'goodbye']&lt;/span&gt;
&lt;br&gt;my_screen.add(u'my_list[0] = '+my_list[0]+'\n')
&lt;br&gt;my_screen.add(u'my_list[1] = '+my_list[1]+'\n')
&lt;br&gt;my_screen.add(u'my_list[2] = '+my_list[2]+'\n')
&lt;br&gt;my_screen.add(u'my_list[3] = '+my_list[3]+'\n')
&lt;br&gt;my_screen.add(u'my_list[4] = '+my_list[4]+'\n')
&lt;br&gt;my_screen.add(u'my_list[5] = '+my_list[5]+'\n')
&lt;br&gt;appuifw.app.exit_key_handler=the_end
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test15080501.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;ส่วน popup_menu เราก็สร้างขึ้นมาได้ โดยใช้ list
&lt;br&gt;เช่น
&lt;br&gt;appuifw.popup_menu(my_list,u'Text Label')
&lt;br&gt;
&lt;br&gt;แต่ละบรรทัดในpopup_menu ก็คือสมาชิกแต่ละตัวใน list
&lt;br&gt;u'Text Label' เป็นตัวอักษรที่กำกับอยู่เหนือ popup_menu
&lt;br&gt;ดังตัวอย่าง&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;import appuifw ,e32
&lt;br&gt;def the_end():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;appuifw.app.title=u'test12'
&lt;br&gt;my_screen=appuifw.Text()
&lt;br&gt;appuifw.app.body=my_screen&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;my_list=[u'hello',u'something',u'anything',u'anyway',u'then',u'goodbye']
&lt;br&gt;index=appuifw.popup_menu(my_list,u'Text Label')&lt;/span&gt;
&lt;br&gt;if index is not None:
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    my_screen.add(my_list[index]+'\n'+u"")
&lt;br&gt;appuifw.app.exit_key_handler=the_end
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test15080502.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;ค่าที่ popup_menu นั้น return กลับมา จะเป็นคล้ายๆกับ index ไว้ไปเทียบใน list
&lt;br&gt;โดยจะเป็นตัวเลข เช่น 0, 1, 2, 3, ฯลฯ บอกว่าเป็นสมาชิกตัวที่เท่าไรใน list
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;Codeตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test11.zip"&gt;test11.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test12.zip"&gt;test12.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/selectionlist_28.html"&gt;หน้าถัดไป&lt;/a&gt;&gt;&gt;&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/input-query.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;And More...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112411432629214958?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112411432629214958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112411432629214958'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/08/popupmenu-list.html' title='popup_menu กับ list'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112378331290985708</id><published>2005-08-12T00:59:00.000+07:00</published><updated>2005-08-28T11:09:22.413+07:00</updated><title type='text'>Input ด้วย query</title><content type='html'>ในโมดูล appuifw ยังมีอีกหลายmethod ที่น่าสนใจ เช่น
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;appuifw.query(u'label',type)&lt;/span&gt;
&lt;br&gt;เป็นการเรียกช่องกรอกตัวอักษร(textbox) ขึ้นมา กำกับด้วย label ให้ผู้ใช้กรอกตัวอักษร และจะ return ค่า กลับมาเป็น string ,int หรืออื่นๆ แล้วแต่ เราจะกำหนดไว้ใน type
&lt;br&gt;type จะเป็น แบบใดแบบหนึ่ง ใน6อย่าง คือ 'text','code','number','date','time'หรือ'query'
&lt;br&gt;ลองมาดูตัวอย่างcodeกัน&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw ,e32
&lt;br&gt;def the_end():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;appuifw.app.title=u'test09'
&lt;br&gt;my_screen=appuifw.Text()
&lt;br&gt;appuifw.app.body=my_screen
&lt;br&gt;my_screen.add(u'Test input by query\n')
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;my_input=appuifw.query(u'Some text','text')&lt;/span&gt;
&lt;br&gt;if my_input is not None:
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    my_screen.add(my_input+'\n')
&lt;br&gt;appuifw.app.exit_key_handler=the_end
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test11080501.gif" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test11080502.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;โปรแกรมนี้ใช้ type เป็นแบบ 'text' ให้ผู้ใช้กรอกตัวอักษร แล้วกด ok
&lt;br&gt;อักษรที่ผู้ใช้กรอกจึงไปปรากฎบน screen 
&lt;br&gt;แต่ถ้าผู้ใช้กดเป็น cancel จะ return กลับมาเป็น None ก็จะไม่มีอะไรเกิดขึ้น
&lt;br&gt;มีการใช้คำสั่ง if ตามด้วยcondition แล้วต่อด้วย :
&lt;br&gt;ถ้า conditionเป็นจริง ก็จะทำตาม blockคำสั่งที่ตามมา
&lt;br&gt;blockคำสั่งถัดๆไปที่ตาม if มาต้องมีการขึ้นบรรทัดใหม่และย่อหน้า

&lt;br&gt;ลองมาดูตัวอย่างแบบตัวเลขกันบ้าง&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw ,e32
&lt;br&gt;def the_end():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;appuifw.app.title=u'test10'
&lt;br&gt;my_screen=appuifw.Text()
&lt;br&gt;appuifw.app.body=my_screen
&lt;br&gt;my_screen.add(u'Test input by query\n')
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;my_input=appuifw.query(u'Some number','number')&lt;/span&gt;
&lt;br&gt;if my_input is not None:
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    my_screen.add(str(my_input)+'\n'+u"")
&lt;br&gt;appuifw.app.exit_key_handler=the_end
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test11080503.gif" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test11080504.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;ถ้าเป็นแบบตัวเลข จะreturnกลับมาเป็น เลขจำนวนเต็ม
&lt;br&gt;เราจะต้องแปลงเป็น Unicode string เสียก่อน โดยใช้คำสั่ง str() แล้วบวกด้วย Unicode string อะไรก็ได้
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;Codeตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test09.zip"&gt;test09.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test10.zip"&gt;test10.zip&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/popupmenu-list.html"&gt;หน้าถัดไป&lt;/a&gt;&gt;&gt;&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/def-return.html"&gt;หน้าก่อน&lt;/a&gt;

&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;And More...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112378331290985708?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112378331290985708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112378331290985708'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/08/input-query.html' title='Input ด้วย query'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112360815312771989</id><published>2005-08-10T00:20:00.000+07:00</published><updated>2005-08-28T00:12:50.886+07:00</updated><title type='text'>def กำหนดคำสั่ง และการ return</title><content type='html'>def ใช้กำหนดคำสั่ง คุณได้เห็นวิธีใช้มาบ้างแล้ว เช่น การปรากฎ note สั้นๆ บนหน้าจอ Smartphone ดังตัวอย่าง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;def hello_01():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'hello with no return','info')  
&lt;br&gt;&lt;/span&gt;
&lt;br&gt;เราใช้ def ตามด้วยชื่อคำสั่งที่เราต้องการกำหนด ต่อด้วยเครื่องหมาย : แล้วมีการย่อหน้า (อาจจะด้วยสัก 4 space)
&lt;br&gt;แต่ละบรรทัดที่ตามมา จะบอกว่าคำสั่งนี้ทำอะไร
&lt;br&gt;แต่ละบรรทัดที่อยู่ในขอบเขตของ def ก็ต้องย่อหน้าให้ตรงกันด้วย
&lt;br&gt;
&lt;br&gt;ภาษาPython ไม่มีเครื่องหมายจบประโยค ไม่มีเครื่องหมายกำหนดขอบเขต แบบภาษาอื่น
&lt;br&gt;Pythonจึงให้ความสำคัญ กับการขึ้นบรรทัดใหม่ และการย่อหน้า ค่อนข้างมาก
&lt;br&gt;ลองมาดู def แบบหลายบรรทัดกันบ้าง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;def hello_re():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'hello with return','info')
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    return 2005
&lt;br&gt;&lt;/span&gt;
&lt;br&gt;จากตัวอย่าง มีการขึ้นบรรทัดใหม่ ย่อหน้าให้ตรงกัน บอกว่า 2 บรรทัดที่ตามมา อยู่ในขอบเขตของ def
&lt;br&gt;คุณจะเห็นว่า hello_re() นอกจากจะแสดง note สั้นๆ แล้ว ยังมีการ return 2005
&lt;br&gt;สามารถนำไปกำหนดค่าให้ตัวแปรต่างๆเช่น
&lt;br&gt;a=hello_re()
&lt;br&gt;หรือจะเปลี่ยน ให้เป็น String ก่อน ก็ใช้คำสั่ง str() เช่น
&lt;br&gt;my_id=str(hello_re())
&lt;br&gt;
&lt;br&gt;ที่จริงทุกคำสั่งในPythonนั้น จะมีการ returnค่า ด้วยเสมอ เช่นตัวอย่างแรก hello_01() ถ้าไม่มีการกำหนดเรื่อง return ไว้ ก็จะ return None
&lt;br&gt;ดังตัวอย่าง&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw ,e32
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;
def hello_01():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'hello with no return','info')
&lt;br&gt;def hello_re():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'hello with return','info')
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    return 2005
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()&lt;/span&gt;
&lt;br&gt;appuifw.app.title=u'test08'
&lt;br&gt;t=appuifw.Text()
&lt;br&gt;appuifw.app.body=t
&lt;br&gt;x=str(&lt;span style="font-size:100%;color:#3333ff;"&gt;hello_01()&lt;/span&gt;)
&lt;br&gt;t.add(u'hello_01 return this...'+x+'\n')
&lt;br&gt;y=str(&lt;span style="font-size:100%;color:#3333ff;"&gt;hello_re()&lt;/span&gt;)
&lt;br&gt;t.add(u'hello_re return this...'+y+'\n')
&lt;br&gt;appuifw.app.exit_key_handler=&lt;span style="font-size:100%;color:#3333ff;"&gt;stop_now&lt;/span&gt;
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test09080501.gif" /&gt;&lt;br&gt;return,or not return?&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;Codeตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test08.zip"&gt;test08.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/input-query.html"&gt;หน้าถัดไป&gt;&gt;&gt;&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/string.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;And More...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112360815312771989?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112360815312771989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112360815312771989'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/08/def-return.html' title='def กำหนดคำสั่ง และการ return'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112341745147801002</id><published>2005-08-07T19:22:00.000+07:00</published><updated>2005-08-28T11:10:30.283+07:00</updated><title type='text'>String</title><content type='html'>String เปรียบเสมือนเส้นสาย ของตัวอักษร 
&lt;br&gt;เรากำหนดแต่ละ string โดยการปิดหัว-ท้าย กลุ่มตัวอักษรด้วย ' หรือ " หรือ """
&lt;br&gt;ในตัวอย่างที่ผ่านๆมา คุณจะเห็นการใช้ Stringหลายต่อหลายครั้ง เช่น
&lt;br&gt;'hello'
&lt;br&gt;'something'
&lt;br&gt;&lt;br&gt;
&lt;br&gt;ถ้าต้องการให้มีการขึ้นบรรทัดใหม่ ก็ใช้แทนด้วยอักษร \n เช่น
&lt;br&gt;print 'hello\nsomething'
&lt;br&gt;จะได้เป็น
&lt;br&gt;hello
&lt;br&gt;something
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test07080501.gif" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test07080502.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;ถ้าต้องการให้พิมพ์อักษร \ ก็ใช้แทนด้วยอักษร \&lt;br&gt;print 'is\\am\\are.'
&lt;br&gt;จะได้ผลเป็น
&lt;br&gt;is\am\are.
&lt;br&gt;
&lt;br&gt;ถ้าต้องการให้พิมพ์อักษร ' หรือ " ก็ใช้แทนด้วยอักษร \' หรือ \" เช่น
&lt;br&gt;print '_\"isn\'t it\"_'
&lt;br&gt;จะได้ผลเป็น
&lt;br&gt;_"isn't it"_
&lt;br&gt;
&lt;br&gt;อีกวิธีในการแสดงเครื่องหมาย ' คือใช้ปิดหัว-ท้าย string ด้วย " หรือ """
&lt;br&gt;โดยเฉพาะเครื่องหมาย """ ถ้าล้อมรอบstringใด สามารถใช้ ' และ " หรือมีการขึ้นบรรทัดใหม่ ในstring ได้ง่ายๆเลย ดังตัวอย่าง
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw ,e32
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;appuifw.app.title=u'test07'
&lt;br&gt;t=appuifw.Text()
&lt;br&gt;appuifw.app.body=t
&lt;br&gt;x=u"Isn't it?"
&lt;br&gt;y=u'\n'
&lt;br&gt;z=u"""Hello.
&lt;br&gt;It's "cool".
&lt;br&gt;Isn't it?"""
&lt;br&gt;t.add(x)
&lt;br&gt;t.add(y)
&lt;br&gt;t.add(z)
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test07080503.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;br&gt;string ที่จะปรากฎบนหน้าจอของsmartphone ต้องเป็น Unicode
&lt;br&gt;ดังจะเห็นว่า string ส่วนใหญ่ที่ใช้ใน method ของ appuifw จะเป็น Unicode
&lt;br&gt;Unicode string จะมีอักษร u อยู่ข้างหน้า ดังตัวอย่างที่ผ่านๆมา
&lt;br&gt;
&lt;br&gt;เนื่องจาก ไฟล์.py เป็นไฟล์แบบ ASCII เราจึงไม่สามารถใส่อักษร Unicode ลงไปในไฟล์ได้โดยตรง
&lt;br&gt;แต่อาจจะใช้ \u ตามด้วยเลขฐาน16 เพื่อกำหนดแต่ละตัวอักษร เช่น 
&lt;br&gt;\u0e01 เป็นอักษร ก เป็นต้น
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test07080503.jpg" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;Codeตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test07.zip"&gt;test07.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/def-return.html"&gt;หน้าถัดไป&lt;/a&gt;&gt;&gt;&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/softkey-menu-set-text-on-screen2.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;And More...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112341745147801002?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112341745147801002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112341745147801002'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/08/string.html' title='String'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112294072950268488</id><published>2005-08-02T06:57:00.000+07:00</published><updated>2005-08-28T00:18:23.856+07:00</updated><title type='text'>กำหนด Softkey สร้างMenu และ Set text on Screen(2)</title><content type='html'>Smartphone จะมี Softkey ใต้ Sceen ซ้ายและขวา
&lt;br&gt;Softkeyขวา เรากำหนดให้เป็น Exit ด้วยคำสั่ง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;appuifw.app.exit_key_handler=stop_now&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;คำสั่งที่ตามหลังเครื่องหมาย = จะเห็นว่าเป็นแบบไม่มีเครื่องหมาย () ตามหลัง นั่นคือเราไม่สามารถเรียกใช้คำสั่งต่างๆได้โดยตรงที่นี่ เราต้องกำหนดไว้ก่อน (ด้วย def )
&lt;br&gt;Softkeyซ้ายก็คล้ายๆกัน เรากำหนดด้วยคำสั่ง
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;appuifw.app.menu=[(u'menu text1',funtion1),(u'menu text2',funtion2)]&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;menuมีได้หลายอัน จากตัวอย่างข้างบน menu text1 ต้องเป็นแบบ Unicode String เป็นตัวอักษรที่จะแสดงบนแต่ละ menu บนหน้าจอ Smartphone
&lt;br&gt;ส่วนถัดมา (funtion1จากตัวอย่าง) เป็นคำสั่งที่เรากำหนดไว้ก่อนเป็นแบบไม่มีเครื่องหมาย () ตามหลัง
&lt;br&gt;ลองมาดูโปรแกรมเต็มๆกัน&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;
import appuifw ,e32
&lt;br&gt;def info_hello():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'hello','info')
&lt;br&gt;def clear_screen():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    t.clear()
&lt;br&gt;def note_with_clear():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    t.clear()
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'Clear text on screen','info')
&lt;br&gt;def note_with_settext():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    t.set(u'set text on screen to hello\n')
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'Set text on screen to hello','info')
&lt;br&gt;def note_with_add():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    t.add(u'add something\n')
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    appuifw.note(u'Add text on screen body','info')
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;appuifw.app.title=u'test06'
&lt;br&gt;t=appuifw.Text()
&lt;br&gt;appuifw.app.body=t
&lt;br&gt;t.set(u'set text on screen to hello\n')
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;appuifw.app.menu=[(u'hello menu',info_hello),(u'clear screen menu',clear_screen),(u'note with clear menu',note_with_clear),(u'note with add menu',note_with_add),(u'note with settext menu',note_with_settext)]&lt;/span&gt;
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;โปรแกรม test06.py จะสร้าง menu 5อัน มี 5Function ที่เรากำหนดให้เรียกใช้
&lt;br&gt;เช่น
&lt;br&gt;appuifw.note() แสดงnoteสั้นๆ
&lt;br&gt;t.clear() จะลบอักษรบน Text Screen Body
&lt;br&gt;t.set() กำหนดอักษรบน Text Screen Body ทั้งหมด
&lt;br&gt;t.add() เพิ่มอักษรบน Text Screen Body บริเวณ cusor
&lt;br&gt;หากให้มีการขึ้นบรรทัดใหม่ ก็ใส่ \n ลงไปใน string
&lt;br&gt;

&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/testmenu02.jpg" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/testmenu03.jpg" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;Codeตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test06.zip"&gt;test06.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/string.html"&gt;หน้าถัดไป &gt;&gt;&gt;&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/text-body-part1.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;And More...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112294072950268488?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112294072950268488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112294072950268488'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/08/softkey-menu-set-text-on-screen2.html' title='กำหนด Softkey สร้างMenu และ Set text on Screen(2)'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112278643402962728</id><published>2005-07-31T12:03:00.000+07:00</published><updated>2005-08-28T11:11:51.286+07:00</updated><title type='text'>ตัวอักษรบน Text Body (part1)</title><content type='html'>เราสามารถจัดการ หน้าจอของโปรแกรมบนPython ได้3แบบ คือ Text ,Listbox และCanvas
&lt;br&gt;โดยกำหนดที่ appuifw.app.body 
&lt;br&gt;ลองมาดูตัวออย่างง่ายๆของ โปรแกรมที่มีหน้าจอแบบ Text 
&lt;br&gt;&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;import appuifw ,e32
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;appuifw.app.title=u'test text04'
&lt;br&gt;t=appuifw.Text()
&lt;br&gt;appuifw.app.body=t
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;เราใช้ตัวแปร t สั้นๆง่ายๆสะดวกในการเรียกใช้ กำหนดให้เป็น การแสดงหน้าจอแบบText
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;t=appuifw.Text()&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;แล้วกำหนด appuifw.app.body ให้เป็น แบบ t นี้
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;appuifw.app.body=t&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;โปรแกรมที่ได้ มี title อย่างที่เราsetไว้ เป็น test text04 มีการหยุดรอรับคำสั่งต่างๆ มี Exit
&lt;br&gt;ส่วน Body เป็นแบบ Text
&lt;br&gt;ซึ่งก็คล้ายๆEditor แสดงผลเป็นตัวอักษร ผู้ใช้งานกด เพิ่มตัวอักษรลงไปได้ บริเวณ cursor
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/Test04.gif" /&gt;&lt;br&gt;Body เป็นแบบ Text&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;เราset ตัวอักษรบน Text-body ได้โดยใช้คำสั่ง set() เช่น&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;t.set(u'hello hello and hello')&lt;/span&gt;
&lt;br&gt;ดังตัวอย่าง
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;import appuifw ,e32
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp    a.signal()
&lt;br&gt;appuifw.app.title=u'test text05'
&lt;br&gt;t=appuifw.Text()
&lt;br&gt;appuifw.app.body=t
&lt;br&gt;t.set(u'hello hello and hello')
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/Test05.jpg" /&gt;&lt;br&gt;set ตัวอักษรบน Text-body&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;Codeตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test04.zip"&gt;test04.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test05.zip"&gt;test05.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/08/softkey-menu-set-text-on-screen2.html"&gt;หน้าถัดไป&lt;/a&gt;&gt;&gt;&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;


&lt;br&gt;&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;And More&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112278643402962728?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112278643402962728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112278643402962728'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/07/text-body-part1.html' title='ตัวอักษรบน Text Body (part1)'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112257047230519561</id><published>2005-07-29T00:06:00.000+07:00</published><updated>2005-08-28T11:14:25.516+07:00</updated><title type='text'>การสร้าง Function สร้าง Menu และกำหนด Exit</title><content type='html'>การสร้างFunction 
&lt;br&gt;ใช้ def กำหนดคำสั่งใหม่ ตามด้วย : และมีการขึ้นบรรทัดใหม่ย่อหน้า(ด้วยspaceสัก4ตัว) เช่น
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;import appuifw 
&lt;br&gt;def info_hello():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp appuifw.note(u'hello','info')
&lt;br&gt;appuifw.app.title=u'hello'
&lt;br&gt;info_hello()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;ก็จะได้ผลเหมือนกับ 
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;import appuifw 
&lt;br&gt;appuifw.app.title=u'hello' 
&lt;br&gt;appuifw.note(u'hello','info')&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/test02edit.jpg" /&gt;&lt;br&gt;def สร้าง function&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/Python_hello.jpg" /&gt;&lt;br&gt;ได้ hello เหมือนเดิม&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;โปรแกรม.pyในPython เป็นScript ที่จะดำเนินงานตั้งแต่บรรทัดแรก ไปบรรทัดถัดๆไป เรื่อยๆจนกว่า จะออกจากโปรแกรม
&lt;br&gt;ยกเว้นในบางกรณีเช่น ประโยคที่ตามหลังdef เป็นการกำหนดคำสั่ง จะยังไม่ทำงานจนกว่าจะมีการเรียกใช้ คำสั่งที่กำหนดไว้
&lt;br&gt;
&lt;br&gt;โปรแกรม test01.py ที่อธิบายไปจะทำงานเพียงชั่วครู่ แล้วก็ไปถึงบรรทัดสุดท้ายจบโปรแกรมไป
&lt;br&gt;ถ้าจะให้โปรแกรมเปิดค้างรอรับคำสั่งอยู่ และสามารถกด SoftKeyขวา เพื่อออกจากโปรแกรม
&lt;br&gt;ต้องเพิ่มบรรทัดเหล่านี้ลงไป
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;import e32
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp a.signal()
&lt;br&gt;...
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;ลองทำโปรแกรมให้ครบถ้วนเลยละกัน
&lt;br&gt;เพิ่ม Screen Body แบบ Text
&lt;br&gt;เพิ่มบรรทัดเหล่านี้ลงไป
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;t=appuifw.Text()
&lt;br&gt;appuifw.app.body=t&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;เพิ่มเมนูไปเลือกคำสั่ง info_hello()
&lt;br&gt;ก็เพิ่มบรรทัดเหล่านี้ลงไป
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;appuifw.app.menu=[(u'hello menu',info_hello)]&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;ครบแล้วก็ได้เป็น test03.py แบบนี้
&lt;br&gt;มีเมนู กดแล้วเรียก noteสั้นๆ แสดงข้อความ hello ออกมา&lt;br&gt;
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;import appuifw ,e32
&lt;br&gt;def info_hello():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp appuifw.note(u'hello','info')
&lt;br&gt;def stop_now():
&lt;br&gt;&amp;nbsp&amp;nbsp&amp;nbsp&amp;nbsp a.signal()
&lt;br&gt;appuifw.app.title=u'hello'
&lt;br&gt;t=appuifw.Text()
&lt;br&gt;appuifw.app.body=t
&lt;br&gt;appuifw.app.menu=[(u'hello menu',info_hello)]
&lt;br&gt;appuifw.app.exit_key_handler=stop_now
&lt;br&gt;a=e32.Ao_lock()
&lt;br&gt;a.wait()&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/tes03menu.jpg" /&gt;&lt;br&gt;กดSoftKeyซ้ายได้Menu&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/Python_hello.jpg" /&gt;&lt;br&gt;เลือกMenuแสดงnote&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;Code ตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test03.zip"&gt;test02.zip&lt;/a&gt;
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test03.zip"&gt;test03.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/text-body-part1.html"&gt;หน้าถัดไป&lt;/a&gt;&gt;&gt;&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;

&lt;br&gt;&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;And More&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112257047230519561?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112257047230519561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112257047230519561'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/07/function-menu-exit.html' title='การสร้าง Function สร้าง Menu และกำหนด Exit'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112255464005204688</id><published>2005-07-28T19:42:00.000+07:00</published><updated>2005-08-28T11:16:39.426+07:00</updated><title type='text'>เริ่มต้นเขียนโปรแกรม กับ Python</title><content type='html'>โปรแกรมในภาษาPython ก็เป็นเพียง Text-file ธรรมดาๆ ที่คุณสามารถเขียนขึ้นได้ด้วย Notepad บน PC
&lt;br&gt;save เป็นไฟล์นามสกุล .py (save encoding เป็นแบบ ASCII หรือ ANSI)
&lt;br&gt;ลองเปิด Notepad บน PC แล้วสร้าง ไฟล์ test01.py ที่มีเนื้อหา ดังนี้
&lt;table width="98%" bgcolor="#E4F7F1" style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="" cellpadding="4" border="3"&gt;&lt;tr&gt;&lt;td&gt;import appuifw 
&lt;br&gt;appuifw.app.title=u'hello' 
&lt;br&gt;appuifw.note(u'hello','info')&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;br&gt;ระวัง ต้อง saveเป็น .py ไม่ใช่ test01.PY , test01.Py , TEST01.PY ซึ่งจะไม่work
&lt;br&gt;แล้วนำไปไว้ใน MMC ที่โฟลเดอร์
&lt;br&gt;&lt;span style="font-size:100%;color:#3333ff;"&gt;E:\SYSTEM\APPS\Python\my&lt;/span&gt;
&lt;br&gt;ไฟล์โปรแกรมต่างๆ ที่เราเขียนขึ้น หรือ D/L มา จะต้องนำไปไว้ในโฟล์เดอร์นี้ Pythonจึงสามารถเรียกขึ้นมาใช้ได้
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/TestOnNotepad.gif" /&gt;&lt;br&gt;เขียนด้วย Notepad&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/AnsiSave.gif" /&gt;&lt;br&gt;save เป็นแบบ ANSI&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;เสร็จเรียบร้อยก็เรียก Python ขึ้นมา เลือกเมนู Run script
&lt;br&gt;มองหาชื่อโปรแกรม ที่เราเขียนไว้ my\test01.py เจอแล้วก็คลิกเลือกเลย
&lt;br&gt;ผลก็จะเป็น การเปิด Information Note ขึ้นมาช่วงสั้นๆมีข้อความ Hello ดังรูปข้างล่าง
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/ChoosingT1.jpg" /&gt;&lt;br&gt;เลือก my\test01.py&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/Python_hello.jpg" /&gt;&lt;br&gt;ผลของ test01.py&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;
&lt;br&gt;
&lt;br&gt;มาดูเนื้อหาของโปรแกรมกันดีกว่า
&lt;br&gt;บรรทัดแรก &lt;span style="font-size:100%;color:#3333ff;"&gt;import appuifw &lt;/span&gt;
&lt;br&gt;เป็นการเรียกโมดูลชื่อ appuifw เป็น Series 60 User Interface Framework 
&lt;br&gt;การเขียน Graphic User Interface บน Symbian ต้องเรียกใช้โมดูลนี้ แทบทุกโปรแกรม ซึ่งผมคิดว่า เขาก็จัดเตรียมไว้ให้ เราเลือกใช้ได้ สะดวกดี
&lt;br&gt;
&lt;br&gt;บรรทัดถัดมา &lt;span style="font-size:100%;color:#3333ff;"&gt;appuifw.app.title=u'hello'&lt;/span&gt; 
&lt;br&gt;เป็นการกำหนด ตัวอักษรที่แสดงไว้ด้านบน ของแต่ละโปรแกรม จะเห็นว่า มีอักษร u อยู่ข้างหน้าString เพื่อกำหนดว่า Stringนี้เป็นUnicode อักษรอะไรก็ตามที่จะไป ปรากฏบนจอภาพของ Smartphone ต้องเป็น Unicode
&lt;br&gt;
&lt;br&gt;ส่วนบรรทัดสุดท้ายที่สำคัญ &lt;span style="font-size:100%;color:#3333ff;"&gt;
&lt;br&gt;appuifw.note(u'hello','info')&lt;/span&gt;
&lt;br&gt;เป็นการเรียกใช้ คำสั่งเปิด Information Note ขึ้นมาเพื่อแสดงข้อความเป็น Unicode ว่า hello
&lt;br&gt;และแสดงไอคอนเป็นแบบ 'info' (เลือกได้หนึ่งในสาม 'info' , 'conf' หรือ 'error')
&lt;br&gt;ไม่ยากเลยใช่มั้ยครับ
&lt;br&gt;
&lt;br&gt;หรือคุณอาจจะหา Editor ที่สามารถ save file เป็น ASCII สักอันมาลงใน Smartphone ก็จะเขียนโปรแกรม Python ได้โดยไม่ต้องใช้ PC เลย
&lt;br&gt;แนะนำเรื่อง Editor ไว้บ้างในหน้าก่อนครับ
&lt;br&gt;
&lt;br&gt;Code ตัวอย่าง
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/test01.zip"&gt;test01.zip&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;หน้าถัดไป&lt;/a&gt;&gt;&gt;&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;หน้าก่อน&lt;/a&gt;
&lt;br&gt;&lt;a href="http://isiam.blogspot.com/2005/07/python-for-symbian-s60.html"&gt;กลับไปหน้าหลัก&lt;/a&gt;


&lt;br&gt;&lt;br&gt;รายละเอียดเกี่ยวกับ &lt;span style="font-size:130%;color:#3333ff;"&gt;Python for Symbian s60&lt;/span&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/introduction-to-python.html"&gt;Introduction to Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;Let's run Python for Symbian s60&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python-interactiveconsole.html"&gt;สั่งงานในPython ด้วย InterActiveConsole&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/editor-symbian-python.html"&gt;Editor บน Symbian ที่เขียนด้วย Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt; &lt;a href="http://isiam.blogspot.com/2005/07/python.html"&gt;เริ่มต้นเขียนโปรแกรม กับ Python&lt;/a&gt;
&lt;br&gt;&gt;&gt;&gt;&lt;a href="http://isiam.blogspot.com/2005/07/function-menu-exit.html"&gt;การสร้าง Function สร้าง Menu และกำหนด Exit&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14680809-112255464005204688?l=isiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112255464005204688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14680809/posts/default/112255464005204688'/><link rel='alternate' type='text/html' href='http://isiam.blogspot.com/2005/07/python.html' title='เริ่มต้นเขียนโปรแกรม กับ Python'/><author><name>bpitk</name><uri>http://www.blogger.com/profile/16300603512746011726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-14680809.post-112239791218293025</id><published>2005-07-27T00:05:00.000+07:00</published><updated>2006-03-24T23:07:15.636+07:00</updated><title type='text'>Editor บน Symbian ที่เขียนด้วย Python</title><content type='html'>myeditor_mod.py เป็น File Explorer ที่มี Editor ในตัว ปรับปรุงจากโปรแกรม filebrowser.py ที่มีมาพร้อมๆกับ การตั้ง Python&lt;br&gt;ทำให้มีความสามารถในการ เปิดดูรายชื่อไฟล์ในแต่ละDrive ของSymbian Smartphone และถ้าไฟล์ไหนเป็น Text File ก็สามารถเปิดขึ้นมาEdit และ saveไฟล์ ได้อีกด้วย
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/Editor_edit.jpg" /&gt;&lt;br&gt;เปิดไฟล์มา Edit&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/Editor_save.jpg" /&gt;&lt;br&gt;save File&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;br&gt;
วิธีใช้ myeditor_mod.py ก็เริ่มจาก ติดตั้ง Pythonให้เรียบร้อย &lt;br&gt;
(&lt;a href="http://isiam.blogspot.com/2005/07/lets-run-python-for-symbian-s60.html"&gt;ดูรายละเอียดการติดตั้ง Python ได้ที่นี่ &lt;/a&gt;)&lt;br&gt;แล้ว D/L myeditor_mod.py จาก &lt;br&gt;
&lt;a href="http://www.mathematik.uni-mainz.de/~stefan/python/"&gt;http://www.mathematik.uni-mainz.de/~stefan/python/&lt;/a&gt;&lt;br&gt;
&lt;a href="http://hodge.mathematik.uni-mainz.de/~stefan/python/myeditor_mod.py"&gt;myeditor_mod.py&lt;/a&gt;    &lt;br&gt;...by mueller-stach  &lt;br&gt;
&lt;a href="http://www.geocities.com/mayank2cool/ScribblePad/ScribblePad-0.2.tar.gz"&gt;http://www.geocities.com/mayank2cool/ScribblePad/ScribblePad-0.2.tar.gz&lt;/a&gt;
&lt;br&gt;...by makuchaku&lt;br&gt;copyไปไว้ใน E:\SYSTEM\APPS\Python\my&lt;br&gt;
หลังจากนั้นจะสามารถ เรียกใช้ myeditor_mod.py ได้จากเมนู run script ใน Python
&lt;br&gt;&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/Python07.jpg" /&gt;&lt;br&gt;เมนู Run script&lt;br&gt;ใน Python&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/BrowserEditor.jpg" /&gt;&lt;br&gt;ส่วน File Browser&lt;br&gt;ใน myeditor_mod.py&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;br&gt;
ข้อด้อยของ myeditor_mod.py ก็คือไม่สามารถสร้างไฟล์ใหม่ (คือmyeditor_mod.py สามารถEdit และ saveไฟล์ที่มีอยู่เดิมใน Drive ของSymbian Smartphone เท่านั้น) และ saveได้เฉพาะไฟล์ แบบASCII ไม่สามารถsaveไฟล์ที่เป็นภาษาไทยแบบ Unicode&lt;br&gt;&lt;br&gt;
ผมจึงลองเขียน Editor ขึ้นมาใหม่ด้วยภาษา Python ให้สามารถ สร้างไฟล์ใหม่ อ่าน และsaveไฟล์ ได้ทั้งที่เป็น ASCII และที่เป็นภาษาไทยแบบ Unicode
&lt;br&gt;Knotepad ใครสนใจนำไปลองใช้ กับ Python บนSymbian Smartphone ก็ D/L ได้ที่นี่
&lt;br&gt;&lt;a href="http://www.isiam.info/dl/knotepad.zip"&gt;knotepad.zip&lt;/a&gt;
&lt;br&gt;วิธีใช้คล้ายๆที่กล่าวไปแล้ว คือ copyไปไว้ใน&lt;br&gt; E:\SYSTEM\APPS\Python\my&lt;br&gt;
แล้วจะสามารถ เรียกใช้ Knotepad.py ได้จากเมนู run script ใน Python&lt;br&gt;
มีหลักการที่สำคัญก็คือ ไฟล์ที่มีอักษรภาษาไทย ต้องอ่านและsave แบบ Unicode&lt;br&gt;
ส่วนไฟล์ .py  ต้องอ่านและsave แบบ ASCII&lt;br&gt;
ไฟล์ต้องนามสกุล .txt ถ้าจะให้สามารถเปิดอ่าน ด้วย Explorer (เรียก Note ขึ้นมาเปิดอ่าน)&lt;br&gt;
Knotepad.py ไม่มีFileBrowserในตัว ดังนั้นคุณต้องจำชื่อไฟล์ได้ จึงจะสามารถเปิดอ่าน หรือsaveได้ และไฟล์ต้องอยู่ใน E: 
&lt;br&gt;
&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-RIGHT: #d0d0d0 10pt solid; BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table style="BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-LEFT: #d0d0d0 10pt solid; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/Knotepad_run.jpg" /&gt;&lt;br&gt;เรียกใช้ Knotepad.py&lt;br&gt;ได้จากเมนู run script&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.isiam.info/i/Knotepad_open.jpg" /&gt;&lt;br&gt;อ่านเขียนได้ทั้ง&lt;br&gt;ASCII Unicode&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;

&lt;center&gt;&lt;table style="BORDER-LEFT-COLOR: #d0d0d0; BORDER-BOTTOM-COLOR: #d0d0d0; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: #d0d0d0; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-RIGHT-COLOR: #d0d0d0; BORDER-BOTTOM-STYLE: solid" cellspacing="0" cellpadding="0" border="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table styl
