私は最近、古いCOBOLプログラムを移植するよう割り当てられました。GUIに慣れていて、TUIがどのように機能するのか理解できません。私はグーグルでたくさん検索しましたが、何も見つかりませんでした。
コンソールアプリケーションが行ごとに出力できることは知っていましたが、端末画面に色などをどのように描画しますか?このすべてがどのように描かれていますか?端末はどういうわけかそれをサポートしていますか?基準はありますか?私は本当に混乱しています。
私は最近、古いCOBOLプログラムを移植するよう割り当てられました。GUIに慣れていて、TUIがどのように機能するのか理解できません。私はグーグルでたくさん検索しましたが、何も見つかりませんでした。
コンソールアプリケーションが行ごとに出力できることは知っていましたが、端末画面に色などをどのように描画しますか?このすべてがどのように描かれていますか?端末はどういうわけかそれをサポートしていますか?基準はありますか?私は本当に混乱しています。
回答:
あなたの答えがここのプラットフォームに応じて変わることはかなり確実です。端末/コンソールにはさまざまな種類があり、それに書き込むための多くの標準があります。それらのほとんどは、何らかのエスケープシーケンス(例:dosのANSI charエスケープ、YMMV)を使用しており、特別なエスケープ文字を送信して画面への書き込みを中断し、カーソルを移動したり、色を変更したりできます。
ダム端末用に文字通り何かを書いているなら、おそらくhttps://secure.wikimedia.org/wikipedia/en/wiki/Ncursesのようなものを使用するでしょう
この種のインターフェースの総称は「コマンドライン」です。おそらく、「テキストユーザーインターフェース」よりもググリングのほうがうまくいくでしょう。
心配しないでください。何百もの標準から選択できます:)
残念なことに、私はテキストベースおよびコンソールベースのアプリケーションのほうが、以前のグラフィカルウィンドウの兄弟よりも快適です。FidoNetで何日も私は恐れています。
私が最初にすることは、古いデジタル会社からいくつかのVT100コードを学ぶことです。VT100コードでアプリケーションを書くことは決してないかもしれませんが(おそらくそれを勧めません)、コンソールマトリックスを制御するための非常に優れたシンプルな入門書です。
cursesなどのライブラリは、これらの制御コード(および他の多くの形式の端末コード)をラップして抽象化し、ユーザーが自分の端末を介してログインできるようにします。VT100のようなものは、リモート(ローカル)印刷も行うことができますが、今日でもRDPで苦労しています。
さらに悪いことに、IBMシステムは行ベースまたは文字ベースの制御ではなく、画面ベースおよびブロックベースのプロトコルを使用しています。例としては、3270および5250端末プロトコルがあり、これらのプロトコルは、リクエストアーキテクチャでの比較がうまくいっていないため、HTTPと考えています。これらの機能と同じように、これらは動作する真のPITA IMNSHOであり、個別の質問でなければなりません。
それより悪いのは、DOS / Windowsの世界でコンソールアプリケーションを作成することです。ターゲットの開発プラットフォームで返信してください。