Creating Help File

Biên soạn : Phạm Hoàng Việt (hoangviet@tlnet.com.vn)

    Microsoft Windows đã cung cấp cho chúng ta một hệ trợ giúp cho người sử dụng ứng dụng trong môi trường 32 bit. Windows Help cung cấp một những thông tin về trợ giúp một cách có thứ tự nhằm mục đích cho người sử dụng dễ dàng truy xuất được thông tin cần tìm.

    Một cửa sổ Help bao gồm các thành phần cơ bản như sau : Contents tab, Index tab và Find tab. Chức năng của từng tab:

* Contents tab : sắp xếp thông tin trợ giúp một cách có thứ tự để người sử dụng có thể định hướng cho việc xem thông tin của mình.

* Index tab : chứa những từ khóa cho 1 hoặc nhiều file help để có thể dễ dàng truy xuất theo từ khóa.

* Find tab : cung cấp cho chúng ta chức năng tìm kiếm trên tất cảc các file help.

Sơ lược về Help File :

Trong Windows Help cho phép chúng tra hiển thị những thông tin bằng cách sử dụng những chức năng được cung cấp như sau :

* Hiển thị text với kích thước co chữ, màu chữ và kiểu chữ khác nhau.
* Có hai cửa sổ để hiển thị thông tin
* Chỉ dẫn tham khảo thông qua liên kết ( Hyperlink )
* Có Popup windows để hiển thị text hoặc hình ảnh.
* Bitmap và metafile
* Segment-graphics bitmaps với Hot spots
* Video ( .avi)

    Ðể tạo một help file chúng ta cần tạo những file như là : topic, hình ảnh, help project, và nội dung. Một file topic dùng để chứa nội dung cho Help topic và chứa những phát biểu trợ giúp và những macro đã định dạng cho text và hình ảnh trong mỗi topic.

    Help Project là nơi để chúng ta mô tả việc xây dựng một Help file như thế nào. File nội dung sẽ là phần nội dung chúng ta trình bày trong Contents tab.

    Ðể biên soạn hoàn chỉnh thành một Help file chúng ta sử dụng phần mềm Microsoft Help Workshop ( HCW.EXE ) để xây dựng, sau đó biên dịch các file topic, hình ảnh, help project thành một Help File có phần mở rộng là HLP để có thể xem bằng Windows Help.

Tạo Topic File :

    Một topic file chứa những nội dung như là những phát biểu trợ giúp và những macro định dạng cho text và hình ảnh trong mỗi topic. Mỗi topic file bao gồm một hoặc nhiều Topic. Và mỗi topic lại chứa nhiều thông tin riêng biệt như là nội dung hiển thị, mô tả khái niệm, list các jump để đi đến các mục khác,à

    Windows Help chỉ hiển thị một topic trong một thời điểm nhưng chúng ta ( người sử dụng ) có thể xem nhiều topic khác bằng cách sử dụng các link đến topic hoặc có thể tìm kiếm theo từ khóa của topic.

    Ðể biên soạn một file topic này bạn có thể dùng bất cứ trình soạn thảo văn bản nào mà có hổ trợ Rich Text Format ( . RTF ). Microsoft Word là một ví dụ.

Khai báo Font và Color :

    Khi bạn biên soạn một topic file bạn phải cho nội dung của topic file đó nằm trong dấu ngoặc {}. Tại đầu mỗi phát biểu bạn phải có tag này : \rtf . Ví dụ như bạn muốn viết cho phát biểu ANSI thì bạn phải khai báo như sau :

{\rtf\ANSI

...

...

...

}

    Bạn phải khai báo tên font mà bạn sử dụng bằng tag \fonttbl sau tag này bạn dùng tag \f và kế tiếp và số thứ tự font sẽ dùng trong list font mà bạn khai báo. Bạn xem ví dụ sau sẽ rõ :

{\fonttbl

\f0\froman Times New Roman;

\f1\fdecor Courier New;

\f2\fswiss Arial;

}

    Nếu như bạn khai báo dùng font riêng của bạn thì bạn nên khai báo font mặc định trong list font của bạn bằng tag \deff . Như trên ví dụ trên bạn muốn khai báo dùng font mặc định là Times New Roman thì bạn khai báo như sau :

