วันศุกร์ที่ 27 สิงหาคม พ.ศ. 2553

Visual Basic Guide Chapter 2 Working with Visual Basic

Chapter  2 Working with Visual Basic
การใช้งาน Visual Basic
การใช้งานคอนโทรลในการสร้างอินเตอร์เฟส
     จุดเริ่มต้นของการพัฒนาแอพพลิเคชันด้วย VB ก็คือการนำคอนโทรลชนิดต่างๆ ที่ VB จัดเตรียมไว้นำมาวาดอินเตอร์เฟส แอพพลิเคชันของคุณจะมีหน้าตา เป็นอย่างไร ก็อยู่ในขั้นตอนนี้ ถ้าคุณเริ่มต้นพัฒนาแอพพลิเคชันได้ดี โดยการออกแบบอินเตอร์เฟสที่ใช้งานง่าย เป็นมิตรกับผู้ใช้ มันจะส่งผลให้ระยะเวลา ในการพัฒนาแอพพลิเคชันหนึ่ง ลดลงไปได้มากทีเดียว เพราะสิ่งที่เหลืออยู่คือ การเขียนโค้ดเพื่อทำให้โปรเจ็กต์ของคุณทำงานให้สมบูรณ์มากที่สุด ผลงานของคุณก็จะออกมา เหมาะสมกับเวลาที่คุณต้องเสียไป

     คอนโทรลแต่ละชนิดจะมีหน้าที่ หรือจุดประสงค์ในการนำไปใช้งานต่างกัน เช่น คอนโทรล CommandButton ใช้สร้างปุ่มกดเพื่อตอบรับ, คอนโทรล OptionButton ใช้สำหรับให้ผู้ใช้มีทางเลือก, คอนโทรล TextBox ใช้รับและแสดงขัอมูลที่ผู้ใช้สามารถแก้ไขได้, คอนโทรล Label ใช้แสดงข้อมูล ที่ผู้ใช้ไม่สามารถแก้ไขได้ เป็นต้น


รูปที่ 1 - แสดงกลุ่มคอนโทรลมาตรฐานของ VB

 สำหรับ ชื่อของคอนโทรลแต่ละตัว คุณสามารถเลื่อนเมาส์ไปบริเวณบนตัวคอนโทรลนั้นๆ แล้วจะมี ToolTip แสดงชื่อของคอนโทรลนั้นๆ ให้ผู้ใช้ทราบ คุณจะได้พบกับ ToolTip ในทุกๆ  แอพพลิเคชันที่รันอยู่ภายใต้ Windows 98/95 และ NT ซึ่งถือได้ว่าเป็นมาตรฐานไปแล้ว และคุณก็สามารถทำให้แอพพลิเคชันของคุณมี ToolTip ได้ด้วย VB เช่นกัน


รูปที่ 2 -แสดง ToolTip ชื่อของคอนโทรล

รูปแบบการปรากฎของคอนโทรลแต่ละชนิดบนฟอร์ม
     คอนโทรลแต่ละชนิดมีรูปแบบการปรากฎตัว มีความแตกต่างกัน คอนโทรลบางตัวเมื่อคุณนำมาใช้งานอาจจะไม่มีการปรากฎตัวขึ้นมา หรืออาจจะปรากฎขึ้นมาเลยก็ได้ ซึ่งจะขึ้นอยู่กับหน้าที่ของแต่ละคอนโทรล สำหรับคอนโทรลที่คุณจะต้องใช้งานในทุกๆ แอพพลิเคชันจะมี เช่น CommandButton, TextBox, CheckBox, OptionButton, ScrollBar เป็นต้น คอนโทรลพวกนี้ถือได้ว่าเป็น คอนโทรลคลาสสิค หมายถึง เป็นคอนโทรลที่คุณพบเห็นได้ทั่วไป รูปแบบการปรากฎตัวของคอนโทรลสามารถแยกออกได้เป็น 2 แบบ คือ
1.ปราก ฎตัวทันทีเมื่อคุณนำมาใช้งาน หมายถึง คุณสามารถเห็นได้ในขณะที่คุณออกแบบ ที่เรียกว่า design time ซึ่งคอนโทรลส่วนใหญ่ จะมีลักษณะเช่นนี้
2.ไม่ปรากฎตัวเมื่อคุณนำมาใช้งาน หมายถึง คอนโทรลประเภทที่คุณไม่สามารถมองเห็นการทำงานของตัวมันในขณะออกแบบได้ มันจะทำงานอยู่เบื้องหลัง แอพพลิเคชันของคุณ ซึ่งจะเป็นเวลาในช่วงของการรันแอพพลิเคชัน ที่เรียกว่า run time เช่น คอนโทรล Timer, CommonDialog เป็นต้น


รูปที่ 3 แสดงรูปแบบของคอนโทรลหลายๆชนิดบนฟอร์ม

แนวทางในการออกแบบอินเตอร์เฟสแรกของคุณ
     สำหรับการออกแบบอินเตอร์เฟสของคุณ VB อนุญาตให้คุณสามารถที่จะวาดคอนโทรลได้อย่างอิสระ ไม่มีกฎเกณฑ์ตายตัว ณ ตำแหน่งใดก็ใด้ ที่อยู่ในบริเวณฟอร์ม คุณสามารถสร้างสรรค์ให้แอพพลิเคชันของคุณ มีหน้าตาเป็นอย่างไรก็ได้ แต่ขอให้คุณยึดถือไว้ว่า อินเตอร์เฟสที่ออกมา จะต้องเป็นมิตรกับผู้ใช้ มีรูปแบบเดียวกับแอพพลิเคชันทั่วๆไป ไม่ทำให้ผู้ใช้สับสนกับแอพพลิเคชันของคุณ ยกตัวอย่างเช่น ถ้าคุณออกแบบอินเตอร์เฟสให้ผู้ใช้ ต้องตอบคำถามมากมาย กว่าจะได้เซฟงาน, มีตัวเลือกมากจนกระทั่ง ผู้ใช้ไม่รู้ว่าจะเลือกอะไรดี, จัดวาง Lay out ไม่เป็นระเบียบ ไม่เป็นกลุ่ม, ทำให้ผู้ใช้สับสนในการใช้งาน สิ่งเหล่านี้ถ้าเป็นคุณพบเจอเอง เชื่อได้ว่าคุณจะเกิดความรู้สึก ไม่อยากใช้งานแอพพลิเคชันนั้นอีกเลย
     
แอพพลิเคชันทั่วๆไป คุณจะเห็นได้อย่างหนึ่งว่า จะพยายามเน้นที่การใช้งานง่าย รวดเร็ว 
และมีประสิทธิภาพ ซึ่งเป็นการอำนวยความสะดวกให้ผู้ใช้เป็นอันดับแรก แต่ภาระต่างๆ จะอยู่ที่โปรแกรมเมอร์ต่างหาก

     สิ่งที่จะสร้างแนวความคิดให้คุณออกแบบอินเตอร์เฟสได้อย่างรวดเร็วก็คือ การที่ตัวคุณเองจะต้องมีประสบการณ์ ในการใช้งานแอพพลิเคชันในด้านต่างๆ ให้มากที่สุด เท่าที่จะเป็นไปได้ แล้วตัวคุณเองจะได้ concept ในการสร้างแอพพลิเคชันได้อย่างไม่ยากเย็น ผู้เขียนมักจะใช้แอพพลิเคชันประเภท freeware หรือ shareware ต่างๆ เป็นแนวทางในการออกแบบอินเตอร์เฟส ในบางครั้งคุณอาจพบว่า แอพพลิเคชันประเภทนี้ ยังดีกว่าแอพพลิเคชันที่มีราคาสูงด้วยซ้ำ

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

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

     สำหรับวิธีการนำคอนโทรลมาใช้งาน วาดอินเตอร์เฟสบนฟอร์ม มี 2 วิธี คือ

1.คลิ๊กที่ตัวคอนโทรลนั้นๆ บน ToolBox แล้วนำไปวาดบนฟอร์ม  
     คุณสามารถกำหนดความกว้างและความยาวของคอนโทรลได้อย่างอิสระรวมถึงกำหนด ตำแหน่งได้เช่นกัน VB จะแสดง ToolTip แสดงขนาดของคอนโทรล โห้อัตโนมัติ ส่วนตำแหน่งของคอนโทรลดูได้จาก บนToolBar โดยแสดงแบบพิกัด co-ordinate วัดจากมุมซ้ายบนของฟอร์มที่บรรจุอยู่ ถ้าคอนโทรลนั้นอยู่ในคอนโทรล Frame ก็จะวัดจากมุมซ้ายบนของคอนโทรล Frame แทน ดังรูป
รูปที่ 4 -แสดง Tooltip บอกขนาดของ Control

 รูปที่ 5 - แสดงขนาดของ Control บนToolbar

