วันจันทร์ที่ 26 กรกฎาคม พ.ศ. 2553

มาดูวิดีโอ Starcraft 2 กันครับ



การเขียนโปรแกรมแบบ IF...THEN...ELSE ด้วย VB.NET

ก่อนอื่นต้องบอกก่อนว่าบทความนี้สำหรับผู้ที่เริ่มต้นศึกษาเขียนโปรแกรมนะครับ เผื่อแวะหรือผ่านมาเจออาจเป็นประโยชน์ในแง่ของการนำตัวอย่างไปใช้งานหรือช่วยเสริมความเข้าใจที่เคยศึกษามาเพิ่มเติมครับ

มาเข้าเรื่องกันเลยครับ ในการเขียนโปรแกรมนั้นทุกท่านหลีกเลี่ยงไม่ได้เลยที่จะต้องได้ใช้งานชุดคำสั่งแบบทางเลือก IF...THEN...ELSE เหล่านี้ และต้องใช้อย่างมากในการเขียนโปรแกรมที่ใช้งานจริงสำหรับการทำงานในองค์กรต่างๆ

รูปแบบของ IF...THEN...ELSE เป็นดังรูปด้านล่างนี้นะครับ
.........................................................................................................................

.........................................................................................................................
และรูปแบบการเขียนด้วย VB.NET ดูด้านล่างนี้ครับ
.........................................................................................................................
If เงื่อนไข Then
       ทำคำสั่งเมื่อเงื่อนไขเป็นจริงหรือหลัง Then
Else

       ทำคำสั่งเมื่อเงื่อนไขเป็นเท็จหรือหลัง Else
End If
.........................................................................................................................

สำหรับตัวอย่าง Source Code ด้านล่างครับ
.........................................................................................................................
Public Class Form1


    Private Sub btnCondition_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCondition.Click
        If    RadioButton1.Checked = True   Then
              txtDisplay.Text = "ฉันรักเธอ"
        Else
              txtDisplay.Text = "I Love You."
        End If
End Sub


End Class
.........................................................................................................................

ลองดูผลลัพธ์ครับตามรูป
.........................................................................................................................

.........................................................................................................................
ขอจบเพียงเท่านี้ครับสำหรับการเขียนโปรแกรม IF...THEN...ELSE ด้วย VB.NET




วันพฤหัสบดีที่ 15 กรกฎาคม พ.ศ. 2553

เริ่มต้นกับการใช้ Ajax Control Toolkit ใน ASP.NET

หากเราพูดกันถึง Ajax แล้วหลายคนคงจะรู้จัก สำหรับท่านที่ยังไม่เคยใช้ บทความนี้จะพาท่านเริ่มต้นกับการติดตั้งใช้งาน Ajax Control Toolkit ซึ่งเป็น opensource  ที่ใช้งานกับ ASP.NET ต่อไปนี้จะเป็นขั้นตอนต่างๆมีดังต่อไปนี้

  1. ให้ไปดาวน์โหลด Ajax Control Toolkit
    เวอร์ชั่นล่าสุดที่ http://ajaxcontroltoolkit.codeplex.com/ ให้คลิกที่ Download นะครับ
  2. เปิด Visual Studio.NET Version ที่ท่านใช้งาน ในบทความนี้ผมใช้ Version 2010 ล่าสุดครับ แล้วจากนั้นให้สร้าง ASP.NET Application และที่ Toolbox ด้านซ้ายมือของหน้า Design ให้คลิกขวาที่ Tab -> General เลือก Add Tab ดังรูป
  3.  
  4. พิมพ์ชื่อ Tab นี้ว่า Ajax Control Toolkit หรือชื่ออะไรก็ได้ครับ แล้วที่ Tab นี้คลิกขวาเลือก Choose Items และคลิก browse... ไปที่ AjaxControlToolkit.dll ที่ท่านดาวน์โหลดมา
  5. หลังจากเราเลือกแล้วก็จะมีเครื่องมือให้เราใช้มากมายดังรูปที่อยู่ด้านล่างนี้ครับ
