โปรแกรมเมอร์ฉันหรือเธอก็เป็นได้ ตอนที่ 4 : เรามาสื่อสารกับน้องคอมกันเถอะ

 

4.1 ความเดิม

 

ตอนก่อนเราเรียนในเรื่องของการสอนให้น้องคอมจดจำในสิ่งที่เราอยากให้จำแล้วนะครับ

แน่นอนก็เหมือนเด็กแรกเกิด ที่นอกจากเราจะให้เขาจำอะไรและเรียกอะไรในที่เราอยากจำแล้ว

ขั้นตอนต่อไปก็คือการสอนการเรียนรู้ในการโต้ตอบครับ คราวนี้เราจะมาเริ่มให้น้องคอมสามารถที่จะพูดคุย

หรือโต้ตอบอะไรกันได้กับเรามากขึ้น เหมือนกับที่เราสอนเด็กแล้วว่า ให้เรียกแม่ว่า Mommy

ก็ต้องมีการทดสอบโดยการชี้ว่า นี่ใคร เรียกว่ายังไง จริงมั๊ยครับ

 

4.2 ตั้งชื่อให้กับโปรแกรมกันเถอะ

 

จากตอนที่แล้ว เราจะเห็นว่าหน้าจอดูธรรมดามากใช่ไหมครับ เหมือนจะยังหาตัวเองไม่เจอ (เหมือนเจ้าของบล็อก)

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

 

จะมีเพิ่มมาเป็นอีก private sub โดยชื่อว่า Form1_Load

ความหมายก็คือ จะทำตามคำสั่งเมื่อแรกเริ่มโปรแกรม เปรียบเทียบเหมือนกับเด็กเกิดใหม่ เราสามารถกำหนดชื่อให้เค้าได้ในตอนนี้

หรือกำหนดได้ว่า พ่อแม่ชื่ออะไรประมาณนี้ ดังตัวอย่าง ผมจะกำหนดให้โปรแกรมนี้คือ “ครอบครัวของฉัน”

และกำหนดให้ปุ่ม button1 เป็นปุ่มที่แสดงถึงข้อมูลเกี่ยวกับ “แม่ของฉัน”

ก็จะได้วิธีการกำหนดชื่อได้ตามไวยากรณ์ VB อย่างข้างล่างนี้ครับ

 

ความหมายก็คือ ในตอนที่ Form1 นี้ได้อุบัติขึ้น (ภาษาลิเกมากกก) เราจะตั้งชื่อให้เลยว่า ชื่อของแกจากนี้ไปคือ “ครอบครัวของฉัน”

และกำหนดไว้ว่า ปุ่มที่ชื่อว่า button1 มีชื่อว่า “แม่ของฉัน” การกำหนดค่าอะไรต่างๆ พวกนี้ เรามีไวยากรณ์ดังนี้ครับ

---------------------------------------------------

วัดถุ.คุณสมบัติ = ค่าที่ต้องการกำหนด

----------------------------------------------------

เมื่อ run program (กดปุ่มเครื่องหมาย play สีเขียว ถ้าจำไม่ได้อยุ่ที่ไหนกลับไปดูบทที่แล้วจ้า) ก็จะได้หน้าตาโปรแกรมที่ดูเหมือนจะรู้จักตัวเองมากขึ้นแล้ว (ฮากริบ)

 

ผมขอยกตัวอย่างง่ายๆ เช่น หากเปรียบเทียบเป็นเด็กเกิดใหม่ เช่น การตั้งชื่อเล่นให้ว่า น้องโบว์ แต่ชื่อจริงคือ อังคณา (คุ้นๆ มะ ช่างเถอะ) เราก็จะเขียนในแบบ VB ได้ดังนี้

น้องโบว์.ชื่อจริง = “อังคณา”

น้องโบว์.เพศ=”หญิง”

 

ตามตัวอย่าง ผมตั้งชื่อของ form นี้ว่า ครอบครัวของฉัน โดยใช้ me แทนถึงตัว form1 และ .Text ได้ดังนี้

Me.text=”ครอบครัวของฉัน”

ก็เช่นเดียวกับปุ่ม button1 ก็ตั้งชื่อให้ใหม่ว่า “แม่ของฉัน” ได้ดังนี้

Button1.text=”แม่ของฉัน”

 

4.3 มาทำความรู้จักกันให้มากกว่านี้เถอะ

 

คราวนี้ เราก็จะมาเริ่มต้นในเรื่องการพูดคุยกับน้องคอมกันแล้ว หลังจากปล่อยให้โปรแกรมน้อยๆ ของเราพูดกับเราอยู่ฝ่ายเดียว

เรามาสอนให้เค้าสามารถที่จะรับข้อมูลจากคนอื่นได้บ้างครับ เช่น ผมต้องการให้คนอื่นสามารถบอกขื่อ และวันเกิด

และโปรแกรมก็สามารถคิดคำนวณอายุได้ เอาละ เริ่มต้นกันเลย

 

 

