ページ 11

C言語の出力について

Posted: 2012年1月13日(金) 17:38
by サンチェル
ご覧いただきありがとうございます。
早速ですが質問させていただきます。

C言語でソフトウェアキーボードのように文字を出力するものを作りたいです。(Aボタンを押すと、'a'がカーソルの位置に表示される)
最終的には、Aボタンを押すと'a'がカーソルの位置に表示されるのようなものを作りたいですが、まずはボタン無しでプログラムを実行すると文字を出力すると言ったものを作りたいです。
具体的なソースコードで教えていただけるとありがたいですが、「printf()の〜」で表示できるなどでご回答いただけてもかまいません。

ではよろしくお願いします。

Re: C言語の出力について

Posted: 2012年1月13日(金) 17:54
by たかぎ
処理系に依存しない方法はありません。

Re: C言語の出力について

Posted: 2012年1月13日(金) 18:12
by バグ
今の質問文だけでは、答えようがないと思いますよ。
利用規約をよく読んでいただいて、それに沿ってもう少し具体的に質問をしていただければ答えてくれる人がいるかもしれません。

Re: C言語の出力について

Posted: 2012年1月14日(土) 21:59
by サンチェル
すみません。では再度質問いたします。

  1. 自分は今何がしたくて
    →C言語でソフトウェアキーボード(windowsではスクリーンキーボードです。)のように文字を出力するプログラムを作りたいです。
      プログラムはボタンをクリックする→対応した文字をカーソルの位置に出力(テキストやターミナルに表示ではありません)

  2. どう取り組んで(作ったプログラムはどれで
    →どのように書いたらよいか分からないのでまだ作成できておりません。

  3. どのようなエラーやトラブルで困っていて
    →書き方自体が分かりません。

  4. 自分は何が解らないのか、知りたいのか
    →プログラムの書き方です。

  5. 今のCの知識はどの程度なのか
    →基礎的な使い方は分かりますがほぼ初心者レベルです。実際に動作するソースコードをいただければそれを調べながら理解したいと思います。

すみません。他に何か書くこと等ありましたら書きますのでご指導お願いします。

Re: C言語の出力について

Posted: 2012年1月14日(土) 22:02
by サンチェル
すみません。追記です。
他に使える言語はJAVAがあります。JAVAで可能ならばJAVAでもかまいません。

Re: C言語の出力について

Posted: 2012年1月14日(土) 22:03
by みけCAT
使用しているOSを教えてください。

Re: C言語の出力について

Posted: 2012年1月14日(土) 23:01
by サンチェル
ありがとうございます。
Linux(Cent OS)でプログラム作成はしております。

Re: C言語の出力について

Posted: 2012年1月15日(日) 00:01
by softya(ソフト屋)
Linuxのウィンドウ・プログラムなのでXlibを使ったらどうでしょうか?
「Xlib」
http://homepage3.nifty.com/rio_i/lab/xlib/

私もxlibは詳しくないので何処までお手伝い出来るか分かりませんが。

Re: C言語の出力について

Posted: 2012年1月15日(日) 02:36
by Dixq (管理人)
OSはLinuxでなければならないのでしょうか?

LinuxならSDLでゲームを作ったことがありますが、Xlibの他の選択肢としてSDLを挙げてみます。
http://www.libsdl.org/

日本語の資料があまりありませんが、ここはわりと充実してます。
http://www.tacoworks.jp/software/SDLdoc ... index.html

マウスイベントについてはこの辺どうでしょう。
http://www.google.co.jp/search?aq=f&sou ... B9&qscrl=1

windowsならMFCなりDXライブラリなりですぐ作れると思うのですけどね。

Re: C言語の出力について

Posted: 2012年1月15日(日) 17:29
by サンチェル
>softyaさん
ありがとうございます。
xlibですね。全く知らない言語なのでちょっと勉強してみます。

>Dixqさん
ありがとうございます。
OSについてですが今回はWindowsは使えないので、どうしてもLinux上でプログラムを動かせるようにしたいです。
せっかくお教えいただいたのにすみません。

Re: C言語の出力について

Posted: 2012年1月15日(日) 17:57
by softya(ソフト屋)
SDLはLinuxでもWindowsでも使えますよ。

Re: C言語の出力について

Posted: 2012年1月16日(月) 21:23
by サンチェル
そうなのですか。
ではSDLについても学習して使いやすそうな方を使いたいと思います。

Re: C言語の出力について

Posted: 2012年1月16日(月) 22:02
by サンチェル
追加で質問ばかりすみません。
xlib、SDLどちらを使用するにしてもカーソル位置からの文字の出力(ソフトウェアキーボードのような出力)についてが調べられませんでした。(一般的にこのような出力の仕方を何と呼んでいるのか知らないため)
このような出力は一般的にはなんと言われているのでしょうか?
もしくはこの出力形式について書かれているWebページをご存じ、また知識をお持ちでしたらお教えいただけないでしょうか?

Re: C言語の出力について

Posted: 2012年1月16日(月) 22:11
by softya(ソフト屋)
xlib、SDLのどちらも描画位置を自分でコントロールします。
なのでカーソル位置や入力された文字の表示も自分で管理する必要があります。
xlib、SDLで作成したウィンドウ上に仮想キーボードと入力欄を設けるという意図で良いんですよね?

Re: C言語の出力について

Posted: 2012年1月16日(月) 23:35
by サンチェル
ありがとうございます。
仮想キーボードの表示についてはほぼそんな感じです。ただキーボードというよりはむしろ、ボタンのようなものを作成したいです。
入力については、xlib、SDLで作成したウィンドウ外の入力らんに押したボタンのアルファベット出力ができるようにしたいです。現在頭の中に描いているものが、ソフトウェアキーボードのように外部のソフト、例えばWordにリアルタイムに文字を入力していくなどができるものにしたいと考えています。
しかしながら私がよく使うprint文では、出力できるのが基本的にウィンドウ内もしくはテキストファイルへの書き込みなどになってしまうのでこういった出力形式が全く分かりません。

Re: C言語の出力について

Posted: 2012年1月17日(火) 09:53
by softya(ソフト屋)
残念ながらLinuxでのキー情報のやり取りの仕組みをよく知らないので。
WindowsならWindowsメッセージで相手のウィンドウにキー情報を送るだけで実現できるんですが。

Re: C言語の出力について

Posted: 2012年1月17日(火) 11:30
by たかぎ
http://java.sun.com/j2se/1.4/ja/docs/ja ... Robot.html
↑で何とかなりませんか?

Re: C言語の出力について

Posted: 2012年1月17日(火) 18:18
by サンチェル
>softyaさん
そうですか。
Windowsでないと難しいのですね。

>たかぎさん
Robotは結構うまくいきましたが、ボタンをクリックした後に入力したい場所にカーソルを合わせないといけないのでそこがちょっと問題です。
改善策等ありましたらご指導願えませんか?

Re: C言語の出力について

Posted: 2012年1月17日(火) 18:21
by softya(ソフト屋)
サンチェル さんが書きました:>softyaさん
そうですか。
Windowsでないと難しいのですね。
出来ると思いますが私がLinuxのウィンドウ系に詳しくないだけです。
コンソール系のアプリなら作った経験はあるんですが、LinuxのXWindowシステムでキーイベントがどうやり取りされているか理解していません。

Re: C言語の出力について

Posted: 2012年1月18日(水) 03:52
by ISLe
"linux input subsystem"でググるとそれっぽいサンプルコードがいくつか見付かりますが…。

Re: C言語の出力について

Posted: 2012年1月20日(金) 13:44
by サンチェル
ありがとうございます。
しばらく自力でがんばってみます。