Skip to content

Getting Started VN

Hoai Phuoc Truong edited this page Nov 26, 2022 · 8 revisions

Hướng dẫn cơ bản

Đây là trang hướng dẫn (không bao gồm các tiểu tiết) cho những tính năng cơ bản nhất của Repeat.

Giao diện

Khi khởi động, chương trình sẽ host một trang web trên máy tại port 65401. Lưu ý là trang web này chỉ có thể được truy cập từ chính máy chạy chương trình, và sẽ không truy cập được từ các máy khác trong cùng mạng.

** Để có thể truy cập trang web này từ một máy khác, có thể sử dụng port forwarding**. Cách đơn giản nhất để sử dụng port forwarding là thông qua SSH.

Lưu ý là chương trình sẽ tạo một icon ở góc dưới màn hình như hình dưới

tray_icon

Có 3 phần chính ở trang chủ của chương trình:

Phần code

Phần này được dùng để viết các task mới và xem code cho các task hiện hành. Xem thêm về các ngôn ngữ lập trình có thể dùng trong Repeat tại trang languages. Ngôn ngữ lập trình mặc định là "manual". Với ngôn ngữ này, các task mới sẽ được tạo qua giao diện trên trang web như hình sau:

code_section

Nếu là một ngôn ngữ lập trình khác thì chương trình sẽ có một phần cửa sổ để viết code với vài tính năng đơn giản:

code_section

Viết/chỉnh code

Ngôn ngữ lập trình mặc định là "manual". Đây là một cách đơn giản thông qua giao diện web để tạo một task mới mà không cần phải viết code. Nếu như task cần những logic phức tạp hơn, xem thêm trang languages để đổi qua những ngôn ngữ lập trình khác phù hợp hơn.

Giao diện web có một phần cửa sổ nhỏ với vài tính năng cơ bản để viết code. Tuy nhiên, khi code trở nên phức tạp, bạn có thể sử dụng một chương trình viết code khác (tùy chọn). Để chọn chương trình viết code khác, chỉ cần bấm vào nút chỉnh code custom_editor để mở chương trình edit file mặc định tùy vào đuôi file. Với Java file sẽ có đuôi là .java, còn Python là .py, và C# là .cs.

Khi đã chỉnh code xong, sử dụng nút reload reload_editor để load đoạn code từ file vào trang web.

Phần task

Phần này được sử dụng để quản lý những task hiện hành và xem các hotkey của các task đó.

task_section

Phần log

Phần này để xem các dòng log. Phần này có thể có các dòng log về thông tin thêm từ chương trình, hoặc các lỗi (khi viết code). Hầu hết các lỗi sẽ được hiển thị ở phần này.

log_section

Ghi lại hoạt động máy tính & phát lại

Các hoạt động của bàn phím và chuột có thể được ghi lại qua nút bấm trên giao diện web. Recording & playback

Có những lựa chọn sau để phát lại một task đã được ghi lại:

  1. Phát lại n lần.
  2. Chờ một khoảng thời gian giữa các lần phát lại (trong trường hợp phát lại nhiều lần).
  3. Phát lại với tốc độ tùy chỉnh (nếu tốc độ < 1 sẽ là phát lại với tốc độ chậm và ngược lại là nhanh).
  4. Chỉ ghi lại click chuột (nghĩa là các di chuyển chuột sẽ không được lưu lại). Điều này có thể sẽ cần thiết để lưu lại các hoạt động trong thời gian dài mà các di chuyển chuột không cần thiết khi phát lại.

Để lưu lại các hoạt độing sau khi ghi lại, chọn Tools --> Generate source ở menu góc phải trên trong giao diện web. Sau khi code đã được tạo, sử dụng phần Tạo và quản lý task ở dưới để lưu task cho những lần sử dụng sau.

Tạo và quản lý task

Để tạo task, sử dụng nút compile compile_task để compile code, rồi nút thêm task add_task vào nhóm hiện tại (xem thêm phần giới thiệu về nhóm ở dưới).

Sau khi task đã được thêm vào phần task trên giao diện web, bạn có thể thay đổi tên bằng cách bấm vào cột "Name" của dòng task trong bảng. Task cũng có thể được tắt/bật bằng cách bấm vào cột "Enabled" của dòng task trong bảng.

Task có thể được gọi trực tiếp bằng cách bấm trực tiếp vào nút chạy task run_task_button. Nút này sẽ hiển thị cửa sổ để hỏi thêm về thông tin chạy task (VD: chạy bao nhiêu lần, thời gian chờ giữa các lần chạy, ...)

Các phương thức để kích hoạt task được điều chỉnh bằng cách bấm vào cột "Activation" của dòng task trong bảng. Xem phần Các phương thức kích hoạt task để biết thêm chi tiết. activation_column

Nếu cần thêm khoảng trống để xem danh sách các task (trường hợp có nhiều task), sử dụng nút "expand/shrink" task_expand_shrink.

Các phương thức kích hoạt task

Có nhiều phương thức để kích hoạt task, và mỗi task có thể có nhiều phương thức để kích hoạt. Mỗi phương thức kích hoạt có điểm mạnh và bất lợi riêng của nó. Vì vậy, chúng ta cần chọn các phương thức kích hoạt cho các task sao cho các task có thể hoạt động và kết hợp với nhau một cách tốt nhất.

Preconditions

Đây là những điều kiện cần thiết để chạy task. Những điều kiện này luôn được kiểm tra đầu tiên, và nếu không đủ điều kiện thì task sẽ không chạy (dù cho những phương thức kích hoạt khác đang được kích hoạt).