2.ดับเบิ้ลคลิกที่คอนโทรลนั้นเลย จากนั้น VB จะนำ Control ไปวางบนฟอร์มให้คุณโดยอัตโนมัติ ซึ่ง VB จะตั้งค่า Default ไว้ให้คุณทั้งตำแหน่งและขนาดของControl แล้วคุณค่อยแก้ไขในภายหลังสำหรับคอนโทรล CommandButton คุณอาจจะใช้ขนาด default  ที่ VB ตั้วมาไปใช้งานได้เลย เพราะมีขนาดเหมาะสมอยู่แล้ว
รูปที่ 6 -แสดง CommandButton แบบ default

 สำหรับ การปรับขนาดของคอนโทรล ให้คุณคลิ๊กที่คอนโทรลนั้นๆ เพื่อให้อยู่ในสภาวะแอกทีฟ (active) แล้วจะมีปุ่มสี่เหลี่ยมทึบ 8 ปุ่มอยู่บนตัวคอนโทรล ให้คุณเลื่อนเมาส์ไปบริเวณปุ่มทึบ   (เคอร์เซอร์เปลี่ยนเป็นลูกศร 2 หัว) คุณก็สามารถปรับขนาดได้ตามต้องการ สำหรับการเลื่อนตำแหน่งของคอนโทรล คุณสามารถ drag เมาส์ บนคอนโทรลนั้นๆ แล้วย้ายไปยังตำแหน่งที่คุณต้องการโด้โดยตรง ซึ่งก็จะเหมือนกับ การใช้งานแอพพลิเคชันทั่วๆไป

พื้นฐานการเขียนโค้ด

สำหรับหัวข้อนี้จะเป็นขั้นตอนที่ต่อจากการออกแบบอินเตอร์เฟส หลังจากที่คุณได้ออกแบบอินเตอร์เฟสเรียบร้อยแล้ว คุณจะต้องเริ่มเขียนโค้ด สำหรับคอนโทรลแต่ละตัว เพราะเมื่อ คุณออกแบบอินเตอร์เฟสแล้ว มันยังไม่สามารถทำอะไรได้เลย ใน VB จะมี editor ไว้สำหรับให้คุณเขียนโค้ดโดยเฉพาะ เตรียมไว้ให้คุณแล้ว ดังรูป
รูปที่ 7 -แสดง Editor ของ VB

มี 2 วิธีที่คุณสามารถเรียก editor ขึ้นมาใช้งานคือ
1.ดับเบิลคลิ๊กที่ตัวคอนโทรลนั้นๆ
2.คลิกที่คอนโทรลนั้น ให้อยู่ในสภาพแอกทีฟ (active) หรือได้รับความสนใจ (focus) แล้วกด F7

การใช้งาน Editor

เครื่องมือตัวนี้ถือได้ว่าเป็นเครื่องมือที่มีความสำคัญมากที่สุด อีกตัวหนึ่งในบรรดาเครื่องมือที่ VB มี เพราะใช้สำหรับเขียนโค้ด ให้แอพพลิเคชันของคุณทำงานได้ (ผู้เขียนจะใช้คำว่า editor จะหมายถึง editor ของ VB) เครื่องมือตัวนี้คุณต้องใช้งานมากที่สุด ในขบวนการพัฒนาแอพพลิเคชันด้วย VB การศึกษาสภาพแวดล้อมของ editor จึงมีความสำคัญเป็นอย่างยิ่ง ไม่ยิ่งหย่อนไปกว่าส่วนใดๆ ใน VBIDE การทำความรู้จัก รูปแบบการใช้งาน และความหมายของส่วนต่างๆของ editor จะช่วยลดระยะเวลาในการเขียนโค้ดได้อีกระดับหนึ่ง จากรูปที่ 2.15 สามารถแยกส่วนต่างๆ ของ editor ออกได้เป็น 3 ส่วนดังนี้

1.ส่วน object list box มีหน้าที่แสดงชื่อคอนโทรลหรืออ๊อบเจ็กต์ที่คุณนำมาใช้งาน เมื่อคุณเพิ่มคอนโทรลเข้ามาในฟอร์ม รายชื่อของคอนโทรล จะถูกเพิ่มเข้ามาโดยอัตโนมัติ ถ้าคุณมีการเปลี่ยนแปลงชื่อของคอนโทรล (คุณสมบัติ Name) ชื่อที่ปรากฎอยู่ใน object list box ก็จะเปลี่ยนไปตามชื่อที่คุณตั้งไว้เช่นกัน
รูปที่8 -แสดงส่วน Object list box และ Control CommandButton ชื่อปกติและ CommandฺีButton
ที่เปลี่ยนชื่อแล้ว

 2.ส่วน event list box มีหน้าที่แสดงเหตุการณ์ (event) ของคอนโทรลที่ถูกเลือกใน object list box สนับสนุนอยู่ มันจะเปลี่ยนแปลงโดยอัตโนมัติ เมื่อคุณเปลี่ยนชนิดของคอนโทรลใน object list box ทั้ง 2 ส่วนนี้จะมีความสัมพันธ์กันตลอดเวลา

รูปที่ 9 -แสดงส่วน event list box และรายการ events ที่คอนโทรล CommandButton สนับสนุน

3.ส่วนการเขียนโค้ด เมื่อคุณเลือกคอนโทรลใน object list box และเลือกเหตุการณ์ใน event list box แล้ว VB จะสร้างโพรซีเดอร์ (procedure) ว่างๆขึ้นมาให้คุณโดยอัตโนมัติ ดังรูป
รูปที่ 10 - แสดงโพรซีเดอร์เหตุการณ์ Click ของคอนโทรล CommandButton

มาดูความหมายในแต่ละคำของโพรซีเดอร์ สำหรับพื้นที่ในการเขียนโค้ดจะอยู่ระหว่าง 2 บรรทัดดังกล่าว (ที่เคอร์เซอร์กระพริบอยู่)

Private เป็นคำสงวนที่กำหนดขอบเขตของโพรซีเดอร์
Sub เป็นคำสงวนที่บอกชนิดของโพรซีเดอร์ กรณีนี้เป็นแบบซับรูทีน (ในการใช้งานจริงจะมีรูปแบบของโพรซีเดอร์หลายชนิด เช่น โพรซีเดอร์ทั่วไป ฟังก์ชันที่คุณสร้างขึ้นมาเอง ซึ่งผู้เขียนจะกล่าวถึงในบทต่อๆไป)
Command1 หมายถึงชื่อของอ๊อบเจ๊กต์ หรือคอนโทรล ถ้าคุณมีการเปลี่ยนชื่อ (คุณสมบัติ Name) ส่วนนี้จะเปลี่ยนไปเป็นชื่อเดียวกับชื่อที่คุณตั้งไว้
_ เครื่องหมายอันเดอร์สกอร์ ใช้แบ่งชื่อของคอนโทรลและเหตุการณ์ออกจากกัน
Click เหตุการณ์ประจำโพรซีเดอร์ หมายความว่าโพรซีเดอร์นี้จะทำงานเมื่อมีการคลิกปุ่มที่ชื่อว่า Command1 เท่านั้น
( ) ในวงเล็บ อาจจะมีรายการตัวแปรที่คุณจำเป็นต้องใช้ในโพรซีเดอร์นี้ ซึ่งเรียกว่า อาร์กิวเมนต์ 
(arguments) ซึ่งในการใช้งานจริง คุณจะได้พบอีกเช่นกัน :-)
End Sub จบโพรซีเดอร์

โพรซีเดอร์ประจำคอนโทรล

เมื่อคุณนำคอนโทรลชนิดต่างๆ มาใช้งานแล้ว VB จะสร้างโพรซีเดอร์ว่างๆ พร้อมเหตุการณ์ประจำคอนโทรลนั้นๆ ขึ้นมาเสมอ โดยที่ VB จะคำนึงถึงหน้าที่ของแต่ละคอนโทรลเป็นหลัก แล้วสร้างโพรซีเดอร์เหตุการณ์ขี้นมาโดยอัตโนมัติ เช่น คอนโทรล CommandButton มีหน้าที่เป็นปุ่มให้ผู้ใช้คลิกตอบรับ (เหตุการณ์ Click) VB ก็จะสร้างโพรซีเดอร์ Private Sub Command1_Click( ), คอนโทรล TextBox มีหน้าที่รับหรือแสดงข้อมูล ที่ผู้ใช้สามารถเปลี่ยนแปลงได้ VB จะสร้างโพรซีเดอร์ Private Sub Text1_Change( ), ฟอร์ม เป็นตัวบรรจุคอนโทรลอื่นๆ และจะถูกโหลดเข้ามาในหน่วยความจำก่อนเสมอ VB จะสร้างโพรซีเดอร์ Private Sub Form_Load( ) เป็นต้น โพรซีเดอร์ต่างๆ ที่ VB สร้างขึ้นมา คุณไม่จำเป็นต้องใช้งานทั้งหมด หรือถ้าจะใช้ทั้งหมดก็ได้ คุณสามารถปล่อยให้เป็นโพรซีเดอร์ว่างๆ ได้ โดยไม่ปัญหาในการประมวลผลแต่อย่างใด

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

