{iKul} Mac

Sức mạnh tiềm ẩn...



Bài viết sau đây, mình giới thiệu với các bạn một số thủ thuật đơn giản để chuẩn bị cho quá trình Việt hóa hệ điều hành Leopard.

Như các bạn cũng biết thì đây là một quá trình thay đổi các tập tin hệ thống trong hệ điều hành, cho nên mức độ rủi ro cũng rất cao (bất kể hành động nào can thiệp vào các thành phần của hệ thống đều không được khuyến khích bởi Apple). Do đó, nếu không cẩn thận thì việc hệ điều hành bị lỗi là hoàn toàn có thể xảy ra.

Bạn hãy lưu ý là công việc đầu tiên, và cũng là quan trọng nhất là các bạn phải sao lưu (backup) lại tất cả những tập tin trước khi bạn tác động vào. Nếu điều kiện cho phép thì bạn nên sử dụng Time Machine của Leopard để lưu lại trạng thái hệ thống trước khi việc thay đổi được bắt đầu.

Việc thứ hai nữa bạn nên chú ý là: các file chúng ta sẽ thay đổi đều được thiết lập mặc định ở chế độ bảo mật, vì thế bạn không có quyền thay đổi nội dung bên trong. Bạn phải thực hiện việc thiết lập quyền truy cập cho tập tin cần thiết.

Để thực hiện việc thiết lập quyền truy cập, bạn nhấn vào tập tin muốn thay đổi quyền, nhấn chuột phải, chọn Get Info hoặc nhấn Command + I.

Khi cửa sổ thông tin hiện ra, trong khung Sharing & Permissions sẽ hiển thị các thông tin về quyền truy cập vào tập tin mà bạn chọn. Như bạn cũng nhìn thấy trong hình trên thì tài khoản của bạn không được đặt để truy cập tập tin này, mà mọi người chỉ có thể đọc (Read only) mà thôi.

Để thiết lập lại những thông tin này, công việc bạn phải làm là thêm tài khoản của bạn vào với quyền đọc và ghi. Bạn làm việc đó bằng cách nhấn vào dấu cộng (+) ở góc dưới bên trái. Tuy nhiên, như hình trên, góc dưới bên phải có hình cái ổ khóa, có nghĩa là những thiết lập hiện tại đã bị khóa, bạn không thể thay đổi. Bạn phải nhấn vào hình cái ổ khóa này để mở khóa, bạn sẽ được mời nhập password để mở khóa.

Sau khi đã thiết lập quyền truy cập cho tập tin (bạn nhớ phải sao lưu trước), bạn sẽ bắt đầu các bước Việt hóa.



Bài viết này, mình xin giới thiệu với các bạn về các bước cài đặt bộ XCode 3.0. Bộ cài đặt của XCode 3.0 nằm trong đĩa 2 của bộ cài đặt Leopard. Nếu bạn không có bộ đĩa cài đặt Leopard, bạn có thể download tại website của Apple Developer. Muốn download được thì trước hết bạn phải đăng ký một tài khoản miễn phí trên website này. Việc đăng ký cũng rất đơn giản và nhanh chóng.

Bạn sẽ download được bộ cài đặt XCode 3.0 với tên là xcode_3.0.dmg
Bạn đã download xong chưa? Nào, chúng ta cùng bắt tay vào việc cài đặt nhé. Cùng chạy file xcode_3.0.dmg nào.
File này sẽ được kiểm tra... Sau khi kiểm tra xong thì một cửa sổ mới sẽ xuất hiện
Chạy file XCode Tools.mpkg để bắt đầu quá trình cài đặt vào máy.

Bạn cứ nhấn Continue để qua các cửa sổ giới thiệuChọn nơi để cài đặt rồi nhấn Install
Tiếp theo là ngồi đợi cho đến khi việc cài đặt hoàn tất!Quá trình cài đặt đã kết thúc. Nhấn nút Close để đóng cửa sổ cài đặt lại. XCode sẽ được cài định mặc định trong thư mục: /Developer/Applications 

