Saya baru-baru ini ditugaskan untuk port program COBOL lama. Saya sudah terbiasa dengan GUI, dan saya tidak bisa mengerti cara kerja TUI. Saya mencari banyak melalui Google tetapi tidak dapat menemukan sesuatu.
Saya tahu bahwa aplikasi konsol dapat menampilkan garis demi garis, tetapi bagaimana warna dll. Ditarik ke layar terminal? Bagaimana semua benda ini ditarik? Apakah terminal mendukungnya? Apakah ada standar? Saya benar-benar bingung.
interfaces
command-line
GorillaApe
sumber
sumber
Jawaban:
Cukup yakin jawaban Anda akan bervariasi berdasarkan platform di sini. Ada banyak jenis terminal / konsol dan untuk lebih dari satu standar untuk penulisan. Sebagian besar dari mereka saya telah melihat menggunakan semacam urutan melarikan diri (mis: karakter ANSI lolos untuk dos, YMMV) di mana Anda mengirim karakter khusus untuk menginterupsi penulisan ke layar maka Anda dapat memindahkan kursor, mengubah warna, dll.
Jika Anda menulis sesuatu secara harfiah untuk terminal bisu maka mungkin akan menggunakan sesuatu seperti https://secure.wikimedia.org/wikipedia/en/wiki/Ncurses
sumber
Istilah umum untuk antarmuka semacam itu adalah "baris perintah". Anda mungkin akan melakukan googling yang lebih baik daripada "antarmuka pengguna teks".
sumber
Jangan khawatir, ada ratusan standar untuk dipilih :)
Saya sedih lebih nyaman dengan aplikasi berbasis teks dan konsol daripada saudara-saudara jendela grafis mereka yang lebih tua. Terlalu banyak hari di FidoNet, saya khawatir.
Hal pertama yang akan saya lakukan adalah mempelajari beberapa kode VT100 dari perusahaan Digital lama. Anda mungkin tidak pernah menulis aplikasi dalam kode VT100 (mungkin menyarankan untuk tidak melakukannya), tetapi ini adalah pengantar yang sangat bagus dan sederhana untuk mengendalikan matriks konsol.
Perpustakaan seperti kutukan membungkus kode kontrol ini (dan banyak kode terminal gaya lainnya) dan abstrak sehingga pengguna dapat login melalui terminal mereka sendiri. Hal-hal seperti VT100 bahkan dapat melakukan pencetakan jarak jauh (lokal) yang masih kami perjuangkan hari ini di RDP.
Untuk memperburuk keadaan bagi Anda, sistem IBM tidak menggunakan kontrol berbasis garis atau karakter, tetapi protokol berbasis layar dan blok. Contohnya adalah protokol terminal 3270 dan 5250 yang karena kurangnya tindakan perbandingan yang lebih baik dalam arsitektur request | response, pikirkan HTTP. Meskipun mampu, mereka adalah PITA IMNSHO sejati yang dapat digunakan untuk bekerja dan harus menjadi pertanyaan mereka sendiri yang terpisah.
Lebih buruk dari itu adalah menulis aplikasi konsol di dunia DOS / Windows. Jawab dengan platform pengembangan target Anda.
sumber