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

    เมื่อผู้ใช้เรี่มต้นรัน Visual Basic 5.0 จากเมนู Start สิ่งแรกที่จะได้เห็นเมื่อคุณเข้าสู่โปรแกรม Visual Basic  5.0 ก็คือ VB จะแสดงไดอะล๊อกบ๊อกซ์เพื่อให้คุณเลือกชนิดของแอพพลิเคชันที่จะพัฒนา ใน Visual Basic 5.0 ชนิดของแอพพลิเคชันมีมากมายหลายชนิด
vb1-1.gif (22103 bytes) สำหรับผู้ใช้ที่ยังไม่มีประสบการณ์ในการเขียนโปรแกรมมาก่อนให้ เลือก เป็นแบบ Standard EXE ดังรูปก่อน เพราะว่ามันจะเป็นการสร้างแอพพลิเคชันแบบพื้นฐาน

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

 

<< แสดงไดอะล็อกซ์บ๊อกซ์ชนิดของแอพพลิเคชัน

 

ทำความเข้าใจกับส่วนต่างๆของสภาพแวดล้อมใน vb

vb1-2.gif (43092 bytes) <<   แสดงสภาพแวดล้อมของ VB 5.0

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


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

     หน้าต่าง New Project จะปรากฎขึ้นมาเมื่อคุณเริ่มต้นรัน VB เลือกเมนู File/New Project หรือ กดปุ่ม Ctrl-N

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

รแสดงไดอะล๊อกบ๊อกซ์ New Project>>>
ของคำสั่ง New Project

ความหมายของแต่ละไอคอน

โปรเจคมาตรฐาน (.exe) ใช้พัฒนาแอพพลิเคชันทั่วๆไป

โปรเจคสำหรับสร้าง Out Of-Process OLE (.exe) ใช้พัฒนาแอพพลิเคชันที่สามารถใช้งาน และเชื่อมโยงกับแอพพลิเคชันอื่นๆที่สนับสนุนเทคโนโลยี ActiveX

โปรเจคสำหรับสร้าง In-Process OLE (.dll) เป็นแอพพลิเคชันชนิดเดียวกันกับ ActiveX.EXE แต่จะเก็บอยู่ในไฟล์ไลบราลี่ .dll ซึ่งไม่สามารถรันได้ด้วยตัวมันเอง จะต้องถูกเรียกใช้งานจากแอพพลิเคชันอื่นๆ

โปรเจคสำหรับสร้างคอนโทรล Active X (.ocx) ใช้สร้างคอนโทรลขึ้นมาใช้งานเอง

  เป็นเครื่องมือที่อำนวยความสะดวกให้สามารถสร้างแอพพลิเคชันได้อย่างรวดเร็ว ผู้เริ่มต้นอาจใช้เครื่องมือตัวนี้เพื่อศึกษาแนวทาง ในการพัฒนาแอพพลิเคชันก็ได Wizard ช่วยออกแบบบางฟอรม์ที่ค่อนข้างมาตรฐาน เช่น ฟอรม์ About หรือ Browser

โปรเจคสำหรับสร้าง Add-In สำหรับการใช้กับสภาพแวดล้อมของ Visual Basic ใชเพิ่มเติม utility เข้าไปใน สภาพแวดล้อมใน vb เพื่อเพิ่มความประสิทธิภาพ ซึ่งอาจจะมาจากผู้ผลิตอิสระรายอื่นๆ

โปรเจคสำหรับสร้าง Active Document Exe ใช้สร้างแอพพลิเคชันชนิดที่รันบน Internet จะเก็บอยู่ในรูปไฟล์ .dll ไม่สามารถรันได้ด้วยตัวมันเอง ต้องให้แอพพลิเคชันอื่นๆ ที่สนับสนุนเทคโนโลยี ActiveX เรียกใช้งาน