เป็นอันว่า ขณะนี้เรามี Ajax Control Toolkit ไว้พร้อมใช้งานกันแล้วครับ ไว้บทความหน้าผมจะมาแนะนำวิธีการใช้งานในแต่ละเครื่องมือที่มีอยู่ สำหรับบทความนี้ขอจบเพียงเท่านี้ก่อนครับ   @.@

วันพุธที่ 14 กรกฎาคม พ.ศ. 2553

การสร้าง DataGridView ที่สามารถกดปุ่ม Enter เพื่อเลื่อนไปยัง Cell ถัดไปด้วย Visual Studio.NET 2005

หากผู้อ่านได้เคยใช้งาน DataGridView ใน Visual Studio.NET จะรู้ว่าการที่จะให้เลื่อนไปยัง Cell ถัดไปนั้นจะต้องกดปุ่ม Tab หรือใช้เม้าส์เลื่อนแทน และเมื่อกด Enter มันจะลงไปที่แถวถัดไปด้านล่างแทน

วิธีการแก้ปัญหา หากต้องการให้กดปุ่ม Enter แล้วเลื่อนไปยัง Cell ถัดไปโดยที่ Cursor ไม่เลื่อนลงไปที่แถวด้านล่างก็มีวิธีแนะนำดังนี้คือ การสร้าง Component ขึ้นมาใช้งานเองโดยสืบทอดมาจาก DataGridView

ต่อไปนี้เป็นขั้นตอนการสร้างครับ

  1. ที่ Solution Explorer คลิกขวาเลือก Add และเลือก Component... ดังรูป
  2.  
  3. จากนั้นจะมีหน้าต่างขึ้นมาให้เราเลือก Component Class และตั้งชื่อ Class ใหม่ที่ช่อง Name เป็น ExDataGridView หรือเป็นชื่ออะไรก็ได้ครับตามต้องการ แล้วกดปุ่ม Add ดูจากรูปด้านล่างนี้
  4.  
  5. เมื่อเพิ่ม Component Class เสร็จแล้ว จะได้หน้าต่าง Design ดังรูปด้านล่างนี้ ให้ใช้เม้าส์คลิกจุดที่อยู่ในกรอบสี่เหลี่ยมหรือ Double Click ที่บริเวณว่างๆของส่วน Design ก็ได้ จะได้หน้าต่างสำหรับการเขียน Code เพื่อสร้าง Component ต่อไป
  6. ต่อไปเราจะมาเขียนโปรแกรมเพื่อที่จะสร้าง DataGridView ที่มีคุณสมบัติในการใช้ปุ่ม Enter เลื่อนไปยัง Cell ถัดไปดังจะได้อธิบาย Code ด้านล่างนี้

    Public Class ExDataGridView

    Inherits DataGridView  '***เป็นการสืบทอดคุณสมบัติทั้งหมดมาจาก DataGridView

    '*** เขียนทับฟังก์ชั่น ProcessDialogKey เพื่อกำหนดให้เมื่อกดปุ่ม Enter แล้วให้ทำงานเหมือนกับการกดปุ่ม Tab
    Protected Overloads Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean

    If keyData = Keys.Enter Then

    MyBase.ProcessTabKey(Keys.Tab)

    Return True

    End If

    Return MyBase.ProcessDialogKey(keyData)

    End Function


    '***เขียนทับฟังก์ชั่น ProcessDataGridViewKey กรณีถ้ากด Enter แล้วให้เรียกฟังก์ชั่น ProcessDialogKey
    Protected Overloads Overrides Function ProcessDataGridViewKey(ByVal e As KeyEventArgs) As Boolean

    If e.KeyCode = Keys.Enter Then

    MyBase.ProcessTabKey(Keys.Tab)

    Return True

    End If

    Return MyBase.ProcessDataGridViewKey(e)

    End Function


    End Class
  7. หลังจากเขียน Code เสร็จแล้ว ก็ให้ทำการ Build Project เพื่อให้มันสร้างเป็น Component และแสดงอยู่ในส่วนของ ToolBox ด้านซ้ายของหน้าต่าง Design ดังรูปด้านล่าง
  8. การใช้งานก็เพียงแค่ลาก Component ที่อยู่ใน ToolBox ด้านซ้ายของหน้าต่าง Design ดังรูปก็สามารถใช้งานได้เลยครับ ซึ่งก็เหมือนกับการใช้งานทั่วไปนั่นแหละครับ

       


