วันพุธที่ 10 พฤศจิกายน พ.ศ. 2553

Windows cannot find 'csrcs.exe'

การแก้ไขปัญหา

Windows cannot find 'csrcs.exe'. Make sure you typed the name correctly, and then try again. To search for a file, click the start butto, and then click search.


ใช้งานเครื่องปกตินะครับ ปิดเครื่องแล้วเปิดขึ้นมาใหม่ กับเจอปัญหาตามข้างบน เหมือนหาไฟล์อะไรสักอย่างไม่เจอ งง ไปนาน

แต่เอาวิธีการแก้ไขบอก เผื่อจะแก้ไขปัญหาได้ครับ เพราะตอนนี้ของผมหายแล้ว

1. เข้าไปที่ start->run แล้วพิมพ์ regedit
2. เลือกที่ My Computer ตัวเลือกแรกสุดของ ลำดับด้ายซ้าย แล้วค้นหาด้วยคำว่า csrcs จะเจอประมาณ 2 จุดครับ

หนึ่งในนั้นคือ ตำแหน่งนี้นะครับ แต่กดค้นหาไปเรื่อยๆ ครับ เจอแล้วลบทิ้ง

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run

และจะเจออันที่ 3 อีกครับ


แล้วแก้ไขค่า


เป็นดังนี้


คลิก OK แล้วก็ restart เครื่อง ก็หายแล้วครับ ....


วันศุกร์ที่ 5 พฤศจิกายน พ.ศ. 2553

Signal และ Slots ที่ใช้ใน Qt


การใช้งานใน Qt นั้นจะมีกลุ่มตัวแปร 2 แบบที่ใช้งาน ซึ่งแต่ละแบบเราก็ควรที่จะเลือกให้ใช้เหมาะสม ผลกระทบผมก็ยังไม่รู้นะครับว่ามีส่งผลกระทบตรงไหนบ้าง เพราะัยังไม่รู้เหมือนกัน ดังนั้น ผมขออธิบายพอคร่าว ๆ ก่อน ดังนี้ครับ


       Signal                                            
เป็น method ที่เรียกใช้งานแล้วทำหน้าที่ส่งออกข้อมูลมากกว่าจะทำการประมวลผล จากมุมมองของ programmer ต้องประกาศ prototype ของ signals เป็นแบบส่งออกเท่านั้น และประกาศเอาไว้ในส่วนของ signals of Class



        Slots                                               
เป็นสมาชิกของ function ที่สามารถเรียกเป็นคำตอบของ signal ที่จะเป็นผลลัพธ์ส่งออกไป คุณจะบอก compiler ด้วยการนำ slots ไปไว้ในส่วนของ public slots, protected slots | private slots ระดับการเข้าถึง slots จะปกป้อง slots เมื่อมีการเรียกใช้ method ดังนั้นเราสามารถอ้างถึง slots ที่เป็น private | protected จากคลาสอื่น ได้ผ่านทาง signal


ยกตัวอย่างการใช้งานดังนี้

เปิดโปรแกรมขึ้นมา
Open Qt Creator


ทำการสร้าง Project แบบ Qt C++ Project -> Qt Console Application แล้วก็เลือกที่ Choose...

Create New Project

New Project
แล้วสร้างไฟล์ แบบ C++ Source File และ C++ Header File และจะได้โครงสร้างไฟล์ดังภาพด้านล่าง

New Files and Classes
C++ Header File
MyClass.cpp
main.cpp


หลังจากนั้นก็ทดสอบคำสั่งและได้ผลลัพธ์ดังนี้

ผลการรันโปรแกรม
โปรแกรมนี้เป็นการทดสอบการฟังก์ชัน Setter and Getter เพื่อให้เห็นระดับการเข้าถึงตัวแปร และหน้าที่และความสำคัญของ Signal and Slots โอกาสหน้าเดี๋ยวหาเรื่องใหม่มาพูดครับ ...

วันพฤหัสบดีที่ 4 พฤศจิกายน พ.ศ. 2553

