テキストユーザーインターフェイス(TUI)はどのように機能しますか?


8

私は最近、古いCOBOLプログラムを移植するよう割り当てられました。GUIに慣れていて、TUIがどのように機能するのか理解できません。私はグーグルでたくさん検索しましたが、何も見つかりませんでした。

コンソールアプリケーションが行ごとに出力できることは知っていましたが、端末画面に色などをどのように描画しますか?このすべてがどのように描かれていますか?端末はどういうわけかそれをサポートしていますか?基準はありますか?私は本当に混乱しています。


1
どのプラットフォームを使用しますか?
Jon Onstott、2010年

回答:


7

あなたの答えがここのプラットフォームに応じて変わることはかなり確実です。端末/コンソールにはさまざまな種類があり、それに書き込むための多くの標準があります。それらのほとんどは、何らかのエスケープシーケンス(例:dosのANSI charエスケープ、YMMV)を使用しており、特別なエスケープ文字を送信して画面への書き込みを中断し、カーソルを移動したり、色を変更したりできます。

ダム端末用に文字通り何かを書いているなら、おそらくhttps://secure.wikimedia.org/wikipedia/en/wiki/Ncursesのようなものを使用するでしょう


3
IBMサーバーは、Telnet上で3270および5250プロトコルを使用する傾向があります。ページ指向の更新。

1
彼がCOBOL / CICSプログラムをミッドレンジのプラットフォームに移植している場合、cursesは良い提案です。質問だけでは十分な説明がありません。
ジェレミー

他の多くのプラットフォームは、VT-100またはVT-200互換プロトコルを提供または使用しているため、一般的な「ANSI」コードを使用します。
グレイフェード2010年

@ThorbjørnRavn Andersen-うん。そして、その上に「Novell Virtual Terminal」と呼ばれるものが表示された場合は、.. run like hell
Tim Post

@ティム、バァ、臆病に逃げるのではなく、挑戦に直面する!

0

この種のインターフェースの総称は「コマンドライン」です。おそらく、「テキストユーザーインターフェース」よりもググリングのほうがうまくいくでしょう。


4
いいえ、コマンドラインユーティリティはstdinと引数を取得し、stdoutとstderrと戻りコードを出力するだけです。一方、TUIは画面上のすべての位置を更新でき、すべての端末入力を一度に1つのキーでインターセプトします。en.wikipedia.org/wiki/Text_user_interface
Jeremy

0

心配しないでください。何百もの標準から選択できます:)

残念なことに、私はテキストベースおよびコンソールベースのアプリケーションのほうが、以前のグラフィカルウィンドウの兄弟よりも快適です。FidoNetで何日も私は恐れています。

私が最初にすることは、古いデジタル会社からいくつかのVT100コードを学ぶことです。VT100コードでアプリケーションを書くことは決してないかもしれませんが(おそらくそれを勧めません)、コンソールマトリックスを制御するための非常に優れたシンプルな入門書です。

cursesなどのライブラリは、これらの制御コード(および他の多くの形式の端末コード)をラップして抽象化し、ユーザーが自分の端末を介してログインできるようにします。VT100のようなものは、リモート(ローカル)印刷も行うことができますが、今日でもRDPで苦労しています。

さらに悪いことに、IBMシステムは行ベースまたは文字ベースの制御ではなく、画面ベースおよびブロックベースのプロトコルを使用しています。例としては、3270および5250端末プロトコルがあり、これらのプロトコルは、リクエストアーキテクチャでの比較がうまくいっていないため、HTTPと考えています。これらの機能と同じように、これらは動作する真のPITA IMNSHOであり、個別の質問でなければなりません。

それより悪いのは、DOS / Windowsの世界でコンソールアプリケーションを作成することです。ターゲットの開発プラットフォームで返信してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.