เป็นอันว่าจบขั้นตอน แค่นี้ผู้อ่านก็สามารถนำไปประยุกต์ใช้เองได้ตามชอบเลยนะครับ ส่วนท่านใดต้องการ Source File ทั้งหมดรบกวนแจ้ง e-mail ไว้ด้วยครับ จะจัดส่ง Code ไปให้

สำหรับวันนี้ขอตัวก่อนนะครับ แล้วพบกันใหม่ สวัสดีครับ







วันอาทิตย์ที่ 4 กรกฎาคม พ.ศ. 2553

ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล

ระบบฐานข้อมูล (Database System) หมายถึง โครงสร้างข้อมูลที่ประกอบด้วยรายละเอียดของข้อมูลที่เกี่ยวข้องกันที่จะนำมาใช้ในระบบต่าง ๆ ร่วมกัน


ระบบฐานข้อมูล นับว่าเป็นการจัดเก็บข้อมูลอย่างเป็นระบบ ซึ่งผู้ใช้สามารถจัดการกับข้อมูลได้ในลักษณะต่าง ๆ ทั้งการเพิ่ม การแก้ไข การลบ ตลอดจนการเรียกดูข้อมูล ซึ่งส่วนใหญ่จะเป็นการประยุกต์นำเอาระบบคอมพิวเตอร์เข้ามาช่วยในการจัดการฐานข้อมูล

