วันพฤหัสบดีที่ 8 มิถุนายน พ.ศ. 2560

การเขียนโปรแกรม vb2010 ตอนที่ 9 Textbox

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


วิธีการใช้งาน  สำหรับวิธีการใช้งานก็เหมือนกับคอนโทรลอื่นทั่วไป คือ ใช้การดับเบิ้ลคลิก หรือ คลิกที่คอนโทรลแล้วไปวาดบนฟอร์มเลยก็ได้เหมือนกัน


หลังจากเราเลือกที่คอนโทรล Textbox แล้ว ระบบจะทำการตั้งชื่อแรกให้ คือ Textbox1 ต่อกันไปเรื่อยๆ ในกรณีที่เราใช้หลายๆตัว ทั้งนี้เราก็สามารถปรับเปลี่ยนชื่อ ได้ที่คุณสมบัติ Name นอกจากนี้เรายังสามารถปรับรูปแบบตัวอักษร ขนาด สี  ได้อีกด้วย 

การเขียนโค้ดเพื่อใช้งาน คอนโทรล  เราสามาถเขียนโค้ดเพื่อควบคุมการทำงานของ Textbox ได้อย่างง่าย เช่น ตัวอย่างโปรแกรม ต้องการบวกตัวเลขที่ใส่ไปในช่องที่ 1 หรือ Textbox1 กับ ช่องที่ 2 หรือ Textbox2 แล้วแสดงผลลัพธ์ที่ช่องที่ 3 หรือ Textbox3 เขียนโค้ดได้ง่ายๆโดยดับเบิ้ลคลิกที่ช่องที่ 2 แล้วเขียนโค้ด ในEvent  Key Press ตรวจสอบว่ามีการกด Enter หากมีการกด Enter ที่ช่องที่ 2 ให้ทำการ บวกช่องที่ 1 กับช่อง 2 ที่ช่องที่ 3 เขียนโค้ดแบบนี้ครับ


ตรวจสอบการกด Enter

                if e.keyChar = chr(13) then
                     Textbox3.text = Textbox1.text + Textbox2.text
                end if

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


ก็คำตอบมันผิดสิครับ  ตรงนี้ผมพยายามให้มันผิดก่อน เพื่อจะแทรกอะไรบางอย่างให้ครับ สาเหตุก็คือ เราใช้ Textbox คุณสมบัติคือ .Text ความหมายของมัน คือ อะไรก็ตามที่ใส่ไปในช่อง มันจะมองเป็น ตัวอักษรครับ หรือ String ฉะนั้น เวลาเจอโอเปอร์เรเตอร์ + มันก็เลยเอาตัวอักษรมาบวกกันครับ กลายเป็นเรียงไปซะอย่างนั้น  แล้วที่ว่าผมจะแทรกอะไรก็คือ  ฟังก์ชั่นการแปลงตัวอักษรเป็นตัวเลขครับ ที่ใช้บ่อยๆ พื้นๆก็คือ Int() อันนี้จำนวนเต็ม  ส่วนทศนิยมก็ Cdbl() อันนี้ทศนิยมได้ครับ เราก็เขียนแบบนี้ได้ครับ
                 
                   if e.keyChar = Chr(13) then
                         Textbox3.text = Int(Textbox1.Text)+Int(Textbox2.Text)
                   End if

เขียนจริงก็จะได้แบบนี้ครับ


จากนั้นเราทำการทดสอบโปรแกรมครับ




คราวนี้ ผลลัพธ์ออกมาถูกต้องครับ

สรุป  ในบทความนี้เราได้รู้จัก Textbox ครับ เครื่องมือที่เราใช้รับข้อมูลจากผู้ใช้  สามาถใช้การตรวจสอบการกด Enter ได้ รหัส KeyChar ของ Enter เท่ากับ 13 นั่นเอง และเราไม่สามารถนำค่าในช่อง Text ของ Textbox มาคำนวณได้เลยครับ ต้องมีการแปลงนิดหน่อยด้วย ฟังก์ชั่น Int() จำนวนเต็ม หรือ Cdbl() ทศนิยม ลองทำกันดูครับ ไม่ยากอย่างที่คิด

            

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

โปรแกรมตั้งเวลา เข้าแถว เปิดเสียงหมดเวลา หมดคาบเรียน หรือชั่วโมงเรียน

สวัสดีครับในรอบ 2 ปี ผมหายไปตั้งแต่ปี 2560 ไม่ได้มาเขียน Blog เลย วันนี้กลับมา พร้อมกับโปรแกรมตัวนึงที่เขียนขึ้นเพื่อใช้งาน เล่านิดนึงครับ ผ...