ทดลองเขียน Hello world! โดยใช้ Library ของ Qt ด้วยการใช้ Console

 จากที่สนในมานานแล้วว่า Qt นี้มันคืออะไร ทำงานอย่างไร แต่ก็ยังไม่ได้จริงจังสักที แค่เปิด ๆ ปิด ๆ อยากอ่านก็เปิด ๆ อ่านไม่เข้าใจก็ปิด ๆ ออกไป ตอนเช้ากับบรรยากาศหนาวในวันนี้ทำให้อยากลองเขียนจริง ๆ ขึ้นมาสักทีก็เลยลงมือเขียน จนสำเร็จออกมาได้ ถึงแม้จะเป็นโปรแกรม Hello world แต่ สิ่งที่ได้ไม่ได้แค่นั้นครับ อย่างน้อย ๆ ก็ได้วิธีการ compile และ run และ การติดตั้งเบื้องต้น ซึ่งจะนำเราไปสู่โปรแกรมที่ใหญ่ ๆ ขึ้นไป ด่านแรกและอยากคือการตั้งสภาพแวดล้อมในการทำงานนั้นเอง 



ขั้นตอนครับ 

1. ประกอบด้วยคำสั่งอย่างง่ายครับให้โปรแกรมมันแสดงข้อความออกมา ตามด้านล่าง

example source code

ตัวอย่าง Folder ที่จัดเก็บ


folder contain cpp fiile

2. เปิด qt console แล้วสร้าง Project สำหรับ Qt โดยใช้คำสั่ง qmake –project
menu open Qt console

start Qt console

ใช้คำสั่ง

use qmake -porject
จะมีไฟล์เพิ่มขึ้นมาใน Folder ที่จัดเก็บ

use qmake -porject and result

แล้วเพิ่มบรรทัดสำหรับแสดงผลแบบ console เข้าไปในไฟล์ .pro


edit project config to support console application

3. เตรียมสภาพแวดล้อมของการ compile ด้วย qmake จะได้ไฟล์ Makefile, Makefile.Release,Makefile.Debug และ Folder 2 อัน คือ degug and release

ดังภาพด้านล่าง

use qmake



file after qmake

4. build Project จาก Makefile ด้วยคำสั่ง mingw32-make –w และทดสอบ run คำสั่ง พร้อมผลลัพธ์ดังภาพด้านล่าง


ผลการ build

ผลการรัน



อันนี้แบบลุยหน่อยจัดการเองหมด แต่จริง ๆ Qt ก็มีส่วนใช้งานที่เป็น Graphics ให้สามารถเรียกใช้งานได้อย่างง่ายด้วยครับ เอาไว้แสดงในหัวข้อต่อไป

ติดตั้งสภาพแวดล้อมสำหรับเขียน C++ ด้วย Qt

C++ ก็เป็นอีกหนึ่งภาษาคอมพิวเตอร์ที่มีความน่าสนใจ และมีความสามารถในการทำงานที่หลากหลายครับ ที่ผมเคยเห็นแต่ก่อนก็จะมี Borland C++, Visual C++, Turbo C++ เหล่านี้เป็นต้นครับ มาวันหนึ่งก็ได้รู้ว่ามีไลบรารี่สำหรับการเขียน C++ ที่มีความน่าสนใจ คือ Qt เลยอยากจะลองศึกษาดูว่ามีการทำงานอย่างไร แต่ก็จนแล้วจนเล่า ไม่ได้สำเร็จสักที อาจจะเพราะอยากมากสำหรับตัวเองตอนนั้น อะไร ๆ ก็มีแต่ภาษาอังกฤษ ผ่านมาเป็นเวลานาน ก็เลยตัดใจจะเริ่มศึกษาจริง ๆ สักที่ก็เลยเิริ่มต้นด้วยการเขียนประสบการณ์จากการติดตั้ง Qt ก่อนเลยครับ

ขั้นตอน

ดาวโหลดไฟล์ได้จากเว็บไซต์นี้ http://qt.nokia.com/products/qt/downloads มีทั้งแบบ Open source และ แบบ Commercial ความสามารถก็แตกต่างกันออกไปครับ



ผมเลือกโหลดแบบ LGPL ครับ


หากไม่ให้บันทึกอัตโนมัติคลิกที่ลิงค์ได้เลย

หลังจากนั้นก็ทำการติดตั้งก็เป็นอันเรียบร้อย คงไม่ต้องเลือก option ใด ๆ ติดตั้งแบบ Next ตลอดเลย ^_^ 





ผลที่ได้จากการติดตั้งแสดงได้ดังนี้ครับ



เท่านี้ก็พร้อมจะเขียนสคริปง่าย ๆ แล้วละครับ เอาไว้เรื่องจะไปจะอับเดตการเขียนคำสั่งสำหรับ Hello world!