บทความ

การส่งค่าตัวแปรข้ามไฟล์ ระหว่าง Javascript และไฟล์ php

รูปภาพ
โดยปกติการอ้างอิงไฟล์ภายนอกของ Javascript จะเรียกใช้ไฟล์ นามสกุล .js แต่น้อยคนที่จะทราบว่า Javascript สามารถเรียกใช้งาน และรับค่ามาจากไฟล์ php ได้ นี่เป็นการเปิดโลกทางเลือกใหม่ที่ทำให้ Javascript ซึ่งเป็น Client-side สามารถสื่อสารกับ PHP ซึ่งเป็น Server-side ได้ ทำให้เพิ่มศักยภาพของ Javascript ได้อย่างมหาศาล รูปแบบ การอ้างอิงถึง(เรียกใช้งาน)ไฟล์ myscript.php ของ Javascript (ในไฟล์ HTML)           <script type="text/javascript" src="myscript.php"></script> ถ้าต้องการส่งค่าไปยังไฟล์ PHP ก็สามารถทำได้ ผ่านทาง Query string ดังนี้           <script type="text/javascript" src="myscript.php?id=3&name=george"></script> ไฟล์ PHP จะรับค่าที่ส่งเข้ามา ผ่านทาง global variable  $HTTP_GET_VARS[]   ประเด็นหลัก ก็คือว่า เนื่องจากเราใช้ Javascript เรียก PHP ดังนั้น ผลลัพธ์ที่ออกมาก จะต้องอยู่ในรูปแบบของ Javascript หรือเป็นไปตาม syntax ของ Javascript เท่านั้น ข้างล่างนี้ คือตัวอย่างไฟล์ ip.php ที่อ่านค่า IP และนำมาแสดงผ

การใช้ Art Brush และ Scatter Brush สร้างต้นไม้หลากสี

รูปภาพ
เราใช้ Art Brush และ Scatter Brush สร้าง ต้นไม้หลากสี ดังภาพข้างล่างนี้ ใช้ Art Brush สร้างลำต้นและกิ่ง ใช้ Scatter Brush สร้างใบ การสร้างลำต้นและกิ่ง กำหนด Fill เป็น สีดำ กำหนด Stroke เป็น None  ใช้ Star Tool วาดรูปดาว และขณะยังไม่ปล่อยเมาส์ ให้กดปุ่มลูกศรลง เพื่อลดมุมให้เหลือเป็นรูปสามเหลี่ยม เปิดหน้าต่าง Brush (ไปที่ Window > Brush) ใช้ Black Arrow Tool ลากไปไว้ในแถบหน้าต่าง Brush กำหนด Brush เป็นชนิด Art Brush กำหนดทิศทางลูกศรชี้ขึ้น และ Method เป็น Tint แล้วคลิก OK จะได้แปรงใหม่ รูปสามเหลี่ยม ลบรูปสามเหลี่ยมที่สร้างขึ้น กำหนด Fill เป็น None และ Stroke เป็น สีดำ 1 pixel ใช้ Pen Tool วาดรูปเส้นโค้ง เพื่อเป็นรูปต้นไม้ โดยวาดจากลากขึ้นบน ในขณะที่เส้นกำลังถูกเลือก ให้คลิกแปรงสามเหลี่ยมที่เพิ่งสร้าง จะได้เส้นเป็นรูปต้นไ้ม้ ในหน้าต่างแปรง ให้คลิกปุ่ม Option บริเวณด้านล่าง กำหนดค่า คลิก Proportional เพื่อให้ได้สัดส่วน และ เลื่อนสเกล เพื่อให้ได้รูปต้นไม้ที่ต้องการ แล้วกดปุ่ม OK เมื่อต้องการวาดกิ่งใหม่ ให่้กดปุ่ม OK เพื่อเริ่มต้นใหม่  วาดจนได้

การแสดงข้อความบนแถบสถานะ (Statusbar) ของ Excel

รูปภาพ
การแสดงข้อความบนแถบสถานะ หรือ Statusbar ของ Excel มีขั้นตอน ดังนี้ กำหนดให้แสดงแถบสถานะ ด้วยคำสั่ง Application.DisplayStatusBar = True เพิ่มข้อความลงบนแถบสถานะ ด้วยคำสั่ง Application.StatusBar = "ข้อความที่ต้องการให้แสดง" เช่น           Application.StatusBar = "กำลังคำนวณค่าร้อยละ ..." เมื่อการคำนวณสิ้นสุดลง และต้องการให้ Statusbar แสดงค่าตามปกติ ให้คืนค่า ด้วยคำสัง     Application.StatusBar = False ถ้าไม่คืนค่า Statusbar จะแสดงข้อความ ตามที่สั่ง  ไม่ควรสั่งให้  Application.DisplayStatusBar = False เพราะจะทำให้ Excel ไม่แสดงข้อความ เมื่อมีการคำนวณใหม่อีกครั้ง เช่น ตัวอย่าง Code Application.DisplayStatusBar = True Application.StatusBar = "กำลังคำนวณค่าร้อยละ ..." findPercent Application.StatusBar = "กำลังคำนวณค่ามัฌิมเลขคณิต (Mean) ..."    meanCalculation Application.StatusBar = False ' Application.DisplayStatusBar = False

