Cùng Bờm Tiên sinh học Calc (Phần 30)

20/03/2013 15:49

Đơn thân độc mã vào động lão yêu, Bờm ta phải thể hiện công phu bằng chiêu viết vĩ lệnh. Liệu Bờm có trúng thuốc mê của lão yêu hay không?

Không đợi đến sáng, trời vừa hừng đông, Bờm đã một mình trèo lên ngọn núi Thiên sơn, quyết tìm gặp Thiên sơn lão quái, đòi lại quyền bí kíp và đòi lại cả danh dự cho việc hắn dám mạo danh Bờm làm điều xằng bậy. Như đã được dặn trước, nên dù Bờm vượt hàng ngàn bực tam cấp leo đến đỉnh núi để vào được Thiên Sơn Động thì bở cả hơi tai, hổn ha hổn hển, vốn chỉ cần một tên tiểu yêu trong động cũng có thể hạ Bờm nằm dài, nhưng Bờm đi đến đâu thì bọn chúng đều dạt ra nhường đường đến đó.

Vừa bước vào động, lấy hết sức bình sinh, Bờm chỉ tay vào mặt Thiên sơn lão quái đang ngồi trên bệ cao mà hét lên rằng: “Cái tên quái kia, ngươi ham học mà cướp đi quyển bí kíp ta không giận, người làm ta phải leo chín trăm chín mươi chín bậc thang lên đây đòi lại, ta cũng không giận, nhưng ngươi dám mạo đại danh Văn Bờm của ta để lừa dối mọi người, cái đó ta giận à nhen! Ngươi khôn hồn thì mau trả lại bí kíp, rồi cùng ta trở lại Thần toán sơn trang để tạ lỗi với mọi người, trả lại danh dự cho ta, không thì chỉ cần ta dậm chân ba cái, hang động này ắt chẳng còn”.

Lão quái cười phá lên làm cả bọn tiểu yêu cười theo vang cả hang động: ”Ngươi đúng là khí phách hơn người, vào đến đây mà còn dám lớn tiếng. Chẳng qua là trong mấy ngày nằm canh trên nóc sơn trang để chờ đoạt quyển bí kíp, ta thấy trong khi mọi người chăm chú lắng nghe giảng, thì ngươi hết ăn lại ngủ, chắc là đã hiểu hết rồi. Vậy nên ta cố tình giả dạng ngươi cướp đi bí kíp, để ngươi giận mà lên đây tìm ta. Ha ha ha”.

“Vậy giờ ngươi muốn sao thì mới trả lại quyển bí kíp?”.”Đơn giản thôi, ngươi phải đưa ra cho ta ba ví dụ về Macro, tức là cái Vĩ lệnh gì đó mà lúc ở trên mái nhà nghe hai lão già đó giảng hoài mà ta vẫn không hiểu nổi, rồi thưởng thức ba chén rượu bồ đào của Thiên sơn, thì ta sẽ trả bí kíp ra để ngươi mang về”.

“Được, để khỏi mất thời gian, ta sẽ bắt đầu ngay, ngươi hãy chuẩn bị rửa tai mà nghe cho kịp nhé! Ví dụ thứ nhất, ta sẽ biểu diễn dùng Vĩ lệnh để tạo ra một cái đồng hồ điện tử chạy trên màn hình Calc. Về nguyên tắc thì đơn giản, ta chỉ việc dùng hàm Now() để lấy thời, nhưng giá trị này chỉ hiện cố định. Vì thế để cho đồng hồ thay đổi giá trị liên tục sau mỗi giây, tức là một ngàn mi-li giây, thì ta phải dùng Vĩ lệnh mới làm được. Ta dùng menu Công cụ - Vĩ lệnh – Tổ chức vĩ lệnh – OpenOffice.org Basic. Trong cửa sổ quản lý vĩ lệnh, ta chọn mục Vĩ lệnh cá nhân, rồi bấm vào nút Mới. Một cửa sổ soạn thảo vĩ lệnh sẽ hiện ra để ta gõ vào các lệnh của mình.

