[C#] กำหนดให้โปรแกรมของเรา Run As Administrator

C# Logo

ในบางครั้งเราต้องเขียนโปรแกรมเพื่อจัดการข้อมูลที่สำคัญ และต้องมีสิทธิในการแก้ไข เช่น Registry หรือ ไฟล์ของระบบของ Windows เป็นต้น ซึ่งสิทธิที่ใช้ในการจัดการนี้ คือ Administrator นั้นเอง ปกติแล้วเราจะคลิกขวาแล้วให้โปรแกรม Run As Administrator คราวๆนี้ ถ้าเราพัฒนาโปรแกรมขึ้นมา แล้วให้รันเป็น Administrator โดยมีวิธีการ ดังนี้

[MSSQL] SQL กับการบวก/ลบวันที่

Microsoft SQL Server

วันนี้ผมได้งานจากที่่ทำงานมาให้เขียน Query เพื่อแจ้งเตือนสินค้าที่หมดอายุล่วงหน้าตามวันที่กำหนดไว้ ระหว่างวันที่กำหนดจนถึงจำนวนวันที่แจ้งเตือนล่วงหน้า โดยเอาผลัลพธ์ที่ได้มาจัดโปรโมชั่นลดแลกแจกแถมกัน (สมมติว่าเป็น 7 วัน) โดยผมค่อยๆแนะนำไปทีละขั้นตอน ดังนี้ เตรียมข้อมูล

[SQL Server] SELECT เมื่อพบข้อมูลวันที่เป็น 1990-01-01 ให้แสดงเป็น String ว่าง

ปัญหาที่ได้เจอวันนี้ คือ SELECT ข้อมูลวันที่ ที่บาง Record เก็บข้อมูลไม่ได้มีการเก็บข้อมูลวันที่ แต่ผลลัพธ์ที่ได้กลับเป็น 01-Jan-1990 (SQL Server ใจดีใส่ให้) ถ้าหาก User มาเห็นคงตกใจ คิดว่าระบบงานของเราเกิด Defect ชิ้นใหญ่แน่นอน เตรียมข้อมูล กำหนดโครงสร้างตาราง ดังรูป ใส่ข้อมูลคร่าวๆลงไป ดังรูป ความต้องการ แสดงข้อมูลยอด BUY/SELL โดยต้องแสดง TX_ID, PRODUCT_NAME, TX_UNIT, TX_TYPE, TX_TradeDate และ TX_IsConfirm ต้องการให้แถวที่มีข้อมูล Date ข้อมูลวันที่เป็น 1990-01-01 ระบบต้องไม่แสดงผลเป็น 1990-01-01 แต่แสดงผลเป็น String ว่างแทน ภาพด้านล่างแสดงตัวอย่างปัญหาที่ SELECT ข้อมูลมาแล้ว เกิดมา 1990-01-01 ติดมา

[BookFair56] เดินงาน ลุยผู้คน

งานสัปดาห์หนังสือปึ สอง ห้า ห้า หก รถแข่งเลโก้ อยากได้มาก ฮ่าๆ ลองถ่ายสวยงาม หนังสือมิติชน หนุ่มเมืองจันทร์ น้องหมาตรวจตราแข็งขัน ท้องฟ้าวันนั้นสวยงามมาก อีกมุมหนึ่งของงานหนังสือ หนังสือที่ได้คิดว่าราคา 2,700 – 2,800 บาท หรือป่าว ผิดแล้ว ทั้งหมดนี้ซื้อมาด้วยราคา 1,226.50 บาท ^__^

[C#] Windows OEM Information Editor (WorkShop)

C# Logo

จากบทความทั้งสามบทความ หลายคนคงงง และไม่รู้จะเริ่มต้นอย่างไร วันนี้ผมมีตัวอย่างโปรแกรมมาทำเป็น Workshop กันครับ เป็นโปรแกรมที่ใช้เพิ่ม หรือแก้ไขข้อมูล OEM ของ Windows นะครับ OEM คือ อะไร Windows OEM คือ อะไร ปกติแล้วข้อมูล OEM เก็บอยู่ที่ไหน HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\OEMInformation ข้อมูล OEMInformation Registry Value คำอธิบาย Manufacturer ชื่อผู้ผลิต Model รุ่น SupportPhone เบอร์โทรศัพท์ Support SupportURL URL ของบริษัท SupportHours เวลา Support Logo รูปไฟล์ .bmp ขนาดไม่เกิน 120 pixel x 120 pixel

[C#] อ่าน/เขียน Registry ตอนที่ 3 (จัดการ Registry Value)

C# Logo

จากบทความที่สอง เราได้เห็นตัวอย่างการจัดการ Keys และ Subkeys กันแล้ว ต่อไปบทความนี้สอนการใช้งานจริง โดยผมได้เพิ่มคำสั่งที่จำเป็นเพิ่มเติม เพื่อการทำงานที่มีประสิทธิภาพมากยิ่งขึ้น โดยผมได้แยกกรณีที่จำเป็นต้องใช้ ดังนี้ กรณีที่ 1 : อ่าน Value จาก Registry โดยมีขั้นตอนการทำงาน กรณีที่ 2 : เขียน Value และสร้าง Value โดยมีขั้นตอนการทำงาน กรณีที่ 3 : ลบ Value โดยมีขั้นตอนการทำงาน

[C#] อ่าน/เขียน Registry ตอนที่ 2 (จัดการ Keys และ SubKeys)

C# Logo

จากบทความแรก ผมได้พาผู้อ่านได้รู้จักกับ Registry และคำสั่งพื้นฐานกันมาบ้างแล้ว คราวนี้ผมสอนทำตัวอย่างที่ใช้จัดการ Keys และ Subkeys กันนะครับ(ใช้คำสั่งชุดเดียวกัน) โดยแยกเป็นกรณีต่างๆ ดังนี้ กรณีที่ 1: สร้าง SubKeys หรือ Keys กรณีที่ 2: เปิดและเชื่อมต่อ SubKeys หรือ Keys  กรณีที่ 3: ลบ SubKeys หรือ Keys

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

C# Logo

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

[Java] NaN คือ อะไร

บ่อยครั้งที่เราเขียนโปรแกรมที่เกี่ยวกับการคำนวณตัวเลขต่างๆ ไปๆมาๆ เกิด Exception ตัวอย่าง เช่น สาเหตุของปัญหานี้ คือ การคำนวณแล้วเกิด NaN ซึ่งเป็น NumberFormatException อยากรู้ว่าน้อง NaN คือ อะไร สามารถอ่านต่อได้เลยครับ

[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);…