[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 12/26 23:49 / Filesize : 222 KB / Number-of Response : 898
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★初心者にVisual C++を教えるスレ★ Part29



1 名前:Part28の1000 mailto:sage [2008/02/15(金) 01:45:56 ]
Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。

質問の仕方については次のページが大変参考になります。
www.hyuki.com/writing/techask.html
myu.daa.jp/osiete/

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

過去スレ、関連スレなどは>>2-5辺り。

2 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:00:12 ]
Part28 ttp://pc11.2ch.net/test/read.cgi/tech/1196430042/
Part27 ttp://pc11.2ch.net/test/read.cgi/tech/1189394427/
Part26 ttp://pc11.2ch.net/test/read.cgi/tech/1176387917/
Part25 ttp://pc11.2ch.net/test/read.cgi/tech/1168354839/
Part24 ttp://pc10.2ch.net/test/read.cgi/tech/1158296664/
Part23 ttp://pc8.2ch.net/test/read.cgi/tech/1140711893/
Part22 ttp://pc8.2ch.net/test/read.cgi/tech/1131443284/
Part21 ttp://pc8.2ch.net/test/read.cgi/tech/1124806288/
Part20 ttp://pc8.2ch.net/test/read.cgi/tech/1120222322/
Part19 ttp://pc8.2ch.net/test/read.cgi/tech/1116209988/
Part18 ttp://pc8.2ch.net/test/read.cgi/tech/1113539594/
Part17 ttp://pc8.2ch.net/test/read.cgi/tech/1107926989/
Part16 ttp://pc8.2ch.net/test/read.cgi/tech/1101022051/
Part15 ttp://pc5.2ch.net/test/read.cgi/tech/1097880265/
Part14 ttp://pc5.2ch.net/test/read.cgi/tech/1093672937/
Part13 ttp://pc5.2ch.net/test/read.cgi/tech/1089011118/
Part12 ttp://pc5.2ch.net/test/read.cgi/tech/1083585833/
Part11 ttp://pc5.2ch.net/test/read.cgi/tech/1077965179/

3 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:00:34 ]
Part10 ttp://pc5.2ch.net/test/read.cgi/tech/1074933908/ ※
Part09 ttp://pc5.2ch.net/test/read.cgi/tech/1068983609/ ※
Part08 ttp://pc5.2ch.net/tech/kako/1063/10630/1063029371.html
Part07 ttp://pc5.2ch.net/tech/kako/1056/10562/1056280510.html
Part06 ttp://pc5.2ch.net/tech/kako/1052/10529/1052931903.html
Part05 ttp://pc5.2ch.net/tech/kako/1048/10486/1048698321.html
Part04 ttp://pc5.2ch.net/tech/kako/1044/10441/1044196393.html
Part03 ttp://pc5.2ch.net/tech/kako/1038/10381/1038160750.html
Part02 ttp://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part01 ttp://pc3.2ch.net/tech/kako/1023/10235/1023530449.html

4 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:01:00 ]
【関連スレ】
■MFC相談室 mfc18d.dll■
pc11.2ch.net/test/read.cgi/tech/1185917008/l50
Win32API質問箱 Build57
pc11.2ch.net/test/read.cgi/tech/1189255282/l50
【C++】 DirectX初心者質問スレ Part14 【C】
pc11.2ch.net/test/read.cgi/tech/1182351826/l50
【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 131
pc11.2ch.net/test/read.cgi/tech/1170338926/l50
C++相談室 part56
pc11.2ch.net/test/read.cgi/tech/1185377587/l50
C/C++の宿題を片付けます 95代目
pc11.2ch.net/test/read.cgi/tech/1187944110/l50
【初心者歓迎】C/C++室 Ver.42【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1188748806/l50

【関連サイト】
猫でもわかるプログラミング
www.kumei.ne.jp/c_lang/
MSDN ライブラリ ※変更された
msdn.microsoft.com/library/ja/
msdn2.microsoft.com/ja-jp/library/ (2005のことはこっち)
Platform SDK Update ※変更された
www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
Google
www.google.co.jp/

