วันอังคารที่ 22 พฤศจิกายน พ.ศ. 2554

ประโยชน์ของการเขียนโปรแกรมบน Pocket PC หรือ PDA

ปัจจุบัน PDA หรือ Pocket PC เข้ามามีบทบาทในด้านธุรกิจอย่างกว้างขวาง โดยเฉพาะอย่างยิ่ง งานที่เกี่ยวข้องกับฐานข้อมูล เช่น การตรวจสอบสต็อกสินค้า, การสั่งอาหารในร้านอาหาร, การเก็บข้อมูลนอกสถานที่ และอื่นๆ อีกมาก เนื่องจากความสะดวกในการพกพา และขีดความสามารถที่เพิ่มขึ้นของอุปกรณ์ประเภทนี้

ถึงแม้ว่าช่วงสองปีหลังนี้ Tablet PC เริ่มเข้ามาได้รับความนิยมเป็นอย่างมาก แต่ด้วยขนาดและ ความสามารถเฉพาะทางบางอย่างก็ยังไม่เท่ากับ Pocket PC โดยเฉพาะการติดต่อฐานข้อมูลอย่าง MS SQL Server ซึ่งตัวระบบปฏิบัติการอย่าง Windows Mobile ยังทำได้ดีกว่าตัวอืืนๆ อยู่

และนี่คือภาพตัวอย่างของระบบสั่งอาหารผ่าน Pocket PC โดยเชื่อมโยงเข้าไปยังฐานข้อมูล SQL Server โดยผ่านระบบ LAN แบบไร้สาย ซึ่งโดยหลักการนี้สามารถนำไปพัฒนากับระบบงานอื่นๆ ได้อย่างมากมาย

วันอังคารที่ 15 กุมภาพันธ์ พ.ศ. 2554

ข้อจำกัดของ Picture Box บน Pocket PC/PDA

การเขียนโปรแกรมด้วย Visual Studio 2008 บน Pocket PC นั้นมีข้อจำกัดในหลายๆ เรื่อง อย่างหนึ่งที่พบคือขนาดของรูปที่จะนำมา Load ตอน Runtime บน PictureBox Control


ตัวอย่างเช่น ถ้าคุณใช้คำสั่ง

PictureBox1.Image = Bitmap.FromFile("ชื่อไฟล์รูปภาพ");

แล้วไฟล์รูปภาพของคุณมีขนาด Pixel มากกว่า 1,200x1,200 Pixel แล้วล่ะก็ คุณจะได้รับข้อความ Error ประมาณว่า OutofMemoryException ซึ่ง Code เดียวกันนี้ถ้าเขียนบนเครื่อง PC ก็คงไม่มีปัญหาอะไรเกิดขึ้น นี่คือตัวอย่างหนึ่งของข้อจำกัดเวลาเขียนโปรแกรมบน Pocket PC ซึ่งเป็นผลมาจากข้อจำักัดของ Compact Framework นั่นเอง