1.ให้คุณเลื่อกชนิดของคอนโทรล หรืออ๊อบเจ็กต์ใน object list box
2.เลือกเหตุการณ์ใน event list box
3.VB จะสร้างโพรซีเดอร์ใหม่ที่ตรงกับเหตุการณ์ที่คุณเลือกไว้ กับคอนโทรลนั้นๆ


 รูปที่ 11 -แสดงโพรซีเตอร์เหตุการณ์ LostFocus ของ ControlCommandButton ที่ถูกเพิ่มเข้ามา

 และถ้าในกรณีที่คุณเลือกคอนโทรลเหมือนกัน เหตุการณ์เหมือนกัน ในฟอร์มเดียวกัน VB จะสร้างโพรซีเดอร์เหตุการณ์ ให้กับคอนโทรลทั้ง 2 ตัว เพราะ VB ถือว่าเป็นคนละอ๊อบเจ็กต์กัน เช่น ถ้าคุณใช้งานคอนโทรล CommandButton 2 ตัว ซึ่งมีเหตุการณ์คลิกเหมือนกัน จึงมีเหตุการณ์คลิ๊ก 2 โพรซีเดอร์ สำหรับคอนโทรล Command1 และ Command2 ผู้ใช้คลิกปุ่ม Command1 อาจจะออกจากโปรแกรม ผู้ใช้คลิ๊ก  Command2 อาจจะแสดงข้อความ Hello World ! ก็ได้

รูปที่ 12 -แสดงโพรซีเดอร์เหตุการณ์คลิกของคอนโทรล CommandButton 2 ตัว 

 สำหรับ ในส่วน object list box จะมีรายการพิเศษที่เขียนว่า (General) และใน event list box จะเขียนว่า (declarations) จะเป็นพื้นที่พิเศษ ที่ใช้สำหรับประกาศ (declare) ตัวแปรต่างๆ, กลุ่มฟังก์ชัน Windows API เป็นต้น รายละเอียดผู้เขียนจะอธิบายอีกครั้งในบทที่ 3 

โค้ดชุดแรกของคุณ

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

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

Private Sub Command1_Click()
End
End Sub 
คำสงวน End เป็นการบอกให้รู้ว่า เมื่อผู้ใช้คลิ๊กปุ่ม Command1 แล้วให้จบการทำงาน ต่อไปผู้เขียนจะยกตัวอย่างที่แสดงให้เห็น การเชื่อมโยง 2 โพรซีเดอร์เข้าด้วยกัน ให้วาดอินเตอร์เฟสดังรูป และเขียนโค้ดต่อไปนี้
รูปที่ 13 -แสดงอินเตอร์เฟสเพื่อสั่งให้คอนโทรล TextBox แสดงข้อความ hello world
 
Private Sub Command1_Click ( )
Text1.Text = "hello world"
End Sub
Private Sub Command2_Click ( )
Text2.Text = " "
End Sub    

ให้ทดลองรันโปรแกรมโดยการคลิ๊กปุ่ม vbrun.jpg (577 bytes) บน ToolBar หรือกดปุ่ม F5 แล้วลองคลิ๊กที่ปุ่ม Command1 และ Command2 ดูผลที่เกิดขึ้น เมื่อคุณคลิ๊กที่ปุ่ม Command1 จะมีข้อความ hello world ปรากฎในคอนโทรล TextBox และเมื่อคลิ๊กที่ปุ่ม Command2 ข้อความดังกล่าวจะหายไป
 ทำความเข้าใจกับโค้ดชุดแรก

     มาลองดูความหมายของโค้ดที่คุณเขียนเข้าไป มีรายละเอียดดังนี้


Private Sub Command1_Click ( )
    
  หมายถึง โพรซีเดอร์นี้ทำงานเมื่อผู้ใช้คลิ๊กที่ปุ่ม Command1 เท่านั้น
Text1.Text = "hello world"
  หมายถึง สั่งให้คอนโทรล TextBox ที่ชื่อ Text1 แสดงข้อความ hello world ผ่านทางคุณสมบัติ Text เพราะว่าคุณสมบัติ Text นี้มีหน้าที่แสดงข้อความ ส่วนจุด . ใช้แยกชื่อคอนโทรลกับคุณสมบัติ (properties) หรือแยกชื่อคอนโทรลกับเมธอด (methods) กรณีนี้ Text เป็นคุณสมบัติของคอนโทรล TextBox
End Sub
  หมายถึง จบโพรซีเดอร์ Command1_Click ( )
Private Sub Command2_Click ( )
หมายถึง โพรซีเดอร์นี้ทำงานเมื่อผู้ใช้คลิ๊กที่ปุ่ม Command2 เท่านั้น
Text1.Text = " "
หมายถึง สั่งให้คอนโทรล TextBox ที่ชื่อ Text1 ไม่ต้องแสดงข้อความ เครื่องหมาย " " แทนข้อความว่างเปล่า
End Sub
จบโพรซีเดอร์ Command2_Click ( )         

หมายเหตุในการเขียนโค้ด (Comment)

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

     วิธีการเขียนหมายเหตุใน VB คือ จะใช้เครื่องหมาย ' (apostrophe) หน้าบรรทัดที่คุณต้องการทำหมายเหตุ แล้ว editor จะเปลี่ยนบรรทัดนั้น เป็นสีเขียว และจะไม่สนใจบรรทัดดังกล่าว ในการประมวลผลทันที คุณอาจใช้หมายเหตุ เพื่อทดสอบที่ละโพรซีเดอร์ก็ได้ เช่น กรณีที่โพรซีเดอร์เกิด error บ่อยมาก :-( คุณก็หมายเหตุโพรซีเดอร์ ที่ error ไว้ก่อนก็ได้ คุณอาจใช้คำสงวน Rem มาจากคำว่า Remark แทนเครื่องหมาย ' ก็ได้ โปรแกรมเมอร์ส่วนใหญ่ จะใช้หมายเหตุ ุเพื่อบอกความหมายของโค้ดเป็นช่วงๆ เสมอ แต่ผู้เขียนจะหมายเหตุเกือบทุกบรรทัด เพราะผู้เขียนยังไม่ใช่โปรแกรมเมอร์ :-)
คุณสมบัติและเมธอดของคอนโทรลคืออะไร
     สำหรับคอนโทรลและอ๊อบเจ็กต์ทุกชนิดใน VB จะมีคุณสมบัติและเมธอดประจำตัวของมันเอง ความหมายของทั้ง 2 อย่างมีดังนี้
คุณสมบัติ (properties) หมายถึง รูปร่าง ลักษณะ ความกว้าง ความยาว สี ฯลฯ ของตัวคอนโทรลหรืออ๊อบเจ็กต์ ขอให้คุณมองคอนโทรลหรืออ๊อบเจ็กต์ เป็นเสมือนวัตถุชิ้นหนึ่ง ที่มีความยาว ความกว้าง สีของตัวมันเอง คุณสามารถแก้ไขได้เหมือนดั่งเช่น คุณกำลังปรับแต่งวัตถุชิ้นหนึ่งอยู่

     สำหรับในแต่ละคอนโทรล หรืออ๊อบเจ็กต์ อาจจะมีคุณสมบัติที่เหมือนกัน หรือต่างกันก็ได้ ขึ้นอยู่กันหน้าที่ของแต่ละคอนโทรล คอนโทรลหรืออ๊อบเจ็กต์หนึ่งๆ จะมีคุณสมบัติมากมาย หลายอย่าง ยิ่งคุณสามารถปรับแต่งคุณสมบัติ ให้ตรงกับความต้องการของคุณ มากเพียงใด แอพพลิเคชันของคุณก็จะมีประสิทธิภาพมากขึ้นเท่านั้น ซึ่งถือได้ว่าเป็นจุดเริ่มต้นได้ดี ในการพัฒนาแอพพลิเคชัน คุณสามารถปรับแต่ง คุณสมบัติได้จากหน้าต่าง Properties หรือปรับแต่งด้วยการเขียนโค้ดก็ได้ จะมีคุณสมบัติบางตัว ที่ไมโครซอฟท์แนะนำให้ ปรับแต่งด้วยการเขียนโค้ด และบางตัวปรับแต่งด้วยการแก้ไขในหน้าต่าง Properties ซึ่งผู้เขียนจะอธิบายอย่างละเอียดอีกครั้ง ในการใช้งานแต่ละคอนโทรล และในทางปฏิบัติ คุณไม่จำเป็นต้องปรับแต่งทุกๆ คุณสมบัติ เพราะ VB ได้ตั้งค่า default ไว้ให้คุณแล้ว ซึ่งก็สามารถใช้งานได้ในระดับหนึ่ง

เมธอด (methods) หมายถึง พฤติกรรมของคอนโทรลหรืออ๊อบเจ็กต์ อาจกล่าวได้ว่า เป็นการควบคุมการทำงานของคอนโทรล หรืออ๊อบเจ็กต์นั่นเอง จะใช้จุดเป็นตัวคั่นระหว่าง ชื่อคอนโทรลกับเมธอด ซึ่งจะเห็นได้ว่า คุณสมบัติและเมธอดมีความใกล้เคียงกันมาก เนื่องจากจะใช้ จุด . เป็นตัวแยกระหว่าง ชื่อคอนโทรลกับคุณสมบัติ หรือชื่อคอนโทรลกับเมธอด   จะมีความแตกต่างกัน ในแง่ของการควบคุมคอนโทรล หรืออ๊อบเจ็กต์ ซึ่งคุณจะได้ศึกษาในหัวข้อต่อๆ ไป
ความสามารถพิเศษของ editor
     จากตัวอย่างข้างต้นจะพบว่า ขณะที่คุณพิมพ์โค้ดให้กับแต่ละโพรซีเดอร์ เมื่อคุณพิมพ์ . ตัว editor จะแสดง ToolTip ที่เป็นรายการคุณสมบัติ หรือรายการเมธอด ที่คอนโทรลนั้นสนับสนุนอยู่ขึ้นมาทันที มันช่วยให้คุณไม่ต้องไปจดจำว่า คอนโทรลนี้มีคุณสมบัติอะไรบ้าง มีเมธอดอะไร รวมถึงป้องกันไม่ให้คุณ พิมพ์ผิดอีกด้วย ดังรูป

