Cách tạo chữ bị quay ngược 180 độ độc đáo
10/12/2008

Nghệ thuật chơi chữ trong văn chương mang đến nhiều thú vị cho người chơi. Và, với thời đại công nghệ thông tin thì thú chơi chữ cũng có thể được thể hiện. Bài viết sẽ hướng dẫn cách tạo chữ bị quay ngược 180 độ rất độc đáo.


Bạn hãy xem một ví dụ dưới đây, tôi sử dụng câu trong phần trợ giúp cùa MS Office “Some of the content in this topic may not be applicable to some languages”:

 

Bạn thấy câu này có ấn tượng không? Để có một câu văn lộn ngược độc đáo này, bạn có thể tự tạo một ứng dụng chuyển đổi kí tự bằng FrontPage (FP) (thường có trong bộ MS Office hoàn chỉnh), ở bài viết này tôi dùng FP 2003.

Đầu tiên, mở FP ra và tạo một file mới. Bạn chọn trên menu Insert> Form > Form để chèn một biểu mẫu vào tài liệu.

 

Sau đó hãy xóa đi nút SubmitReset mặc định trong biểu mẫu đi để có một biểu mẫu trống.

 

Chọn tiếp vào Insert > Form > Form Properties và đặt tên Form ở mục Form name là f, nhấp OK để xác nhận.

 

Sau đó, bạn lần lượt tạo hai vùng văn bản trên biểu mẫu này bằng cách vào Insert> Form > Text Area (hình 4).

 

Tạm gọi 2 vùng văn bản này là TextArea1 dùng để nhập văn bản gốc và TextArea2 dùng để xuất văn bản sau khi chuyển đổi. Bạn hãy nhấp kép vào từng TextArea và đặt tên như trong hình dưới đây.

 

Đến đây, bạn đã hoàn tất phần giao diện căn bản rồi, tất nhiên bạn có thể trang trí thêm các đoạn text chú thích hay màu sắc bất kì nào cho biểu mẫu đẹp hơn.

Kế tiếp, bạn bấm chuột lên trên TextArea1 (có tên original) và bấm vào nút Code bên dưới góc trái vùng soạn thảo để chuyển sang phần mã lệnh. Ở đây bạn để ý sẽ thấy dòng lệnh tương ứng với TextArea1 được tô sáng.

 

Bây giờ bạn chỉ cần thực hiện một thao tác đơn giản là chèn vào bên sau chữ textarea dòng lệnh onKeyUp=”flip()”. Tiếp đó, bạn kéo thanh trượt lên trên, tìm đến thẻ và chèn vào bên dưới đoạn mã dưới đây:



< script language="JavaScript">
function flip() {
var result = flipString(document.f.original.value.toLowerCase());
document.f.flipped.value = result;
}

function flipString(aString) {
var last = aString.length - 1;
var result = new Array(aString.length)
for (var i = last; i >= 0; --i) {
var c = aString.charAt(i)
var r = flipTable[c]
result[last - i] = r != undefined ? r : c
}
return result.join('')
}
var flipTable = {
a : 'u0250',b : 'q',c : 'u0254',d : 'p',e : 'u01DD',f : 'u025F',g : 'u0183',h : 'u0265',i : 'u0131',j : 'u027E', k : 'u029E',m : 'u026F',n : 'u',r : 'u0279',t : 'u0287',v : 'u028C',w : 'u028D',y : 'u028E','.' : 'u02D9','[' : ']','(' : ')','{' : '}','?' : 'u00BF','!' : 'u00A1',"'" : ',','<' : '>','_' : 'u203E',';' : 'u061B','u203F' : 'u2040','u2045' : 'u2046','u2234' : 'u2235',' ' : ' '
}
for (i in flipTable) {
flipTable[flipTable[i]] = i
}
< /script>

Đến đây, bạn có thể chuyển từ chế độ Code sang chế độ Preview để xem thành quả rồi. Hãy nhập đoạn văn bản cần chuyển vào khung thứ nhất, khung thứ hai dẽ hiển thị kết quả. Quá trình chuyển đổi đạt tuyệt đối nếu phần văn bản bạn nhập vào là tiếng Anh hoặc tiếng Việt không dấu, các chữ in hoa sẽ tự chuyển thành chữ thường. Tuy nhiên, khi bạn nhập văn bản bằng tiếng Việt có dấu, văn bản đảo ngược mà bạn nhận được sẽ không kém phần ngộ nghĩnh, và bạn có thể chèn vào Blog để “thách đố” bạn bè. Chúc các bạn thành công!
URL của bài viết này::http://www.vnschool.net/modules.php?name=News&file=article&sid=2734