08/04/30 09:11:18
質問です。
組込みプログラムでは一定時間たったら処理をするというタイマー割り込みができるのですが、
VisualC++2005のMFCでもそういった一定時間たったら処理ってのはできますか?
840:デフォルトの名無しさん
08/04/30 09:14:35
とんぜん
841:839
08/04/30 09:56:05
WindowsアプリケーションではツールボックスにTimerがあったと思うんですが、
MFCだとそのようなコントロールが見当たらないのですが。
どのようにやったらいいですか?
842:デフォルトの名無しさん
08/04/30 10:05:18
APIで対応してるって 一定時間停止やシグナル発生まで待ちとかできる
843:デフォルトの名無しさん
08/04/30 10:27:26
組込みの割り込みに相当する機能あるのかな・・・?
SetTimer()だと、設定時間経過後にWM_TIMER発行するだろうけど、
実行中の関数を中断して割り込んで来ないし
844:デフォルトの名無しさん
08/04/30 10:30:13
>>843
リアルタイムOSじゃないのにそんなレベルの割り込みなんて期待しないでください。
845:デフォルトの名無しさん
08/04/30 10:32:59
APIならCreateWaitableTimer
MFC(Windowタイマかな)を使う方法は説明しづらいので検索してみて。
TimerというコントロールはMFCでは使えない。
846:デフォルトの名無しさん
08/04/30 10:40:05
>>839
素直に、RT系ライブラリ組み込んだ方が良いよ
一時期、クリティカルにA/D値を1msでサンプルするソフト作ってたけど
どうやっても、windowsに制御が移ってしまうのに対応できなくて、結局RTライブラリ組み込んだ
847:デフォルトの名無しさん
08/04/30 10:55:15
>>843
そんな機能はAPIレベルではない
マルチスレッドにして、割り込みをOSに期待するしかない
848:デフォルトの名無しさん
08/04/30 12:35:26
Microsoft Visual C++ Toolkit 2003
fURLリンク(195.252.112.9)
VCToolkitSetup.exe
size 32952488
sha1sum 956c81c3106b97042c4126b23c81885c4b5211f4
edonkey checksum
ed2k://|file|VCToolkitSetup.exe|32952488|c534888fa7605403dcb183d2d15282d1|/
849:839
08/04/30 13:37:24
皆さんありがとうございます。
ちなみにやりたいことはいろいろテストしてて、
その途中でエラー出したら即終了したいんですよ。
で、エラーフラグを作って定期的にそれを見に行って、
エラーが出てれば終了にしたかったのです。
850:デフォルトの名無しさん
08/04/30 14:03:45
>>849
エラーを検出したら終了すればいいだけじゃん。
エラー監視の必要はないと思うのだけど。
# その為に例外機構があるのだし、変な小細工を弄する前にちゃんと言語の勉強しようよ。
851:デフォルトの名無しさん
08/04/30 17:13:48
組込みと言ってるから外部の機器なんかを監視するんじゃないかな
852:デフォルトの名無しさん
08/04/30 18:14:20
>>849
素直にマルチスレッドで作ったら?
853:デフォルトの名無しさん
08/04/30 18:41:03
CreateDialogでダイアログを作って、
親ダイアログを表示した後に子ダイアログを表示させたいんですけど、
WM_INITDIALOGが来た後に必ず来るメッセージってありますか?
854:853
08/04/30 18:42:12
失礼。
CreateDialog()じゃなくてDialogBox()でした。
855:デフォルトの名無しさん
08/04/30 18:54:18
WM_INITDIALOGじゃだめなんだろうか
856:デフォルトの名無しさん
08/04/30 18:56:12
WM_INITDIALOGでユーザーメッセージを自分にPostすれば?
857:853
08/04/30 19:08:35
一応、
WM_INITDIALOGでの処理の最後で自作のウインドウメッセージをPOSTし、
そこで子ウィンドウを作成する処理を書いたんですけど、変わらず
親ウインドウ表示の前に子ウィンドウが表示されてしまいました。
858:デフォルトの名無しさん
08/04/30 19:14:57
そんなに表示される順序が大事なら
WM_SHOWWINDOW使って判定しろ。
859:849
08/04/30 21:04:44
>>850
エラーがどこで出るかわかんないんでエラーを常に監視したいんです。
で、エラーが出たらもちろん終了させます。
860:デフォルトの名無しさん
08/04/30 21:16:01
エラーと言ってもいろいろあるから話が通じない
861:デフォルトの名無しさん
08/04/30 21:16:40
常に監視したいという割には、
タイマーなんてたまにしか呼び出されないものを使おうとする意図がよくわからん。
で、エラーというのは具体的に何?
関数なんかがエラー値を返すというならmallocみたいにきちんと戻り値確かめろ。
C++例外ならキャッチしろ。アクセス違反なんかならSEHとかで同様に捕まえられる。
862:853
08/04/30 21:17:53
とりあえずいろいろ試してみます。
コメントありがとうございました。
863:デフォルトの名無しさん
08/04/30 21:48:15
すみません。C言語の基礎を一通り覚えたところで
C++を始めようと思って調べだしたのですが
ただ文字の出力を行うだけでも
Console::Write("");
と
cout<<"";
があってどちらの勉強をしていけばいいのか混乱しています。
勉強するにあたって参考になるサイトがあれば教えて欲しいです。
864:デフォルトの名無しさん
08/04/30 21:54:34
どっちも使わない
865:デフォルトの名無しさん
08/04/30 21:57:49
TextOutかDrawTextかSetWindowTextあたりを使う
他にもあるかも
866:デフォルトの名無しさん
08/04/30 21:57:55
どっちでもいいけど世の中の書籍ではcout<<"";使ってる方が多いからこっち使っとくのお勧め。
867:デフォルトの名無しさん
08/04/30 22:00:13
というかConsole::Writeが使えるC++コンパイラと言えば、VC++しかない罠。
要.NET Frameworkだし。
868:デフォルトの名無しさん
08/04/30 22:03:10
ということは基本的にメジャーなcout<<"";からはじめているC++の入門サイト
からはじめたほうがいいということですね!
できればオススメの書籍なんかも教えて欲しいのですが・・・これから買おうと
思っているので参考にしたいです。
869:デフォルトの名無しさん
08/04/30 22:04:18
Nクイーン問題を解くプログラムの一番分かりやすい(オススメ)サイトあります?
870:デフォルトの名無しさん
08/04/30 22:07:53
単にC++を勉強したいならcoutでじゅうぶんだろうけど
VC++ではほとんど使わない
871:デフォルトの名無しさん
08/04/30 22:15:44
>>870
C++とVC++の違いがわかりませんorz
僕はゲームプログラミングの勉強をしたくてC言語をいままで独学でやって
きたんですが今日図書館で借りた「アドベンチャーゲームプログラミング」
という本の内容を見てまったく理解できず
Cを今までやってた意味ってあったのかな・・・と思い、基本はだいたい
把握できたはずなので、C++に踏み出そうと決めました。
正直今、勉強の方向性を見失ってる状況でもあります。
872:デフォルトの名無しさん
08/04/30 22:30:31
C++はプログラミング言語の1つ。
VC++は、MicrosoftのC++コンパイラ、IDEなどがセットになった製品。
873:デフォルトの名無しさん
08/04/30 22:30:56
>>868
最近、本を出したロベールさんのとこはどう?
874:デフォルトの名無しさん
08/04/30 22:38:40
>>872
回答有難うございます。
C++が言語でVC++がコンパイラだということがわかりました!
細かいことはやっぱり二つとも使ってみないとわからないですよね・・・><
>>873
回答有難うございます。
とてもわかりやすいサイトですぐにでも始めたくなりました!
875:デフォルトの名無しさん
08/04/30 22:56:53
教えてください
オフスクリーンビットマップは最大幅4000pixelくらいまでしか扱えないようですが
もっと大きい画像を表示させたい場合どうすればよいのでしょうか・・・
876:デフォルトの名無しさん
08/04/30 23:07:08
coutでゲームプログラミング
877:デフォルトの名無しさん
08/04/30 23:09:10
>>876
入門はハローワードからでしょ;;
878:デフォルトの名無しさん
08/04/30 23:45:56
というかConsole::WriteはC++/CLIで、C++を含んではいるが別言語と思ったほうがいい。
879:デフォルトの名無しさん
08/05/01 00:36:46
>>838
ありがとうございます
助かりました
880:デフォルトの名無しさん
08/05/01 04:00:43
文字出力はprintf()しか使わない
881:デフォルトの名無しさん
08/05/01 04:05:30
>>871
ゲームプログラミングをするなら
まずはバイナリデータの扱いに慣れる事だな
2進数、16進数、アドレス、ポインタについても知っておく必要がある
最低でもこれらを理解していないとどうしようもない
882:デフォルトの名無しさん
08/05/01 04:09:09
>>871
C++とVC++は別
いくらC++を勉強してもVC++ができる訳ではない
DirectXとWindowsAPIをやらないと出来ない
883:デフォルトの名無しさん
08/05/01 04:17:33
>>869
URLリンク(www.ic-net.or.jp)
884:デフォルトの名無しさん
08/05/01 04:24:34
バイナリデータやC++はゲーム作るのに必ず必要とは限らない
HSPやDarkGDKを勧める
【HSP】HSPで3Dゲーム 2 【3D】
スレリンク(gamedev板)
DarkGDK
スレリンク(tech板)
885:デフォルトの名無しさん
08/05/01 04:58:47
>>884
わざわざC言語からゲーム作ろうとする人は
ゲーム作るってのはあくまでモチベーションを保つための目標であって、
C言語習得が目的だと思っているんだがどうか
886:デフォルトの名無しさん
08/05/01 05:44:21
何やっていいか知らないだけ
887:デフォルトの名無しさん
08/05/01 05:55:23
>>884
ゲームプログラミングの「勉強」をするのには向いてないだろ
楽にゲームをつくりたいならそれでもいいが
HSPはともかくDarkGDKの方は日本人の初心者に勧めるのはどうかと思うしな
888:デフォルトの名無しさん
08/05/01 06:12:35
Dark GDKはDirectX9cフルサポート。マイクロソフトVS2008/VC++のオプションとして無料配布。
初心者を強く意識した設計になっているので、あとは日本語の入門書でもあれば、小学生がひとりで、
3Dゲームを作ってしまう、なんてこともできそうです。もともと DarkBasic というホビーユーザー向けのゲーム開発ツールがあって、
その開発スタイルを C++ に持ってきたのが DarkGDK ということらしいですが、悪くありません。
URLリンク(myhome.cururu.jp)
889:デフォルトの名無しさん
08/05/01 06:40:06
あっそ
890:デフォルトの名無しさん
08/05/01 08:29:36
listviewで一行に大きいアイコン小さいアイコンを表示するにはどうしたらいいですks?
┌─┐
│ │ ┌─┐
│ │ │ ..│ ┌┐
└─┘ └─┘ └┘
また代替方法があったら教えてください
891:デフォルトの名無しさん
08/05/01 10:13:38
>>885
俺は逆だったけどね
プログラムは手段であって、ゲームを作るのが目的
思い起こせば20年前、イースを自分で作りたいと思ってマシン語をやり始めたのが懐かしいw
892:デフォルトの名無しさん
08/05/01 10:14:45
ふつうはなるべく実用的な速度が出せて完成されられるやつ選ぶよな
893:デフォルトの名無しさん
08/05/01 10:16:20
>>890
アイコンを小さく描画した大きいアイコンを使う。
それかオーナードローとか。
894:デフォルトの名無しさん
08/05/01 10:16:59
趣味ならHSPでもいいだろうし、ゲームツクールでもいいだろ
プログラムを仕事にしたいならC/C++だろう
895:デフォルトの名無しさん
08/05/01 11:18:05
本当にゲーム業界に入るのを目指してるなら、
最初からVC++とDirectXで組むくらいでいかないと。
それでできないなら辞めた方がいい。
趣味なら別になんでもいい。
896:デフォルトの名無しさん
08/05/01 12:14:57
>>892
ゲームプログラミングって、結局そこなんだよ
最初に、簡単な言語をつかってソフト組んで見る
で、おもったよりスピードが出ないのでほかの言語でためす
で、最後にアセンブラ最強!と叫ぶ
897:デフォルトの名無しさん
08/05/01 12:47:18
最初から出来る限りのスピードが出る言語で組む
動作環境を推定する
デザイナーにその環境内で動作可能なデータを指示する