Trong thư mục nào gồm các ứng dụng sau:
1. Xcode.app: để tạo, phát triển và quản lý các ứng dụng do bạn phát triển bằng Cocoa, Objective C, Ruby...
2. DashCode.app: phát triển các widget cho Mac OS X
3. Instruments.app: mình chưa nghiên cứu đến phần này :(
4. Interface Builder.app: tạo giao diện cho các ứng dụng
5. Quartz Composer.app: Mình cũng chưa nghiên cứu về các này luôn, nhưng mình nghĩ là để quản lý về phần cứng.

Bạn có thể kéo những ứng dụng thường xuyên sử dụng xuống Dock để mở nhanh hơn. Mình thì chỉ kéo Xcode.app xuống Dock thôi.

Bây giờ thì bạn đã sẵn sàng để phát triển ứng dụng  trên Mac OS X rồi đó.


Chắc hẳn không có ai trong số những người yêu Mac không biết cái tên Leopard, hệ điều hành mới nhất cho đến thời điểm bây giờ (không tính Snow Leopard vì chưa được phát hành chính thức). 


Những người hâm mộ Mac ở Việt Nam cũng không phải là ngoại lệ. Tuy nhiên, điều thất vọng nhất là cho đến bây giờ, hệ điều nổi tiếng này của Apple vẫn chưa có giao diện tiếng Việt cho người dùng Việt Nam. 

Tuy nhiên, một tin mừng là mình đã nghiên cứu và thực hiện thành công dự án Việt hoá hệ điều hành Leopard này. Mặc dù mình vẫn chưa hoàn tất cả hệ điều hành, nhưng mình cũng rất muốn chia sẻ với các bạn - những người Việt yêu Mac - tin vui này. Hiện tại thì mình đã Việt hóa thành công một phần Finder và Dock.

Như hình trên, các bạn cũng thấy trình đơn chính của Finder đã được Việt hóa, được hiển thị hoàn toàn bằng tiếng Việt.
Và đây nữa, các bạn có thể thấy rõ hơn trình đơn đã được Việt hóa.
Một phần nữa mình muốn giới thiệu với các bạn là thanh Dock đã được Việt hóa. Mời các bạn xem hình dưới đây.

Không chỉ có vậy, mà một số phần khác cũng đã được mình Việt hóa thành côngThật lòng mà nói, mình không biết các bạn có vui khi nhận được tin này không. Nhưng đây thật sự là một khám phá tuyệt vời đối với mình, và mình rất háo hức để thực hiện cho xong việc Việt hóa toàn bộ hệ điều hành Leopard này. Mình đang ráo riết thực hiện cho xong.

Hiện tại mình chưa thể giới thiệu với các bạn bản demo này. Tuy nhiên, mình hứa sẽ giới thiệu với tất cả các bạn trong thời gian sớm nhất, và đặc biệt, mình sẽ chia sẻ cho cộng đồng yêu Mac Việt Nam hoàn toàn miễn phí.

Đây là những công việc mình đã, đang và sẽ làm, mình muốn chia sẻ để các bạn theo dõi và nếu bạn nào muốn tham gia, mình rất vui chào đón các bạn cộng tác với mình.

1. Tìm và truy cập vào file hệ thống của tất cả các thành phần của hệ điều hành để thực hiện công việc Việt hóa.
2. Dịch những nội dung cho các thành phần.
3. Cập nhật những nội dung đã dịch vào hệ thống.
4. Viết một bộ AppleScript thực hiện công việc cài đặt cho hệ thống của các bạn.

Mọi thắc mắc và ý kiến đóng góp, xin các bạn gởi trực tiếp về email ikul.mac@gmail.com
Xin cám ơn các bạn rất nhiều vì đã theo dõi blog này và ủng hộ mình.

Những bài trước bạn đã biết cách khai báo biến để lưu các giá trị, trong đó có giá trị kiểu chuỗi ký tự (String). Hôm nay, trong bài viết này, mình giới thiệu với các bạn những hàm (functions) chuyên để xử lý các chuỗi ký tự.


Trước tiên và cũng đơn giản nhất là toán tử &, dùng để nối hai chuỗi lại với nhau.
set #tên biến# to #chuỗi 1# & #chuỗi 2#
Đây chính là cách sử dụng hàm kết nối 2 chuỗi lại với nhau. Hãy cùng xem ví dụ dưới đây nhé:
set ten to "Kul" & "Nova"
Kết quả của ví dụ trên là biến "ten" với giá trị là "KulNova".

Tiếp theo mình xin giới thiệu những hàm phức tạp hơn để so sánh 2 chuỗi với nhau.

1. Bắt đầu với...

Kiểm tra xem có phải một chuỗi bắt đầu bằng một chuỗi khác không, ta sử dụng từ khóa begins with 
set cau to "Chào mừng bạn đến với AppleScript!"
if cau begins with "Chào" then
     beep
end if
Ví dụ trên làm công việc đơn giản là kiểm tra xem biến "cau" có bắt đầu bằng chữ "Chào" hay không. Nếu đúng thì sẽ kêu một tiếp beep.

Lưu ý là ở đây có 2 từ khóa là begins withstarts with. Và 2 công dụng của 2 từ khóa này hoàn toàn giống nhau nhé.

2. Kết thúc bằng...

Tương tự với begins with thì AppleScript còn chúng cấp cho chúng ta từ khóa ends with để kiểm tra xem một chuỗi này có phần cuối là một chuỗi khác không. Hãy cùng xem ví dụ dưới đây cho dể hiểu nhé.
set cau to "Chào mừng bạn đến với AppleScript!"
if cau ends with "AppleScript!" then
      beep
end if
3. Các hàm khác...

Ngoài ra chúng ta còn có các hàm sau:
  • is equal to: hai chuỗi có bằng nhau hay không
  • comes before, comes after: thực hiện việc so sánh 2 chuỗi với nhau bằng thứ tự trong bảng chữ cái. 
  • is in: kiểm tra xem 1 chuỗi con có nằm trong chuỗi cha hay không
  • contains: kiểm tra xem chuỗi cha có chứa chuỗi con hay không
4. Phủ định...

Như mình đã nói từ đâu, AppleScript được xây dựng hoàn toàn giống tiếng Anh. Chúng ta có thể sử dụng hàm theo cách phủ định của các hàm trên như sau:
  • does not start with hoặc does not begin with
  • does not end with
  • is not equal to
  • does not come before
  • does not come after
  • is not in
  • does not contain
Mình sẽ không đưa ra ví dụ cho các hàm này mà dành phần khám phá này cho các bạn nhé. Các bạn hãy cùng làm một số ví dụ thử nhé. Thú vị lắm đó ;)


