เงื่อนข้อตกลงในการใช้บทความนี้
ตอนนี้เรามาลงมือเชิงปฏิบัติกันบ้าง เริ่มต้นด้วยเปิดโปรแกรม Visual Studio
แล้วสร้างโปรเจค Console Application ขึ้นมา ตั้งชื่อตามสะดวกครับ
หน้าแรกที่เราจะเห็นก็จะเป็นแบบนี้ครับ
Module1.vb = ชื่อไฟล์ของโค๊ดโปรแกรมเรา
Module Module1
ชื่อของคลาสนี้คือ Module1
ส่วนคำว่า
Module นั้นเป็น Keyword ระบุว่าคลาสนี้มีรูปแบบเป็น Module ซึ่งเป็นคลาสประเภท Static
Static Class คืออะไร ?
เป็นคลาสที่ไม่สามารถนำไปสร้างใหม่ ดัดแปลงหรือต่อเติมใดๆ ให้กับโครงสร้างได้ตามความหมายของคำว่า Static นั่นเองครับ
Sub Main()
ชื่อของ Method นี้คือ Main
Sub เป็นการระบุว่านี่คือ Method ชุดคำสั่งที่จะไม่ส่งค่าใดๆ กลับ
จะสังเกตได้ว่าจะมีคำว่า
End ... ปิดท้ายด้านล่าง ซึ่งก็แปลตามตัวเลยครับว่า เป็นจุดสิ้นสุดของสิ่งนั้นๆ เช่น
End Sub ก็แปลได้ว่า Method นั้นๆ จบลง ณ ตรงนี้
End Class เองก็เช่นกัน Class นั้นๆ จบลง ณ ตรงนี้
ว่าแล้วเรามาลองเขียนโค๊ดง่ายๆ กันอย่างโค๊ดทักทาย
ซึ่งขั้นการทำงานก็เรียบง่าย
1. บอทพิมพ์ทักเรามาแล้วถามว่าเราชื่ออะไร
2. เราพิมพ์ชื่อเข้าไป
3. บอทพิมพ์ทักเราอีกครั้งแต่คราวนี้เรียกชื่อที่เราบอกไป
แนวคิดการเขียน
1. เราต้องมาดูก่อนว่าเราจะทำอย่างไรให้โปรแกรมแสดงข้อความ
ใน Console Application นั้นจะมี Static Class ชื่อ System.Console ในการจัดการตัว Console Application
เมื่อเราทำการพิมพ์ System.Console แล้วพิมพ์ . ต่อไปอีกตัวหนึ่ง Visual studio ก็จะทำการแสดง Method และ Variant ต่างๆ ภายใน Class
ซึ่งเมื่ออ่านคำอธิบายแล้ว ผมเลือกใช้ WriteLine Method
2. เมื่อเราได้วิธีที่จะแสดงข้อความแล้ว เราก็จัดการทำให้โปรแกรมแสดงข้อความกันครับ
System.Console.WriteLine("Hello, I'm CPU, and you ?")
3. ต่อมาเราก็มาดูกันว่าทำอย่างไรที่จะให้โปรแกรมรับค่าได้ ซึ่งเมื่อไล่ดู Method ต่างๆ ใน System.Console แล้ว
เราก็จะพบกับ ReadLine ซึ่งจะรับค่าเป็นตัวอักษรจนกระทั้งผู้ใช้กดแป้น Enter
4. เพื่อให้เข้าใจได้ง่าย ผมก็จะสร้างจุดอ้างอิงมาจุดหนึ่งเพื่ออ้างอิงถึงชื่อที่ผู้ใช้พิมพ์มา
ใน VB.Net นั้นจะใช้ Keyword ว่า Dim เพื่อสร้างจุดอ้างอิง ส่วนชื่อจุดอ้างอิงผมก็ตั้งง่ายๆ ว่า MyName
เนื่องจาก VB.Net นั้นไม่สามารถตั้งชื่อใดๆ ที่มีช่องว่างระหว่างชื่อ หรืออักขระพิเศษได้
Dim MyName = System.Console.ReadLine
5. และสุดท้ายเมื่อเราได้ทุกอย่างมาครบแล้ว ก็ถึงขั้นตอนสุดท้ายที่โปรแกรมจะต้องทักทายด้วยชื่อที่ผู้ใช้บอกมา
ซึ่งก็แทบไม่ต่างจากตอนที่แรกเลยครับ เพียงแต่เราเพิ่มชื่อผู้ใช้ที่เราอ้างอิงไว้ดังนี้
System.Console.WriteLine("Hello " + MyName)
6. ช้าก่อนครับ อย่าพึ่งด่วน Mission complete ไป หาโค๊ดเรามีเพียงเท่านี้เราจะไม่ได้เห็นบอททักทายด้วยชื่อเราเลย
เนื่องจากธรรมชาติของโปรแกรมนั้น เมื่อทำงานเสร็จหมดแล้วก็จะปิดตัวเองลงทันที ดังนี้เราจึงจะต้องทำการถ่วงเวลาซักนิด
ซึ่ง Method ที่ผมเลือกก็คือ ReadKey ใน System.Console เนื่องจาก Method นี้จะทำการรอรับค่าจนกระทั้งเรากดแป้นใดๆ
System.Console.ReadKey()
ผลที่ได้เมื่อทำการกด Start เพื่อเริ่มต้นโปรแกรม
FAQ สำหรับท่านที่เคยเขียนโปรแกรมมาแล้ว
* ตอนก่อนเคยบอกไว้ว่าค่ามีแค่ 4 ประเภทแล้ว String คืออะไร
- String เป็น Reference Type ที่ทำการอ้างอิงไปยัง Memory บน Heap โดยตรงเหมือนกับ Array ซึ่งจะมีขนาดตามจำนวนตัวอักษร
ซึ่ง 1 ตัวอักษรจะมีขนาด 16 Bit อย่างเช่นคำว่า "Hello" ก็จะจองไป 10 Byte หรือ 80 bits
*
Dim MyName = System.Console.ReadLine นี่ไม่สั้นไปหน่อยหรือ ?
- เป็นลักษณะเฉพาะถิ่นของ VB.net ที่จะสามารถเรียก Method ที่ไม่มี Argument ได้โดยไม่ต้องมี () ต่อด้านหลัง
ส่วน Dim MyName = เลยนี่ก็คล้ายๆ กับ var MyName = แหละครับ (เมื่อก่อนไม่คิดว่า Strict อย่าง C# จะเอาด้วย)
หากบทความนี้ถูกใจ เป็นประโยชน์ ขอรบกวนผู้อ่านกด [+] ด้วยนะครับ ขอบคุณครับ
[Tutorial] สอนภาษา .Net :: ตอนที่ 02 มาลองเขียนโปรแกรมง่ายๆ กันดูครับ
ตอนนี้เรามาลงมือเชิงปฏิบัติกันบ้าง เริ่มต้นด้วยเปิดโปรแกรม Visual Studio
แล้วสร้างโปรเจค Console Application ขึ้นมา ตั้งชื่อตามสะดวกครับ
หน้าแรกที่เราจะเห็นก็จะเป็นแบบนี้ครับ
Module1.vb = ชื่อไฟล์ของโค๊ดโปรแกรมเรา
Module Module1
ชื่อของคลาสนี้คือ Module1
ส่วนคำว่า Module นั้นเป็น Keyword ระบุว่าคลาสนี้มีรูปแบบเป็น Module ซึ่งเป็นคลาสประเภท Static
Static Class คืออะไร ?
เป็นคลาสที่ไม่สามารถนำไปสร้างใหม่ ดัดแปลงหรือต่อเติมใดๆ ให้กับโครงสร้างได้ตามความหมายของคำว่า Static นั่นเองครับ
Sub Main()
ชื่อของ Method นี้คือ Main
Sub เป็นการระบุว่านี่คือ Method ชุดคำสั่งที่จะไม่ส่งค่าใดๆ กลับ
จะสังเกตได้ว่าจะมีคำว่า End ... ปิดท้ายด้านล่าง ซึ่งก็แปลตามตัวเลยครับว่า เป็นจุดสิ้นสุดของสิ่งนั้นๆ เช่น
End Sub ก็แปลได้ว่า Method นั้นๆ จบลง ณ ตรงนี้
End Class เองก็เช่นกัน Class นั้นๆ จบลง ณ ตรงนี้
ว่าแล้วเรามาลองเขียนโค๊ดง่ายๆ กันอย่างโค๊ดทักทาย
ซึ่งขั้นการทำงานก็เรียบง่าย
1. บอทพิมพ์ทักเรามาแล้วถามว่าเราชื่ออะไร
2. เราพิมพ์ชื่อเข้าไป
3. บอทพิมพ์ทักเราอีกครั้งแต่คราวนี้เรียกชื่อที่เราบอกไป
แนวคิดการเขียน
1. เราต้องมาดูก่อนว่าเราจะทำอย่างไรให้โปรแกรมแสดงข้อความ
ใน Console Application นั้นจะมี Static Class ชื่อ System.Console ในการจัดการตัว Console Application
เมื่อเราทำการพิมพ์ System.Console แล้วพิมพ์ . ต่อไปอีกตัวหนึ่ง Visual studio ก็จะทำการแสดง Method และ Variant ต่างๆ ภายใน Class
ซึ่งเมื่ออ่านคำอธิบายแล้ว ผมเลือกใช้ WriteLine Method
2. เมื่อเราได้วิธีที่จะแสดงข้อความแล้ว เราก็จัดการทำให้โปรแกรมแสดงข้อความกันครับ
System.Console.WriteLine("Hello, I'm CPU, and you ?")
3. ต่อมาเราก็มาดูกันว่าทำอย่างไรที่จะให้โปรแกรมรับค่าได้ ซึ่งเมื่อไล่ดู Method ต่างๆ ใน System.Console แล้ว
เราก็จะพบกับ ReadLine ซึ่งจะรับค่าเป็นตัวอักษรจนกระทั้งผู้ใช้กดแป้น Enter
4. เพื่อให้เข้าใจได้ง่าย ผมก็จะสร้างจุดอ้างอิงมาจุดหนึ่งเพื่ออ้างอิงถึงชื่อที่ผู้ใช้พิมพ์มา
ใน VB.Net นั้นจะใช้ Keyword ว่า Dim เพื่อสร้างจุดอ้างอิง ส่วนชื่อจุดอ้างอิงผมก็ตั้งง่ายๆ ว่า MyName
เนื่องจาก VB.Net นั้นไม่สามารถตั้งชื่อใดๆ ที่มีช่องว่างระหว่างชื่อ หรืออักขระพิเศษได้
Dim MyName = System.Console.ReadLine
5. และสุดท้ายเมื่อเราได้ทุกอย่างมาครบแล้ว ก็ถึงขั้นตอนสุดท้ายที่โปรแกรมจะต้องทักทายด้วยชื่อที่ผู้ใช้บอกมา
ซึ่งก็แทบไม่ต่างจากตอนที่แรกเลยครับ เพียงแต่เราเพิ่มชื่อผู้ใช้ที่เราอ้างอิงไว้ดังนี้
System.Console.WriteLine("Hello " + MyName)
6. ช้าก่อนครับ อย่าพึ่งด่วน Mission complete ไป หาโค๊ดเรามีเพียงเท่านี้เราจะไม่ได้เห็นบอททักทายด้วยชื่อเราเลย
เนื่องจากธรรมชาติของโปรแกรมนั้น เมื่อทำงานเสร็จหมดแล้วก็จะปิดตัวเองลงทันที ดังนี้เราจึงจะต้องทำการถ่วงเวลาซักนิด
ซึ่ง Method ที่ผมเลือกก็คือ ReadKey ใน System.Console เนื่องจาก Method นี้จะทำการรอรับค่าจนกระทั้งเรากดแป้นใดๆ
System.Console.ReadKey()
ผลที่ได้เมื่อทำการกด Start เพื่อเริ่มต้นโปรแกรม
FAQ สำหรับท่านที่เคยเขียนโปรแกรมมาแล้ว
* ตอนก่อนเคยบอกไว้ว่าค่ามีแค่ 4 ประเภทแล้ว String คืออะไร
- String เป็น Reference Type ที่ทำการอ้างอิงไปยัง Memory บน Heap โดยตรงเหมือนกับ Array ซึ่งจะมีขนาดตามจำนวนตัวอักษร
ซึ่ง 1 ตัวอักษรจะมีขนาด 16 Bit อย่างเช่นคำว่า "Hello" ก็จะจองไป 10 Byte หรือ 80 bits
* Dim MyName = System.Console.ReadLine นี่ไม่สั้นไปหน่อยหรือ ?
- เป็นลักษณะเฉพาะถิ่นของ VB.net ที่จะสามารถเรียก Method ที่ไม่มี Argument ได้โดยไม่ต้องมี () ต่อด้านหลัง
ส่วน Dim MyName = เลยนี่ก็คล้ายๆ กับ var MyName = แหละครับ (เมื่อก่อนไม่คิดว่า Strict อย่าง C# จะเอาด้วย)
หากบทความนี้ถูกใจ เป็นประโยชน์ ขอรบกวนผู้อ่านกด [+] ด้วยนะครับ ขอบคุณครับ