ใช้สร้างแอพพลิเคชันชนิดที่รันบน Internet เช่นกัน แต่จะเก็บอยู่ในรูปไฟล์ .exe สามารถรันได้ด้วยตัวเอง แต่ server จะต้องสนับสนุนเทคโนโลยี  ActiveX เช่นกัน

            สำหรับในไดอะล๊อกบ๊อกซ์ New Project จะมีแท็บ (Tab) อยู่อีก 2 แท็บมีรายละเอียดดังนี้

 

ทูลบาร์ (Tool Bars)

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

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

รายการทูลบาร์ Standard

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


รายการทูลบาร์ Edit

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

รายการทูลบาร์ Debug

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

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

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

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

แสดงแถบเครื่องมือ control


แสดงการเพิ่มเติมคอนโทรล ActiveX เข้ามาในทูลบ๊อกซ์

 

ฟอร์ม (Form1)

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


แสดงฟอร์มว่างๆใน สภาพแวดล้อมใน vb

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

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

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

แสดง Project Explerer แบบโปรเจ็กต์เดียว

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

Project(n) แสดงแอพพลิเคชันที่คุณพัฒนาอยู่ อาจมีโปรเจ็กต์เดียวหรือหลายโปรเจ็กต์ก็ได้ โดยปกติจะมีนามสกุล .vbp ถ้ามีหลายโปรเจ็กต์จะมีนามสกุล .vbg
Form(n) เป็นรายการฟอร์มที่มีอยู่ในโปรเจ็กต์นั้นๆ ใน 1 โปรเจ็กต์อาจมีมากกว่า 1 ฟอร์มก็ได้ จะมีนามสกุล .frm
Modules เป็นที่เก็บชุดคำสั่งหรือรูทีนที่คุณเขียนขึ้นมาและคุณสามารถเซฟเก็บไว้ใช้ในภายหลังได้อีกด้วย โปรแกรมเมอร์มักจะเก็บคำสั่งหรือโพรซีเดอร์ที่ใช้บ่อยๆไว้เป็นโมดูล ซึ่งจะมีนามสกุล .bas
Class modules เป็นโมดูลชนิดพิเศษที่มีลักษณะเป็นอ๊อบเจ๊กต์ที่คุณสามารถสร้างขึ้นมาได้ จะมีนามสกุล .cls
User controls คือ คอนโทรล ActiveX ที่คุณสร้างขึ้นมา มีนามสกุล .ctl

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

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

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

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

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

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

หน้าต่าง Form Layout

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

vb1-13.gif (3362 bytes)

แสดงหน้าต่าง Form Layout

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

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

แสดงหน้าต่าง Immediate

การใช้งาน Visual Basic

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

1.เลือกพัฒนาชนิดของแอพพลิเคชัน
2.สร้างยูสเซอร์อินเตอร์เฟส (หรือส่วนติดต่อกับผู้ใช้ อาจเรียกสั้นๆว่า อินเตอร์เฟส)
3.เขียนโค้ดเพื่อรองรับเหตุการณ์ต่างๆ ที่อาจเกิดขึ้นกับแต่ละคอนโทรลหรืออ๊อบเจ็กต์
4.การทดสอบ ตรวจสอบ และดักจับข้อผิดพลาด
5.compile โปรเจ็กต์ให้เป็นแอพพลิเคชันที่สมบูรณ์ (เช่น *.exe หรือ *.dll เป็นต้น)

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

การใช้งานคอนโทรลในการสร้างอินเตอร์เฟส

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

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

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

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

 

แสดง ToolTip ชื่อของคอนโทรล

รูปแบบการปรากฎของคอนโทรลแต่ละชนิดบนฟอร์ม

     คอนโทรลแต่ละชนิดมีรูปแบบการปรากฎตัว มีความแตกต่างกัน คอนโทรลบางตัวเมื่อคุณนำมาใช้งานอาจจะไม่มีการปรากฎตัวขึ้นมา หรืออาจจะปรากฎขึ้นมาเลยก็ได้ ซึ่งจะขึ้นอยู่กับหน้าที่ของแต่ละคอนโทรล สำหรับคอนโทรลที่คุณจะต้องใช้งานในทุกๆ แอพพลิเคชันจะมี เช่น CommandButton, TextBox, CheckBox, OptionButton, ScrollBar เป็นต้น คอนโทรลพวกนี้ถือได้ว่าเป็น คอนโทรลคลาสสิค หมายถึง เป็นคอนโทรลที่คุณพบเห็นได้ทั่วไป จะเห็นได้ว่าถ้าคุณสามารถนำไปใช้งานได้อย่างดีแล้ว แอพพลิเคชันของคุณ ก็จะมีประสิทธิภาพเป็นอย่างยิ่ง

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



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

 

