<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>About My Programming in The Past</title>
	<atom:link href="http://www.bfordev.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bfordev.com</link>
	<description>The way of outsider programmer</description>
	<lastBuildDate>Sun, 01 Jan 2012 03:59:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Happy New Year 2555 (2012)</title>
		<link>http://www.bfordev.com/2012/01/happy-new-year-2555-2012/</link>
		<comments>http://www.bfordev.com/2012/01/happy-new-year-2555-2012/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 03:59:20 +0000</pubDate>
		<dc:creator>WatchOO</dc:creator>
				<category><![CDATA[general topic]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Me]]></category>

		<guid isPermaLink="false">http://www.bfordev.com/?p=298</guid>
		<description><![CDATA[ปีนี้ ขอน้อมเอาพระราชดำรัสในหลวงมาใส่เกล้าใส่กระหม่อมเป็นแนวทางดำเนินชีวิต &#8220;ถึงจะมองไม่เห็นฝั่ง เราก็ต้องพยายามว่าย อยู่ท่ามกลางมหาสมุทร โภคะทั้งหลาย มิได้สำเร็จ ด้วยเพียงคิดเท่านั้น&#8221; ขอพระองค์ทรงพระเจริญ ขอให้มีความสุข สวัสดี โชคดีปีใหม่ครับ ^____^]]></description>
			<content:encoded><![CDATA[<p>ปีนี้ ขอน้อมเอาพระราชดำรัสในหลวงมาใส่เกล้าใส่กระหม่อมเป็นแนวทางดำเนินชีวิต<br />
&#8220;ถึงจะมองไม่เห็นฝั่ง เราก็ต้องพยายามว่าย อยู่ท่ามกลางมหาสมุทร<br />
โภคะทั้งหลาย มิได้สำเร็จ ด้วยเพียงคิดเท่านั้น&#8221;<br />
ขอพระองค์ทรงพระเจริญ</p>
<p>ขอให้มีความสุข สวัสดี โชคดีปีใหม่ครับ ^____^</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.bfordev.com%2F2012%2F01%2Fhappy-new-year-2555-2012%2F&amp;title=Happy%20New%20Year%202555%20%282012%29"><img src="http://www.bfordev.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.bfordev.com/2012/01/happy-new-year-2555-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>จะไปบวชครับ ^__^</title>
		<link>http://www.bfordev.com/2011/12/to-be-a-big-monks/</link>
		<comments>http://www.bfordev.com/2011/12/to-be-a-big-monks/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 12:46:06 +0000</pubDate>
		<dc:creator>WatchOO</dc:creator>
				<category><![CDATA[general topic]]></category>

		<guid isPermaLink="false">http://www.bfordev.com/?p=295</guid>
		<description><![CDATA[ขออภัย หายไปนาน งานเยอะ ดวงแตก(รถโดนชน!!!) ขอหามงคลให้ตัวเองมั่ง  ก็เลยแวะมาบอกว่า &#8220;ขอลาไปบวช&#8221; ครับ ^__^ (ชั่วคราวๆ ยังต้องกลับมารบกับชาวบ้านอีกยาว -_____-&#8217; ต้องไปทวงรถอีกแน่ะ -*-&#8217;)]]></description>
			<content:encoded><![CDATA[<p>ขออภัย หายไปนาน งานเยอะ ดวงแตก(รถโดนชน!!!) ขอหามงคลให้ตัวเองมั่ง  ก็เลยแวะมาบอกว่า &#8220;ขอลาไปบวช&#8221; ครับ ^__^ (ชั่วคราวๆ ยังต้องกลับมารบกับชาวบ้านอีกยาว -_____-&#8217; ต้องไปทวงรถอีกแน่ะ -*-&#8217;)</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.bfordev.com%2F2011%2F12%2Fto-be-a-big-monks%2F&amp;title=%E0%B8%88%E0%B8%B0%E0%B9%84%E0%B8%9B%E0%B8%9A%E0%B8%A7%E0%B8%8A%E0%B8%84%E0%B8%A3%E0%B8%B1%E0%B8%9A%20%5E__%5E"><img src="http://www.bfordev.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.bfordev.com/2011/12/to-be-a-big-monks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ไปหัดเล่นดนตรีก่อนล่ะ</title>
		<link>http://www.bfordev.com/2011/07/play-music-guitar/</link>
		<comments>http://www.bfordev.com/2011/07/play-music-guitar/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 06:41:25 +0000</pubDate>
		<dc:creator>WatchOO</dc:creator>
				<category><![CDATA[general topic]]></category>
		<category><![CDATA[guitar]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[play]]></category>

		<guid isPermaLink="false">http://www.bfordev.com/?p=290</guid>
		<description><![CDATA[สั้นๆ ง่ายๆ คือว่า เพิ่งยืมกีตาร์เพื่อนมา กำลังรื้อฟื้น หลังจากที่ไม่ได้แตะอีกเลยนับจากเรียนจบ -*-&#8221; ปล. ตอนนี้ ชักอยากได้สายเอ็นมาใส่ เพราะเจ็บนิ้วเอาเรื่องอยู่ แต่ไม่แน่ อาจไม่ต้องใช้ เพราะว่า นิ้วชักจะด้านแล้วล่ะ ^^ เป้าหมายต่อไป หัดตัดต่อคลิป หัดอัพวีดีโอ ไป Youtube !!!]]></description>
			<content:encoded><![CDATA[<p>สั้นๆ ง่ายๆ คือว่า เพิ่งยืมกีตาร์เพื่อนมา กำลังรื้อฟื้น หลังจากที่ไม่ได้แตะอีกเลยนับจากเรียนจบ -*-&#8221;</p>
<p>ปล. ตอนนี้ ชักอยากได้สายเอ็นมาใส่ เพราะเจ็บนิ้วเอาเรื่องอยู่ แต่ไม่แน่ อาจไม่ต้องใช้ เพราะว่า นิ้วชักจะด้านแล้วล่ะ ^^ เป้าหมายต่อไป หัดตัดต่อคลิป หัดอัพวีดีโอ ไป Youtube !!!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.bfordev.com%2F2011%2F07%2Fplay-music-guitar%2F&amp;title=%E0%B9%84%E0%B8%9B%E0%B8%AB%E0%B8%B1%E0%B8%94%E0%B9%80%E0%B8%A5%E0%B9%88%E0%B8%99%E0%B8%94%E0%B8%99%E0%B8%95%E0%B8%A3%E0%B8%B5%E0%B8%81%E0%B9%88%E0%B8%AD%E0%B8%99%E0%B8%A5%E0%B9%88%E0%B8%B0"><img src="http://www.bfordev.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.bfordev.com/2011/07/play-music-guitar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>แจ้งข่าว wordpress และ adminbar</title>
		<link>http://www.bfordev.com/2011/03/wordpress-update-and-something-with-adminbar/</link>
		<comments>http://www.bfordev.com/2011/03/wordpress-update-and-something-with-adminbar/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 15:02:45 +0000</pubDate>
		<dc:creator>WatchOO</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[bar]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[update]]></category>
<category>admin</category><category>bar</category><category>news</category><category>update</category><category>wordpress</category>
		<guid isPermaLink="false">http://www.bfordev.com/?p=278</guid>
		<description><![CDATA[สวัสดีทุกท่าน นานแล้ว ที่ผมไม่ได้มาอัพเดตบทความที่นี่เลย ไหนๆมาแล้ว ก็ขอซะหน่อย ข่าวแรก แจ้งว่า wordpress ที่ผมใช้อัพเดตบทความอยู่เนี่ย ตอนนี้ เป็น รุ่น 3.1 แล้วนะ ใครใช้รุ่นเก่าๆอยู่ คงได้รับการแจ้งเตือนไปแล้วล่ะ ^__^ อย่างที่สองคือเรื่องของ admin bar  ซึ่งเป็นของใหม่ ที่มากับ wordpress ตัวนี้ แต่ทว่า มันมีปัญหา ปัญหาของมันคือ การไปโผล่ผิดที่ admin bar มัน ก็ควรที่จะอยู่ในหน้า admin แล้วทำไม มันถึงไปโผล่ที่ หน้าเวบเราแทนล่ะ -___-&#8221; เรื่องนี้ มีคำตอบครับ โดยคำตอบที่ว่า มีคนตอบไว้ในนี้ครับ comment #262908 โดยคุณ kajeaw ทีนี้ เรามาอธิบายแบบเห็นภาพกัน อันดับแรก ให้เรา login เข้าหน้า dashboard ของ wordpress ในเวบที่ตัวเองใช้งานอยู่ก่อน [...]]]></description>
			<content:encoded><![CDATA[<p>สวัสดีทุกท่าน นานแล้ว ที่ผมไม่ได้มาอัพเดตบทความที่นี่เลย ไหนๆมาแล้ว ก็ขอซะหน่อย</p>
<p>ข่าวแรก แจ้งว่า wordpress ที่ผมใช้อัพเดตบทความอยู่เนี่ย ตอนนี้ เป็น รุ่น 3.1 แล้วนะ ใครใช้รุ่นเก่าๆอยู่ คงได้รับการแจ้งเตือนไปแล้วล่ะ ^__^<span id="more-278"></span></p>
<p>อย่างที่สองคือเรื่องของ admin bar  ซึ่งเป็นของใหม่ ที่มากับ wordpress ตัวนี้ แต่ทว่า มันมีปัญหา</p>
<p>ปัญหาของมันคือ การไปโผล่ผิดที่</p>
<p>admin bar มัน ก็ควรที่จะอยู่ในหน้า admin แล้วทำไม มันถึงไปโผล่ที่ หน้าเวบเราแทนล่ะ -___-&#8221; เรื่องนี้ มีคำตอบครับ</p>
<p>โดยคำตอบที่ว่า มีคนตอบไว้ใน<a href="http://www.blognone.com/news/22043">นี้</a>ครับ comment #<a href="http://www.blognone.com/news/22043#comment-262908">262908</a> โดยคุณ kajeaw</p>
<p>ทีนี้ เรามาอธิบายแบบเห็นภาพกัน</p>
<p>อันดับแรก ให้เรา login เข้าหน้า dashboard ของ wordpress ในเวบที่ตัวเองใช้งานอยู่ก่อน จากนั้น ก็ตามนี้ครับ</p>
<p>เข้าไปตั้งค่าที่ Users &gt; Your Profile &gt;</p>
<p>ให้มองหา คำว่า Show Admin Bar  คุณจะเจออะไรแบบรูปนี้ครับ</p>
<div id="attachment_280" class="wp-caption alignnone" style="width: 383px"><a href="http://www.bfordev.com/./wp-content/uploads/2011/03/ForSolveShowAdminbar.jpg" rel="lightbox"><img class="size-full wp-image-280" title="ForSolveShowAdminbar" src="http://www.bfordev.com/./wp-content/uploads/2011/03/ForSolveShowAdminbar.jpg" alt="solve-show-adminbar-1" width="373" height="53" /></a><p class="wp-caption-text">แสดงตัวเลือกการแสดง admin bar</p></div>
<p>นี่ไงครับ ปัญหาที่ผมบอก ก็เลือกไปที่ when viewing site แปลเป็นภาษาไทยง่ายๆ ก็คือ ไปโผล่เวลาดูหน้าเวบ</p>
<p>โดยปกติ ไม่ว่าใคร ก็คงไม่อยากให้คนเข้าไป login สุ่มสี่สุ่มห้าล่ะนะ -___-&#8221; มันอันตรายเกินไป อีกอย่าง แม้จะช่วยอำนวยความสะดวกในแง่เวบที่มี สมาชิกเยอะๆแล้วใช้ wordpress ทำงาน แต่มันก็ทำให้บาง layout ของเวบ เละ ได้เช่นเดียวกัน</p>
<p>ดังนั้น ทางเลือกที่ดี ก็คือ พามันกลับไปอยู่ในที่ปลอดภัย หรือไม่ ก็ไม่ต้องแสดงเสียเลย -___-&#8221;</p>
<p>แต่ผมเลือกที่จะให้มันอยู่ในที่ปลอดภัย นั่นก็คือ dashboard</p>
<p>ก็ไม่ยากเย็นอะไร เพียงแค่ทำตามนี้แหละครับ</p>
<div id="attachment_282" class="wp-caption alignnone" style="width: 411px"><a href="http://www.bfordev.com/./wp-content/uploads/2011/03/ForSolveShowAdminbar21.jpg" rel="lightbox"><img class="size-full wp-image-282" title="ForSolveShowAdminbar2" src="http://www.bfordev.com/./wp-content/uploads/2011/03/ForSolveShowAdminbar21.jpg" alt="solve-adminbar-2" width="401" height="127" /></a><p class="wp-caption-text">ตัวเลือกที่ให้แสดง admin bar ที่หน้า dashboard</p></div>
<p>เพียงเท่านี้ admin bar ของเรา ก็จะมาอยู่ในหน้า dashboard แล้วล่ะครับ</p>
<p>update: แวะเข้ามาดูบทความอีกที ตรงนี้ ต้องอธิบายเพิ่ม คือ บอกว่า ต้องย้ายช่อง ติ๊ก จาก ช่องบนลงมาช่องล่างนะ ยกเลิกติ๊กช่องบน นั่นแหละ คนเดี๋ยวนี้ ยิ่งเข้าใจอะไรบางอย่างได้ยาก จนน่าประหลาดใจ และบางเรื่องที่ไม่น่าจะสงสัยได้ มันก็สงสัยครับ -*-&#8221;</p>
<p>ปล. ปัญหาอีกอย่างที่พบในตอนนี้ ก็คือ พวก custom permalinks มีปัญหาครับ เจ๊งบ๊งหมดเลย -*-&#8221; ลูกค้าผมบ่นกันใหญ่ -*-&#8221; กำลังหาทางแก้กันอยู่ครับ เวลานี้ ก็ใช้ค่าเริ่มต้นไปพลางๆก่อนก็แล้วกัน</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.bfordev.com%2F2011%2F03%2Fwordpress-update-and-something-with-adminbar%2F&amp;title=%E0%B9%81%E0%B8%88%E0%B9%89%E0%B8%87%E0%B8%82%E0%B9%88%E0%B8%B2%E0%B8%A7%20wordpress%20%E0%B9%81%E0%B8%A5%E0%B8%B0%20adminbar"><img src="http://www.bfordev.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.bfordev.com/2011/03/wordpress-update-and-something-with-adminbar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>กลับมาแล้ว!!!</title>
		<link>http://www.bfordev.com/2010/12/comeback/</link>
		<comments>http://www.bfordev.com/2010/12/comeback/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 13:57:44 +0000</pubDate>
		<dc:creator>WatchOO</dc:creator>
				<category><![CDATA[เรื่องอื่นๆทั่วไป]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Me]]></category>

		<guid isPermaLink="false">http://www.bfordev.com/?p=274</guid>
		<description><![CDATA[Shareที่สุดหลังจากการไปทำงานหนัก ก็หมดฤดูกาล ได้กลับมาทำงาน ณ จุดเดิมอีกครั้ง -___-&#8221; แต่&#8230; สิ่งที่ทำค้างไว้ คงต้องคิดใหม่ ทำใหม่ทั้งหมด ไม่เป็นไร ทำได้ -*-&#8221; ขอ Happy New Year ล่วงหน้า เลยก็แล้วกันนะครับ ทุกท่าน ^__________^]]></description>
			<content:encoded><![CDATA[<a name="fb_share" type="button" share_url="http://www.bfordev.com/2010/12/comeback/">Share</a><p>ที่สุดหลังจากการไปทำงานหนัก ก็หมดฤดูกาล ได้กลับมาทำงาน ณ จุดเดิมอีกครั้ง -___-&#8221; แต่&#8230; สิ่งที่ทำค้างไว้ คงต้องคิดใหม่ ทำใหม่ทั้งหมด ไม่เป็นไร ทำได้ -*-&#8221;</p>
<p>ขอ Happy New Year ล่วงหน้า เลยก็แล้วกันนะครับ ทุกท่าน ^__________^</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.bfordev.com%2F2010%2F12%2Fcomeback%2F&amp;title=%E0%B8%81%E0%B8%A5%E0%B8%B1%E0%B8%9A%E0%B8%A1%E0%B8%B2%E0%B9%81%E0%B8%A5%E0%B9%89%E0%B8%A7%21%21%21"><img src="http://www.bfordev.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.bfordev.com/2010/12/comeback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ไปเป็นกรรมกรก่อนนะ -__-&#8221;</title>
		<link>http://www.bfordev.com/2010/09/to-be-a-labour-four-month/</link>
		<comments>http://www.bfordev.com/2010/09/to-be-a-labour-four-month/#comments</comments>
		<pubDate>Sat, 18 Sep 2010 18:23:41 +0000</pubDate>
		<dc:creator>WatchOO</dc:creator>
				<category><![CDATA[general topic]]></category>
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.bfordev.com/?p=269</guid>
		<description><![CDATA[เรียนท่านผู้ชมเวบทุกท่าน เนื่องด้วยชะตาหักเหจากปัญหาชีวิต ทำให้ตอนนี้ ต้องเป็นกรรมกรไปอีก 4 เดือน เพื่อหาเงินมาจ่ายค่าโฮสและโดเมน -____-” คงไม่ได้อัพเดตเวบไปอีกพักใหญ่ จนกว่าจะถึงปีหน้าครับ -*-” เลยแจ้งเอาไว้ก่อน]]></description>
			<content:encoded><![CDATA[<p>เรียนท่านผู้ชมเวบทุกท่าน<br />
    เนื่องด้วยชะตาหักเหจากปัญหาชีวิต ทำให้ตอนนี้ ต้องเป็นกรรมกรไปอีก 4 เดือน เพื่อหาเงินมาจ่ายค่าโฮสและโดเมน -____-” คงไม่ได้อัพเดตเวบไปอีกพักใหญ่ จนกว่าจะถึงปีหน้าครับ -*-” เลยแจ้งเอาไว้ก่อน </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.bfordev.com%2F2010%2F09%2Fto-be-a-labour-four-month%2F&amp;title=%E0%B9%84%E0%B8%9B%E0%B9%80%E0%B8%9B%E0%B9%87%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%A3%E0%B8%A1%E0%B8%81%E0%B8%A3%E0%B8%81%E0%B9%88%E0%B8%AD%E0%B8%99%E0%B8%99%E0%B8%B0%20-__-%26%238221%3B"><img src="http://www.bfordev.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.bfordev.com/2010/09/to-be-a-labour-four-month/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>การทำหน้าแรกตามใจฉันใน wordpress[วิธีการทำ]</title>
		<link>http://www.bfordev.com/2010/07/make-custom-static-page-on-wordpress-how-to/</link>
		<comments>http://www.bfordev.com/2010/07/make-custom-static-page-on-wordpress-how-to/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 04:46:23 +0000</pubDate>
		<dc:creator>WatchOO</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[static]]></category>
		<category><![CDATA[หน้าแรก]]></category>

		<guid isPermaLink="false">http://www.bfordev.com/?p=250</guid>
		<description><![CDATA[Shareจากตอนที่แล้ว ผมได้บอกไปคร่าวๆ ว่า ต้องการทำ 2 อย่างกับ wordpress อย่างแรก คือ มีหน้าหลัก 2 หน้าที่ไม่เหมือนกัน กับ เพิ่มจุดแจ้งการอัพเดตข้อมูล ปัญหาแรกที่ผมเจอก็คือ การจัดทำ หน้าหลัก 2 หน้าที่ไม่เหมือนกัน ให้ได้ก่อน -_-&#8221; แรกเริ่ม เดิมที ในการเขียนเวบไซต์ พวกเราจะใช้ไฟล์ html ธรรมดา โดยเริ่มต้นจาก index.html เพื่อระบุว่า นี่คือหน้าแรก หากมีอะไรพิเศษ ก็จะทำหน้าพิเศษเพิ่มเข้ามาก่อน แล้วค่อยใช้ link ชี้กลับมาที่ index.html อีกรอบ เทคนิคนี้ ถูกใช้ซ้ำอีกครั้ง แต่เปลี่ยนวิธีการเป็นการเขียน script จากฝั่ง server แทน ซึ่งจะมีอะไรบ้างนั้น ไม่ขอลงรายละเอียด จากนั้นมา บนพื้นฐานของ script ที่ว่านั่น ก็กลายมาเป็น cms  ไม่พูดมาก จะขอบอกเลยว่า [...]]]></description>
			<content:encoded><![CDATA[<a name="fb_share" type="button" share_url="http://www.bfordev.com/2010/07/make-custom-static-page-on-wordpress-how-to/">Share</a><p>จาก<a href="make-custom-static-page-on-wordpress-intro">ตอนที่แล้ว</a> ผมได้บอกไปคร่าวๆ ว่า ต้องการทำ 2 อย่างกับ wordpress อย่างแรก คือ มีหน้าหลัก 2 หน้าที่ไม่เหมือนกัน กับ เพิ่มจุดแจ้งการอัพเดตข้อมูล</p>
<p>ปัญหาแรกที่ผมเจอก็คือ การจัดทำ หน้าหลัก 2 หน้าที่ไม่เหมือนกัน ให้ได้ก่อน -_-&#8221;</p>
<p>แรกเริ่ม เดิมที ในการเขียนเวบไซต์ พวกเราจะใช้ไฟล์ html ธรรมดา โดยเริ่มต้นจาก index.html เพื่อระบุว่า นี่คือหน้าแรก หากมีอะไรพิเศษ ก็จะทำหน้าพิเศษเพิ่มเข้ามาก่อน แล้วค่อยใช้ link ชี้กลับมาที่ index.html อีกรอบ เทคนิคนี้ ถูกใช้ซ้ำอีกครั้ง แต่เปลี่ยนวิธีการเป็นการเขียน script จากฝั่ง server แทน ซึ่งจะมีอะไรบ้างนั้น ไม่ขอลงรายละเอียด</p>
<p>จากนั้นมา บนพื้นฐานของ script ที่ว่านั่น ก็กลายมาเป็น cms  ไม่พูดมาก จะขอบอกเลยว่า จากการค้นหาข้อมูล พบว่า cms ที่คนไทยนิยมเอามาใช้ทำงานทำการกันนั้น มีอยู่ไม่กี่เจ้าเอง ซึ่งพวกนี้ มักจะมีชุดคำสั่งสำหรับแทรกหน้าพิเศษที่ว่านั่นอยู่แล้ว ยกตัวอย่างเช่น mambo,joomla,php-nuke,xoops</p>
<p>ทีนี้ ก็เข้าเรื่องของเรากัน</p>
<p>หนึ่งในจำนวน cms ที่ว่านี้ แน่นอนว่า มี wordpress อยู่ด้วย แต่ว่า ในการใช้งานของผมส่วนใหญ่ ไม่ได้ใช้ในแนวทางของเวบ html ปกติที่นิยมใช้กันภายในประเทศ แต่ทำเป็นพวก blog อะไรเสียมากกว่า และนั่นคือ ปัญหาของผม</p>
<p>ผมจะใช้ wordpress ทำยังไง กับการทำหน้าหลัก 2 หน้าที่ไม่เหมือนกัน(ถ้าใช้ mambo joomla นี่จบไปตั้งนานแล้วล่ะ -_-&#8221;)<br />
<span id="more-250"></span><br />
ก่อนหน้านี้ ผมใช้วิธีการเปลี่ยนหน้าแรกของ wordpress ไปเลย ซึ่งทำให้เสียธรรมชาติของตัว wordpress ที่ควรจะเป็นไปด้วย</p>
<p>ผมงงกับเรื่องนี้ นานมาก จนแทบจะท้อใจ เลิกแล้วเปลี่ยนไปใช้ cms ตัวอื่นที่ทำเรื่องนี้ได้ (และอาจจะทำในส่วนอื่นๆที่ wordpress ทำไว้ก่อนหน้านี้ได้ด้วย -_-&#8221; เลยสองจิตสองใจน่ะครับ)</p>
<p>กระทั่ง ผมเจอบางสิ่งจากเวบใกล้ตัว คือ สองเวบที่ว่านี้</p>
<p>http://www.vmodtech.com/</p>
<p>กับเวบนี้</p>
<p>http://www.notebookspec.com/index2.php</p>
<p>ซึ่งปกติ 2 เวบนี้ จะใช้หาข้อมูลของชิ้นส่วนคอมพิวเตอร์และโน้ตบุค ว่า ทุกวันนี้ มันไปถึงไหนกันแล้ว แล้วก็ไปดูราคาโน้ตบุคดีๆ เผื่อได้ถอยมาใช้ทำงานเพิ่มสักตัว -_-&#8221;</p>
<p>พบว่า 2 เวบนี้ ทำหน้าหลักไว้ 2 หน้า เหมือนกัน แต่อาจจะต่างเทคนิคกันไปบ้าง</p>
<p>ที่น่าตกใจกว่านั้น ก็คือ ทั้งสองเวบนี้ ใช้ wordpress ทำครับ -_-&#8221; เอาล่ะสิ ชักมีความหวัง ในเมื่อเขาทำได้ ทำไม เราจะทำไม่ได้</p>
<p>แนวทางที่เลือกใช้ ผมใช้แนวทางของ vmodtech.com นะครับ เพราะของ notebookspec เนี่ย ดูเหมือนจะต้องใช้เรื่องของ script พิเศษของ server ด้วย นิดหน่อย อาจจะยากไป</p>
<p>แล้วจะต้องทำอย่างไร ให้ได้ผลออกมาแบบนี้</p>
<p>ใน wordpress จะมี 2 ส่วนคือ post กับ page  โดย post จะเป็น loop ธรรมชาติของบทความต่างๆ ในระบบ ส่วน page จะเป็นข้อมูลอะไรที่ค่อนข้างตายตัว</p>
<p>คำตอบของปัญหานี้ อยู่ที่การทำ static page ครับ</p>
<p>จุดประสงค์หลักๆของผมก็คือ การทำหน้าหลัก 2 หน้า ที่ไม่เหมือนกัน แต่อยู่ในเวบเดียวนั้นแหละ ทำอย่างไรล่ะ</p>
<p>วิธีการนะครับ</p>
<p>1. ทำหน้าหลัก ที่ต้องการเป็นหน้าแรกสุด ขึ้นมาก่อน จากโปรแกรมทำเวบไซต์ทั่วๆไป(พวกเขียน html ธรรมดาๆนี่แหละ)</p>
<p>2. เซฟมันในนามสกุล php</p>
<p>3. เพิ่ม คำสั่งนี้ลงไปในส่วนแรกสุดของเนื้อหาในไฟล์</p>
<pre class="brush: php; title: ;">&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt; /* Template Name: New Template Name&lt;br /&gt;&lt;br /&gt;*/&lt;br /&gt;?&amp;gt;&lt;br /&gt;</pre>
<p>4. สร้างหน้าเปล่าๆ ขึ้นมาใหม่ โดยเลือก map หน้าของเราให้ตรงกับ ชื่อ template ที่เราตั้งเอาไว้ (แทนที่คำว่า New Template Name เป็นชื่อ template ของเรา)</p>
<p><a href="http://www.bfordev.com/./wp-content/uploads/2010/07/demo-page-template.jpg" rel="lightbox"><img class="size-full wp-image-260 alignnone" title="demo-page-template" src="http://www.bfordev.com/./wp-content/uploads/2010/07/demo-page-template.jpg" alt="" width="188" height="204" /></a></p>
<p>ตัวอย่าง การเลือกชื่อ template</p>
<p>( ภาพจาก wphacks.com)</p>
<p>5. จากนั้น ให้เราทำหน้าเปล่าๆ อีก 1 หน้า คราวนี้ ไม่ต้อง map อะไรทั้งนั้น ปล่อยไว้ เดิมๆ เพื่อให้เป็นจุดรองรับ หน้าหลักเดิมของ wordpress</p>
<p><a href="http://www.bfordev.com/./wp-content/uploads/2010/07/demo-add-page.jpg" rel="lightbox"><img class="alignnone size-medium wp-image-261" title="demo-add-page" src="http://www.bfordev.com/./wp-content/uploads/2010/07/demo-add-page-300x208.jpg" alt="" width="300" height="208" /></a></p>
<p>(ภาพจาก www.expand2web.com)</p>
<p>6. login เข้าไป ที่หน้าจัดการ wordpress หัวข้อ setting เลือกที่ reading จากนั้น เลือกที่ กำหนด static page จะมี 2 option ให้เลือก คือ first page กับ post page</p>
<p>ให้เลือก หน้าแรกสุดที่ map กับ template เป็น first page  ส่วนหน้าเปล่าอีกอันที่เหลือ เลือกให้เป็น post page จากนั้น ให้มันจำค่าซะ</p>
<p><a href="http://www.bfordev.com/./wp-content/uploads/2010/07/demo-reading-settings-options.jpg" rel="lightbox"><img class="alignnone size-full wp-image-262" title="demo-reading-settings-options" src="http://www.bfordev.com/./wp-content/uploads/2010/07/demo-reading-settings-options.jpg" alt="" width="424" height="191" /></a></p>
<p>(ภาพจาก www.expand2web.com)</p>
<p>7. หากไม่มีอะไรผิดพลาด เมื่อเข้าเวบใหม่ ก็ควรจะเจอหน้าใหม่ที่ทำเอง เป็นหน้าแรกสุด ถ้าอยากจะเข้าไปหาหน้าหลักอันเดิม ก็คลิกในจุดที่เราวางไว้ให้กลับไปหาหน้าหลักเดิม</p>
<p>8. เท่านี้ คุณก็จะได้ หน้าหลัก 2 หน้า ที่ไม่เหมือนกัน ไว้ใช้ ภายใน wordpress แล้วล่ะนะ ^___^</p>
<h2><strong>แหล่งที่มาของคำแนะนำ</strong></h2>
<p>1. จาก google.com</p>
<p>2. keyword  static page , home, php, index</p>
<p>3. เวบนี้  http://www.wordpressmax.com/customize-wordpress/custom-page</p>
<p>4. นี้ก็อธิบายคล้ายๆกันกับของผม แต่ตอนแรกดูไม่ออก ตอนนี้ เข้าใจละ ^_^</p>
<p>http://bloggingexperiment.com/archives/wordpress-page-as-home-page.php</p>
<h2><strong>ข้อควรระวัง ให้มาก</strong></h2>
<h3><span style="text-decoration: underline;"><strong>อย่าตั้งชื่อ หน้าเปล่าๆของคุณ ว่า home ,index ,หรือ front โดยเด็ดขาด </strong></span></h3>
<p>เพราะว่า 3 ชื่อนี้ เป็นเสมือนคีย์เวิร์ด(keyword) หรือ คำสงวน ที่เอาไว้ใช้สำหรับการแสดงผลหน้าแรก นั่นเองครับ ทีแรก ผมก็ไม่เข้าใจ จนกระทั่ง อ่านซ้ำในแผนผังและคำอธิบายจากเวบไซต์หลักของ wordpress ซ้ำอีกรอบ ก็ถึงบางอ้อครับ (เหตุที่ถึง เพราะว่า เมื่อลองทำหน้าเวบตามตัวอย่างที่หามาได้ มัน work ครับ แต่พอย้อนกลับมาที่ของเก่าที่ทำเอาไว้ก่อนหน้านี้ พบว่า มันเพี้ยน กระทั่งพบจุดผิดปกติ ที่ 3 คำนี้ นั่นเองแหละครับ)</p>
<p>http://codex.wordpress.org/Template_Hierarchy</p>
<p>จากข้างบนนี้ เป็นลิงค์ที่อธิบายเรื่องพวกนี้ครับ ดูจากแผนผังและคำอธิบายให้ดีครับ แล้วจะเข้าใจ สรุปง่ายๆก็คือ ไม่ว่าจะยังไงก็ตาม 2 หน้าเปล่าๆที่เราจะสร้างขึ้นมา ห้ามใช้ชื่อ 3 ชื่อนี้ แค่นั้น นอกนั้นก็เชิญตามสะดวกครับ ^___^</p>
<p>สำหรับปัญหาที่สอง เป็นจุดที่ผมเตรียมจะทำต่อไป ซึ่งต้องให้เวลาหาข้อมูลอีกหน่อย ถ้าได้ข้อสรุปยังไง ก็จะนำมาเผยแพร่ที่นี่ แน่นอนครับ</p>
<p>ก่อนจาก: สุดท้ายนี้ ตั้งใจว่า จะพยายามเล่าเรื่องของเทคนิคการพัฒนาโปรแกรมในรูปแบบต่างๆ ทั้ง online และ แบบ desktop ให้ได้มากๆ ซึ่งล่าสุด มีการพัฒนาโปรแกรมในมือถือขายกันเป็นล่ำเป็นสันอีก แต่ก็ต้องให้เวลาในการสรุปและเรียบเรียง บทความด้วย ดังนั้น เรื่องต่างๆ อาจจะไม่ออกมาสม่ำเสมอนัก ขึ้นกับเวลาและโอกาสครับ พบกันใหม่ เมื่อถึงเวลาอันเหมาะสมครับ สวัสดี ^___^.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.bfordev.com%2F2010%2F07%2Fmake-custom-static-page-on-wordpress-how-to%2F&amp;title=%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3%E0%B8%AB%E0%B8%99%E0%B9%89%E0%B8%B2%E0%B9%81%E0%B8%A3%E0%B8%81%E0%B8%95%E0%B8%B2%E0%B8%A1%E0%B9%83%E0%B8%88%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B9%83%E0%B8%99%20wordpress%5B%E0%B8%A7%E0%B8%B4%E0%B8%98%E0%B8%B5%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3%5D"><img src="http://www.bfordev.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.bfordev.com/2010/07/make-custom-static-page-on-wordpress-how-to/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>การทำหน้าแรกตามใจฉันใน wordpress[เกริ่นนำ]</title>
		<link>http://www.bfordev.com/2010/07/make-custom-static-page-on-wordpress-intro/</link>
		<comments>http://www.bfordev.com/2010/07/make-custom-static-page-on-wordpress-intro/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 15:17:40 +0000</pubDate>
		<dc:creator>WatchOO</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[static]]></category>
		<category><![CDATA[หน้าแรก]]></category>

		<guid isPermaLink="false">http://www.bfordev.com/?p=247</guid>
		<description><![CDATA[Shareสวัสดีครับ นับว่า หายไปนานมากๆ หลายเดือนทีเดียว -_-&#8221; ก็ชีวิตที่ยังไม่ลงตัวนั่นแหละครับ ปัญหามันยังไม่จบเลย  ช่างมันเถอะ พักเอาไว้ก่อน ค่อยหาทางจัดการทีหลัง  มาดูเรื่องที่ผมจะเขียนกันบ้างดีกว่า สำหรับใครที่ทำเวบมานาน ส่วนใหญ่ น่าจะรู้จักการทำหน้าดักก่อนหน้าแรก เช่นพวก หน้าเวบไว้ถวายพระพร หรือ เขียนขึ้น เนื่องในโอกาสพิเศษ อะไรบางอย่าง เช่นบอกโปรโมชั่นของร้านค้า บางครั้ง ก็ทำหน้านั้น ไว้เป็นการถาวร เผื่อว่า มีวาระพิเศษอะไรก็ตาม จะได้วางไว้ในหน้านั้นได้เลย เวบพวกนี้ ปกติ สามารถแทรกหน้าพิเศษที่ทำจาก html ธรรมดา ไว้ได้เลย หรือไม่อย่างนั้น ก็เป็นการตั้งค่าง่ายๆ ในตัวโปรแกรม แต่&#8230; ผมยังไม่เคยทำอะไรแบบนั้นใน wordpress ครับ -__-&#8221; ดังนั้น เรามาว่ากันในเรื่องนี้ จะดีกว่า  นั่นคือ การทำหน้าแรก ก่อนหน้า index.php ของ wordpress นั่นเองในเรื่องนี้  ขอออกตัวก่อนว่า ไม่คุ้นเคยกับ wordpress เหมือนผู้เชี่ยวชาญ [...]]]></description>
			<content:encoded><![CDATA[<a name="fb_share" type="button" share_url="http://www.bfordev.com/2010/07/make-custom-static-page-on-wordpress-intro/">Share</a><p>สวัสดีครับ นับว่า หายไปนานมากๆ หลายเดือนทีเดียว -_-&#8221; ก็ชีวิตที่ยังไม่ลงตัวนั่นแหละครับ ปัญหามันยังไม่จบเลย  ช่างมันเถอะ พักเอาไว้ก่อน ค่อยหาทางจัดการทีหลัง  มาดูเรื่องที่ผมจะเขียนกันบ้างดีกว่า</p>
<p>สำหรับใครที่ทำเวบมานาน ส่วนใหญ่ น่าจะรู้จักการทำหน้าดักก่อนหน้าแรก เช่นพวก หน้าเวบไว้ถวายพระพร หรือ เขียนขึ้น เนื่องในโอกาสพิเศษ อะไรบางอย่าง เช่นบอกโปรโมชั่นของร้านค้า บางครั้ง ก็ทำหน้านั้น ไว้เป็นการถาวร เผื่อว่า มีวาระพิเศษอะไรก็ตาม จะได้วางไว้ในหน้านั้นได้เลย</p>
<p>เวบพวกนี้ ปกติ สามารถแทรกหน้าพิเศษที่ทำจาก html ธรรมดา ไว้ได้เลย หรือไม่อย่างนั้น ก็เป็นการตั้งค่าง่ายๆ ในตัวโปรแกรม แต่&#8230; ผมยังไม่เคยทำอะไรแบบนั้นใน wordpress ครับ -__-&#8221;</p>
<p>ดังนั้น เรามาว่ากันในเรื่องนี้ จะดีกว่า  นั่นคือ การทำหน้าแรก ก่อนหน้า index.php ของ wordpress นั่นเอง<span id="more-247"></span>ในเรื่องนี้  ขอออกตัวก่อนว่า ไม่คุ้นเคยกับ wordpress เหมือนผู้เชี่ยวชาญ หลายๆท่าน ดังนั้น สิ่งที่ผมอธิบายต่อไปนี้ คือ สิ่งที่ผมทำมันมาเองกับมือ จากการลงมือค้นหาคำตอบ เท่าที่จะสามารถค้นหาได้  คือเหมือนเป็นการอธิบายแนวทางในการจัดการกับปัญหานี้ ของ wordpress จากตัวผมเอง ประมาณนั้น -_-&#8221;</p>
<p>เดิมทีเดียว เรื่องนี้ มันมีเหตุมาจากที่ทำงาน คือ เวบที่เขาต้องการเนี่ย หน้าแรก กับหน้าอื่นๆ เขาต้องการให้มันออกมาไม่เหมือนกัน ทว่า ธรรมชาติของ wordpress ไม่ว่า จะ theme ไหนก็ตาม เมื่อหาดูแล้ว มันไม่ใช่อย่างที่เขาต้องการ ดังนั้น ผมเลยต้องมานั่ง ทำ ธีม ให้ใหม่ จากของที่ตามหามาได้ใน internet</p>
<p>โดยก่อนหน้านี้ ผมหาวิธี ทำ จนกระทั่ง ได้หน้าแรก ในแบบที่เขาต้องการแล้ว แต่กลับพบว่า เวบที่ผมทำ ต้องสูญเสียธรรมชาติของ wordpress ไปโดยปริยาย นั่นคือ อะไร อัพเดตมาใหม่ อันไหนมาบ้าง ไม่มีใครรู้ ต้องเข้าไปยังเมนูที่ผมทำขึ้นเพื่อแยกไว้รองรับปัญหานี้ ถึงจะรู้ได้</p>
<p>ซึ่งแน่นอน แรกๆ เขาก็ว่าดีแหละ แล้วก็หายไป ไปสั่งงานเรื่องอื่นต่อ มีคอมเม้นมานิดหน่อยว่า อาจต้องปรับปรุงนะ(ซึ่งหมายความว่า อาจจะต้องรื้อแน่ๆ -_-&#8221;)</p>
<p>แต่พักหลังๆนี้ เป็นเพราะการอัพเดตเวบให้ซึ่งก็เป็นการสั่งงานของเขาเองอีกนั่นแหละ มีคนเข้ามาถามผมว่า ตกลง อัพไปหรือยัง ซึ่งถ้าคนเข้าไม่รู้ทางเข้าไปหา ไม่มีทางหาเจอแน่ๆ ว่า ตกลง มันอัพหรือไม่อัพ (มีให้ดูนิดหน่อย ที่เมนูด้านขวาน่ะ -_-&#8221;)</p>
<p>เลยเป็นที่มาของการทำหน้าเวบ แบบ minor change คือ มองภายนอก เปลี่ยนแค่บางส่วน แต่ที่จริงแล้ว คือการดึงเอาแกนหลักของระบบ wordpress กลับมามากกว่า เลยค่อนข้างโหดและหิน สำหรับคนที่ทำงานกับ wordpress ในระดับกลางๆ ไม่ใช่เทพแบบผม -_-&#8221;</p>
<p>โจทย์ของผม มี 2 ข้อ</p>
<p>ข้อแรก คือ การมีหน้าเวบ 2 หน้า หน้าแรกคือ หน้าอันเดิม ที่โมจนเละ นั่นแหละ เลื่อนฐานะให้มันเป็นหน้าเริ่มต้น แล้วเพิ่มหน้าที่สองซึ่งเป็นหน้าที่รองรับแกนการทำงานเดิมของระบบ หรือหน้า index.php แบบเดิมๆ นั่นแหละ ซึ่งวิธีการเพิ่งหาและจัดการกับมันได้ สดๆร้อนๆ เมื่อเย็นนี้เอง</p>
<p>ข้อที่สอง คือ การเพิ่มจุดอัพเดต ให้มากกว่า 1 จุด ซึ่งอาจจะเป็นการแยกหมวดหมู่ออกมา เพื่อให้เห็นว่า มีอะไรอัพเดตเพิ่มเติมบ้าง ซึ่งต้องหาวิธีการทำกันต่อไป แต่คาดว่า จะง่ายกว่าข้อแรก</p>
<p>ในตอนนี้ ผมขอจบลงดื้อๆแบบนี้ล่ะ สรุปง่ายๆ ก็คือ เป็นการหาวิธีทำ หน้าเวบ แบบ หน้าแรก กับหน้าหลัก ที่ไม่เหมือนกันเลย ในแบบของ wordpress นั่นแหละ  ตอนหน้า ผมจะยกตัวอย่าง เวบที่ใช้เทคนิคนี้ ไปแล้ว ในประเทศไทย ซึ่งก็เป็นเวบที่ผมคุ้นเคยอยู่แล้วในการหาข้อมูลอีกเหมือนกัน พร้อมทั้งบอกวิธีการในการทำให้ได้แบบนั้น มาด้วย คอยติดตามในตอนหน้าครับ สวัสดีครับ ^___^.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.bfordev.com%2F2010%2F07%2Fmake-custom-static-page-on-wordpress-intro%2F&amp;title=%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3%E0%B8%AB%E0%B8%99%E0%B9%89%E0%B8%B2%E0%B9%81%E0%B8%A3%E0%B8%81%E0%B8%95%E0%B8%B2%E0%B8%A1%E0%B9%83%E0%B8%88%E0%B8%89%E0%B8%B1%E0%B8%99%E0%B9%83%E0%B8%99%20wordpress%5B%E0%B9%80%E0%B8%81%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%99%E0%B8%99%E0%B8%B3%5D"><img src="http://www.bfordev.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.bfordev.com/2010/07/make-custom-static-page-on-wordpress-intro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>จุดเปลี่ยนในการเขียนโปรแกรมของผม[ตอนที่ 2]</title>
		<link>http://www.bfordev.com/2010/03/turning-point-my-programming-part2/</link>
		<comments>http://www.bfordev.com/2010/03/turning-point-my-programming-part2/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 16:43:33 +0000</pubDate>
		<dc:creator>WatchOO</dc:creator>
				<category><![CDATA[About Programming]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[intro]]></category>
		<category><![CDATA[resource]]></category>
		<category><![CDATA[Win32 API]]></category>

		<guid isPermaLink="false">http://www.bfordev.com/?p=226</guid>
		<description><![CDATA[Shareสวัสดีครับ หลังจากที่หายไปนาน เนื่องจากเกิดปัญหาส่วนตัวขึ้น ตามที่ได้ประกาศไว้ใน entry นี้ ของเวบหลัก ขอพักก่อน แต่ทว่า ทำไปทำมา คิดว่า ถ้าพอมีเวลาว่าง ก็เขียนไปหน่อยจะดีกว่า ก็เลยเปลี่ยนใจ หาเวลาเขียนเอาก็แล้วกัน เพราะบทความก็ยังคงค้างอยู่พอสมควร ส่งขึ้นไปเยอะๆหน่อย คงจะดี ^____^ เอาล่ะ มาว่ากันต่อ ในบทความตอนนี้กันครับ &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; จากเรื่องราวในตอนที่แล้ว จริงๆ เรื่องควรจะจบที่ผมเปลี่ยนความคิดที่จะใช้ C Win API แล้วมาจับ VB แทน ซึ่ง ฟังๆ​ดู ​แล้ว​ ​ก็​ไม่​มีอะ​ไรเปลี่ยนแปลงมาก ​แค่​ต้อง​เปลี่ยนภาษาที่​ใช้​ Program ​ให้​เราทำ​งาน​ได้​ง่ายๆ​ และ ​ทุกอย่างน่า​จะ​ลงตัวที่​ VB ​แล้ว​ถ้า​ไม่​เจออะ​ไรที่​ต้อง​เปลี่ยนอย่างร้ายแรงมากๆ​ ​ที่​จะ​บอกต่อไปนี้ ปัญหา​ ​มันเกิด​จาก​การที่ Listview control ของ​ VB อยู่ดีๆ ก็หมดอายุ​ ​ใช้​งานต่อ​ไปไม่​ได้ เอ แล้ว​ผม​จะ​เอาอะ​ไรมา​เขียนมันล่ะ​ [...]]]></description>
			<content:encoded><![CDATA[<a name="fb_share" type="button" share_url="http://www.bfordev.com/2010/03/turning-point-my-programming-part2/">Share</a><p>สวัสดีครับ หลังจากที่หายไปนาน เนื่องจากเกิดปัญหาส่วนตัวขึ้น ตามที่ได้ประกาศไว้ใน entry นี้ ของเวบหลัก <a href="http://www.watchoblog.com/2010/03/be-clearing-problems/">ขอพักก่อน</a> แต่ทว่า ทำไปทำมา คิดว่า ถ้าพอมีเวลาว่าง ก็เขียนไปหน่อยจะดีกว่า ก็เลยเปลี่ยนใจ หาเวลาเขียนเอาก็แล้วกัน เพราะบทความก็ยังคงค้างอยู่พอสมควร ส่งขึ้นไปเยอะๆหน่อย คงจะดี ^____^ เอาล่ะ มาว่ากันต่อ ในบทความตอนนี้กันครับ<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
จากเรื่องราวในตอนที่แล้ว จริงๆ เรื่องควรจะจบที่ผมเปลี่ยนความคิดที่จะใช้ C Win API แล้วมาจับ VB แทน  ซึ่ง ฟังๆ​ดู ​แล้ว​ ​ก็​ไม่​มีอะ​ไรเปลี่ยนแปลงมาก ​แค่​ต้อง​เปลี่ยนภาษาที่​ใช้​ Program ​ให้​เราทำ​งาน​ได้​ง่ายๆ​ และ ​ทุกอย่างน่า​จะ​ลงตัวที่​ VB ​แล้ว​ถ้า​ไม่​เจออะ​ไรที่​ต้อง​เปลี่ยนอย่างร้ายแรงมากๆ​ ​ที่​จะ​บอกต่อไปนี้<br />
<span id="more-226"></span><br />
ปัญหา​ ​มันเกิด​จาก​การที่ <span style="background-color: #ffff00;">Listview control</span> ของ​ VB <span style="background-color: #ffff00;">อยู่ดีๆ ก็หมดอายุ​ ​ใช้​งานต่อ​ไปไม่​ได้</span> เอ แล้ว​ผม​จะ​เอาอะ​ไรมา​เขียนมันล่ะ​ <span style="background-color: #ffff00;">Visual Studio 98</span> ก็​ใช้​งานมา​ได้​หลายปี​แล้ว​ ​เก่าไปแน่ๆ<br />
ก็​เริ่มมองหา​เครื่องมือ​ใหม่ๆ​ ​แล้วก็จ๊ะ​เอ๋​ ​เข้า​กับ​ Dot net<br />
ใช่​ครับ​ <span style="background-color: #ffff00;">Visual Studio 2003 .Net</span> และ ​เจ้านี่​เองก็ทำ​ให้​ทุกอย่างของผม​ต้องวุ่นวาย​ ​เริ่มแรก ผมลอง​ convert Code ​โปรแกรมของผม​ด้วย​ VS.Net ​ปรากฏว่า​ ​ได้​ ​แต่​Code ​ดู​ไม่​รู้​เรื่องเลย​ ​ว่า​ ​จะ​ต้อง​ทำ​อะ​ไรบ้าง​ ​นอก​จาก​นี้​ ​ผม​ไม่​สามารถ​ทำโปรแกรม​ใน​รูปแบบเดียว​กับ​ VS 98 ​ได้​เลย​ ​มัน​ต้อง​ convert ​ก่อน​เท่า​นั้น​ -_- ‘’ ​แล้ว​จะ​ทำ​ไงดีล่ะ​เนี่ย​ ​ผมเองมีทางเลือก​อยู่​ 2 ​ทาง​ ​คือ<br />
ก​. ​ก็​โปรแกรมมันต่อไปนั่นแหละ​ ​เรียนรู้​เอาหน่อยน่า<br />
ข​. ​โค้ดมันยาวขึ้นนะ​ ​ยาก​ด้วย​ ​ท่าทาง​จะ​โปรแกรมต่อไป​ไม่​ไหว​ ​ถ้า​ต้อง​นั่งเรียนรู้​ใหม่​ ​เขียน​ใหม่​เลย​ไม่​ง่ายกว่า​หรือ<br />
เมื่อผม​ ​พิจารณาทางเลือก​แล้ว​ ​ผมเลือก​ ​ข้อ​ ​ข​. ​เพราะ​ว่า​ ​ตัว​ source code ​โปรแกรมที่มันทำ​มา​ให้​ ​ดูค่อนข้างยาก​ <span style="background-color: #ffff00;">Event Message</span> ต่างๆ ​ ​ของ​ VB ​ดูยากกว่า​ ​อันเดิมมากพอสมควร​ ​แถมบางอันจัดกลุ่ม​ใหม่​อีกต่างหาก​ ​ถ้า​ขืน​ใช้​งานต่อไป​ ​ก็​ไม่​ต่างอะ​ไร​จาก​ C Win API ​เท่า​ใด​นัก​ ​ผมเลยหันกลับมาหา​ C Win API ดีกว่า<br />
มีคำ​ถามว่า​ ​ทำ​ไม​ ​ผม​ไม่​ใช้​ MFC ​เสียเลยล่ะ​ ​ก็ผม​ยัง​ไม่​แน่น​ใน​เรื่อง​ CPP และ OOP ​นี่ครับ​ เกรงว่า จะ​​ไล่​ Bug ​กันลำ​บาก​ ​แค่​ C Win API ​ก็​ไม่​รู้ว่า​ ​จะ​ไล่​ Bug ​กัน​ยัง​ไงน่ะครับ​ ​ก็​เลยเกาะ​แค่​ C Win API ​นี่​แหละ​ -_-”<br />
จาก​ ​การหันมา​ใช้​ VS.Net ​ทำ​ให้​ชุดเขียนโปรแกรม C Win API ​ของผม​ ​พลอยฟ้า​ ​พลอยฝนไป​ด้วย​ ​เพราะ​ไม่​ต้อง​การ​ให้​รกเนื้อที่​ HDD ​มากนัก​ ​ใช้​อะ​ไรก็ใช้ไปสักอันนึง​ ​ทำ​ให้​ ​ระบบ​ Resource Editor ​ที่​เจ๋งๆ​ของ​ Visual C++ 6.0 ​ก็​ต้อง​เลิก​ใช้​ไป​ด้วย​ ​แล้ว​หันมา​ใช้​ VS.Net ​แทน​ ​ซึ่ง​ก็พอ​ ​กล้อมแกล้มไป​กัน​ได้​บ้าง</p>
<p style="text-align: center;">
<div id="attachment_236" class="wp-caption aligncenter" style="width: 310px"><a class="lightbox" href="http://www.bfordev.com/./wp-content/uploads/2010/03/VS_StudioProjectScreen.gif" rel="lightbox"><img class="size-medium wp-image-236 " title="VS_StudioProjectScreen" src="http://www.bfordev.com/./wp-content/uploads/2010/03/VS_StudioProjectScreen-300x222.gif" alt="" width="300" height="222" /></a><p class="wp-caption-text">Visual Studio.Net 2003</p></div>
<p>ใน​ตอน​นั้น​ ​โปรแกรมของผมที่ทำ​จาก​ VB ​ก้าวหน้ามาก​ ​ถึง​ขนาดที่ว่า​ ​เรียก​ใช้​ระบบ​ Visual Style ​คือทำ​ให้​ปุ่มกด​ control ​ต่างๆ​ ​มีลักษณะ​เป็น​แบบ​ ​สามมิติ​ ​หรือ​ว่า​ ​มี​ความ​สวยงามมากขึ้น​ ​แบบ theme​ Win XP ​ซึ่ง​ ​ตอน​นั้น​ C win API ​ของผม​ ​ทำ​ยัง​ไง​ ​ยัง​ไม่​รู้​เลย​ ​ด้วย​ซ้ำ​ ​ก็​เลยออกมาดาดๆ​แบบเดิม</p>
<p style="text-align: left;">
<div id="attachment_227" class="wp-caption aligncenter" style="width: 282px"><a class="lightbox" href="http://www.bfordev.com/./wp-content/uploads/2010/03/WinXpClassicStyle.jpg" rel="lightbox"><img class="size-medium wp-image-227 " title="WinXpClassicStyle" src="http://www.bfordev.com/./wp-content/uploads/2010/03/WinXpClassicStyle-272x300.jpg" alt="" width="272" height="300" /></a><p class="wp-caption-text">Win XP Classic Standard Style</p></div>
<div id="attachment_228" class="wp-caption aligncenter" style="width: 275px"><a href="http://www.bfordev.com/./wp-content/uploads/2010/03/Windows-XP-Visual-Styles-2.png" rel="lightbox"><img class="size-medium wp-image-228" title="Windows-XP-Visual-Styles-2" src="http://www.bfordev.com/./wp-content/uploads/2010/03/Windows-XP-Visual-Styles-2-265x300.png" alt="" width="265" height="300" /></a><p class="wp-caption-text">XP Visual Style</p></div>
<p style="text-align: left;">จากรูปข้างบนนี้แหละ ถ้าเป็นโปรแกรมที่มาจาก VB สามารถที่จะเปลี่ยน หน้าตา ไปตามระบบ Visual Style ของ Win XP ได้เลย แต่ถ้าเป็น โปรแกรมที่เขียนด้วย CPP Win API นั้น จะมีหน้าตาเหมือนอย่างรูปบน ก็คือ ไม่สามารถเปลี่ยนหน้าตาอะไรได้เลย คงที่เหมือนเดิม</p>
<p>อันที่จริง​ MSDN ​ก็​ได้​ให้​คำ​แนะนำ​แล้ว​ ​ว่า​ ถ้าใช้ C Win API ​ต้อง​ทำ​ไงบ้างเพื่อที่​จะ​ใช้​ Visual Style ​ได้​ ​แต่ก็​ไม่​ได้​ทำ​เสียที​(หมายเหตุ: ​ ​ณ​ ​เดือนกรกฎาคม​ ​ปี​ 2550 ​สามารถ​ทำ​ให้​ใช้​ Visual Style ​ได้​หมด​แล้ว​ ​เพียงแต่​ใช้​ file manifest ​ง่ายๆ​ตัวนึง​ ​เท่า​นั้น​เอง​ ​แต่​ต้อง​ใช้​กับ​โปรแกรมรุ่น​ใหม่ๆ​ด้วย ​เพราะ​รุ่นเก่าดูท่าทาง​จะ​มีปัญหา)</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.bfordev.com%2F2010%2F03%2Fturning-point-my-programming-part2%2F&amp;title=%E0%B8%88%E0%B8%B8%E0%B8%94%E0%B9%80%E0%B8%9B%E0%B8%A5%E0%B8%B5%E0%B9%88%E0%B8%A2%E0%B8%99%E0%B9%83%E0%B8%99%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1%E0%B8%82%E0%B8%AD%E0%B8%87%E0%B8%9C%E0%B8%A1%5B%E0%B8%95%E0%B8%AD%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88%202%5D"><img src="http://www.bfordev.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.bfordev.com/2010/03/turning-point-my-programming-part2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>จุดเปลี่ยนในการเขียนโปรแกรมของผม[ตอนที่ 1]</title>
		<link>http://www.bfordev.com/2010/01/turning-point-my-programming-part1/</link>
		<comments>http://www.bfordev.com/2010/01/turning-point-my-programming-part1/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 01:00:09 +0000</pubDate>
		<dc:creator>WatchOO</dc:creator>
				<category><![CDATA[About Programming]]></category>
		<category><![CDATA[C/C++ ทั่วไป]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[intro]]></category>

		<guid isPermaLink="false">http://www.bfordev.com/?p=210</guid>
		<description><![CDATA[Shareสวัสดีครับ ออกจะแปลกไปสักเล็กน้อยนะครับ สำหรับตอนนี้ เพราะยังคงเป็นบทความเล่ารำลึกถึงความหลังอยู่อีกนั่นแหละ ที่บอกว่า แปลก เพราะปกติ จะไม่มีใครเขาพูดกันถึงเรื่องอดีตที่มาของการหัดเล่น หัดทำโปรแกรม ของตัวเองกันสักเท่าไหร่  แต่ผมไม่คิดอย่างนั้นครับ เพราะว่า บางครั้ง การได้เล่าอะไรบางอย่างผ่านตัวบทความ ทำให้เราได้เรียบเรียงความคิด ถึงเหตุการณ์ นั้นซ้ำอีกครั้งหนึ่ง และในบางครั้ง ประสบการณ์ที่เราถ่ายทอดออกไปนั้น อาจจะเป็นประโยชน์ต่อผู้มาใหม่ในภายหลังก็ได้ เพราะสาขาวิชานี้ ก็มีคนเข้าเรียนทุกปีอยู่แล้วครับ อีกจุดหนึ่ง ที่อาจจะพอถูไถไปได้บ้าง นั่นก็เพราะว่า ผมเป็นโปรแกรมเมอร์พันธุ์ทางครับ ไม่ใช่พันธุ์แท้ ของที่ศึกษามาก็มาจากการงมๆหาด้วยตัวเองเป็นหลัก ไม่สังกัดองค์กรที่ไหน เลยไม่คิดว่าจะต้องมีอะไรกั๊กกันล่ะครับ 555+  มาเข้าเรื่องกันเลยจะดีกว่า นับ​จาก​วันที่ผมเริ่มต้นรู้จัก​กับ​ ​การเขียนโปรแกรม​ด้วย​ ​ภาษา​ C ​บน​ windows ​ตอน​นั้น​ ​ก็​อยู่​ใน​ช่วง​ ​ประมาณปี​ 1998 (ผมยึดตาม​ windows 98 ​น่ะ) ​จนมา​ถึง​ปัจจุบันที่มี​ Dot net ​คือ​ ​ปี​ 2006 ​แล้ว​ ​ก็ถือว่า​เกือบ​จะ​ 10 [...]]]></description>
			<content:encoded><![CDATA[<a name="fb_share" type="button" share_url="http://www.bfordev.com/2010/01/turning-point-my-programming-part1/">Share</a><p>สวัสดีครับ ออกจะแปลกไปสักเล็กน้อยนะครับ สำหรับตอนนี้ เพราะยังคงเป็นบทความเล่ารำลึกถึงความหลังอยู่อีกนั่นแหละ</p>
<p>ที่บอกว่า แปลก เพราะปกติ จะไม่มีใครเขาพูดกันถึงเรื่องอดีตที่มาของการหัดเล่น หัดทำโปรแกรม ของตัวเองกันสักเท่าไหร่  แต่ผมไม่คิดอย่างนั้นครับ เพราะว่า บางครั้ง การได้เล่าอะไรบางอย่างผ่านตัวบทความ ทำให้เราได้เรียบเรียงความคิด ถึงเหตุการณ์ นั้นซ้ำอีกครั้งหนึ่ง และในบางครั้ง ประสบการณ์ที่เราถ่ายทอดออกไปนั้น อาจจะเป็นประโยชน์ต่อผู้มาใหม่ในภายหลังก็ได้ เพราะสาขาวิชานี้ ก็มีคนเข้าเรียนทุกปีอยู่แล้วครับ</p>
<p>อีกจุดหนึ่ง ที่อาจจะพอถูไถไปได้บ้าง นั่นก็เพราะว่า ผมเป็นโปรแกรมเมอร์พันธุ์ทางครับ ไม่ใช่พันธุ์แท้ ของที่ศึกษามาก็มาจากการงมๆหาด้วยตัวเองเป็นหลัก ไม่สังกัดองค์กรที่ไหน เลยไม่คิดว่าจะต้องมีอะไรกั๊กกันล่ะครับ 555+  มาเข้าเรื่องกันเลยจะดีกว่า<span id="more-210"></span></p>
<p>นับ​จาก​วันที่ผมเริ่มต้นรู้จัก​กับ​ ​การเขียนโปรแกรม​ด้วย​ ​ภาษา​ C ​บน​ windows ​ตอน​นั้น​ ​ก็​อยู่​ใน​ช่วง​ ​ประมาณปี​ 1998 (ผมยึดตาม​ windows 98 ​น่ะ) ​จนมา​ถึง​ปัจจุบันที่มี​ Dot net ​คือ​ ​ปี​ 2006 ​แล้ว​ ​ก็ถือว่า​เกือบ​จะ​ 10 ​ปี​ได้​แล้ว​… (ล่าสุด คือ 2009-20010 แล้วนะ)</p>
<p>แต่สำหรับผมแล้ว ก็ยังคงเป็น​คนที่​อยู่​นอกวงการโปรแกรมเมอร์อยู่​ดี​ ​คงเป็นเพราะ​ว่า​ ​ไม่​ได้​ใช้​งานมันไปในทางลึกๆมากนัก แค่พอใช้งานได้ ภาษาโปรแกรมที่ได้ใช้ทำงานจริงๆ จะเป็น​ VB (VB ​ที่ว่านี้คือ​ Visual Basic นั่นเอง) ​แต่ว่า​ VB ​เอง​ ​ก็​ไม่​ใช่​ทางที่ถูกต้องของผม​ ​แต่ที่​ต้อง​ใช้​เพราะ​มันสร้างงาน​ได้​ไว​ ​ใน​ระหว่างนั้นนั่นแหละ​ ​ก็มีการเกิดขึ้นของภาษา​ใหม่​และ​Platform ​ใหม่​ ​คือ​ dot net ​ขึ้นมา​ ​พร้อม​กับ​ C# ​ซึ่ง​ทำ​ให้​ผมงง​ ​และ​สับสนว่า​ ​จะ​เอา​ไงดีหว่า​ ​เพราะ​ว่า​ ​เมื่อมอง​จาก​พื้นฐานของตัวเอง​แล้ว​ ​เป็น​ไป​ได้​ยากที่​จะ​เข้า​กับ​ภาษา​ใหม่​พวก​นั้น​ ​แค่ของเดิมที่มีก็ค่อนข้าง​จะ​โคตรยาก​ถึง​ยากสุดๆแล้ว​ ​ต้อง​ใช้​ระยะ​เวลามา​เข้า​ใจของใหม่อีก​ ​ไม่​ทันกินแน่​ ​ทำ​ไงดี</p>
<p>ก่อนที่​จะ​บอกว่า​ ​ผมตัดสินใจไป​ยัง​ไง​ ​ขอเล่า​ถึง​ ​พื้นฐาน​ใน​การพยายามเขียนโปรแกรม​ด้วย​ภาษา​ C ​กัน​ก่อน​ <strong>C For Windows</strong> ที่ว่านี้​ ​คือการ​ใช้​งาน​กับ​ WIN API ​ซึ่ง​เป็น​มาตรฐานที่ถูกกำ​หนดมา​โดย​ Windows ​นี่​แหละ​ ​ที่ผ่านมา ​ผมเอง​ยัง​ไม่​เคย​ใช้​ Win API ​ทำ​โปรแกรมอะ​ไรที่มันดีๆ​เป็น​ชิ้น​เป็น​อันเลย​ ​ใน​ขณะที่​ VB ​นั้น​ ​ทำ​ไป​แล้ว​ 2 ​โปรแกรม​ ​โดย​เฉพาะ​โปรแกรมที่สอง​ คือ โปรแกรมแสดงบัญชี ​เขียน​ไว้​ดีมากๆ​ ​จนอดคิด​ไม่​ได้​ว่า​ ​แล้ว​ WIN API ​จะ​ทำ​ได้​ดีขนาด​นั้น​ไหม​ ​เอาล่ะ​ ​พูดออกนอกเรื่องไปเยอะ​แล้ว​ ​กลับมา​ใหม่​ ​มาทบทวน​กัน​ใน​ส่วน​ของพื้นฐาน​ ​ซึ่ง​ผมเอง​เป็น​ลักษณะดังนี้</p>
<div id="attachment_211" class="wp-caption aligncenter" style="width: 352px"><a href="http://www.bfordev.com/./wp-content/uploads/2010/01/Chart1.jpg" rel="lightbox"><img class="size-medium wp-image-211" title="Chart1" src="http://www.bfordev.com/./wp-content/uploads/2010/01/Chart1-300x225.jpg" alt="" width="342" height="256" /></a><p class="wp-caption-text">เส้นทางการหัดเขียนโปรแกรม</p></div>
<p>มีอยู่ช่วงหนึ่ง ผมกำลังหาวิธีการทำระบบ Graphic กันอยู่​แล้ว ​ก็​เจอ​เข้า​กับคำสั่งของ​ DirectX ​และ​ OpenGL ​เข้า ซึ่ง​สามารถใช้​งาน​ได้​ใกล้​เคียง​กัน​ ​และ​ ​เป็น​เครื่องมือติดต่อ​กับ​ระบบกราฟฟิก​ 2/3 ​มิติ​ใน​คอมพิวเตอร์​ทั้ง​คู่​ ​ปัญหามัน​อยู่​ที่ว่า​ ​มันทำ​งาน​ได้​เร็ว​เมื่อ​เรียกใช้จาก​ Win API ​จะ​ใช้​ตัว​อื่น​ก็ได้​ ​เช่น​ MFC ​เพียงแต่​เรียกจะ​ใช้​ได้​ช้ากว่า​ (จาก Tutorial ​ไม่​แนะนำ​ให้​ใช้​ว่างั้น)  ดังนั้น ก็เลยต้องย้อนกลับมางม Win API กันต่อ ​นอก​จาก​นั้น​ ​ผม​ยัง​เจอปัญหา​ใน​การเขียน​ ​อ่าน​ ​ไฟล์ข้อมูลในระบบ Windows อีก​ด้วย​ ​ทำ​ให้​ผม​ต้อง​กระ​โดดไปมาระหว่าง​ Pascal,MFC,C++ Builder ​โดย​เทียบเคียง​กับ​ VB ​(เพราะ VB ทำได้ครับ เฮ้อ -*-&#8221; )และ​ไม่​ได้​แตะ​ C Win API ​เลย​ ​เพราะ​ว่า​ Code ​ยาว</p>
<p>ยิ่งไปกว่า​ นั้น​ ​ผม​ยัง​พบปัญหาของ​การเขียนโปรแกรมเพื่อติดต่อ​กับ​ control ​มาตรฐานของ​ Windows ​บางตัว ในการ​ใช้​งาน​ เมื่อเปลี่ยนการใช้เครื่องมือและ platform ที่เขียน ​ตัวอย่างเช่น​ Control ​ที่ชื่อว่า​ <strong>ListView </strong>ที่ใน ​VB ​ใช้​งาน​ได้​ดี​ มีเอกสารช่วยเหลือมากมาย ต่างกับ​โปรแกรมของ Delphi/C++ Builder ​ที่ไม่​มีข้อมูลของ​ control ตัวนี้ ทั้ง​คู่​ ​และถ้าใช้ MFC ​ก็พอ​ใช้​ได้​เช่นกัน ​แต่​เมื่อ​กลับมาใช้​ C Win API ​พบว่า หาข้อมูล​ได้​น้อย​ ​ถึง​ ​น้อยมาก​ ​งง​ ​ไปเลยล่ะ​ (ณ​ ​เวลา​นั้น​ Google ​เพิ่งเกิด​ใหม่ๆ​ ​ยัง​ไม่​ใช้​กัน​แพร่หลายเหมือนทุกวันนี้) ​สำ​หรับ​ Control ​ที่​ MFC ​ใช้​ ​จะมีวิธี​การเรียก​ใช้​งาน​แบบ ActiveX ​ซึ่ง​ดู​ไม่​รู้​เรื่อง​ ​ว่า​จะ​ใช้​งาน​ได้​ยัง​ไง​ ​ผลสุดท้ายผมเลย​ต้อง​ใช้​งานกับ VB ​แทนซึ่ง​ก็ทำ​ออกมา​ได้​ดีมากๆ​เลยที​เดียว​ ​ทำ​ให้​ไม่​รู้ว่า​จะ​หาทางโปรแกรม​ C Win API ​ให้​ได้​ใกล้​เคียง​กับ​ VB ​ยัง​ไงดี</p>
<p>(<strong>หมายเหตุ</strong>: ​ในเดือน ​กรกฎาคม​ ​ปี​ 2550 ​พบว่า​ control ​ของ​ VB ​ที่ชื่อ​ Listview Control ​นั้น​มีจุดบอด​ใน​เรื่องการ​ Insert Item ​ใน​ขณะที่​ C Win API ​แก้​ไขปัญหานี้ผ่านไป​ได้​เรียบร้อย​แล้ว)</p>
<div id="attachment_213" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bfordev.com/./wp-content/uploads/2010/01/Sample_Listview_sshot1.jpg" rel="lightbox"><img class="size-medium wp-image-213" title="Sample_Listview_sshot1" src="http://www.bfordev.com/./wp-content/uploads/2010/01/Sample_Listview_sshot1-300x173.jpg" alt="" width="300" height="173" /></a><p class="wp-caption-text">ตัวอย่างของ Listiview Control</p></div>
<p style="text-align: left;">สำหรับเรื่องของ Listview Control นี้ มีเกร็ดเิพิ่มเติมเล็กน้อย นั่นคือ คำว่า Listview เป็นชื่อเรียกของ control หน้าตาแบบนี้ใน VB ,VB.Net,C Sharp.Net เท่านั้น แต่ถ้าเป็นของ C/C++ จะเรียกชื่อ control ตัวนี้ว่า List Control เฉยๆ ซึ่งชื่อจะไปคล้ายกันกับ control อีกตัวหนึ่ง ก็คือ ListBox control ซึ่งอันนั้นทำได้แค่ใส่ list รายชื่อให้เราเลือกเฉยๆ ส่วน List หรือ Listview Control นี้มีลูกเล่นที่ทำอะไรได้มากกว่าครับ อย่าสับสนล่ะ เพราะเจอเข้ากับตัวเองมาแล้ว ตอนที่หาวิธีจัดการเรื่องการ Insert Item ทั้งของ VB และ C++ นั่นแหละ</p>
<p>ในส่วนของการสร้างโปรแกรมด้วย C Win API  วิธีการสร้าง​ ​โปรแกรมที่มี​ control ​ต่างๆ​เพื่อใช้​งาน​นั้น​ ​จะเริ่มต้น​จาก​การสร้าง​ Dialog ​ขึ้นมาก่อน​ ​แล้ว​ ​ใส่​ control ​ต่างๆ​ที่​ต้อง​การ​ใช้​งานลงไป​ ​จาก​นั้น​ ​ทำ​การ​ Map Code ​เข้า​กับ​ ID ​ของ​ Control ​นั้นๆ​ ​ส่วน​ MFC ​มีวิธี​ใช้​งานที่​แตกต่าง​กัน​ออกไปคือ​ Map ​เป็น​ class ​ไปเลย​ ​สำ​หรับ​ C++ Builder ​ใช้​งานเหมือน​กับ​ VB ​เลย​ ​ต่างแค่ภาษา​เท่า​นั้น​เอง​ (ซึ่งยากกว่า​เยอะ​เลย) ​ซึ่ง​ dialog ​ที่​ได้​ ​จะ​เก็บ​อยู่​ใน​ไฟล์​ ​ที่​เรียกว่า​ Resource Script ​พร้อม​กับ​ Header ​ที่ระบุ​ ID ​ของ​ Control ​นั้นๆ</p>
<div id="attachment_180" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bfordev.com/./wp-content/uploads/2010/01/ResEd_RC_Editor_ScreenShot.png" rel="lightbox"><img class="size-medium wp-image-180" title="ResEd_RC_Editor_ScreenShot" src="http://www.bfordev.com/./wp-content/uploads/2010/01/ResEd_RC_Editor_ScreenShot-300x229.png" alt="" width="300" height="229" /></a><p class="wp-caption-text">ResEd Resource Script Editor</p></div>
<p>ขอเอารูปเก่ามาหากินอีกที นี่คือ ตัวอย่างการสร้างโปรแกรมแบบ Dialog Box แบบ C Win API ครับ</p>
<p style="text-align: left;">
<p style="text-align: left;">เมื่อดู​แล้ว​ ​ก็​ไม่​เห็นมีอะ​ไรเปลี่ยนแปลงมาก ​แค่​ต้อง​เปลี่ยนภาษาที่​ใช้​ Program ​ให้​เราทำ​งาน​ได้​ง่ายๆ​นี่นา​ ​จริงๆ​ ​แล้ว ทุกอย่างน่า​จะ​ลงตัวที่​ VB ​แล้ว​ถ้า​ไม่​เจออะ​ไรที่​ต้อง​เปลี่ยนอย่างร้ายแรงมากๆ</p>
<p style="text-align: left;">ส่วนจะเป็นอะไรนั้น คอยติดตามกันในตอนหน้า สวัสดีครับ.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.bfordev.com%2F2010%2F01%2Fturning-point-my-programming-part1%2F&amp;title=%E0%B8%88%E0%B8%B8%E0%B8%94%E0%B9%80%E0%B8%9B%E0%B8%A5%E0%B8%B5%E0%B9%88%E0%B8%A2%E0%B8%99%E0%B9%83%E0%B8%99%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1%E0%B8%82%E0%B8%AD%E0%B8%87%E0%B8%9C%E0%B8%A1%5B%E0%B8%95%E0%B8%AD%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88%201%5D"><img src="http://www.bfordev.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.bfordev.com/2010/01/turning-point-my-programming-part1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

