2007/Oct/15

 

          Lesson3: Hello World 2

      จากความเดิมตอนที่แล้ว เราว่าด้วยเรื่องของNamespace ตอนนี้ให้เปิดโค๊ดของคราวที่แล้ว ใครที่ใช้VB จะพบว่า ตัวโปรแกรมนั้นไม่ได้ทำการสร้างNamespace ขึ้นมาให้เหมือนกับของVc# Vc++

สำหรับ 2อันหลังนั้น โปรแกรมจะทำการสร้างNamespace ขึ้นมาตามชื่อของโปรเจคที่เราสร้างขึ้นมาตอนแรก

การสร้างNamespace ของVb นั้นทำได้ดังนี้

Namespace MyNamespace

        Class X

        End Class

End Namespace

 

หลักภาษาของVb นั้น จะต่างกับC มากพอสมควร กล่าวคือ ภาษาตระกูลC ทั้งหลายจะไม่สนใจบรรทัด การจะจบคำสั่งใดๆนั้น จะต้องลงท้ายด้วยเครื่องหมาย ";" เสมอ เช่น

Test(Input1

     ,Input2

      ,Input3);

จะมีค่าเหมือนกับ Test(Input1,Input2,Input3);

ในขณะที่ VB นั้นจะ นับการเว้นบรรทัด เป็นการจบคำสั่ง  เช่น

DIM Test as Integer =5            ประการศัวแปรชื่อTest เป็นInteger มีค่าเท่ากับ5

DIM TestB as String ="Test"       ประกาศตัวแปรชื่อTestB เป็น String มีค่าเท่ากับ"Test"

หรืออย่างการประกาศฟังชั่นต่างๆ เงื่อนไข นั้น ถ้าเป้นภาษา C จะใช้เครื่อหมาย {......} เพื่อครอบคลุมและระบุว่า คำสั่งหรือตัวแปรใดๆที่อยู่ระหว่างเครื่องหมาย { }นี้ จะเป็นของฟังชั่น หรือ เงื่อนไขด้านบน ยกตัวอย่างเช่น

int TestFunction()

{

int a=5;

}

จากตัวอย่างนี้ a จะเป็นตัวแปรที่อยู่ภายในฟังชั่นที่ชื่อTestFunction จะเห็นว่าภาษาตระกูลC จะใช้{ } เพื่อบอกจุดเริ่มต้น และจุดจบของฟังชั่น

ในขณะที่Vb จะใช้คำว่าEND แทน เช่น

Function TestFunction() as integer

      Dim a as integer =5

End function

ฟังชั่นนี้จะเหมือนกับตัวอย่างด้านบนทุกประการ แต่จะเห็นว่า ในVb จะไม่มีการใช้เครื่องหมาย{ }อีกต่อไปแล้ว

 ข้อควรระวังที่สำคัญอีกอย่างก็คือ ในภาษาC นั้น จะเป้นCase Sensitive หมายความว่าตัวหนังสือตัวใหญ่และตัวเล็กถือว่าเป็นคนละตัวกัน เช่น

int Test=1;

int test =2;

ตัวแปรTest และ test นั้นจะถือว่าเป็นตัวแปรคนละตัวกัน แต่ในภาษาVb นั้น ตัวใหญ่และตัวเล็กไม่มีผล ถือว่าเป็นตัวเดียวกัน

 

ให้กลับมาที่หน้าDesign โดยการคลิ๊กขวาที่Form1 ในหน้าต่างSolution เลือกView Designer

      ไปที่ToolBoxด้านซ้ายมือ เปิดTabที่ชื่อ "All Windos Forms" เลื่อนมาข้างล่างเลือกTextBox

 

         จากนั้น วาดมันลงไปบนฟอร์มเลยครับ จะตรงไหนก็ได้ เสร็จแล้วจะได้ตามรูปนี้

 

          จากนั้นให้ดูหน้าต่างProperty ด้านขวาล่าง หรือถ้าไม่มี ให้เลือกTextboxที่เราวาดไว้คลิ๊กขวาเลือก Property ช่องProperty จะหน้าตาประมาณนี้

         ลองดูสัญลักษณ์ด้านบนกันก่อนว่ามันหมายถึงอะไรกันบ้าง

 

                          1    2     3     4

 

          รูปที่ 1. เป็นการสั่งให้Property Window นี้แสดงผลPropertyของ Object ที่เราเลือกอยู่ โดยแยกออกตามหมวดหมู่

             2. เป็นการสั่งให้Property Window แสดงผลProperty Propertyของ Object ที่เราเลือกอยู่ โดยให้เรียงกันตามตัวอักษร

             3. สั่งให้Property Windowนี้ แสดงผลของProperty

             4. สั่งให้Property Window นี้แสดงEvent ทั้งหมดที่มีอยู่ของObjectที่เราเลือก

 

 

     ในตอนนี้นั้นให้เราเลือกหมายเลข2 กับ3 ก่อน(คือให้แสดงค่าProperty ของObject โดยเรียงตามตัวอักษร) ดูที่ช่องที่เขียนว่า Name (อันที่3จากอันบนสุด) จะเห็นว่า Object ที่เราเลือกนี้ ใช้ชื่อว่า