การนำคอนโทรลมาใช้งาน

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

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


แสดง ToolTip บอกขนาดของคอนโทรล


แสดงขนาดของคอนโทรลบน Tool Bar

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

แสดงคอนโทรล CommandButton แบบ default

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

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

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


แสดง 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 ก็จะเปลี่ยนไปตามชื่อที่คุณตั้งไว้เช่นกัน

vb2-16.gif (13149 bytes)


แสดงส่วน object list box และคอนโทรล CommandButton ชื่อปกติและ CommandButton ที่เปลี่ยนชื่อแล้ว

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

vb2-17.gif (16322 bytes)


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

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


แสดงโพรซีเดอร์เหตุการณ์ 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 จะสร้างโพรซีเดอร์ใหม่ที่ตรงกับเหตุการณ์ที่คุณเลือกไว้ กับคอนโทรลนั้นๆ


แสดงโพรซีเดอร์เหตุการณ์ LostFocus ของคอนโทรล CommandButton ที่ถูกเพิ่มเข้ามา

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

vb2-20.gif (6891 bytes)


แสดงโพรซีเดอร์เหตุการณ์คลิกของคอนโทรล 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 โพรซีเดอร์เข้าด้วยกัน ให้วาดอินเตอร์เฟสดังรูป และเขียนโค้ดต่อไปนี้


แสดงอินเตอร์เฟสเพื่อสั่งให้คอนโทรล 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
     หมายถึง จบโพรซีเดอร์

Private Sub Command2_Click ( )
     หมายถึง โพรซีเดอร์นี้ทำงานเมื่อผู้ใช้คลิกที่ปุ่ม Command2 เท่านั้น

Text1.Text = " "
     หมายถึง สั่งให้คอนโทรล TextBox ที่ชื่อ Text1 ไม่ต้องแสดงข้อความ เครื่องหมาย " " แทนความว่างเปล่า

End Sub
     จบโพรซีเดอร์

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

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

     วิธีการเขียน comment ุใน VB คือ จะใช้เครื่องหมาย ' (apostrophe) หน้าบรรทัดที่คุณต้องการทำหมายเหตุ แล้ว editor จะเปลี่ยนบรรทัดนั้น เป็นสีเขียว  เวลารันโปรแกรม ส่วน comment นี้ก็จะไม่ไปรบกวนกับโปรแกรม

คุณสมบัติและเมธอดของคอนโทรลคืออะไร

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

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

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

ความสามารถพิเศษของ editor

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

vb2-22.gif (15238 bytes)


แสดง ToolTip ของ editor ขณะเขียนโค้ด

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


แสดงไวยากรณ์ประจำฟังก์ชันนั้นๆ

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

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


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

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

เมื่อคุณดู source code คุณสามารถใช้กลุ่มสีของฟอนต์ช่วยในการทำความเข้าใจโค้ดด้วยก็ได้

        สิ่งหนึ่งที่จะทำให้เกิดข้อผิดพลาดได้ก็คือ ตัวแปรที่คุณประกาศใช้งานเป็นรูปแบบหนี่ง เวลาคุณพิมพ์อีกแบบหนี่ง 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 เป็นตัวเก็บค่า เป็นต้น ซึ่งคุณสมบัติที่กล่าวมาคุณจะต้องเข้าไปใช้งานอย่างแน่นอน ตารางต่อไปนี้เป็นคุณสมบัติประจำ ของแต่ละคอนโทรล