Nếu chưa nắm được kỹ thuật lập trình thì ta có thể tìm các đoạn mã Macro trên Internet về. Ví dụ như đoạn mã hiển thị đồng hồ trong ô B2 của Trang1 bằng cách sử dụng hàm Now() thay đổi 1000 mi-li giây một lần sẽ là:

Sub DisplayTime

Dim oDoc As Object

Dim oSheet As Object

Dim oCell As Object

oDoc=ThisComponent

oSheet=oDoc.Sheets.getByName("Trang1")

oCell=oSheet.getCellByposition(1,1) 'B2

Do

oCell.SetString(Now)

Wait 1000

Loop While 1

End Sub

Ta chỉ việc đánh dấu khối, xóa toàn bộ nội dung đang có trong cửa sổ soạn thảo vĩ lệnh, rồi dán đoạn mã trên vào cửa sổ đó. Sau khi đã hoàn tất các lệnh, ta có thể thực hiện các Vĩ lệnh này bằng cách bấm vào nút Chạy BASIC. Trường hợp các vĩ lệnh bị nhập sai cú pháp thì sẽ xuất hiện báo lỗi, còn nếu mọi câu lệnh đều hợp lệ thì vĩ lệnh sẽ được thực hiện. Trong trường hợp ví dụ này thì một đồng hồ điện tử xuất hiện và thay đổi giá trị mỗi giây. Muốn số trong đồng hồ to lên, ta định dạng lại cho ô B2 có phông chữ to hơn là được ngay. Sao, lão quái, ngươi thấy đã dễ hiểu hơn chưa?”.

“Hay, hay, hay lắm, bọn yêu nữ đâu? Sao còn chưa mang một chén rượu bồ đào ra mời Văn Bờm tiên sinh thưởng thức?” Ly rượu vừa đưa ra, Bờm chẳng nói chẳng rằng ực một hơi cạn sạch, rồi tiếp tục ngay:

“Trong ví dụ thứ hai, ta sẽ thấy dù tạo ra bao nhiêu Vĩ lệnh, nhưng nếu chúng thuộc về một Module thì chúng cũng sẽ chỉ nằm bên trong một cửa sổ soạn thảo duy nhất. Ta sẽ thử tải về một tập tin tại địa chỉ http://www.nhommucdong.com/vanbom/dinh_dang_chuoi.ods. Trong đó đã có chứa sẵn ba Vĩ lệnhUpperC, LowerCProperC. Bật sang chế độ quản lý Vĩ lệnh, khi bấm nút Sửa, ta sẽ thấy cả ba hàm chức năng này đang nằm trong cùng một cửa sổ soạn thảo. Chọn một ô có giá trị chuỗi, dùng menu Công cụ - Vĩ lệnh – Chạy vĩ lệnh, chọn một trong ba vĩ lệnh sẵn có, rồi bấm nút Chạy, ta sẽ thấy chuỗi trong ô được chuyển toàn bộ sang dạng chữ thường với vĩ lệnh LowerC, sang dạng chữ in toàn bộ với UpperC, hay in hoa các ký tự đầu từ với ProperC. Xong ví dụ thứ hai rồi đó, có thấy sáng ra được thêm chút nào nữa không vậy cái lão quái kia?”

Bờm vừa dứt lời, bọn yêu nữ không đợi Thiên sơn lão quái trả lời hay nhắc nhở, đã ưỡn ẹo mang ngay ra một ly rượu bồ đào thứ hai ra dâng lên cho Bờm. Bờm lại nâng ly nốc cạn trong ánh mắt nham hiểm của Thiên sơn lão quái.

“Ví dụ thứ ba, là mở rộng ví dụ thứ hai, đó là ta tăng tính tiện lợi cho việc sử dụng các Vĩ lệnh đang có bằng hộp thoại. Để thực hiện việc này, ta cũng dùng menu Công cụ - Vĩ lệnh – Tổ chức vĩ lệnh – OpenOffice.org Basic. Nhưng trong phần Vĩ lệnh cá nhân, thì ta chọn nút chức năng Tổ chức, tiếp theo chọn thẻ Hộp thoại, rồi mới bấm nút Mới để tạo ra một vĩ lệnh dạng hộp thoại. Ta sẽ đặt tên cho hộp thoại này là TextUtils, rồi bấm nút Sửa để mở cửa sổ soạn thảo.