รูปที่ 14 -แสดง ToolTip ของ editor ขณะเขียนโค้ด


และถ้าในการเขียนโค้ดที่ต้องมีการเรียกใช้งานฟังก์ชันมาตรฐานต่างๆ ToolTip ก็จะแสดงรูปแบบไวยากรณ์อีกด้วย
รูปที่ 15 - แสดงไวยากรณ์ประจำฟังก์ชันนั้นๆ

ความสามารถทั้ง 2 อย่างช่วยให้โปรแกรมเมอร์ย่นระยะเวลาในการเขียนโค้ดเป็นอย่างยิ่ง เพราะจะทำให้ข้อผิดพลาดที่เกิดจาก การใช้งานผิดไวยากรณ์ หรือพิมพ์ผิด หมดไปได้อย่างสิ้นเชิง และที่สำคัญคุณสามารถพัฒนาแอพพลิเคชันได้เต็มที่ โดยที่ไม่ต้องเสียเวลากับเรื่องที่คุณต้องท่องจำคุณสมบัติต่างๆ นานา รูปแบบการใช้งาน ที่มายมากเหลือเกิน ลำพังแค่ความรู้ เทคโนโลยีใหม่ที่เกิดขึ้นมา ก็แทบเรียนรู้กันไม่หมดแล้ว :-(  ซึ่งผู้เขียนเห็นว่า คุณสามารถแสดง ความสามารถได้สุดฝีมือ โดยที่ยังอยู่ในขอบเขตที่ VB จะทำได้ เพราะอย่างไร VB ก็ยังไม่สามารถเทียบเท่า Visual C++ อยู่ดี แต่คุณไม่ต้องห่วง ผู้เขียนเคยเห็นแอพพลิเคชันที่พัฒนาด้วย VB ที่มีการเขียนโค้ดแบบประยุกต์ โดยโปรแกรมเมอร์ต่างประเทศ ถ้าคุณทำได้ คุณก็สามารถพัฒนาแอพพลิเคชันที่มีประสิทธิภาพ ไม่ยิ่งหย่อนไปกว่าแอพพลิเคชันที่พัฒนาด้วย Visual C++ หรือภาษาอื่นๆ เลย :-)

     สิ่งที่น่าทึ่งอีกอย่างหนึ่งของ editor ก็คือ มันสามารถตรวจสอบไวยากรณ์ (syntax) ตามโครงสร้างของภาษา VB ได้อีกด้วย ซึ่งเรียกว่า Auto Syntax Check ขณะที่คุณพิมพ์โค้ดเข้าไป เมื่อคุณกด Enter จบบรรทัด VB จะทำการตรวจสอบไวยากรณ์ทันที ถ้ามีข้อผิดพลาด ในการใช้งานไวยากรณ์เกิดขึ้น VB จะแสดงข้อความช่วยเหลือที่เกี่ยวข้องกับความผิดพลาดนั้นๆ ขึ้นมาทันที ทำให้คุณแก้ไขความผิดพลาดนั้นได้อย่างถูกต้อง

รูปที่ 16 - แสดงข้อความช่วยเหลือ เมื่อคุณพิมพ์ผิดไวยากรณ์

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

  • ตัวแปร,ชื่อคอนโทรล,เหตุการณ์จะมีสีดำ
  • คำสั่ง,ฟังก์ชัน จะมีสีน้ำเงิน
  • หมายเหตุ จะมีสีเขียว
สิ่งหนึ่งที่จะทำให้เกิดข้อผิดพลาดได้ก็คือ ตัวแปรที่คุณประกาศใช้งานเป็นรูปแบบหนี่ง เวลาคุณพิมพ์อีกแบบหนี่ง VB จะเปลี่ยนให้คุณโดยอัตโนมัติ เช่น เมื่อคุณประกาศตัวแปร tName As String แต่เวลาที่คุณนำไปใช้ คุณพิมพ์ผิดเป็น tname VB จะทำการเปลี่ยนตัวแปรที่คุณพิมพ์ไม่เหมือนกับต้นแบบ ให้เหมือนกันโดยอัตโนมัติ และในกรณีที่คุณมีการใช้คำสั่ง (statement) (หรือคำสงวนประเภทที่ VB ให้คุณใช้ ซึ่ง คำสงวนนั้นจะมีผลในการทำงานของโค้ด ในโพรซีเดอร์ด้วย) VB จะเปลี่ยนอักษรตัวแรก ให้เป็นตัวใหญ่เสมอ เช่น เมื่อคุณพิมพ์ end เข้าไป VB จะเปลี่ยนเป็น End หรือเมื่อคุณพิมพ์  text1.text = "hello world" เข้าไป VB จะเปลี่ยนเป็น Text1.Text = "hello world" ให้คุณ

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


คุณสมบัติประจำตัวของคอนโทรล

     จากหัวข้อที่ผ่านมา ทำให้คุณทราบว่า คอนโทรลแต่ละชนิดล้วนแล้วแต่มีทั้งคุณสมบัติ และเมธอดทั้งสิ้น ยากแก่การจดจำ (และไม่ต้องจำ) แต่ในทุกๆ คอนโทรล จะมีคุณสมบัติอยู่ตัวหนึ่งที่ใช้สำหรับเก็บค่า แสดงค่า หรืออ่านค่าของตัวมันเอง เช่น คอนโทรล TextBox มีหน้าที่สำหรับ รับหรือแสดงข้อมูล ที่ผู้ใช้สามารถแก้ใขได้ ทั้ง 2 กรณีตัวคอนโทรล TextBox จะเก็บข้อมูลไว้ที่คุณสมบัติ Text จึงถือได้ว่า คุณสมบัติ Text เป็นคุณสมบัติประจำตัวของคอนโทรล TextBox, คอนโทรล CommandButton มีหน้าที่เป็นปุ่มกดรับคำสั่งของผู้ใช้ เช่น ปุ่ม OK , Cancel เป็นต้น คุณสมบัติที่จะแสดงชื่อปุ่มคือ คุณสมบัติ Caption, คอนโทรล Label มีหน้าที่แสดงข้อมูลให้ผู้ใช้ทราบ โดยที่ผู้ใช้ไม่สามารถแก้ไขได้ ก็จะมีคุณสมบัติ Caption เป็นตัวเก็บค่า เป็นต้น ซึ่งคุณสมบัติที่กล่าวมาคุณจะต้องเข้าไปใช้งานอย่างแน่นอน ตารางต่อไปนี้ เป็นคุณสมบัติประจำตัวของแต่ละคอนโทรล






































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

รูปแบบที่ 1 Text1.Text ="hello world"
รูปแบบที่ 2 Text1 = "hello world"

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


การเปิดโปรเจ็กต์ที่มีอยู่แล้ว

1.ให้คุณเลือกเมนู File/Open Project หรือคลิ๊กที่ปุ่ม vbopenproject.jpg (1252 bytes) ที่ทูลบาร์ แล้ว VB จะแสดงไดอะล๊อกบ๊อกซ์ Open Project ดังรูป

รูปที่ 17 -แสดงไดอะล๊อกบ๊อกซ์ Open Project 

2.แท็บ Existing หมายถึง คุณต้องการเปิดโปรเจ็กต์ที่มีอยู่ โดยที่ไม่สนใจว่าจะเป็นโปรเจ็กต์ที่คุณสร้างมาเมื่อใด ส่วนแท็บ Recent หมายถึง คุณต้องการเปิดโปรเจ็กต์ที่คุณพัฒนาครั้งหลังสุด ซึ่งจะแสดงไดรฟ์ และโฟลเดอร์ที่เก็บโปรเจ็กต์นั้นๆ อยู่

การเพิ่มโปรเจ็กต์ เข้ามาในสภาพแวดล้อม

1.ให้คุณเลือกเมนู Project/Add Project แล้ว VB จะแสดงไดอะล๊อกบ๊อกซ์  Add Project ดังรูป
 รูปที่ 18 - แสดงไดอะล๊อกบ๊อกซ์ Add Project

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

การถอดโปรเจ็กต์ออกจากสภาพแวดล้อม

     จะใช้สำหรับกรณีที่คุณมีการเพิ่มโปรเจ็กต์เข้ามา แล้วคุณต้องการถอดโปรเจ็กต์นั้นๆ ออกจากสภาพแวดล้อม คุณต้องทำดังนี้
1.ให้คุณเลือกโปรเจ็กต์ที่คุณต้องการถอด จากหน้าต่าง Project Explorer ดังรูป


รูปที่ 19 -แสดงการเลือกโปรเจ็กต์ที่คุณต้องการถอดออกจากสภาพแวดล้อม 

2.เลือกคำสั่ง File/Remove Project

การเพิ่ม Form หรือโมดูลอื่นๆ เข้ามาในสภาพแวดล้อม