คลิกตรงคำว่า textbox ดังรูปค้างไว้ และลากมาปล่อยตามจุดประมาณในภาพ ทำแบบนี้ 2 ครั้ง

 

จากนั้นคลิกตรงคำว่า label  ค้างไว้แล้วลากมาปล่อยให้อยู่เหนือตามตำแหน่งของ text box 2 ครั้ง

และลากตรง button (หากจำไม่ได้ให้กลับไปดูบทที่ 3 ครับ) มาไว้เช่นกัน จะได้หน้าตาแบบดังรูปด้านล่าง

อธิบาย

Label=ป้ายฉลาก นึกถึง program เป็นขวดซีอิ้ว และ label ก็คือป้ายที่ติดไว้ข้างขวดนั่นแหละครับ มีไว้บอกสรรพคุณหรือไว้อธิบายความ

Textbox =กล่องข้อมูล ตัวอย่างเช่น กล่องรับความคิดเห็นหลังจากเราไปดินเนอร์สุดหรู เขาจะมีให้เราหย่อนโน้ตที่เขียนชมหรือด่าลงไปในกล่องนั้น

ใน program ตัว textbox ก็ทำหน้าที่อย่างนั้นแหละครับ

เพียงแต่เปลี่ยนจากหย่อนโน้ตเป็นพิมพ์คีย์บอร์ดลงไปในกล่องข้อมูลนี้แค่นั้นเอง (บางเจ้าเรียกกล่องข้อความ ก็ได้เหมือนกันครับ)

 

จากนั้นดับเบิ้ลคลิกที่ปุ่ม button2 ที่เราวาดไว้ จะกลับมาหน้าจอการเขียนโปรแกรม ให้เขียนเพิ่มเติมไปดังรูป

 

 อธิบาย

บล็อกแรกเป็นการกำหนดค่าของ Label (ป้ายฉลาก) ที่เราสร้างมา 2 อัน เพื่อแทนความหมายของ Textbox (กล่องข้อมูล) 2 อันที่อยู่ด้านล่าง

และ button2.text ก็กำหนดชื่อของปุ่มที่ 2 ครับ ว่าเป็นปุ่มเพื่อให้โปรแกรมบอกอายุ

 

บล็อกที่ 2 ก็ยังคงเป็น msgbox เหมือนเดิมครับ เพียงแต่หลัง & ไม่ใช่ตัวแปรแล้ว

แต่เป็นการรับค่าจากกล่องข้อความมาแสดง นั่นก็คือ กล่องแรกรับค่าชื่อ กล่องที่ 2 รับค่าวันเกิด

และ msgbox บรรทัดสุดท้าย เป็นการสั่งให้คอมพิวเตอร์คิดหาอายุจากวันเกิด

โดยให้บอกเป็นปี โดยใช้คำสั่ง Datediff มีรุปแบบไวยากรณ์ดังนี้ครับ

-------------------------------------------------------------

Datediff  (dateinterval.ช่วงเวลาที่ต้องการหา , วันที่จะเปรียบเทียบ  , วันที่จะยึดเป็นตัวตั้ง)

--------------------------------------------------------------

ในตัวอย่าง ผมต้องการหาอายุเป็นปี  ก็จะใส่ช่วงเวลาที่ค้นหาดังนี้

Dateinterval.year ถ้าต้องการเป็นวันก็เปลี่ยนจาก year เป็น day และหากต้องการเป็นเดือนก็เปลี่ยนเป็น month ครับ

วันที่จะเปรียบเทียบ ก็คือวันเกิดของผม กรณีนี่รับค่าจากกล่องข้อความ จึงจำเป็นที่จะต้องบอกคอมว่า นี่คือวันที่นะ

ถึงต้องใช้คำสั่ง CDate มาครอบ เพราะหากไม่บอกคอมว่าเป็นวันที่ ก็จะไม่สามารถหาผลต่างตามปฏิทินได้ครับ

วันที่จะยึดเป็นตัวตั้ง ก็จะยึดจากวันที่ปัจจุบัน จึงใช้คำสั่ง Now ซึ่งหมายถึงให้คอมดึงค่าวันที่ปัจจุบันมา

 

เสร็จแล้วลองกดเครื่องหมาย play เพื่อ Run โปรแกรมเลยครับ จะได้หน้าจอข้างต้น

 

ใส่ข้อมูลลงไปดังรูปด้านล่าง ชื่อเป็นอะไรก็ได้ แต่วันที่ต้องเป็น วัน 2 หลัก เดือน 2 หลัก ปีคริสตศักราช 4 หลักครับ

 

เสร็จแล้วลองกดปุ่ม “บอกอายุฉันสิ” ครับ ลองดูว่าโปรแกรมของเราบอกอายุถูกหรือเปล่า  ^^

 

ตอนนี้คงพอแค่นี้นะครับ.... ไว้พบกันคราวหน้า เราจะมาสอนคอมให้เรียนเลขและคิดมากขึ้นกว่านี้กันครับ

 

A-Palace (เอวัง)

edit @ 26 Jan 2012 17:35:34 by Erosagape

Comment

Comment:

Tweet