• Create Excel 2007 file using Interop services.


    Microsoft Office Interop (Excel Automation)คือ ตัวเลือกอีกทางหนึ่งที่ใช้สำหรับ สร้าง อ่าน เอกสาร Excel (XLS, XLSX, CSV) จากการพัฒนาโดยใช้   C# หรือ VB.NET แต่บทความนี้จะขอยกตัวอย่างการพัฒนาเพื่อสร้างเอกสารโดยใช้ C# ค่ะ Step 1  เปิด Visual Studio File>New>Project เลือก Visual C#> Windows > Select Console Application Step 2  เลือก >> Project Menu >> เลือก Add References >> เลือกที่ Tab COM >> กด “Microsoft Excel 12.0 Object Library” …

    >> Read More <<

  • TFS : (ตอน) การติดตามการดำเนินโครงการ


    จากบทความ การบริหารโครงการโดยใช้เครื่องมือ Team Foundation Server (Phase 4 : การวางแผนงาน)และการบริหารโครงการโดยใช้เครื่องมือ Team Foundation Server (Phase 5 : การตรวจสอบงานที่ได้รับมอบหมาย และการบันทึกผลการทำงาน)ได้กล่าวถึง ขั้นตอนการใช้ TFS ในการวางแผน การเข้าไปดูงานที่ได้รับมอบหมาย และการบันทึกผลการปฏิบัติงาน บทความต่อไปนี้ จะเป็นเนื้อหาต่อเนื่องจาก 2 บทความข้างต้น นั่นคือ เราจะสามารถใช้ TFS ในการติดตามผลการดำเนินงานได้อย่างไรบ้าง ในกระบวนการบริหารจัดการโครงการ “ขั้นตอนการติดตามงาน” ถือเป็นขั้นตอนที่สำคัญอย่างมาก และเป็นขั้นตอนที่ผู้จัดการโครงการต้องปฏิบัติ และปฏิบัติอย่างต่อเนื่อง สม่ำเสมอ เพื่อให้สามารถตรวจสอบความล่าช้าของโครงการ และค้นหาปัญหาที่ทำให้ล่าช้า เพื่อนำไปสู่แนวทางแก้ไขที่ทันเวลานั่นเอง TFS สามารถตรวจสอบ หรือติดตามงานได้หลายวิธี ในบทความนี้ ได้หยิบยกมาให้เห็นด้วยกัน 3 วิธี อย่าให้เสียเวลา เรามาทำความรู้จัก ในแต่ละวิธีกันเลยค่ะ…. วิธีที่ 1 ตรวจสอบจาก Stage โดย StageTO…

    >> Read More <<

  • บริหารจัดการ App Passwords บน Office 365


    App passwords คือ password ที่จำเป็นต้องใช้บนแอพพลิเคชั่นใดๆ ก็ตามที่ไม่สามารถผ่าน Multi-factor authentication ได้ เช่น Outlook, Lync เป็นต้น เริ่ม…ได้ เข้าระบบที่ http://email.psu.ac.th หรือ https://outlook.com/email.psu.ac.th คลิกที่รูปโปรไฟล์ที่มุมบนขวา (หรือชื่อย่อ หลังปุ่มกระดิ่ง) เลือก My account จะได้ดังรูป คลิก Security & privacy คลิก Additional security verification คลิก Create and manage app passwords จะเปิดหน้าต่างใหม่ ซึ่งสามารถจำหน้านี้ไว้ใน Bookmark ได้เลย https://account.activedirectory.windowsazure.com/AppPasswords.aspx คลิก create ตั้งชื่อที่เราเข้าใจว่าคือ app ไหน คลิก Next จะได้ password สำหรับใช้งานได้ทันที ก็เอาไปใช้ได้เลยแล้วคลิก…

    >> Read More <<

  • Download and install Office365


    ปัจจุบันนักศึกษาและบุคลากรของมหาวิทยาลัยสงขลานครินทร์ สามารถใช้งาน Office365 ได้แล้ว โดยมีเงื่อนไขดังนี้ PC (Windows) หรือ Macs สามารถติดตั้งรวมกันได้ 5 เครื่อง Tablets ติดตั้งได้ 5 เครื่อง (Android, iPadOS) โทรศัพท์ ติดตั้งได้ 5 เครื่อง (Android, iOS) email account ภายใต้โดเมน @email.psu.ac.th ขนาด 50GB พื้นที่จัดเก็บข้อมูล One drive ขนาด 5TB สำหรับนักศึกษา สามารถเข้าระบบได้ที่ http://email.psu.ac.th หรือ https://outlook.com/email.psu.ac.th โดย username จะเป็น [รหัสนักศึกษา]@email.psu.ac.th ยกตัวอย่าง เช่น 62111111111@email.psu.ac.th รหัสผ่านคือรหัสเดียวกับ PSU Passport สำหรับบุคลากร ต้องขอเปิดใช้บริการก่อนที่ https://passport.psu.ac.th หลังจากขอเปิดใช้บริการ ต้องรอ…

    >> Read More <<

  • WPF Layout (Part III)


    The WPF Viewbox WPF viewbox จะสามารถปรับขนาด/ปรับมิติของ control ของ Windows Presentation Foundation ได้โดยอัตโนมัติ  viewbox และสามารถปรับขนาดของ control เพื่อเติมเต็มพื้นที่ที่มีอยู่ คือจะมีการปรับขนาดของ child ซึ่งเป็น control ที่บรรจุอยู่ใน ViewBox ให้อัตโนมัติ ซึ่งจะมีการปรับพิกัดโดยอัตโนมัติเมื่อมีการปรับเปลี่ยนขนาดเพื่อให้ชุดของพิกัดที่กำหนดเป็นพิกเซลในขนาดดั้งเดิม อะไรคือจุดประสงค์ของ WPF Viewbox? เมื่อไหร่ที่คุณจะใช้มัน? เมื่อคุณพัฒนาโปรแกรม โดยทั่วไปแล้วคุณจะไม่สามารถรู้ถึงความแน่นอนของ hardware ของระบบที่จะเป็นไป โดยเฉพาะอย่างยิ่งหากแอปพลิเคชันมีไว้เพื่อการใช้งานในระยะยาว คุณไม่สามารถมั่นใจได้เลย   ไม่ว่าจะเป็นขนาดหรือความละเอียดของจอภาพที่แสดงผลการใช้งานของระบบต่างๆ เพราะปีที่แล้วหน้าจออาจจะเป็น ultra-high-resolution ปีต่อมาอาจจะเป็น  low-resolution  monitor  และถ้าคุณได้พัฒนาโปรแกรมโดยคำนึงถึงความละเอียดของหน้าจอของปีที่แล้วไว้ เมื่อมาดูในปีถัดมาในส่วนของหน้าต่างโปรแกรม ปุ่ม และ elements อื่นๆของ GUI ที่ได้พัฒนาไว้ อาจจะมีขนาดที่เล็กมาก จนทำให้เกือบจะใช้ไม่ได้เลย Resize! Viewbox จะปรับความละเอียดของหน้าจอให้อัตโนมัติทุกหน้าจอให้ตามความเหมาะสม แม้ว่าผู้ใช้งานจะปรับให้หน้าต่างโปรแกรมให้มีขนาดใหญ่สุดในหน้าจอที่มีความละเอียดใดๆก็ตาม โดยเมื่อผู้ใช้งานปรับขนาดและสัดส่วนของหน้าต่างโปรแกรม…

    >> Read More <<

  • Angular : Routing


    ต่อจากการการทำ Directives ในบล็อกก่อนหน้า เราจะมาพูดถึงการสร้าง Routing ที่เป็นส่วนช่วยในการเปลี่ยนหน้าของระบบ ซึ่งจะทำให้ระบบสามารถแบ่งส่วนได้ชัดเจนมากยิ่งขึ้น โดยในหัวข้อนี้เราจะทำการสร้างเมนู เพื่อให้สามารถเปลี่ยนหน้าแบบไม่ต้องโหลดได้ โดยเราจะสร้าง Component “Home” เพื่อเป็นหน้าหลัก โดยใช้คำสั่ง >ng generate component home จากนั้นให้เราสร้างเมนู ในไฟล์ app.component.html ดังภาพที่ 1 การที่เราจะทำให้ Angular เปลี่ยนหน้าโดยที่ไม่ต้องโหลดหน้าใหม่ เราสามารถใช้ความสามารถของ Router ที่จะพาไปยังหน้าที่เราต้องการ โดยเราจะต้องเข้าไปทำการตั้งค่าที่ไฟล์ app.module.ts เพื่อให้ Angular ทราบก่อน โดยเราจะนิยาม Route หรือเส้นทางของเราใน myRoutes เพื่อบอกว่าเมื่อไหร่ที่เข้ามาจาก /pages ให้วิ่งไปที่ component ชื่อ HomeComponent, CalculatorComponent หรือ UserComponent และถึงแม้เราจะมีเส้นทางแล้ว แต่หาก root module ของเราไม่รู้จักก็เท่านั้น เราจึงต้องทำให้ root module…

    >> Read More <<

  • AutoMapper กับขัอมูลชนิด Collection


    การใช้งาน AutoMapper กับ object type array หรือ list ไม่จำเป็นต้องกำหนดค่า config การ map ของ array หรือ list เพียงแค่ config การ map ของ member ของ array หรือ list ที่ใช้งานเท่านั้น ตัวอย่างเช่น object ง่ายๆสองชนิดดังต่อไปนี้ public class Person { public string name { get; set; } } public class Employee { public string name { get; set; } } กำหนดค่า…

    >> Read More <<

  • วิธีการคำนวณหาอายุด้วย Oracle Datetime Functions


    อายุเป็นเพียงตัวเลข มีคนพูดไว้แบบนี้ แล้วถ้าเราอยากจะรู้ล่ะว่าไอ้ตัวเลข จำนวนปี จำนวนเดือน และจำนวนวัน ของอายุเรามันเป็นตัวเลขอะไร ถ้าไม่อะไรมากใช้เครื่องคิดเลข หรือนับเอาก็ได้อยู่ แต่ถ้าต้องคำนวณของทุกคนในองค์กรล่ะจะนับเอง หรือเครื่องคิดเลขก็คงไม่ไหวแล้ว ดังนั้นวันนี้จึงจะขอแนะนำ Oracle Datetime Functions ที่สามารถนำมาประยุกต์ใช้ เพื่อคำนวณหาอายุของเรากันค่ะ Oracle Datetime Functions ที่จะแนะนำในวันนี้คือ ฟังก์ชัน TRUNC (date), ADD_MONTHS และฟังก์ชัน MONTHS_BETWEEN โดยมีรายละเอียดของฟังก์ชันดังนี้ ฟังก์ชัน คำอธิบาย ADD_MONTHS เพิ่มจำนวนเดือนลงในวันที่ที่ระบุ MONTHS_BETWEEN หาจำนวนเดือนระหว่าง 2 วันที่ที่ระบุ TRUNC (date) คืนค่าวันที่พร้อมส่วนเวลาของวันที่ตัดให้เป็นหน่วยที่ระบุ ตัวอย่างการใช้งานฟังก์ชัน ADD_MONTHSSyntax : ADD_MONTHS(date, integer) ตัวอย่างการใช้งานฟังก์ชัน MONTHS_BETWEEN Syntax : MONTHS_BETWEEN(date1, date2) ตัวอย่างการใช้งานฟังก์ชัน TRUNC (date)Syntax : TRUNC…

    >> Read More <<

  • Windows 10, Version 1903, May 2019 Update installation


    Windows 10, Version 1903, May 2019 Update เป็นรุ่นปรับปรุงที่ออกเมื่อ พฤษภาคม 2562 การติดตั้งเปลี่ยนแปลงไปนิดหน่อยดังนี้ จะพูดถึงการติดตั้งใหม่เท่านั้น ใครจะอัพเดตผ่าน Windows update ก็สามารถอัพเดตได้เลย สำหรับนักศึกษา Windows 10 ที่สามารถติดตั้งได้คือ Windows 10 Education เท่านั้น เนื่องจากหมายเลขผลิตภัณฑ์ (Product key) ที่ได้จาก Microsoft Azure เป็น Windows 10 Education โหลดได้จาก Microsoft Azure และ https://licensing.psu.ac.th/windows-10/ การ activate สามารถทำได้เพียงวิธีเดียวคือใช้ Product key จาก Microsoft Azure เท่านั้น เมื่อติดตั้งจะมีหน้าจอให้เลือกว่าจะติดตั้งรุ่นไหน ก็ให้เลือก Windows 10 Education เท่านั้น สำหรับบุคลากร…

    >> Read More <<