1 名前:デフォルトの名無しさん [2008/05/07(水) 23:33:53 ] Visual C++入門者・初心者からの質問を、 お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html myu.daa.jp/osiete/ ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5 辺り。
427 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 01:59:09 ] >>425 すいません。全くできません。上のページの次のページの #include <time.h>〜 return (day_of_week[mytime->tm_wday]); }を.cppに、int get_time(int *, int *, int *);とchar *get_date(int *, int *, int *); を.hに、プロジェクト名は1です。構成の種類はスタティックライブラリ。 そしてprivateという別の(構成の種類は実行)プロジェクトのcppに #include <stdio.h> #include "1.h"〜 return 0;}を、(hは空です)とやっている のですが、1.hをincludeできませんNo file みたいなのになるんです。 そもそもどうなるのかさえわかりません。追加の依存ファイルも候補みたいな感じで 出てきませんし、手打ちで入力してもビルドしても同じ結果です。
428 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 05:55:24 ] ライブラリの作り方がわからないんじゃなくて ライブラリの使い方がわからないんじゃないか?
429 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 09:26:01 ] 質問です。一応、自分でも調べてみたんですが、分からなかったので・・・ 長いので2つに分けます。申し訳ない。 /* windowsapp.h */ class CWindowsApp{ /* 中略 */ public: void Initialize(HINSTANCE,INT,char*,int,int); bool CreateWindow(); // 53行目 } /* windowsapp.cpp */ bool CWindowsApp::CreateWindow() // 48行目 { // 49行目 /* 中略 。やってる事は、WNDCLASSを作ってCreateWindowEx()を使って ウィンドウを表示させるという流れ */ } /* script.cpp */ bool initialize(){ /* 中略 */ // ウィンドウの作成。成功or失敗をそのまま返す // g_WindowsAppInstは、既述したCWindowsAppクラスのインスタンス return g_WindowsAppInst.CreateWindow(); // 76行目 }
430 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 09:26:41 ] /* エラー */ C:\Program Files\Microsoft Visual Studio\MyProjects\addressbook\windowsapp.h(53) : warning C4003: マクロ 'CreateWindowA' に指定された実引数の数が少なすぎます。 C:\Program Files\Microsoft Visual Studio\MyProjects\addressbook\windowsapp.h(53) : error C2059: 構文エラー : 'constant' C:\Program Files\Microsoft Visual Studio\MyProjects\addressbook\script.cpp(76) : warning C4003: マクロ 'CreateWindowA' に指定された実引数の数が少なすぎます。 C:\Program Files\Microsoft Visual Studio\MyProjects\addressbook\script.cpp(76) : error C2059: 構文エラー : ',' C:\Program Files\Microsoft Visual Studio\MyProjects\addressbook\windowsapp.cpp(48) : warning C4003: マクロ 'CreateWindowA' に指定された実引数の数が少なすぎます。 C:\Program Files\Microsoft Visual Studio\MyProjects\addressbook\windowsapp.cpp(48) : error C2059: 構文エラー : ',' C:\Program Files\Microsoft Visual Studio\MyProjects\addressbook\windowsapp.cpp(49) : error C2143: 構文エラー : ';' が '{' の前に必要です。 C:\Program Files\Microsoft Visual Studio\MyProjects\addressbook\windowsapp.cpp(49) : error C2447: グローバルスコープで中カッコ ({) が見つかりましたが、対応する関数ヘッダーがありません。 関数のオーバーロードは、引数が異なれば可能というのは調査済みだったのでやってみたら、こんなエラーが・・・ しかし、このCreateWindow()関数の名前を、CreateWndとかCreateWindowCという名前に変更したら、すんなりコンパイルしてくれました。 どうしてこのようなエラーが出るのでしょうか。オーバーロードの条件について、何か勘違いをしているのでしょうか・・・
431 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 09:33:59 ] >>430 CreateWindowはマクロでCreateWindowA/CreateWindowsWのどちらかになるが、 さらにCreateWindowAとWの両方ともCreateWindowExAとWを呼ぶ関数マクロになっている。 つまり、関数でないCreateWindowに多重定義は無理だから、ほかの名前にするしかない。 たとえばMFCやATLみたいにCreate()とか。
432 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 09:42:03 ] なるほど、そもそも関数のオーバーロードとは少し異なる原因だったのですね。 迅速な対応、ありがとうございました!
433 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 10:18:12 ] >>427 プログラミング以前にフォルダとかパスとか判ってなさそう・・・
434 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 10:24:59 ] >>433 すいません。 ようするにどうやったら違うプロジェクトで あるプロジェクトで作った関数を使えるようになるかってことなんですけど。
435 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 10:57:49 ] ソースファイルをプロジェクトに追加する。
436 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 11:06:25 ] >>435 つまり同プロジェクト内で作った関数のソースファイル、それを 一般化?したヘッダファイルの一対がライブラリってことですか?
437 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 11:13:07 ] ヘッダは何のためにあって誰がどこで使ってるかわかってる?
438 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 11:17:20 ] >>437 いろんなソールファイル内の関数をメインのソースで使うためのまとめ役?橋架け役? みたいな感じじゃないんですか?
439 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 11:21:54 ] ググれ
440 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 11:22:25 ] 入門書ぐらいは読め
441 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 11:26:20 ] スコープとか理解してるのかな?
442 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 11:29:17 ] www.nitoyon.com/vc/tutorial/project/build_detail.htm ビルドは何をしている? [VC++の使い方]
443 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 11:31:50 ] とりあえず、>>427 については、 lib と .h を使うプロジェクトのフォルダにコピーするか、 プロジェクトのプロパティの、 「追加のライブラリディレクトリ」と「追加のインクルードディレクトリ」を設定するか、 #includeと「追加のライブラリファイル」でパスまで指定するか、 好きなの選べ。 最後のは、あんまり推奨しないが・・・
444 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:00:09 ] >>439 めちゃググリましたよ 逆にヘルプでわからなくなった感じです すいません。 >>440 入門者のゲームプログラム作る本とか他にも入門書はいくつかやりました。 >>441 変数のスコープは知ってますが関数のスコープはわかってないかもしれません。 ゲームプログラムの本の経験も含めて、1つのプロジェクト内でcppとhを対にしていくつも作る、 それで各対の関数を引き出す?そしてメインで使うみたいなのはできてるんです。 要するに疑問というか想像なのは、標準ライブラリみたいにcppとhの対が見えない、タグが無いというか・・ 内部にしまわれてるというか、そうゆう状態で、どのプロジェクトでもhをincludeすれば 使えるようになる のを作るのがライブラリを作るってことではないのですか? >>442 ありがとうございます!わかりやすかったです。
445 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:10:42 ] >>443 ありがとうございます。 プロジェクトのプロパティの、「追加のライブラリディレクトリ」に今なにも入ってない状態なんですが、 参照で見ていっても条件に一致するファイルはありません。となります。 そもそもここにどうゆう拡張子のものを追加できるかもわからないので、なぜ、どんな候補が無いかも 全くわからない状態です。
446 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:28:39 ] なんで候補があるとか思うのか・・・ フォルダの指定だから、ファイルの候補は無くていいんだよ。
447 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:39:48 ] >>446 今フォルダごと追加のライブラリ ディレクトリに指定しましたが、やっぱり<1.h>をincludeできません。となります。>>427 の状態です。
448 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:52:49 ] ライブラリとインクルードは別物だし 全然別の場所に置いて使うのが普通
449 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:56:38 ] 釣りじゃないなら、 ライブラリ作成に挑戦するのは、 もうちょっとプログラミングそのものが 判ってからにした方がいいと思うよ。 個人的なライブラリなら、 別にソースファイルのコピーでも十分だし。 ちなみにヘッダをインクルード出来ないのは ちゃんと.hファイルのあるインクルードディレクトリとファイル名を指定出来て無いだけで、 ライブラリとか関係無いからね。
450 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 13:04:41 ] ライブラリとインクルードは全然別の場所に置いてあると考えて下さい。 たまたま同じ場所にあってもいいけど
451 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 13:20:10 ] >>448 >>449 >>450 みなさんありがとうございます。ライブラリからincludeしたhの関数を探し出してくる ぐらいに考えてたのですが、違うようですね。 もうちょっと総合的な本を読んでみたいと思います。
452 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 13:35:12 ] いや違わないけど・・ (正確には、includeした関数じゃなくて、 実際に呼び出しされてる外部関数を探し出す) 君がひっかかってるのは、それ以前の ヘッダファイルとライブラリファイルの ディレクトリ指定段階でしょ。 イロハで言えばイ以前だよw
453 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 14:22:51 ] >>452 >ヘッダファイルとライブラリファイルのディレクトリ指定段階 こうゆう風に言うんですね。ありがとうございます。
454 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 15:12:25 ] #include<1.h> と #include"1.h" の違い理解してる?
455 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 15:19:35 ] 高学歴の俺の意見 お前と関わるにおいて高学歴であることが何の意味もなさない(位お前とかどうでもいい) お前の前で本当の自分(頭がいいこと)でいてもメリットが無い。アホなふりしてるほうがマシ、失敗を笑いにできるから。 お前から吸収できることがないと思われてるってこと。知り合いとしての優先順位の潜在的低さがでてる。 まだ情で関わってもらえるだけ有り難いと思え。
456 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 15:28:35 ] コンパイラ・リンカについて勉強するべし。
457 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 15:32:43 ] >>454 知りませんでしたが、調べました。自作のhは""で囲むんですね。 ゲーム作りの入門本に似たようなのがあって、 ツール→オプション→ディレクトリを表示するプロジェクトで ライブラリファイル、インクルードファイルのそれぞれで1のファイルを追加したのですが、 そうすると、未解決のシンボルというエラーに変わりました。
458 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 15:48:26 ] >ライブラリファイル、インクルードファイルのそれぞれで1のファイルを追加したのですが、 ディレクトリを指定するところにファイルを追加するというのはどうかと(単なる記述ミス?)。 その関数が記述されてるソースをプロジェクトに追加するのが一番楽。 1.プロジェクト開いてる状態でソースファイルをドロップ。 2.開いたソースウィンド上で右クリック→プロジェクトへファイルの挿入。 これで出来んかな?
459 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 16:04:55 ] >>458 ありがとうございます。コマンドプロンプト的なので軽く見た程度 なのでディレクトリ=ファイル=フォルダぐらいな感じの理解しかないんです。 したのやり方ですがもう少し具体的に書いていただけませんでしょうか? それと既存項目の追加とは違うのでしょうか?
460 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 16:08:34 ] いいかげんにしろよ。
461 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 16:22:57 ] つーか、ゲームとか作る前にC言語とVCの使い方を習熟するのが先だよチミィ。 そのレベルで教えて君じゃ、ゲーム出来てもバグだらけで遊べんだろうよ。 何のために本やグーグル先生があると思ってるんだね? 味噌汁で顔洗って出直してこい。
462 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 16:52:50 ] >>461 わっかりました!みなさんいろいろありがとうございました!
463 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 16:57:29 ] 習熟までは行かずとも、ある程度使えれば特に問題ないんじゃね
464 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 17:08:19 ] >ディレクトリ=ファイル=フォルダ ダメだこりゃ。 ディレクトリ=フォルダ≠ファイル
465 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 17:44:33 ] ディレクトリとフォルダは違う
466 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:04:26 ] フォルダとは 【folder】 - 意味・解説 : IT用語辞典 省略 WindowsやMac OSではフォルダと呼ぶが、UNIXやMS-DOSでは同様の概念を「ディレクトリ」と呼ぶ。
467 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:05:11 ] Windows ではシェルから見える物がフォルダ、 シェルを通さず見える物がディレクトリと区別している。
468 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:05:55 ] してねーよ。
469 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:06:10 ] してるよ。
470 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:09:29 ] パスをアイテムIDリストで扱う関数名ではFolderが使われ、 C:\みたいな形で扱う関数名ではDirectoryが使われている。
471 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:10:59 ] してねーよ。 普通にNTFSフォルダとか言うから。
472 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:11:51 ] フォルダとディレクトリの違い 一般的な解釈 Windows 95以降 や Mac OS ではフォルダ、 MS-DOS や UNIX ではディレクトリと呼びます。 二つは同義です。 細かく言えば 物理的に存在していて、絶対URI(file:///C:/WINDOWS/ とか)を使って場所を示せるのがディレクトリ。 ディレクトリに、あたかもディレクトリのように見える仮想的なものをあわせたのがフォルダ。 マイコンピュータに入っている「コントロールパネル」などは、フォルダではあるけれど、ディレクトリではありません。 Mac OS: フォルダ、ディレクトリ、パス名について “フォルダ”とは、ディレクトリを見てわかるように表現したものです。 Finder(図 2 参照)と合わせてフォルダを使うことにより、ファイルシステムを見たり、操作することが理解しやすくなります。 Finder でフォルダからある項目を出したり入れたりすると、基本的なディレクトリが変更されます。 “フォルダ”と“ディレクトリ”という用語は、特に区別する必要がない場合は、同じ意味で使用されることがあります。 面倒だから同じ意味でいいよ。
473 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:13:16 ] そろそろ>>468 =471の弁明が欲しい所だな。
474 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:15:56 ] >シェルを通さず見える物がディレクトリと区別している。 少なくともこれは間違いだな。
475 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:16:48 ] この中に意味を理解し、普段から正確に使い分けている人がいるのだろうか…。
476 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:17:32 ] >>474 シェルって何なのか分かってないんだろうな。
477 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:18:28 ] >>476 は>>474 がWindowsの言う所のシェルって何なのか分かってないという主張。
478 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:26:40 ] 判ってないのはお前。 ファイルシステムの段階で、フォルダって言ってるんだから、 Windowsシェルは関係無い。
479 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:02:12 ] こうなると思ったw
480 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:09:52 ] CreateDirectory ディレクトリを作成します。ファイルシステムがファイルとディレクトリのセキュリティをサポートしている場合は、 指定されたセキュリティ記述子を新しいディレクトリに適用します。 BOOL CreateDirectory( LPCTSTR lpPathName, // pointer to a directory path string LPSECURITY_ATTRIBUTES lpSecurityAttributes // pointer to a security descriptor );
481 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:22:22 ] ディレクトリっていってんじゃん
482 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:23:50 ] 誰もディレクトリとは呼ばないなんて言ってないような。
483 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:33:04 ] プログラミング環境では慣習や過去からの互換性から、 Directoryを使ってるだけでしょ。 普通は、 >一般的な解釈 >Windows 95以降 や Mac OS ではフォルダ、 MS-DOS や UNIX ではディレクトリと呼びます。 >二つは同義です。 で問題無いよ。
484 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:40:57 ] マイコンピュータをディレクトリとか言うのはナシだろ
485 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:51:04 ] みんなオナホのために争わないで!
486 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:34:28 ] >>484 Macの真似してフォルダにして無かったら、 パネルとか言ってたかもよ。 3.0時代からあった、コントロールのフォルダは コントロールパネルだし。
487 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:55:49 ] C++でグラフの描画をしたいんですがなにから手を付けていいのかまったくわかりません アドバイスまたは参考になるサイトとかあれば教えてください・・・
488 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 21:04:27 ] C++にグラフなんてない
489 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 21:28:11 ] えーとそれはGUIがどうのこうのって話になってくるのでしょうか?
490 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 21:32:15 ] 棒グラフ **************** ******* ************************* ************
491 名前:デフォルトの名無しさん [2008/06/14(土) 22:24:44 ] 今度 C++ でタイピングゲームを作ることになったのですが、 if,printf,switch,while,int,char これしかまだ知らないのにできるわけがない。。。 と、いうわけで誰か教えてください(つω・`)
492 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 22:28:21 ] >>491 ifとwhileが出来れば大丈夫 プログラムなんてどんなえらそうなこと言っても順次・選択・繰り返ししか出来ないんだから。 それが分かってるんなら後はC++独特の方言を覚えるだけ。 C++の簡単な入門書とかサイトでじっくり勉強してみなよ
493 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 22:31:29 ] >>491 あと、キーの読み取り方と、文字の表示方法さえ知ってれば何とかなる。
494 名前:デフォルトの名無しさん [2008/06/14(土) 22:41:26 ] できればサイトのURLお願いします!
495 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 22:48:48 ] 最初に本を買うことを薦めるぞ。
496 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:34:09 ] >>484 シェル特殊フォルダ
497 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:54:27 ] フォルダは概念でディレクトリは実装ってことでいいよ、もう。
498 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 17:47:18 ] 違うからw
499 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:27:08 ] マイクロソフトがMacに対するコンプレックスを解消するために、ディリクトリをフォルダーに読み替えたり、拡張子の表示を隠してみたりした。
500 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:13:51 ] シェルネームスペースではフォルダ ファイルシステムではディレクトリ
501 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:49:23 ] ファイルシステムでもフォルダだよ
502 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:02:34 ] FAT、HPFS、NTFS ファイル システムについて support.microsoft.com/kb/100108/ja フォルダなんかどこにも出てこないけど?
503 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:16:57 ] ググればNTFSフォルダと言ってる例がいっぱいひっかかるが。
504 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:22:38 ] マウントはレジストリ使うんじゃなかったかな? よくトラぶって起動しなくなるらしい
505 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:33:53 ] DOSやWindows 3.1やWindowsNT → ディレクトリ Windows95以降 → フォルダ NTFSはWindowsNTで作られた物だから、 解説ではディレクトリと言う事も多い。 今では、区別なくフォルダと言っている。 例えば、圧縮フォルダはNTFSの機能だけど、 あんまり圧縮ディレクトリとは言わない。
506 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:40:31 ] つまりディレクトリとフォルダは違うものなんだ
507 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:48:49 ] >>491 じゃないけど作ってみたyo〜 #include <stdio.h> #include <conio.h> int _tmain(int argc, _TCHAR* argv[]) { TCHAR sKey[] = _T("test") ; printf("plz enter [ %S ] \n", sKey) ; unsigned int nCount = 0 ; for(;;) { if(::_getch() == sKey[nCount]) { printf("hit! [ %C ]\n", sKey[nCount]) ; if(_tcslen(sKey) <= ++nCount) break ; } else printf("miss\n") ; } printf("\(^o^)/") ; return 0; }
508 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:54:19 ] あれだろ、 昔からDOSやWindowsでプログラミングやってる老人が、 ディレクトリをフォルダって言う事に抵抗感じるって事でしょ。
509 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:14:24 ] もうフォルダとかディレクトリとかどうでもいいよおまえら 専用スレでも立ててほかでやれ と思ってるやつが何人いるんだろう 一人もいないのか?
510 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:24:26 ] どうでもいいよ
511 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:34:16 ] 他人の間違いに一々噛み付くのはアマチュア。 脳内で的確に修正し、さりげなく指摘できるのがプロ。 間違いを訳のわからん理論で正当化しようとするのは厨ニ病。
512 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:49:51 ] >>511 で、君はそれのどれ?
513 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:30:08 ] 悪いのはいちいち名前を変えて同じ物をローテーションしてるMSだろ 俺たちゃ振り回される被害者だってばよ!
514 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 07:29:55 ] Express Edition 使っているんですけど ソリューションにソリューションを追加できないものでしょうかね 自分は MFC や ATL を使わないので この機能のためだけに Standard 買うのもちょっと…
515 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:54:43 ] Stdにだってそんな機能はありませんよ 異なる言語のプロジェクトをひとつのソリューションで扱えるだけ なんでそんな要求が出るのかしらないけど MSBuildあたりを調べればなんか代替案出てくるんじゃない?
516 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:19:18 ] >>461 >何のために本やグーグル先生があると思ってるんだね? 何のために2chに初心者質問スレがあると思ってるんだね? という発想。
517 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:06:46 ] EEには無いがSEには有るというなら多分ソリューションフォルダのことだろう。
518 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:21:37 ] VS2008 MFC使用です CStaticオブジェクトに絵を描いています。 OnPaint()でLineTo()等を組み合わせて絵を描いているのですが、 ウィンドウの大きさを変えたとき、OnSize()で描画領域の大きさも変えて、絵も拡大縮小するような処理を行っています。 しかし、絵を拡大したとき、新たに描画されるところは拡大されて表示されるのですが、 既に表示されている部分の再描画が行われません。 これが処理を早くするための工夫(仕様?)であるところまでは調べられたのですが、 実際にどのように対処したらいいかがわかりません。 OnSizeでサイズを変更したときに全体が再描画されるようにするにはどうしたら良いでしょうか。
519 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:25:46 ] >>518 Invalidateで全体が無効領域だということをシステムに教えてやる
520 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:26:40 ] けちけちしないで全体を再描画すればいいだけじゃん。
521 名前:518 mailto:sage [2008/06/16(月) 18:48:09 ] >>519 Invalidateを初めて知りました。ありがとうございます。 OnSizeでInvalidate(TRUE) OnExitSizeMoveでInvalidate(FALSE) とする事で対処しました。
522 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:43:55 ] ダイアログクラス間での、構造体データのやりとりで悩んでいます。 [ダイアログA]から、作成した登録ボタンを押して[ダイアログB]を開き、 Typdef struct Data { int Number; char Name[10]; }stDATA; をそれぞれに用意した2つのエディットボックスで入力して登録するもの なのですが、UpdateData(TRUE);で取得したデータを、[ダイアログA]の保存ボタンを 押したときにファイルに保存するための処理が作れません・・・。 [ダイアログB]でファイルオープンし、そのまま保存することならできる のですが、ダイアログAの保存ボタンで保存したい場合は、構造体のデータ をどのようにやりとりすればよろしいでのしょうか? もしかしたら、MFC以前の問題なのかもしれないのですが、 C言語とC++を初めて1か月半なので、なにとぞよろしくお願いします。
523 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:06:50 ] 失礼しました。ファイルへの保存は、 FILE *fp でファイルを開いて、fprintfで保存します。
524 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:10:10 ] fwriteでメンバを一個ずつセーブ freadで一個ずつロード
525 名前:デフォルトの名無しさん [2008/06/17(火) 11:33:24 ] Visual Studio2005のC++を使っています. 複数のフォルダーを取得するにはどうしたらいいでしょうか? 複数のファイル名を取得するにはCFileDialogを使って、Shift+ マウスクリックで複数ファイルを同時に選択できました. それと同じようなことをフォルダーに対して行いたいのです。 BROWSEINFOを使って一個のフォルダは選択出来ますが、 同時に100以上のフォルダーを選択したいので、Shiftやcntlなどを 使ってさくっとやりたいです。 なお、フォルダー選択後、各フォルダー内にあるデータファイルを 順番に全て処理していきます.
526 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:36:10 ] >>522 ダイアログBが生きてるなら、Bのパブリック変数なりゲッタなりで。 Bが消えるなら、消える前に上記。あるいは、AのポインタをBに渡しておいて BからAのパブリック変数に代入なりセッタなりで。
527 名前:デフォルトの名無しさん [2008/06/17(火) 16:14:55 ] VisualC++2005でMFCアプリケーションをダイアログベースで作成しています。 メイン画面からサブ画面を開くのに DoModal(); を使って開いているのですが、 このときサブ画面のエディットボックスなどに初期値を入れたいです。 メイン画面ではOnInit関数内でセットできたのですが、 サブ画面ではどこに記述して良いかわかりません。 初歩的な質問で申し訳ありませんがよろしくお願い致します。
528 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:19:44 ] サブ画面のダイアログのクラスにOnInitDialog()を作れ。 クラスビューからクラス選択してプロパティでオーバーライドをクリックして OnInitDialogを探せ。
529 名前:527 [2008/06/17(火) 16:48:10 ] >>528 おぉ☆★☆ 早速のレスありがとうございました!! 早々に解決できました。 ありがとうございましたm(_ _)m
530 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:24:34 ] >>524 >>526 まだ完成はしていないのですが、無事解決しそうです。 どうもありがとうございました。
531 名前:デフォルトの名無しさん [2008/06/17(火) 20:59:57 ] すいません。すごく今困ってます。 今先生から内緒でCDに焼いてもらったVisual Stadioなんですが、 #include <stdio.h> void main(void) { printf("Hello"); } これを実行すると プロジェクト : error PRJ0003 : 'cmd.exe' の起動中にエラーが発生しました。 ってなるんですが、どうしたら良いですか?? お願いします。
532 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:06:54 ] とりあえずMSにメールしといた
533 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:07:26 ] 環境変数のpathに %SystemRoot%\system32 を追加。 PCを再起動 コピーは良くない。逮捕されるぞ Visual studio のアカデミック版は安いんだから、買え。 一番基本的なバージョンは無料ダウンロードできるんじゃなかったっけ?
534 名前:デフォルトの名無しさん [2008/06/17(火) 21:11:24 ] >>533 あの・・・すいませんが 環境変数ってどこですか?;
535 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:18:50 ] 流石にこれにはレスしない方向にしたいな
536 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:21:23 ] 無料で使えるExpressEditionがあるのになぜこの程度の 事をするのにコピーしてもらうのかと、そもそも学校の課題とかなら EEでも十分すぐる
537 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:36:30 ] ていうか先生に聞けよw
538 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:04:52 ] ていうか、学校名晒せよ。
539 名前:デフォルトの名無しさん [2008/06/17(火) 23:17:23 ] >>531 これはさすがにまずいな、まして教職者がやる行為ではないね TV用
540 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:21:19 ] 内緒って書いてあるな、 約束を破っちゃいかんよ
541 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:26:19 ] これはすごい釣りですね
542 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:35:27 ] 国際学生証作ればMSから正規にタダでダウンロードできるだろう
543 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:36:00 ] MouseButtons & Windows::Forms::MouseButtons::Right ; Noneになるクソワロタ あれ・・・?
544 名前:デフォルトの名無しさん [2008/06/18(水) 10:50:59 ] こんにちは! ボタン押しでファイル保存をしたいのですが、エクセルやワードを保存するときのように、 フォルダを選べて、名前をつけて保存したいです。 まず、その画面はどうやって表示したら良いでしょうか?? 環境はVisualC++2005のMFCです。よろしくお願いします。
545 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:54:23 ] CFileDialogで検索
546 名前:デフォルトの名無しさん [2008/06/18(水) 12:21:17 ] クラスについての質問です。 class MakeWindow { public: char Name[256]; int Width; int Height; int Bit; int ScreenMode; } MakeWindow mWindow = new MakeWindow("A", 640, 480, 32, SELECT_MODE); このようにしてオブジェクトを作成したのですが、 エラー 2 error C2661: 'MakeWindow::MakeWindow' : 5 個の引数を伴うオーバーロードされた関数はありません。(Line 6) と表示されます。 受け取り側の変数も5個で設定しているのですが、何が原因なのでしょうか。
547 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:35:09 ] コンストラクタでググれよ
548 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:50:11 ] エラーをよく見ろ 'MakeWindow::MakeWindow'という関数はないと言ってる そのまんま
549 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:54:28 ] 548はアホ スレ違いだから終了
550 名前:デフォルトの名無しさん [2008/06/18(水) 16:01:45 ] 質問させていただきます。 Microsoft Visual C++ .NET でアプリケーション (.exe)作成しました。 void main()を実行した所 実行画面が立ち上がりません。 出力の表示は ”XX.exe: ネイティブ' はコード 0 (0x0) で終了しました。” となっています。 実行画面が表示されれば Sleep(2000)が入っているの目視できるはずです。 ステップインで実行した所次のようになっていました。 ・appmodul.cppの_tWinMainが実行 ・crtexe.cのif ( !managedapp )でmanagedapp=0 ・exit(mainret)が実行 ここで終了しているようです。 何とかmainの中身を実行させたいのですが何が原因なんでしょうか? 当方のスキル:社内プログラマ1年目 申し訳ありませんが何とかお力を御貸し頂きたいと思います。
551 名前:MFC始めて3週間目 [2008/06/18(水) 16:12:49 ] CEditView でフォントを設定するのはどうするの。 ちなみに以下ではできない。 int CDeepPurpleView::OnCreate(LPCREATESTRUCT lpcs) { if(CEditView::OnCreate(lpcs) == -1) return -1; CDC* pDC = this->GetDC(); CFont screenFont; screenFont.CreatePointFont(600,"MS ゴシック",pDC); CFont* pOldFont = pDC->SelectObject(&screenFont); return 0; }
552 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:33:42 ] >>550 MFCのプロジェクトを選んでいないか?main関数から始まるプログラムを作りたいなら、 Win32コンソールアプリケーションのプロジェクトを選ばないといけない。 あるいはMFCを使いたくてそうしているのなら、 プログラムの実行開始はmain関数でないというのがMFCの流儀。
553 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:40:41 ] フォントの寿命がOnCreate終わるまでなんだろ
554 名前:550 mailto:sage [2008/06/18(水) 17:10:31 ] >>552 ありがとう御座います。 MFCを使用しないため Win32コンソールアプリケーションで プロジェクトを組みなおした所 問題が解決しました。 ありがとう御座います。
555 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:15:45 ] mag.autumn.org/Content.modf?id=20060122170124 の SetWindowsHookExのサンプルをvc++2008でコンパイルしてみたんだけど、 フックされる気配がない・・・どこか間違ってるの?
556 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:25:08 ] >>554 そういえばvoid main()は普通やらない。int main()にしろ。
557 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:44:35 ] >555 そのあとに、NyaRuRuセンセが「CLR上でフック動かすとか無謀すぎ」 って書いてるのに、何でコンパイルしたの?
558 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:30:55 ] >>543 MouseEventArgs^ a = (MouseEventArgs^)e; a->Button == MouseButtons::Right こうですか!わかりません><
559 名前:デフォルトの名無しさん [2008/06/19(木) 04:09:40 ] MFCで使われるCrectをCLRでも使いたいんですけど代わりのものってありますか?
560 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 04:41:04 ] 代わりって言うと微妙かもしれないけどRectangleとかかな?
561 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 10:37:53 ] >>551 まず、CFontが破棄されないように自動変数はやめてメンバーにでもして、 ↓でどうよ。 int CDeepPerpleView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CEditView::OnCreate(lpCreateStruct) == -1) return -1; screenFont.CreatePointFont(600, _T("MS ゴシック")); SetFont(&screenFont); return 0; }
562 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 17:46:53 ] TimerProc(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2) のdw1とdw2って、ドキュメントには予約って書いてあるけど、実際には使えないの?
563 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:51:27 ] そこに値設定する方法無いのに、どうやって使うつもりなんだ。
564 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:38:13 ] 予約領域のある関数や構造体なんてイヤというほど有るぞ。
565 名前:デフォルトの名無しさん [2008/06/19(木) 23:02:34 ] みなさんすみません。5日前からC++を始めた初心者です。 >383さんと関連するのかもしれませんが、下記のコードを実行すると、 期待した結果と異なる(結果は同じになると思うんですが)出力されます。 関数の引数を値渡しすると、初期化と同じとテキストに書かれているので、 こういう結果がなぜ起こるか分からないのです。 Visual Studio 2008 Express Edition Windows Vista void Print(char str[]) { cout << "サイズは" << sizeof(str) << endl; } int main() { char str[] = "Test"; cout << "サイズは" << sizeof(str) << endl; cout << "サイズは" << sizeof("Test") << endl; Print("Test"); Print(str); } 結果: サイズは5 サイズは5 サイズは4 サイズは4
566 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:16:26 ] >>565 "Test"の文字列を長くしたらどうなるか見てごらん。
567 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:17:31 ] 【初心者歓迎】C/C++室 Ver.55【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1213466622/ C++相談室 part62 pc11.2ch.net/test/read.cgi/tech/1211900039/
568 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:18:45 ] はきだめC/C++下級者の質問箱 2 pc11.2ch.net/test/read.cgi/tech/1156206091/
569 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:40:00 ] >>565 Print関数にはポインタを渡してるに過ぎない。 サイズが4なのはポインタのサイズ(32ビット)
570 名前:デフォルトの名無しさん [2008/06/20(金) 11:36:05 ] >>569 >>566 565です。ありがとうございます。そういうことなんですね。 すっきりしました。
571 名前:デフォルトの名無しさん [2008/06/20(金) 11:43:06 ] こんにちは! 現在VisualC++2005のMFCでプログラムを組んでいます。 Cのstr関数を使用しているのですが、下記のような警告が出ます。 warning C4996: 'strcat' が古い形式として宣言されました。 string.hを見ろって言われて見たのですが、 まだまだ未熟な為、よくわかりません。 一応動作は問題なくできるのですが、気になったので教えて頂けませんか? 自分としてはこの警告を、 問題はありませんが、古い形式で宣言されてるので新しい形式にした方が良いよ。 というニュアンスでとらえています。 それでOKでしょうか?また、OKな場合新しい形式とはどういう形式でしょうか? よろしくお願いします。
572 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:53:54 ] これを抑えるのは、_CRT_SECURE_NO_DEPRECATE をdefineする。 新しい形式は、strcpy_s を調べてね
573 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:54:41 ] strcat だったか、こっちに対応するのはもちろん strcat_s ね
574 名前:デフォルトの名無しさん [2008/06/20(金) 14:45:50 ] >>572 ありがとうございます。 確かに _s をつけたら警告がなくなりました。 ANSIではstrcatとかですが、 VisualC++では _s を付加した新しい形式になってるってことでいいんですか? ちなみに >これを抑えるのは、_CRT_SECURE_NO_DEPRECATE をdefineする。 やってみたんですが、警告は消えませんでした・・・orz
575 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 14:53:05 ] ISOのCライブラリ標準にはなってるから、そのうちANSIにも入るかもしれないが、わからんな。 CRT のセキュリティ強化 ttp://msdn.microsoft.com/ja-jp/library/8ef0s5kh(VS.80).aspx
576 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:33:10 ] 標準入力をファイルへリダイレクトした時のデバッグ (コマンドから[c:\hoge.exe < c:\hoge.txt]と入力した時のhoge.exeのデバッグ) をするにはどうしたらいいですか? プロジェクトのプロパティ→デバッグ→コマンドライン引数 に" < c:\hoge.txt"を足せばいいかと思ってやってみたのですが、上手くいきません。
577 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:38:56 ] >>576 それでうまくいくはずだけど、どうなるの?
578 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:16:56 ] >>577 hoge.exeの中身です↓ int _tmain(int argc, _TCHAR* argv[]) { std::string line; while (std::cin) { std::getline(std::cin, line); std::cout << line << std::endl; } return 0; } hoge.txtの内容が出力されるはずですが、何も出力されないのです。 (コマンドプロンプトから[hoge.exe(のフルパス) < c:\hoge.txt]とした場合は内容が出力されます。) 引数は argv[0] --- hoge.exe (のフルパス) argv[1] --- < argv[2] --- hoge.txt になっているのですが・・。
579 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:34:17 ] それがコマンドライン引数で出来たのは VisualStudio6以前だけ。 リダイレクトはシェルの機能なんで コマンドライン引数には書けない。
580 名前:574 [2008/06/20(金) 17:42:07 ] >>575 ありがとうございます。 参照させていただきました。 ネットだと、_CRT_SECURE_NO_WARNINGS を ヘルプだと、_CRT_SECURE_NO_DEPRECATE を 定義すれば良いとありますが、どちらを定義しても警告が消えません。 ちなみに _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES を 1 として定義する もやってみましたが警告が消えません。 もしかして定義する場所が違っていますか? str関数を使用しているファイル内で定義してるのですが。。。
581 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:50:22 ] >>580 多分、<string.h>をインクルードする前に 定義しないと駄目だと思うぞ。
582 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:51:46 ] >>578 VC++のバージョンは? こっちでやってみたら、VS2005だとそのまま動作して2008だと無理だな
583 名前:579 mailto:sage [2008/06/20(金) 18:06:32 ] あれ、2008のヘルプにも出来るって書いてあるな。 >>579 は取り消し。
584 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:07:43 ] ヘルプには両方できるって書いてあるんだけど、2008はできなかった。 2005だとそのままでできるから設定がいるか、ヘルプが間違ってるか、どっちかかもね
585 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:22:52 ] なんか、2008でも「デバッグ無しで開始」だとうまくいった。 バグっぽいな。
586 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:29:38 ] Sleepとダミーの行置いてデバッグ無しで開始してからプロセスにアタッチしたら なんとか動いたw
587 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 19:51:09 ] VC2008で作成したDllをVC2005をインストールしているPC上から呼び出したところ dlがありませんといわれました。 VC2005で作り直すとちゃんと呼び出せるdllができます。なにが原因でしょうか? VC2008で作ったdll→VC2008のPCでは動くがVC2005では認識されない。 VC2005で作ったdll→VC2005のPCでもVC2008のPCでも動く
588 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 20:00:08 ] 他に依存しないなら単体で動く
589 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 21:22:39 ] VC入れてないと使えないんじゃ普通の人には使えない
590 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:12:11 ] featurepackどうですか?
591 名前:578 mailto:sage [2008/06/20(金) 22:34:52 ] >>582 バージョンはVS2008です。 皆様の言うとおりデバッグ無しでは動作しました。 バグ?ですかね。あきらめつつ設定でできないか頑張ってみます。 レス下さった皆様ありがとうございました。
592 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 07:32:27 ] >>587 dllがないなら、dll入れればいいじゃん
593 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 13:47:42 ] DLL自体じゃなくてプロジェクトのことだというオチじゃないだろうな? 2005のプロジェクトは2008でも読めるが、逆はできんぞ。 まあソリューションとプロジェクトのヘッダ書き換えればほぼイケるけど。
594 名前:デフォルトの名無しさん [2008/06/21(土) 22:51:53 ] 本当にくだらない質問だとは思うんですけど Visual C++っていうのはソフトなんだよね? それはれっきとした売り物でフリーじゃないよね? そしてプリグラムを勉強したかったら何かしらのプログラミングソフトを購入することが必要?
595 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 22:54:22 ] >>594 フリーの開発環境もあるからググレ
596 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 23:00:08 ] >>594 マイクロソフトのホムペを隅から隅まで確認しろ
597 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 23:00:56 ] >>594 Visual C++ 2005/2008 Express Edition はフリー
598 名前:デフォルトの名無しさん [2008/06/21(土) 23:08:12 ] ありがとうそれを落としていろいろ勉強してみるわ
599 名前:デフォルトの名無しさん [2008/06/22(日) 01:36:36 ] >>597 のを落として実際にプログラムをサイトからみたの拝借して打ち込んでるんだけど再現できない #include <iostream.h> void main() { int i; i = 5 + 15; cout << "計算すると"; cout << i; cout << "になります。" << endl; } これなんだけどなぜだろうか?
600 名前:デフォルトの名無しさん [2008/06/22(日) 01:56:16 ] >>599 iostream.hはC++標準の一部ではありません。 現代的なCompilerの多くではサポートされません。 VC7以降も同様です。
601 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 01:58:20 ] #include <iostream> using namespace std;
602 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 04:56:11 ] 都合上 using namespace std; してるところが多いけど 本当は using namespace は使わない方がいい。 今は気にしなくていいけどな。
603 名前:599 [2008/06/22(日) 07:52:34 ] ということは<iostream.h>を<iostream>にかえれば大丈夫になるわけかな?
604 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 09:28:13 ] ここはC++を教えるスレじゃないよ
605 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:14:40 ] std::endl; を書くのがめんどくさいです(><
606 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:21:21 ] >>605 >>601
607 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:25:51 ] 【初心者歓迎】C/C++室 Ver.55【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1213466622/ C++相談室 part62 pc11.2ch.net/test/read.cgi/tech/1211900039/ はきだめC/C++下級者の質問箱 2 pc11.2ch.net/test/read.cgi/tech/1156206091/
608 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:31:19 ] 前から気になってたんだけどC++の話駄目だとこのすれってどんな話題が主なの? Win32やMFCもNGだよね? そうすると環境の設定とか?w
609 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:37:13 ] >>608 よくわかってるではないか。
610 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:00:13 ] VCの入門書よりC/C++の本を読んだ方がいいやつは、そういうスレヘ行った方がいいだろ
611 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:01:50 ] そうだな
612 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:28:02 ] >>606 でも>>602 って(><
613 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:02:24 ] std::e と打った時点でインテリセンス効いてない?
614 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:26:01 ] >>612 今は気にするな
615 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:53:47 ] 大量に発生するC4146の山 VCは素晴らしいコンパイラ
616 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:36:17 ] >>612 今は気にしなくていいけどな。
617 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:51:06 ] 今VC++2008勉強してるんだけど、これって標準のC++と全然違う? string型使おうと思ったらPTSTRに変換できないって何だよそのエラーorz 最終的にはstringのdataメソッド使えば問題無かったけど・・・ Win32APIとか難しすぎるぜ!
618 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:12:20 ] c_str 使え。
619 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:17:01 ] PTSTR は Unicode 環境を対象とする設定でコンパイルする場合は wchar_t* で typedef されるので wstring を使う必要があると思うんだが、 VC++2008 ってデフォルトで Unicode 環境を対象にしてなかったっけ? 今手元に環境が無いから何とも言えないが。
620 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:38:36 ] >>618->>619 セックス! 今までPerlとかPHPとかスクリプト系のプログラミングしかまともにしたことが無かったから 処理系(コンパイラ?)によって方言があるっていうのがなんとも理解しづらいorz=3 とりあえずなんか小さなアプリをチョコチョコ作ってそこから方言の意味を勉強していくよ。
621 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:41:21 ] これは方言ってわけではないね。 言語仕様が変わってる訳じゃないから。
622 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 05:28:16 ] VC++には何故 C99 標準の vsscanf が無いんですか?
623 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:55:58 ] visual studio 2008のWindowsフォームアプリケーションでアプリを作成中です groupboxの中に複数のcheckboxを配置し、 同じgroupboxの中にあるボタンを押すと、全部のチェックボックスがチェックされる、という仕組みを作ろうとしています。 とりあえず、ボタンが押された時にグループボックス内のコントロール分のループを回すところまでは上手くいったのですが、 1.そのコントロールがチェックボックスと判定するにはどうすれば良いのか 2.そのコントロールがチェックボックスだった場合、それにチェックを入れるにはどうすれば良いのか が判りません。 if(groupbox1->Controls[i]がチェックボックス){ groupbox1->Controls[i]->Checked; } …みたいな感じのことがやりたいのですが、どうすれば良いのでしょうか。
624 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:04:48 ] キャストが成功するかどうかで判定すれば?
625 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:23:31 ] >>623 、 〜->checked=true; でした。 >>624 ControlからCheckBoxへのキャストのやり方がわからないので困っているのです。
626 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:52:11 ] >>625 ttp://msdn.microsoft.com/ja-jp/library/cby9kycs.aspx
627 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 19:21:32 ] >>626 出来ました!ありがとうございます。
628 名前:デフォルトの名無しさん [2008/06/23(月) 20:00:03 ] C++で作った『ハイ アンド ロー』のゲームで ハイスコアを記録させたいのですが、 どうやったら記録できるのでしょうか?? 本当に初心者なんでよろしくお願いします。
629 名前:デフォルトの名無しさん [2008/06/23(月) 20:55:11 ] >>628 class CScore { ~~~~ public: void SetScore(int score) int GetScore(void) private: int m_HiScore = -1; }; // スコア登録関数 void CScore::SetScore(int score) { if (m_HiScore < score) m_HiScore = score; } int CScore::GetScore() { return m_HiScore; }
630 名前:デフォルトの名無しさん [2008/06/23(月) 20:59:18 ] VC++ 2008 Express で、どのあたりまで作れるの? ウィンドウズアプリケーション作れる? 製品版とどのくらいの差があるのかな。
631 名前:デフォルトの名無しさん [2008/06/23(月) 21:04:43 ] >>630 このページが参考になるかと ttp://www.microsoft.com/japan/msdn/vstudio/products/vs08/compare.aspx
632 名前:デフォルトの名無しさん [2008/06/23(月) 21:08:22 ] >>631 ありがd
633 名前:デフォルトの名無しさん [2008/06/23(月) 21:40:57 ] >>629 何が書いてあるのかさっぱりなんですが・・・
634 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 02:44:07 ] ワロタ
635 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 09:16:00 ] >ハイスコアを記録させたいのですが、 >>628 記録方法で、3点 ・ハイスコアの出し方 ・画面表示のしかた ・ファイルへの書き方 ファイルへの書き方のような気がする。間違ってたら言って。
636 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 12:48:20 ] 【初心者歓迎】C/C++室 Ver.55【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1213466622/ C++相談室 part62 pc11.2ch.net/test/read.cgi/tech/1211900039/ はきだめC/C++下級者の質問箱 2 pc11.2ch.net/test/read.cgi/tech/1156206091/
637 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 14:05:47 ] >>636 このコピペ野郎いい加減うざいな
638 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:59:17 ] >>635 ハイスコアの保存(ファイル)に一票
639 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:22:10 ] >>635 何が書いてあるのかさっぱりなんですが・・・
640 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:30:39 ] >>639 の頭の中がかさっぱりなんですが・・・
641 名前:デフォルトの名無しさん [2008/06/24(火) 23:32:04 ] 質問です VC++のMFCで計算したデータを、 作成しているExcelテンプレートの特定の文字列に上書きすることは可能ですか? 例 MFCのexe → テンプレート起動 → 「kekka」に計算結果を上書き → 別名で保存(テンプレートはそのまま) こんな感じで
642 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:40:20 ] poiがいいよ
643 名前:デフォルトの名無しさん [2008/06/24(火) 23:59:51 ] >>642 JAVA?のほうがやり易いんですかね・・ ググってきます
644 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:30:38 ] DirectXでゲーム作るのが目的でVC++始めた よくありがちな厨房ですが Win32APIなプログラムでオセロ作るのに1ヶ月もかかった馬鹿な漏れに MFCとは一体何なのか勉強すべきなのかを教えてください
645 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:47:08 ] ・ExcelをCOM経由で叩く。ライセンスとプロセスの残りには注意 ・Excelを純な「表」として使ってるなら、ODBCドライバ。 SQLの言う「テーブル」に当たらなければ涙目 ・(Excel2007形式)、ドトネト3.0+OpenXMLSDK ・Java+POI ・Lotus123形式が扱いやすいってJoelがいってた
646 名前:641 [2008/06/25(水) 01:04:25 ] >>645 Excelのバージョンでも違うみたいですね ちょっとほかの方法を考えてみます。ありがとうございました
647 名前:デフォルトの名無しさん [2008/06/25(水) 02:30:52 ] >>644 Studioに支援機能があったりして感じ大掛かりだけど、ぶっちゃけ、ただのWin32APIのラッパークラスだよ だから、ちょっとしたツール作るには便利だけど、覚えたからと言って何か新しい事が出来る訳では無く、 知ってて困る事は無いけれど、知らないからと言って何か作れない訳じゃないって事で判断ヨロ。
648 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 03:58:27 ] Visual Studio.NET2003を使っているのですが、リソースを開いたとき プロパティが灰色で全く何も表示されなくなってしまいました。 戻し方はありますでしょうか? もしくは、VCの設定を完全に初期状態に戻したいのですが、 どの辺をいじったら良いでしょうか?
649 名前:デフォルトの名無しさん [2008/06/25(水) 05:52:15 ] >>644 MFCはWin32をラップするクラスを集めたライブラリではありません。 Windows上で動作する一般的なアプリケーションソフトは、win32API だけで完成するものではありません。 簡単に理解できる例をあげると、ワードプロセッサーで範囲を選択し、 これをドラッグアンドドロップする。 ただこれだけの動作が、COMを必要とします。 そこで現在のMFCは、ビジネスソフトウエアにとって必要とされる機能を 含むフレームワークとして構築されています。 フレームワークが想定しているアプリケーションを開発する場合には、 とてもうまく機能すると思われますが、そうでない場合には不満も あるでしょう。 フレームワークが対象としている開発対象の場合でも、標準の見た目や コードの古臭さに不満を持つ場合も多いようです。 今後、それらの不満の一部が解消される可能性もあります。 Visual C++ 2008 Feature Pack について調べてみてください。
650 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:01:23 ] Win32APIだけでもCOMは使えるんじゃなかったっけ?面倒なだけで。 MFCってのは、やろうとおもえば出来るが面倒だ、ってのを わかりやすく、扱いやすいようにしたものだと思ってただ
651 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:11:34 ] やればできるといっても現実的にはどうか アセンブリ言語でWindowsアプリを作るみたいにつらい
652 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:38:53 ] コメントで、 /* * */ の部分が折りたためるのですが、「宣言」となります。 「宣言」の部分にコメントの概要を表示したいのですが、可能でしょうか? 可能なら記述の仕方を教えて下ください。環境は2008EEです。
653 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 09:40:38 ] 一度Win32アプリケーション プロジェクトでダイアログベースのアプリを作った後 MFCで同じものを作ると有難味がわかる。
654 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:07:11 ] MFCはゲーム作るには要らないな >>644 にとって、ただの回り道でしかない
655 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:25:37 ] ゲームつくるのにMFCほどクソなものはない
656 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:30:03 ] ゲーム作るならC#がいいな