TextBox1 ชื่อนี้นั้นจะเป็นชื่อที่เราใช้อ้างอิงถึงTextBoxตัวนี้สำหรับการตั้งชื่อนั้น ผมแนะนำให้ตั้งชื่อตามลักษณะของObjectที่เราสร้างขึ้นมาครับ อย่างเช่นTextBoxตัวนี้ ให้ตั้งชื่อไปก่อนว่า

tx_Show

  tx ย่อมาจากTextBox, ทำไมต้องตั้งแบบนี้ คำตอบก็คือ เพื่อให้ง่ายต่อการเขียนโปรแกรมต่อๆไปครับ

จริงๆจะตั้งแบบไหนก็ได้แล้วแต่เราอยาก แต่ควรจะแบ่งหมวดหมู่หรือใช้ชื่อที่สื่อถึงนิดนึง อีกอย่าง ในVisual Studio นั้น มีระบบที่เรียกว่าInteligent ก็คือระบบที่จะตรวจว่าตัวแปรหรือสิ่งที่เรากำลังพิมไปเนี่ย มันคืออะไร แล้วมันจะแสดงค่าต่างๆที่น่าจะเป็ฯไปได้ว่าเราจะมาออกมา เช่นรูปนี้ครับ

   หรือบางที เราลืมชื่อตัวแปร แต่พอจำได้ว่ามันขึ้นต้นด้วยคำว่าTmp เราก็แค่พิมคำว่าTmp ลงไปและกดCtrl+Spacebar เพื่อเรียกหน้าจอนี้ มันก็จะขึ้นรายชื่อตัวแปร หรือฟังช่นทั้งหมดที่ขึ้นต้นด้วยTmp มาให้เราดู ซึ่งด้วยวิธีนี้ มันทำให้ง่ายเวลาเราจะเรียกใช้ตัวแปรหรือฟังช่นต่างๆ เพราะถ้าเราตั้งชื่อเป็นหมวดหมู่ที่ชัดเจน เวลาเราเรียกintel ขึ้นมา มันก็จะแสดงเฉพาะในส่วนที่เราต้องการจะใช้ และอีกอย่าง มันช่วยเวลาเราdebugโปรแกรมด้วย เพราะเวลาจะเห็ฯจะรู้ทันทีว่า มันมาจากส่วนไหน หรือเป็นตัวแปรประเภทอะไร เป็นต้น

 

เอาละ เมื่อเราเปลี่ยนชื่อ เป็น tx_Showเรียบร้อยแล้ว คราวนี้ ให้เราวาด ปุ่มลงไปในFormของเราบ้าง

ไปที่Toolbarเหมือนเดิมครับ เลือกที่Button จากนั้นวาดมันลงไปในForm เมื่อวาดเสร็จแล้ว ให้เราDouble click ที่ปุ่มที่เราวาดครับ มันจะเข้าหน้าจอแสดง Code โดยมีCodeใหม่เพิ่มมาดังนี้

Vc#

private void button1_Click(object sender, EventArgs e)

{

}

 

Vc++

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{

}

 

VB

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

End Sub

 

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

"Click" ปนอยู่ด้วย นั่นหมายความว่า นี่เป็นฟังชั่นที่จะถูกเรียกเมื่อเกิดEvent Click พูดง่ายๆ เราคลิ๊กมันเมื่อไร ฟังชั่นนี้จะทำงานทันที

ใหเราเพิ่มCode ต่อไปนี้ไว้ในFunction พวกนี้นะครับ

VB

tx_Show.Text = "Hello World"

 

VC# &Vc++

tx_Show.Text = "Hello World";

 

จากนั้นให้เราลองrunดูครับ (ปุ่มPlay ด้านบน หรือไม่ก็ไปที่ Debug->StartDebuging)

เมื่อโปรแกรมมันรันขึ้นมาแล้ว ให้เราลองกดปุ่มดูครับ มันจะได้หน้าจอแบบนี้

 

 

 

 

edit @ 19 Oct 2007 22:43:20 by GusZ

ชื่อ: 
เว็บไซต์: 
คอมเมนต์:




smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

<< Home