Bài này hướng dẫn bạn một cách đơn giản nhất để thực hiện một công việc nào đó với điều kiện nào đó. Hay nói đơn giản là trong trường hợp này, thực hiện kế hoạch A, trong trường hợp khác, thực hiện kế hoạch B. 


AppleScript cũng như các ngôn ngữ lập trình khác, cung cấp cho chúng ta một cấu trúng gần giống như tiếng Anh để làm việc này. 
if #điều kiện# then
    #công việc 1#
else
    #công việc 2#
end if
Trong cấu trúc trên thì #điều kiện# là một biểu thức nào đó, sẽ được trả về là một kiểu luận lý. Nếu biểu thức #điều kiện# là đúng thì sẽ thực hiện #công việc 1#, nếu không đúng thì thực hiện #công việc 2#.

Chúng ta hãy cùng nhau xem ví dụ dưới đây nhé: 2 biến a và b sẽ được gán sẵn giá trị là các số nguyên. Đoạn script của chúng ta sẽ kiểm tra xem số nào lớn hơn và xuất giá trị của biến đó cho người dùng biết.

Để thay đổi hình nền đăng nhập Leopard thì trước giờ đã có nhiều cách: sử dụng terminal, đổi tên file và copy trực tiếp để thay thế hình nền cũ.

Tuy nhiên có một cách đơn giản hơn nhiều, mà không phải lo đến việc mất hình nền mặc định của Leopard. Đó là sử dụng phần mềm Loginox.

Phần mềm này hoàn toàn miễn phí và rất dễ sử dụng. Bạn có thể download trực tiếp từ website. Rồi cài đặt vào máy. Chạy chương trình
Màn hình chính của chương trình: Khung bên trái là hình nền hiện tại của cửa sổ đăng nhập.