การตัดช่องว่าง ด้วยสูตร Excel

รูปภาพ
วันนี้เกิดอาการงงนิด ๆ ใช้สูตรรวมเซลล์ ใน Excel แล้วเกิดช่องว่าง ดังภาพ   จากภาพ จะเห็นว่า เซลล์ D2 มีการใช้สูตรรวมชื่อ โดยรวม คำนำหน้าชื่อ ชื่อ ช่องว่างและ นามสกุลเข้าด้วยกัน แต่ผลปรากฏว่า มีช่องว่างระหว่างคำนำหน้าชื่อ และชื่อ แต่บางเซลล์ ก็ไม่มีปัญหา เช่น เซลล์ D3 D6 และ D7 เป็นต้น สาเหตุ ในการพิมพ์ คำนำหน้าชื่อ เมื่อพิมพ์เสร็จ มีการเคาะ space bar ทำให้เกิดช่องว่างต่อท้ายคำนำหน้าชื่อ ถ้านำเคอร์ไปวางที่ข้างหลัง จะเห็นว่า เคอร์เซอร์ไม่ติดกับท้ายคำ แต่มีช่องว่าอยู่ การแก้ไข ใช้สูตร trim() ของ Excel ตัดช่องว่างออก และเพื่อให้แน่ใจว่า ไม่มีปัญหา ควรตัดช่องว่างออกให้หมด ทั้งคำนำหน้าชื่อ ชื่อ และนามสกุล ดังคือ  =trim(A2)&trim(B2)&"  "&trim(C2) เท่านี้ ปัญหาเรื่องช่องว่างก็จะหมดไป

การแปลง ตัวอักษร เป็นตัวเลข ใน Crosstab Query

รูปภาพ
ปัญหาอย่างหนึ่งในการการส่งออกข้อมูล จากฐานข้อมูลเป็น ไฟล์ XML ก็คือเรื่อง data type เพราะ XML ไฟล์ ส่งออกข้อมูลออกมาในลักษณะ Text เท่านั้น แม้ข้อมูลในฐานข้อมูลเดิมจะเป็นประเภท Integer หรือ ตัวเลขประเภท อื่น ๆ ก็ตาม  ปัญหาที่ตามมาก็คือ ถ้าจะมีการนำมาคำนวณ หรือจัดการด้านตัวเลข ค่าอาจจะผิดพลาดได้ เช่น การหาค่าสูงสุด หรือต่ำสุด เพราะการเรียนแบบ Text กับการเรียงแบบตัวเลข จะไม่เหมือนกัน ถ้าเรียงแบบ Text ตัวเลข 2 จะมากกว่า 100 ถ้าเรียงแบบ ตัวเลข ค่าตัวเลข 2 จะน้อยกว่า 100 ข้อมูลข้างล่างนี้ สมมุติว่าเอาเข้ามาจาก XML โดยมี Data Type เป็น Text การแก้ปัญหาง่าย ๆ คือ เปลี่ยน Data Type ของฟิลด์ จำนวนรวม ให้เป็น Number เสียก่อน แล้วจึงจัดการด้านการคำนวณต่อไป ถ้านำข้อมูลเดิม มาจัดทำ Crosstab Query เพื่อดูว่า ใคร ซื้อสินค้าอะไร ไปจำนวนสูงสุดเท่าไร จากข้อมูล จะเห็นว่า สมหมาย ซื้อปากกาจำนวนมากที่สุด คือ  จำนวน 100 แท่ง ประกอบ ซื้อดินสอมากที่สุด คือ 100 แท่ง ถ้าไม่มีการเปลี่ยน Data type ผลการวิเคราะห์ จาก Crosstab Query จะเป็นดังนี้ จากภาพ จะเห็นว่า เป็นข้อมูลที่ไม่ถูกต้อง เมื

การ Disable ปุ่มบน Custom Ribbon ของ MS Access

รูปภาพ
การสร้างปุ่มเพื่อใช้เอง ใน MS Access 2010 ต้องสร้างบนริบบิ้น โดยสร้าง XML ในตาราง USysRibbons รายละเอียด คลิกอ่านที่นี่  ในบางกรณี เราต้องการทำให้ปุ่มบางปุ่ม อยู่ในสภาวะไม่ทำงาน โดยทำให้เป็นสีจาง ๆ เราสามารถทำได้ โดยการแก้ไข โค้ด XML ในตาราง USysRibbons เมนูปกติ เมนูที่มีบางปุ่ม อยู่ในสภาวะ ไม่ทำงาน ในตัวอย่างข้างบน จะเห็นมีปุ่ม คะแนน ก่อน-หลังเรียน และ ปุ่ม ตรวจชิ้นงาน  อยู่ในสภาวะไม่ทำงาน วิธีการ ก่อนอื่นต้องเปิดเมนูของระบบ โดยคลิกขวาที่แถบ วัตถุ Access ทั้งหมด > ตัวเลือกการนำทาง จะเปิดหน้าต่าง ตัวเลือกการนำทาง ให้คลิก แสดงวัตถุของระบบ จะเห็นมีตาราง USysRibbons ให้เปิดตารางนี้ ไปดูที่ปุ่มที่ต้องการ และสั่ง ให้ enabled = "false" ปิด และเปิดไฟล์ Access เพื่อให้ โปรแกรมอ่านค่าในตาราง USysRibbons เพียงเท่านี้ ก็จะทำให้ปุ่มนี้ ไม่ทำงานเป็นสีเทา ๆ

