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

Chia sẻ: Son Cung | Ngày: | Loại File: DOC | Số trang:6

0
161
lượt xem
31
download

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

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'display vb6 source codes với màu trong trang web', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Display VB6 Source codes với màu trong trang Web

  1. 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.
  2. Ở đâ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:
  3. 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 
  4. 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.
  5. 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
  6. W1 = UCase(TWord) W2 = UCase(Word) End If MatchCount = 0 ' Iterate through each character of the shorter word, i.e. W2 For i = 1 To L2 ' Locate a character of W2 in W1 Pos = InStr(W1, Mid(W2, i, 1)) If Pos > 0 Then ' Increment the number of same characters MatchCount = MatchCount + 1 ' Temporary remove the matched character from W1 W1 = Left(W1, Pos - 1) & Mid(W1, Pos + 1) End If Next If MatchCount >= (L2 - 2) Then SimilarWords = True Else SimilarWords = False End If End Function Bạn có thể download source code của program mẫu nầy.
Đồng bộ tài khoản