1.ให้คุณเลือกเมนู Project จากนั้น ให้คุณเลือกชนิดของโมดูล ที่คุณต้องการเพิ่มเข้ามาในสภาพแวดล้อม และถ้าในกรณีที่คุณต้องการเพิ่ม Form เข้ามาในโปรเจ็กต์ คุณสามารถคลิ๊กที่ปุ่ม  vbaddform.gif (985 bytes)   บนทูลบาร์เลยก็ได้
 รูปที่ 20 -แสดงการเพิ่ม Form เข้ามาในโปรเจ็กต์

แท็บ Existing หมายถึง คุณต้องการเพิ่มฟอร์มเดิมที่มีอยู่แล้ว ในกรณีนี้เป็นการเพิ่มฟอร์มว่างๆ เข้ามาในสภสพแวดล้อม สำหรับไอคอนต่างๆ มีความหมายดังนี้


2.ให้คุณสังเกตที่หน้าต่าง Project Explorer จะมีรายการแสดงเพิ่มขึ้นมา ซึ่งอยู่ภายใต้ Project เดียวกัน จากรูปจะเห็นว่า Project1 ประกอบด้วย Form 2 ฟอร์ม
 รูปที่ 21 - แสดง Form ที่ถูกเพิ่มเข้ามาในโปรเจ็กต์

การเซฟโปรเจ็กต์

1.ให้คุณเลือกเมนู File/Save Project Group As... หรือคลิ๊กที่ปุ่ม vbsave.gif (881 bytes) บน Tool Bar แล้ว VB จะแสดงไดอะล๊อกบ๊อกซ์ เซฟโปรเจ็กต์ ดังรูป ซึ่ง VB จะแสดงรายการส่วนประกอบต่างๆ ที่อยู่ในโปรเจ็กต์นั้นๆ ให้คุณทราบด้วย
 รูปที่ 22 -  แสดงไดอะล๊อกบ๊อกซ์เซฟโปรเจ็กต์

2.คลิ๊กปุ่ม vbok.gif (1004 bytes)
ในกรณีที่คุณเลือกคำสั่ง Save Form As... หมายถึง เป็นการเซฟเฉพาะฟอร์มที่คุณใช้งานอยู่เท่านั้น

การทดสอบ (run) โปรเจ็กต์

1.ให้คุณเลือกเมนู Run/Start หรือกดปุ่ม F5 ที่คีย์บอร์ด หรือกดปุ่ม vbrun.jpg (577 bytes) ที่ทูลบาร์
2.ที่ฟอร์มจะมีการเปลี่ยนรูปแบบ ไม่มีเส้นกริด   และจะปรากฎหน้าต่าง Immediate ด้านล่างของสภาพแวดล้อม
3.ถ้าคุณมีการสั่งให้พิมพ์โดยผ่านทางคำสั่ง Debug.Print ที่หน้าต่าง Immediate จะแสดงผลจากการประมวลผลด้วย
4.คุณจะสังเกตเห็นว่าที่บนทูลบาร์ จะมีปุ่ม  vbpause.jpg (819 bytes)  และ vbstop.gif (889 bytes)  มีสถานะ Active อยู่ โดยมีความหมายดังนี้
  • ปุ่ม vbstop.gif (889 bytes) หมายถึง ให้หยุดการรันโปรเจ็กต์
  • ปุ่ม vbpause.jpg (819 bytes) หมายถึง ให้หยุดรันโปรเจ็กต์ชั่วคราวเพื่อ แก้ไขโค้ด
 Credit : http://kampol.htc.ac.th/web1/subject/programming2/sheet/vb6/vbch02.html

วันพุธที่ 25 สิงหาคม พ.ศ. 2553

Visual Basic Guide Chapter 1 Getting Started

 Chapter 1 Getting Started
สิ่งที่ควรรู้ก่อนเริ่มเล่น Visual Basic
โดยทั่วๆไปสำหรับแนวทางการเขียนโปรแกรมด้วยภาษา VB จะเป็นไปในลักษณะการนำคอนโทรลชนิดต่างๆ เช่น TextBox, Label, ComboBox เป็นต้น นำมาวาด เพื่อออกแบบหน้าตาแอพพลิเคชันที่เรียกว่า กราฟฟิกยูสเซอร์ อินเตอร์เฟส (Graphic User Interface-GUI ) คุณสามารถที่จะออกแบบ อินเตอร์เฟสได้อย่างอิสระ ให้ตรงกับจุดประสงค์และ การนำไปใช้งานของคุณก่อน แล้วจึงเริ่มเขียนโค้ด เพื่อตอบสนองการกระทำของผู้ใช้ (ใน VB เรียกว่า เหตุการณ์ event) ซึ่งถือเป็นหลักการเขียนโปรแกรมที่เรียกว่า การเขียนโปรแกรมเพื่อตอบสนองเหตุการณ์ที่เกิดขึ้น (Event-Driven Programming)
Hardware ที่เหมาะสมกับการเล่น Visual Basic 6.0

     เพื่อที่จะสามารถรัน Visual Basic ได้อย่างไม่มีปัญหา คุณต้องแน่ใจก่อนว่า hardware และ software ของคุณพร้อมแล้ว ซึ่งความต้องการของระบบมีดังนี้

    * Microsoft Windows 95 หรือมากกว่า, หรือ Microsoft Windows NT Workstation 4.0 (Service Pack 3 recommended) หรือมากกว่า
    * 486DX/66 MHz หรือสูงกว่า (แนะนำให้ใช้ Pentium หรือสูงกว่า), หรือชิป Alpha processor ที่สามารถรัน Microsoft Windows NT Workstation ได้
    * ไดรฟ์ CD-ROM
    * การ์ด VGA หรือสูงกว่า สนับสนุนการแสดงผลระบบ Windows
    * แรม 16 MB สำหรับ Windows 95, 32 MB สำหรับ Windows NT Workstation.
    * เมาส์ และอื่นๆที่ระบบ Windows รองรับ

เริ่มต้นกับ Visual Basic

     สิ่งแรกที่คุณจะได้พบเมื่อคุณเข้าสู่โปรแกรม VB  ก็คือ VB จะแสดงไดอะล๊อกบ๊อกซ์ เพื่อให้คุณเลือกพัฒนาชนิดของแอพพลิเคชัน ใน VB   ชนิดของแอพพลิเคชันมีมากมายหลายชนิด เช่น ชนิด DHTML เป็นแอพพลิเคชันที่ใช้รันบน web คุณสามารถสร้างเว็บเพจแบบ DynamicHTML ได้ตรงตามมาตรฐานขององค์การ w3 consurtium ซึ่งคุณสามารถตรวจสอบได้จาก www.w3.org/ ชนิด ActiveX.dll ซึ่งเป็นโปรเจ็กต์ที่ทำงานในลักษณะ In-Process จัดเก็บอยู่ในลักษณะไฟล์ไลบราลี่ (*.dll) เป็นต้น



ในเบื้องต้นผู้เขียนขอแนะนำให้เลือกพัฒนาแอพพลิเคชันชนิด Standard.EXE ก่อน เพราะเป็นแอพพลิเคชัน ที่ใช้ทั่วๆไป เมื่อคุณคอมไพล์ (compile) โปรเจ็กต์แล้ว จะได้แอพพลิเคชันที่มี นามสกุล .exe เมื่อคุณเลือก ชนิดของแอพพลิเคชันแล้ว จะเข้าสู่สภาพแวดล้อม (environment) ของ VB 6.0 ซึ่งไมโครซอฟท์เรียกว่า Integrated Development Environment - VBIDE 

ทำความเข้าใจกับส่วนต่างๆของ VBIDE

     VBIDE คือ กลุ่มของเมนู, ทูลบาร์, หน้าต่าง properties, หน้าต่าง project explorer ฯลฯ ที่ประกอบกันขึ้นมาเป็นสภาพแวดล้อมของโปรแกรม VB 6.0 ดังนั้น ต่อไปถ้าผู้เขียนจะกล่าวถึงสภาพแวดล้อมของ VB 6.0 ผู้เขียนจะใช้คำว่า " VBIDE "

ในแต่ละส่วนของ VBIDE จะมีหน้าที่แตกต่างกันไป ซึ่งในระหว่างการพัฒนาแอพพลิเคชัน คุณจะต้องใช้ส่วนต่างๆ เหล่านี้ ในการพัฒนาแอพพลิเคชัน เช่น แถบเมนูบาร์ (Menu Bars) จะมีคำสั่งต่างๆ ที่ครอบคลุมการทำงานทั้งหมดในการพัฒนา, แถบทูลบาร์ (Tool Bars) จะประกอบไปด้วย ปุ่มต่างๆ ที่แทนคำสั่งในเมนูที่ใช้งานบ่อยๆ เช่น การเปิดโปรเจ็กต์, เซฟโปรเจ็กต์ เป็นต้น หัวข้อนี้จะเป็นการอธิบายการใช้งาน VBIDE เบื้องต้นที่คุณควรทราบ
     สำหรับในส่วนที่ผู้เขียนไม่ได้อธิบายในหัวข้อนี้ ผู้เขียนจะอธิบายเมื่อเนื้อหามีความสัมพันธ์กับ VBIDE ส่วนนั้นๆ ซึ่งจะทำให้คุณ สามารถทำความเข้าใจได้อย่างต่อเนื่อง และรวดเร็ว ส่วนเมนูบาร์ผู้เขียนจะไม่อธิบายโดยตรง เพราะเนื่องจากว่า คำสั่งในเมนูบาร์ที่มีการใช้งานบ่อย เกือบทั้งหมด ได้ถูกรวบรวมไว้ในทูลบาร์แล้ว ดังนั้นเมื่อมีการกล่าวถึงการใช้งานทูลบาร์ใด ผู้เขียนจะอ้างถึงคำสั่งในเมนูบาร์ด้วย