5 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:01:26 ]
【このスレの前身 VisualC++相談室 過去スレ】
part 1 ttp://piza.2ch.net/tech/kako/970/970607517.html
part 2 ttp://piza.2ch.net/tech/kako/981/981630730.html
part 3 ttp://piza2.2ch.net/tech/kako/993/993186053.html
part 4 ttp://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 ttp://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 ttp://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 ttp://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 ttp://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 ttp://pc5.2ch.net/tech/kako/1036/10368/1036897197.html

テンプレ終わり。

6 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:26:38 ]
Platform SDKの中で一番新しいのはこっち
Microsoft Windows Server 2003 R2 Platform SDK Web Install
www.microsoft.com/downloads/details.aspx?FamilyID=0baf2b35-c656-4969-ace8-e4c0c0716adb&DisplayLang=en
(ISO版などあり)

これ以降、Platform SDK + .NET Framework SDKとして
Windows SDKが公開されていて、その中で一番新しいのはこれ。
Windows SDK for Windows Server 2008 and .NET Framework 3.5
www.microsoft.com/downloads/details.aspx?FamilyID=f26b1aa4-741a-433a-9be5-fa919850bdbf&DisplayLang=en
少し前のバージョン(Vista + .NET 3.0の初期版)には日本語版もあったけど、
日本語化されているのは専ら.NET Framework部分だけ。

7 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 03:41:49 ]
VC6対応の、最後のPSDKはここ。
www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

8 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 06:04:51 ]
>>1

ブチキレるのは勝手だがし、新スレも立ってねーのに
くだらねーKYレスでうめんなよな、998

9 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 07:59:05 ]
前スレ 997 です。
999 さんありがとうございました。

10 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 10:50:53 ]
こんなスレに立ち寄るだけ無駄。



11 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 10:52:02 ]
スレ削除すべき

12 名前:デフォルトの名無しさん [2008/02/15(金) 10:52:36 ]
>>10-11ってリアルでも人生こんなもんか

13 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 12:22:51 ]
うるせーよ。
まともに俺の質問にも答えられない愚民どもが。

14 名前:デフォルトの名無しさん [2008/02/15(金) 14:19:22 ]
前スレ>>995
>ポインタのポインタではだめなの?

freeとかdeleteを使うのがめんどくさいので
CArrayあたりでできないかと思いこのスレに来ました。
CArrayだとプログラムが終わったら領域解放してくれると
聞いたことがあるけど間違いかな?



15 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:33:18 ]
CArray はよく分かんないけど、
とりあえず vector ならこうできる。

typedef int Four[4];
std::vector<Four> data;

16 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:41:03 ]
mallocだろうとnewだろうとCArrayだろうとと、
プロセスが死ねばOSが解放する。
それが適切であるかどうかは別にして。

17 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:45:28 ]
デストラクタが領域を解放してくれる、だな。

18 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:52:34 ]
>>17
ちゃんと読んでるか?

19 名前:デフォルトの名無しさん [2008/02/15(金) 16:21:54 ]
push_back' : 1 番目の引数を 'int' から 'const int (&)[4]' に変換できません。
理由: 'int' から 'const int [4]' へは変換できません。
配列型への変換はありませんが、参照またはポインタから配列への変換があります。

int i,j;
typedef int Four[4];
std::vector<Four> data;

for(i=0; i<5; i++){
   data.push_back(i);
   for(j=0; j<4; j++){
      data[i][j]=j;
   }
}


20 名前:デフォルトの名無しさん [2008/02/15(金) 16:23:41 ]
>15
となりました。
根本的に使い方が間違っているのでしょうか?
ちなみにCArrayで同じことをやろうとすると、
宣言自体でコンパイルエラーになりました。




21 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 16:35:37 ]
>20
VCやる前にCやC++の基礎をしっかりやった方がいいと思う。
数学の授業で足し算や引き算みたいな数学以前の質問されたら迷惑だろ

22 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 16:40:35 ]
CArrayなんか使ってるやついるの?

23 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 16:42:56 ]
カレーってよむの?

24 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 18:00:49 ]
課題で「点数をキー入力してファイルに出力せよ」
   →「次に作成したファイルから点数を入力し、合計と平均を出せ」

って言われたんだけど、「作成したファイルから点数を入力し」
の部分がよく分からない。
最初に入れた点数に意味は無いのかな?
入力したら上書きされるよね?

25 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 18:06:56 ]
>>24
ここはガキの宿題に答えるスレじゃない。