Khi muốn thay đổi hình nền khác, kéo một hình bất kỳ vào cửa số bên phải như hình trên. Sau đó nhấn nút "Set new Login image".
Sau khi nhấn nút "Set new Login image" thì phần mềm sẽ làm công việc thay đổi hình nền.
Sau khi công việc chuyển đổi được thực hiện xong thì hình bạn vừa chọn sẽ chuyển qua xuất hiện ở khung bên trái.

Thế là xong, hãy thử log out xem, bạn sẽ thấy hình nền được thay đổi. Quá đơn giản phải không nào?

Khi muốn quay lại hình nền mặc định của Leopard thì chỉ cần nhấn vào nút "Restore default".

Bài này mình xin giới thiệu về cách sử dụng các biến (variable) trong AppleScript. Mặc dù đã được sử dụng nhiều trong các bài trước, nhưng chưa được giới thiệu cụ thể đó là gì nên có thể bạn vẫn còn thắc mắc "đó là gì".


Trước tiên chúng ta phải định nghĩa xem biến là gì đã nhé. Đứng về phương diện lập trình thì biến là một cái tên do chúng ta đặt. Khi biến này được khai báo thì hệ thống sẽ cung cấp một vùng nào đó trong bộ nhớ để chúng ta lưu trữ những thông tin cần thiết. Nói nôm na, tên biếng như là địa chỉ nhà, và vùng nhớ được hệ thống cung cấp chính là căn nhà mà mình đang ở, lúc đó chúng ta sẽ là giá trị của cái biến đó :) Có vẻ hơi rắc rối nhỉ??? Thôi thì bắt tay vào ví dụ cụ thể cho đỡ rắc rối nhé. 

Chúng ta có thể khai báo một biến trong AppleScript theo cấu trúc sau:
set #tên biến# to #giá trị mặc định#
Cấu trúc chỉ đơn giản như vậy. Nếu các bạn đã từng làm với các ngôn ngữ lập trình cấp cao khác như C#, Java, C++... thì sẽ đặt ra câu hỏi ngay là "Làm sao để biến biết này thuộc kiểu dữ liệu nào?". Câu trả lời là bạn không cần phải định kiểu cho biến vừa được khai báo, vì AppleScript là một ngôn ngữ kịch bản chứ không phải là ngôn ngữ lập trình cao cấp.

Điều đó có nghĩa là gì?
set bien to "Đây là một biến trong AppleScript"
set bien to 123
set bien to 343.98
set bien to true
Trong ví dụ trên, mình khai báo một biến tên là "bien". Khi được khai báo thì biến này sẽ mang giá trị là một chuỗi ký t (String) "Đây là một biến trong AppleScript". Điều này không có nghĩa là trong suốt quá trình biến này tồn tại, nó phải mang giá trị là kiểu chuỗi ký tự. Dòng thứ 2 trong ví dụ trên chứng tỏ điều đó, bien được gán cho một giá trị là kiểu số nguyên. Dòng thứ 3, bien lại được gán là một số thập phân. Dòng thứ 4 thì bien lại được gán cho một kiểu dữ liệu hoàn toàn khác so với 3 loại trước: kiểu luận lý (true/false: đúng/sai).

--> Nói tóm lại: biến trong AppleScript không chỉ mang một kiểu dữ liệu nhất định, mà nó có thể mang giá trị của bất kỳ kiểu dữ liệu nào.

Không chỉ gán giá trị trực tiếp cho biến, mà chúng ta cũng có thể gán một biến này cho một biến khác.
set bien1 to "Biến 1"
set bien2 to bien1
Nhìn vào ví dụ trên, các bạn cũng hiểu rằng bien1 được tạo ra với giá trị là "Biến 1". bien2 được tạ, và bien1 được gán cho bien2. Điều này có nghĩa là bien2 sẽ mang giá trị của bien1, và cũng có nghĩa là cả 2 biến sẽ mang cùng một giá trị như nhau là "Biến 1"

Bây giờ, các bạn hãy thử đọc lại bài viết "Tiếp nhận thông tin từ người dùng" để xem cách sử dụng biến được ứng dụng như thế nào nhé ;)


