Giao diện người dùng văn bản (TUI) hoạt động như thế nào?


8

Gần đây tôi đã được chỉ định chuyển một chương trình COBOL cũ. Tôi đã quen với GUI và tôi không thể hiểu TUI hoạt động như thế nào. Tôi đã tìm kiếm rất nhiều thông qua Google nhưng không thể tìm thấy thứ gì đó.

Tôi biết rằng các ứng dụng bảng điều khiển có thể xuất từng dòng, nhưng màu sắc được vẽ như thế nào trên màn hình đầu cuối? Làm thế nào tất cả những thứ này đang được rút ra? Các thiết bị đầu cuối có hỗ trợ nó bằng cách nào đó? Có một tiêu chuẩn? Tôi thực sự bối rối.


1
Bạn sẽ sử dụng nền tảng nào?
Jon Onstott

Câu trả lời:


7

Khá chắc chắn câu trả lời của bạn sẽ thay đổi dựa trên nền tảng ở đây. Có nhiều loại thiết bị đầu cuối / bàn điều khiển khác nhau và cho nhiều hơn một tiêu chuẩn để ghi vào nó. Hầu hết trong số chúng tôi đã thấy sử dụng một số chuỗi thoát (ví dụ: ANSI char escures for dos, YMMV) trong đó bạn gửi một char thoát đặc biệt để làm gián đoạn chữ viết lên màn hình sau đó bạn có thể di chuyển con trỏ, thay đổi màu sắc, v.v.

Nếu bạn đang viết một cái gì đó theo nghĩa đen cho các thiết bị đầu cuối câm thì có lẽ sẽ sử dụng một cái gì đó như https://secure.wik hè.org / wikipedia / en / wiki / Nursurs


3
Các máy chủ của IBM có xu hướng sử dụng giao thức 3270 và 5250 trên đầu telnet. Trang cập nhật theo định hướng.

1
Nếu anh ta đang chuyển một chương trình COBOL / CICS sang một nền tảng tầm trung thì lời nguyền là một gợi ý tốt. Câu hỏi không thực sự cho chúng ta biết đủ.
Jeremy

Rất nhiều nền tảng khác cung cấp hoặc sử dụng giao thức tương thích VT-100 hoặc VT-200, vì vậy họ sẽ sử dụng mã "ANSI" phổ biến.
greyfade

@ Thorbjørn Ravn Andersen - Yup. Và nếu bạn thấy một cái gì đó gọi là "Thiết bị ảo Novell" trên đó, hãy chạy .. chạy như địa ngục
Tim Post

@Tim, bah, đối mặt với những thách thức thay vì hèn nhát bỏ chạy!

0

Thuật ngữ chung cho loại giao diện đó là "dòng lệnh". Có lẽ bạn sẽ làm tốt việc này hơn là "giao diện người dùng văn bản".


4
Không, một tiện ích dòng lệnh chỉ nhận stdin và đối số và chỉ có thể xuất stdout và stderr và mã trả về. Mặt khác, TUI có thể cập nhật mọi vị trí trên màn hình và chặn tất cả một phím nhập đầu cuối cùng một lúc. vi.wikipedia.org/wiki/Text_user_interface
Jeremy

0

Đừng lo lắng, có hàng trăm tiêu chuẩn để lựa chọn :)

Tôi buồn bã thoải mái hơn với các ứng dụng dựa trên văn bản và bảng điều khiển so với các anh em cửa sổ đồ họa cũ hơn của chúng. Tôi sợ quá nhiều ngày trên FidoNet.

Điều đầu tiên tôi sẽ làm là tìm hiểu một vài mã VT100 từ công ty Digital cũ. Bạn có thể không bao giờ viết các ứng dụng bằng mã VT100 (có thể khuyên chống lại nó), nhưng đây là một giới thiệu rất tốt và đơn giản để kiểm soát ma trận giao diện điều khiển.

Các thư viện như lời nguyền bao bọc các mã điều khiển này (và nhiều mã thiết bị đầu cuối kiểu khác) và trừu tượng hóa chúng để người dùng có thể đăng nhập thông qua thiết bị đầu cuối của riêng họ. Những thứ như VT100 thậm chí có thể thực hiện in từ xa (cục bộ) mà ngày nay chúng ta vẫn phải vật lộn trong RDP.

Để làm cho mọi thứ tồi tệ hơn đối với bạn, các hệ thống IBM không sử dụng điều khiển dựa trên dòng hoặc ký tự, mà là các giao thức dựa trên màn hình và khối. Ví dụ là các giao thức đầu cuối 32705250 , vì thiếu hành động so sánh tốt hơn trong kiến ​​trúc yêu cầu | phản hồi, hãy nghĩ HTTP. Có khả năng như vậy, họ là một Pita IMNSHO thực sự để làm việc và nên là câu hỏi riêng của họ.

Tệ hơn thế là sẽ viết một ứng dụng console trong thế giới DOS / Windows. Hãy trả lời với nền tảng phát triển mục tiêu của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.