入力とはキー入力の事だけをさすのではない
ファイルからデータを読み込むことをファイル入力
データを書き込むことをファイル出力という

その分は説明が不十分な気はするな。
キー入力、ファイル出力、ファイル入力までは書いてあるのに
合計と平均を何に出力するのかが書いていない。
まあおそらく画面出力のことだ。
「ファイルからデータを読み込んで、合計と平均を画面に出力せよ」
こういう事だろうよ。

26 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 19:20:33 ]
>>25
分かりやすい解説ありがとうございます
自分の不勉強でした

27 名前:デフォルトの名無しさん [2008/02/15(金) 21:27:14 ]
すいません。
vectorについてお礼を言うのを忘れていました。
2次の動的配列ならいろいろと検索すれば
すぐに出てくるのですが、1次が固定で2次が動的
意外にないものですね。
スレ違いなのでここまでにさせていただきます。


28 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 22:14:36 ]
std::vector< boost::array<int,4> >

29 名前:デフォルトの名無しさん [2008/02/16(土) 08:30:33 ]
>28
ありがとうございます。
他のスレで構造体を使う方法と,boost::arrayを
使う方法を教えてもらいましたが、
boost::arrayは自分でコンパイルしないといけないみたいですね。


30 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 09:22:02 ]
マルチうぜーよ。子ね



31 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 09:31:10 ]
番号、氏名、英語、数学、国語
こんなのを動的に追加するサンプルはよくあるだろ
これをこうして
番号、氏名、成績[3]
こうしたら
成績[3]

3つ固定のデータを動的に追加じゃないか

32 名前:デフォルトの名無しさん [2008/02/16(土) 11:10:46 ]
すいません。vector 構造体も vector boost::arrayも
問題は両方解決しました。
マルチでスレを汚してそのまま去るのもいい加減なので
お礼だけ言っておきます。


33 名前:デフォルトの名無しさん [2008/02/16(土) 13:30:18 ]
ここでき聞いていいのか分かりませんが・・・。
MFCでAppWizardでSDIを選択しましたが、
デフォルトのCViewではなくCFormViewを
使いました。
そのFormの上にエディトボックスを貼り付け、
テストで試しに線を引いてみるとこにしました。



34 名前:デフォルトの名無しさん [2008/02/16(土) 13:40:30 ]
OnInitialUpdate()で次のように描いています。

CDC* pDc;
pDc=m_Edit1.GetDC();  //m_Edit1はエディトボックスをメンバ変数に

CPen NewPen;
NewPen.CreatePen(PS_SOLID, 1, RGB(0,0,0));
CPen* OldPen=pDc->SelectObject(&NewPen);

pDc->MoveTo(0,0);
pDc->LineTo(50,50);

pDc->SelectObject(OldPen);
NewPen.DeleteObject();

どこが間違っているかさっぱり分かりません。
それともエディトボックスに描画はできないのでしょうか?
ホームページとかで調べるとできるようなことは書いているのですが。

35 名前:デフォルトの名無しさん [2008/02/16(土) 14:02:47 ]
別にボタンを作って同じコードを書いてボタンを
クリックしたら描画するようにしたらできた。
不思議だ。なぜ?


36 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:04:01 ]
Windowsでは見えない部分は描かれない。
OnInitialUpdate()がどんな時に呼ばれるか調べな。

37 名前:デフォルトの名無しさん [2008/02/16(土) 15:54:12 ]
MFCでCFormViewのOnDraw関数でウィンドウのサイズが
変わったら再描画するようにしても一瞬だけ表示されて
消えてしまいます。
いいアドバイスがあったらお願いします。



38 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 16:57:53 ]
何でエディトボックス?
違うもので試してみようと思わないのか?

39 名前:デフォルトの名無しさん [2008/02/16(土) 17:19:41 ]
グラフを書くのに文字も入れないといけないかと思い
実験していたところです。


40 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 17:25:22 ]
エディトボックスじゃなくても字はかけるよ



41 名前:デフォルトの名無しさん [2008/02/16(土) 17:41:19 ]
そうですか、それではピクチャーボックスで試してみます。
しかし、エディトボックスで再描画がおかしくなる理由が
分かりませんね。