หน้าต่าง New Project (New Project Window)

     หน้าต่าง New Project จะปรากฎขึ้นมาเมื่อคุณเริ่มต้นรัน VB หรือเลือกเมนู File/New Project ไดอะล๊อกบ๊อกซ์นี้ จะแสดงชนิดของแอพพลิเคชัน ที่คุณต้องการพัฒนา ไอคอนแต่ละตัวจะแทนประเภทของแอพพลิเคชัน ซึ่งสื่อด้วยชื่อ หรือนามสกุลที่ปรากฎประจำตัวไอคอนนั้นๆ โดยปกติแล้ว แอพพลิเคชันชนิด Standard.EXE จะเป็นแอพพลิเคชันพื้นฐาน ที่คุณควรจะเริ่มต้นพัฒนา เพราะเป็นแอพพลิเคชันที่ใช้งานโดยทั่วไป ไฟล์ที่ได้จากการ คอมไพล์แล้วจะมีนามสกุล .exe 


  สำหรับรายละเอียดแอพพลิเคชันชนิดอื่นๆ มีดังนี้
 
          - ใช้พัฒนาแอพพลิเคชันทั่วๆไป
- ใช้พัฒนาแอพพลิเคชันที่สามารถใช้งาน และเชื่อมโยงกับแอพพลิเคชันอื่นๆ                                        ที่สนับสนุนเทคโนโลยี ActiveX
- เป็นแอพพลิเคชันชนิดเดียวกันกับ ActiveX.EXE แต่จะเก็บอยู่ในลักษณะไฟล์ไลบราลี่ .dll (In-Process) ซึ่งไม่สามารถรันได้ด้วยตัวมันเอง จะต้องถูกเรียกใช้งานจากแอพพลิเคชันอื่นๆ
  - ใช้สร้างคอนโทรล ActiveX ขึ้นมาใช้งานเอง 
  - เป็นเครื่องมือที่อำนวยความสะดวกให้สามารถสร้างแอพพลิเคชันได้อย่างรวดเร็ว โดยมันจะสร้างองค์ประกอบเบื้องต้นหลักๆ ของแอพพลิเคชัน จากขั้นตอนที่คุณได้เลือกไว้ แอพพลิเคชันที่ได้จะมีความสมบูรณ์ในระดับหนึ่งเท่านั้น คุณต้องปรับปรุง, เพิ่มเติมและแก้ไข เพื่อทำให้เป็นมาตรฐานยิ่งขึ้น ถือได้ว่าเป็นเครื่องมือที่ช่วยให้โปรแกรมเมอร์ เริ่มต้นโปรเจ็กต์ได้เป็นอย่างดี   ผู้เริ่มต้นอาจใช้เครื่องมือตัวนี้ เพื่อศึกษาแนวทางในการพัฒนาแอพพลิเคชันก็ได้
 - ใช้สำหรับสร้างโปรแกรมการจัดการต่างๆ เช่นการติดต่อกับฐานข้อมูล เป็นต้น
                              
 - เป็นชนิดโปรเจ็กต์ที่เป็นแบบฟอร์ม เพื่อติดต่อกับฐานข้อมูลโดยผ่านทางคอนโทรล ADO Data Control
 - แอพพลิเคชันชนิด  Web Server 
- ใช้สำหรับเพิ่มเติม utility เข้าไปใน VBIDE เพื่อเพิ่มความประสิทธิภาพ ซึ่งอาจจะมาจากผู้ผลิตอิสระรายอื่นๆ (Third-Party) หรือเพิ่มเครื่องมืออื่นๆ เข้ามาใน VBIDE ก็ได้ 
 - ใช้สร้างแอพพลิเคชันชนิดที่รันบน Internet จะเก็บอยู่ในรูปไฟล์ .dll ไม่สามารถรันได้ด้วยตัวมันเอง ต้องให้แอพพลิเคชันอื่นๆ ที่สนับสนุนเทคโนโลยี ActiveX เรียกใช้งาน 
 - ใช้สร้างแอพพลิเคชันชนิดที่รันบน Internet เช่นกัน แต่จะเก็บอยู่ในรูปไฟล์ .exe สามารถรันได้ด้วยตัวเอง แต่ server จะต้องสนับสนุนเทคโนโลยี  ActiveX ด้วยเช่นกัน 
 - ใช้พัฒนาแอพพลิเคชันรูปแบบของเอกสาร Dynamic HTML ซึ่งจะเป็นมาตรฐานใหม่ของการแสดงผลบน web
 - ใช้สำหรับโหลด VBIDE ในรูปแบบที่ใช้พัฒนาแอพพลิเคชันในระดับ Enterprise ซึ่ง VB จะเพิ่มเติมคอนโทรล ActiveX อีกจำนวนหนึ่งขึ้นมาโดยอัตโนมัติ เหมาะสำหรับเครื่องที่มีประสิทธิภาพสูง และใช้กับโปรแกรมเมอร์มืออาชีพ ที่มีความเชียวชาญมากพอสมควร 