คำศัพท์พื้นฐาน

  • บิท (Bit) หมายถึงหน่วยของข้อมูลที่มีขนาดเล็กที่สุด
  • ไบท์ (Byte) หมายถึงหน่วยของข้อมูลที่กิดจากการนำบิทมารวมกันเป็นตัวอักขระ มีขนาด 8 บิท
  • เขตข้อมูล (Field) หมายถึงหน่วยของข้อมูลที่เกิดจากตัวอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกันแล้วได้ความหมายของสิ่งใดสิ่งหนึ่ง เช่น ชื่อ นามสกุล เพศ วันเกิด ที่อยู่ เบอร์โทรเป็นต้น
  • ระเบียน (Record) หมายถึงหน่วยของข้อมูลที่เกิดจากการนเอาเขตข้อมูลหลาย ๆ เขตข้อมูลมารวมกัน เพื่อเกิดเป็นข้อมูลเรื่องใดเรื่องหนึ่ง เช่น ข้อมูลของนักศึกษา 1 ระเบียน
  • แฟ้มข้อมูล (File) หมายถึงหน่วยของข้อมูลที่เกิดจากการนำข้อมูลหลาย ๆ ระเบียนที่เป็นเรื่องเดียวกันมารวมกัน เช่น แฟ้มข้อมูลนักศึกษา แฟ้มข้อมูลลูกค้า แฟ้มข้อมูลพนักงาน
  • เอนทิตี้ (Entity) หมายถึงชื่อของสิ่งใดสิ่งหนึ่ง ได้แก่ คน สถานที่ สิ่งของ การกระทำ ซึ่งต้องการจัดเก็บข้อมูลไว้ เช่น เอนทิตี้นักศึกษา ภาควิชา อาจารย์ เป็นต้น
  • เอนทิตี้ชนิดอ่อนแอ (Weak Entity) หมายถึงเอนทิตี้ที่ไม่สามารถมีขึ้นได้ ถ้าขาดเอนทิตี้อื่นในฐานข้อมูล
  • แอททริบิวต์ (Attribute) หมายถึงข้อมูลที่แสดงลักษณะและคุณสมบัติของเอนทิตี้หนึ่ง ๆ เช่น
    เอนทิตี้นักศึกษา ประกอบด้วยแอทริบิวต์
    - รหัสนักศึกษา
    - ชื่อ
    - นามสกุล
  • คีย์หลัก (Primary Key) หมายถึงฟิลด์ข้อมูลที่ใช้บ่งบอกถึงความแตกต่างในสิ่งที่เรากำลังพูดถึง เช่น
    - พนักงานในหน่วยงานต่าง ๆ Primary Key หมายถึงรหัสพนักงานแต่ละคนซึ่งจะไม่ซ้ำกันเลย
    - ลูกหนี้แต่ละคน Primary Key หมายถึงรหัสของลูกหนี้แต่ละคนซึ่งจะไม่ซ้ำกันเลย
    - นักศึกษาแต่ละคน Primary Key หมายถึงรหัสนักศึกษาแต่ละคนจะไม่ซ้ำกันเลย
    ประโยชน์ของ Primary Key มีดังนี้- ช่วยป้องกันการป้อนข้อมูลซ้ำ
    - ช่วยในการเรียงข้อมูล ทำให้การเข้าถึงข้อมูลนี้ได้เร็วขึ้น
    - ช่วยป้องกันการละเว้น หรือไม่ป้อนข้อมูล
    - ช่วยในการสร้างความสัมพันธ์ระหว่าง Table ซึ่งเป็นข้อกำหนดของฐานข้อมูลเชิงสัมพันธ์บังคับ ว่า ในการสร้างความสัมพันธ์ระหว่าง 2 Table ต้องมี Table หนึ่งมีฟิลด์ที่กำหนดเป็น Primary Key
    - ช่วยในการสร้างการเชื่อมต่อหรือ Join ตารางในฐานข้อมูล
  • คีย์คู่แข่ง (Candidate Key) หมายถึงฟิลด์ข้อมูลหนึ่งหรือหลายฟิลด์ข้อมูลที่มีคุณสมบัติที่เป็น Primary Key ได้ แต่ไม่ได้เป็นคีย์หลัก เช่น ชื่อและนามสกุล สามารถรวมกันเป็นคีย์คู่แข่งได้
  • คีย์ร่วม (Composite Key) หมายถึงฟิลด์ข้อมูลที่ใช้รวมกับฟิลด์อื่น ๆมาใช้เป็น Primay Key ของตารางเช่น เอนทิตี้ใบแสดงรายการสังซื้อ จะมีฟิลด์ข้อมูล เลขที่ใบสั่งซื้อ กับ รหัสสินค้า ร่วมกันเป็น Primary Key ของตาราง เป็นต้น
  • คีย์นอก (Foreign Key) หมายถึงฟิลด์ข้อมูลที่เชื่อมโยงไปยังตารางอื่น โดยที่ตารางทั้งสองมีความสัมพันธ์แบบ One-to-Many ต่อกัน
  • ความสัมพันธ์ (Relationships) หมายถึงความสัมพันธ์ระหว่างเอนทิตี้ เช่น ความสัมพันธ์ระหว่างเอนทิตี้นักศึกษาและเอนทิตี้คณะวิชา เป็นลักษณะว่า นักศึกษาแต่ละคนเรียนสังกัดคณะวิชาใดคณะวิชาหนึ่ง
    ประเภทความสัมพันธ์สำหรับฐานข้อมูล
    1. ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-one Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตี้หนึ่งที่มีความสัมพันธ์กับข้อมูลในอีกเอนทิตี้หนึ่ง ในลักษณะหนึ่งต่อหนึ่ง (1 : 1)
    2. ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One-to-many Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตี้หนึ่งที่มีความสัมพันธ์กับข้อมูลหลาย ๆ ข้อมูลในอีกเอนทิตี้หนึ่งในลักษณะ (1:m)
    3. ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลสองเอนทิตี้ในลักษณะกลุ่มต่อกลุ่ม (m:n)



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

ก็หวังว่าบทความนี้จะเป็นประโยชน์บ้างสำหรับผู้เริ่มต้นศึกษาฐานข้อมูล ไม่มากก็น้อย แล้วคอยพบกับบทความที่จะคอยมา Update เรื่อยๆเท่าที่พอจะมีเวลาครับ