42 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 18:33:12 ]
>>41
CFormViewのOnDrawではCFormViewのクライアント領域に描いてるから。
その上に乗ってるエディットボックス自身の再描画で上書きされる。
エディットボックスに描きたければ、サブクラス化してエディットボックスの再描画を乗っ取れ。

43 名前:デフォルトの名無しさん [2008/02/16(土) 22:38:08 ]
>42
ピクチャーボックスで再描画すると普通にできるのでとりあえずは
そっちでやることにします。
別に質問します。
ずっと前に、エディトボックスの右クリックを実現しようとして、
サブクラス化したのですが、なぜかリソースエディタが使えませんでした。
仕方ないので、createしてコードで作ったのですが、そういう場合でも
リソースエディタを使うことができますか?

44 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 02:39:14 ]
>>36
こんな糞スレじゃなくてム板いけ。
書き込む前にスレに軽く目を通せばおかしいってわかるだろうが。

★初心者にVisual C++を教えるスレ★ Part29
pc11.2ch.net/test/read.cgi/tech/1203007556/

45 名前:44 mailto:sage [2008/02/17(日) 02:42:01 ]
誤爆orz

46 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 02:47:34 ]
バーかw

47 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 03:02:53 ]
>>44に感謝して質問させていただきます。
自分のパソコンで一時的に(実家にいるときとかとかに)コードとかを書いて、出来ればデバッグまでおわらせて
実行するのは大学のパソコンで行いたいんだけど、この場合はプロジェクトの種類は何を選べば良いでしょうか?
使ってるのはVisual C++ express editionなんですが。
大学のlinuxではバージョンは分からないですがg++でコンパイルです。
Makefileも欲しいんですが、そんなことって出来ますか?

48 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 03:03:05 ]
誤爆で説得力なくなる文だなw
専ブラはたまにこれやらかすな

49 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 03:06:06 ]
>>47
Win32コンソールでいいかなあ
Makefileは昔のVCは作れたけど、今のは無理かな
まあMAKEだけ別管理にするのがよさげ

50 名前:デフォルトの名無しさん [2008/02/17(日) 03:16:17 ]
>>47
Cygwin入れた方が手っ取り早いと思う。



51 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 03:26:55 ]
>>49
なるほど。サンクス。
>Makefileは昔のVCは作れたけど
「全般」っていう種類のプロジェクトにメイクファイルプロジェクトっていうのがあるけどこれ?

>>50
今wikipedia見たらvmwareみたいなやつか。
vistaで不安定って書いてあったからちょっと引け腰。

52 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 05:04:57 ]
vmwareとはエミュレートするレベルが違う
vistaで不安定ならvmwareにXPでも入れて動かせばいいじゃない

53 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 05:09:57 ]
>>52
vmwareを入れるのならXPでなくターゲットのlinuxそのものをその上にインストールすればいいんじゃないかw
>>51
エミュレーションソフトを入れて大学のlinuxと同じもので開発環境を構築してみては?

54 名前:47 mailto:sage [2008/02/17(日) 05:50:19 ]
再度すみません。>>47です
とりあえずmakefileプロジェクトでクラスを書いてメインで動作確認のコードを書いてみたんですが、
ビルドを押すと、

実行するビルド コマンド ラインがありません。

と出てしまってよく分からないんだけれどこれはどういう状態です
google先生でも一応調べたんですが分からないっす。

55 名前:デフォルトの名無しさん [2008/02/17(日) 08:09:53 ]
>>54
その無駄な努力はやめて、CDブート可能なLinux使うかCygwin入れるかしろ。

56 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 08:18:34 ]
なんとしてもVCでやりたいんだなwww

57 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:02:26 ]
>>54
makefile プロジェクトは実行するコマンドから全て自分で指定
しないといけないから、君にはまだ無理。

そもそも、Visual Studio には make コマンドなんかついてない
ことすら知らないでしょ?

nmake で代用することもできるけど、makefile の文法が gmake
とは違う部分があるので、お勧めしない。

他の人が書いてるように、VMware とか入れて Linux 走らせるの
がいいと思う。VMware が不安と言うなら VirtualPC でやれば
MS の加護が受けられるのでちょっぴり安心かもしれない。
(まともに使ったことないからよく知らんけど。)

