- 1 名前:デフォルトの名無しさん mailto:sage [03/06/05 20:40]
- 初心者にはやっぱり難しいWindowsプログラミング。
そこでこの本を買った人も多いのではないでしょうか。 それでもわからない事がたくさんある! そんな時はここで質問しましょう。 本家サイト ttp://www.kumei.ne.jp/c_lang/index.html
- 369 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 19:49:52 ]
- >>367
> strSqlChaine = strSqlChaine & "')" > strSqlChaine = strSqlChaine & "');" セミコロンの付け忘れなんてオチじゃないだろうね。
- 370 名前:366 [2006/05/21(日) 13:27:34 ]
- >>368
やってみたのですがやはりSQL構文にSyntaxErrorが出てしまいました。 >>369 忘れてました。有難う御座います。 やってみたのですがやはり同じエラーが出てしまいましたorz
- 371 名前:デフォルトの名無しさん [2006/06/11(日) 22:50:55 ]
- windowsでPCを判別するのにsidという情報が使えるとの話を聞いたのですが、
そのsidにアクセスする方法が分かりません。 VisualStudioのC++でプログラムを作ろうと思っていますが、 このsidへのアクセス方法を教えていただけないでしょうか。 間違って、猫は…学ぼうとしないスレで質問してたんですが、 この質問はこのスレで大丈夫なんでしょうか。 (また違う?)
- 372 名前:デフォルトの名無しさん [2006/06/11(日) 23:36:24 ]
- 猫はいいなあ、セックス出来て。
- 373 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 23:39:07 ]
- warota
- 374 名前:デフォルトの名無しさん mailto:sage [2006/06/18(日) 16:59:47 ]
- やっと猫Winがありがたくなってきた
- 375 名前:デフォルトの名無しさん [2006/07/03(月) 08:23:38 ]
- 猫Winって何ですか?
- 376 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 09:15:05 ]
- True BASICを手に入れたいんですが秋葉原でそうゆうソフトの品揃えが豊富な店を教えてください
- 377 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 18:03:11 ]
- ×そうゆう
○そういう
- 378 名前:デフォルトの名無しさん [2006/08/23(水) 09:18:03 ]
- プログラミングを始めてみたいのですが、手始めに何から(何言語)から始めたらいいでしょうか?
解説書片手にやろうと思っています。 昔、HSPをかじっていた程度しか知識はないです。
- 379 名前:デフォルトの名無しさん mailto:sage [2006/08/23(水) 11:20:59 ]
- 俺としては、
自信があるか仕事に使おうと思ってるならC系統、基礎がちゃんとしてない又は趣味の範囲ならBASIC系統でいいと思う。 C、BASICの参考書の一番わかりやすそうなの立ち読みしてみるといい。
- 380 名前:デフォルトの名無しさん [2006/08/23(水) 11:55:27 ]
- Delphi。
これ一択。 VBとかありえない。
- 381 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 18:38:03 ]
- >>378
エクリプスでJava ・エクリプスは無料で使える ・アプレットをホムペに張って友人にも見せること可能
- 382 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 09:48:35 ]
- この本を買って勉強しているんですが、
メニューを表示するプログラムで 本に載ってる通りにしたんですがコンパイラはできても メニューが表示されません。 Borland C++ Compilerを使っているんですが これはVisual C++じゃないと駄目ですか?
- 383 名前:デフォルトの名無しさん mailto:sage [2006/10/31(火) 20:31:50 ]
- リソースをコンパイルしmしたk?
- 384 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 23:26:38 ]
- リソースをコンパイルしたら表示されました。
ありがとうございます。
- 385 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 01:15:59 ]
- 取り敢えず、猫さんや、Wisdomさんのページを見てプログラムの勉強を始める前に
コンパイラの使い方を覚える事の方が重要なことに気が付いた今日このごろ...
- 386 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 12:30:48 ]
- コンパイラやリンカの理解は難しい
- 387 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 15:13:30 ]
- C言語じゃなくてWindowsプログラミングはWindowsのプログラミングだという事を今日知った。
騙したな。いや、そのままの意味だったんだね。 メッセージ処理とかいろいろ理解できたから結果的には良かったんだけどさ・・・・ やっぱ純粋なC言語覚えたいと思った。
- 388 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 16:35:00 ]
- >>387
大丈夫、日本語を知っていても作家になれるわけじゃないのと同じことだから。
- 389 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 08:28:50 ]
- >>387
メッセージ処理なんかはCわかってても調べないとわからんし Cの勉強だけに集中したいならおとなしくプログラミングC嫁よ
- 390 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 15:38:07 ]
- 純粋なC言語習得をするのに、いつまで猫と戯れてればいいんでしょう。
ちゃんと勉強してるのになぁ。。つっても、まだそんな期間やってないけど。 フツーの窓にフツーのゲームを動かすのはいつの日になるんだろう。
- 391 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:21:30 ]
- 純粋なCだけで窓を出すことは、ほとんどあり得ない。
- 392 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:28:09 ]
- そうみたいね。
地道にいくわ。迷走してたけど、もう諦めるわw
- 393 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 17:40:29 ]
- 何気に新しい発見が多くて楽しいわ〜w
もうDOS窓で出来ることは全部やってやろう。 ところで純粋なC言語って何に使うの?
- 394 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:29:09 ]
- >>393
あなたは純粋な日本語を学んで何をしますか?
- 395 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:55:49 ]
- いや、もうちょっと具体的に。w
まぁいいや、純粋な日本語? 純粋ではないかもしれんけど、もう分かってるしなぁ、日本語は。 純粋な英語を学んだら何をするか、て質問ならある程度考えつくけど。 それぐらい自由で、使える。使い方は自分次第、というわけですな。
- 396 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 14:14:39 ]
- 純粋なC言語はまぁ使い物にならないだろうなぁ
仮にC言語コンパイラ"だけ"を手渡されたら発狂するぜ俺
- 397 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 14:30:49 ]
- いや純粋と言っても標準ライブラリも含めてのC言語だろ
- 398 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 13:01:20 ]
- 何が言いたいのか
- 399 名前:デフォルトの名無しさん [2007/05/28(月) 21:50:16 ]
- ぬこ
- 400 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 09:30:29 ]
- プログラム作成にはリンカーも必要だ、ということか
- 401 名前:387 mailto:sage [2007/06/13(水) 14:00:52 ]
- >>388
うう・・・たとえが難しい >>389 はい、たくさん読んできました 自分で言っときながら・・・・純粋なC言語っていったいなんぞ。w 自分でライブラリ作ったらそれはもう邪悪なC言語?
- 402 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 15:37:48 ]
- 「純粋なC言語」とやらを定義してください。話はそれからでしょう。
Cの構文や標準関数でなにができるかを知ることはいいことです。 しかし、それだけではGUIやマルチスレッドのような処理を書くことはできません。 日本語のアナロジーで言うなら、日本語を書けるからと言って 数学の教科書や小説を書けるわけではないということです。
- 403 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 16:33:00 ]
- 日本語とプログラム言語を混同するとややこしくなると思うのは俺だけか
- 404 名前:デフォルトの名無しさん [2007/07/18(水) 11:06:47 ]
- age
- 405 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:02:34 ]
- いやー見事に猫でもわかる本で挫折したよ。
自由度の高すぎる言語は逆に難しい。 マイルールを作ってサクサク捌いていかないと 一日例題一つさえも進まんわ。 自分は猫以下という実感にホント凹む。
- 406 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 06:21:41 ]
- 覚え方は人それぞれだけど
例題を最初からしてく必要はなくて ぁ、これ自分が出来るようになったら良いなー とか興味のわく物からまずやるとか
- 407 名前:デフォルトの名無しさん [2007/08/09(木) 18:32:36 ]
- ハローワールド
- 408 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 14:24:18 ]
- pdfのとおり三角形と正四角形を書いたけど動かない
エラーがあります ”歩く”という命令が見つかりません カメゾウ=タートル!作る。 カメ子=タートル!作る ”akazukin.gif"変身する 100歩 歩く。 カメゾウ!100歩 120度 右回り 100歩 歩く 120度 右回り 100歩 歩く 120度 右回り。 カメ子!90度 右回り 100歩 歩く 90度 右回り 100歩 歩く 90度 右回り 100歩 歩く 90度 右回り 100歩 歩く 90度 右回り。
- 409 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 21:44:47 ]
- >>401
SDKとかみたいに複雑なライブラリだと Cの理解以前にライブラリの使い方覚えるのにも時間かかるってことだな 特にコールバック駆使して、なんか独自な文法になってるようなの。 文法がなんか違うって言えばC++のSTLとかもそうだな。実際Cじゃないけど。 どんな優れたライブラリでも覚える時間は必要だけど、 ふつうのCの関数のようにすんなり使えるなら邪道でもなんでもないわな。 疑似オブジェクト指向を実現してて、疑似クラスみたいなの駆使するとかだとちょっと覚えないとな >>405 例題がまんまコンパイルできるのが売りであって とにかく書いて実行しておぼえろっていう方針だからな あれって説明自体はそれほどわかりやすくないよ。ちょっと言葉足らずなところもある。 かといってそれ以上くわしい説明もめった見ないけど。 まあ最初のウインドウ作成からメインループとかウィンドウ・プロシージャとかがだいたいわかれば、 あとは興味あるのとか、書く必要がある例題からやればいいよな 実際、そういう食指すら動かない、みたいなのが問題だと思うけどw
- 410 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:45:24 ]
- >>404
間違っています。 以上。 はい次の方。
- 411 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 09:05:14 ]
- 猫でもわかるC言語を買ったのですが、
超初心者なんで、第二章で止まってます。 いきなりソースが書かれていて、「ではこれを打ち込んでましょう。」 とか言われても、何にソースを打ち込んで、 どうすればコンパイル出切るのかさっぱり解りません。 これは俺がアフォだからでしょうか? もっと簡単にわかる参考書などあったら教えてください。
- 412 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 14:49:50 ]
- >>411
チラ裏にでも書いてろ 昔はネットも無かったしエディタも満足に無かったのに試行錯誤してやってたもんだなと思い出した
- 413 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:19:53 ]
- >>411
@メモ帳にソースを書く。 Aソースを書き終えたら、名前をつけて保存。 ファイル名(N):hello.c ファイルの種類(T):"すべてのファイル"を選択。 Bコマンドプロンプトを開く。 ↓ 「cd \」と入力してエンター。 ↓ 「cd sample」と入力してエンター。 ↓ 「bcc32 hello.c」と入力してエンター。 ↓ 「hello.exe」と入力してエンター。 ↓ 画面に"Hello World!"と出力される。
- 414 名前:デフォルトの名無しさん [2008/04/22(火) 22:11:53 ]
- 寒い。
- 415 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:08:23 ]
- 暖めてやる
- 416 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:37:57 ]
- 体温ですにゃ
- 417 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:27:22 ]
- BCC及びBCC Developerを使って勉強中なのですが、猫さんの「BCCで
プログラムを作ろう」の第8章をサンプルの通り作っても、メークすると 「外部シンボル '_main' が未解決(D:\BORLAND\BCC55\LIB\C0X32.OBJ が参照)」というエラーが出ます。 何が原因が分かりますでしょうか?
- 418 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:45:14 ]
- スタティックリンクがちゃんとできてないんじゃ・・・ないかな
- 419 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 10:02:00 ]
- メーンとかメークとかやめて>_<;
- 420 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:31:38 ]
- >>417
-Wオプション? www.kumei.ne.jp/c_lang/img/bcc0605.gif
- 421 名前:417 mailto:sage [2008/04/24(木) 11:35:34 ]
- >>418
ありがとうございます。 プロジェクト設定のターゲットを間違っていました。 >>419 メイクですね、すみません。
- 422 名前:417 mailto:sage [2008/04/24(木) 11:36:22 ]
- >>420
ありがとうございます。まさにそれでした。
- 423 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 09:49:18 ]
- 猫WINはあんまり推敲しないで書いてるよな。「なんだっけ」とか。
ページを埋めればいいと思ってないかw
- 424 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 02:14:08 ]
- 猫でも、は未だにWebで新章追加してるのはすごいと思うけど
淡々と進めてて、すっかりベテラン講師の語り口だよな わかりやすいとは思うけど、 初期のころのデカ字で「わけわからん」な、 いわゆるテキストサイト的な雰囲気がどっかいっちゃったのはさびしい
- 425 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 18:13:53 ]
- すいません。先日、「猫でもわかるWindowsプログラミング第三版」を買ってきまして、
56p〜59pに載せられているのをやってみてもうまくビルドできないんです。 おまけのCDに付いていたソースはうまくビルドできたんですが、本に載っているのと 微妙に違うんですよね。 本に載っているのだと90行目がLPCTSTRになっているんですが、 おまけで付いてきたソースですとLPTSTRになってしまうんです。 逆にここだけ直せばうまくビルドできるんですけれども。 環境はVisualStudio2005です。ソースは www.vipper.org/vip1134975.cpp.html にあります。 どこかおかしいところがあったら指摘していただけますか?
- 426 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 18:44:53 ]
- >>425
VC++6.0 VC++2008 EE どっちともいけたぞ
- 427 名前:425 mailto:sage [2009/03/04(水) 18:59:15 ]
- >>426
う〜ん、やっぱりVS2005でやってるのが問題なんでしょうか。 本書の方は2008向けに書き換えたものだったみたいですし。
- 428 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 19:01:53 ]
- >>427
そんなん難しいことするからコケるんだよ char *lpszStr = TEXT("猫でもわかる\nWindows プログラミング\n\t") TEXT("作者名"); でいけたぞ VC++6.0
- 429 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 19:13:34 ]
- >>428
あ、なるほど! ってなんかいじくりまわしてたらまたエラーが・・・ もうちょい勉強してからまた来ます。ありがとうございました。
- 430 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 19:16:05 ]
- >>429
とりあえず TEXT(""); を普通の char で処理した方がいい
- 431 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 19:18:36 ]
- >>430
はい。
- 432 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 19:30:01 ]
- >>426
少なくともVC++2008じゃ行けんかったぞ vip1134975.cpp(109) : error C2664: 'DrawTextExW' : 2 番目の引数を 'LPCTSTR' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照) 要は型の不一致 噛み砕いて言うと関数(この場合DrawTextExW)が 2番目に欲しい変数(LPWSTR型)とは異なるもの(LPCTSTR型)を与えてるから ちなみにソースではDrawTextExと書いてるけど、その記述をたどると #define DrawTextEx DrawTextExW とあり、つまりは DrawTextEx == DrawTextExW
- 433 名前:425 mailto:sage [2009/03/04(水) 20:29:17 ]
- >>432
ありゃ、つまりDrawTextExを使う場合はLPCTSTRじゃなくてLPWSTR を使わないとダメってことですか。 んじゃあ本の方が間違っていて、おまけで付いて来たソースの方が合っていたってことで いいんでしょうか?
- 434 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 21:24:39 ]
- >>433
本は持っとらんからなんとも言えん
- 435 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 22:33:14 ]
- プロジェクトのプロパティからマルチバイト文字を使う設定を選べ。
あるいは、説明になっていないような気がするWeb上の説明。 www.kumei.ne.jp/c_lang/net2005/sample.htm
- 436 名前:425 mailto:sage [2009/03/04(水) 22:47:13 ]
- DrawTextExの定義をよく見てみたしたところ、
2番目の引数はLPTSTR で宣言されていまして、 LPTSTR で値を渡さないといけないのにLPCTSTR で渡しちゃってたのが原因みたいです。 まだウィンドウズプログラミングは始めたばっかりなので どっか抜かしたりタイプミスしたのが原因かもしれないんで断定は出来ないんですけれども たぶんそれで合っていると思います。 >>435 ありがとうございます。 でも、それをやっても同じエラーが表示されるだけで効果はありませんでした。
- 437 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 15:00:03 ]
- うお、本当だ。この手のconst付きだろ常考な引数はCreateProcess系だけだと思っていた。
- 438 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 07:28:45 ]
- iniファイルの読み書きをしようと思ってKeyに対応する文字列を拾う処理で
詰まり、下にあげる虎の巻を参考にしているのですが、EXEと同じディレクトリ に読み込みたいiniファイルがある場合はどうしたらいいですか?相対パスとい うのでしょうか? 完全手詰まりです。 OS:WindowsVistaHomePremium IDE:VisualStudioExpress2008 言語:C++ 参考サイト::candy.zapto.org/ese/madoca%27s_tips/c,c++.html
- 439 名前:デフォルトの名無しさん [2009/03/18(水) 07:48:15 ]
- おながいします。
- 440 名前:デフォルトの名無しさん [2009/03/18(水) 11:56:54 ]
- >>438
#include <mbstring.h> ... TCHAR szIniFile[MAX_PATH]; LPTSTR pch; GetModuleFileName(NULL, szIniFile, MAX_PATH); pch = _mbsrchr(szIniFile, '\\'); lstrcpy(pch, "\\file.ini"); GetPrivateProfileString(..., szIniFile);
- 441 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 12:46:20 ]
- >>440
ありがとうございます。試してみます。
- 442 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 13:29:04 ]
- >>440
_mbsrchrより_tcsrchrにしろよ。 msdn.microsoft.com/ja-jp/library/ftw0heb9.aspx 自分ならlstrcpyより_tcscpyにするけど、そこはさすがに好みの問題。
- 443 名前:デフォルトの名無しさん [2009/03/18(水) 19:49:12 ]
- OE6の重複メールを削除しようと
questionbox.jp.msn.com/qa557649.html を参考にして実行してみたのですが、うまくいかず、 デスクトップや開いているフォルダ、 また起動中のアプリに対して勝手な操作がしばらくの間行われてしまい、 少なくとも起動中のタスクのいくつかは終了してしまうなど、 思わぬ事態に陥ってしまいました。 Ctrl+Alt+Delでwscript.exeを停止しOS再起動して動作は止まったのですが、 起動中だったアプリが取り扱っていたデータが書き換えられて上書きされていないか? また、何かファイルが操作、削除されてしまったりはしていないか、非常に不安です。 このVBSが具体的にどういう挙動をするものなのか教えてください。
- 444 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 21:00:59 ]
- >>443
鼬害
- 445 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 12:28:04 ]
- >>443
ウイルス板に池
- 446 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 14:40:37 ]
- ちょw
- 447 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 19:20:09 ]
- 24ビットカラーのBMPを16ビットカラーに減色するプログラムを書いていたのですが
24ビットカラーBMPの各色を取ってB&0x1F、G&0x2F、R&1Fをあてて各色を減色し R<<11 | G<<5 |Bっていった感じに繋げてみたのですがどうにもうまくいきません。 何か参考になるサイトや書籍、ヒント等いただけないでしょうか・・・。
- 448 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 20:57:02 ]
- >447
> 24ビットカラーBMPの各色を取ってB&0x1F、G&0x2F、R&1Fをあてて各色を減色し 本当にこの通りなら減色してなくね? 128, 128, 128 を 5 bit, 6 bit, 5 bit に縮めるなら 16, 32, 16 になるべきだと思わないかい? 今だと 0, 0, 0 になるよ? 単純にやるにしてもマスクじゃなくてビットシフトだと思う。 減色自体は画像処理定番だからぐぐれば腐るほどヒットすると思うが。
- 449 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 21:04:33 ]
- >>448
24ビットカラーは各色8bitだから256*256*256だぞ・・・128ビットって各色4ビットで12bitになっちまうじゃねーか・・・
- 450 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:38:14 ]
- > B&0x1F、G&0x2F、R&1F
ちょ・・・ったく、もう。 たとえば赤を例にとって 8びっと=0〜255 5びっと=0〜31 0〜255の値を取りうる数値を単純に31で頭打ちしちゃダメだろ。 R=R×32÷256 つまり0.125倍に圧縮しなきゃダメだろ。頭打ちじゃ無くて圧縮ね! インチをミリにしたり、ポンドをグラムにしたりするのと考え方は同じだよ〜 緑は6びっとだから後は自分で考えろ。 あと、G&0x2F も間違ってる。もういっぺん2進数、16進数を最初から勉強しなおせ。 これじゃ自転車に乗れないのにバイクの免許を取ろうとしてるのと同じ。無謀だよ。
- 451 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 01:01:19 ]
- >>450
0x3Fって後カラから気がついて問題そこじゃないからいっかと。
- 452 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 01:36:11 ]
- >>450
知り合いに、自転車乗れないベテランライダーがいるぞ。 自分で漕ぐときの動的バランス感覚がないらしい。
- 453 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:51:18 ]
- >>447
下位のビットじゃなくて上位のビットを使おう R >>= 3; G >>= 2; B >>= 3; R<<11 | G<<5 | B;
- 454 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 00:11:40 ]
- 猫でもわかるWindowsプログラミング第3版の5.2タイピングソフトのプログラムって、
本の通り書くと「タイプミス!」にならないんですが、これは本が間違ってるんでしょうか? もし間違えているなら、どこが間違っているのか教えていただけると助かります。
- 455 名前:デフォルトの名無しさん [2009/09/19(土) 14:39:54 ]
- おねがいします
- 456 名前:ぅゅ ◆e6.oHu1j.o mailto:sage [2009/09/19(土) 14:45:46 ]
- ソースうp
第二版にはタイピングゲームは載っていない
- 457 名前:454 mailto:sage [2009/09/19(土) 15:20:24 ]
- ウィンドウプロージャ部のみですが、
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { HDC hdc; PAINTSTRUCT ps; MMTIME mm; switch (msg) { case WM_CREATE: srand((unsigned)time(NULL)); break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); TextOut(hdc, 0, 0, szMondai, lstrlen(szMondai)); TextOut(hdc, 0, 40, szInput, lstrlen(szInput)); if(bSeikai) SetTextColor(hdc, RGB(0,0,0)); else SetTextColor(hdc, RGB(255,0,0)); TextOut(hdc,0,80,szCheck,lstrlen(szCheck)); EndPaint(hWnd, &ps); break;
- 458 名前:454 mailto:sage [2009/09/19(土) 15:21:05 ]
- case WM_CHAR:
if(wp == VK_SPACE && !bStart) { bStart = TRUE; TypeStart(hWnd); break; } if(bStart == FALSE) return DefWindowProc(hWnd, msg, wp, lp); if(wp == VK_ESCAPE) { lstrcpy(szMondai, TEXT("")); lstrcpy(szInput, TEXT("")); lstrcpy(szCheck, TEXT("")); InvalidateRect(hWnd, NULL, TRUE); bStart = FALSE; break; } wsprintf(szInput, TEXT("あなたの入力=\"%c\""), (int)wp); if(szMondai[6] == szInput[14]) { bSeikai = TRUE; mm.wType = TIME_MS; timeGetSystemTime(&mm, sizeof(MMTIME)); dwEnd = mm.u.ms; wsprintf(szCheck, TEXT("反応時間[%dミリ秒]"), dwEnd - dwStart); TypeStart(hWnd); } else { bSeikai = FALSE; MessageBeep(MB_OK); lstrcpy(szCheck, TEXT("タイプミス!")); } InvalidateRect(hWnd, NULL, TRUE); break;
- 459 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 15:21:46 ]
- case WM_DESTROY:
PostQuitMessage(0); break; default: return (DefWindowProc(hWnd, msg, wp,lp)); } return 0; } int TypeStart(HWND hWnd) { int n; MMTIME mm; n = rand() % 26; wsprintf(szMondai, TEXT("問題=\"%c\""), 'a' + n); mm.wType = TIME_MS; timeGetSystemTime(&mm, sizeof(MMTIME)); dwStart = mm.u.ms; InvalidateRect(hWnd, NULL, TRUE); return 0; }
- 460 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 15:23:52 ]
- 書籍に乗ってるソースコードの転載はまずいだろ
- 461 名前:デフォルトの名無しさん [2009/09/19(土) 15:44:38 ]
- 流れからいって微妙w
- 462 名前:ぅゅ ◆e6.oHu1j.o mailto:sage [2009/09/19(土) 16:22:32 ]
- 何事もなく動いた
www.geocities.jp/c_zelos/file_up2/nekotype.cpp
- 463 名前:ぅゅ ◆e6.oHu1j.o mailto:sage [2009/09/19(土) 16:40:06 ]
- 追記:
もしかしたら 動かないんじゃなくて、スペースキーー押して開始させてないんじゃね(と思った 90行目あたりの case WM_CHAR: if(wp == VK_SPACE && !bStart) { bStart = TRUE; TypeStart(hWnd); break; } if(bStart == FALSE) return DefWindowProc(hWnd, msg, wp, lp); これ プログラム起動したらまずスペースキー押して bStart == TUREにしておかないと return DefWindowProc(hWnd, msg, wp, lp); が実行されてそれ以下の処理が通らなくなってる
- 464 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 00:27:05 ]
- >>462
そのままコピペしてやってみたんですが、動きませんでした。 #include<time.h>などを追加してエラーなくしてみましたが、 ウィンドウにszMondai、szInput、赤字でszCheckと表示され、 スペースを押すと問題があるので終了しますとなって終了してしまいました。 >>463 スペースキー押しての開始はもちろんしてますよ。 ただ、間違えたキーを押してもタイプミス!がでないんですよね・・・ デバッグしてもif文の分岐で、間違えたときもelse(タイプミス!と表示される)の方にいかないんです。
- 465 名前:ぅゅ ◆e6.oHu1j.o mailto:sage [2009/09/20(日) 07:57:39 ]
- >>464
悪い、俺のソースは変数宣言を間違っていた char * szMondai = "szMondai"; char * szInput = "szInput"; char * szCheck = "szCheck"; を char szMondai[256]; char szInput[256]; char szCheck[256]; にすれば動く
- 466 名前:454 mailto:sage [2009/09/21(月) 18:53:17 ]
- >>464
無事できました!ありがとうございます どうやら原因は文字セットがUnicodeになっていたせいみたいでした。 マルチバイト文字セットを使ったら上手くいきました。
|

|