• ベストアンサー

command.comの内部動作(エディットバッファ等)と画面表示の問題について

arikaの回答

  • arika
  • ベストアンサー率9% (18/186)
回答No.2

1,#1の回答に補足です。 前回の回答をみてはいないのですが、バッファはあります。カーソル移動キーに対する割り付けがもともとなかったので、今の仕様になっていると推測します。(ESCシーケンスで拡張して入力するようになってる)ASCIIコードを知っていれば,バックスペースに関してはコードがありますが、カーソル移動に対してはないです。 もともとタイプライタが基本ですので、カーソル移動して修正という概念がなかったのではないかと思います。 2、3、これは#1の回答のままです。もっとしりたければ、DOSのシステムコールを勉強してみてください。

masahiro_chi
質問者

お礼

なるほど、そうなんですか。 私が勉強不足のため、せっかく御答え頂いた内容を 半分も理解し切れていないように思います。 御厚意を無にしないようにDOSのシステムコールを 勉強させて頂こうと思います。 御回答いただきまして、誠にありがとうございました。

関連するQ&A

  • command.comとASCIIコードについて

    command.comとASCIIコードについて質問させて下さい。 もし御存じであれば以下について御回答いただけないでしょうか。 例えば、 キーボード上「 あ」・「 い」・「 う」・「 え」・「BS」・「 ←」というキーがあり そしてそれに対応するASCIIコードが それに対応して「a1」・「a2」・「a3」・「a4」・「b1」・「b2」となっていたとします。 その時、「あ・い・う」というコマンドを入れたかった場合に 「え・い・う」と間違えて入力してしまった場合、command.comにはENTERが押された時点で「a4・a2・a3」という命令がされることになるのですか? その後で、「a1・a2・a3」に直したいとき「BS」で戻るというのは「BS」の「b1」というコードが 「a4・a2・a3・b1」と入るわけではなく、直接command.comの入力用バッファが 「a4・a2」となってしまうということになるのでしょうか? それとも、やはり「a4・a2・a3・b1」となっているんだけどディスプレイ上「え・い」となっているということなのでしょうか? それに対して「 ←」キーは異なる動作をするということなのですか? それとも、もともと「b2」というコードはなくて「 ←」と入力されたときは 「BS」と入力されたものと同じ処理をするということになるのでしょうか? 質問の意図が取りにくいかとは思うのですが、是非お答いただけたらと思います。どうか宜しくお願いします。

  • エディットボックスのカーソルが表示されない

    長いこと悩んでいますが、解決出来ないでいます。 お知恵を拝借したいと思います。 VC5.0, SDK, WinXPでの開発を行っています。 今、リストビューで直接書き込みをさせる為に、 リストビューのクリックされた位置にエディットボックスをかぶせて表示させてあたかも直接編集させているように見せています。 実際のエディットボックスの表示や書き込み等はうまく行っているのですが、表示したエディットボックスにSetFocusをしても、カーソルが表示される場合とされない場合が出てきています。 親画面を表示し、最初にリストビューをクリックした時のエディットボックスにはきちんとカーソルが表示されます。 しかし、2度目以降はまったくカーソルが表示されません。 ただ、フォーカスはあたっているのか、文字入力は正しく行われます。 また、エディットボックスでリターンキーを押されたタイミングでエディットボックスを破棄し、リストビューに文字列を反映させているのですが、このリターンキー押下後にエディットボックスを表示させた時はカーソルも表示されます。 エディットボックスの破棄には、上記リターンキーもしくはエディットボックスからフォーカスが無くなった時に行っているので、 この時の破棄のタイミング等の問題でカーソルが出たり出なかったりしているのだろうと色々調べているのですが、どうしても分かりません。 実際エディットボックスにフォーカスが当たっていればカーソルは自動的に出るものだと思っていたのですが、出ないという現象は何に問題があるのでしょうか? エディットボックス有効処理 Show( SW_SHOW ); BringWindowToTop( hwnd ); SetFocus( hwnd ); エディットボックス破棄(無効)処理 Show( SW_HIDE ); アドバイスを宜しくお願い致します。

  • command.com上でのcmdの呼び出し

    質問です。 WindowsのDOS窓は基本的にwin上で走るエミュレータだと聞いたのですが、16bitエミュレータのcommand.com上でcmd.exeが呼び出せるのは、どういう仕組みになっているのでしょうか。 ただ、16bitエミュレータ上で32bitのエミュレータを起動したと考えれば良いとは思うのですが、心なしかcommand.com単体のときよりもcommand.com上で呼び出したcmd.exeのほうが、キー入力のエコーバックも早い用に感じます。 ネットで調べてみると、呼び出すたびに切り替えているのではという意見もありましたが、XP上で開いたcommand.comからcmd.exeを呼び出した状態でNASMでアセンブルした16bitのcomファイルが実行できるので、ただ切り替えているだけではないのではないかと疑問が消えません。 また、スタートメニューでファイル名を指定して実行するときに、16bitのcomファイルを指定すると、基本的にはcmdが立ち上がって実行され、プロンプト以外画面には何も表示されないで実行終了となるのですが、2割ほどの確率でcommand.comが立ち上がり、きちんと実行されることがあり余計に混乱しています。 どなたか詳しい方がいらっしゃったら、ご解説を宜しく御願い致します。

  • [IE7]文字が表示されない。画面が真っ白。

    WindowsXPで「インターネットエクスプローラー7」を使用しています。 ネットで検索するときに、キーワードを入力しようすると、毎回ではないのですが、元の位置でカーソルが点滅したままで、タッチした文字が入力されないときが時々あります。 [CTRL+N]で新しい画面をもう1つ作り、改めて、入力すると、通常通り、うまく入力・表示がされます。 それから、これも毎回ではないのですが、時々、あるサイトに移動するときに画面が表示されず、真っ白になって表示されます。でも、そのくせ左下には「ページが表示されました」と出ているのです。 一応、[更新]ボタンを押せば、そのページの内容は表示されるようになるのですが、しばしばこういうことがあるので、面倒を感じております。 どなたか、よきアドバイスをよろしくお願い致します。

  • 編集機能を持つテキストエディタの作成を!!!

    この四つの作成プログラムをを教えて下さい。'i'が入力されるとカーソルの位置に指定した文字列を挿入する。'd'が入力されるとカーソルの位置から指定された文字数だけ削除する。'c'が入力されるとカーソルの位置から指定された文字数だけカーソルを移動する。'q'が入力されると内容をファイルにセーブして編集を終了する。ただし、編集対象は一行文の文字列とし、カーソルは'*'で表示する。誰か私を助けて下さいサッパリわかりません。

  • Word 2010で入力文字がなぜモニタの左上隅?

    Windows 7 Ultimate 64 、Word 2010、Microsoft Office IME 2010を使っています。 文字入力の過程はふつうは次の(1)のようです。 (1) (a)文字を入力したい位置にカーソルを置く。 (b)Word 2010でキーボードから仮名を入力すると、(a)のカーソル位置にその仮名が表示される。 (c)変換キーを押すと(a)のカーソル位置で漢字に変換される。 (d)Enterキーを押すと(a)のカーソル位置で確定する。 でも、ときどき、次の(2)のようになります。 (2) (a)文字を入力したい位置にカーソルを置く。 (b)Word 2010でキーボードから仮名を入力すると、モニタの左上隅にその仮名が表示される。 (c)変換キーを押すとモニタの左上隅で漢字に変換される。 (d)Enterキーを押すと(a)のカーソル位置で確定する。 (2)のようになったときにしばらくそのまま使っているといつの間にか(1)に戻るのですが、なぜ(2)のようになるのでしょうか。(2)から(1)に戻すにはどうしたらいいのでしょうか。

  • 液晶画面が表示されません。

    NECのVALUESTAR(windows98)についての質問です。 中古のPCを、OSが消された状態でもらったのですが、 PCを立ち上げると液晶画面で表示がありません。 立ち上げた初めは、NECと画面の中心に表示があるのですが、その後、画面左上に(文字を入力するくらいの大きさの)カーソルの点滅しか見えなくなっています。ハードの故障でしょうか?対処法はありますか? PC初心者です。お分かりになる方がいましたら、 アドバイスをお願いします。

  • 画面に質問と回答などの表示

    画面に質問と回答などの表示  何時も回答いただきありがとうございます。DELL OPTIPLEX GX260 WindowsXPからです。  以下のURLのように長い 質問と回答、お礼コメント、補足コメント入力  のやり取りでは、後で、読み直したり、 ベストアンサーにする  を選ぶ時に、海で、おぼれた時のように、迷子になった時のようにホームページを読んでいても、  何回目の回答なのか?  何回目のお礼コメントなのか?  ……  今どこにいるのか分からなくなります。質問、一回目の回答、一回目のお礼コメントなどの表記が、画面から消えてしまうからです。  現在の位置を知るためにスクロールバーをあげたり、下げたりして位置を確認します。確認したら、また、スクロールを下げて読みたい場所を確認します。  このために、時間も手間もかかるし、カーソルを上げたり、下げたりして、また迷うこともあります。 ●Q01. だから、長い文章の時には、画面から、 質問なのか 何番目の回答なのか 何番目のお礼なのか 何番目の補足コメントなのか  が、消えてしまうので、消えてしまう時には、文章の右に、 質問なのか 何番目の回答なのか 何番目のお礼なのか 何番目の補足コメントなのか を表示できると便利だと思うのですが、利用者のご意見は、いかがでしょうか?  グーグルクロムのホームページの画面の印刷では、プレビューが表示され、カーソルの位置が、何枚目の画面なのかが、表示されます。  これは、必要な画面の印刷のページを見るのに役立ちます。  このようにOKWAVEの表示の画面で、現在の場所が分かると便利です。 ●Q02. 利用者の方で、何か代替の方法が、あれば、お伝えください。 https://okwave.jp/qa/q9377059.html?by=datetime&order=ASC#a_area  たとえ、ひとつだけでも、お知りのことがありましたら、教授方よろしくお願いします。  敬具

  • 画面右側も全部表示させたい(解像度)

     SOTECのパソコンを使っています。解像度を上げて1024×768にしたら、画面右側が少しはみ出て、マウスを動かすとカーソルが見えなくなる領域ができてしまいました。  今、800×600と2種類しか選べません。解像度が低いほうだと、文字が大きすぎて使いにくいです。  1024×768の文字の大きさで右側も全部表示されるようにするにはどうしたらいいでしょうか?  よろしくお願いします。

  • ワード2007での頭揃え

    文字を箇条書きをする際に  行の先頭から、空白4文字(全角)を入力して、文字列を入力する場合と文字列を入力してからカーソルを先頭列に移動させ空白4文字(全角)を入力する場合では、前者は空白で全角4文字分になりますが、後者は、インデントの位置が動き、場合によっては、文字列の先頭文字が頭揃えにならない場合があります。  ゆえに、後者のように文字列を先に入力した場合は、その文字列の前にEnterキーで改行→空白4文字(全角)を入力→文字列の最後にカーソルあわせ、Deleteで改行削除させて頭揃えしています。  後者の場合も前者と同じように、インデントの位置が動くのではなく、空白4文字(全角)が文字列の前に入るように設定変更が出来ないのでしょうか。  …以外と文書作るのにも時間ロスするので…。