\deff0

    Nếu như bạn không muốn dùng màu chữ mặc định của Windows thì bạn phải khai báo màu cho chữ của bạn. Ðể khai báo bạn dùng tag \colortbl và bạn phải dùng 3 màu cơ bản là Red, Green, Blue để phối hợp tạo ra màu chữ cho bạn bằng cách dùng các số để chỉ thị tỉ lệ pha màu từ các màu cơ bản và những số tỉ lệ đó bắt đầu từ 0 và kết thúc ở 255. Ví dụ sau đây sẽ khai báo 4 màu là black, red, green và blue :

{\colortbl

\red0\green0\blue0;

\red255\green0\blue0;

\red0\green128\blue0;

\red0\green0\blue255;

}

Ðịnh nghĩa những Topic riêng lẻ

    Mỗi topic riêng lẻ trong file topic đề được bắt đầu với tag \footnote và kết thúc là tag \page. Tất cả những nội dung và hình ảnh sẽ nằm giữa hai tag này.

    Mỗi topic phải có một chuỗi ngữ cảnh và sau mỗi chuỗi ngữ cảnh là một kí tự số. Chuỗi ngữ cảnh bao gồm các kí tự chữ , số và dấu gạch chân ( _ ). Và mỗi chuỗi ngữ cảnh là duy nhất, không được trùng nhau. Và việc khai báo một chuỗi ngữ cảnh bằng cách đặt dấu # nằm phía trước tag \footnote.

    Bạn cũng có thể đặt tiêu đề cho chuỗi ngữ cảnh bằng cách đặt dấu $ nằm phía trước tag \footnote. Windows Help sẽ sử dụng tiêu đề đó để nhận ra topic. Bạn phải cung cấp tiêu đề cho topic nếu như bạn muốn khai báo từ khóa cho topic đó.

    Ví dụ sau đây là phần khia báo cho chuỗi ngữ cảnh là Topic1 và tiêu đề là My Topic.

\#{\footnote topic1}

${\footnote My Topic}

This is my first topic.

\par

\page

    Bạn phải sử dụng tag \par để cho biết là kết thúc một Paragraph. Trong ví dụ này, \par chỉ kết thúc một paragraph trong topic.

  Bạn có thể thêm một macro vào trong topic bằng cách sử dụng kí tự ( ! ) nằm phía trước. Ví dụ sau đây là thêm một macro CopyTopic vào trong topic :

!{\footnote CopyTopic()}

Windows help sẽ thực thi macro này mỗi lần hiển thị topic này.

Ấn định Font Size và Font Name :

    Bạn có thể đặt lại tên font và co chữ cho từng đoạn text bằng cách sử dụng tag \f và \fs. Tên font chữ trong lần này là bạn phải sử dụng những font chữ mà bạn đã khai báo ở trong phần \fonttbl mà tôi đã nói bên trên. Kích thước font chữ là bắt đầu từ 10 trở đi.

    Những gì bạn ấn định font hay co chữ sẽ có hiệu lực từ nơi bắt đầu khi báo cho đến khi bạn dùng tag \plain hoặc bạn định lại kích thước hay co chữ mới thôi. Tag \plain là tag dùng để reset lại để sử dụng tên font khai báo trong phần \deff và co chữ là 12.

Ấn định khoảng cách cho Paragraph :

    Trong mỗi paragraph bạn có thể ấn định khoảng cách trước và sau bằng tab \sb và tag \sa. Mỗi khi bạn ấn định khoảng cách như vậy nó sẽ có hiệu lực cho đến khi bạn dùng tab \pard để reset lại khoảng cách đó và sử dụng mặc định hoặc cho đến khi bạn ấn định lại giá trị mới cho paragraph.

Ví dụ sau đây sẽ ấn định khoảng cách trước cho paragraph :

\sb360

This paragraph has 360 twips space immediately before it.

\par

This paragraph also has 360 twips before it.