คอนโทรล คุณสมบัติประจำตัว
CheckBox Value
ComboBox Text
CommandButton Caption
CommonDialog Action
Data Caption
DBCombo(Data-Bound ComboBox) Text
DBGrid(Data-Bound Grid) Text
DBList(Data-Bound ListBox) Text
DirListBox Path
DriveListBox Drive
FileListBox FileName
Frame Caption
HScrollBar Value
Image Picture
Label Caption
Line Visible
ListBox Text
OptionButton Value
PictureBox Picture
Shape Shape
TextBox Text
Timer Enabled
VScrollBar Value

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

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

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

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

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

 

แสดงไดอะล๊อกบ๊อกซ์ Open Project

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

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

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

 

แสดงไดอะล๊อกบ๊อกซ์ Add Project

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

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

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

vb2-27.gif (4047 bytes)

 

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

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

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

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

vb2-28.gif (9317 bytes)

 

แสดงการเพิ่ม Form เข้ามาในโปรเจ็กต์

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

vb2-28-1.gif (1022 bytes)

เป็นฟอร์มว่างๆ แบบปกติ
vb2-28-2.gif (1265 bytes) เป็นการใช้ความสามารถของ VB Data Form Wizard เพื่อสร้างแบบฟอร์มรายงาน ที่ติดต่อกับฐานข้อมูลโดยผ่านคอนโทรล ADO Data Control
vb2-28-3.gif (1118 bytes) เป็นแบบฟอร์ม Abount สำเร็จรูป คุณอาจจะต้องปรับแต่งเพื่อให้ได้ฟอร์ม Abount ตามที่คุณต้องการ

vb2-28-4.gif (1111 bytes)

เป็นฟอร์มที่มีลักษณะเหมือนกับ browser คล้ายๆ กับ Internet Explorer หรือ Netscapte Communicator

vb2-28-5.gif (1036 bytes)

ไดอะล๊อกบ๊อกซ์สำเร็จรูป ถ้าคุณเบื่อกับไดอะล๊อกบ๊อกซ์แบบเก่าๆ นี่เป็นไดอะล๊อกบ๊อกซ์ที่คุณออกแบบเอง

vb2-28-6.gif (1102 bytes)

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

vb2-28-7.gif (1084 bytes)

เป็นจอภาพเริ่มต้นก่อนเข้าแอพพลิเคชัน ทุกๆ แอพพลิเคชันต้องมี

vb2-28-8.gif (1114 bytes)

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

vb2-28-9.gif (1091 bytes)

เป็นแบบฟอร์มที่ใช้สำหรับติดต่อกับฐานข้อมูลโดยผ่านไดร์เวอร์ ODBC

vb2-28-10.gif (1108 bytes)

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

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

vb2-29.gif (3430 bytes)

 

แสดง Form ที่ถูกเพิ่มเข้ามาในโปรเจ็กต์

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

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

vb2-30.jpg (20493 bytes)

แสดงไดอะล๊อกบ๊อกซ์ เซฟโปรเจ็กต์

2.คลิกปุ่ม vbok.gif (1011 bytes)

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

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

1.ให้คุณเลือกเมนู Run/Start หรือกดปุ่ม F5 ที่คีย์บอร์ด หรือกดปุ่ม vbrun.jpg (577 bytes) ที่ทูลบาร์
2.ที่ฟอร์มจะมีการเปลี่ยนรูปแบบ ไม่มีเส้นกริด   และจะปรากฎหน้าต่าง Immediate ด้านล่างของสภาพแวดล้อม
3.ถ้าคุณมีการสั่งให้พิมพ์โดยผ่านทางคำสั่ง Debug.Print ที่หน้าต่าง Immediate จะแสดงผลจากการประมวลผลด้วย
4.คุณจะสังเกตเห็นว่าที่บนทูลบาร์ จะมีปุ่ม  vbend.jpg (757 bytes)  และ vbpause.jpg (819 bytes)  มีสถานะ Active อยู่ โดยมีความหมายดังนี้

<<< Back To Home >>>