Những điều kiện này có thể được sử dụng để giới hạn chỉ chạy task trên một số chương trình nhất định.

Để biết chính xác tên của chương trình/cửa sổ đang chạy, sử dụng nút này task_expand_shrink. Sau khi bấm vào nút, tên của chương trình/cửa sổ đang chạy sẽ được hiển thị ở vùng log. Bạn có thể copy chúng vào phần preconditions để giới hạn khu vực hoạt động của task. Lưu ý là một số chương trình có tên bao gồm các ký tự đặc biệt thì tên có thể không hiển thị đúng trên trang web cho nên copy nguyên tên chương trình có khi sẽ không đúng. Trong trường hợp này, cách tốt hơn là chỉ copy một vần nhỏ (nhưng mà không trùng lặp) của tên chương trình.

Key chain

Một cách đơn giản để hình dung cách hoạt động của key chain là tổ hợp Ctrl+Alt+Del. VD như key chain "A + B + C", khi nhấn key chain A + B + C, tất cả các phím trước đó phải được nhấn xuống trước khi phím tiếp theo được nhấn (cụ thể là A phải được nhấn xuống trước khi B được nhấn, và cả A và B phải được nhấn trước khi C được nhấn).

Một key chain có thể có 1 phím (tương đương với việc gõ một phím như bình thường), hoặc nhiều phím. Tuy nhiên, nên lưu ý rằng hầu hết các bàn phím thông dụng thường chỉ có khả năng nhận dạng vài phím bấm xuống 1 lần (tức là bàn phím sẽ không nhận diện bấm một lúc 10 phím chẳng hạn). Để biết thêm chi tiết về giới hạn này, xem thêm Rollover trên Wikipedia.

Nếu bạn cần một key chain với nhiều phím (VD như 5 - 6 phím), key sequence ở dưới sẽ phù hợp hơn.

Key sequence

Key sequence đơn giản là một chuỗi các phím được bấm theo một thứ tự nhất định. Ví dụ, key sequence "A + B + C" sẽ được kích hoạt khi gõ "abc". Key sequence khác với key chain ở chỗ các phím trước không cần phải được nhấn xuống trước khi nhấn phím tiếp theo. Key sequence giống như việc đánh máy bình thường.

Global key

Global key được kích hoạt từ mọi hoạt động trên bàn phím. Có hai phương thức kích hoạt là "key pressed" (phím nhấn xuống) và "key released" (phím được thả ra).

Shared variable (các biến chung)

Shared variables là các biến chung được sử dụng cho cả chương trình. Tất cả các task đều có thể đọc và sửa đổi dữ liệu của tất cả shared variables. Khi một task có phương thức kích hoạt là một shared variable, task đó sẽ được kích hoạt khi giá trị của shared variable đó được cập nhật (ngay cả khi giá trị được cập nhật bằng với giá trị cũ).

Shared variables đặc biệt hữu dụng trong các trường hợp sau:

  1. Một task có thể kích hoạt một task khác (bằng cách đặt phương thức kích hoạt của một task là shared variable và task còn lại cập nhật giá trị của shared variable đó).
  2. Một chương trình bên ngoài (từ một máy khác, hay từ một chương trình khác Repeat như trình duyệt web) có thể kích hoạt task mà không cần bất kỳ hoạt động từ bàn phím hay chuột. Ngoài việc hoạt động như một chương trình chạy phía sau (trên nền), Repeat còn có thể được sử dụng như là một CLI nên bạn có thể tận dụng điều này để cập nhật giá trị của 1 shared variable trong Repeat từ bên ngoài. Việc cập nhật giá trị của shared variables có thể được thực hiện từ các chương trình nền khác, hoặc là thông qua một tín hiệu từ mạng.

Xem thông tin chi tiết về việc sử dụng shared variables tại trang này.

Phrase

Phrase là một phương thức hoạt động khi chuỗi (string) được nhập vào từ bàn phím. Điều cần chú ý là pharse chỉ hoạt động với các chuỗi có thể được nhập trực tiếp từ bàn phím. Phrase sẽ không hoạt động với các chuỗi có các thành phần không thể nhập được. Ví dụ như các âm tiếng Việt có dấu sẽ không gõ trực tiếp từ bàn phím được. Chuỗi "về" cần được chuyển thành "veef" khi đánh telex và "ve62" khi đánh VNI.

Mouse gesture

Mouse gesture bao gồm một vài chuyển động chuột được định sẵn để kích hoạt task. Phím mặc định để bắt đầu nhận diện mouse gesture là Capslock. Nhấn và giữ phím này, bắt đầu chuyển động chuột, rồi sau đó thả phím ra. Nếu chuyển động chuột đúng, task sẽ được kích hoạt.

Nhóm các task

Nhóm các task được dùng để quản lý một lúc nhiều task. Tất cả các task trong cùng một nhóm có thể được bật/tắt cùng một lúc để tiện quản lý. Bạn có thể chuyển đổi giữa các nhóm task sử dụng menu thả xuống trên giao diện web.

task_groups

Bấm vào nút nhóm task (phía bên trái của menu thả xuống) sẽ chuyển tới trang giao diện nhóm task. Ở trang này, bạn có thể sửa đổi tên nhóm, bật/tắt nhóm, thêm/xóa nhóm, hoặc là sắp xếp lại thứ tự các nhóm.

Để di chuyển các task giữa các nhóm, sử dụng nút đổi nhóm change_group.