Để tạo một hộp với ba nút chọn ta dùng chức năng Nút tùy chọn, con trỏ sẽ chuyển sang dạng dấu cộng. Sau đó ta bấm giữ rồi thả chuột để tạo một vùng chữ nhật dành cho nút bấm từng nút bấm. Xong ta bấm kép chuột vào các nút và đổi tên trong phần TênNhãn lần lượt là LowerCButton - Chữ thường toàn bộ, ProperCButton - Chữ in đầu từ UpperCButton - Chữ in toàn bộ. Rồi ta vào thẻ Dữ kiện của từng nút, thay đổi mục Bấm nút chuột, chọn Nhấn nút chuột – Vĩ lệnh, sau đó chọn vĩ lệnh tương ứng với các nút bấm là Chữ thường toàn bộ‑LowerC, Chữ in đầu từ‑ProperC, Chữ in toàn bộ‑UpperC.

“Ta còn phải tạo trong Vĩ lệnh cá nhân thêm một vĩ lệnh mang tên RunTextUtilsDlg dùng để gọi hộp chọn TextUtils mà ta vừa kế ở trên, với nội dung:

Sub RunTextUtilsDlg

Dim oLib

Dim oLibDlg

DialogLibraries.loadLibrary("Standard")

oLib = DialogLibraries.getByName("Standard")

oLibDlg = oLib.getByName("TextUtils")

oTextUtilsDlg = CreateUnoDialog(oLibDlg)

oTextUtilsDlg.execute

End Sub

Giờ thì mỗi khi cần xử lý ô chuỗi nào, ta chỉ việc chạy Vĩ lệnh mang tên RunTextUtilsDlg mới tạo, tức thì một cửa sổ chọn bật lên, bấm vào giá trị nào, ô chuỗi sẽ chuyển ngay sang dạng thức đó”.

Nói xong ví dụ thứ ba, thấy ly rượu bồ đào lại được mang ra, Bờm chưa vội uống mà hỏi lại: “Ta đã giảng xong ba ví dụ, uống xong ly rượu bồ đào này nữa thì ngươi phải giữ lời hứa trả lại bí kíp đó nhen!”. Nói xong, Bờm hất cạn ly rượu vào miệng.

Thiên Sơn lão quái thấy vậy cười ha hả rồi cùng cả bọn tiểu yêu đếm to: “Một,… hai,… ba, … xỉu nè”. Hóa ra, loại rượu bồ đào mà lão quái đưa cho Bờm uống là “Tam bôi bất tỉnh”, nên uống xong ly thứ ba thì cho dù tửu lượng cao cở nào cũng phải bất tỉnh. Những lần trước, các cao thủ bị trúng kế này, sau ly thứ ba và ba tiếng đếm của bọn tiểu yêu thì đều ngã lăn quay giữa động. Thế nhưng lần này, bọn chúng đã đếm đến con số… ba trăm, mà Bờm vẫn đứng trơ trơ.

Không chờ nổi, Bờm bực mình lên tiếng: “Thôi đừng có đếm nữa, nghe mệt lổ tai quá! Trước khi lên đây, ta đã có nghe nói về loại rượu bồ đào tam bôi… mất ngủ gì đó của các ngươi, thế nhưng các ngươi bị hố to rồi. Tiệc đêm hôm kia ở sơn trang, ta bị say là do lỡ uống đâu chừng …ba bốn chục bát to rượu Mai Quế. Các ngươi nghĩ sao mà lại đem ba chung rượu nhỏ xíu như ngón chân cái ra đòi hạ gục cái thân hình bồ tượng của ta vậy hả?”

NHÓM MỤC ĐỒNG

Ý kiến bạn đọc (0)
Tên   Email

Lên đầu trang