Một trong những ưu điểm của hệ điều hành Mac OS X chính là đa ngôn ngữ. Vì thế mà bạn có thể thay đổi ngôn ngữ của hệ điều hành một cách rất dễ dàng. Tuy nhiên, ưu điểm cũng sẽ trở thành khuyết điểm nếu bạn chỉ cần một ngôn ngữ duy nhất trên hệ điều hành, vì bạn không bao giờ có nhu cầu sử dụng những ngôn ngữ khác.


Nếu bạn có những kiến thức chuyên sâu về việc cài đặt hệ điều hành Mac OS X, bạn hoàn toàn có thể chọn ngôn ngữ nào sẽ được cài đặt vào máy của mình. Tuy nhiên, nếu hệ điều hành đã được cài đặt với tất cả các ngôn ngữ, và bạn lại không muốn phải mất thời gian cài lại hệ điều hành để bỏ bớt những ngôn ngữ khác.

Monolingual sẽ giúp bạn làm điều đó một các rất dễ dàng. Tất cả những thứ bạn phải làm là vào trang web của Monolingual tại http://monolingual.sourceforge.net/ và download phần mềm này về máy. Cài đặt vào máy. Và chạy.


Tiếp theo thì bạn chỉ cần chọn vào những ngôn ngữ muốn gỡ bỏ khỏi hệ điều hành, và nhấn nút Remove. Phần việc còn lại là bạn ngồi đợi cho đến khi phần mềm thực hiện xong công việc. Bạn sẽ tiết kiệm được vài GB ổ cứng.

Phần mềm này hoàn toàn miễn phí. Yêu cầu tối hiệu là hệ điều hành Mac OS X 10.3.9 (Panther).

Mọi thắc mắc và ý kiến đóng góp, bạn hãy gởi trực tiếp về email ikul.mac@gmail.com


Thời gian gần đây, mình chưa viết thêm bài mới nào chuyện biệt về AppleScript. Bởi vì mình đã và đang dồn sức để tạo một số thay đổi cơ bản về cấu trúc cũng như nội dung cho {iKul} Mac.


Có lẽ các bạn cũng đã nhận ra sự thay đổi về giao diện của blog. Giao diện đã được mình thay đổi theo phong cách của hệ điều hành Mac OS X. Vì trên blog này, mình sẽ chỉ viết về những vấn đề liên quan đến Mac OS X, nên mình nghĩ việc thay đổi giao diện này là một sự thay đổi quan trong và phù hợp.

Ngoài ra, một phần mới đã được thêm vào blog là phần "Đánh giá"

Như bạn thấy ở phần trên, phần đánh giá xếp hạng này xuất hiện ở dưới mỗi bài viết. Người đọc có thể đánh giá theo các tiêu chí của mình để người viết có thể rút kinh nghiệm và biết được bài nào người đọc cảm thấy hữu ích, bài này không hữu ích. Từ đó mà người viết có thể điều chỉnh nội dung bài viết cho phù hợp và ngày càng hữu ích hơn cho người đọc.

Phần tìm kiếm cũng đã được tích hợp vào trong blog để giúp bạn có thể thực hiện các tìm kiếm một cách nhanh chóng. Bạn hoàn toàn có thể tin tưởng vào công cụ tìm kiếm này, vì đó là một công cụ do Google phát triển và hỗ trợ.

Hiện tại thì đây chỉ mới là công cụ tìm kiếm internet chứ không phải là công cụ để tìm kiếm nội bộ trong blog. Mình đang nghiên cứu để phát triển một bộ tìm kiếm nội bộ để giúp người đọc có thể tìm đến một bài viết bất kỳ nào đó trong blog một cách dễ dàng và nhanh chóng.

Phần tiếp theo đã được thêm vào blog của mình là phần "Blog bạn bè"


Phần này được thêm vào với mục đích liên kết với các blog của bạn bè, những blog chuyên viết về các sản phẩm của Apple. Hiện tại thì mình đã liên kết với blog của anh tí-phá (một thành viên của diễn đàn MacVN.com). Blog của anh tí-phá chuyên rao bán các sản phẩm Apple và Hi-tech. 

Sử bộ sung này là một công cụ của Blogspot phát triển, không chỉ là liên kết đến địa chỉ blog của bạn bè, mà tác dụng của nó còn là hiển thị các bài viết mới nhất trên blog của bạn bè mình. Vì thế mà chúng ta có thể theo dõi được những thông tin mới nhất được cập nhật từ bạn bè.

