[C#] Code Snipplet สำหรับการอ่าน CSV และยัดลง DataTable โดยใช้ CSVHelper

พอดีช่วงนี้มีงานที่ให้ดึงไฟล์จากเว็บมา และเรามาจัดแต่งรูปแบบไฟล์ Excel นั้น เพื่อ Import เข้าระบบครับ โดยผมได้ทดลองศึกษามา และขอเปรียบเทียบข้อดีข้อเสียไว้ เผื่อมีคนอื่นมาใช้งานครับ แนวทางที่ 1: การใช้ OLEDB จุดเด่น ทำงานได้รวดเร็ว ไม่จำเป็นต้องติดตั้ง Microsoft Office ลงที่เครื่อง Data Type ของแต่ละ Column ระบบจะมองเป็นจากแนวแรกที่อ่าน (อารมณ์เดียวกับการใช้ตารางครับ) จุดด้อย การอ่านข้อมูลเฉพาะตามเงื่อนไข หรือ Pattern ที่กำหนดนั้นทำได้ยาก การแก้ไขไฟล์ Excel นั้นทำได้ยาก แนวทางที่ 2: การใช้ Excel Interop Object…
มาต่อบทความการใช้ C# กับ PowerShell สักที หลังจากไปลองสร้าง Winform Application จาก PowerShell เพียวๆกันแล้ว โดยคราวนี้ เราใช้โจทย์ของคราวที่แล้วแหละ โดยมีการออกแบบหน้าจอ ดังรูป จัดการ Add Code Event ต่างๆให้เรียบร้อย (อันนี้ผมใช้ Pattern MVP นะครับ เผื่อคนโหลดไปแกะ Code)จากนั้น เราต้องทำให้ C# รู้จักกับ PowerShell กันก่อน โดยการ Add Reference DLL เข้ามาใน Project ครับ โดยเราจะ Add DLL…
struct- object อยู่บน stack – มี default constructor เสมอ ไม่ว่าจะมี custom constructor หรือไม่สร้างก็ตาม- value type- รู้ life time ของ object (out of scope) -มี Method (ในภาษา C จะไม่มีนะ)class- object อยู่บน manage heap- ถ้ามี custom constructor จะไม่มี default constructor- reference type- ไม่รู้…
C# Code that convert RijndaelCrypto from VB6 Version by Phil Fresle Reference
บางครั้งเวลาเราพัฒนา Application ขึ้นมา เราอยากเก็บค่า Config บางอย่าง เช่น username ครั้งสุดท้ายที่ใช้ Log , ชื่อ Database ที่ใช้งานประจำ หรือเป็นขนาดความกว้าง ยาวของหน้าจอครั้งล่าสุด โดยอาจเราจะเก็บไว้ Text File, Registry หรือเก็บใน Project Setting ที่ทาง .Net Framework ได้เตรียมไว้ให้ โดยวันนี้ผมขอแนะนำการเก็บค่า Config ต่างๆลงใน Project Setting กันครับ คลิกขวาที่ Project File เลือก properties >> เลือกที่ส่วน Setting…
เวันนี้เขียนโปรแกรม C# กับ SQLite อยู่ดีๆ Bulid ผ่านะ แต่ Runtime Error โดยมี Message แจ้ง ดังนี้ [A]System.Data.SQLite.SQLiteConnection cannot be cast to [B]System.Data.SQLite.SQLiteConnection. Type A originates from ‘System.Data.SQLite, Version=1.0.92.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139’ in the context ‘Default’ at location ‘C:\Users\Chatr_000\Desktop\InvConfig(AutoRegisDLL)\InvConfig\bin\Release\System.Data.SQLite.dll’. Type B originates from ‘System.Data.SQLite,…
เมื่อเราพัฒนาระบบขึ้นมา ระบบต้องมีการโต้ตอบ หรือให้ข้อมูลต่างๆแก่ user ซึ่งถ้าเราแสดงตัวอักษรอย่างเดียวไป มันอาจจะทำให้อ่านยาก และไม่สวยงามด้วย วันนี้ผมมานำเสนอการพิมพ์ Bullet หรือจุดลิสต์รายการ เพื่อให้ข้อมูลแสดงออกมาให้ดูง่าย ดังนี้ ก่อนอีกเลย เราต้องรู้ว่าอักษร Bullet หรือ จุดนี่ มันมีค่า Unicode ค่าอะไร เมื่อประกาศค่าคงที่เรียบร้อยแล้ว เราสามารถนำใส่ต่อกับ String ที่ต้องการได้เลยครับ อันนี้ผมนำไปใช้เพื่อแสดงรายละเอียดการแก้ไขโปรแกรม หรือ change log ให้ดูได้ง่ายขึ้นนะครับ ตัวอย่างเมื่อ Run Program ครับ
ในบางครั้งเราต้องเขียนโปรแกรมเพื่อจัดการข้อมูลที่สำคัญ และต้องมีสิทธิในการแก้ไข เช่น Registry หรือ ไฟล์ของระบบของ Windows เป็นต้น ซึ่งสิทธิที่ใช้ในการจัดการนี้ คือ Administrator นั้นเอง ปกติแล้วเราจะคลิกขวาแล้วให้โปรแกรม Run As Administrator คราวๆนี้ ถ้าเราพัฒนาโปรแกรมขึ้นมา แล้วให้รันเป็น Administrator โดยมีวิธีการ ดังนี้
จากบทความทั้งสามบทความ หลายคนคงงง และไม่รู้จะเริ่มต้นอย่างไร วันนี้ผมมีตัวอย่างโปรแกรมมาทำเป็น 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…