แล้วจะแก้ไขอย่างไรล่ะ? วันนี้ผมมี Function สำหรับ การย่อขนาด Pixel (ภาษา C#) แบบง่ายๆ มาให้ลองเอาไปใช้กันดูครับ ดังนี้

private void ReduceAndSaveImage(string fname)
{
string fn = fname;
Image imp = Bitmap.FromFile(fn);
float newWidth = 300; float newHeight = 300;

Bitmap newImage = new Bitmap(Convert.ToInt32(newWidth), Convert.ToInt32(newHeight));
Graphics gr = Graphics.FromImage(newImage);
gr.SmoothingMode = SmoothingMode.AntiAlias;
gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
gr.DrawImage(imp, new Rectangle(0, 0, Convert.ToInt32(newWidth), Convert.ToInt32(newHeight)));
imp.Dispose();
pictureBox1.Image = newImage;
System.Threading.Thread.Sleep(100);
pictureBox1.Image.Save(fn);
}


ลองเอาไปดัดแปลงใช้กันดูนะครับ ในส่วนของ NewWeight, NewHeight นั้นถ้าเพื่อนๆ ต้องการให้ย่อเป็นกี่ Pixel ก็เปลี่ยนแปลงเอาครับในตัวอย่างผมปรับให้เป็น 300 * 300 pixel ครับ

อ้อเกือบลืมบอกไปว่าให้ using System.Drawing.Drawing2D; เข้ามาก่อนด้วยนะครับ


วันพุธที่ 8 ธันวาคม พ.ศ. 2553

ทำไม SQL Server 2005 Express ที่มาพร้อมกับ Visual Studio 2008 ใช้ไม่ได้?

โดยปกติเมื่อเราได้ติดตั้งชุดติดตั้งของ Visual Studio 2008 นั้น จะมี SQL Server 2005 Express ลงมาให้ด้วย ซึ่งเป็นเวอร์ชั่นที่ให้ใช้ได้ฟรีครับ แต่ก็นั่นแหละครับของฟรีก็อาจจะมีอะไรไม่สมบูรณ์นัก หรือไม่ก็มีข้อจำกัดในตัวมันเอง ไม่เหมือนตัวเต็มที่ต้องเสียเงิน แต่นั่นไม่ใช่ประเด็นที่ผมจะพูดในบทความนี้หรอกนะครับ ประเด็นที่ผมจะกล่าวถึงในบทความนี้ เป็นเรื่องที่บางท่านอาจจะยังไม่ทราบเกี่ยวกับ SQL Server 2005 Managment Studio Express ครับ

บางท่านที่ยังไม่เคยใช้ อาจจะสงสัยว่าเมื่อลงมาแล้วทำไมมันเข้าไปสร้าง หรือจัดการตารางไม่ได้? ไม่ต้องตกใจครับเพราะที่ลงมาพร้อมกับ VS 2008 นั้น มันมีมาให้เฉพาะในส่วนของ Configuration Tools ซึ่งการจะเข้าไปจัดการตารางหรือ คิวรี ต่างๆ ของ SQL Server นั้น ต้องใช้โปรแกรมที่เรียกว่า SQL Server Management Studio ครับ

สำหรับเวอร์ชั่น Express นี้เราต้องไปหา Download มาใช้เองครับ ซึ่งทาง Microsoft ก็เปิดให้ Download ฟรี โดยเราอาจจะหาจากเว็ปด้วยคำว่า "Download SQL 2005 Express Management Studio" ก็ได้ครับ หรือไม่ก็ลอง >> Download ที่นี่

ไฟล์ที่ Download มาก็จะเป็นไฟล์ .msi ให้ติดตั้งได้เลย เมื่อติดตั้งเสร็จให้เข้าไปดูที่เมนูของ SQL Server 2005 Express จะมีโปรแกรม SQL Server 2005 Management Studio Express เพิ่มเข้ามาครับตามรูปด้านล่าง



ทีนี้เราก็เข้าไปจัดการ Database หรือ Table ต่างๆ ได้แล้วล่ะครับ หวังว่าคงเป็นประโยชน์บ้างนะครับสำหรับท่านใดที่ยังไม่ทราบ

วันพฤหัสบดีที่ 22 ตุลาคม พ.ศ. 2552

การสร้างไฟล์ .sdf บน Pocket PC ด้วย Visual Studio 2008

บน Pocket PC ก็มีฐานข้อมูล SQL Server ให้ใช้เหมือนกัน เป็น Version CE ครับ หรือเรียกเต็มๆ ว่า SQL Server CE (Compact Edition) ในแต่ละฐานข้อมูลจะเป็นไฟล์ .sdf เหมือนๆ กับ MS Access ที่เป็นไฟล์ .mdb
ในการเขียนโปรแกรมบน Pocket PC ด้วย Visual Studio ไม่ว่าจะเป็นภาษา VB หรือ C# ก็สามารถใช้งานฐานข้อมููลตัวนี้ได้เหมือนกัน ดังนั้นเรามาดูวิธีการสร้างไฟล์ฐานข้อมูล .sdf กันดีกว่า (ตัวอย่างในโพสนี้จะใช้ Visual Studio 2008 นะครับ)

1. เปิด Visual Studio 2008 ขึ้นมา และไปที่ Server Explorer
2. คลิกขวาที่ Data Connections และเลือกเมนู Add Connection...










3. เมื่อหน้าต่าง Add Connection แสดงขึ้นมาให้ตรวจสอบ Data Source ว่าเป็น SQL Server Compact หรือเปล่าถ้าไม่เป็น ก็เปลี่ยนครับ และค่าอื่นๆ ก็ดูตามรูป แล้วก็กดปุ่ม Create ได้เลย

4. เมื่อหน้าจอ Create New แสดงขึ้นมาให้กำหนด Path ที่จะเก็บไฟล์ และชื่อไฟล์ด้วย และ password จะมีหรือไม่มีก็ได้ครับ แต่ถ้ามี ใน Connection String ตอนเขียนโปรแกรมก็ต้องมีด้วยครับ หลังจากนั้นก็กดปุ่ม OK ไปเรื่อยๆ (ในกรณีที่คุณไม่ใส่ password จะมีหน้าจอมา confirm คุณก็กดปุ่ม Yes ไปได้เลยครับ)


5. ง่ายมากๆ ใช่ใหมครับ ในการสร้างไฟล์ฐานข้อมูล .sdf ส่วนการสร้าง table ในฐานข้อมูลคุณก็ คลิกขวาที่ Table จะมีเมนูสำหรับการสร้างและแก้ไข Table ให้ครับ


เมื่อคุณสร้างฐานข้อมูลและตารางที่ต้องการเรียบร้อยแล้ว ในการใช้งานก็ให้ Copy ไฟล์ .sdf นี้ไปไว้ในที่ที่คุณต้องการบน Pocket PC ครับ (ถ้าคุณรันโปรแกรม จาก Visual Studio 2008 ตัว Component ที่จำเป็นเกี่ยวกับ SQL Server CE จะถูกติดตั้งให้เองอัตโนมัิติครับ ผลมาจากการ Add Refference ของ SqlServerCe เข้ามาในโปรเจ็ก) เรียบร้อย ลุยเลยครับ....

วันศุกร์ที่ 4 กันยายน พ.ศ. 2552

MS .NET Compact Framework ไม่มี โปรแกรมก็รันไม่ได้

Microsoft .NET Compact Framework (.NET CF) คือ .NET Framework ที่ออกแบบมาให้รันบน Pocket PC หรือ PDA ที่ใข้พื้นฐานของระบบปฏิบัติการ Windows CE ซึ่งแน่นอนว่าฟังก์ชั่น ต่างๆ ก็จะถูกย่อส่วนลงมาจาก Framework ตัวเต็มบน Windows และฟังก์ชั่นบางอย่างก็ถูกสร้างขึ้นมาเพื่อ Pocket PC โดยเฉพาะ

โดยปัจจุบัน เวอร์ชั่นล่าสุดที่เปิดใช้อย่างเป็น ทางการคือ เวอร์ชั่น 3.5 ซึ่งจะติดมากับ Visual Studio 2008 คุณสามารถพัฒนางานบน Pocket PC ได้กับ OS ตั้งแต่ Windows CE 4.1 ขี้นไป โดยสามารถใช้ภาษา Visual Basic V.9 หรือ ภาษา C# ก็ได้ตามความถนัด

และเนื่องจากอุปกรณ์ Mobile Phone หรือ Pocket PC เริ่มได้รับความนิยมมากขึ้นในปัจจุบัน เพราะความสะดวกในการพกพา และความสามารถที่มีเพิ่มขึ้นเรื่อยๆ สวนทางกับราคาที่ลดต่ำลง และเมื่อเปรียบเทียบ กับโน็ตบุ๊ก หรือ เครื่องคอมตั้งโด๊ะ ก็จะมีราคาถูกกว่ามาก ทำให้การนำเอา Pocket PC เข้ามาใช้เฉพาะงานดูจะเป็นเรื่องที่ได้รับความนิยมขึ้นมาอย่างมาก

จากแนวโน้มดังกล่าว ทำให้ Microsoft ก็ต้องพัฒนา Compact Framework ออกมาอย่างสม่ำเสมอ เพื่อรองรับกับความสามารถของตัว OS บน Pocket PC ที่จะพัฒนาไปเรื่อยๆ เช่นกัน แต่ใครที่เคยเขียนโปรแกรมฯ บน Framework ตัวที่เก่ากว่าก็สามารถเขียนกับเวอร์ชั่นที่ใหม่กว่าได้ เพียงแต่ต้องศึกษา ฟังก์ชั่นใหม่ๆ ที่เพิ่มเข้ามา

วันอาทิตย์ที่ 9 สิงหาคม พ.ศ. 2552

รับจ้างเขียนโปรแกรม Pocket PC, PDA

รับจ้าง เขียนโปรแกรม PC, PDA, Pocket PC
VB, C#, dot NET, SQL Server, mySQL, Access ,Oracle
บริษัททั่วไป, นักศึกษา (มีสอนให้)
รับผิดชอบงาน ราคาคนไทยคุยกันได้ครับ

ติดต่อ Jack
jack.programming@gmail.com
tel: 081-561-3232

ผมอยู่แถวบางพลี สมุทรปราการนะครับ - รับส่งงานผ่าน Net ได้

วันจันทร์ที่ 3 สิงหาคม พ.ศ. 2552

Update ระบบงาน Pocket PC ที่รับจ้างเขียนโปรแกรม

รายชื่อตัวอย่างระบบงาน Pocket PC บางส่วนที่ทางเราได้รับจ้างเขียนโปรแกรมครับ
- ระบบฐานข้อมูล SQL Server 2000-2005 ,Oracle ,SQL Server Ce (on-line, off-line)
- ระบบ Stock ,Warehouse
- การเชื่อมต่อ RFID Card Reader
- ระบบร้านอาหาร
- การส่งข้อมูล FTP Server
- การสั่งพิมพ์ จาก Pocket PC ผ่าน Print Server, Bluetooth
- การเชื่อมต่ออุปกรณ์ Network
- การส่งข้อความจากโปรแกรมไปยัง Application อื่นๆ บน Windows

และอื่น ๆ ตามความต้องการของลูกค้าครับ

การติดตั้งโปรแกรมบน Pocket PC

วันนี้ผมจะมาอธิบายเกี่ยวกับการติดตั้งโปรแกรมต่างๆ ลงบน Pocket PC หรือ PDA กัน โดยทั่วไปโปรแกรมที่ใช้ติดตั้งบน PC จะเป็นไฟล์ที่มีนามสกุล .exe หรือ .bat หรือ .msi ส่วนโปรแกรมที่ใช้ติดตั้งบน Pocket PC จะมีสองนามสกุลคือ .cab กับ .exe ครับ

ซึ่งความแตกต่างระหว่าง .cab กับ .exe คือ ตัว .cab จะเป็นไฟล์ที่ต้อง copy ลงไปที่เครื่อง Pocket PC หรือ PDA ก่อน แล้วค่อยไปกดรันในตัว Pocket PC ส่วนตัว .exe นั้นสามารถรันบนเครื่อง PC ได้เลย ตัวโปรแกรมจะทำการค้นหา Pocket PC ที่เชื่อมต่ออยู่ โดยผ่านโปรแกรม Syncronized พวก MS Activesync และจะทำการติดตั้งโปรแกรมลงบน Pocket PC ให้โดยอัตโนมัติครับ ส่วนโปรแกรมที่เขียนจาก Visual Studio นั้นเมื่อคอมไพล์ ออกมาก็จะได้เป็นไฟล์ .cab นะครับ ถ้าใครต้องการทำเป็น .exe ก็ต้องหาโปรแกรมมาแปลงครับ ก็พอมีให้ดาวน์โหลดแบบฟรี ๆ อยู่ครับ

และด้วยเหตุผลหลาย ๆ อย่าง ทำให้ Pocket PC หรือ PDA ได้รับความนิยมมากขึ้น โปรแกรมต่างๆ ก็ออกมาให้ใช้มากขึ้นเช่นกัน ทั้งฟรีและเสียตังค์ แต่ทั้งนี้ ก่อนที่จะติดตั้งโปรแกรมก็ต้องดูด้วยว่าโปรแกรมนั้นๆ รอบรับระบบปฏิบัติการของ Pocket PC ของเราหรือเปล่า เช่น บางโปรแกรมบอกว่าเขียนมาสำหรับ Pocket PC 2003 ก็อาจจะใช้ไม่ได้กับ Windows Mobile 5-6 นะครับ แต่โดยส่วนใหญ่แล้วก็สามารถใช้ด้วยกันได้อยู่ และถ้ายังไม่รู้ว่าเครื่อง Pocket PC เราใช้ระบบปฏิบัติการเวอร์ชั่นใหน ก็เข้าไปดูที่ Start > Setting แล้วเลือก แท็บ System และเลือกไอคอน About ครับ จะเห็นเวอร์ชั่น ของ OS บนเครื่องนั้นๆ

และเมื่อติดตั้งโปรแกรมแล้วต้องการจะเอาออก หรือต้องการดูว่าโปรแกรมได้ถูกติดตั้งลงไปจริงหรือเปล่า ก็เข้าไปที่ Start > Setting เลือกแท็บ System เหมือนเดิม แต่เลือกไอคอน Remove Programs แทน ระบบก็จะแสดงรายชื่อของโปรแกรมที่ได้ถูกติดตั้งลงไปให้ดู และถ้าเราต้องการ Remove ออก ก็ไฮไลด์ ที่ตัวโปรแกรมนั้นๆ และเลือกปุ่ม Remove ด้านล่างนะครับ

อีกนิดนึงเกี่ยวกับ Compact Framwork รวมถึง Component ที่จำเป็นอื่นๆ (ถ้ามี) จะถูกติดตั้งให้เองอัตโนมัติถ้าคุณรันโปรแกรมที่เขียนจาก Visual Studio นะครับโดยตัว VS จะทำการค้นหาเองเมื่อเรารันโปรแกรม ว่ามีอะไรที่ต้องลงบ้าง และจะลงให้เองในครั้งแรกที่เรารันโปรแกรมครับ

แล้วเจอกันใน post หน้านะครับ

วันศุกร์ที่ 10 กรกฎาคม พ.ศ. 2552

ตัวอย่างระบบงาน Pocket PC ที่รับจ้างเขียนโปรแกรม

รายชื่อตัวอย่างระบบงาน Pocket PC บางส่วนที่ทางเราได้รับจ้างเขียนโปรแกรมครับ
- ระบบฐานข้อมูล SQL Server 2000-2005 ,Oracle ,SQL Server Ce (on-line, off-line)
- ระบบ Stock ,Warehouse
- การเชื่อมต่อ RFID Card Reader
- ระบบร้านอาหาร
- การส่งข้อมูล FTP Server
- การสั่งพิมพ์ จาก Pocket PC ผ่าน Print Server
- การเชื่อมต่ออุปกรณ์ Network

และอื่น ๆ ตามความต้องการของลูกค้าครับ

รายชื่อตัวอย่างระบบงาน Pocket PC บางส่วนที่ทางเราได้รับจ้างเขียนโปรแกรมครับ
- ระบบฐานข้อมูล SQL Server 2000-2005 ,Oracle ,SQL Server Ce (on-line, off-line)
- ระบบ Stock ,Warehouse
- การเชื่อมต่อ RFID Card Reader
- ระบบร้านอาหาร
- การส่งข้อมูล FTP Server
- การสั่งพิมพ์ จาก Pocket PC ผ่าน Print Server
- การเชื่อมต่ออุปกรณ์ Network

และอื่น ๆ ตามความต้องการของลูกค้าครับ

วันพุธที่ 10 มิถุนายน พ.ศ. 2552

วิธีการทำให้โปรแกรม Microsoft ActiveSync เชื่อมต่อกับ Pocket PC Emulator ได้

อย่างที่บอกไว้ว่าการเขียนโปรแกรมบนอุปกรณ์พวก Pocket PC, PDA นั้นโปรแกรมที่ทำหน้าที่ในการเชื่อมต่อ Pocket PC กับตัว Source Code บนเครื่อง PC ก็คือโปรแกรม Microsoft ActiveSync และการทดสอบ Source Code ส่วนใหญ่แล้วเราก็จะทดสอบบน Pocket PC Emulator ตาม Platform ที่ต้องการ ดังนั้นการใช้งานโปรแกรม Microsoft ActiveSync ก็ต้องใช้งานได้กับตัว Pocket PC Emulator ซึ่งโดยค่าปกติแล้วการเชื่อมต่อตรงนี้ยังไม่สามารถทำงานได้จนกว่าเราจะกำหนดค่าการเชื่อมต่อให้ Microsoft ActiveSync สามารถเชื่อมต่อ Pocket PC Emulator ได้

หลังจากที่ได้ทำการติดตั้งโปรแกรม Microsoft ActiveSync ลงบนเครื่องแล้ว บางคนอาจจะยังไม่รู้วิธีที่จะทำให้ Microsoft ActiveSync มองเห็น Pocket PC Emulator ซึ่งบทความนี้จะแสดงวิธีการกำหนดค่าดังกล่าวเป็นลำดับขั้นดังนี้ครับ

1. เปิดโปรแกรม Microsoft ActiveSync ขึ้นมาและไปที่เมนู File > Connection Setting...


2. กำหนดค่าต่างๆ ให้เป็นตามรูปด้านล่างครับ โดยเฉพาะ Allow connections to one of the following: ให้ทำเครื่องหมายถูกเอาไว้ และใน Combo ด้านล่างให้เลือกเป็น DMA


3. ถ้าคุณเปิด Pocket PC Emulator ไว้อยู่แล้วก็อาจจะกดปุ่ม Connect... ด้านบนได้เลยครับ แต่เท่าที่ลองดูจะเชื่อมต่อได้ค่อนข้างช้า ผมมีอีกวิธีมาบอกครับ ก็คือให้คุณเปิด Project ของ Visual Studio .NET ขึ้นมา และไปที่เมนู Tools > Device Emulator Manager...



4. ให้คลิกเมาส์ขวา ที่ตัว Pocket PC Emulator ที่คุณต้องการ และเลือกเมนู Connect


5. เมื่อ Pocket PC Emulator แสดงขึ้นมาแล้วจะมีรูปลุกศรสีเขียวด้านหน้า ให้คุณคลิกขวาอีกครั้ง และเลือกเมนู Cradle (น่าจะแปลว่า ตั้งบนแท่น) ซึ่งเมนูนี้แหละครับที่จะเป็นตัวไปสั่งให้โปรแกรม Microsoft ActiveSync ทำการเชื่อมต่อมายัง Pocket PC Emulator ของเรา


6. รอสักพัก ถ้าไม่มีข้อผิดพลาดอะไร ตัวโปรแกรม Microsoft ActiveSync ก็จะทำการเชื่อมต่อมายัง Pocket PC Emulator ที่เรา Connect อยู่เรียบร้อง ซึ่งในการเชื่อมต่อครั้งแรก จะมีหน้าจอมาให้สร้าง แฟ้มที่ต้องการ Sync ระหว่างเครื่อง PC กับ Pocket PC นะครับไม่ต้องแปลกใจ ให้คุณ OK หรือ Next ไปเรื่อย ๆ


เรียบร้อยแล้วครับ ทีนี้ก็สามารถ Explore ดูไฟล์ต่างๆ หรือ Copy ไฟล์ต่างๆ ลงบน Pocket PC Emulator ได้แล้ว ถ้าใครยังไม่เคยทำ ก็ลองดูนะครับ หวังว่าคงมีประโยชน์บ้าง