Nếu bạn đang sở hữu một blog về Mac hoặc các sản phẩm của Apple, hãy gởi cho mình liên kết địa chỉ đến blog của bạn, mình sẽ đặt liên kết lên {iKul} Mac. Và bạn cũng có thể đặt liên kết đến {iKul} Mac trên blog của bạn. Mọi thông tin xin gởi trực tiếp đến email ikul.mac@gmail.com

Trên đây là những thay đổi về cấu trúc của {iKul} Mac. Tiếp theo là những theo đổi về nội dung. Mục đích từ đầu khi blog này được xây dựng là để chia sẻ với những bạn yêu thích Mac và các sản phẩm của Apple, đặc biệt là chia sẻ kiến thức về lập trình trên hệ điều hành Mac OS X. Từ đó, những người yêu thích lĩnh vực này có thể gặp gỡ, trao đổi thông tin và học tập để xây dựng một cộng đồng lớn mạnh, cùng nhau xây dựng những phần mềm của người Việt Nam dành cho người Việt Nam trên hệ điều hành Mac OS X.

Những bài viết đầu tiên mình hoàn toàn viết về AppleScript. Tuy nhiên, đó không phải là chủ đề duy nhất trên {iKul} Mac. Những chủ đề khác sẻ được viết trên blog này gồm có:

  1. Thông báo từ {iKul} Mac
  2. AppleScript
  3. Cách sử dụng Terminal
  4. XCode
  5. Chia sẻ phần mềm cho Mac
  6. Các mẹo vặt sử dụng hệ điều hành Mac OS X
Đó là những chủ đề sẽ được bàn bạc rộng rãi trên {iKul} Mac trong thời gian sắp tới. Mình hy vọng là các bạn sẻ thích thú với những nội dung này, và cùng với mình chia sẻ, trao đổi kiến thức, nhằm mục đích chung là xây dựng một cộng đồng Mac lớn mạnh ở Việt Nam.

Mọi thông tin và câu hỏi xin gởi trực tiếp về email ikul.mac@gmail.com
Xin chân thành cám ơn các bạn đã dành thời gian đọc bài viết này.


Bài hướng dẫn trước các bạn đã biết cách hiển thị hộp hội thoại để đưa ra cho người dùng những thông điệp từ hệ thống, cũng như nhận biết nút bấm mà người dùng đã tác động từ hộp hội thoại đó. Tuy nhiên, trong nhiều trường hợp, thông tin từ nút bấm vẫn là chưa đủ để biết được những thông điệp người dùng muốn truyền ngược lại cho hệ thống.


Đôi khi, chúng ta muốn yêu cầu người dùng nhập vào một số thông tin gì đó để hệ thống xử lý. Giải pháp sẽ là có một text field để người dùng nhập bất kỳ thông tin gì họ muốn. Text field này có thể được tích hợp trực tiếp vào hộp hội thoại như bài trước.

Cú pháp như sau:

display dialog "#thông điệp từ hệ thống" default answer ""

Vẫn dùng cú pháp cũ để hiển thị hộp hội thoại, phần default answer "" sẽ làm công việc hiển thị text field trong hộp hội thoại. Trong trường hợp này thì text field mặc định là trống. Bạn có thể đặt một giá trị mặc định nào đó trong text field.

Hãy xem một ví dụ đơn giản sau đây nhé:


Đó là một ví dụ hết sức đơn giản, giới thiệu cách để đưa 1 text field vào hộp hội thoại. Như các bạn cũng thấy, theo như ví dụ trên thì thông điệp "Tên bạn là gì" được hiển thị cùng với một text field bên đưới, mà nút bấm mặc định là "Xong".

Tiếp theo, chúng ta sẽ thử cùng nhau tiếp nhận thông điệp mà người dùng muốn gởi trả lại cho hệ thống nhé. 

Hãy cùng nhau làm ví dụ dưới đây nhé, để ôn lại cách nhận biết nút bấm người dùng đã tác động và nhận luôn thông tin người dùng nhập vào text field nhé: Sau khi nhập tên vào, người dùng sẽ bấm vào nút "Xong", một hộp hội thoại khác sẽ hiện ra với lời chào có kèm theo tên vừa mới được nhập vào.


