Category dotnet

[C#] คำแนะนำสำหรับการพัฒนา App แบบ Console เพื่อทำงานเป็น Batch ผ่าน Schedule Task

วันนี้มาเขียน Blog ดึกไปหน่อย ถือว่าฉลองเดือนธันวาคมที่แสนอบอุ่นและกัน 555 มาเข้าเรื่องกัน โดยหลายๆครั้งที่เราต้องพัฒนา Console App เพื่อทำงานในลักษณะที่เป็น Background Process ถ้าเป็นการเรียกใช้งานผ่านตัว User หรือ Application อื่นๆ อย่าง Winform โดยตรงมันก็ไม่มีปัญหาอะไรนัก แต่ถ้าเป็นการเรียกใช้ผ่าน Task Schedule หละ ? ปัญหาของผม คือ ว่า เราจะทำให้ตัว Task Schedule(หรืออาจจะเป็น App อื่นที่เรียกใช้ใน Batch) รู้ได้อย่างไรว่า Exe ที่เรียกใข้งาน มันทำงานเสร็จแล้ว ? ในตอนแรก…

[C#] สรุปข้อดี-ข้อเสียในการอ่านกับเขียน Excel จากวิธีต่างๆ

พอดีช่วงนี้มีงานที่ให้ดึงไฟล์จากเว็บมา และเรามาจัดแต่งรูปแบบไฟล์ Excel นั้น เพื่อ Import เข้าระบบครับ โดยผมได้ทดลองศึกษามา และขอเปรียบเทียบข้อดีข้อเสียไว้ เผื่อมีคนอื่นมาใช้งานครับ แนวทางที่ 1: การใช้ OLEDB จุดเด่น ทำงานได้รวดเร็ว ไม่จำเป็นต้องติดตั้ง Microsoft Office ลงที่เครื่อง Data Type ของแต่ละ Column ระบบจะมองเป็นจากแนวแรกที่อ่าน (อารมณ์เดียวกับการใช้ตารางครับ) จุดด้อย การอ่านข้อมูลเฉพาะตามเงื่อนไข หรือ Pattern ที่กำหนดนั้นทำได้ยาก การแก้ไขไฟล์ Excel นั้นทำได้ยาก แนวทางที่ 2: การใช้ Excel Interop Object…

[PowerShell] Convert Unicode Text or SQL File To ASCII

powershell

สำหรับที่มาของ Script ชุดนี้นี่ทำ Team วุ่นวายเลย เรื่องก็มีอยู่ว่าเวลาพัฒนาระบบต่างๆมันมีในส่วนของ Source Code และ SQL Script ซึ่งต้องนำไป Run ใน Enviromemt ของ Test, Dev หรือ Production ก็ตาม แต่เพราะความสะเพร่าของผมเองที่ Save File Script เป็นแบบ Unicode เกิดปัญหาขึ้นเมื่อนำไป Run บน Database Server DB2 บนเครือง AIX จะเกิด Error Message ดังนี้ Error…

[PowerShell] Integrated PowerShell with C# Application

powershell

มาต่อบทความการใช้ C# กับ PowerShell สักที หลังจากไปลองสร้าง Winform Application จาก PowerShell เพียวๆกันแล้ว โดยคราวนี้ เราใช้โจทย์ของคราวที่แล้วแหละ โดยมีการออกแบบหน้าจอ ดังรูป จัดการ Add Code Event ต่างๆให้เรียบร้อย (อันนี้ผมใช้ Pattern MVP นะครับ เผื่อคนโหลดไปแกะ Code)จากนั้น เราต้องทำให้ C# รู้จักกับ PowerShell กันก่อน โดยการ Add Reference DLL เข้ามาใน Project ครับ โดยเราจะ Add DLL…

[PowerShell] Create Winform by PowerShell

หลังจากที่ได้ลองเล่น Powershell มาสักพักแล้ว ผมมี idea ขึ้นมา เนื่องจาก Workshop ที่แล้ว ผมได้ทำบน Console ซึ่งอาจจะไม่สะดวกมากนั้น คราวนี้ผมลองสร้างเป็น Winform เล็กๆขึ้นมาแทนครับ(จริงๆ กะลองกับ C# ก่อน แต่มาเจอการใช้ประยุกต์ใช้งานแบบนี้ เลยลองมาเล่นก่อน 555) มาถึงตรงนี้หลายๆคนอาจะมีคำถาม ผมเลยทำ Q/A สรุปได้เลยครับ Q: Power Shell มีความสามารถในการสร้าง Winform ด้วยเหรอ ?A: มีครับ เนื่องจากตัว PowerShell เองมีพื้นฐานมาจาก .Net Framework ทำให้สามารถเรียกใช้ library…

[PowerShell] Getting File by File Version

powershell

จากบทความที่แล้ว ที่ได้เกริ่นสาเหตุของปัญหาไปแล้ว ว่ามี Program หลากหลายเวอร์ชั่นมากในการทดสอบ วันนี้ผมเลยได้ลองเขียน Code ในการหาไฟล์ .exe, ocx, dll ในโพลเดอร์ที่เก็บ Program ทั้งหมด ตาม Version ของลูกค้า และ ชื่อไฟล์ที่ต้องการทดสอบครับ โดย Code คร่าวออกมาเป็นประมาณนี้ครับ ผลลัพธ์ที่ได้ (ขอปิดชื่อไฟล์นิดนึง งานบริษัทและ)และสุดท้าย คือ แก้พวกค่า Path หรือเงื่อนไขต่างๆ ให้รับข้อมูลจากผู้ใช้เองเลย จะได้ไม่ต้องมาแก้ Code บ่อยๆครับ ดังนี้ ต่อไปจะเป็นการลองใช้ Code ชุดนี้ ไปประยุกต์กับ C# ทำ…

[PowerShell] เริ่มต้นจัดการปัญหาด้วย PowerShell

powershell

ไม่ได้เขียน Blog ซะนานเลย ช่วงนี้งานที่ทำงานเยอะขึ้น และขึ้นโปรเจคใหม่ด้วย ตอนนี้เข้าเรื่องดีกว่า เมื่อมี Program ก็ต้องมี Bug หรือ Defect เป็นของคู่กัน การตรวจสอบเคสที่มาจากลูกค้า เพื่อหา Bug หรือ Defect  และปัญหาที่พบว่า Program มี Version ที่หลากหลายมาก ทำให้การหาไฟล์ Program นั้นลำบากมาก แต่เมื่อมีปัญหา ย่อมมีโอกาสตามมา โดยผมลองใช้ Power Shell ในการแก้ปัญหาคร่าวๆ ลองที่ละ Step และท้ายที่สุด คือ การนำไปใช้ร่วมกับ C# เพือให้ง่ายกับการใช้งานครับ มาถึงตอนนี้หลายคนอาจจะสงสัยว่าทำไมต้อง…

[C#] Struct VS Class

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- ไม่รู้…