\par

    Tọa độ sử dụng là TWIP ( 1 twip = 1/1440 inch hoặc 1 twip = 1/20 printer's point )

Ấn định lề trái và lề phải :

    Windows Help sẽ tự động cho việc canh lề trái và phải cho nội dung hiển thị nhưng bạn có thể sử dụng tag \li và \ri để ấn định lề trái và lề phải cho nội dung hiển thị.

    Việc ấn định lề trái và lề phải sẽ có hiệu lực cho đến khi bạn dùng tag \pard để reset hoặc bạn ấn định lại giá trị mới.

    Bạn cũng có thể ấn định giá trị thụt vào của dòng đầu tiên trong một paragraph bằng tag \fi.

    Ví dụ sau đây sẽ ấn định lề trái cho một paragraph :

\li1440

This paragraph is indented 1 inch.

\par

\pard

This paragraph is not indented.

Ấn định tab dừng :

    Bạn có thể ấn định tab dừng cho từng vị trí trong nội dung hiển thị bằng tag \tx. Bạn có thể ấn định nhiều giá trị tab dừng ví trí bắt đầu là lề trái.

    Sau khi ấn định tab dừng xong bạn dùng tag \tab để đưa text vào đến tab mà bạn muốn. Việc ấn định tab này sẽ có hiệu lực cho đến khi bạn dùng tag \pard để reset.

    Ví dụ sau đây minh họa việc sử dụng tab dừng và canh lề trái , nó sẽ chia nội dung hiển thị ra làm 2 cột :

\fi-1440\li1440\tx1440

left

\tab

right

\par

left

\tab

right

\par

\pard

Xuống hàng :

    Windows Help tự động xuống hàng cho bạn khi đã hết dòng, nhưng nếu bạn muốn xuống hàng để hiển thị thì bạn có thể dùng tag \line Và bạn có thể điều khiển việc xuống hàng bằng cách sử dụng tag \keep và tag \pard.

    Ví dụ sau đây minh họa việc xuống dòng, dùng tag \keep để tắt chế độ tự động, tiếp theo ngắt thành 3 dòng nội dung bằng \line, sau đó dùng tag \pard để trả lại mặc định.

\keep

3 pairs black socks\line

5 pairs blue socks\line

2 pairs brown socks\line

\par

\pard

Tạo link và Popup cho Topic :

    Windows Help chỉ hiển thị một topic trong một thời điểm do đó bạn sẽ cần tạo ra những link để xem những topic khác. Ðể tạo nó bạn phải sử dụng tag \strike, \ul hoặc \ulbd và bạn dùng tag tướng ứng là \v. Khi bạn tạo một link bạn phải cung cấp một chuỗi ngữ cảnh cho topic đề nó nhảy đến topic tương ứng.

    Ví dụ sau đây sẽ tạo một hot spot có tên là "Glossary" và thiết lập một link đến một chuỗi ngữ cảnh có tên là "glo1".

You can find a list of terms used in this
help file in the {\uldb Glossary}{\v glo1}. 

    Khi Windows Help hiển thị, nó sẽ gạch chân và đổi màu chữ là màu xanh của Hot spot Glossary, khi người dùng click vào hot spot nó sẽ nhảy đến và hiển thị nội dung của topic mà nó liên kết đến là glo1.

    Tag \strike và \ulbd được dùng để tạo liên kết nhảy đến một topic khác. Tag \ul thì dùng để tạo một link đến popup của topic.

    Bạn cũng có thể kết hợp một Help macro với 1 hot spot trong topic. Ví dụ sau sẽ dùng tag \ulbd và tag \v để tạo một hot spot cho macro ExecProgram

{\uldb Clock}{\v !ExecProgram("clock.exe", 1)}

    Windows Help sẽ thực thi macro này khi người sùng chọn hot spot và Windows help vẫn tiếp tục hiển thị trừ khi macro đó nhảy đến một topic khác mà thôi.

Tạo từ khóa ( Keyword ):

    Bạn có thể tạo từ khóa cho topic để người dùng dễ dàng tìm kiếm nội dung theo từ khóa. Tất cảc những từ khóa bạn tạo ra Windows Help sẽ đưa vào trong tab Index của Windows Help vàngười dùng nhập vào từ liên quan đến nội dung tìm kiếm, nếu từ đó trùng với từ khóa bạn tạo hoặc có liên quan gì đến từ khóa bạn tạo nó sẽ hiển thị ra theo list cho người dùng.

    Ðể tạo từ khóa cho topic bạn thêm kí tự K vào phía trước tag \footnote.

    Ví dụ sau đây sẽ tạo một từ khóa có tên là Sample Topics :

#{\footnote topic1}

${\footnote My Topic}

K{\footnote Sample Topics}

This is my first topic.

\par

\page

    Nếu như từ khóa của bạn bắt đầu bằng chữ K thì bạn phải thêm khỏang trắng phía trước nó, và nhiều từ khóa trong một topic thì bạn phải ngăn cách với nhau bằng dâu chấm phẩy. Một từ khóa bạn có thể có nhiều topic và khi người dùng chọn một từ khóa trong tab Index mà nó liên quan đến nhiều topic thì Windows Help sẽ xuất hiện một cửa sổ liệt kê tất cả các topic liên quan đến từ khóa đó.

Tạo Browse :

    Bạn có thể tạo Browse để xem help topic một cách có thứ tự và liên tục. Một browse bao gồm có 2 hoặc nhiều topic liên quan đến nhau, và bạn tạo ra một browse bằng cách thêm dấu + và trước tag \footnote.

    Ví dụ như sau :

#{\footnote topic5}

${\footnote A Topic}

+{\footnote shorttopics}

This is one topic in a browse sequence.

\par

\page

Chèn hình ảnh :

    Windows Help cho phép bạn chèn hình ảnh vào trong nội dung hiển thị. Ðể hình ảnh của bạn được chèn vào, Windows Help hổ trợ cho chúng ta một số loại hình ảnh được định dạng sau đây có thể chèn vào help file :

Windows bitmap (.BMP)

Windows metafile (.WMF)

Multiple-resolution bitmap (.MRB)

Segmented-graphics bitmap (.SHG)

Chèn hình ảnh vào text :

    Ðể chèn hình ảnh vào trong text của bạn bạn cần phải sử dụng đến tag bmc, và bạn chỉ cần nhập tag này vào ngay vị trí cần chèn tag này thì hình ảnh của bạn sẽ hiển thị tại vị trí đó, ví dụ như sau :

Press the {bmc enter.bmp} key to complete the task and return to the main window.

    Khi hình ảnh chọn vào bằng cách này, hình ảnh đó được xem như là một text, cho nên tôi khuyên bạn nên chọn hình ảnh nhỏ thôi vì nếu như bạn chọn hình ảnh lớn thì sẽ tạo ra một khoảng trắng rất lớn giữa dòng có hình ảnh và dòng phía trên.

Ðịnh dạng text bao quanh hình ảnh :

    Nếu như bạn muốn văn bản bao quanh hình ảnh của bạn thì bạn dùng tag bml và bmr. Sử dụng bml nếu bạn muốn chèn hình ảnh nằm ở lể trái và bmr nếu muốn hình ảnh nằm ở lề phải.

    Muốn cho text bao quanh hình ảnh thì bạn phải chèn tag đó nằm phía trên đầu của đoạn paragraph. Khi nào không muốn những phần text còn lại không bao quanh hình ảnh nữa thì bạn chèn một tag \par vào vị trí đó.

    Ví dụ sau đây sẽ chèn một hình ảnh vào trong text nằm theo lề trái của cửa sổ :

{bml mybitmap.bmp}

The text in this paragraph wraps around the right edge of the bitmap. \par 

Sử dụng hình ảnh như một Hot spot :

    Cũng tương tự như text, bạn có thể dùng hình ảnh để tạo ra một Hot spot để nhảy đến một topic khác hoặc là thực thi một macro. Việc sử dụng hình ảnh như một Hot spot này sẽ làm cho help file của bạn trở nên sinh động hơn vì nó như những icon, button vậy.

    Ví dụ sau đây sẽ tạo một hot spot cho một hình ảnh mybutton.bmp, khi click vào nó sẽ nhảy đến topic với chuỗi ngữ cảnh là topic

{\strike {bml mybutton.bmp}}{\v topic15}

    Bạn có thể chia hình ảnh của bạn ra làm nhiều hot spot để đi đến những topic khác nhau hoặc macro khác nhau. Ðể tạo nhiều hot spot như vậy trên hình ảnh của bạn, bạn phải dùng Hotspot Editor. Việc tạo nhiều hot spot như vậy được gọi là segmented-graphics bitmaps.IV.Tạo Help Project :

    Ðây là phần dùng để mô tả việc định dạng và nội dung của file Help Project dùng để xậy dựng help file. File project chứa tất cảc những thông tin mà Microsoft Help Workshop cần để kết hợp file topic và những thành phần khác vào trong file help.

    File project là file trong đó nội dung được chia thành nhiều section. Những section đó sẽ được quản lý bởi Help Workshop.

Những Section trong file project :

    Trong file project có nhiều section và mỗi section có một cái tên, tên của section sẽ được nằm trong dấu ngoặc vuông [ ]. Sau đây là các section được sử dụng trong file project :

[ ALIAS ]

ãn định 1 hoặc nhiều cảm ngữ cảnh đến cùng một topic

[ BAGGAGE ]

Liệt kê những file mà đưa vào trong help file

[ BITMAP ]

Chỉ rõ những file hình ảnh. Section này có thể không cần thiết nếu bạn sử dụng chức năng BMROOT hoặc ROOT

[ BUILDTAGS ]

Chỉ rõ valid build tag

[ CONFIG ]

Chỉ rõ help macro và button sử dụng trong help file.

[ CONFIG : x ]

Chứa 1 hoặc nhiều macro để Windows Help chạy khi mở cửa sổ tương ứng.

[ FILES ]

Chỉ rõ những file topic dùng để tạo Help File, section này là bắt buộc.

[ MAP ]

Liên kết các topic với các số ngữ cảnh

[ MACROS ]

Liên kết các macro với từ khóa

[ OPTIONS ]

Khai báo những chức năng điều khiển quá trình xây dựng. Nếu section này được dùng thì sẽ đặt nó nằm đầu tiên nhất trong file project để được sử dụng trong quá trình xây dựng help file.

[ WINDOWS ]

Dùng để định nghĩa đặc điểm của cửa sổ chính và cửa sổ phụ trong Help file

    Mỗi file project đều bắt buộc phải có section [ FILES ] để liệt kê tất cảc các file topic. Và section [ OPTIONS ] nếu được sử dụng thì thường sẽ có chức năng COMPRESS để ấn định việc nén hay không nén. Nếu chúng ta nén file help sẽ làm cho kích thước sẽ nhỏ lại.

    Ví dụ sau đây nó sẽ nén hai file MAIN.RTF và MENUS.RTF

[OPTIONS]

COMPRESS=TRUE

[FILES]

MAIN.RTF

MENUS.RTF

Sử dụng Macro trong file project :

    Bạn có thể thêm macro vào trong file project của bạn trong section [ MACROS ]. Những Macro đó sẽ được thực thi nếu như người dùng chọn những từ khóa trong index.

    Bạn cũng có thể tạo một menu mới và những button trong Windows Help bằng cách sử dụng những chức năng như là : CreateButton và InsertMenu.

    Bạn có thể phát triển thêm về Windows Help của bạn bằng các chức năng có sẵn trong thư viên liên kết động ( .DLL ). Tạo ra các macro bằng cách gọi các hàm có trong thư viện. Nếu như bạn sử dụng những hàm trong thư viện DLL thì bạn phải khai báo những hàm đó bằng macro RegisterRountine trong section [ CONFIG ] của file project.

Ví dụ :

    Sau đây là ví dụ về file project của ứng dụng Cardfile :

; Options used to define the Help title bar and icon
[OPTIONS]
ROOT=C:\HELP
BMROOT=C:\HELP\ART
CONTENTS=cont_idx_card
TITLE=Cardfile Help
ICON=CARDHLP.ICO
COMPRESS=OFF
WARNING=3
REPORT=ON
ERRORLOG=CARD.BUG
; Files used to build Cardfile Help
[FILES]
RTFTXT\COMMANDS.RTF
RTFTXT\HOWTO.RTF
RTFTXT\KEYS.RTF
RTFTXT\GLOSSARY.RTF
; Button macros and Using help file
[CONFIG]
CreateButton("btn_up", "&Up", "JumpContents('HOME.HLP')")
BrowseButtons()
SetHelpOnFile("APPHELP.HLP")
; Secondary-window characteristics
[WINDOWS]
picture = "Samples", (123,123,256,256), 0, (0,255,255), (255,0,0) 

PcLeHoan 1996 - 2002
Mirror : http://www.pclehoan.com
Mirror : http://www.lehoanpc.net

Mirror : http://www.ktlehoan.com