การสร้าง HELP
ส่วนช่วยเหลือ(Help) เป็นส่วนหนึ่งที่ได้ถูกพัฒนามาอย่างต่อเนื่อง ในยุคแรกที่ยังใช้ DOS เป็นระบบปฎิบัติการจะเป็นแบบ .DBF-Style Help พอเริ่มเข้ามาสู่ในยุคของ Windows ก็ได้เปลี่ยนมาเป็นแบบ Graphical Help ครั้นเข้าสู่ยุคของ Internet ก็ได้เกิดมี HTML Help ซึ่งก็คือ help ที่สร้างโดยใช้ภาษา HTML(Hypertext Markup Language) สำหรับหนังสือเล่มนี้จะอธิบายการสร้างส่วนช่วยเหลือในแบบ HTML Help
ก่อนที่ท่านจะทำการสร้างส่วนช่วยเหลือได้นั้นจำเป็นจะต้องมีโปรแกรมที่ใช้ในการสร้างก่อน ซึ่งเราไม่สามารถสร้างโดยใช้โปรแกรม Visual FoxPro ได้โดยตรง สำหรับโปรแกรมที่เราจะใช้มีชื่อว่า HTML Help Workshop
การ Setup โปรแกรม HTML Help Workshop
คุณสามารถ Download โปรแกรม HTML Help Workshop ได้ที่ เว๊ปไซด์ http://msdn.microsoft.com/workshop/author/htmlhelp/htmlhelp.exe |
คลิ๊กปุ่ม Next โปรแกรมก็จะทำการ Install โปรแกรม HTML Workshop ลงสู่เครื่องคอมพิวเตอร์จนเสร็จ
การสร้าง HTML Help
ในการสร้าง HTML Help
จะมีขั้นตอนในการสร้างดังนี้คือ
สร้างเอกสารที่อยู่ในรูปของ
ไฟล์ Hypertext Markup Language(HTML) เนื้อหาของ Help
ที่เราจะทำการสร้างขึ้นมาจะประกอบไปด้วย
ไฟล์ .HTM หรือ .HTML เป็นหลัก
คุณสามารถที่จะสร้างเอกสารเหล่านี้ได้โดยใช้โปรแกรม
Microsoft FontPage
หรือโปรแกรมที่ใช้สร้างเอกสาร HTML
อื่นๆ ก็ได้
วิธีการสร้างเอกสารเพื่อใช้เป็นเนื้อหานั้นให้คุณสร้างเป็นไฟล์ย่อยๆตามหัวข้อของ
Table of Contents (สารบัญ) เช่น
ถ้าคุณมีสารบัญทั้งหมดอยู่ 10
หัวข้อ
ก็ให้คุณทำการสร้างเป็นไฟล์ HTML
ตามจำนวนหัวข้อของสารบัญ
เป็นต้น
หรืออาจจะสร้างไว้มากหรือน้อยกว่าก็ได้
(ในที่นี้จะไม่ขออธิบายวิธีการสร้างไฟล์
HTML)
เมื่อทำการสร้างเป็นที่เรียบร้อยแล้วก็ทำขั้นตอนต่อไปคือการสร้าง
Table of Contents สร้าง Help Project Help Project
จะเป็นตัวที่ใช้จัดการในเรื่องของการสร้างส่วนช่วยเหลือ
ซึ่งก็จะคล้ายกับ Project ในโปรแกรม
Visual FoxPro
ให้คุณทำการสร้างโปรเจ็กขึ้นมาดังนี้
HTML Help table of contents (.hhc) กำหนดให้นำไฟล์ TOC ที่มีอยู่แล้วนำมารวมไว้ในโปรเจ็ก
HTML Help Index (.hhk) กำหนดให้นำไฟล์ ดัชนี ที่มีอยูแล้วนำมารวมไว้ในโปรเจ็ก
HTML File (.htm) กำหนดให้นำไฟล์ HTML ที่มีอยูแล้วนำมามารวมไว้ในโปรเจ็ก
ในหน้านี้ให้คุณคลิ๊กปุ่ม Next ไปก่อนโดยไม่ต้องทำการคลิ๊กที่รายการใดๆ
สร้าง Table of Contents(TOC)
Table of Contents เป็นหัวข้อที่ใช้ในการเข้าถึงเนื้อหาของ help ซึ่งก็เหมือกับสารบัญของหนังสือ มีขั้นตอนในการสร้างดังนี้
ให้คลิ๊กที่ปุ่ม No เพื่อเพิ่มรายการต่อจาก Heading ที่ได้สร้างไว้ก่อนหน้านี้
Help Index (ดัชนี)
Incex (ดัชนี) เป็นส่วนที่ทำให้ผู้ใช้งานสามารถเข้าถึงเนื้อหาของ Help ได้อย่างรวดเร็ว ในขณะที่คุณกำลังใช้งาน Help อยู่คุณสามารถที่จะป้อนคำที่ต้องการค้นหาในส่วนของแท๊ป Index เมื่อพบคำที่ตรงกับที่ป้อน โปรแกรม Help ก็จะแสดงรายการที่มีคำที่เราได้กำหนดไว้ตอนสร้าง Help Index ออกมา ซึ่งเราสามารถที่จะ คลิ๊กเข้าไปดูในรายการนั้นๆได้ มีขั้นตอนในการสร้างดังนี้
กำหนดข้อความไตเติ้ลให้กับ Help
คุณสามารถที่จะทำการกำหนดข้อความให้แสดงบนไตเติ้ลบาร์ให้กับโปรแกรม
help ของคุณได้โดยการคลิ๊กที่แท๊ป
Project แล้วคลิ๊กที่ปุ่ม (Change Properties Options)
ทำการป้อนข้อความที่ช่อง Title:
ในส่วนของ แท๊ป General
จากตัวอย่างให้คุณป้อนคำว่า เรียนเขียนโปรแกรม
Visual FoxPro
กำหนดไฟล์เพื่อแสดงตอนเริ่มเรียก Help
เมื่อทำการเรียกโปรแกรม help ขึ้นมาแล้วเราสามารถที่จะกำหนดให้แสดงไฟล์ HTML ตอนเริ่มต้นแสดง help ได้โดยเข้าไปกำหนดในส่วนของ Project แล้วทำการ Change Properties Option เลือกแท๊ป General ในช่อง Default File: ให้กำหนดไฟล์ที่ต้องการแสดงตอนเริ่มเรียก help
กำหนดให้มีแท๊ป Search ใน Help
ในการสร้าง help นั้นเราสามารถที่จะกำหนดให้ help ของเราสามารถที่จะค้นหา (Search) คำหรือข้อความใดๆก็ได้ โดยการเพิ่มแท๊ป Search ไว้ในโปรแกรม help จากเดิมที่จะมีเฉพาะแท๊ป Contents และ แท๊ป Index ได้โดยการเข้าไปกำหนดในส่วนของ Project แล้วทำการ Change Properties Option คลิ๊กที่แท๊ป Compiler แล้วคลิ๊กที่ช่อง Compile full-text search information
Compile HTML Help File
ก่อนที่คุณจะนำโปรเจ็กที่ได้สร้างไว้ไปใช้งานได้คุณต้องทำการ
Compile
โปรเจ็กนั้นก่อนโดยการคลิ๊กที่ปุ่ม
(Compile
HTML file)
จากนั้นทำการกำหนดไฟล์โปรเจ็กที่ต้องการจะ
Compile โดยกำหนดในช่อง Project file:
และถ้าต้องการที่จะแสดง help
ไฟล์หลังจากที่ทำการ compile
แล้วก็ให้คลิ๊กที่ช่อง Automatically display
compiled help file when don ดังภาพ
การเรียกใช้งาน Help ในโปรแกรม Visual FoxPro
เมื่อได้ทำการ compile
โปรแกรม help
เรียบร้อยแล้วเราจะได้ไฟล์ที่มีนามสกุล
.CHM (MYHELP.CHM)
คุณสามารถที่จะเรียกใช้งาน help
ได้โดยการเรียกโปรแกรมนี้ที่ Windows
ได้ทันที
แต่สำหรับจุดประสงค์ในบทเรียนนี้คือการเรียก
help ภายใต้โปรแกรม Visual FoxPro
คุณสามรถทำได้โดยการป้อนคำสั่งที่
Command window ของ Visual FoxPro ดังนี้
เมื่อทำการกดปุ่มฟังก์ชัน F1 ที่แป้นพิมพ์ก็จะปรากฎ help ที่เราสร้างขึ้นมา ในกรณีที่ต้องการต้องการยกเลิกการแสดง help ที่ได้ทำการสร้างขึ้นมา โดยให้กลับไปเป็น help ของ Visual FoxPro ตามเดิมให้ป้อนคำสั่งดังนี้
Context-sensitive Help
Context-sensitive คือการอนุญาติให้ผู้ใช้งานสามารถที่จะเข้าถึงในส่วนต่างๆของ help ได้โดยตรง โดยการคลิ๊กที่ปุ่มเครื่องหมายคำถามบนฟอร์ม แล้วก็ทำการคลิ๊กในฟอร์ม ณ. ส่วนของวัตถุที่ต้องการแล้วโปรแกรมก็จะทำการแสดง help ในส่วนนั้นๆขึ้นมา
หลักและวิธีการเรียก Context-sensitive Help
หลักการของ Context-sensitive Help นั้นเมื่อเราทำการคลิ๊กที่ปุ่มเครื่องหมายคำถามบนฟอร์มแล้วนำไปคลิ๊ก ณ. ตำแหน่งที่ต้องการ ก่อนที่โปรแกรมจะแสดง help ขึ้นมานั้นมันจะไปนำค่าของ WhatsThisHelpID ที่กำหนดไว้ในส่วน Properties ของวัตถุ ซึ่งจะมีค่าเป็นตัวเลข (ค่านี้เราจะเป็นผู้กำหนดเองตอนสร้างฟอร์ม) จากนั้นโปรแกรมก็จะไปหาค่าตัวเลขที่ตรงกับค่าของ WhatsThisHelpID ที่ไฟล์เฮดเดอร์ ต่อจากนั้นก็จะนำค่าคงที่ที่ได้จากไฟล์เฮดเดอร์มาค้นหาในส่วนของ [ALIAS] ใน help ถ้ามีตรงกันก็จะแสดง help ของส่วนนั้นๆขึ้นมา
วิธีการสร้าง Context-sensitive Help
MODIFY FILE C:\MYHELP\MYMAP.H
จากนั้นทำการป้อนคำสั่ง
ทำการบันทึกไฟล์โดยกดปุ่ม Ctrl+W
#DEFINE TOPIC1 1 เป็นการกำหนดค่าคงที่ 1 ให้กับตัวแปร TOPIC1
ให้คลิ๊กที่แท๊ป Alias เพื่อกำหนดไฟล์ HTML ให้กับตัวแปร โดยคลิ๊กที่ปุ่ม Add
จากนั้นทำการป้อนค่าตัวแปรให้ตรงกับที่ได้กำหนดไว้ในเฮดเดอร์ไฟล์ แล้วกำหนดชื่อไฟล์ HTML ที่ต้องการให้แสดง ดังภาพ
การนำ Context-sensitive Help ไปใช้ในฟอร์ม
MODIFY FORM FORMHELP
กำหนด Properties ของ Form ดังนี้
WhatsThisButton = .T.
WhatsThisHelp = .T.
กำหนด Properties ของ Command1 ดังนี้
Caption = Topic1
WhatsThisHelpID = 1
กำหนด Properties ของ Command2 ดังนี้
Caption = Topic2
WhatsThisHelpID = 2
กำหนด Properties ของ Command3 ดังนี้
Caption = Topic3
WhatsThisHelpID = 3
กำหนด Properties ของ Command4 ดังนี้
Caption = Topic4
WhatsThisHelpID = 4
กำหนด Properties ของ Command5 ดังนี้
Caption = Topic5
WhatsThisHelpID = 5
คุณก็จะได้ Help ตามความประสงค์ ....