58 名前:デフォルトの名無しさん [2008/02/17(日) 09:39:08 ]
だからもう、vmwareじゃなくてCDbootのLinuxでいいよ。キノピなら問題ないでしょ。

59 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:44:31 ]
別にcygwinでいいだろ

60 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:53:41 ]
VC関係ない



61 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:13:50 ]
itpro.nikkeibp.co.jp/article/NEWS/20070912/281813/
vmware + linux

無料だお

62 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:44:13 ]
>57
Windowsの上に載ってるVirtualPCにはMSのサポートがあるけど、
そのVirtualPCの上に載ってるLinuxはどこがサポートするんだゐ?

63 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:14:38 ]
サポートがいるなら、

Windows Vista / VirtualPC 2007 ->
 WindowsXP / VirtualServer 2005 R2 SP1 ->
  Red Hat Enterprise Linux

ってやればいいんじゃないかな。

64 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:35:59 ]
OSだけで何万費やすつもりなんだw

65 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:09:46 ]
環境を同じにするんじゃなけりゃ、ソースだけを共通にするほうが面倒がないよ。
まあ環境同じが楽だけど、行ったり来たりするほうが鍛えられる

66 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:15:04 ]
という勘違いした人が一人いると無駄な作業が増える。

67 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:21:11 ]
同じソース使うことのどこが勘違いなんだか。
デバッガにVCが使えるメリットは大きい。

68 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:22:42 ]
いまだにデバッガとか使うやついるの?
printfで十分だろ

69 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:23:34 ]
まあprintfで十分な規模ならprintfで十分

70 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:32:54 ]
学校で作るもんなんてそんな規模だろ



71 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 19:17:13 ]
すみません、ちょっと質問です。

ダイアログにwebbrowserコントロールとボタンコントロールを貼り付けて
ボタン押下でgoogleのページを表示させています。

その時にフォーカスがgoogle検索ページの
エディットボックスにフォーカスするのですが、
このフォーカスを移動させたくない場合、どのようにすれば良いでしょうか。

Navigate2のメソッドを利用しており、このメソッドのフラグを調べてみましたがないようです。
また、webbrowser2側でSetFocus()をオーバーライドしようとするも
webbrowser2側ではSeFfocus()を呼んでないようです。

webbrowser2にフォーカスを移動させない方法ってありますでしょうか?


72 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 19:22:21 ]
javascriptをoffにすればいいんじゃない?

73 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 19:50:21 ]
>>72
ありがとうございます!
IEのオプションでjavascriptをオフにしたらフォーカスが移動しなくなりました。

今現在は自分だけのローカルPCだけに反映されると思いますが、
他のPCでも有効にするためには、Navigate2のheaderとかに組み込めばいいのかな…

とりあえず、調べてみます。
ありがとうございました。


74 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 20:22:14 ]
C++とC++/CLIは微妙に違うらしいのですが、素のC++の勉強がしたい場合「空のプロジェクト」というやつでプログラムを書けばいいのでしょうか?

75 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:04:10 ]
>>74
CLR ではなく、Win32 で

76 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:21:11 ]
>>75
最初それのコンソールアプリケーションというのを選べばいいのかなと思ったのですが、
mainの代わりに_tmainというのがあったので、違うのかなと思ってましたが、気にしなくていいんでしょうか・・・?

あ、すみませんVisual C++ 2008 Express Editionをインストールしました

77 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:34:49 ]
_tmain はあんまり気にしなくていい。
消して問題ない。

78 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:40:12 ]
>>77
ありがとうございます、気にしないで進めることにします

79 名前:デフォルトの名無しさん [2008/02/18(月) 16:15:02 ]
テンキーの+ボタンはVK_ADDフラグで取得出来るのですが、
ノートPC等でテンキーが付いてない場合、
+キーに相当するキーが押されたかを検出するには、
どのようししたら、良いでしょうか?


;れ


このキーのフラグは?

80 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:17:26 ]
>>79
ノートPCでもFnキー併用とかNumLock併用でVK_ADDを発行すると思うけど。



81 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:17:53 ]
「;」か「シフトand;」ってわけじゃないの?

82 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:23:19 ]
それだったらフルキーボードでも使えるわけで、だとしたらVK_ADDでは当然拾えないのだけれど。