สำหรับในไดอะล๊อกบ๊อกซ์ New Project จะมีแท็บ (Tab) อยู่อีก 2 แท็บมีรายละเอียดดังนี้ 
 
  • แท็บ Existing ใช้สำหรับเปิดโปรเจ็กต์ที่คุณมีอยู่แล้ว
  • แท็บ Recent จะแสดงรายชื่อโปรเจ็กต์ที่ถูกพัฒนาขึ้นมาครั้งล่าสุด โดยจะจัดเรืยงลำดับไปเรื่อยๆ จะแสดงรายละเอียดไดรฟ์, โฟล์เดอร์ และชื่อโปรเจ็กต์ ที่คุณจัดเก็บไว้





    ทูลบาร์ (Tool Bars)

         เป็นที่รวบรวมคำสั่งที่ใช้งานในการพัฒนาแอพพลิเคชันบ่อยที่สุด ซึ่งจะมีคำสั่งเหมือนกันกับเมนูบาร์ คุณสามารถที่จะปรับแต่งทูลบาร์นี้ได้ โดยการเลือกเมนู View/Toolbars (หรือให้คุณคลิ๊กขวาบริเวณใดก็ได้บนทูลบาร์จะมี Pop-up เมนูปรากฎขึ้นมา ซึ่งจะมีคำสั่งให้เลือกเช่นกัน) สำหรับชื่อของปุ่มต่างๆ ที่อยู่บนทูลบาร์ คุณไม่จำเป็นต้องไปจดจำว่า มันแทนคำสั่งอะไร เพียงแต่ให้คุณเลื่อนเมาส์ไปวางบนปุ่มนั้น 2-3 วินาที จะมี ทูลทิป (ToolTip) ขึ้นมา เพื่อบอกคำสั่งที่ปุ่มนั้นทดแทนอยู่ 
     ทูลบาร์สามารถแบ่งออกได้เป็น 4 กลุ่มใหญ่ๆ คือ
    1.ทูลบาร์ Standard ถือได้ว่าเป็นทูลบาร์ปกติ (default) ที่คุณต้องใช้งานทุกครั้งและบ่อยที่สุด เนื่องจากว่าประกอบไปด้วย คำสั่งที่เกี่ยวกับการใช้งานทั่วๆ ไป เช่น การเปิดโปรเจ็กต์, เซฟโปรเจ็กต์ เป็นต้น เป็นหัวใจหลักของทูลบาร์เลยก็ว่าได้ ซึ่งรวบรวมคำสั่งมาจากเมนู File, Project, Debug, Run, Tool เป็นต้น







    2.ทูลบาร์ Edit จะใช้ทูลบาร์นี้เมื่อคุณเริ่มเขียนโค้ดใน code editor คำสั่งหลักของทูลบาร์กลุ่มนี้ก็คือ Cut,Paste ซึ่งก็คือ คำสั่งในเมนู Edit นั่นเอง







    3.ทูลบาร์ Debug จะประกอบไปด้วยคำสั่งที่ใช้ในการตรวจสอบโค้ดของคุณ เช่น Run,Stop,Pause เป็นต้น เป็นกลุ่มคำสั่งที่คุณต้องใช้บ่อยเช่นกัน เพราะจะเป็นการทดสอบโค้ดของคุณว่าทำงานได้ตามความต้องการของคุณหรือไม่ ในบางครั้งอาจต้องใช้ควบคู่ไปกับหน้าต่าง Immediate







    4.ทูลบาร์ Form Editor คุณจะใช้กลุ่มคำสั่งนี้เมื่อคุณต้องการปรับขนาด, ย้าย, เปลี่ยนตำแหน่งคอนโทรลต่างๆ ที่อยู่บนฟอร์ม เป็นคำสั่งที่เหมือนกับเมนู Format  






    ทูลบ๊อกซ์ (Tool Box)


         แถบทูลบ๊อกซ์เป็นที่รวบรวมคอนโทรล (controls) ต่างๆ ที่ใช้ในการพัฒนาแอพพลิเคชัน คุณสามารถเลือกใช้คอนโทรลได้จากที่นี่ คอนโทรลเป็นสิ่งที่อยู่เบื้องหลัง ความสำเร็จของ Visual Basic ทุกเวอร์ชัน เพราะมันได้ซ่อนความยุ่งยากด้านเทคนิค ไว้ภายใต้การเลือกใช้งานที่แสนง่าย ตัวคอนโทรลใน VB สามารถแยกออกเป็นกลุ่มใหญ่ๆได้ 2 กลุ่มคือ












     1.คอนโทรลภายใน (Intrinsic controls) เป็นชุดคอนโทรลมาตรฐานของ VB ทุกๆ ครั้งที่คุณรัน VB คอนโทรลกลุ่มนี้ จะถูกโหลดขึ้นมาโดยอัตโนมัติ   คุณสามารถเลือกใช้งาน คอนโทรลกลุ่มนี้ได้ทันที โดยที่ไม่ต้องใช้ไฟล์เพิ่มเติม และคุณไม่สามารถถอด (remove) คอนโทรลชุดนี้ออกจาก VBIDE ได้ เป็นชุดคอนโทรลที่ใช้งาน โดยทั่วไปในทุกๆ แอพพลิเคชัน คุณจะต้องใช้งานคอนโทรลกลุ่มนี้มากที่สุด









      2.คอนโทรล ActiveX (ActiveX controls) เป็นชุดคอนโทรลที่ไมโครซอฟท์ ผนวกเอาเทคโนโลยี ActiveX เข้าไปด้วย ถือเป็นคอนโทรลเพิ่มเติม ถ้าคุณต้องการใช้งานคอนโทรลกลุ่มนี้ คุณต้องใช้ไฟล์ *.ocx ประจำแต่ละคอนโทรล เข้ามาประกอบในโปรเจ็กต์ด้วย การเพิ่มคอนโทรลกลุ่มนี้เข้ามาในทูลบ๊อกซ์ โดยการเลือกเมนู Project/Components… (หรือคลิ๊กขวาบริเวณแถบทูลบ๊อกซ์เลือกคำสั่ง Components…ก็ได้) การใช้งานเบื้องต้น ผู้เขียนขอแนะนำให้คุณยังไม่ต้องเพิ่มเติมคอนโทรลในชุดนี้








    ฟอร์ม (Form1)

         ฟอร์มถือได้ว่าเป็นอ๊อบเจ็กต์ตัวแรกที่คุณได้ใช้งาน คุณต้องใช้ร่วมกับคอนโทรลต่างๆ ประกอบกันขึ้นมาเป็นแอพพลิเคชันหนึ่งๆ  ฟอร์มจัดได้ว่า เป็นตัวบรรจุ     (container) คอนโทรลอื่นๆ   และทุกครั้งที่คุณรัน VB ขึ้นมา ฟอร์มว่างๆ จะถูกโหลดขึ้นมาเสมอ ซึ่งจะมีความสัมพันธ์กับหน้าต่าง Project Explorer ที่จะกล่าวถึงต่อไปด้วย ใน 1 โปรเจ็กต์จะประกอบไปด้วยอย่างน้อยที่สุด 1 ฟอร์ม (มีโปรเจ็กต์บางชนิดจะไม่มีฟอร์ม เช่น พวกนามสกุล .dll เป็นต้น มันจะทำงานร่วมกับระบบ (In-Process)






    หน้าต่าง Project Explorer (Project Explerer Window)

          หน้าต่าง Project Explerer ช่วยให้คุณสามารถบริหารและจัดการหลายๆโปรเจ็กต์ได้ในเวลาเดียวกันอย่างมีประสิทธิภาพ เพราะเนื่องจาก VB 6.0 สนับสนุนการพัฒนาแบบ Multiple Project ซึ่งสามารถเซฟโปรเจ็กต์เป็นกลุ่มงานได้ (นามสกุล .vbg) โดยที่ VB จะจัดกลุ่มโปรเจ็กต์ต่างๆ ให้คุณโดยอัตโนมัติ   ซึ่งถ้ามีโปรเจ็กต์เดียวก็จะมีนามสกุล .vbp







      หน้าต่าง Project Explorer จะแสดงรายการองค์ประกอบของแต่ละโปรเจ็กต์ แบบโครงร่างต้นไม้ (tree-view) ตัวโปรเจ็กต์จะถือว่า เป็นตัวแทนแอพพลิเคชันทั้งหมด ซึ่งจะอยู่ส่วนบนสุด ถัดมา จะแสดงองค์ประกอบต่างๆ ของโปรเจ็กต์นั้นๆ ว่าประกอบด้วยอะไรบ้าง เช่น มีฟอร์มกี่ฟอร์ม, มีกี่โมดูล เป็นต้น ถ้ามี 2 โปรเจ็กต์ขึ้นไป ก็จะแสดงแยกออกเป็นส่วนต่างหากอีกโปรเจ็กต์ ถ้าคุณต้องการใช้งานส่วนใด ของโปรเจ็กต์ไหน คุณสามารถคลิ๊กเลือกได้โดยตรง ซึ่งคุณต้องพิจารณาด้วยว่า รายการใดอยู่ภายในโครงสร้างของโปรเจ็กต์ไหน ก็จะเป็นองค์ประกอบของโปรเจ็กต์นั้นๆ ดังรูป






     
      ในโปรเจ็กต์หนึ่งจะประกอบไปด้วยอย่างน้อยที่สุด 1 ฟอร์ม (ยกเว้นกรณีที่คุณสร้างแอพพลิเคชันชนิด *.dll ไม่จำเป็นจะต้องมีฟอร์ม) ถ้าคุณต้องการเพิ่มฟอร์มเข้าไปในโปรเจ็กต์ใด ให้ทำดังนี้ 

    หน้าต่างคุณสมบัติ (Properties Window)

         หน้าต่างคุณสมบัติ จะมีความสัมพันธ์กับฟอร์ม, คอนโทรล หรืออ๊อบเจ็กต์ใดๆ ที่มีสถานะแอกทีฟ (active) หรือได้รับความสนใจ (focus) อยู่ในขณะนั้น โดยที่ VB จะเปลี่ยนแปลงหน้าต่างคุณสมบัติให้ตรงกับอ๊อบเจ็กต์ โดยอัตโนมัติ ซึ่งในส่วนนี้คุณสามารถอ่านค่า, ปรับแต่งค่าเริ่มต้น (initial) ของคอนโทรล หรืออ๊อบเจ็กต์ใดๆ ได้จากหน้าต่างนี้ ถือได้ว่าเป็นหัวหลักอันหนึ่งของการ programming ด้วย VB ที่ช่วยให้คุณเขียนโค้ดเป็นอย่างยิ่ง










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







     
    ในหน้าต่างคุณสมบัติ จะประกอบไปด้วยแท็บ 2 แท็บคือ






    • แท็บ Alphabetic เป็นแท็บที่แสดงรายการคุณสมบัติ เรียงตามตัวอักษรในภาษาอังกฤษ
    • แท็บ Categorized เป็นแท็บที่แสดงรายการคุณสมบัติ โดยการจัดกลุ่มของคุณสมบัติที่มีหน้าที่คล้ายกัน หรือมีความสัมพันธ์กัน 

      



    คุณสามารถเลือกรายการคอนโทรลใดได้จากหน้าต่างคุณสมบัติเช่นกัน โดยคลิ๊กที่ drop-down list box มันจะแสดงรายการคอนโทรลที่คุณใช้งานอยู่ และคุณยังสามารถทราบความหมายเบื้องต้น ของคุณสมบัติที่คุณเลือก โดยคำนิยามสั้นๆ ที่อยู่ด้านล่างอีกด้วย











    หน้าต่าง Form Layout

         หน้าต่าง Form Layout ใช้สำหรับกำหนดตำแหน่งของฟอร์ม ที่จะปรากฎบนจอภาพในขณะรัน คุณสามารถกำหนดตำแหน่งของฟอร์ม โดยการเคลื่อนย้ายฟอร์มจำลอง ที่อยู่ในจอภาพจำลอง ด้วยการ drag เมาส์ ไปยังตำแหน่งที่คุณต้องการ  (เมาส์เปลี่ยนเป็นรูปร่าง ลูกศร 4 ทาง) มีข้อสังเกตคือ เมื่อคุณเคลื่อนย้ายฟอร์มจำลองแล้ว ฟอร์มจริงไม่ได้เคลื่อนย้ายไปยังตำแหน่งดังกล่าวแต่อย่างใด เพราะว่ามันจะมีผลในขณะรันเท่านั้น






    หน้าต่างแสดงผลทันที (Immediate Window)

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






    สภาพแวดล้อมโดยรวมของ VBIDE

    สภาพแวดล้อมของ VBIDE สามารถแบ่งได้ 2 ประเภทดังนี้
    1.โหมด MDI (Multiple Document Interface) จะแสดงหน้าต่างในรูปแบบเป็นหนึ่งเดียว ซึ่งเป็นสภาพแวดล้อมปกติของ VB ดังรูป







    2.โหมด SDI (Sinle Document Interface) จะแสดงหน้าต่างที่มีลักษณะเป็นอิสระต่อกัน แต่ยังคงมีความสัมพันธ์กันเหมือนโหมด MDI แต่จะใช้พัฒนาแอพพลิเคชันอีกชนิดหนึ่ง ดังรูป








    การเปลี่ยนสภาพแวดล้อมจาก MDI เป็น SDI

    1.เลือกเมนู Tools/Options จะปรากฎไดอะล๊อกบ๊อกซ์ Options ดังรูป






     2.คลิ๊กที่แท็บ Advanced เลือก SDI Development Environment แล้วคลิ๊ก vbok.gif (1011 bytes)  VBIDE จะเปลี่ยนเป็นแบบ SDI ในการรัน VB ครั้งต่อไป






    การปรับแต่งสภาพแวดล้อมให้ตรงกับความต้องการ

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






    ข้อตกลงของผู้เขียน

         ในบทต่อๆไป จะเริ่มเข้าสู่การเขียนแอพพลิเคชันอย่างแท้จริง ต่อไปนี้จะเป็นแนวทางการนำเสนอของผู้เขียน ที่จะใช้เป็นรูปแบบต่างๆ ซึ่งมีรายละเอียด ดังนี้
  • ถ้าเป็นส่วนของโค้ด หรือตัวอย่าง source code ของโปรแกรม ผู้เขียนจะใช้ฟอนต์ที่มีลักษณะแตกต่างจากฟอนต์ปกติ และใช้การเว้นวรรค ตัดคำ ให้ตรงกับไวยากรณ์ที่ VB ยอมรับ เช่น
Private Sub Command1_Click ( )
    Text1.Text = "hello world"
End Sub
  • ถ้าเป็นรูปแบบไวยากรณ์ จะใช้ตัวเข้มเพื่อแทนรูปแบบ (format), คำสั่ง (statements), ฟังก์ชัน(functions), คำสงวน (keyword) หรืออื่นๆ ให้ตรงกับรูปแบบการนำเสนอของ msdn Library เพื่อให้คุณมีความคุ้นเคย และจะใช้ตัวเอน เพื่อแสดงส่วนของตัวแปร, พารามิเตอร์, อาร์กิวเมนต์ หรืออื่นๆ ซึ่งคุณสามารถเปลี่ยนแปลงได้ เช่น
                Form1.Enabled [= boolean]
  • ส่วนตัววงเล็บ [ ] คุณไม่ต้องพิมพ์ลงไป และตัวแปรที่อยู่ในวงเล็บหมายถึง คุณจะใส่ หรือไม่ใส่ก็ได้ ขึ้นอยู่กับการใช้งานของคุณ เช่น
               {Dim|Private} varname As datatypes
  • ส่วนตัววงเล็บ { } คุณไม่ต้องพิมพ์ลงไปเช่นกัน และตัวแปรที่อยู่ในวงเล็บดังกล่าว จะถูกคั่นด้วยเครื่องหมาย |  หมายถึง คุณจะต้องใส่ ตัวแปรตัวใดตัวหนึ่ง     ในวงเล็บ { } ดังกล่าว เช่น
Private varname As datatypes  หรือ
Dim varname As datatypes
  •  สำหรับค่าของตัวแปร ถ้ามีคำว่า default หมายถึง เป็นค่าที่ VB ตั้งไว้ให้คุณแล้ว คุณจะเปลี่ยน หรือไม่ก็ได้, ถ้ามีคำว่า Optional หมายถึง เป็นข้อกำหนดเพิ่มเติมของการใช้งานตัวแปรนั้นๆ  คุณจะใส่ หรือไม่ใส่ก็ได้
  • ในส่วนของ คุณสมบัติ (properties), เมธอด (methods), และค่าคงที่ (constants) รวมทั้งที่ผู้เขียนจะระบุเฉพาะเจาะจง ผู้เขียนจะไม่อธิบายทั้งหมด เพราะว่าคุณสามารถค้นหาเพิ่มเติมได้จาก msdn Library จุดประสงค์ของผู้เขียนก็คือ จะเน้นการนำไปใช้งานให้มากที่สุด โดยแสดงตัวอย่างประกอบ เพื่อให้ผู้อ่านเห็นภาพได้อย่างชัดเจนมากที่สุด แต่ยังไม่ทิ้ง concept ที่เป็นพื้นฐานในการใช้งาน และส่วนที่ผู้เขียนละไว้ เนื่องจากว่า คุณสามารถทำความเข้าใจได้ไม่ยาก ซึ่งจะระบุหัวข้อใน msdn Library ที่มีความเกี่ยวข้องกับหัวข้อนั้นๆ เสมอ เพื่อให้คุณผู้อ่านรับข้อมูลต่างๆ ครบถ้วนอย่างมีระบบ
  • สำหรับในส่วนของเนื้อหาใดที่มีความสัมพันธ์กัน ในลักษณะข้ามบท เนื้อหาที่อยู่ในบทหลัง จะมีการประยุกต์ใช้งานมากกว่า ซึ่งผู้เขียนจะระบุทุกครั้ง ถึงหัวข้อที่เกี่ยวข้อง และเนื้อหาในทุกๆ บท คุณไม่จำเป็นต้องอ่านเรียงบทก็ได้ คุณสามารถค้นหาหัวข้อที่คุณต้องการ ได้จากสารบัญ
  • เนื้อหาที่เกิดขึ้นในบทต่างๆ เป็นเพียงสิ่งที่ผู้เขียนได้มาจากการศึกษา ค้นคว้า มิได้เป็นการคัดลอก หรือแปลมาจากส่วนใด โดยใช้  msdn Library ของ VB 6.0+SP2   เป็นแกนหลักในเนื้อหา และส่วนที่ผู้เขียนจะระบุอ้างอิงเพิ่มเติม
  • สำหรับชื่อคอนโทรล หรืออ๊อบเจ็กต์ต่างๆ ผู้เขียนจะใช้ชื่อ คลาส (class) ของคอนโทรล หรืออ๊อบเจ็กต์นั้นๆ ในการอ้างอิง ซึ่งจะทำให้ผู้อ่าน มีความคุ้นเคยกับคอนโทรล หรืออ๊อบเจ็กต์ของ VB ในลักษณะคลาสมากขึ้นอีกด้วย
  • คำนิยาม หมายถึง คำหรือข้อความต่างๆ ที่ผู้เขียนจะใช้สำหรับกล่าวอ้างอิงในภายหลัง ซึ่งจะมีความหมายดังนี้





    • แอพพลิเคชัน (application) หมายถึง คำที่ผู้เขียนใช้แทนโปรแกรมทั่วๆ ไปในท้องตลาด ซึ่งอาจรวมถึงโปรแกรมที่รันภายใต้ระบบปฏิบัติการ Dos    หรือ Windows ก็ได้
    • อาร์กิวเมนต์ (argument) หมายถึง ตัวแปร, ค่าคงที่ หรือพารามิเตอร์ ซึ่งใช้สำหรับส่งค่าเข้าไปในฟังก์ชัน หรือส่งค่าเข้าไปในโพรซีเดอร์
    • คอมไพล์ (compile) หมายถึง การแปลงโปรเจ็กต์ ให้เป็นแอพพลิเคชันที่สมบูรณ์ ซึ่งโดยปกติแล้วจะมีนามสกุล .exe
    • ดีไซน์ไทม์ (design time) หมายถึง ช่วงเวลาที่โปรแกรมเมอร์ออกแบบอินเตอร์เฟส หรือเขียนโค้ด (coding) อาจใช้คำว่า ขณะออกแบบ ก็ได้
    • คำสงวน (keyword) หมายถึง คำหรือข้อความ ที่ Visual Basic นำไปใช้เป็นชุดคำสั่ง, คอนโทรล, อ๊อบเจ็กต์, ฟังก์ชันหรืออื่นๆ ซึ่งคำหรือข้อความเหล่านี้ คุณไม่สามารถนำไปใช้ตั้งชื่อ หรืออื่นใดที่ไม่ใช่หน้าที่ หรือไวยากรณ์ของมัน
    • โปรเจ็กต์ (project) หมายถึง คำที่ใช้เรียกแทนโปรแกรม หรือ source code ที่ยังไม่ได้ถูก compile
    • รันไทม์ (run time) หมายถึง ช่วงเวลาที่โปรแกรมเมอร์กำลังทดสอบโค้ด หรือกำลังรันโปรเจ็กต์อยู่ เป็นช่วงเวลาที่ไม่สามารถแก้ไขโค้ด      โดยการกดปุ่ม F5 หรือกดปุ่มรันบนทูลบาร์
  • ลิขสิทธิ์อ้างอิง





    • Microsoft Visual Basic 6.0, Internet Explorer 5.0, msdn Library, Microsoft Office 97, Microsoft Office 2000 เป็นเครื่องหมายการค้า และลิขสิทธิ์ของบริษัท Microsoft Coporation Co.,LTD USA
    • Netscape Communicator 4.51, Netscape Composer เป็นเครื่องหมายการค้าและลิขสิทธิ์ของ Netscape Coporation Co.,LTD USA
    • Intel, Pentium, Pentium Pro, MMX, Celeron, Pentium II, Pentium III เป็นเครื่องหมายการค้า และลิขสิทธิ์ของบริษัท Intel      Coporation Co.,LTD USA
    • Final Fantasy VIII เป็นลิขสิทธิ์ของบริษัท SQUARE SOFT CO.,LTD JAPAN


  •  
    Credit By : http://kampol.htc.ac.th/web1/subject/programming2/sheet/vb6/vbch01.html