Cùng nhau xem xét kỹ hơn ví dụ ở trên nhé! Chúng ta nhận lại kết quả người dùng nhập vào text field bằng cấu trúc:

set #ten bien# to text returned of result

Kết quả bạn nhận được sẽ được lưu vào biến #tên biến#. Sau khi người dùng bấm nút "Xong" thì kết quả của chúng ta nhận được là một hộp hội thoại như sau :)

Như vậy là bạn đã có thể làm thêm một việc nữa với AppleScript rồi đó. Hãy cùng sáng tạo ra những thứ mới mẻ với AppleScript bạn nhé ;)

Mọi thắc mắc và đóng góp, xin bạn cứ gởi trực tiếp đến địa chỉ email ikul.mac@gmail.com


Bài viết này, mình xin giới thiệu với các bạn về cách để hiểu thị lên những hộp hội thoại để cung cấp cho người dùng, mục đích chính là tạo nên sự tương tác giữa người dùng và hệ thống.


Công việc đơn giản nhất là hiển thị lên màn hình một hộp hội thoại để thông báo một trạng thái nào đó. 

Việc hiển thị một thông báo được thực hiện với cấu trúc như sau:

display dialog "#Nội dung#"
Chúng ta hãy cùng nhau xem ví dụ dưới đây nhé!

Rất đơn giản, theo đúng như cấu trúc ở trên, kết quả thu được sẽ là một hộp hội thoại với nội dung là "Chào mừng bạn đến với AppleScript. Khi này, chúng ta sẽ thấy 2 nút bấm (button) được hiển thị là "OK" và "Cancel", đây là 2 nút bấm mặc định của hệ thống. Điều này không có nghĩa là chúng ta bị buộc phải sử dụng 2 loại nút này. Việc định nghĩa các nút bấm riêng cũng rất đơn giản bằng cấu trúc sau:
display dialog "#Nội dung#" buttons {"#tên nút 1#", "tên nút 2",..., "tên nút n"}
Với cấu trúc này, chúng ta có thể tạo bao nhiêu nút bấm tùy thích, tất cả các nút bấm được định nghĩa theo cấu trúc trên sẽ được hiển thị trên hộp hội thoại.

Hãy cùng nhau xem ví dụ tiếp theo nhé!

Chúng ta cũng có thể đặt nút bấm nào sẽ là nút bấm mặc định bằng cách thêm vào câu lệnh trên một mệnh đề "default button" như sau:

display dialog "#Nội dung#" buttons {"#tên nút 1#", "#tên nút 2#",..., "#tên nút n#"} default button "#tên nút mặc định#"

Sau khi đã định nghĩa được các nút bấm trong hộp hội thoại của mình, câu hỏi tiếp theo là làm sao để biết rằng người dùng đã bấm nào nút nào. Làm sao để biết được? Có rất nhiều cách. Ở đây mình giới thiệu với các bạn cách đơn giản nhất như ở ví dụ này nhé!


Ví dụ trên là một cách đơn giản nhất để nhận biết đâu là nút bấm mà người dùng vừa mới bấm. Cấu trúc chung để kiểm tra nút bấm nào vừa được bấm như sau:
if "#tên nút cần kiểm tra#" is button returned of result then
     #Công việc muốn làm#
end if

Giải thích cho ví dụ trên: người dùng sẽ nhận được một hộp hội thoại với câu hỏi là "Bạn có yêu em Mac của mình không?", với 3 nút bấm "Có", "Không" và "Không biết nữa". Chỉ khi người dùng bấm vào nút "Có" thì một hộp hội thoại khác được hiện ra với nội dung "Tất nhiên là phải yêu rồi!", nếu người dùng bấm vào 2 nút kia thì chương trình sẽ kết thúc.

Bây giờ thì bạn đã biết được những bước cơ bản để tạo ra những hội hội thoại để tương tác với người dùng. Những bài sau mình sẽ giới thiệu tiếp những phần nâng cao hơn về hộp hội thoại và sự tương tác.

Subscribe to: Posts (Atom)