83 名前:79 mailto:sage [2008/02/18(月) 16:25:14 ]
シフトを押されてなくとも、「;」が押されたら+を押したと解釈してあげたいのです。
case ';'では引っかからず、case -69で引っかけられました。
(デバッグモードでメッセージ見ました)
-69って一体・・・・?

case ';'で掛からないのが納得行きません。

84 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:30:14 ]
ちょっと待て、私のキーボードではShift+;は:なんだが。
つーか、Shift+=が+なんだが。

85 名前:79 mailto:sage [2008/02/18(月) 16:37:45 ]
英語キーボード配列
とかいろいろありそうですね・・・
素直にShiftキー押してもらおうかな・・・

86 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:38:40 ]
つまり、ややこしいことに日本語キーボードでは';'キーはVK_OEM_PLUS(0xbb = -69)であり、
英語キーボードでは';'キーはVK_OEM_1になると。英語キーボードで'+'の刻印がある'='キーはVK_OEM_PLUSなんだけどね。

87 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:48:31 ]
これだな
#define VK_OEM_PLUS 0xBB // '+' any country

88 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:07:33 ]
c++にかぎったものじゃないんですが、
今ゲーム作っててマス移動の当たり判定なら変数でなんとかなるけど
ドット単位であたり判定作ろうとしたらどういう風に管理すればいいんですか?

89 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:30:31 ]
ドット単位で当たり判定もてばいいじゃない
1ドット1ビットで十分だが、面倒ならcharで取るとかな。

90 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:31:50 ]
あと、マップに属性もたせるならそれ相応のビット数が必要



91 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:36:03 ]
円形なら半径だけもっとけばいいし、
正方形なら角度も保持しとけばいい。
あとは数学的に判定。

範囲が極端に小さければ
マス移動と似た形で判定してもいいかもね。

92 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 22:53:18 ]
ちょっと質問です

cliext::hash_map<array<char> ^, int> って型を作りたいんですが、
比較演算子の定義の仕方がわかりません

一応、こんなのを比較演算子として予定してます

int compare(array<char> ^left, array<char> ^right){
 if (left->Length == right->Length){
  for(int i = 0; i < left->Length; i++){
   if (left[i] != right[i]) return left[i] < right[i] ? -1 : 1;
  }
  return 0;
 }
 return left->Length < right->Length ? -1 : 1;
}

どうすればいいんでしょう…

93 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 23:59:51 ]
STLと同じで、比較関数は基本的にlhs < rhsなboolを返すもの。
msdn2.microsoft.com/en-us/library/bb385779.aspx
あとは、hash_setのコンストラクタに比較関数へのデリゲートを取る奴があるから、そいつに渡す。
キーの型がoperator <が多重定義できるものなら、そっちを多重定義してもいけるはず。

ところで、hash_mapだけど、ハッシュ関数は気にしなくていいの?
デフォルトでは、GetHashValueが使われるけど、これもコンストラクタで指定できる。
ほかにも、ハッシュを使わず、比較関数だけで順序付けるsetもあるよ。

94 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 20:23:07 ]
>>93

Myhash_set c2 = cliext::greater<wchar_t>();
この部分ですよね

bool comp(array<char>^, array<char^>) の関数を渡してもエラーになるので、
定義の仕方が違うのかなと思ってるのですが…どうにも解りません

95 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 23:43:01 ]
質問です。
「点数のデータが入った1次元配列のアドレスと人数を受け取り、
それらの最大点〜(略)を求めて返す関数を作成する」

という問題なのですが、@「〜を受け取り」、A「〜返す」
とはどういう意味なのですか?
どうか教えていただけませんでしょうか

96 名前:デフォルトの名無しさん [2008/02/20(水) 23:51:09 ]
引き数を受け取り、戻り値を返す。

97 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:38:58 ]
スケルトンを作るとするとこんな感じ。
int GetMaxPoint( const int * points, int num ) {
// 最大値検索処理
return max;
}

98 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:44:33 ]
「返す」とはreturn();の空白に数値などを入れることですか?
この問題ってサブルーチンを作るようなものですか?

99 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:46:42 ]
>>97
ありがとうございます。教科書で似たような処理を見つけたので
勉強します。

100 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 02:23:15 ]
うざい。VCと関係ないし。








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<222KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef