[C#] อ่าน/เขียน Registry ตอนที่ 1 (แนะนำ+คำสั่งพื้นฐาน)

C# Logo

หลายครั้งที่โปรแกรมของเราต้องการเขียนข้อมูลลงในส่วนที่ลับที่สุด อาทิ เช่น เก็บข้อมูลการลงโปรแกรมครั้งแรก เพื่อข้อมูลวันที่ผู้ใช้ลงงานลงโปรแกรมครั้งแรก และเอามาจับเวลา กรณีที่เป็น shareware วันนี้ผมได้เขียนบทความอ่าน / เขียน Registry คร่าวๆ คำเตือน Registry คือ อะไร

[Java] NaN คือ อะไร

บ่อยครั้งที่เราเขียนโปรแกรมที่เกี่ยวกับการคำนวณตัวเลขต่างๆ ไปๆมาๆ เกิด Exception ตัวอย่าง เช่น

[Java] การรับค่าผ่าน command line โดยใช้ Eclipse

Q: เคยสงสัยหรือไม่ ว่า public static void main(String[] args) ตรงที่ตัวแดงไว้ มีไว้ทำอะไร A: มีไว้ เพื่อทำการรับค่าจากส่วนของ command line(หน้าจอดำๆ ของMS Dos) เพราะ java ในยุคแรกๆต้องรันผ่านหน้าจอ Dos  โดยตัว String[] args นั้นไม่จำเป็นต้องเขียนก็ได้ แต่ถ้าไม่ระบุ (String[] args) method main มันจะกลายเป็นแค่ method ทั่วๆไป เพราะ jvm specification ระบุ signature ไว้ว่ามันจะวิ่งไปทำงานที่ main ที่รับ parameter เป็น String[] เท่านั้น Q: แล้วถ้าต้องรับค่าจาก command line แต่ใช้ Eclipse หละ A: ทดสอบทำตามขั้นตอนนี้เลย สร้าง project และ class ขึ้นมาตามปกติ จากนั้นcopy code ด้านล่างนี้ไปแปะ แล้วจัดการimport package และ ประกาศตัวแปรให้ถูกต้อง public class ExceptionDemo { public static void main(String[] args) { double a, b, c; a = Double.parseDouble(args[0]); //ทำการแปลงค่าจาก arg[0] ให้เป็น double b = Double.parseDouble(args[1]); //ทำการแปลงค่าจาก arg[1] ให้เป็น double c = Double.parseDouble(args[2]); //ทำการแปลงค่าจาก arg[2] ให้เป็น double JOptionPane.showMessageDialog(null, a+”\n”+b+”\n”+c);…

[Data Structure] Net. Data Structure (ตัวอย่าง)

โจทย์ จงจัดเก็บข้อมูลนิสิตได้แก่ รหัสนิสิต, ชื่อนิสิต, คะแนนสอบกลางภาค, คะแนนสอบปลายภาค, คะแนนควิช, คะแนน Project และ คะแนนเข้าห้องเรียง โดยใช้ ArrayIndexList จาก Library ของ Net. Data Structure การออกแบบ และสิ่งที่ต้องรู้

[Java] อยากรู้ Directory ของโปรแกรมที่เราทำงานอยู่

เมื่อทำงานที่เกี่ยวกับไฟล์ ไม่ว่าจะเป็นไฟล์รูป เท็กซ์ไฟล์ หรือไฟล์แบบอื่นๆ สิ่งที่สำคัญที่จะขาดไม่ได้เลยนั้น คือ Path ที่อยู่ของไฟล์ สำหรับนักพัฒนาโปรแกรมมือใหม่อาจจะยังไม่ใส่ใจเรื่องนี้ หรือคิดเพียงว่าเครื่องเราแสดงผล OK เป็นใช้ได้ แต่ปัญหาจะมาเกิดตอนไปรันที่เครื่องอื่นๆ เช่น กรณีตัวอย่าง โปรแกรมตัวอย่างนี้เป็นเกม Hang man ที่พัฒนาด้วยภาษา Java ซึ่งมีการกำหนด Path ของภาษา Background ตาม Code ต่อไปนี้ เมื่อนำรันที่เครื่องของน้อง กุ๊ก ปรากฏว่าสามารถแสดงผลได้สวยงาม ดังรูป น้อง กุ๊ก ส่งให้นายแว่นตรวจสอบปรากฏว่าภาษาพื้นหลังไม่ขึ้น ซวยและทีนี้ (นายแว่นวางไฟล์ไว้ในไดร์ฟ D) ปัญหา  เพราะโปรแกรมมีการกำหนดแบบ absolute path (กำหนดที่อยู่ไฟล์แบบละเอียด บอกว่าอยู่ไดร์ฟไหน อะไรอย่างไร) แนวทางแก้ไข เราปรับเปลี่ยน path ของรูปภาพ จากเดิมที่เป็น absolute path มาเป็นแบบ relative path (กำหนดทีอยู่ไฟล์แบบคร่าว คือ ส่วนแรกให้คอมมันหาให้ + ส่วนที่สอง คือ แสดง Path ไปหาไฟล์) absolute path “” relative path dirPath+”” ซึ่งเราจะต้องมาหาว่า dirPath ต้องเอาอะไรมาใส่ดี มารู้จักกับ System.getProperty(“user.dir”); คือ อะไร getProperty(): เป็นคำสั่งที่ช่วยค่า property ต่างๆของระบบปฏิบัติการออกมา “user.dir”: เป็น Parameterที่ช่วยบอกให้โปรแกรมมันไปดึง Path ที่อยู่ของโปรแกรม หรือไฟล์ Java ที่รันอยู่ ว่าอยู่ในโฟลเดอร์ไหน ไดร์ฟอะไร ทดสอบแก้ไขโดยการใช้ System.getProperty(“user.dir”); เพื่อเอาข้อมูล path ทีหายไปมาใส่ใน dirPath ตาม code ต่อไปนี้ ผลการทดสอบ โปรแกรมนี้สามารถแสดงผลได้อย่างสวยงาม และสามารถรันได้ทุกเครื่องแม้วามีสภาพแวดล้อมที่ต่างกัน สรุป จากตัวอย่างนี้จะแสดงการใช้คำสั่ง System.getProperty(“user.dir”); เพื่อมาหา Path…

[WF] Windows Workflow Foundation คือ อะไร

Windows Workflow Foundation เป็นหนึ่งในเทคโนโลยีที่มาคู่กับ Microsoft .Net Framework 3.0 เป็นต้นไป โดยมีจุดประสงค์ เพื่อตอบการทำงานขององค์กรที่มีการไหลเวียนของข้อมูลในรูปแบบต่างๆ อาทิ เช่น แบบ Sequential: มีการไหลของข้อมูล โดยมีลำดับขั้นตอนแน่นอนจากต้นไปจนจบ ยกตัวอย่าง เช่น ลำดับการขออนุมัติสินเชื่อในธนาคารที่ต้องมีการทำงานของ แต่ละแผนก ซึ่งมีลำดับการทำงาน การตรวจสอบที่แน่นอน แบบ State: ไม่มีลำดับขั้นตอนที่แน่นอน แต่จะเปลี่ยนการกระทำต่อเมื่อมีสิ่งเร้ามากระตุ้น ยกตัวอย่าง เช่น การตรวจสอบ Limit ของ Transaction ที่รายการซื้อใน แต่ละวันมีปริมาณไม่เท่ากัน และอาจะเกิดเหตุการณ์ต่างๆที่แตกต่างกัน ได้แก่ การแจ้งเตือน หยุดการซื้อ/ขาย หรือ แนะนำให้ผู้ใช้รอก่อน เป็นต้น Windows Workflow Foundation มักถูกนำมาประยุกต์ใช้กับงานด้าน Business ทีมีการเปลี่ยนแปลงของ Process อยู่ตลอดเวลา ซึ่งต้องมี input ที่แน่นอน แต่ output ที่ได้มีลักษณะเป็น Dynamic แตกออกมาได้หลากหลายรูปแบบ

[WordPress] share บทความเพียงแค่คลิกด้วย Simple Share Button

สมัยนี้อะไรๆ ก็ Like & Share กันหมด ถ้าบทความของเราผู้อ่านต้อง copy link ไปแปะลง Social Network เพื่อแชร์ให้ผู้อื่นเพื่อนของเขาได้ชมบทความของเราคงไม่ดีแน่ เราต้องช่วย User (ตั้งสมมติฐานว่า User ขี้เกียจ) โดยวันนี้ผมมี Plugin มาแนะนำครับ Simple Share Buttons Adder ให้ทุกเรื่องแชร์ง่ายเพียงคลิกครับ ข้อมูล Plugin Simple Share Buttons Adder ทำไมถึงแนะนำ Plugin ตัวนี้ ปรับแต่งการตั้งค่าได้เยอะ สามารถแสดง Social Network ที่ให้แชร์ได้หลายหลาย และลำดับการแสดงผลได้เอง สามารถแสดงจำนวนคนแชร์ได้ด้วย

[WordPress] ทำ Image Viewer สวยๆด้วย Responsive LightBox

หลายครั้งเวลาเราเขียนบทความลงใน Blog บางบทความมีรูปภาพประกอบด้วย ซึ่งบางภาพเล็กไป ต้องให้ผู้ใช้กดดูรูป พอกดดูเท่านั้นแหละ มันดันเปิด Tab ใหม่ขึ้นมา หรือ เปลี่ยนหน้าไปเลย วันนี้ผมมี Plug in มาแนะนำครั้ง Responsive LightBox (พระเอกของเราเลย) ช่วยให้การแสดงผลภาพในบล๊อกดูดีมีระดับมีชาติตระกูล ข้อมูล Plugin Responsive LightBox ทำไมถึงแนะนำ Plugin ตัวนี้ สวยงาม เป็นresponsive (การปรับแสดงผลบนเว็บให้เหมาะสำหรับหน้าจอหลายๆแบบทั้ง SmartPhone, Tablet และคอมพิวเตอร์ที่มีจอขนาดต่างๆ) ฟรี