テキストユーザーインターフェイス(TUI)はどのように機能しますか?
https://softwareengineering.stackexchange.com/questions/22623
-
22-10-2019 - |
質問
私は最近、古いCOBOLプログラムをポートすることに割り当てられました。私はGUISに慣れており、TUIがどのように機能するか理解できません。私はGoogleを通してたくさん検索しましたが、何かを見つけることができませんでした。
コンソールアプリケーションがラインごとに出力できることは知っていましたが、色などは端末画面にどのように描かれていますか?これらすべてのものはどのように描かれていますか?端子はどういうわけかそれをサポートしていますか?基準はありますか?私は本当に混乱しています。
解決
ここのプラットフォームによってあなたの答えが異なることを確信しています。ターミナル/コンソールにはさまざまな種類があり、それを書くための複数の標準であります。それらのほとんどは、ある種のエスケープシーケンス(例:ANSIチャーエスケープ、DOS、YMMV)を使用して、文章を画面に中断するために特別なエスケープチャーを送信し、カーソルを移動したり、色を変更したりできます。
あなたが愚かなターミナルのために文字通り何かを書いているなら、おそらく次のようなものを使うでしょう https://secure.wikimedia.org/wikipedia/en/wiki/ncurses
他のヒント
この種のインターフェイスの一般的な用語は「コマンドライン」です。おそらく、「テキストユーザーインターフェイス」よりもグーグルをグーグルで行うでしょう。
心配しないでください、何百もの基準があります:)
私は悲しいことに、古いグラフィカルウィンドウの兄弟よりも、テキストおよびコンソールベースのアプリケーションに慣れています。フィドネットではあまりにも多くの日があります。
私が最初にすることは、古いデジタル企業からいくつかのVT100コードを学ぶことです。アプリケーションを書くことはできません VT100コード (おそらくそれに対してアドバイスします)が、それはコンソールマトリックスを制御するための非常に優れた簡単な紹介です。
次のようなライブラリ 呪い これらのコントロールコード(および他の多くのスタイルの端末コード)をラップして抽象化して、ユーザーが独自の端末を介してログインできるようにします。 VT100のようなことは、今日でもRDPで苦労しているリモート(ローカル)印刷を行うことさえできます。
IBMシステムは、事態を悪化させるために、ラインベースのコントロールではなく、画面およびブロックベースのプロトコルを使用します。例は次のとおりです 3270 と 5250 リクエストのより良い比較法の欠如のための端末プロトコル|応答アーキテクチャはhttpを考える。これらのように能力がありますが、彼らは仕事をする真のピタ・イムシューであり、独自の質問であるべきです。
それよりも悪いことは、DOS/Windowsの世界でコンソールアプリケーションを作成することです。ターゲット開発プラットフォームで返信してください。