ภาษาต่างดาว php UTF-8 TIS-620

รูปภาพ
สำหรับผู้ที่ทำเว็บ เคยหรือไม่ที่หน้าเว็บออกมาเป็นแบบข้างล่างนี้ ปัญหาก็คือ เรื่องของ Encoding หรือ charset นั่นเอง มีอยู่ 2 จุด คือ ในส่วนหัวของ HTML กำหนด charset ไม่ตรงกับเครื่องมือที่ใช้เขียน HTML เช่น ใน EditPlus ตรวจสอบ Encoding ได้ที่ Document > File Encoding > Change File Encoding จะมีตัวเลือกให้เปลี่ยน เป็น UTF-8 หรือ ถ้ากำหนด charset ในส่วนหัวของ HTML เป็น tis-620 ต้องกำหนดให้เป็น ANSI ถ้ากำหนดเป็น UTF-8 แต่ส่วนหัวของ HTML กำหนด charset เป็น tis-620 ก็จะเห็นเป็นตัว ภาษาต่างดาว เหมือนในตัวอย่างข้างบน ซึ่งกำหนด charset ในส่วนหัว HTML เป็น UTF-8  แต่ที่ EditPlus กำหนด Encoding เป็น ANSI เมื่อแก้ไขให้ตรงกัน โดยกำหนด Encoding เป็น tis-620 ปัญหาต่าง ๆ ก็จะหายไป เว็บก็จะอ่านได้ การค้นหาข้อมูลในฐานข้อมูลก็จะทำได้ตามปกติ ปัญหาไม่ได้อยู่แค่นั้น สมมติว่า เว็บอ่านออก แต่ถ้ามีการต้องไปค้นหาข้อมูลในฐานข้อมูล และถ้า Encoding ไม่ตรงกัน ระหว่างหน้าเว็บ HTML หรือ PHP กับ Encoding ของ ฐานข้อมูลบน Server เช่น MySQL การค้นหาก็จะล้มเหลว หาไม่พบ การแก้ไขง่าย ๆ ก็คือ แป

การคัดลอกข้อมูลตาราง จาก PDF มายัง Excel 2010

รูปภาพ
บางครั้งเราต้องการคัดลอกข้อมูลตาราง จากไฟล์ PDF มายัง Excel เพื่อมาจัดการ คำนวณ หรือทำอะไรสักอย่าง ถ้าจะพิมพ์เข้ามาโอกาสผิดพลาดมีมากเหมือนกัน โดยเฉพาะยิ่งมีข้อมูลเยอะ ๆ โอกาสผิดพลาดมีได้ง่าย ข้อจำกัด ไฟล์ PDF สามารถกำหนดเงื่อนไขให้ผู้ใช้คัดลอก หรือจะห้ามก็ได้ ถ้าผู้สร้างไม่อนุญาตให้คัดลอก ก็จะไม่สามารถทำได้ ในกรณีที่เจ้าของไฟล์ PDF อนุญาตให้คัดลอกได้ จึงจะสามารถคัดลอกมายัง Excel ได้ หลักการ คัดลอกข้อมูลตารางจากไฟล์ PDF แล้วมาวางใน Excel โดยใช้ ตัวช่วยสร้างการนำเข้าข้อความ หรือ Text Import Wizard มิฉะนั้นข้อมูลจะไปรวมกันใน Cell เดียวกัน วิธีการ เลือกข้อมูลที่ต้องการคัดลอกจาก PDF คลิกขวา แล้วเลือก Copy เพื่อคัดลอกสิ่งที่เลือก ไปที่โปรแกรม Excel คลิกเซลล์แรกที่ต้องการวางข้อมูล ไปที่ลูกศรสามเหลี่ยมใต้ข้อความ วาง จะเปิดเมนูตัวเลือกเพิ่มเติม ให้คลิกที่ ใช้ตัวช่วยสร้างการนำเข้าข้อความ จะเปิดหน้าจอตัวช่วย เนื่องจาก ข้อมูลจาก PDF จะคั่นด้วยช่องว่าง จึงไม่ต้องปรับอะไร คลิกปุ่ม เสร็จสิ้นได้ทันที ถ้าโปรแกรมจะถามว่าจะแทนที่ข้อมูลเดิมหรือไม่ น่าจะตอบว่าให้แทนนะครับ ถ้าไม่แ