Tải bản đầy đủ (.doc) (6 trang)

Display VB6 Source codes với màu trong trang Web

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (102.72 KB, 6 trang )

Display VB6 Source codes với màu trong trang
Web
T rong VB6 Integrated Development Environment, khi ta edit source codes các hàng
Comment (chú thích) được hiển thị bằng màu xanh lá cây và các Reserved Words
của VB6 đuợc hiển thị bằng màu xanh dương đậm. Ðiều nầy làm mát mắt, khiến cho
codes dễ đọc.
Tiếc thay khi ta copy các hàng codes ấy ra và paste vào trong một trang Web thì
chúng bị mất đi đặc tính màu sắc. Nếu codes không có comment thì khó hiểu. Ngược
lại nếu comment nhiều quá, người đọc dễ lẫn lộn codes với comment.
Do đó trong bài nầy ta viết một program VB6 để thực hiện hai chuyện:
1. Làm cho source code đẹp bằng cách thêm phía trước mỗi hàng
codes một số blank spaces để ta thấy rõ phần nào nằm trong
phần nào trong cấu trúc của codes.
2. Thêm màu xanh lá cây cho comment và màu xanh dương cho
VB6 reserved words để hiển thị trên trang Web.
Làm cho codes đẹp phát xuất từ chữ Pretty Printer hồi thời Pascal rất thịnh hành.
Pascal là ngôn ngữ lập trình đuợc sang tác bởi giáo sư N. Wirth, người Thụy Sĩ, để
dùng làm phương tiện dạy sinh viên những kiến thức và kỹ thuật căn bản về
Software Engineering. Một trong những đặc điểm của Pascal là nó có những
Statement Blocks (đoạn codes) để dùng trong Structured Programming, tức là
có IF..THEN..ELSE, REPEAT..UNTIL, CASE .v.v.., thay vì cái gì cũng Goto làm cho khó
theo dõi codes vì nó nhảy lung tung giống như spaghetti (bánh tầm Ý).
Statement Block trong Pascal được bắt đầu bằng chữ Begin và chấm dứt bằng chữ
End. Cái đó không có gì đáng nói, nhưng khi cái Structure (cơ cấu) của program
chúng ta trở nên rắc rối, ta cần phải thấy từng cặp Begin-End rõ ràng. Tốt hơn hết là
làm sao mỗi chữ End nằm ngay phía dưới chữ Begin của nó, dầu có cách bao nhiêu
hàng. Codes sẽ lồi ra, thụt vô theo đẳng cấp rõ ràng, trông rất ÐẸP (PRETTY).
Vì hồi xưa có phương tiện Edit source code trên một Terminal ( một trong những màn
ảnh nối về một computer chánh) là có phước lắm rồi, nên đòi hỏi Editor làm Pretty
Codes cho mình thì hơi quá đáng. Do đó người ta phải dùng một program khác để
làm Pretty Codes.


Ở đây, chúng ta sẽ thực hiện công tác Pretty Code, đồng thời đi thêm một bước nữa
là thêm màu cho codes trong trang Web. Ta sẽ tận dụng Listbox và các String
Functions của VB6. Ðầu tiên, ta Load content của một Text File chứa VB6 source code
vào ListBox lstCodes. Khi User clicks nút Pretty Codes program sẽ làm hai chuyện
sau đây:
Làm cho code đẹp
Kết quả của code đẹp được chứa trong Listbox lstPretty. Nguyên tắc chính trong
công tác nầy là lưu ý những chữ như IF, DO, WHILE ..v.v. là những chữ đứng đầu
của một Statement Block. Các statements thuộc về Statement Block ấy sẽ nằm thụt
vô một TAB position (3 spaces chẳng hạn).
Kế đó khi gặp môt chữ END hay LOOP, là chữ đúng cuối một Statement Block, thì
chính nó sẽ nằm lồi ra một TAB position trở lại.
Có một trường hợp cần lưu ý là Statement IF có thể kết thúc trên cùng một hàng, tức
là nó có thêm code nằm sau chữ THEN. Trong trường hợp ấy, chữ IF không phải là
đầu một Statement Block nên ta không cần phải tăng TAB position, tức là hàng kế
tiếp không cần phải thụt vô.
Các chữ ELSE, ELSEIF và CASE là những chữ vừa là cuối một Statement Block, vừa là
đầu một Statement Block kế đó. Nên chỉ có chính nó lồi ra thôi, hàng code kế tiếp
thụt vô trở lại. Pretty Codes hiện ra như trong hình dưới đây:
Thêm màu cho trang Web
Một bảng liệt kê các Reserved Words của VB6 cũng đuợc loaded vào trong Listbox
lstReservedWords. Nếu danh sách ấy chưa đủ, bạn có thể Edit thêm các chữ khác
vào file ReservedWords.txt.
Hầu hết các Reserved Words đều nằm riêng một mình và cách một blank space với
characters kế nó. Tuy nhiên bạn phải coi chừng khi chữ ấy nằm ở đầu hay cuối hàng.
Trong trường hợp đó nó không có leading (nằm phía trước) hay trailing (nằm phía
sau) blank space.
Sở dĩ ta phải chú ý điểm nầy là vì khi ta so sánh whole-word (nguyên chữ) ta phải
phân biệt chữ As đứng riêng một mình (là một Reserved Word) với chữ HAs. Thành
ra ta tìm chữ " As " (có space hai đầu), chớ không phải chữ "As".

Một hàng Comment thường bắt đầu bằng dấu single quote '. Ðôi khi phía sau một
hàng code cũng có Comment. Do đó ta xem trường hợp thứ nhất như là đặc biệt khi
Comment không có codes nằm phía trước. Trong program ta dùng một Browser để
display kết quả trang Web.
Program nầy cho phép bạn Paste VB6 Source code từ Clipboard vào ListBox
lstCodes, bằng cách click nút Paste Codes hay press Ctrl-V. Nó sẽ thay thế codes có
sẵn trong lstCodes. Sau khi làm pretty code, kết quả HTML sẽ được tự động lưu trử
trong file codes.htm. Bạn cũng có thể copy một số hàng HTML codes trong Listbox
lstColor bằng cách multiselect nhiều hàng rồi click nút Copy HTML hay press Ctrl-C.
Dưới đây là mẫu của HTML codes với màu:
Function SimilarWords(ByVal Word, ByVal ILen, ByVal TWord, ByVal Tlen) As
Boolean
' Two words are considered Similar if the shorter word has at least (its
length minus 2)
' characters that are found in the other word.
' In other words, the two words differ only a couple characters at the
most.
Dim L1, L2, W1, W2
Dim i, MatchCount, Pos
' Identify the shorter Word and its length
If ILen > Tlen Then
L1 = ILen
L2 = Tlen
W1 = UCase(Word)
W2 = UCase(TWord)
Else
L1 = Tlen
L2 = ILen
W1 = UCase(TWord)

×