★初心者にVisual C++を教えるスレ★ Part19
レス数が1000を超えています。これ以上書き込みはできません。
0001ぬるぽ
2005/05/16(月) 11:19:48Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。
∧_∧
( ´∀`) < ぬるぽ
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
http://www.geocities.co.jp/Beautycare/4965/public/template.html
http://myu.daa.jp/osiete/
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
過去スレ、関連スレなどは>>2-3。
0002ぬるぽ
2005/05/16(月) 11:20:08Part18 http://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/
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
0003ぬるぽ
2005/05/16(月) 11:20:27■MFC相談室 mfc13d.dll■
http://pc8.2ch.net/test/read.cgi/tech/1110179996/l50
Win32API質問箱 Build31
http://pc8.2ch.net/test/read.cgi/tech/1114762194/l50
鬱だ氏のう DirectX (Part 15)
http://pc5.2ch.net/test/read.cgi/tech/1096649788/l50
C言語なら俺に聞け! Part 106
http://pc8.2ch.net/test/read.cgi/tech/1113102515/l50
C++相談室 part40
http://pc8.2ch.net/test/read.cgi/tech/1113408957/l50
C/C++の宿題を片付けます 43代目
http://pc8.2ch.net/test/read.cgi/tech/1115794784/l50
【初心者歓迎】C/C++室 Ver.17【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1115958601/l50
【関連サイト】
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
MSDN ライブラリ
http://www.microsoft.com/japan/msdn/library/
Platform SDK Update
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
http://www.google.co.jp/
0004ぬるぽ
2005/05/16(月) 11:20:47part 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
0005ぬるぽ
2005/05/16(月) 11:21:160006デフォルトの名無しさん
2005/05/16(月) 11:28:280007デフォルトの名無しさん
2005/05/16(月) 11:30:13 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∩ ∩
〜| ∪ | (´´
ヘノ ノ (´⌒(´
((つ ノ⊃≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ ̄(´⌒(´⌒;;
ズズズズズ
0008前スレ994
2005/05/16(月) 11:38:47乙です
>ダブルクリックで移動
まぁそれで十分といわれればそうなんですが
できればいいなぁと言う願望があったわけで
できないならそれでもいいんですがね
ついでに前スレ1000get
0009デフォルトの名無しさん
2005/05/16(月) 12:39:34実体の _fltin() が見つかりません。
わかる人いますか?
0010デフォルトの名無しさん
2005/05/16(月) 13:08:13これのソースは、、、
0011デフォルトの名無しさん
2005/05/16(月) 13:13:2000129
2005/05/16(月) 13:19:40ありがとうございました
0013デフォルトの名無しさん
2005/05/16(月) 13:35:32> VC++を学びたいのですが、どこから手を突けたらよろしいでしょうか?
> 体系的に学べて良質なWebサイトがありましたら誘ってください
無料で見れるWebには過大な期待は禁物です。
コンピュータ関連の本が充実した本屋さんで立ち読みして、
自分の気に入る本を探したほうが、
多少のお金がかかりますが、結果的にはよいことになると思う。
・・・とはいっても、
いまだかつて、これを1冊読めばOK、という本を見たことがないですし、
無料で見れるWeb未満の内容の本や罠たっぷりの本もあると思う。
0014デフォルトの名無しさん
2005/05/16(月) 14:48:530015デフォルトの名無しさん
2005/05/16(月) 14:56:52>>14
http://pc8.2ch.net/test/read.cgi/tech/1029599472/
0016デフォルトの名無しさん
2005/05/16(月) 15:20:42***.ncb
Debugフォルダ
Releaseフォルダ
以外にありますか?
というのは、なるべくコンパクトにして持ち歩きたいのです
0017デフォルトの名無しさん
2005/05/16(月) 15:34:540018デフォルトの名無しさん
2005/05/16(月) 15:41:16プロジャクトなる物が何かは知らんが、
*.suo, *.aps辺りも消して医院ジャマイカ?
0019デフォルトの名無しさん
2005/05/16(月) 16:07:420020デフォルトの名無しさん
2005/05/16(月) 18:27:54せっかくバッチで6.0で一括コンパイルできたのに。
不便だ〜。
0021デフォルトの名無しさん
2005/05/16(月) 18:45:34MSDNのどっかにあった気がするんですが・・・
ブックマークされている方ががおりましたら、教えて下さいませんか?
m(_ _)m
0022デフォルトの名無しさん
2005/05/16(月) 19:00:11この頃、「(0x0)」が顔文字に見えて仕方がない。
0023デフォルトの名無しさん
2005/05/16(月) 19:03:310024デフォルトの名無しさん
2005/05/16(月) 19:05:39void plus(int *,int *,int *);
void main(void)
{
int i,j,ianswer;
i=2;
j=3;
plus(&i,&j,&ianswer);
printf("\ni=%d j=%d answer=%d\n",i,j,ianswer);
}
void plus(int *x,int *y,int *ians)
{
*ians=*x + *y;
}
これがグローバル関数宣言らしいんですけど、ローカル関数宣言
にするには、どーしたらいいんですか?
0025デフォルトの名無しさん
2005/05/16(月) 19:08:590026デフォルトの名無しさん
2005/05/16(月) 19:14:11ヒント:再配布はredistribution、略してredist
0027デフォルトの名無しさん
2005/05/16(月) 19:14:270028デフォルトの名無しさん
2005/05/16(月) 19:16:12初めて見るファイルが一杯あった。
ビットマップとか結構使えそう
0029デフォルトの名無しさん
2005/05/16(月) 19:23:112段目の
void plus(int *,int *,int *);
がグローバル関数宣言だそーです。
0030デフォルトの名無しさん
2005/05/16(月) 19:25:04またスレ違いか
いい加減にしてほしいな
0031デフォルトの名無しさん
2005/05/16(月) 19:27:000032デフォルトの名無しさん
2005/05/16(月) 19:28:17マルチじゃねーか
0034デフォルトの名無しさん
2005/05/17(火) 00:25:30にしたいって意味か?
0035デフォルトの名無しさん
2005/05/17(火) 08:04:150036デフォルトの名無しさん
2005/05/17(火) 08:10:270037デフォルトの名無しさん
2005/05/17(火) 09:40:19で、それから?
0038デフォルトの名無しさん
2005/05/17(火) 09:51:30ここはあくまでVC++
0039デフォルトの名無しさん
2005/05/17(火) 09:55:48↓のスレに行くと幸せになれる
Win32API質問箱 Build31
http://pc8.2ch.net/test/read.cgi/tech/1114762194/
0040デフォルトの名無しさん
2005/05/17(火) 09:55:57ドライブ名の列挙はここでいいんでない?
0041デフォルトの名無しさん
2005/05/17(火) 10:03:270042デフォルトの名無しさん
2005/05/17(火) 23:02:44MFCを使うならここでもいいけど・・・。
単にWin32APIの質問に見えたからさ。
0043デフォルトの名無しさん
2005/05/18(水) 14:53:190044デフォルトの名無しさん
2005/05/18(水) 15:38:270045デフォルトの名無しさん
2005/05/18(水) 16:33:360046デフォルトの名無しさん
2005/05/18(水) 16:39:350047デフォルトの名無しさん
2005/05/18(水) 17:48:50こうすればstd::cerrもstderrも使える。
int _tmain()
{
STARTUOINFO si;
GetStartupInfo(&si);
return _tWinMain(GetModuleHandle(0), 0, PathGetArgs(GetCommandLine()),
StartupInfo.dwFlags & STARTF_USESHOWWINDOW ? StartupInfo.wShowWindow : SW_SHOWDEFAULT);
}
0048デフォルトの名無しさん
2005/05/18(水) 18:57:19リンカの設定でサブシステム:コンソールをつけて
WinMainの前に47氏のコードを貼り付けることで
見事にドス窓に出力することができました。
どうもありがとうございました。
0049デフォルトの名無しさん
2005/05/18(水) 20:33:46便乗質問。
SYBSYSTEM:CONSOLEしたらこんなん出ましたけどどしたらいいですか?
LIBC.lib(crt0.obj) : error LNK2019: 未解決の外部シンボル _main が関数 _mainCRTStartup で参照されました。
0050デフォルトの名無しさん
2005/05/18(水) 21:31:33変態はよそへ行ってほしい
0051デフォルトの名無しさん
2005/05/18(水) 22:27:53デバッガで中身を見ようとすると最初の1変数分しか表示されないのですが、
全部一度に見る方法はないでしょうか?
今のところ一時的に
int array[1024];
memcpy(array, pointer, sizeof(array));
というコードを入れて array を見ているのですが、いちいち
これを書くのも面倒なので、もっといい方法があったら教えてください。
005251
2005/05/18(水) 22:29:040053デフォルトの名無しさん
2005/05/18(水) 22:54:270054デフォルトの名無しさん
2005/05/18(水) 22:54:39それ多分仕様
DOSの頃のデバッガもそうだったし
やるんならメモリ直接覗く位かね
0055デフォルトの名無しさん
2005/05/18(水) 23:53:43あとは配列にキャストする手も・・・
0056デフォルトの名無しさん
2005/05/19(木) 01:56:13ウォッチに
pointer,1000
と書く
0057デフォルトの名無しさん
2005/05/19(木) 08:54:24プロトタイプ宣言しろ。
あとMFCアプリでも使えるぞ。
0058デフォルトの名無しさん
2005/05/19(木) 09:37:510059デフォルトの名無しさん
2005/05/19(木) 09:56:420060デフォルトの名無しさん
2005/05/19(木) 18:33:040061デフォルトの名無しさん
2005/05/19(木) 18:42:52ひとつのソリューションの中にサーバープロジェクトと
クライアントプロジェクトを作成でよろしいのでしょうか?
これで正解のときサーバーのほうをスタートアップにして
VCから実行させれば自動的にクライアントの方も起動するための設定は
どのようにすればいいのでしょうか?
0062デフォルトの名無しさん
2005/05/19(木) 18:49:38ウィンドウのサイズが変更できるようにしたいのですが、どうしたらいいのでしょう?
ヘルプにはCSplitterWndクラスにオーバーライド可能な関数で使えそうなのが示されていますが、
VCのクラスを作るダイアログでMFCの基本クラスを探してもこれがありません。
0063デフォルトの名無しさん
2005/05/19(木) 18:50:33006461
2005/05/19(木) 18:50:50すれ汚し失礼いたしました。
0065デフォルトの名無しさん
2005/05/19(木) 19:45:34コンピューターに存在する全てのパスを得たいのですが、どうすれば
よろしいのですか?
0066デフォルトの名無しさん
2005/05/19(木) 19:49:48MFC以外もいいけど、何でもありじゃない。
普通のVCの入門書の範囲内ならOK
0067デフォルトの名無しさん
2005/05/19(木) 19:52:59shなんたら
0068デフォルトの名無しさん
2005/05/20(金) 02:22:54プログラミング言語C++ 第3版 は罠ですか?7800円もするんですけど。
0069デフォルトの名無しさん
2005/05/20(金) 02:25:17int main() { }
int t_main() {}
int main(int argv, char* argc) { }
なんででしょうか?エントリポイントの名前違うし・・・引数取ったり取らなかったり。。。
0070デフォルトの名無しさん
2005/05/20(金) 03:46:29やっぱり方法があったんですね。ありがとうございます。
0071デフォルトの名無しさん
2005/05/20(金) 08:36:15ここはVC++
0072デフォルトの名無しさん
2005/05/20(金) 09:12:53そういうことが気になるなら
自分でソース見るかビルドして比較してみろよ
つか「引数取ったり取らなかったり。。。 」なんて問題外
0073デフォルトの名無しさん
2005/05/20(金) 10:35:09初心者スレですよ
0074デフォルトの名無しさん
2005/05/20(金) 10:54:270075デフォルトの名無しさん
2005/05/20(金) 13:44:35よろしくお願いします。
0076デフォルトの名無しさん
2005/05/20(金) 13:51:32と ) | |
Y /ノ 人
/ ) < >__∧∩
_/し' //. V`Д´)/
(_フ彡 / ←>>75
0077デフォルトの名無しさん
2005/05/20(金) 13:55:10date.txt(数値が1行ずつ書き込まれたファイル)をtest.cに読み込ませる?にはどうしたらいいのでしょうか?
UNIXのリダイレクションにあたる行為です。
0078デフォルトの名無しさん
2005/05/20(金) 14:17:07やり方はいろいろあるけど、そういう仕様ならたぶんそれが一番効率的
0079デフォルトの名無しさん
2005/05/20(金) 15:28:500080デフォルトの名無しさん
2005/05/20(金) 15:41:54こういうこと?
0081デフォルトの名無しさん
2005/05/20(金) 17:15:33知り合いに「C言語やるならツール買った方がいいよ」と進められ、
開発ツールなるものを調べたのですがよく分かりません。
Visual C++はC++だけでなく、C言語にも対応しているのでしょうか?
教えてください。宜しくお願いします。
0082デフォルトの名無しさん
2005/05/20(金) 17:17:27今なら Visual Studio 2005 Beta2 が無料で使えるらしい
008382
2005/05/20(金) 17:18:200084デフォルトの名無しさん
2005/05/20(金) 17:23:42http://pc8.2ch.net/test/read.cgi/tech/1091543344/l50
008581
2005/05/20(金) 17:47:35ありがとうございます。
早速イジってみます。
0086デフォルトの名無しさん
2005/05/20(金) 18:02:19_tmainはtchar.hの中でこう書かれている。
#ifdef _UNICODE
#define _tmain wmain
#else
#define _tmain main
#endif
wmainはargv(お前がargcと書き間違えている方)がwchar_t* []になっていて、
_TCHARと組み合わせてUnicodeを使うかどうかを切り替えられるようになっている。
0087デフォルトの名無しさん
2005/05/20(金) 19:30:31自分のイメージでは、プログラム全体の動作速度というかキビキビ度は
SDK > MFC > VB6
なんですが、この認識であってますでしょうか?
もちろん、内部の仕様や規模によってケースバイケースでしょうが、
このあたりの比較についてコメント頂きたいです。よろしくお願いしますです。
0088デフォルトの名無しさん
2005/05/20(金) 19:33:390089英語XP環境では全く起動できません。
2005/05/20(金) 19:39:11(.dllファイルと.exeファイルがフォルダーにおいてあります。)
.exeファイルをダブルクリックして起動させるだけですが、
英語XP環境では全く起動しません。
原因対策等をご教授いただけないでしょうか?
0090デフォルトの名無しさん
2005/05/20(金) 19:42:120091デフォルトの名無しさん
2005/05/20(金) 19:50:43速度が関係するのは、たいていGUIに関係ない部分で
内部処理はどうにでもできるわけだし
0092デフォルトの名無しさん
2005/05/20(金) 19:54:340093デフォルトの名無しさん
2005/05/20(金) 19:55:54タダ(学習能力とモチベーションが高い場合)〜数千万(コンシューマ)
0094英語XP環境では全く起動できません。
2005/05/20(金) 19:57:23ご連絡ありがとうございます。
英語のリソースは日本語のリソースを英語に書き換えて
保存しただけです。
0095デフォルトの名無しさん
2005/05/20(金) 19:58:40それは企業とかで採用してるやつですよね。それじゃあ個人で作品作ったりする場合はC言語等がオススメと聞いたんですが
個人で使えるレベルのC言語ツールはいくらでしょうか?
009687
2005/05/20(金) 19:59:13>>88
ありゃ、そんなもんですか。我慢してSDK使う必要もないんですね。。。
>>91
なるほどです。見てくれと実際の処理で適材適所というわけですね。
0097デフォルトの名無しさん
2005/05/20(金) 20:40:14タダ〜数万(好みによる)
0098デフォルトの名無しさん
2005/05/20(金) 20:44:49学習能力とモチベーションに、個人か否かは関係ない。
個人でも財布の中身はピンキリだ。
安くしたいならgccとかBC++とかVC++2005 Express βとか好きにする・・・
#BC++ってまだタダで配ってたっけ?
>>87
SDK >= MFC >= VB6
越えられない壁はあるが、個人の能力次第で大差なくなる。
0099デフォルトの名無しさん
2005/05/21(土) 02:34:39ヘッダファイルとソースファイルに分けたらダメポなんですか?
VC6でビルド時に散々外部参照が未解決というエラーが出まくってたんですが、
全てヘッダファイルに纏めたら嘘のようにエラー表示が無くなりました。
0100デフォルトの名無しさん
2005/05/21(土) 02:56:18日本語として英文を書いてたりしないか?
0101デフォルトの名無しさん
2005/05/21(土) 02:57:40分けてもいいよ。
ATLは一部分がDLLになったりしてるよ。
0102デフォルトの名無しさん
2005/05/21(土) 03:20:15crtdbgで調べてみてもメモリリークは発生してない
これってほっといても平気?
0103デフォルトの名無しさん
2005/05/21(土) 05:14:25評価結果をツールチップ表示してくれる機能があるけど、
これって表示内容というか評価内容を定義できないのかな?
どなたか知ってる人教えてください。
0104デフォルトの名無しさん
2005/05/21(土) 08:45:48プロジェクトの設定でリソースの言語タイプの指定が有るの、知ってるか?
0105デフォルトの名無しさん
2005/05/21(土) 08:52:25それが正常な動作だと思うなら、ほっといても問題ない。
0106102
2005/05/21(土) 21:50:380107デフォルトの名無しさん
2005/05/22(日) 02:02:12進まないことが以上に多いんですけど、
これってどうしようもないんですか?教えてください。
0108デフォルトの名無しさん
2005/05/22(日) 02:08:06どうやって直したんだったか・・
0109デフォルトの名無しさん
2005/05/22(日) 02:24:18言語仕様として、テンプレートの定義はすべてテンプレートクラスか
ネームスペースのスコープ内でないといけない。
0110デフォルトの名無しさん
2005/05/22(日) 02:26:09VC6.0サービスパックをインストールしてみたら?
0111デフォルトの名無しさん
2005/05/22(日) 03:08:260112デフォルトの名無しさん
2005/05/22(日) 03:09:06それだ。
VC++そのものをバージョンアップした(2003に)
0113デフォルトの名無しさん
2005/05/22(日) 03:25:44僕もたまになるけど、僕の場合は、「最小化→元に戻す」を行うと起動しだす。
0114デフォルトの名無しさん
2005/05/22(日) 06:51:440115デフォルトの名無しさん
2005/05/22(日) 09:07:33RegEnumKeyEx
0116デフォルトの名無しさん
2005/05/22(日) 12:45:52VC++.NET2003でDirectX9.0cAprilでDirectPlay8を利用した
クライアントサーバ型チャットプログラムを作っています
通信相手が接続したらDPN_MSGIDメッセージを
別ソースへ記述してあるメッセージハンドラが受け取って
.NETWindowsフォームアプリケーションである
Form1のリッチテキストボックスコントロールのrichtxtに
"接続しました"系のメッセージを表示するにはどうすればよいでしょうか?
switch(dwMessageType)
{
case DPN_MSGID_CREATE_PLAYER
ここをお願いします
return DPN_OK;
}
0117デフォルトの名無しさん
2005/05/22(日) 12:47:460118デフォルトの名無しさん
2005/05/22(日) 13:14:32あえて言えば.NET Frameworkスれか?
0119デフォルトの名無しさん
2005/05/22(日) 13:16:41http://pc8.2ch.net/test/read.cgi/tech/1061285378/
managed C++ やろうぜ!!
http://pc8.2ch.net/test/read.cgi/tech/1014486422/
0120116
2005/05/22(日) 13:22:39関数からForm1のオブジェクトを操作するだけなのに
すでに1週間近く悩んでいますが
0121デフォルトの名無しさん
2005/05/22(日) 13:30:01Form::ActiveFormかなぁ。
しかし問題の本質を理解して適切に質問する能力も必要。
今回の場合DirectXはぜんぜん関係なさそうだし、switch文一つだけ提示されても答えようがない。
0122デフォルトの名無しさん
2005/05/22(日) 13:44:38開発画面が壮大すぎて分かりません。
コードも最初から山ほどあるし、意味不明です。
何か良い勉強方法はありませんでしょうか。
入門書は
新VisualC++.NET入門
猫でも分かるWindowsプログラミング
両方糞本で全く分からなくて
スタンダードVisualC++という本を今読んでるところです。
こちらも挫折しそうです
0123デフォルトの名無しさん
2005/05/22(日) 13:46:220124122
2005/05/22(日) 13:48:24猫は関係ないです。WinAPIはわかっています
MFCの壮大な画面が分からないんです
0125デフォルトの名無しさん
2005/05/22(日) 13:49:36お前の言っていることが意味不明。
まず何がしたいか書け。
それだけの情報だと、C言語を勉強したことがないならC++の前にC言語を勉強しろとしか言えん。
0126116
2005/05/22(日) 13:50:30Form2.Text1.Text="接続"という風に安直ですが
C++ではそうは行きませんか・・・
0127122
2005/05/22(日) 13:50:51MFCで色々アプリを作りたいんですが、プロジェクトを作成したら
最初から色んなコードがあって、頭が混乱してる状況です
そういう細かいところまで解説したページや本は無いのかな、、、と
0128デフォルトの名無しさん
2005/05/22(日) 13:52:29ttp://www7.plala.or.jp/keny01/
0129デフォルトの名無しさん
2005/05/22(日) 13:52:51お前は向いてない。やめとけ。
0130122
2005/05/22(日) 13:54:13そこも見ましたがなんか・・もっと細かいのないですか
0131デフォルトの名無しさん
2005/05/22(日) 13:58:04いきなり難しいことやるのはアホ
0132デフォルトの名無しさん
2005/05/22(日) 13:59:10それって単純にグローバル変数とかそーゆー話?
0133122
2005/05/22(日) 13:59:210134デフォルトの名無しさん
2005/05/22(日) 13:59:33まずダイアログアプリケーションから作るのがいい。
プログラムを開始すると、
CXxxApp のコンストラクタが一番最初に、
次に CXxxApp::InitInstance が呼ばれる
その中でダイアログを表示しているコードがある。
CXxxDlg のコンストラクタが呼ばれる、
CXxxDlg の OnInitDialog が呼ばれる。
ここまではわかれば後は速いかな。
メッセージマップとかはすぐに理解できるものではないかも。
だけど、仕事じゃないなら、慣れてきたら MFC を離れて WTL 使ったほうが幸せかもよ。
0135122
2005/05/22(日) 14:01:13ありがとうございます了解しました
0136116
2005/05/22(日) 14:07:050137デフォルトの名無しさん
2005/05/22(日) 14:15:36まずC#言語の勉強をしろ
0138デフォルトの名無しさん
2005/05/22(日) 14:20:270139116
2005/05/22(日) 14:31:440140デフォルトの名無しさん
2005/05/22(日) 15:27:380141デフォルトの名無しさん
2005/05/22(日) 15:43:16スレ違いだが、今回だけだぞ。
メニュー
-「表示(V)」
-「ツール バー」
-「アドレス バー」
これでアドレスが判る様になる。
0142デフォルトの名無しさん
2005/05/22(日) 15:49:49もう少し詳しく教えてください。関数はどれですか?
0143デフォルトの名無しさん
2005/05/22(日) 16:01:54普通に表示されてるだろ?
おまえの目は節穴か?
アドレスバーに
0144デフォルトの名無しさん
2005/05/22(日) 16:04:20子ね
0145デフォルトの名無しさん
2005/05/22(日) 16:04:21テキスト領域を切り出して画像認識
0146デフォルトの名無しさん
2005/05/22(日) 16:16:01IEのツールバーを自作する。
自作ツールバーから、それが属するIEにアクセスする。
0147デフォルトの名無しさん
2005/05/22(日) 16:21:47リソースの追加>Bitmap>インポート>ファイルを開く、
としていったのですが、 うまくいきません。
どのようにすればいいでしょうか。
コンパイラは.NET2003です。
0148デフォルトの名無しさん
2005/05/22(日) 16:23:220149デフォルトの名無しさん
2005/05/22(日) 16:25:55そのビットマップをメモ帳で開いてみろ。
0150147
2005/05/22(日) 16:30:58開きました。
0151デフォルトの名無しさん
2005/05/22(日) 16:35:21どう書かれてる? それでも原因分からない?
0152147
2005/05/22(日) 16:40:27むちゃくちゃな文字が並んでるだけ
何ですが。
0153デフォルトの名無しさん
2005/05/22(日) 16:52:370154デフォルトの名無しさん
2005/05/22(日) 17:01:51まず、箱にリボンがかかっている場合はリボンを解きます。
0155デフォルトの名無しさん
2005/05/22(日) 17:40:53リソースへ取り込むのか?
うまくいかないってのはどううまくいかないんだ?
0156147
2005/05/22(日) 18:02:32リソースとして取り込むんです。
新規作成ならビットマップフォルダが作成されるのですが、
インポートだとビットマップフォルダが作成されないんです。
0158デフォルトの名無しさん
2005/05/22(日) 18:10:54MessageBox()を呼ぶ。
0159デフォルトの名無しさん
2005/05/22(日) 18:27:04ビットマップのある場所が問題なのかも
たしか、フルパスで全角文字があると、インポート出来なかった様な・・・
インポートしたいビットマップファイルをルートに置いて
再チャレンジ
0161デフォルトの名無しさん
2005/05/22(日) 19:04:35任意のクラスの継承を禁止する機能ってありますか?
Javaのsuperに相当するものはあるようですが、
finalに相当するものが見つからないのです。
0162デフォルトの名無しさん
2005/05/22(日) 19:32:15C++ではデストラクタをvirtualにしていないことでこのクラスを継承するなと言う意思表示しかできないと思う。
0163デフォルトの名無しさん
2005/05/22(日) 20:01:03MFCプロジェクトでHello worldはこうやれ。
MFCプロジェクトを作ったら、CWinAppの派生クラスにInitInstance()と
いう関数がある。その関数の先頭に
AfxMessageBox("Hello! World!");
という一行を書いてビルドして実行。
0164デフォルトの名無しさん
2005/05/22(日) 21:40:08「j」をカーソルキーの下に対応させることはできました。
このような一文字のコマンドは簡単にできるのですが、
行削除の「dd」のような二文字のコマンドの場合はどうすればよいのでしょうか。
dの入力を記憶しておく変数を用意して、dが既に入力されていれば、
ddであるみたいなことは思いついたんですが、
「5dd」なんかの何パターンもあるやつができないです。
BOOL CxxxxDlg::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_KEYDOWN ){
switch( pMsg->wParam )
case 'J':
break;
見たいな感じにやってるんですが
もっと賢いやり方は無いでしょうか?
0165デフォルトの名無しさん
2005/05/22(日) 21:44:15してなければ次のも追加
完結して初めてコマンド実行
0166デフォルトの名無しさん
2005/05/22(日) 21:49:29Visual C++以前に状態遷移図について勉強してみよう。
0167164
2005/05/22(日) 22:05:33>>166
ありがとうございます
n=0
�@
key[n]に入力されたキーを入れる
コマンドとして完結しているか
もしコマンドなら実行・key[]を初期化
違えば、n++する。key[]があふれたら初期化して�@に戻る
こんな流れでいいのかな
少し分からないところは
コマンドとして完結しているかを調べるところです、
成立しているしているコマンドを配列に入れておき
key[]と比較して同じならコマンドであるということは分かりますが、
数字が含まれるコマンドはどうしたらいいのでしょうか?
0168デフォルトの名無しさん
2005/05/22(日) 22:07:48Bitmapを左にスクロールさせたいのですが、
何か良い方法ないでしょうか?
ワーク用のビットマップを用意して、そちらにコピーして
また戻す、ってので一応できるのですが、
なんか無駄なので。。。
Google等でスクロールAPIを探したのですが、
見つけられませんでした。
0169デフォルトの名無しさん
2005/05/22(日) 22:12:06パターンマッチングとか
0170デフォルトの名無しさん
2005/05/22(日) 22:14:010171デフォルトの名無しさん
2005/05/22(日) 22:19:58viはオープンソースだし、勉強したければソース見ろよ
つかアルゴリズムとかの話なら言語と関係ないし
ここでやるな
0172168
2005/05/22(日) 22:22:40すみませんでした。
0175デフォルトの名無しさん
2005/05/23(月) 03:54:05なんで変数名に漢字が使えないんだ!!
0176デフォルトの名無しさん
2005/05/23(月) 06:54:47こういうのはどうよ?
コンストラクタをprivateにしてインスタンスの作成には静的メンバのCreate()を呼ばねばならない。
Create()ではnewしたポインタを返す。ポインタは各自スマートポインタの類に入れてもらう。
コンストラクタがprivateなので継承しても基底クラスのコンストラクタを呼べないから実質不可能になる。
0177デフォルトの名無しさん
2005/05/23(月) 07:11:55friendと仮想基本クラスを使ったやつで。
0178デフォルトの名無しさん
2005/05/23(月) 07:13:07ttp://article.gmane.org/gmane.comp.lib.boost.devel/101260
0179デフォルトの名無しさん
2005/05/23(月) 08:21:280180デフォルトの名無しさん
2005/05/23(月) 09:29:37VC++にx86-64のコンパイラを含んだPSDKを入れて組んだコード内の構造体のサイズはどのようになるのでしょうか?
今までどおり4の倍数なのでしょうか?
0181デフォルトの名無しさん
2005/05/23(月) 10:55:55ここ初心者スレですよ
特殊な環境の話は想定外です
0182デフォルトの名無しさん
2005/05/23(月) 11:04:140183デフォルトの名無しさん
2005/05/23(月) 11:47:530184デフォルトの名無しさん
2005/05/23(月) 11:53:070185デフォルトの名無しさん
2005/05/23(月) 11:56:04お前は自称上級者か?w
0186デフォルトの名無しさん
2005/05/23(月) 13:39:23これ固定する方法ありませんか?
0187デフォルトの名無しさん
2005/05/23(月) 13:56:180188デフォルトの名無しさん
2005/05/23(月) 14:19:43自分が使いやすいようにバーの位置カスタマイズしても、
間違えてドロップしてしまうとまた位置直さないといけないので固定したいのですが・・・。
あとEUCやらJISやらの文字コードの選択も見当たりません・・・。
Linuxで作られたソースのコメントが文字化けってる・・・。
アフォな質問ばっかりですみませんがご存知の方お願いします。
0189デフォルトの名無しさん
2005/05/23(月) 15:54:28OLE使うのだ
0190161
2005/05/23(月) 22:36:38ありがとう。
やっぱりC++の範囲内でトリッキーなことをするのか。
天下のマイクロソフトなんだから批判を気にせず拡張していてほしかったよ。
>>183
MSDNライブラリ
で
pragma comment
を検索して、それらしき解説のページを表示した状態で「同期」すりゃいい。
0191デフォルトの名無しさん
2005/05/23(月) 23:03:13いくらなんでも継承不可なんてそんなの取り入れたらもはやC++とは言えない。
そんなに継承不可にこだわるんだったらC++使うな。
0192デフォルトの名無しさん
2005/05/24(火) 11:48:130193デフォルトの名無しさん
2005/05/24(火) 14:06:190194デフォルトの名無しさん
2005/05/24(火) 14:16:56M_PI
自分でmath.h見ればいいじゃん。
M_PIを使うには
#define _USE_MATH_DEFINES
#include <math.h>
とするみたいよ
0195Failed to create empty document.
2005/05/24(火) 19:00:38Failed to create empty document.
というアラートがでます。
原因、対処方法をご教授いただけないでしょうか。
0196デフォルトの名無しさん
2005/05/24(火) 19:06:10DLLがおかしいと出るみたいよ、それ
0197デフォルトの名無しさん
2005/05/24(火) 19:08:41でぐぐったらなんか出てくるぞ
0198Failed to create empty document.
2005/05/24(火) 19:28:120199デフォルトの名無しさん
2005/05/24(火) 20:09:42継承しても正しく動作するようにコーディングしないとC++とは言えないの?
デストラクタを仮想関数にしないことができることと矛盾してない?
0200デフォルトの名無しさん
2005/05/24(火) 20:34:130201デフォルトの名無しさん
2005/05/24(火) 20:41:49と書く
0202デフォルトの名無しさん
2005/05/24(火) 20:42:38日本語リソースのDLL(コモンダイアログ等)を要求してるのでは
0203デフォルトの名無しさん
2005/05/24(火) 20:59:39仕事もてるくらいになるんでしょうか?
3ヶ月で成果出さないとやばいみたいな事言われたんだけど
教育とかないしテキストも最初に2冊買ってもらったけど
部分部分の作り方が簡単に書いてある奴だけなんで
なかなか厳しい…
0204デフォルトの名無しさん
2005/05/24(火) 21:12:120205デフォルトの名無しさん
2005/05/24(火) 21:56:34そうじゃなくて継承不可のクラスを作れるという仕組みをコンパイラが搭載したら
それはもはやC++コンパイラと呼べなくなると言ったんだ。いくらなんでもC++から離れすぎると思う。
プログラマが継承しない(してほしくない)クラスを作るのは全然問題ない。好き勝手にしろ。
0206デフォルトの名無しさん
2005/05/24(火) 22:08:170207デフォルトの名無しさん
2005/05/24(火) 23:34:35極端な話、コンソールプログラムでhello worldも出せないのにWordのようなのを作ろうとしたら
3ヶ月が3年でも無理だろ。
何が言いたいかと言うとおまいはどのくらいのやり手で、どんなことをやるのかをはっきりしろってこった
0208デフォルトの名無しさん
2005/05/25(水) 02:55:02コンソールにすることは可能ですか?
0209208
2005/05/25(水) 02:56:020210デフォルトの名無しさん
2005/05/25(水) 05:27:05簡単な方法は無いのでソースの中で AllocConsole()
0211デフォルトの名無しさん
2005/05/25(水) 07:44:21プロジェクトのオプションなどで変更可能。
0212デフォルトの名無しさん
2005/05/25(水) 07:47:15或いはプロジェクトを新規に作ってソースを移動。
0213デフォルトの名無しさん
2005/05/25(水) 07:52:290214デフォルトの名無しさん
2005/05/25(水) 12:28:59通常のエディットボックスの部分(一番上)は小さく、
ドロップリストの表示だけ、大きくしたいのですが、
オーナードローで上手くできないでしょうか?
┌───┐
├───┴──┐
│ . │
│ . │
└──────┘
※イメージ
0215デフォルトの名無しさん
2005/05/25(水) 12:37:21どうか確認できるのでしょうか?
0216デフォルトの名無しさん
2005/05/25(水) 12:42:04日付け
0217デフォルトの名無しさん
2005/05/25(水) 18:45:13どこかで見たんですが、何でしょう?
Outputなんとか、みたいな名前でした。
vsprintfで可変個引数使ったサンプルだったと思います。
(ユーザ関数で作成したもの)
MessageBoxでデバッグ出力してましたが、そちらの方が便利かと
思い質問しました。
MSDNでOutputStringというのが有りましたが、違うようです。
0218デフォルトの名無しさん
2005/05/25(水) 18:51:48SetDroppedWidth
0219デフォルトの名無しさん
2005/05/25(水) 19:32:13OutputDebugString?
0220デフォルトの名無しさん
2005/05/25(水) 19:38:210221デフォルトの名無しさん
2005/05/25(水) 20:01:50NMAKE.EXEでメイク
CL.EXEがコンパイラ
0222デフォルトの名無しさん
2005/05/25(水) 20:11:12ついでにメイクとビルドの違いも勉強しよう。
0223デフォルトの名無しさん
2005/05/25(水) 20:18:58コンパイラ以外は乗ってないな・・この本だめぽ
ググって調べてみますわ。
0224デフォルトの名無しさん
2005/05/25(水) 20:20:09コソーリ俺にも教えて
0225デフォルトの名無しさん
2005/05/25(水) 20:23:11メイク=ビルド?
大学でC使ったときはビルドってあった気がする。
環境環境によって違うって事かな
0226デフォルトの名無しさん
2005/05/25(水) 20:25:44らしいです。機械語にして実行ファイルを作る作業ってことなのかな。
最初から調べればよかったか・・・w
0227Failed to create empty document.
2005/05/25(水) 20:47:19ご連絡ありがとうございます。
>日本語リソースのDLL(コモンダイアログ等)を要求してるのでは
MFC71.dll
msvcp71.dll
msvcr71.dll
を.EXEファイルと同階層のおいてますが、
日本OSなら問題無く起動でき、英語OSだとアラーとがでて
起動できません。
英語OSでも問題無く起動させる対処法はあるのでしょうか?
0228デフォルトの名無しさん
2005/05/25(水) 21:05:38C
C++
↑三種類あるの?
どれが一番簡単?>「
0229デフォルトの名無しさん
2005/05/25(水) 21:17:000230デフォルトの名無しさん
2005/05/25(水) 21:22:350231デフォルトの名無しさん
2005/05/25(水) 21:34:35英語用のプロジェクト作って比べて見ればわかるだろ
MSのサンプルは英語版なんだし、動かないわけないが
0232214
2005/05/25(水) 21:36:35ありがとうございました。
おかげで、かなりいい感じのができそうです。
0233デフォルトの名無しさん
2005/05/25(水) 21:39:19いいってことよ。完成したら公開してくれよな。
0234デフォルトの名無しさん
2005/05/25(水) 22:14:06インストールしたのですが、これでは、visual c++ をつかうことは、
できないのでしょうか。
0235デフォルトの名無しさん
2005/05/25(水) 22:16:360236デフォルトの名無しさん
2005/05/25(水) 22:28:13>>できないと思った根拠は?
visual c++の起動ファイルがないのです。
0237デフォルトの名無しさん
2005/05/25(水) 22:30:32ファイル→新規作成→プロジェクト→Visual C++プロジェクト
0238デフォルトの名無しさん
2005/05/25(水) 22:38:25visual studio買ってくるといいよ
0239デフォルトの名無しさん
2005/05/25(水) 22:39:38本1冊買ったらどう?安いのでいいからさ。
0240デフォルトの名無しさん
2005/05/25(水) 22:41:400241デフォルトの名無しさん
2005/05/25(水) 22:50:25もうひとつ教えてください
microsoftでダウンロードしたのは、
visual c++ 2005 express edition beta 2でした、
これは、visual c++ のことでは、ないのでしょか。
0242デフォルトの名無しさん
2005/05/25(水) 22:52:59次期visual c++評価版
0243デフォルトの名無しさん
2005/05/25(水) 22:58:100244デフォルトの名無しさん
2005/05/25(水) 23:00:36ビンゴ。thanks
0245デフォルトの名無しさん
2005/05/25(水) 23:23:43やっとわかりました。
visual c++購入で検索すると、ソフトがでてきました。
いろいろとありがとうございました。
0246デフォルトの名無しさん
2005/05/26(木) 00:53:51VC6ではちゃんととれるんですけど、そのままVC7にコンバートしてビルドしたらNULLが返ります。
なぜでしょうか?VC7になってdllかなんかが変わって本来の仕様(?)になったのかな?
0247デフォルトの名無しさん
2005/05/26(木) 00:57:00どっちが本来の動作か知らないけど、
7の方のAfxGetMainWndのコードを見る限りじゃ、
現在のスレッドのメインウィンドウを取ってくるみたいだから、
別スレッド作ったらその時点ではNULLになってるだろうね。
0248デフォルトの名無しさん
2005/05/26(木) 01:43:40ってことはどうやらMSDNの記述どおりになったんだね。
メインスレッドからハンドルとってグローバルに保持する方向で修正します。
0249デフォルトの名無しさん
2005/05/26(木) 09:43:40TRACE()使ったら
0250Failed to create empty document.:
2005/05/26(木) 12:38:01英語用のプロジェクトってどうやってつくるのですか?
すいません。初心者なもので・・
あと、この.EXEですが、基は日本語版用で、表記を英語に変えて
VisualC++.NETで保存しただけです。
日本語版のXPではこれだけの作業で、問題無く、英語表記で
起動してます。
0251デフォルトの名無しさん
2005/05/26(木) 12:50:41リソースの言語が日本語になってない?
0252デフォルトの名無しさん
2005/05/26(木) 12:51:32それ、リリースビルドした?
0253デフォルトの名無しさん
2005/05/26(木) 13:52:50http://forums.belution.com/ja/vc/000/126/92s.shtml
0254デフォルトの名無しさん
2005/05/26(木) 13:56:09そのプロジェクトのプロファイルを開いて、
リソースの欄のカルチャを見てくれ。
0255デフォルトの名無しさん
2005/05/26(木) 13:57:300256Failed to create empty document.:
2005/05/26(木) 18:00:55リソースはプロパティで全て英語(米国)にしてあります。
ファイルは
MFC71.dll
msvcp71.dll
msvcr71.dll
ABC.exe
ファイルが同階層に4つあるだけなので、
リソースを英語表記に変更して保存しかできてないです。
0257デフォルトの名無しさん
2005/05/26(木) 18:44:07日本語で作ったやつを英語に変更するのはもっと無理
0258Failed to create empty document.:
2005/05/26(木) 18:53:06最初は日本で作って英語にプロパティで変更しました。
0259デフォルトの名無しさん
2005/05/26(木) 18:56:10あのさ、その.rcファイルをテキストエディタで開いて
じっくり見てみなさいな
そんでJAPANの文字や、932とか0411の数字検索してみて
0260259
2005/05/26(木) 18:57:09変更するんじゃなくて、英語リソースを追加するほうが
間違いが無くていいと思う
0261デフォルトの名無しさん
2005/05/26(木) 19:03:30それすらできないのか?
アホ?
0262デフォルトの名無しさん
2005/05/26(木) 22:17:47エラーコードをメッセージにするものがありますが、
そこで得た文字列をTRACEで出力すると文字化けを起こしてしまいます。
MessageBoxでの出力は正常にできているし、
ブレークポイントで変数の内容を見ても文字化けしてません。
TRACEでの出力時にだけ文字化けをおこします。
どうすればいいんでしょう。
WinXP SP2 VCnet2003 で、Unicode 文字セットを使用しています。
0263デフォルトの名無しさん
2005/05/26(木) 22:22:380265デフォルトの名無しさん
2005/05/27(金) 00:34:50ウィンドウがアクティブでない時も取得してしまうので、
アクティブがどうかチェックする方法が知りたいです。
0266デフォルトの名無しさん
2005/05/27(金) 00:44:25WM_KEYDOWNとWM_KEYUPでやった方がいいんじゃない?
0267デフォルトの名無しさん
2005/05/27(金) 00:46:54自分がアクティブウィンドウかどうかの判定?
0268265
2005/05/27(金) 01:25:550269デフォルトの名無しさん
2005/05/27(金) 01:30:140270デフォルトの名無しさん
2005/05/27(金) 04:28:56メインスレッドに以下のような関数を作り、やりたいことができることを確認しました。
CoInitialize(NULL);
/* 処理 */
CoUninitialize();
次に、AfxBeginThreadでワーカスレッド作って上記コードを埋めこんだのですが、
最初の1回だけ無事動きまして、2回目以降はruntime errorでプロセスが死にました。
「マルチスレッドだからダメなのか!」と思い、いかにもそれっぽいので
CoInitialize(NULL) を CoInitializeEx(NULL, COINIT_MULTITHREADED) にしましたが、同様の症状です。
戻り値も S_OK なので、これは根本的な理解に欠けてるためだと思い、ちょっと調べてみたところ
アパートメントという言葉に遭遇し、あやふやなCOMの理解と併せて相当しんどそうと感じました。
そこで、虫の良いお願いで申し訳ないのですが、どう書けばとりあえず動くか御教示願えますでしょうか?
動かしたいのは勿論ですが、むしろ理解のための足掛り・お手本を頂きたいなという状況なのです。
長文ですみません。どうぞよろしくお願いします。
0271デフォルトの名無しさん
2005/05/27(金) 05:10:570272デフォルトの名無しさん
2005/05/27(金) 07:33:41スクリーンセーバはEXEファイルと全く同じで拡張子だけが違う。
だからsystem()やShellExecute()がそのまま使える。
0273デフォルトの名無しさん
2005/05/27(金) 07:42:250274デフォルトの名無しさん
2005/05/27(金) 09:30:37持ってきたハンドルと自分のm_hWndを比べるのはどうか
0275デフォルトの名無しさん
2005/05/27(金) 12:51:38ブレークする方法ってありませんか?
ブレークする場所を指定せずに。
0276デフォルトの名無しさん
2005/05/27(金) 13:05:43起動中かどうかの判断する方法です
0277デフォルトの名無しさん
2005/05/27(金) 13:47:34デバッグメニューのブレークポイントの作成の
データタブの条件
0278デフォルトの名無しさん
2005/05/27(金) 16:06:48先に全プロセスのハンドルを入手してそこからGetModuleFilename()でパスを得ておき、
それと検索して見つけたEXEのパスを比較すればいいんじゃない?
0279デフォルトの名無しさん
2005/05/27(金) 16:20:23COMをちゃんと勉強したほうがいい。
適当にやって適当に動いていると、後でトンデモナイ目にあう。
0280デフォルトの名無しさん
2005/05/27(金) 16:45:19thanks
0281デフォルトの名無しさん
2005/05/27(金) 22:54:34midiファイルを演奏させるためにmciコマンドを以下のとおり入れたのですが、openでエラーになってしまいます
rtncode=mciSendString( "open d:\town.mid type sequencer alias music" , NULL, 0, NULL );
ここで、rtncodeにエラー259(ドライバは指定されたコマンド パラメータを認識できません。)が返送されてきます。
d;\にはmidファイルも置いてあり、WMPで正常再生できたファイルであることは確認しています。
※open sequence のみ指定時はエラー0でした。
すみませんが何が悪いのか分かったら教えていただけますでしょうか。
0282デフォルトの名無しさん
2005/05/27(金) 23:01:14\tって何か知ってる?
0283デフォルトの名無しさん
2005/05/27(金) 23:17:26あっと、そういうことか
d:\\town.mid
いま、やってみたら音が出ました。
3日も悩んだのに〜 orz
0284デフォルトの名無しさん
2005/05/27(金) 23:17:580285デフォルトの名無しさん
2005/05/28(土) 07:06:43もっと別の文字だったら、コンパイル時にエスケープシーケンスじゃねぇよって言われて気付けたんだろうけどな
0286281
2005/05/28(土) 08:00:54また教えてください。
rtncode=mciSendString( "open d:\\test.mp3 type MPEGVideo alias music" , NULL, 0, NULL );
このrtncodeが エラー263(指定されたデバイスが開かれていないか、または MCI で認識されません。)に
なってしまいます。
で、 ttp://hp.vector.co.jp/authors/VA011973/prg_mci.htm のページに登録デバイス表示があったので
試してみたところ
AVIvideo CDAudio Sequencer WaveAudio
の4つが出てきたのですが肝心のMPEGVideoが出てきませんでした
質問1 エラーの原因は登録デバイスに名前が無いのが原因でしょうか
質問2 MPEGVideoを指定できるようにするために必要なLIBはあるのでしょうか?
一晩格闘して全然分かりませんでした。どなたか教えていただけますでしょうか。
VS2005 β2 使用です。
0287デフォルトの名無しさん
2005/05/28(土) 08:11:420289デフォルトの名無しさん
2005/05/29(日) 00:42:37猫でもわかるwindowsプログラミングの巻末の資料を頼りにやってるんですけど
そんだけでやってる人いる??
0290デフォルトの名無しさん
2005/05/29(日) 00:58:100291デフォルトの名無しさん
2005/05/29(日) 01:08:510292デフォルトの名無しさん
2005/05/29(日) 01:19:171レスじゃ教えられないな。
0293デフォルトの名無しさん
2005/05/29(日) 01:28:06.NetでUnmanagedなら今までのVCと一緒だし
0294デフォルトの名無しさん
2005/05/29(日) 01:29:500295デフォルトの名無しさん
2005/05/29(日) 01:53:34知らなかった・・・
0296デフォルトの名無しさん
2005/05/29(日) 01:59:01ありがとうございます
¢(。。)いつか二人用の将棋が完成したら、共に指しませう
0297デフォルトの名無しさん
2005/05/29(日) 02:02:27ボックス化
アンマネージ→マネージ
ボックス化解除
マネージ→アンマネージ
0298デフォルトの名無しさん
2005/05/29(日) 15:00:070299デフォルトの名無しさん
2005/05/29(日) 21:49:14: error C2143: 構文エラー : ';' が '*' の前にありません。
: error C2501: 'CClashApp::CMainWindow' : 識別名を宣言するのに、型が指定されていません。
: error C2501: 'CClashApp::m_pWnd' : 識別名を宣言するのに、型が指定されていません。
class CClashApp : public CWinApp
{
public:
CMainWindow* m_pWnd; //すべて、この行のエラー
CClashApp();
public:
virtual BOOL InitInstance();
DECLARE_MESSAGE_MAP()
};
これ、何が原因なんでしょうか?
0300デフォルトの名無しさん
2005/05/29(日) 21:52:100301300
2005/05/29(日) 21:52:540302デフォルトの名無しさん
2005/05/29(日) 22:10:56class CMainWindow;
これを宣言したらエラーは消えました。
0303デフォルトの名無しさん
2005/05/29(日) 22:22:57こんなことくらい常識だろう?
0304デフォルトの名無しさん
2005/05/29(日) 22:34:31えぇ??
Managed C++は使ったことないが、boxing/unboxingは値型と参照型の変換だろ?
Managed-Unmanaged間の変換はマーシャリングじゃないのかと。
0305デフォルトの名無しさん
2005/05/30(月) 01:31:37プリプロセッサに _UNICODE を渡すように
プロジェクトの設定をいじったのですが、
TCHAR -> char
MessageBox -> MessageBoxA
TEXT("ほげ") -> "ほげ" (Lプリペンドなし)
になっているようなのですが
どうすれば直りますか?
いじってるのは、
Programming Windows (petzol)
2章に載ってるサンプルコード "SCRNSIZE.C"です。
onegaisimasu
0306デフォルトの名無しさん
2005/05/30(月) 01:48:35#ifndef _TCHAR_DEFINED
#if !__STDC__
typedef wchar_t TCHAR;
#endif
#define _TCHAR_DEFINED
#endif
#else /* ndef _UNICODE */
#ifdef _MBCS
#ifndef _TCHAR_DEFINED
#if !__STDC__
typedef char TCHAR;
#endif
#define _TCHAR_DEFINED
#endif
#endif /* _MBCS */
#endif /* _UNICODE */
0307デフォルトの名無しさん
2005/05/30(月) 02:24:25API も W になった…気がした。
0308305
2005/05/30(月) 02:40:40winnt.hで定義されているらしい
UNICODEというのも渡したら、直ります田おさわがせすます田
0309270
2005/05/30(月) 08:53:24お返事遅れて申し訳ありません。
やはり腰を据えて勉強するべきでよね・・・了解です。
(ブ厚い)本買ってやってみます。御指導ありがとうございました。
0310300
2005/05/30(月) 09:17:200311デフォルトの名無しさん
2005/05/30(月) 09:39:13WINMMAPI BOOL WINAPI PlaySoundW( IN LPCWSTR pszSound, IN HMODULE hmod, IN DWORD fdwSound);
#ifdef UNICODE
#define PlaySound PlaySoundW
#else
#define PlaySound PlaySoundA
#endif // !UNICODE
0312デフォルトの名無しさん
2005/05/30(月) 16:20:47作業中に中止させたいと思っています
モーダレスダイアログに中止ボタン作成してボタンをクリックしてコピーを中止させるには
どうすればいいでしょうか
0313デフォルトの名無しさん
2005/05/30(月) 16:24:070314312
2005/05/30(月) 16:38:51コピーをどうすればとめられるのかなぁと思いまして
関数を作ってその中でコピーさせているので
コピーさせる関数を止めるにはどうすればいいのでしょうか
0315デフォルトの名無しさん
2005/05/30(月) 16:40:560316デフォルトの名無しさん
2005/05/30(月) 16:43:160317デフォルトの名無しさん
2005/05/30(月) 16:43:24・中止ボタンのハンドラでフラグを立てる。
・コピー処理が一段落したらそのフラグを見て勃っていたら中止する。
0318デフォルトの名無しさん
2005/05/30(月) 17:29:390319デフォルトの名無しさん
2005/05/30(月) 17:34:400320デフォルトの名無しさん
2005/05/30(月) 18:47:08初心者スレはWindowsのプログラム作ったことないやつが
いっぱいいそうだな
0321デフォルトの名無しさん
2005/05/30(月) 18:50:17大丈夫、>320のような勘違い厨も多いから。
0322デフォルトの名無しさん
2005/05/30(月) 18:56:450323デフォルトの名無しさん
2005/05/30(月) 20:07:32ときどきMSDEV.EXEのエラーでVCごと落っこちてくれるんだけど、何か決定的な理由あるんでしょうか?
0324デフォルトの名無しさん
2005/05/30(月) 21:36:46落ちたことないな
0325デフォルトの名無しさん
2005/05/30(月) 21:56:41>>323固有の問題じゃねーの?
メモリーにエラーがあるとか
実際、自分とこでエラーなんて一切出ないプログラムを、
OSは同じだけどマシンの違う他人のPCに持ってったら突然エラー出るとかあるし
0326デフォルトの名無しさん
2005/05/30(月) 22:27:110327デフォルトの名無しさん
2005/05/30(月) 23:52:450328デフォルトの名無しさん
2005/05/31(火) 01:52:26これには最適化機能が無いと聞いたのですが、総合的にどの位の差が出るものですか?
用途は主に、自分用の小規模、中規模のWindowsアプリケーション作成、
たまに使い捨てのコンソールアプリケーションを作る程度のものです。
0329デフォルトの名無しさん
2005/05/31(火) 02:58:54CV = Code View
MS C version 4あたりに付いてたな。
0330デフォルトの名無しさん
2005/05/31(火) 03:03:380331デフォルトの名無しさん
2005/05/31(火) 10:17:45問題ない
はっきりいってその程度だと比べても気がつかない
0332デフォルトの名無しさん
2005/05/31(火) 12:53:52便乗質問です。気が付くくらい差が出るのってどんな領域からでしょうか?
0333デフォルトの名無しさん
2005/05/31(火) 13:03:470334デフォルトの名無しさん
2005/05/31(火) 13:31:11最適化で命令数を減らすと効果が出る。
0335デフォルトの名無しさん
2005/05/31(火) 13:52:260336デフォルトの名無しさん
2005/05/31(火) 14:51:30>>334
ありがとうございます。踏面そのような分野に手を出す見込みが無いので安心できました。
0337デフォルトの名無しさん
2005/05/31(火) 14:55:350338デフォルトの名無しさん
2005/05/31(火) 17:56:460339デフォルトの名無しさん
2005/05/31(火) 18:44:08メモリーエラー・・・あるかもしれない。
たまーにアドレス0x〜をReadに出来ないとかそんなメッセージも出ますしorz
0340デフォルトの名無しさん
2005/05/31(火) 19:03:02それぐらい調べてわからないような馬鹿なら
買っても使いこなせない
0341デフォルトの名無しさん
2005/06/01(水) 14:20:01それはただのバグ。君のコードのね
0342デフォルトの名無しさん
2005/06/01(水) 22:29:52こんなループを使っていてふとMFCライブラリリファレンスを見てみると
>CArray::GetSize
>配列のサイズを返します。
>INT_PTR GetSize( ) const;
と書いてありました。
配列のサイズを返すのになぜポインタが使われているのでしょうか。
それから上のループでm_Array.GetSize()を整数扱いしているのに
警告が出なかったこともわかりません。
0343デフォルトの名無しさん
2005/06/01(水) 22:39:07ヘッダでのINT_PTRの定義を探してみよう。
PTRが何か分かるかな?
0344デフォルトの名無しさん
2005/06/01(水) 22:41:15INT_PTRじゃ誰だってINT*だと思うだろう。
0345デフォルトの名無しさん
2005/06/01(水) 22:55:30http://www.microsoft.com/japan/msdn/library/ja/jpdnw2ksrv/htm/AppSpecServ11.asp
Fixed-precision 型
DWORD32 32 ビット符号なし整数
DWORD64 64 ビット符号なし整数
INT32 32 ビット符号付き整数
INT64 64 ビット符号付き整数
Pointer Precision 型
DWORD_PTR pointer precision 用符号なし long 型
INT_PTR pointer precision 用符号付き整数型
Specific Pointer-Precision 型
略
0346デフォルトの名無しさん
2005/06/01(水) 23:35:41ありがとうございます。大勘違いしていました。
MSDNにもちゃんと書いてあったのにお恥ずかしいです。
0347デフォルトの名無しさん
2005/06/02(木) 11:55:110348デフォルトの名無しさん
2005/06/02(木) 12:04:290349デフォルトの名無しさん
2005/06/02(木) 12:26:590350デフォルトの名無しさん
2005/06/02(木) 15:28:13つ耳栓
0351デフォルトの名無しさん
2005/06/02(木) 15:32:190352デフォルトの名無しさん
2005/06/02(木) 16:37:39グレーになっていじれなくするのでよければ、
チェックボックスのウィンドウをDisableすればいい。
MFCのCWnd::EnableWindow(FALSE)とか、
WS_DISABLEDとか。
0353デフォルトの名無しさん
2005/06/02(木) 16:52:080354デフォルトの名無しさん
2005/06/02(木) 20:51:360355デフォルトの名無しさん
2005/06/02(木) 21:06:26果たして、ユーザーの触れないチェックボックスなど存在意義があるのだろうか
0356デフォルトの名無しさん
2005/06/02(木) 21:10:11精度なんてあって無いようなものなんだよ。
割り込みをうけるデバイスドライバを開発するなら話は別だけど。
0357デフォルトの名無しさん
2005/06/02(木) 21:16:09現在の状態を表すだけとか
0358デフォルトの名無しさん
2005/06/02(木) 22:48:43マルチメディアタイマでも駄目なんですかね?
0359デフォルトの名無しさん
2005/06/02(木) 22:53:20完全ではないよね
って割り込みだったのはWin16までだっけ?
0360デフォルトの名無しさん
2005/06/02(木) 23:25:34条件ならどうでしょうか?
というかそもそもどのくらいの精度まで保証してくれてるんだろう・・・。
0361デフォルトの名無しさん
2005/06/03(金) 00:16:45GetLocalTime(&t);
if(i != t.wMilliseconds){
Func();
}
i = t.wMilliseconds;
}
0363デフォルトの名無しさん
2005/06/03(金) 05:42:300364デフォルトの名無しさん
2005/06/03(金) 18:07:56だから358の言っているマルチメディアタイマ(timeGetTime)じゃだめなのか?
最大1msの精度を持っている。
0365デフォルトの名無しさん
2005/06/03(金) 18:19:54変数の初期化だとしたら、その理屈を教えてください。
DebugとReleaseで何が違うのでしょうか。
0366デフォルトの名無しさん
2005/06/03(金) 18:31:140xCDのバイト列に初期化するから
0367デフォルトの名無しさん
2005/06/03(金) 18:37:40初期化していない変数を参照して何かするプログラムを書くと動作が変わる。
つまり、初期化や代入していない変数を参照してはいけない。
0368デフォルトの名無しさん
2005/06/03(金) 21:46:12Debugビルドは通常最適化が無効になっている。
Releaseビルドは最適化が有効になっている。
バグのあるコードを書いたりすると、最適化の結果動作が変わることもある。
たとえばループ内で行っていた演算がループの外に移動したりとかな。
0369デフォルトの名無しさん
2005/06/04(土) 01:08:16を知らないんだったら、調べとけ
0370デフォルトの名無しさん
2005/06/04(土) 15:21:13class A {
bool flag;
A() {...} //flagの初期化を忘れてた
f() { if(flag) .....;}
};
てケースでハマったことあり。
なぜかリリースビルドだと正常に動かない!
0371デフォルトの名無しさん
2005/06/04(土) 19:01:16互換性についての問題はあまり聞かないのですが、
殆どそのまま移行できると考えてよいのでしょうか?
また、互換性についての問題がまとまっているサイトなどありましたら教えていただけないでしょうか。
0372デフォルトの名無しさん
2005/06/04(土) 19:11:08VC++.NETではMFCベースのアプリケーションを
作る事も出来る。MFCベースのネィティブ
アプリケーション作るなら、ほぼそのままの
コードで動く。
0373デフォルトの名無しさん
2005/06/04(土) 19:11:45というハナシなら大丈夫のはず
0374デフォルトの名無しさん
2005/06/04(土) 19:17:05過去のことはきれいさっぱり忘れよう。
0375デフォルトの名無しさん
2005/06/04(土) 19:28:52VC6で開発してきたアプリケーションをそのままVC7でコンパイルしても
(コンパイラのバグなどで)細かな挙動の違いは出てくると思うのですが、
今まで見つかっているものはどんなものがが知りたいと思っています。
http://www.microsoft.com/japan/msdn/library/ja/vccore/html/_core_port_to_the_standard_c.2b2b_.library.asp
は一応見てみましたが、ここに書いてあるのは
あくまでMSが開発時に意図して変更したものしか記載されていないと思いますので。
0376デフォルトの名無しさん
2005/06/04(土) 19:31:04MSに相談してくれ
ここは初心者スレ
0377デフォルトの名無しさん
2005/06/04(土) 19:32:00初心者なのか?
0378デフォルトの名無しさん
2005/06/04(土) 19:53:55VC7は…
というか、この板の中で他に適切なスレが無いように思うのですが。
0379デフォルトの名無しさん
2005/06/04(土) 21:07:34MFCしか知らないが、MFC限定で言うと、仕様が変わったものがあるから
VC++6.0用のコードをそのままVC++7.0でコンパイルすると警告が出ることがある。
たとえば、ファイルサイズを取得するCFileFind::GetLength()は
以前はUINTを返したけど今は64ビットのU整数を返すから32ビット値だと
思っているとなんで警告が出るか悩むだろう。まあ、移行でソースが間違っていないのに
コンパイルで警告やエラーが出たらその内容をその度にMSDNなどで確認することを
薦める。その内すぐに分かるようになるよ。
0380デフォルトの名無しさん
2005/06/04(土) 22:11:00Dialogリソースに、リッチエディットを貼り付けた途端、そのダイアログがエラーで表示されなくなりました。
どうしてなのでしょうか?
何かDialogを表示する前にリッチエディットに対してする前処理があるのでしょうか?
0381デフォルトの名無しさん
2005/06/04(土) 22:32:42AfxInitRichEdit();を事前に呼び出す必要があります。
0382デフォルトの名無しさん
2005/06/05(日) 00:06:08ポインタを保持するhoge1オブジェクトへのポインタを保持するvectorに、
hoge1オブジェクトポインタをpush_backするだけで、hogesubの仮想関数テーブルが
破壊されるんですが、何が悪いのか判る人いませんか?
class hogebase {
virtual void somefunc();
};
class hogesub : public hogebase
{
virtual void somefunc();
...
};
class hoge1 {
hogebase* hoge_ptr;
void someInit() { hoge_ptr = new hogesub; }
...
}
void main() {
vector< hoge1* > vec;
hoge1* ptr = new hoge1;
vec.push_back( ptr );
}
0383デフォルトの名無しさん
2005/06/05(日) 00:09:36と思った根拠は何?
0384デフォルトの名無しさん
2005/06/05(日) 00:34:07破壊されてないに一票。
0385デフォルトの名無しさん
2005/06/05(日) 00:40:45デバッガでトレースしていると、push_back中にeaxレジスタにhoge_ptrの仮想関数テーブルのアドレスを入れて、そこにecx(thisポインタ)を入れてます。
0386デフォルトの名無しさん
2005/06/05(日) 00:41:23デバッガでトレースしていると、push_back中にeaxレジスタにhoge_ptrの仮想関数テーブルのアドレスを入れて、そこにecx(thisポインタ)を入れてます。
0387デフォルトの名無しさん
2005/06/05(日) 00:43:27>>384
VC++ですので、vtableが見れるので破壊されるタイミングまで一目瞭然です。
0388デフォルトの名無しさん
2005/06/05(日) 01:24:150389デフォルトの名無しさん
2005/06/05(日) 03:47:21つうかhoge1のコンストラクタで何かしてんの?
0390デフォルトの名無しさん
2005/06/05(日) 12:51:10VBのようなWYSIWYG的なデザインできませんよね?
0391デフォルトの名無しさん
2005/06/05(日) 13:22:34.net 2003ならできる。
0392デフォルトの名無しさん
2005/06/05(日) 13:25:360393デフォルトの名無しさん
2005/06/05(日) 13:56:21http://www.asahi-net.or.jp/~bx5k-wtnb/dosv/gazo/works_editor01.gif
http://www.jah.ne.jp/~naoyuki/Writings/LLayout1.gif
0394デフォルトの名無しさん
2005/06/05(日) 15:44:12質問ですが、
たとえば、
CString string;
で
string.とカンマまで入れると、ポップメニューが表示されてメンバ一覧が見れますが、
時々、そのポップアップメニューが表示されない時があります。
これはバグなのでしょうか?
使用しているのはVC++6です。
0395394
2005/06/05(日) 15:45:16前後のソースコードに文法上の問題はありません。
コンパイルが通る状態で、string.と入れても、ポップアップメニューが表示されないのです。
0396デフォルトの名無しさん
2005/06/05(日) 15:51:19その前にセミコロンがない行があるとか・・・etc
0397デフォルトの名無しさん
2005/06/05(日) 16:10:29ただ、ヒントがどうしても表示されない場合ってのもあるっぽ。
VC7でも出てくれない事あるし…
0398390
2005/06/05(日) 16:14:58これってVCですよね?
でもここからコントロールごとの背景色・文字色・
文字の大きさなどはソース記述していかなきゃだめですよね?
他の開発環境のようにプロパティウィンドウへの記述だけで
できたらなぁ って思ったんです。
0399デフォルトの名無しさん
2005/06/05(日) 16:35:210400デフォルトの名無しさん
2005/06/05(日) 18:41:32とりあえず、カンマじゃなくてドットな
カンマ打ってもメンバ一覧表示されないのはあたりまえ。
>>398
VBはそもそも、そういうAPIやら使ったコードで指定していかないといけない部分を
全部ランタイム側でラッピングしてユーザーが意識しないでいいようにしてるんだ。
逆にそういう風に隠してるからC/C++でやるのに比べて自由度が低くなる。
0401デフォルトの名無しさん
2005/06/05(日) 18:48:51ここに書いてある程度のことは全部できたと思うが・・・
いまなら、Visual C++ 2005 Express Edition Beta 2 日本語版が無料で試せるので
ここでごちゃごちゃ聞くより、Beta版試してみたら?
http://www.microsoft.com/japan/msdn/vstudio/2005/express/visualc/
0402390
2005/06/05(日) 19:23:24早速試してみます。
C++ Builderも。
0403デフォルトの名無しさん
2005/06/05(日) 20:14:37aps リソースをすばやくロード
opt ワークスペースのウィンドウ レイアウトとか
じゃあncbはなんですか?
Microsoft C/C++ program database 2.00と先端に書かれてます。
0404デフォルトの名無しさん
2005/06/05(日) 21:53:060405デフォルトの名無しさん
2005/06/05(日) 23:38:56プログラムのコンパイルを早くする裏方さんとだけ知っておけば問題ないよ。
…個人情報が含まれている可能性がある
削除しても問題なし、他の人に渡す時にはむしろ削除した方がいいという事も言ってみるテスト。
0406デフォルトの名無しさん
2005/06/06(月) 00:04:24MFCなら、MFCのバイナリ互換がなくなった、ということに注意してね。
VC4.2〜VC6.0までは、ライブラリ側とそれを使う側の間で、
違うバージョンのMFCのオブジェクトを受け渡ししても大丈夫だったけど、
MFC7.0以降はそれが禁止されています。不可解なエラーとなるので注意。
ライブラリも含めてコンパイルし直してくださいね。
>>403
クラスビューのキャッシュみたいなもの。
コードを解析した結果が入っているよ。
0407デフォルトの名無しさん
2005/06/06(月) 00:10:24libファイルの作成方法を教えてください。
implib でbcc32でのコンパイラでは使えるlibが出来たのですが vc では使えずに困っています、よろしくお願いします。
0408デフォルトの名無しさん
2005/06/06(月) 01:18:12作ったらそこにお好きなファイルを追加してビルドして下さい。
dllの作成も同様です。dllのプロジェクトを作成してビルドすれば
そのdll用のlibとdllが出来ます。
0409デフォルトの名無しさん
2005/06/06(月) 03:56:01つまり、
ヘッダーファイルしか提供されていない他人が作ったDLLのインポートライブラリをVC++用に生成したい。
ってことね。>>408さん、早合点でしたね。
VC++には、Borlandのimplib相当のツールはついていません。
フリーウェアでありますので、探してみてください。
0410デフォルトの名無しさん
2005/06/06(月) 07:46:530411デフォルトの名無しさん
2005/06/06(月) 10:41:31この場合、わかっててもあえて違うほうで答える場合もある
0412デフォルトの名無しさん
2005/06/06(月) 12:18:13隔離スレ作るか
名前の候補を3つ考えてみた
他に希望がなければこの中から決めるぞ
VCのヲタ話はここで
談話室VC
VCなんでも相談室
以上の3つ
0413デフォルトの名無しさん
2005/06/06(月) 12:23:24int i_input();//1:integer 0:string
int char2int(char []);
//1000以下の二つの数字を入力させて、その合計を表示しなさい。(6/6の宿題)
main(){
char s[80];
printf("%d\n",i_input(s));
}
int i_input(char a[]){
int i;
printf("1000以下の整数を入力してください。\n");
gets(a);
i=0;
while(a[i]){
if(!(a{i]>='0' && a[i]<='9')) return 0;
i++;
}
return 1;
}
これ、どこがおかしいんですか?
0414デフォルトの名無しさん
2005/06/06(月) 12:31:02http://pc8.2ch.net/test/read.cgi/tech/1116914132/
0415デフォルトの名無しさん
2005/06/06(月) 12:37:03すみません、ではそちらで質問します
0416デフォルトの名無しさん
2005/06/06(月) 13:06:32何を予習(又は復習)させようとしてる宿題なのかがわからん
0417デフォルトの名無しさん
2005/06/06(月) 14:28:380418デフォルトの名無しさん
2005/06/06(月) 15:05:270419デフォルトの名無しさん
2005/06/06(月) 15:07:52死ねよ屑
0420デフォルトの名無しさん
2005/06/06(月) 15:17:48出来ない子が多いから
とりあえず出来そうなことをさせて褒めてあげるのが目的。
0421デフォルトの名無しさん
2005/06/06(月) 15:24:400423デフォルトの名無しさん
2005/06/06(月) 22:18:040424デフォルトの名無しさん
2005/06/06(月) 22:24:20作れる。
ただしマネージドC++にすると.Net Fremeworksを相手にインストールしてもらう必要があるし、Win95では動かない。
0425409
2005/06/06(月) 22:49:44いいや、十分な情報が書かれてるよ。
誰しもが通るような道なんだからさ。
初心者なのに回答している香具師にはわからないかもな。
>>419
お前こそな。
0426デフォルトの名無しさん
2005/06/06(月) 22:51:19つまり、Win32プロジェクトで作れば良いという事ですか?
あと、コンソールアプリケーションはマネージドC++以外
からは作れない、という認識で良いのでしょうか?
0427423
2005/06/06(月) 23:57:12基本的にはWin32プロジェクトで作れば、
コンソールアプリもウィンドウアプリでも作れますね。
まだ、マネージドC++の位置付が良く理解できてないので、
トンチンカンな回答をしてしまいました。とりあえずは
ヘルプを色々と調べてみることにします。
では、どうもありがとうございました。
0428デフォルトの名無しさん
2005/06/07(火) 07:35:59マネージドにしてもコンソールに入出力するプログラムは作れる。
それどころかアンマネージドコードとも混在できるのがマネージドC++の特長らしい。
0429デフォルトの名無しさん
2005/06/07(火) 12:15:23だから、全然早合点じゃないだろ
0430デフォルトの名無しさん
2005/06/07(火) 12:16:070431デフォルトの名無しさん
2005/06/07(火) 12:49:55したことがあるのですが、そのときそのときによって、標準状態での
ソリューションエクスプローラが右側であったり左側であったりします。
これはなぜでしょうか。また切り替えることはできますか?
0432デフォルトの名無しさん
2005/06/07(火) 13:00:560433デフォルトの名無しさん
2005/06/07(火) 14:17:57>そのときそのときによって
インストールするたびにですか? 普通は変えない限り変わらないはずですが。
>切り替えることはできますか
できます。つかんで移動するだけです。
0434デフォルトの名無しさん
2005/06/07(火) 15:15:14>つかんで移動するだけです。
>つかんで移動するだけです。
>つかんで移動するだけです。
インパクの森首相を思い出した
全国で無料IT講習会があったはずだけど
あんまり効果がなかったようだね
0435デフォルトの名無しさん
2005/06/07(火) 15:40:580436デフォルトの名無しさん
2005/06/07(火) 17:10:280437デフォルトの名無しさん
2005/06/07(火) 17:42:460438431
2005/06/07(火) 17:52:24レスどうもです。
最初ドラッグしても横長になったりとうまく収まらないと思ったのですが、
こねくりまわしていたら、移動できました。トンクス。
0439デフォルトの名無しさん
2005/06/07(火) 17:53:16C++に関しては右も左も分からないレベルなんですが、
ちょっと質問が。GUIプログラミングを行うときは
やっぱりMFC使用が当たり前なんでしょうか?
MFC非使用ですべて自作というのは変人レベルですか?
0440デフォルトの名無しさん
2005/06/07(火) 17:54:57そんなこと言われると俺は始めた時から変人レベルと言うことになるんだが・・・
0441デフォルトの名無しさん
2005/06/07(火) 17:55:40そんな事もない。
0442439
2005/06/07(火) 17:58:24となると、そこまでは珍しくない?
解説サイトをいろいろ見て回ったのですが、
GUIなソフトを作るならMFCで作ってるものしか見かけなかったもので。
0443デフォルトの名無しさん
2005/06/07(火) 18:02:34あくまで、俺なら、だが
MFC使ってないなんて変って言われたら、おまえの方が変だって言い返してやるくらい珍しくないとおも
0444デフォルトの名無しさん
2005/06/07(火) 18:02:56んなこたない
0445デフォルトの名無しさん
2005/06/07(火) 18:04:55そんな俺はWTL。
0446439
2005/06/07(火) 18:07:33ボタンとか自作するのめんどくさくないですか?
って書こうとしたらMFCじゃなくても用意してありますね。
MFCがなんなのかよく分からなくなってきた。出直してきます。orz
こんな馬鹿に付き合ってもらってありがとうございました。
0447デフォルトの名無しさん
2005/06/07(火) 18:25:07ボタンなんて
DrawEdge()
DrawText()
WM_LBUTTONDOWN
PtInRect()
だぜ。
(略しすぎ)
0448デフォルトの名無しさん
2005/06/07(火) 18:55:520449デフォルトの名無しさん
2005/06/07(火) 22:12:320450デフォルトの名無しさん
2005/06/07(火) 22:32:20コンソールアプリを作りたいのか
コンソールからビルドしたいのか
まぁどっちもできるが
0451デフォルトの名無しさん
2005/06/07(火) 22:38:070452デフォルトの名無しさん
2005/06/07(火) 22:39:18メニューのツール(T)→外部ツール(E)...を選んで登録したら
コマンドライン入力が必要なプログラムでも何でも動かせるよ。
0453デフォルトの名無しさん
2005/06/07(火) 23:02:240454デフォルトの名無しさん
2005/06/07(火) 23:02:58どこで設定するかは忘れたけど
0455デフォルトの名無しさん
2005/06/07(火) 23:19:110456デフォルトの名無しさん
2005/06/07(火) 23:28:46行番号付きBASICじゃないんだから。
0457デフォルトの名無しさん
2005/06/07(火) 23:28:48行番号ジャンプはctrl+g
0458デフォルトの名無しさん
2005/06/07(火) 23:37:24直感的にわかりにくいじゃん
場所が
0459デフォルトの名無しさん
2005/06/08(水) 00:25:330460デフォルトの名無しさん
2005/06/08(水) 05:47:51エラーメッセージダブルクリックで事足りるし
0461デフォルトの名無しさん
2005/06/08(水) 09:35:16VisualStudio2003.netの場合:ツール.オプション.テキストエディタ.C/C++.全般.行番号
0462デフォルトの名無しさん
2005/06/08(水) 09:39:25VCVARS32を実行してから
nmake や、 cl を実行する
0463デフォルトの名無しさん
2005/06/08(水) 14:42:21基本操作がさっぱりわかりません・・・
VC++6の講座があるページ見てみたんですが結構違うみたいで。
初心者の独学にいいページってないですか?
0464デフォルトの名無しさん
2005/06/08(水) 14:59:390465デフォルトの名無しさん
2005/06/08(水) 15:19:27本買っとけ
0466デフォルトの名無しさん
2005/06/08(水) 15:24:01経験者の方から見てVC++6とVC++2005の操作って同じですか?
0467デフォルトの名無しさん
2005/06/08(水) 15:40:53じゃあ2003と2005はどう?
0468デフォルトの名無しさん
2005/06/08(水) 15:57:04VC++これから始めるので2003もわかりません・・
0469デフォルトの名無しさん
2005/06/08(水) 16:05:160470デフォルトの名無しさん
2005/06/08(水) 16:18:00何か本探してきます。
0471デフォルトの名無しさん
2005/06/08(水) 16:32:47その仕事で食ってるんじゃないのか?
0472デフォルトの名無しさん
2005/06/08(水) 16:49:340473デフォルトの名無しさん
2005/06/08(水) 16:51:26買ってくればいい。どれが役に立つかは
読んでみればわかるし、今後立ち読みで
厳選するときに役に立つ
仕事ならそれくらいやるべし
0474デフォルトの名無しさん
2005/06/08(水) 17:21:24まだ会社にVC++入ってなくて、仕方なく・・・自分で買う金も無いし、
操作に慣れるだけなら2005でもいいかなと。考えが甘かったわけですが。
>>471,473
心入れ替えていい本探してきます(`・ω・´)ゝ
0475デフォルトの名無しさん
2005/06/08(水) 18:49:51人に説教たれてんじゃねーよ
ヴォケ
0476デフォルトの名無しさん
2005/06/08(水) 18:59:090477デフォルトの名無しさん
2005/06/08(水) 20:47:520478デフォルトの名無しさん
2005/06/09(木) 01:09:480479デフォルトの名無しさん
2005/06/09(木) 02:57:03やる気ないだけだろ。
やる気あるやつは2005β版でとっくにはじめてるよ。ただだしな。
0480デフォルトの名無しさん
2005/06/10(金) 10:34:542003 か 6.0か。 通常版かアカデミックか。 standardかprofessionalか。
いくつか質問させてください
1・アカデミックは、購入する時に学生証の提出等が必要なだけで
一回購入さえできれば、後で学生である事の認証等いりますか?
2・6.0のstandardは Service Pack5をインストールすれば最適化が使えるように
なると聞いたのですが本当でしょうか?
その場合、通常版でなければ無理とか、アカデミック版でなければ無理とかありますか?
2003standardでも現在はService Packをインストールすれば最適化が使える等ありますか?
3・MFCではなく、SDKを中心に学んで使っていきたいのですが
だったら特に6.0より2003のほうが全然いいとかいう機能等はありますか?
教えて頂けると助かります 宜しくお願いします
0481デフォルトの名無しさん
2005/06/10(金) 10:54:45あと、SDKしたいだけなら無料のVC ToolKitで十分
0482デフォルトの名無しさん
2005/06/10(金) 12:53:21を処理しているのに、アプリが終了しません。
デバッガで確認したから間違いありません。
何故でしょうか?
0483デフォルトの名無しさん
2005/06/10(金) 13:02:11メッセージループがまずいんじゃないの。
GetMessageでウィンドウハンドルを指定しているとか。
0484デフォルトの名無しさん
2005/06/10(金) 13:18:07Thanks
いつもコピペで入れてたので、気づかなかった。
0485デフォルトの名無しさん
2005/06/10(金) 13:43:28どうせwhile (GetMessageなんてやっているんだろ。
0486デフォルトの名無しさん
2005/06/10(金) 15:46:220487デフォルトの名無しさん
2005/06/10(金) 19:01:39基本的に学生用でも買う時に証明が要るだけ
0488デフォルトの名無しさん
2005/06/10(金) 19:10:132.なる。サービスパック4以降だったかな。コンパイラもサービスパックで
アップデートされるんだが、そのアップデートが最適化コンパイラで
すべてのエディションに適用される。アカデミックも同じ。但し、最適化
オプションは手打ちで設定。.NET2003はまだサービスパックは出ていないが、
Visual C++ .NET 2003 Toolkitとかいう奴を入れると最適化コンパイラが
手に入るらしい。
3.新しいAPIを使いたければ.NET 2003にしておけば良いだろう。
つーか、6.0なんて今となってはやっぱり古いぞ。.NETでコンパイルする方が
実行速度速いし。既に持っているならともかく、今更あえて買うべきでもないと
思うが。以上。
0489仕様書無しさん
2005/06/10(金) 22:09:58して格納する。
これって簡単?
GetPrivateProfileSectionNames() と GetPrivateProfileSection()
を使ってうまく出来ないだろうか。
他の掲示板調べたけれどもVBのやりかたしか載ってなし。
0490デフォルトの名無しさん
2005/06/10(金) 22:29:260491デフォルトの名無しさん
2005/06/10(金) 22:43:12VC6です。
JavaとかPHP用とかなら見つかるんですけど、
VC用(Windows用)は有料しか見つからなくて。
0492480
2005/06/11(土) 03:41:56コンパイル後のプログラム実行速度ですが
2003standard に NET 2003 Toolkitつける
2003standard
6.0professional
では早い順に並べるとどのくらいでしょうか?
また、NET 2003 Toolkitは 何やら難しそうな感じはするのですが
プログラミング初心者でも使用できるでしょうか?
0493デフォルトの名無しさん
2005/06/11(土) 03:53:160494デフォルトの名無しさん
2005/06/11(土) 05:30:37toolkitをまず試してみな。
満足行く速度が出ないならそれから考えろ。
0495デフォルトの名無しさん
2005/06/11(土) 12:42:100496デフォルトの名無しさん
2005/06/11(土) 13:25:300497デフォルトの名無しさん
2005/06/11(土) 13:28:06できます
0498デフォルトの名無しさん
2005/06/11(土) 13:30:47しかしここはVisual C++のスレだ。
Microsoft Visual C++ Toolkit 2003 なら無料。
http://msdn.microsoft.com/visualc/vctoolkit2003/
http://homepage1.nifty.com/kazubon/progdoc/poor/vctoolkit.html
http://www.02.246.ne.jp/~torutk/cxx/vc/vctoolkit2003.html
0499デフォルトの名無しさん
2005/06/11(土) 13:40:12自分のアプリでは.NET2003でコンパイルし直したものの方が6.0でコンパイル
したものより二割くらい速かった。コンパイラが新しくなったのと同時に
ライブラリなども新しいコンパイラでコンパイルされているせいか全体的に
高速化が図られたという感じだ。ちなみにintelのコンパイラ+VC6.0の組み合わせより
.NET 2003オンリーの方が速かった。リンクするVC6.0のライブラリが古いため
であろうか。
0500デフォルトの名無しさん
2005/06/11(土) 13:44:440501デフォルトの名無しさん
2005/06/11(土) 13:49:19ありがとうございます。
取り合えずダウンロードします。
0502デフォルトの名無しさん
2005/06/11(土) 16:18:140503デフォルトの名無しさん
2005/06/11(土) 20:24:10当方少々事情があり、思いっきり初心者&貧乏人の癖に、
早く自分でプログラムを作って使わなければと、何といいますか少々せっぱつまったような状況でして・・
実行後のプログラムの速度や軽さが少しでも欲しかったもので;;
細かいこと聞いてすいませんでした><
もう一つ質問です
6.0のstandardで作ったプログラムは、vc++が入っていないPCでは動作できないかも
と、あるHPに書いてあったのですが、本当でしょうか?
VC++を入れてプログラムを作る用のPC と 作ったプログラムを使いたいPCが別なもので
悩んでおります。もし本当でしたら、2003のstandardでもそうなのでしょうか?
professional なら他のPCでも大丈夫ということでよいのでしょうか?
宜しくお願いしますm(_ _)m
0504デフォルトの名無しさん
2005/06/11(土) 20:44:45100%デマ。
そのサイト教えれ。
0505デフォルトの名無しさん
2005/06/11(土) 22:49:13>今からVB6を始めるのもどうかと思うのですが、
非常に後味わるいから他スレで見つけたまともな意見で口直し
0506デフォルトの名無しさん
2005/06/11(土) 23:40:106.0のstandardはMFCをスタティックリンクできないから
動作させる環境にDLLが入ってないと動かない。
2003のstandardはシラネ
0507デフォルトの名無しさん
2005/06/11(土) 23:42:520508デフォルトの名無しさん
2005/06/11(土) 23:48:470509デフォルトの名無しさん
2005/06/12(日) 01:03:12最近WinXP、VC++6.0で勉強を始めました。
GUIの勉強をするためにWIN32アプリケーション→C++ソースから
挿入→リソースでDIALOGを作ろうとした時に出てくる
OKボタンやキャンセルボタンをドラック&ドロップできる
部品の一覧表を間違って閉じるボタンで消してしまいました。
プロパティなどを見たり、PCごと再起動してみたのですが
一覧表は消えたままで、ダイアログ中に新しい部品を貼れなくなってしまいました。
どのようにしたら、部品の一覧表を再び出すことが出来るのでしょうか?
0510デフォルトの名無しさん
2005/06/12(日) 01:08:03ツールバー上で右クリックして[コントロール]。
つか、いきなりGUIから入るなよ。
0511デフォルトの名無しさん
2005/06/12(日) 01:23:26ありがとうございます。
文字表が出てきて、なんとか部品を挿入できるようになりました。
他に絵の一覧で表示されていて
ドラック&ドロップで部品を挿入することが出来る
ウィンドウの出し方はご存じないでしょうか?
0512デフォルトの名無しさん
2005/06/12(日) 05:30:580513デフォルトの名無しさん
2005/06/12(日) 17:23:220514デフォルトの名無しさん
2005/06/12(日) 23:34:230515デフォルトの名無しさん
2005/06/12(日) 23:35:53当然
0516デフォルトの名無しさん
2005/06/12(日) 23:45:14C言語の量が膨大すぎてVisualC++をやるにはどこを一番やったらいいのかわかりません…
0517デフォルトの名無しさん
2005/06/13(月) 00:02:54VisualC++で何作るか知らんが、言語の他にWindowsAPIや
MFCの知識も必要になるかもしれないから覚悟しといた方がいいよ。
0518デフォルトの名無しさん
2005/06/13(月) 00:04:20とりあえず関連性のありそうなことを片っ端からやっていきたいと思います。
0519デフォルトの名無しさん
2005/06/13(月) 04:13:26windows.hの中を見てみましたが内部でさらに色々includeしていて探すのが面倒で・・・
0520デフォルトの名無しさん
2005/06/13(月) 04:18:54定義へ移動
0521デフォルトの名無しさん
2005/06/13(月) 05:28:11WINDEF.H
型だのの宣言に関しては全部これ
ちなみにその3つともint
0522デフォルトの名無しさん
2005/06/13(月) 07:25:260523デフォルトの名無しさん
2005/06/13(月) 08:25:30探すのが面倒だから代わりに探してくれ、か?
自分で探せよ。
0524デフォルトの名無しさん
2005/06/13(月) 10:00:55右クリックで定義位置を表示じゃダメ?
0525デフォルトの名無しさん
2005/06/13(月) 10:03:26>520
0526デフォルトの名無しさん
2005/06/13(月) 10:10:20VC++6.0を使用していてコンパイルした際に警告レベル3だと
警告して欲しい内容が結構警告してもらえず、警告レベル4だと
警告が出過ぎて困ります。
警告レベルを3にして自分で出したい警告を#pragmaで設定しようと
思うのですが、下記のもの以外で何か「これはだしとけ」みたいな
警告はないでしょうか?
(こういうことするときはだしとけみたいなのでもOKです。)
下記が現在警告レベル3で追加している警告です。
#pragma warning( 3 : 4100 ) // 未参照の引数あり時に警告
#pragma warning( 3 : 4127 ) // 条件式が定数の場合に警告
#pragma warning( 3 : 4142 ) // 型の再定義あり時に警告
#pragma warning( 3 : 4189 ) // 未参照(初期化あり)の変数あり時に警告
0527524
2005/06/13(月) 10:12:330528デフォルトの名無しさん
2005/06/13(月) 10:20:46逆。警告レベル4にして、必要のない警告を外すべき。
0529デフォルトの名無しさん
2005/06/13(月) 10:41:15なんで教えてくれなかったの?><
0531デフォルトの名無しさん
2005/06/13(月) 13:15:02char szA[MAX_DIR];
ssに入っている文字列をszAに入れるにはどうしたらよかですか?
0532デフォルトの名無しさん
2005/06/13(月) 13:33:150533デフォルトの名無しさん
2005/06/13(月) 13:43:490534デフォルトの名無しさん
2005/06/13(月) 17:28:25バージョンはどれがおすすめですか?
5.0?6.0?.NET?
0535デフォルトの名無しさん
2005/06/13(月) 17:54:12何をしたいんだ?情報少なすぎ。
Windows 95でも動くアプリを作りたいとかか?
0536デフォルトの名無しさん
2005/06/13(月) 18:08:06error LNK2001: 外部シンボル ""protected: int __thiscall CSatoshiDlg::dangerous(int)" (?dangerous@CSatoshiDlg@@IAEHH@Z)" は未解決です
Debug/satoshi.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
とでてしまいビルドできません。何が原因なのでしょうか?
0537デフォルトの名無しさん
2005/06/13(月) 18:13:100538デフォルトの名無しさん
2005/06/13(月) 19:59:530539デフォルトの名無しさん
2005/06/13(月) 20:17:130540デフォルトの名無しさん
2005/06/14(火) 02:25:40エラーメッセージの通りですがw
0541デフォルトの名無しさん
2005/06/14(火) 05:36:35ビルドしたいのですが、どうにも巧く行きません。どなたかご助力を・・・。
http://www.pcsx.net/downloads/PcsxSrc-1.5.tgz
◎やったこと
・http://members.at.infoseek.co.jp/shirouto_yokota/pcsx.htmを読みzlibを入手
・C:\Program Files\Microsoft Visual Studio\VC98\Include にzlib.hとzconf.hをストア
・C:\Program Files\Microsoft Visual Studio\VC98\Lib にzlib.libをストア
・ソースのWin32ディレクトリにあるlibintl.hを\VC98\Include、gnu_gettext.libを\VC98\Libに
・ソースのWin32ディレクトリの中にあるワークスペースを開く
・ビルド → 構文エラー出まくり
どうかよろしくお願いします。
0542デフォルトの名無しさん
2005/06/14(火) 06:13:490543デフォルトの名無しさん
2005/06/14(火) 18:18:07uuid.libをリンクすることになったところ、DEBUGモードで以下のリンクエラーが出るようになりました。
uuid.lib(ocidl_i.obj) : fatal error LNK1103: デバッグ情報が壊れています; モジュールを再コンパイルしてください
Googleで調べまわったところ「設定」「リンクタブ」「一般」「Debug情報を生成する」のチェックをはずせば回避できることを発見しました。
ですがこのままですとブレークポイントを使ったデバッグが一切できなくなってしまいます。
これを回避する方法はありませんでしょうか?
環境は Visual C++ 6.0 です。
.NETならば問題がないというような情報も見かけたのですが、何分気軽に買える身分ではないものでして…。
0544デフォルトの名無しさん
2005/06/14(火) 21:58:28新規作成でMFCAppWizard→ダイアログでワークスペースを作って、
最初のボタン2つを消してエディットボックスを2つ作りました
ここで、それぞれのエディットボックスに文字を入れて
エンターを押すとそれぞれの処理が始まるようにしたいのですが、
実際にエンターを押すとアプリケーションが終了します
ClassWizardのエディットボックスの項目を見ても
エンターを押したときに呼ばれる項目がないのですが、
エンターを押すとどれが呼び出されるんでしょうか?
デフォルトのボタンが呼ばれるらしいのですが、すでに消してますし…
ボタンが呼ばれるとしたら、どちらのエディットボックスから
エンターが押されたのかわからないです…
0545デフォルトの名無しさん
2005/06/14(火) 22:03:430546デフォルトの名無しさん
2005/06/14(火) 22:07:44OnOKをオーバーライドして
Cxxx::OnOK()をコメントアウト
0547デフォルトの名無しさん
2005/06/14(火) 23:17:44接続する方法を教えてください。
0548デフォルトの名無しさん
2005/06/14(火) 23:39:14で、AとBに含まれる文字列の中身を比較したいんですが、
wcscmp(A,B)で良いのでしょうか?
0549デフォルトの名無しさん
2005/06/14(火) 23:42:59それでもいいけどCComBSTRにはoperator ==()があるよ。
0550548
2005/06/15(水) 00:44:43比較をしているように見えたので、文字列実体の比較はどうするのかと
考えていました。
0551デフォルトの名無しさん
2005/06/15(水) 14:18:41\vc98\include\utility(81) : error C2146: 構文エラー : ';' が、識別子 'iterator_category' の前に必要です。
というエラーになります。
他のプロジェクトでは普通にincludeできるのですが、一体どうやって回避したらいいんでしょうか?
0552デフォルトの名無しさん
2005/06/15(水) 14:27:22プリコンパイルヘッダを使っているなら、一度リビルド。
それでもだめなら、該当行周辺で使われているキーワードが
includeディレクティブ以前にマクロ定義orグローバル宣言されていないか確認せよ。
#まぁ、インクルードの順番変えればすみそうだが。
0553デフォルトの名無しさん
2005/06/15(水) 14:58:46リビルドだめでした。
マクロもほとんど定義してないため確認しました。重複してないです。
インクルードの順番はvectorを一番最後にしてます。
いろいろ入れ替えましたが駄目でした。
fill_nが使いたかったんですがあきらめます。
0554デフォルトの名無しさん
2005/06/15(水) 16:25:12んじゃ、vectorのインクルードを極力初めのほうにして、エラーがおきた実体化のあたりのソースを晒せ。
0555デフォルトの名無しさん
2005/06/15(水) 16:31:04WinXPでVC++.NETでC++の勉強を始めた者です。
初っ端から詰まっていて、何が原因か分かりません。
#include <iostream>
int main(){
cout << "Hello World" << endl;
return 0;
}
でビルドすると、coutとendlを参照できませんって言われます。
どうかよろしくお願いします。
0556デフォルトの名無しさん
2005/06/15(水) 16:36:51std::cout, std::endl
0557デフォルトの名無しさん
2005/06/15(水) 17:08:28\vc98\include\utility(81行目)
typedef _It::iterator_category iterator_category;
ここで先出のエラーが起きてます。
iterator_category が定義されてないからでしょうか。
68行目で
typedef _C iterator_category;
と定義されてるんですけど。
0558デフォルトの名無しさん
2005/06/15(水) 17:24:11エラー行じゃなくて、実体化している辺りと書いたのだが。
つまり、あんたのプログラムの方ね。
0559デフォルトの名無しさん
2005/06/15(水) 19:00:42遅いPC使ってて、VC6スムース(快適)に使えるって方いらしたら教えて欲しいです。
Visual C++ 6.0 の推奨環境に関するページが見つからない...。
ちなみに、私は.Netから使い始めた者です。
0560デフォルトの名無しさん
2005/06/15(水) 19:05:41無茶。IDEは半ば諦めてコンパイルだけするなら兎も角、インテリセンスがまったく使い物にならないと思われ。
0561デフォルトの名無しさん
2005/06/15(水) 19:40:59namespace std;
を3行目に入れてみ?
0562デフォルトの名無しさん
2005/06/15(水) 19:41:320563デフォルトの名無しさん
2005/06/15(水) 19:47:520564デフォルトの名無しさん
2005/06/15(水) 19:54:542:
3: using namespace std;
4:
5: int main(){
6: cout << "Hello World" << endl;
7: return 0;
8: }
0565デフォルトの名無しさん
2005/06/15(水) 19:57:220566デフォルトの名無しさん
2005/06/15(水) 19:59:290567デフォルトの名無しさん
2005/06/15(水) 20:00:17必死だよ。何かお気に召さないことでも?
0568デフォルトの名無しさん
2005/06/15(水) 20:00:570569555
2005/06/15(水) 20:43:42Cを3年間やってて、C++に移行している真っ最中です。
今アクセス制御の辺りを勉強していたのですが、
このあたりでそろそろ組んでみるか…と思ったら見当違いの所でエラー。。
かなり焦ったのですがありがとうございました。
VC++.NET特有の仕様なんでしょうか?>std
0570デフォルトの名無しさん
2005/06/15(水) 20:48:31参考文献が古いだけ。
0571デフォルトの名無しさん
2005/06/15(水) 21:17:30stdはISO/ANSIの標準C++の仕様。
他人同士での名前の重複を避けるための名前空間という仕組みがあって、
C++標準ライブラリはstdという名前空間に収めることになっている。
Cの<****.h>というヘッダもC++では代わりにstd名前空間に収められたものが<c****>というヘッダで提供されている。
0572569
2005/06/15(水) 21:58:06そうなんですか。納得です。
一応、6年前に出版された本を使っているんですが。。
とりあえずは、using namespace std;のコマンドを使っていればOKということですよね。
だいたいC++が分かったら、VC++.NETで色々とプログラムを組む予定なのですが、
その時に新しいVC++.NET用の参考書を買えば何とかなりますでしょうか?
0573デフォルトの名無しさん
2005/06/15(水) 22:55:01インテリセンスは全く問題なかったり...。
その他諸々コンパイルとか、レスポンス遅すぎます。
VC6.0ならCPU200MHzでも軽く使えるんでしょうか。
0574デフォルトの名無しさん
2005/06/15(水) 22:56:20CPU200MHzで.Netは無理だろ。
VC6なら動く(K6-233&128MB程度のマシンで普通に使ってた)
サイトは分からないので手元のVC6発売時のパンフレットより抜粋
・本体 PentiumCPUを搭載したPC(Pen90MHz以上推奨)
・メモリ 使用可能メモリ32MB以上(64MB以上推奨)
・その他 解像度800*600以上必須(1024*768推奨)
↑のようになってるがPen90-32MBではさすがにキツイ
0575デフォルトの名無しさん
2005/06/16(木) 01:04:37他のパソコンで動かそうとすると動きません。
.NET frameworkをインストールすると動くようになったのですが、
そのままで動かないと都合が悪いのです。
どこか設定すれば動くようになるのでしょうか?
よろしくお願いします。
0576デフォルトの名無しさん
2005/06/16(木) 01:42:37>556もよろしく。
0578デフォルトの名無しさん
2005/06/16(木) 07:47:29MFCも.NET Frameworkも使わずに作成すればよい。
0579デフォルトの名無しさん
2005/06/16(木) 16:16:430580575
2005/06/16(木) 22:38:01ビルドの設定のあたりをいじればいいのでしょうか?
とりあえず、main.cが1つあるだけでそれがexeになればいいのですが・・・。
0581デフォルトの名無しさん
2005/06/16(木) 22:43:46プロジェクトのプロパティのマネージ拡張をいいえにする。
新しくプロジェクトを作るときにはWin32 コンソール プロジェクト/Win32 プロジェクトを選ぶ。
0582デフォルトの名無しさん
2005/06/16(木) 23:22:39あとプロジェクトのプロパティ「C/C++」の「コード生成」にある「ランタイムライブラリ」
を「シングルスレッド /ML」にする。これで必要最小限のものがスタティックリンクとなる。
0583デフォルトの名無しさん
2005/06/17(金) 03:43:29依存関係を設定してみたのですが駄目みたいです
どのような設定をすればいいのかどなたか教えていただけませんでしょうか
0584デフォルトの名無しさん
2005/06/17(金) 06:02:33ウィンドウを表示するだけのプログラムでも156KBになってしまうんですが・・・
0585デフォルトの名無しさん
2005/06/17(金) 06:09:21ウィンドウを表示するだけのプログラムでも156KBになってしまうんですが・・・
0586デフォルトの名無しさん
2005/06/17(金) 06:41:36とりあえず、リリースビルドにして、MFCを使っているのなら
ダイナミックリンクにすればサイズは減るのでは。
0587デフォルトの名無しさん
2005/06/17(金) 06:42:440588デフォルトの名無しさん
2005/06/17(金) 11:48:07どうしたらいいでしょうか?
0589デフォルトの名無しさん
2005/06/17(金) 12:22:26CString path;
path.Format("%s/%s", 指定したディレクトリ, ファイル名);
fp = fopen(path, "w");fprintf(fp, 書きたい内容); fclose(fp):
0590デフォルトの名無しさん
2005/06/17(金) 13:06:41ありがとう
0591デフォルトの名無しさん
2005/06/17(金) 13:15:100592デフォルトの名無しさん
2005/06/17(金) 15:25:11Win32アプリケーションとして作成したプロジェクトで、MFCを使いたい場合は、どのようにすればいいのでしょうか?
教えていただけると助かります。
よろしくお願いいたします。
0593デフォルトの名無しさん
2005/06/17(金) 17:27:170594デフォルトの名無しさん
2005/06/17(金) 18:07:32呼び出し方と
ドラッグアンドドロップがわかりません。
だれか教えて><
0595デフォルトの名無しさん
2005/06/17(金) 18:21:190596デフォルトの名無しさん
2005/06/17(金) 18:42:47とりあえず、半年ほどロムればいいと思うよ。
0597デフォルトの名無しさん
2005/06/17(金) 19:12:45てつくるにはどうしたらいいですか?
0598デフォルトの名無しさん
2005/06/17(金) 19:14:41CreateFileとかにファイル名を渡す時にディレクトリ名も含めて
指定すれば良い
0599デフォルトの名無しさん
2005/06/17(金) 19:17:23int add(int x,int y)
{
x=x+y;
return x;
}
ができればいいだけです。
0600デフォルトの名無しさん
2005/06/17(金) 19:21:560601デフォルトの名無しさん
2005/06/17(金) 19:24:44残念、>599は回答者ではなかった。
>>599
挿入メニュー→クラスの新規作成
Genericクラスを選んで適当なクラス名を入れてOKボタンでクラスの側が書かれたソースファイルができる。
0602どうしてもと言うのなら
2005/06/17(金) 19:27:17ヘッダファイルを追加し、そこに書く。
6.0の場合はクラスウィザードで新規クラスを作成で、genericを
選んで書く。かな?
0603デフォルトの名無しさん
2005/06/17(金) 19:29:21やってみます。
0604デフォルトの名無しさん
2005/06/17(金) 19:37:40Generic クラスというのはgeneric CWndでいいのでしょうか?
0605デフォルトの名無しさん
2005/06/17(金) 19:40:50>602
ありがとう。わかりました!
0606デフォルトの名無しさん
2005/06/17(金) 20:49:02{
// 構築
public:
CABCDlg(CWnd* pParent = NULL);// 標準のコンストラクタ
上の意味はABCダイアログの初期化と考えていいんでしょうか?
0607デフォルトの名無しさん
2005/06/17(金) 22:36:320608デフォルトの名無しさん
2005/06/17(金) 22:46:06コンパイルした結果生成されたオブジェクトファイルをすべて削除して
全てのソースを再コンパイル→リンクする
0609607
2005/06/17(金) 23:00:39なるほど。ということはビルドは、必要なところ(変更があったソースかな?)だけコンパイル→リンクするんですね。
0610デフォルトの名無しさん
2005/06/17(金) 23:09:23そう。一般的に
オブジェクトファイルのタイムスタンプとソースのタイムスタンプを比べて、
ソースのタイムスタンプの方が新しい場合コンパイルを行う
という動作だと思う
0611デフォルトの名無しさん
2005/06/18(土) 00:21:090612デフォルトの名無しさん
2005/06/18(土) 00:25:49FullOptってどうやるんですか?
DebugとReleaseしか無いのですが・・・
0613607
2005/06/18(土) 00:34:40分かりやすい説明ありがとうございます。
>611
そうなんですか。まだ、Hello World レベルなので、変更が反映されないということはありませんが、ファイルが増えたり、依存関係やらが複雑になってくるとビルドでは問題が出てきそう?ですね。
0614デフォルトの名無しさん
2005/06/18(土) 01:04:12番号がとびとびになると気持ち悪い人は手動でいじくる。
0616デフォルトの名無しさん
2005/06/18(土) 03:54:27そのFullOptって、最適化のオプションの組み合わせ方間違っているよw
0617デフォルトの名無しさん
2005/06/18(土) 09:24:07resource.hの修正が反映されないのはどのバージョン?
VC6でもVC7.1でもエディタで保存した瞬間に反応しているけど。
それはそうと、ID番号のつけかえだけならIDE内でやればいいのに。
0618デフォルトの名無しさん
2005/06/18(土) 10:27:12VC6もVC7.1も。
resource.h に //{{NO_DEPENDENCIES}}
が書かれてるので他のソースから依存されない。
つまり、resource.hに書かれているIDを使ってるソースはすべてコンパイルし直す必要があるのに、
ビルドしただけでは反映されないのでリビルドする必要がある。
resource.hはほとんどのソースからincludeされるものだから、
ビルド時間を短縮するのに NO_DEPENDENCIES は必要な機能なのだろう。
0619デフォルトの名無しさん
2005/06/18(土) 10:48:030620デフォルトの名無しさん
2005/06/18(土) 10:51:020621デフォルトの名無しさん
2005/06/18(土) 14:33:45あと、実際の仕事の現場でVCを使って開発するときに、MFCは使われることが多いのでしょうか。
0622デフォルトの名無しさん
2005/06/18(土) 14:53:51仕事の現場ではMFCは結構使うかな
0623デフォルトの名無しさん
2005/06/18(土) 15:00:07MFCを使わないのなら、ちゃんと自作クラスを作ってオブジェクト指向しないと
他人からも未来の自分からも読みにくいプログラムになってしまう。
0624デフォルトの名無しさん
2005/06/18(土) 15:03:16ウィンドウプロシージャをうまくラップできずに挫折ですよ
0625デフォルトの名無しさん
2005/06/18(土) 15:28:410626デフォルトの名無しさん
2005/06/18(土) 16:06:19Professional版ならできて当然だと思いますが、
Standard版やアカデミック版だとどうでしょうか。
自分はStandard版のアカデミック版を買おうかと思っているのですが、
同人ゲームを作って勝手に売ったりしていいのでしょうか?
0627デフォルトの名無しさん
2005/06/18(土) 16:59:410628デフォルトの名無しさん
2005/06/18(土) 17:05:420629デフォルトの名無しさん
2005/06/18(土) 17:19:22自前で作る必要があるものには例えばどんなものがあるか説明できる?
0630デフォルトの名無しさん
2005/06/18(土) 17:40:300631デフォルトの名無しさん
2005/06/18(土) 19:02:490632デフォルトの名無しさん
2005/06/18(土) 19:52:160633デフォルトの名無しさん
2005/06/18(土) 20:10:050634デフォルトの名無しさん
2005/06/18(土) 20:10:230635デフォルトの名無しさん
2005/06/18(土) 20:22:390636デフォルトの名無しさん
2005/06/18(土) 20:26:23お願いします
0637デフォルトの名無しさん
2005/06/18(土) 20:42:010638デフォルトの名無しさん
2005/06/18(土) 20:43:53そらおまえの書いたソースが汚い&コメント書いてないだけだろ
クラス使わんでもちゃんと書けば読めるわ
0639デフォルトの名無しさん
2005/06/18(土) 20:52:46お願いします
0640デフォルトの名無しさん
2005/06/18(土) 21:29:50ときどきコードアシスト出来なくなる(メンバに出て来なくなる)
のだが何か悪いのだろうか?
一応ビルドは正常に通るのだが、メンバに出てこんと気になる。
リソースIDも他のファイルからコピーしたのだが、それが原因?
どっかでコントロールに対して振り分けるIDが決まっているのを
みたことがあるような。
0641デフォルトの名無しさん
2005/06/18(土) 21:48:320642デフォルトの名無しさん
2005/06/18(土) 23:45:18リンクエラーとかが出まくり。LINK2005とか。
VC6.0では出なかったのになんでなんでしょう?
SP1も当てたけどだめ。
これじゃ、6.0のままのほうが良いわ...orz
0643デフォルトの名無しさん
2005/06/18(土) 23:49:050644デフォルトの名無しさん
2005/06/18(土) 23:57:192002年のコンパイラを2005年に使うからだ。
パソコンの日付を2002年に直してからやれよ。
0645デフォルトの名無しさん
2005/06/19(日) 00:06:00初心者をイビルスレだったとは...orz
0646デフォルトの名無しさん
2005/06/19(日) 00:07:22随分とおとなしかったな。さすがに馬鹿騒ぎは出来ないか。
0647デフォルトの名無しさん
2005/06/19(日) 00:12:18ダメでした。ファイルのタイムスタンプとの関係がおかしくなるので、
すべてリビルドもしましたが結果は変わりません。
2002年でも月によって違うとかあるのですか?
0648デフォルトの名無しさん
2005/06/19(日) 00:24:51容易に致命的エラーが出てしまうことだな。
MSは知っているんだから、前もってエラーが出ないように対策するべき。
0649デフォルトの名無しさん
2005/06/19(日) 00:30:25出たリンクエラーを貼って味噌。
0650デフォルトの名無しさん
2005/06/19(日) 01:15:56ちょっと長いので一部だけ掲載します。
レスも分割させてください。とにかく1つが長い警告文で目が眩みそうです。
TestLib.libはプライベートのスタティックライブラリです。
TestMainはTestLib.libをリンクしているメインプログラム(exe)です。
TestLib.lib(TestLib.obj) : error LNK2005: "public:__thiscall std::basic_string<char,structstd::char_traits<char>,
class std::allocator<char>>::~basic_string<char,struct std::char_traits<char>,
classstd::allocator<char> >(void)"(??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
は既に msvcprt.lib(MSVCP70.dll) で定義されています。
:
この間にいっぱい
:
libcp.lib(string.obj) : error LNK2005: "public: __thiscallstd::basic_string<char,struct std::char_traits<char>,
classstd::allocator<char> >::basic_string<char,structstd::char_traits<char>,
class std::allocator<char> >(charconst *)"(??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
は既に msvcprt.lib(MSVCP70.dll) で定義されています。
ちなみにTestLib.libにSTLを使うとこの警告は出るようです。
簡単なテストプログラムで確認しました。
0651650の続き
2005/06/19(日) 01:17:02/NODEFAULTLIB:"libc.lib" /NODEFAULTLIB:"msvcprt.lib
をオプション指定すると、
TestMain.obj : warning LNK4217: ローカルで定義されたシンボル??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z
(public: __thiscall std::basic_string<char,structstd::char_traits<char>,
class std::allocator<char>>::basic_string<char,struct std::char_traits<char>,
classstd::allocator<char> >(class std::basic_string<char,structstd::char_traits<char>,
class std::allocator<char> > const&)) がフィクション "public: __thiscallstd::logic_error::logic_error(classstd::basic_string<char,
struct std::char_traits<char>,classstd::allocator<char> > const &)"
(??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z)にインポートされました。
:
この間にいっぱい
:
TestMain.obj : warning LNK4217: ローカルで定義されたシンボル??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z
(public: __thiscall std::basic_string<char,structstd::char_traits<char>,class std::allocator<char>>::basic_string<char,
struct std::char_traits<char>,classstd::allocator<char> >(char const *)) がフィクション "protected: void __thiscallstd::vector<int,
class std::allocator<int>>::_Xlen(void)const "(?_Xlen@?$vector@HV?$allocator@H@std@@@std@@IBEXXZ) にインポートされました。
という警告に変わります。この警告達に対しては、
"__declspec 修飾子を削除して、この警告を解決してください。"
とヘルプにはあるのですが、そんな記述はプライベートライブラリには無いので
どうしたら良いか困っています。
一応TestMain.exeは生成され実行もできますが、やはり気分はよくないです。
長文にて申しわけございませんでした。
0652デフォルトの名無しさん
2005/06/19(日) 01:33:58構成プロパティ -> C/C++ -> コード生成 -> ランタイムライブラリ
を変更してみるとか。
0653デフォルトの名無しさん
2005/06/19(日) 01:40:320654デフォルトの名無しさん
2005/06/19(日) 01:51:170655650
2005/06/19(日) 02:35:34C:\MSVSN\Vc7\atlmfc\include\afxver_.h(139) : fatal error
C1189: #error : Please use the /MD switch for _AFXDLL
builds
って出ちゃいますです。マルチスレッド以外は受け付けないみたい。。。
>>653-654
それもやってみたのですが結果は同じでした。
ソースコードを移し変えるのも、新規で作ってもエラーは出てしまいます。
むしろ、TestLib.libはVC++6.0でコンパイルしたままのほうではエラーが出ず、
.NET2002でコンパイルするとエラーが出てしまったという???な状況です。
とりあえず今夜はここまでにしたいと思います。
原因がわからなければ、このまま警告が出たままで使うしかないか。
一応動くので。気分が晴れませんよね。。。
これが趣味のプログラムなら放っとくんですけど(^^;
0656デフォルトの名無しさん
2005/06/19(日) 04:00:16業務プログラムで警告出たままほっておくのかよ。
CMMも糞もへったくれもないな。
0657デフォルトの名無しさん
2005/06/19(日) 04:04:34だからこうして悩んでるんで無いのか?
品の無いつまらん煽りや荒しはやめろよ。
どうせコンパイルの仕方も解決法もわからん厨房なんだろうけど。
0658デフォルトの名無しさん
2005/06/19(日) 04:05:440659656
2005/06/19(日) 04:23:44ただ業務用のプログラムで
>原因がわからなければ、このまま警告が出たままで使うしかないか。
>一応動くので。気分が晴れませんよね。。。
これはありえないと思っただけ。
0660デフォルトの名無しさん
2005/06/19(日) 04:38:10ましてや解決法もわからないのなら静観するのがマナーだな。
0661デフォルトの名無しさん
2005/06/19(日) 04:40:45初心者に対して会社でもそんな風に後輩たちをなじってるの?
ここのスレタイ、よく見てみなって。
>CMMも糞もへったくれもないな。
ここがあなたの深層心理をついていると思うがな。
0662デフォルトの名無しさん
2005/06/19(日) 04:42:21ここは初心者をとっ捕まえて叩くスレですか?
0663デフォルトの名無しさん
2005/06/19(日) 04:44:55品のない煽りやめたほうがいいよ。
業務プログラムで原因不明の警告出っ放しがまずいってのは>>659のいうとおりだし
また、初心者だからこそ(業務についてる人ならなおさら)↑は教えておくべき。
以上すれ違いなのでここでやめておく
0664デフォルトの名無しさん
2005/06/19(日) 04:46:080665デフォルトの名無しさん
2005/06/19(日) 04:49:280666デフォルトの名無しさん
2005/06/19(日) 04:50:140667デフォルトの名無しさん
2005/06/19(日) 04:53:210668デフォルトの名無しさん
2005/06/19(日) 04:54:530669デフォルトの名無しさん
2005/06/19(日) 05:03:50そんな簡単なこと答えてやれよ。
>>668はわかるのか?
オレはだいたい察しがつく。初心者によくある設定ミスだ。
まあ、ちょっと様子見しよう。
偉そうにしてるヤシらの口だけじゃないってところを見せてもらおうかな。
0670デフォルトの名無しさん
2005/06/19(日) 05:06:26まあ、ちょっと様子見しよう。
偉そうにしてる>>669の口だけじゃないってところを見せてもらおうかな。
0671669
2005/06/19(日) 05:07:49つまりデフォの設定じゃダメってことだ。
意外と殆どが知らずにwarning出しても見逃してるかもだな。
0672デフォルトの名無しさん
2005/06/19(日) 05:09:20あの、、、わからないんでしょ。素直じゃないな。。。
いくら煽ってもあなたには教えないからね。
0673デフォルトの名無しさん
2005/06/19(日) 05:13:56ほんと人が下手に出ると調子に乗るやつ多いな。
で、その煽りをスルーできないやつも馬鹿。
みんなしんじゃえ。
0674デフォルトの名無しさん
2005/06/19(日) 05:16:36日本語化パッチなどはどのようなソフトを使って作れるのでしょうか?どなたか教えて下さい
0675デフォルトの名無しさん
2005/06/19(日) 05:19:22それこそ飽くの根源では?
0676デフォルトの名無しさん
2005/06/19(日) 05:20:09一般的な開発系のソフトなら作れる。
って言うかすれ違い
0677デフォルトの名無しさん
2005/06/19(日) 05:20:56でしたら、貴公が的確なアドバイスをしてあげれば、
この場はまあるく納まるような気もするのですが。
0678デフォルトの名無しさん
2005/06/19(日) 05:22:32そうすれば、カスどもは黙るだろ。
0679デフォルトの名無しさん
2005/06/19(日) 05:23:50人間いつまで経っても大きくなれんぞい。
0680デフォルトの名無しさん
2005/06/19(日) 05:27:24>>671が回答して終わってるんだから。
0681デフォルトの名無しさん
2005/06/19(日) 14:15:24わたし VS2003 使ってるんですけど、
Alt + F8 のマクロエクスプローラ使った後にも
ときどき、コードアシストが効かなくなりますよね。
>>641 さんが対処法として書き込んでいらっしゃる
「データベースファイルを再生成」するには、どうすればいいのでしょうか?
プロジェクトを作ったら自動生成される *.ncb というのが、そうなのですか?
0682デフォルトの名無しさん
2005/06/19(日) 14:16:440683650
2005/06/19(日) 16:15:38ちょっと荒れてしまったようですね。
先週末からずっとはまってて、深夜も遅くなって
ちょっと投げ遣りになってたのは事実かもしれません。
原因不明のエラーというのはお客さんにも説明つきませんし、
解決するべきだと思います。今のところ進展はしていませんが、
何か良いアドバイスがあれば、ご迷惑だとは思いますが
よろしくお願いいたします。
0684デフォルトの名無しさん
2005/06/19(日) 16:49:170685デフォルトの名無しさん
2005/06/19(日) 16:53:07このスレの存在を否定するヤシは出て行け!!
0686デフォルトの名無しさん
2005/06/19(日) 16:53:500687デフォルトの名無しさん
2005/06/19(日) 16:55:57人間の心の痛みがわかるわけもない。かわいそうな人だね。同情する。
0688デフォルトの名無しさん
2005/06/19(日) 16:59:25弱いものを見つけては叩くことしかやらないって人種だろ。
黙ってりゃ良いものを、いちいち叩くレスをつけるのがその醜い心のあらわれだ。
常に弱いものしか叩けないから、スレタイに「初心者」とついてるレスに
常駐する性質の悪い荒しだね。
0689デフォルトの名無しさん
2005/06/19(日) 17:03:53解決できるよう努力もしている。
と同時に、このスレでも質問している。
そういう人が目の前にいたときも、
直接その人の目を見て言えるかね、そんなこと。
例えば会社の後輩や新人があなたを頼って質問してきたとき、
「給料もらってるんだから人に聞くな。自分で解決しろ。」といえるのか?
せめて方向性だけでも導いてやるべきじゃないのか?
まあ、あなたにそれだけの度量と技術と知識があればの話なんだがね。
0690デフォルトの名無しさん
2005/06/19(日) 17:38:090691デフォルトの名無しさん
2005/06/19(日) 17:48:430692デフォルトの名無しさん
2005/06/19(日) 18:02:05コレとか
0693デフォルトの名無しさん
2005/06/19(日) 19:02:23>>650は死人なの?
0694デフォルトの名無しさん
2005/06/19(日) 19:47:30たったこれだけのコードをビルドしようとしてもこんなリンクエラーになってしまいます。
error LNK2019: 未解決の外部シンボル "public: void __thiscall std::_String_base::_Xran(void)const " (略) で参照されました。
error LNK2019: 未解決の外部シンボル "public: void __thiscall std::_String_base::_Xlen(void)const " (略) で参照されました。
#include <iostream>
#include <string>
int main()
{
std::locale::global(std::locale("japanese"));
std::wstring ws = L"hello, world";
std::wcout << ws << std::endl;
return 0;
}
なんででしょうか?
0695デフォルトの名無しさん
2005/06/19(日) 20:00:08を採用しているのでしょうか?
VC6はもう時代遅れですか?
0696デフォルトの名無しさん
2005/06/19(日) 20:00:29を採用しているのでしょうか?
VC6はもう時代遅れですか?
0697デフォルトの名無しさん
2005/06/19(日) 20:01:360698デフォルトの名無しさん
2005/06/19(日) 20:06:46を採用しているのでしょうか?
VC6はもう時代遅れですか?
0699デフォルトの名無しさん
2005/06/19(日) 20:08:52取り残されつつあるのは事実。
もうサポートも終了したんじゃないかな。
0700デフォルトの名無しさん
2005/06/19(日) 20:12:48仕事内容によるけど、うちではVC6が現役。
プリインストールの.netは削除してからVC6入れてる。
0701デフォルトの名無しさん
2005/06/19(日) 20:51:54開発言語は VC++ 7( 非マネージド )だけど環境は .NET 2003。
コンパイル時のチェックは厳密になっているし、開発環境自体も結構進歩
していて、生産性が向上した。個人的に VC++ 6 は時代遅れだと思う。
0702デフォルトの名無しさん
2005/06/19(日) 20:55:16某芝なんたらからの委託の仕事はVC6指定だったりVC4.2指定だったりする。
0703デフォルトの名無しさん
2005/06/19(日) 22:25:57小学校から勉強しなおしてください。
0704デフォルトの名無しさん
2005/06/19(日) 22:29:36VC6はそろそろやばいんじゃない?って感じはする。
そのうちVC6のコード自体、コンパイルできなくなる日が来るかもしれんから、
余力のあるうちに乗り換えといたほうがいいかも。
0705デフォルトの名無しさん
2005/06/19(日) 22:50:07あとVC7って何のことでしょうか。無知ですいませんーー。
あともう一つ、技術評論社のホームページがなんかおかしいのは私だけですか・・・
0706デフォルトの名無しさん
2005/06/19(日) 22:54:13VC7はVisual Studio .Net (2002)のC++コンパイラ。
VC7.1はVisual Studio .Net 2003のC++コンパイラ。
0707デフォルトの名無しさん
2005/06/19(日) 23:01:18時代遅れって言うのは違うと思うけどな。
まぁ、あんたがどういうつもりでその質問をしたのかは知らないけど。
0708デフォルトの名無しさん
2005/06/19(日) 23:07:410709デフォルトの名無しさん
2005/06/19(日) 23:18:53VC++6.0とインテルのコンパイラを組み合わせるという手も
ありまんもすがね。
0710デフォルトの名無しさん
2005/06/19(日) 23:20:570711デフォルトの名無しさん
2005/06/19(日) 23:24:47VC6が生成したコード(バイナリ)がってことね。
やっと理解した。
0712デフォルトの名無しさん
2005/06/19(日) 23:26:060713デフォルトの名無しさん
2005/06/19(日) 23:35:380714デフォルトの名無しさん
2005/06/19(日) 23:41:35VC6のIDEもコマンドラインのcl.exeを呼んでるだけだから、
Toolkitのに差し替えたらごっそりいいんじゃないの?
0715デフォルトの名無しさん
2005/06/19(日) 23:49:490716デフォルトの名無しさん
2005/06/20(月) 00:01:36標準ライブラリ <iostream> とかのテンプレートでコケル。
ライブラリ入れ替えたとしても、>>715
0717デフォルトの名無しさん
2005/06/20(月) 00:10:470718デフォルトの名無しさん
2005/06/20(月) 00:16:41多少の修正で済むうちはまだましだよ。
0719デフォルトの名無しさん
2005/06/20(月) 00:22:09技術評論社や秀和システムからましなのが出たと思ったら、どちらも重版未定だし。
0720デフォルトの名無しさん
2005/06/20(月) 00:28:200721デフォルトの名無しさん
2005/06/20(月) 00:33:07単に、VC++.NETは売り切れて、
C♯、VB.NETは売れ残っているのでは?
VB.NETはVBAとの互換性がなくなったのが痛い
VC++、+MFCで楽にさくさくのネイティブコードを作れるのに
なにが悲しくてもっさりの.NETコードを作る
VC++2005も単体でうってくれんかの〜
他はいらん
0722デフォルトの名無しさん
2005/06/20(月) 00:38:16全然出ないじゃん・・・
もう、出す気無いだろ?w
0723デフォルトの名無しさん
2005/06/20(月) 00:42:300724デフォルトの名無しさん
2005/06/20(月) 00:48:42ネットで調べりゃどうにでもなるんだけど、
「あれ?あのやり方はどのサイトに載ってたけな」
となる事が多々ある
0725デフォルトの名無しさん
2005/06/20(月) 00:53:03お前もしつこいやつだな。
これ以上このスレに関係無い話題は終わり。
0726デフォルトの名無しさん
2005/06/20(月) 02:24:32中古でVC++6.0の説明書無しを買ったのですが、プロジェクトとかビルドとかデバッグとか
分からない事だらけで、良いHPも見つからず困っております
どこか分かりやすいページありませんか?
0727デフォルトの名無しさん
2005/06/20(月) 02:52:30こんなのがただで配られているというのに何故VC++6.0を・・・。
http://www.microsoft.com/japan/msdn/vstudio/2005/express/
0728デフォルトの名無しさん
2005/06/20(月) 02:53:340729726
2005/06/20(月) 04:19:312005にしなかった理由は、よく分からなかったから、と思ったより安く6.0が買えたからです
初心者ですので分からない事だらけの上に、さらに、まだ情報の少なくて
機能の多い2005は勉強の妨げにならないか心配だったのです
もう一つ質問です、例えば↓のプログラム(名前はtestとします)
#include<stdio.h>
int main(int argc,char *argv[]){
printf(argv[1]);}
bcc++の無料コンパイラでは コマンドライン上で test zzz と書けば zzzと表示されます
これを VC++ではどのように実行すればコマンドライン引数を指定できるのでしょうか?
0730デフォルトの名無しさん
2005/06/20(月) 04:36:060731デフォルトの名無しさん
2005/06/20(月) 05:30:520732デフォルトの名無しさん
2005/06/20(月) 07:32:02説明書って・・・
VC++6.0にはMSDN LiblalyというCD-ROM付いていなかったっけ?
とりあえず入門書でも買ってこいや。
英語でよければ、Microsoftのホームページでも見れるけどな。
http://msdn.microsoft.com/library/en-us/dnanchor/html/vc6anchor.asp
0733デフォルトの名無しさん
2005/06/20(月) 15:47:45SETUP.EXE実行後に不正なアクセスでハングして、
インストールウイザードが立ち上がりません。
このページ見るとXPには対応しているっぽいのだが…
http://www.microsoft.com/japan/msdn/vs_previous/vstudio/techinfo/toolos.htm
同じような症状の人いませんか?
0734デフォルトの名無しさん
2005/06/20(月) 16:51:330735733
2005/06/20(月) 18:38:47返事ありがとう。もうちょっと詳しくお願いします。
インストールユーザーはadmin権限を持っています。
(Homeなので通常Administratorは利用できないみたい)
0736デフォルトの名無しさん
2005/06/20(月) 20:10:55以前も時々なってた。
0737デフォルトの名無しさん
2005/06/20(月) 20:22:00それはな、呪いじゃよ
ついこの間まで
裏VCってのがあっての・・・
つづきは明日
0738デフォルトの名無しさん
2005/06/20(月) 20:58:24実はエディタ部の窓を一杯開いてるんじゃないの
0739デフォルトの名無しさん
2005/06/20(月) 21:37:31Window切り替えに10秒くらい待たされてイライラする。
HDDも空いてるし常駐アプリも最低限にしてるのにな。
HDDがやばくなってきたのかな。
0740デフォルトの名無しさん
2005/06/20(月) 21:55:25ダイアログからファイル名を取得して表示させたいのですが、
ファイルを開いてヘッダとビットパターンを読み込んだ後、
CBitmapの初期化(?)がうまくいきません。
CreateBitmapを使うと、Bitcountに24を指定すると戻り値が0になってしまうし…。
CreateCompatibleBitmapを使うと、ビットパターンの指定ができないし…。
普通はどうやるのでしょうか?
0741デフォルトの名無しさん
2005/06/20(月) 22:01:300742デフォルトの名無しさん
2005/06/21(火) 00:34:26タスクマネージャーで調べたら?
0743デフォルトの名無しさん
2005/06/21(火) 01:54:24リンクするライブラリ(自作も含む)も
マルチスレッドで作らないといけないのですか?
シングルスレッドでコンパイルしたライブラリでも、
リンクができて、一見、正常にexeが動いているように見えるのですが、
これって何か問題ありますか?
0744デフォルトの名無しさん
2005/06/21(火) 02:13:25少なくともマルチスレッドで使う予定のライブラリはマルチスレッド環境でも
問題なく動くように設計する必要はある。例えば、グローバル変数や
静的変数を使用するものは避けるとか。Cの関数のソースが
VC++には付いているから幾つか簡単な関数の中身を覗いてみて、
マルチスレッドではどうやって動作をさせているか見ると良い。
関数によっては何も配慮しなくても平気なものもあるし、マクロで
動作を切り替えているものもある。それを参考にすれば自作のライブラリでは
どう対応すべきか分かるようになるだろう。
0745デフォルトの名無しさん
2005/06/21(火) 02:26:30型の変換の仕方がわかりません。
0746デフォルトの名無しさん
2005/06/21(火) 02:40:23CString foo;
foo.Format("%d", 123);
AfxMessageBox(foo);
0747デフォルトの名無しさん
2005/06/21(火) 02:55:46char a[20];
itoa(123,a,10);
AfxMessageBox(a);
0748デフォルトの名無しさん
2005/06/21(火) 05:15:27そのAのインスタンスってB用C用にそれぞれ生成されるんだろうか?
0749デフォルトの名無しさん
2005/06/21(火) 06:23:19char b[14];
sprintf("%d", 123);
MessageBox(NULL, a, NULL, MB_OK);
>>748
DLLについて勉強すべし
0750デフォルトの名無しさん
2005/06/21(火) 06:45:06typedef std::basic_string<TCHAR> tstring;
MessageBox(0, boost::lexical_cast<tstring>(5), 0, MB_OK);
0751デフォルトの名無しさん
2005/06/21(火) 07:12:14それとも、プログラム終了時に消えてくれますか?
0752デフォルトの名無しさん
2005/06/21(火) 07:35:400753デフォルトの名無しさん
2005/06/21(火) 07:40:270754デフォルトの名無しさん
2005/06/21(火) 08:10:51auto_ptrとか使うと幸せになれるぞ。
0755デフォルトの名無しさん
2005/06/21(火) 08:51:561つのソースで MBCS(Shift_JIS)版とUnicode版の両方に対応するなら、
#include <stdio.h>
#include <tchar.h>
TCHAR sz[4];
_stprintf(sz, _T("%s"), 123);
AfxMessageBox(sz);
0756デフォルトの名無しさん
2005/06/21(火) 10:53:08おいおい
0757デフォルトの名無しさん
2005/06/21(火) 11:04:250758デフォルトの名無しさん
2005/06/21(火) 11:06:400759デフォルトの名無しさん
2005/06/21(火) 11:59:55ただし,底辺の長さ,高さ,面積の値を入れる変数名をそれぞれteihen, takasa,mensekiとし,いずれも実数型(double型)とする.
void main( void )
{
double teihen, takasa, menseki;
printf( "底辺は?\n" ); /* 入力を促すメッセージを表示 */
scanf( "%d", &teihen );
menseki = teihen * takasa / 2;
printf("%f\n",menseki);
}
これ誰か完成させてくれ
0760デフォルトの名無しさん
2005/06/21(火) 12:23:50低レベルなソース向けに、低レベルな回答。
printf( "底辺は?\n" ); /* 入力を促すメッセージを表示 */
scanf("%lf", & teihen);
printf( "高さは?\n" ); /* 入力を促すメッセージを表示 */
scanf("%lf", & takasa);
0761デフォルトの名無しさん
2005/06/21(火) 12:32:24レスありがとうございます。
わかりにくい質問で申し訳ございません。
私が伺いたかったのは、プロパティページの
C/C++--->コード生成--->ランタイムライブラリ
で指定するパラメータを、リンクするほうもされるほうも、
同一にしなければならないのか?ってことなんです。
例えば、exeに"/MD"を指定して自分で作ったライブラリに
"/ML"と指定すると、リンクできたりできなかったり(リンクエラーが出る)
するのですが、リンクできたときはたまたまなのか、
それとも何か問題があるのかとか、そういうところです。
0762デフォルトの名無しさん
2005/06/21(火) 12:36:460763デフォルトの名無しさん
2005/06/21(火) 12:51:540764デフォルトの名無しさん
2005/06/21(火) 15:55:20b.libには関数b1(),b2()
があります。
a1()からはb1()を呼び出すことがあります。
b2()からはa2()を呼び出すことがあります。
事情があって、関数の場所を取り替えることができません。
この場合、お互いに呼び出しているので、
ビルド時にお互いのlibファイルが生成されていないので、
リンクエラーが出てしまいビルドできません。
このリンクエラーを回避する方法は無いものでしょうか。
使用しているコンパイラは.NET2002(SP1)です。
0765デフォルトの名無しさん
2005/06/21(火) 16:18:35b2()を含まないb.libを作って、それを使ってa.libを作ったらどうだろう。
そのa.libを使って作ったb.libでa.libを作り直さないといけないけど。
0766デフォルトの名無しさん
2005/06/21(火) 16:35:45ググって調べてみました。
STLってすばらしいですね・・・
0767デフォルトの名無しさん
2005/06/21(火) 16:52:130768デフォルトの名無しさん
2005/06/21(火) 17:00:14いや、それはあまりすばらしくないと思うぞw
0769デフォルトの名無しさん
2005/06/21(火) 18:19:260770デフォルトの名無しさん
2005/06/21(火) 18:22:520771デフォルトの名無しさん
2005/06/21(火) 18:44:36javaは新しく作ったC++
perlは真珠
0772デフォルトの名無しさん
2005/06/21(火) 18:45:460773デフォルトの名無しさん
2005/06/21(火) 18:48:080774デフォルトの名無しさん
2005/06/21(火) 19:23:15perlにワロタ
0775デフォルトの名無しさん
2005/06/21(火) 19:30:18と
m_pA = new CMyClass;
では、何が違うんでしょうか?詳しく教えてください。
0776デフォルトの名無しさん
2005/06/21(火) 19:41:44ポインタを勉強しろ。
話はそれからだ。
0777デフォルトの名無しさん
2005/06/21(火) 20:06:23話はそれからだ。って言いたいだけなんでしょう?
違い解らないんだ?
0778デフォルトの名無しさん
2005/06/21(火) 20:26:20m_pA = new CMyClass;はやったぜ、父さん!ポインタの実体を確保したぜ!という意味
0779デフォルトの名無しさん
2005/06/21(火) 20:30:40ファイルは
main.c(本体)
file.h(ファイル入出力)
calc.h(計算する)
の構成で、main.cに#include "file.h"、#include "calc.h"としています。
一方
main.c(本体)
file.c(ファイル入出力)
calc.c(計算する)
という構成にもできるらしいのですが、やり方はわかりません。(とりあえずそれでも困らない)
ただ、そのようにすると何かよいことはあるのでしょうか?(計算が速くなるとか)
0780デフォルトの名無しさん
2005/06/21(火) 20:42:15>>779程度の規模なら困らない
多人数で開発したり規模が大きいプログラムを組めばわかってくる
分割コンパイルとかでググるとわかるよ
ちなみに計算が早くなったりはしない
0781775
2005/06/21(火) 20:43:37ありがとうございます。
じゃあ、前者は実際に、m_pA.func()などとすることで、後者と等価になるってことですか?
ちなみに>>777は私ではありませんよ。
0782デフォルトの名無しさん
2005/06/21(火) 20:48:21根本的に勘違いしてる悪寒
0783デフォルトの名無しさん
2005/06/21(火) 20:50:23CMyClass *m_pA = new CMyClass;
0784779
2005/06/21(火) 20:51:27ありがとうございます。
仕事ですよ。4年になります。
一応製品(というほどでもないけど)の一部に組み込まれてます。
正確にはcalc1.h・・・calc5.hのように複数あります。
早くならないなら今のままでOKということですね。
0785デフォルトの名無しさん
2005/06/21(火) 21:10:18製品の一部 と仄めかされて良いように使われてるだけのこと。
どう見ても何かの検証プログラムだろ。
0786デフォルトの名無しさん
2005/06/21(火) 21:20:43すみません、詳しくお願いします。
0787デフォルトの名無しさん
2005/06/21(火) 21:35:41詳しく知りたいんなら本とか買えよ。
文字だけより絵とかがあった方がわかりやすいと思うよ?
0788デフォルトの名無しさん
2005/06/21(火) 21:53:10と書いていいかどうかは知らないが、こういうような感じだ。
つまり、ヒープ上にメモリーを確保(new CMyClass())してそのメモリ領域を
ポインタm_pAで表しますよ、ということだ。
最初のように二段階に分けて書くと、CMyClass* m_pA;でとりあえず
CMyClass型へのポインタを宣言はしたが、それが具体的にメモリーのどこを
表しているのかは決まっていない。つまり不定になっている。
int x;と書いただけではxに値が決まってないのと似たようなものだ。
が、new CMyClass()でCMyClassのオブジェクトを格納するのに必要なメモリを
実際に確保したら、それを既に宣言してあるm_pAで表しちゃえ、ということを
行なっている。別にm_pAでなくても、改めてCMyClass* m_pBというポインタで
表しても構わないけど、既に宣言されているんだからm_pA使えばそれでいいじゃん、
ということ。
0789デフォルトの名無しさん
2005/06/21(火) 21:56:51二回に分けると見にくいんじゃ、ゴルア!という場合は
一行で>>783のように書いても良い。
これは好きな方を採用すれば良い。
0790デフォルトの名無しさん
2005/06/21(火) 22:00:14new CMyClassの場合はmallocと違って
コンストラクタCMyClass::CMyClass()が呼ばれるはず。
0791デフォルトの名無しさん
2005/06/21(火) 22:01:26実際にはそこへコンストラクタの呼び出しが加わる。
0792デフォルトの名無しさん
2005/06/21(火) 22:38:070793デフォルトの名無しさん
2005/06/21(火) 23:42:070794デフォルトの名無しさん
2005/06/21(火) 23:45:270795デフォルトの名無しさん
2005/06/22(水) 02:54:590796デフォルトの名無しさん
2005/06/22(水) 03:29:36プログラムの初心者に教えてと言われてもな・・・
生まれたばかりの赤子に数学教えてって言われても無理な話
0797デフォルトの名無しさん
2005/06/22(水) 07:17:49確かに…ここはVC初心者にVCの使い方を
教えるスレであってC/C++を教えるスレじゃないからな。
このスレを天プレに入れといてもいいんじゃね?
【初心者歓迎】C/C++室 vol.18
http://pc8.2ch.net/test/read.cgi/tech/1117984322/
0798デフォルトの名無しさん
2005/06/22(水) 08:14:02VC++.netスタンダードバージョン2003をインストールすると
途中で勝手に再起動してしまいます。
OSはXPのSP1です。
どうしたらよいでしょうか。
0799デフォルトの名無しさん
2005/06/22(水) 08:49:56情報少な杉。
もっと詳しく。
0800798
2005/06/22(水) 09:51:51.NET Framework SDKのチェックを外したら一応インストールが完了しました。
徹夜までして何だったんだろう・・・
バージョンはアカデミックです。
C++の勉強用に買ったので当面はこれで行きたいと思います。
スレ汚し済みませんでした。
799さんありがとうございました。
0801デフォルトの名無しさん
2005/06/22(水) 10:59:21Visual Studio .NETのIDEの機能のうちで、
.NET Frameworkが入ってないと使えない機能があるね。
プロパティウィンドウでメッセージハンドラを追加・削除するやつとか。
0802デフォルトの名無しさん
2005/06/22(水) 15:38:21座標を指定することってできますか?
0803デフォルトの名無しさん
2005/06/22(水) 16:03:35自動で保存する機能は無いですか?ソースセーフか何か入れないと
無理ですか?
0804デフォルトの名無しさん
2005/06/22(水) 16:11:00APIを使ってWindow を表示するコードをほんのと売りに書きました。
ピルドして、exeファイルもできました。
実行すると、ウインドウが表示されません、終了すると、
'tesuto.exe': 'C:\WINDOWS\system32\ntdll.dll' を読み込みました。シンボルが読み込まれていません。
上記の表示が、10行ほどつづいて、
プログラム '[2692] tesuto.exe: ネイティブ' はコード 0 (0x0) で終了しました。
で終わっています。
どうすれば、いいのでしょうか。教えてください。
0805デフォルトの名無しさん
2005/06/22(水) 16:14:30どうしもしなくていいです
0806デフォルトの名無しさん
2005/06/22(水) 16:19:42未経験だとバイトすら採用されません。まだ20代前半です。どうしたらいいでしょうか?
0807デフォルトの名無しさん
2005/06/22(水) 16:23:36いつまでだか知らないが、2chなんか見てないで、少しでも勉強することを薦める。
0809デフォルトの名無しさん
2005/06/22(水) 16:29:21簡単なプログラムというのがどの程度なのかあいまい過ぎる。最低でも
フリーソフトでも作って公開して雑誌にちょくちょく載るくらいに
なったら名刺代わりにはなるだろう。
>>804
その本のコードを書きなさい。ISDNコードじゃないぞ。
0810デフォルトの名無しさん
2005/06/22(水) 16:44:50・売り込みが甘すぎ
・意気込みが伝わってない
こんなとこだろ
0811デフォルトの名無しさん
2005/06/22(水) 16:45:10それを言うならあいえすびぃ(ry
0812デフォルトの名無しさん
2005/06/22(水) 16:54:32なんか作って持ってたら?
0813デフォルトの名無しさん
2005/06/22(水) 16:54:56なんか作って持っていったら?
0814デフォルトの名無しさん
2005/06/22(水) 16:56:57作ってるのとか多いだろうし、ものによってはレベルが全然違うし。
時間さえあればネットワーク系以外ならそこら辺に落ちてるものぐらい余裕で作れますから。
まぁ「最低でもフリーソフト」なんて間抜けなこといってるカスに言っても時間の無駄だろうけど
0815デフォルトの名無しさん
2005/06/22(水) 17:14:500816デフォルトの名無しさん
2005/06/22(水) 17:28:34バイトにすら採用されないレベルの間抜けであることを
自覚出来ないカスだからな。>>814は。
0817デフォルトの名無しさん
2005/06/22(水) 17:32:440818デフォルトの名無しさん
2005/06/22(水) 17:37:420819デフォルトの名無しさん
2005/06/22(水) 17:47:33数ヶ月かかっても当たり前なのに分からない馬鹿もいるんだねぇ。
0820デフォルトの名無しさん
2005/06/22(水) 18:07:11じゃあzipのパスワード解析出来るのでも作ってよ。出来ればrarにも対応して欲しいです。
GUIはいらないです。アルゴリズムはそこら辺に落ちてるし、フリーソフトにも
沢山あるから簡単でしょ。でも落ちているdllは使わないで独自に実装お願いしますm(_ _)m
だめなら軽いタブブラウザ作ってちょ。IEのエンジン利用していいですよ。
それならネットワークの知識は特に要らないから簡単でしょ。
ぜひお願いします。m(_ _)m
0821デフォルトの名無しさん
2005/06/22(水) 18:08:29数年単位で作ってるやつもあるってことも言いたいのがわからんかったようだこの低脳はwwwwww
0822デフォルトの名無しさん
2005/06/22(水) 18:12:00だがお前のためにそんな無駄なことをする義理も時間もないwwwwwカスの集まりが
そんなものも頼まなきゃ作れんのか。スレタイに初心者って書いてるからあまり悪く言いたくはないがな
0823デフォルトの名無しさん
2005/06/22(水) 18:21:20家に泥棒が入って全財産盗まれる羽目になるので嫌です。
0824デフォルトの名無しさん
2005/06/22(水) 18:57:02>>809さんありがとうございます。コードです
#include <windows.h>
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM ) ;
int WINAPI WinMain( HINSTANCE hi, HINSTANCE, LPSTR, int ) {
WNDCLASSEX wc;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hi;
wc.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wc.hIconSm = LoadIcon( NULL, IDI_WINLOGO);
wc.hCursor = LoadCursor( NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH);
wc.lpszMenuName = NULL;
wc.lpszClassName= "wh04";
if(! RegisterClassEx(& wc)) return 0;
0825デフォルトの名無しさん
2005/06/22(水) 18:57:02使いこなせる作れると言ってしまおう。やっぱりどいつもこいつもハッキリ言ってやらんとわからんみたいだしな
0826デフォルトの名無しさん
2005/06/22(水) 18:58:10CreateWindow("sh04",
"定番hell",
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
HWND_DESKTOP,
NULL,
hi,
NULL);
MSG msg;
while ( GetMessage( &msg, NULL, 0,0)){
TranslateMessage( &msg);
DispatchMessage( &msg);
}
return msg.wParam;
}
0827デフォルトの名無しさん
2005/06/22(水) 18:58:54LRESULT CALLBACK WndProc( HWND hwnd, UINT imsg, WPARAM wp, LPARAM lp ){
switch (imsg){
case WM_PAINT:{
PAINTSTRUCT ps;
char *p = "hello windows";
BeginPaint(hwnd, &ps);
TextOut(ps.hdc, 10,10,p,strlen(p));
break;
}
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, imsg, wp, lp);
}
return 0;
}
0828デフォルトの名無しさん
2005/06/22(水) 19:04:240829814
2005/06/22(水) 19:08:530830デフォルトの名無しさん
2005/06/22(水) 19:10:04言うだけなら簡単だな。化けの皮がはがれないようにお前の
その脳の入っていない頭でよく考えな。
0831デフォルトの名無しさん
2005/06/22(水) 19:11:40じゃあ一時間で作って見せてよ。
へ理屈はいいからさ。
0832デフォルトの名無しさん
2005/06/22(水) 19:12:390834デフォルトの名無しさん
2005/06/22(水) 19:18:19自ら告白したな。w
>めんどくさい。
要するに実力を証明することが出来ないわけだ。馬鹿丸出し~~
お前は所詮はその程度だ。もういいら消えろ
0835デフォルトの名無しさん
2005/06/22(水) 19:19:290836デフォルトの名無しさん
2005/06/22(水) 19:22:310837デフォルトの名無しさん
2005/06/22(水) 19:25:52∩___∩
| ノ ヽ/⌒)
/⌒) (゚) (゚) | .|
/ / ( _●_) ミ/
.( ヽ |∪| /
\ ヽノ /
/ /
| _つ /
| /UJ\ \
| / ) )
∪ ( \
\_)
0838デフォルトの名無しさん
2005/06/22(水) 19:26:30謙遜?ちがうだろ。自分には出来ないからはっきり
出来ると言えなかったんだよ。
お前が自分は間抜けです、とはっきり言わなかったのは
正解だったかもしれないが。
0839814
2005/06/22(水) 19:32:47多いから関数の戻り値はこまめに確認するべきだね
0840デフォルトの名無しさん
2005/06/22(水) 20:02:340841デフォルトの名無しさん
2005/06/22(水) 20:22:38マネージ'<不明>'のメンバとして'<不明>'を定義できませんと怒られました。
マネージ拡張クラスのメンバ変数にはSTLは宣言できないのでしょうか?
ご教示お願いします。
環境はVC++.NET2003です。
ソースの方は今のところコンストラクタとデストラクタしかありません。
下はヘッダです。
//test.h
#pragma once
#include <map>
#include <string>
using namespace std;
namespace maptest
{
public __gc class maptester
{
private:
map<string, int> maptest;
public:
maptester();
~maptester();
};
}
0842デフォルトの名無しさん
2005/06/22(水) 21:26:33試してみたらポインタや参照は持てた。
namespace maptest
{
public __gc class maptester
{
public:
typedef std::map<std::string, int> MAP_S_I;
MAP_S_I& Map;
maptester() : Map(*new MAP_S_I)
{
}
~maptester()
{
delete ⤅
}
};
}
using maptest::maptester;
int _tmain()
{
maptester& hoge = *new maptester;
hoge.Map["ほげ"] = 65536;
std::cout << hoge.Map["ほげ"] << std::endl;
return 0;
}
0843841
2005/06/22(水) 22:20:13レスありがとうございます。
この方法だとできました。
参照にポインタ渡したり、コンストラクタにMapのポインタ継承(?)
ってこんがらがってしまいました。
自分のレベルが足りなくて何をやってるのかが分からなかったので
基本的な事項を勉強し直して来ます・・・。
0844デフォルトの名無しさん
2005/06/22(水) 22:24:30ポインタを*でdereferenceしたものは左辺値だから参照の初期化に使える。
0845841
2005/06/22(水) 23:36:40内容がどこの部分に該当するのか分かりませんでした。ごめんなさい。
�@maptester& hoge = *new maptester;
�@maptesterオブジェクトの参照であるhogeに
maptesterオブジェクトのポインタを代入ってことで解釈しました。
�Amaptester() : Map(*new MAP_S_I)
{
}
844さんは�Aの内容に対しての話だと判断して
コンストラクタに、参照の初期化したものを継承していると解釈しました。
あってますでしょうか?
0847841
2005/06/23(木) 05:07:24コンストラクタ部分にコロンでメンバ変数を初期化できるなんて知りませんでした。
他の事にも試してみます。
ご教示ありがとうございました!
0848デフォルトの名無しさん
2005/06/23(木) 10:04:47* Window field offsets for GetWindowLong()
*/
#define GWL_WNDPROC (-4)
#define GWL_HINSTANCE (-6)
#define GWL_HWNDPARENT (-8)
#define GWL_STYLE (-16)
#define GWL_EXSTYLE (-20)
#define GWL_USERDATA (-21)
#define GWL_ID (-12)
データはこういう風に格納されてますか?
0849デフォルトの名無しさん
2005/06/23(木) 11:44:270851デフォルトの名無しさん
2005/06/23(木) 11:59:37error C2065: '_T' : 定義されていない識別子です。
とでました。
解決法がわかりません。
何を定義すればよいのでしょうか。
よろしくお願いいたします。
0852デフォルトの名無しさん
2005/06/23(木) 12:23:54これ一通り読んでみ。
http://www.microsoft.com/japan/msdn/library/ja/vccore/html/_core_generic.2d.text_mappings_in_tchar..h.asp
0853デフォルトの名無しさん
2005/06/23(木) 20:03:38実行状態のメッセージを別の小さなダイアログに表示したいのですがどうすれ
ばいいでしょうか?
0854デフォルトの名無しさん
2005/06/23(木) 20:10:460855デフォルトの名無しさん
2005/06/23(木) 22:47:10こんなかんじで
class Win{
HWND handle_;
public:
BOOL Create();
void Show();
};
ここまで作ってふと思ったんですが、
HWNDを引数にとるAPIにはどうやって情報を渡そうかと
クラスが保持しているハンドルを返すメンバ関数をつくると
内部実装をさらすようでカプセル化したした意味が無い気がします
かと言って使用するAPI全てにラッパークラスを作るのもしんどい気がします
0856デフォルトの名無しさん
2005/06/23(木) 22:50:150857デフォルトの名無しさん
2005/06/23(木) 22:57:280858デフォルトの名無しさん
NGNG>API全てにラッパークラスを作るのもしんどい気がします
生のHWNDを扱いたくないなら、そうするしかないかと。
0859ゆみ
2005/06/23(木) 23:15:100860デフォルトの名無しさん
2005/06/23(木) 23:16:45まずは日本語勉強してからな。
0861デフォルトの名無しさん
2005/06/23(木) 23:18:37MFCとかATLではある程度の関数には自前でラップしてして、
ついでにデフォルト引数とか、RECTかintの引数を4つかなどといったオーバーロードを提供しているが、
やっぱり網羅しきれるわけが無いのでHWNDを返すメンバ関数とoperator HWND()を用意している。
0862デフォルトの名無しさん
2005/06/23(木) 23:24:03>>861
やっぱりそうですよね
よく考えたらハンドルという概念自体がリソースを程よくラップしているので
公開しちゃっててもいいんじゃないかという気になってきました
さすがにpublicメンバにするのは気がひけるので
operator HWND()
でも実装します
ありがとうございました
0863デフォルトの名無しさん
2005/06/24(金) 02:34:450864デフォルトの名無しさん
2005/06/24(金) 03:02:44あと、TCHARと_TCHARとありますが、違いが良くわかりません。
これって同じものでしょうか?
0865デフォルトの名無しさん
2005/06/24(金) 03:03:58ってか、ゲネリックテキスト意識してみんな作ってる?
0866デフォルトの名無しさん
2005/06/24(金) 05:37:33Unicode 版を試しに作ってみたいとき便利だよ。
_TCHAR は TCHAR が標準化されるまでの名残じゃないかな、うん。
0867デフォルトの名無しさん
2005/06/24(金) 05:46:37LPCTSTRとかLPTSTRとかとはTCHARのほうが相性がいいとか。
0868デフォルトの名無しさん
2005/06/24(金) 06:13:11UNICODE が define されてるかどうかで SetWindowText が
SetWIndowTextA と SetWindowTextW のどちらかへ define される。
最初からTCHARやLPCTSTRで書いてると2種類のソースを用意しなくていい。
ソースが1つだと変更し忘れが少なくなっていい。
SetWindowText(hwnd, _T("ほげ"));
↓
SetWindowTextW(hwnd, L"ほげ"); // UNICODEがdefineされている
SetWindowTextA(hwnd, "ほげ"); // UNICODEがdefineされていない
0869デフォルトの名無しさん
2005/06/24(金) 06:18:24operator HWND()
{
return handle_;
}
0870デフォルトの名無しさん
2005/06/24(金) 08:16:57問題は、MAX_PATHそのものを使ってはいけないことだ。
ディレクトリを何段も掘ったから簡単に溢れるぞ。
0871デフォルトの名無しさん
2005/06/24(金) 08:23:49うむ、MAX_PATHは古の悪習だな。
DOSの頃は、そもそもOSがMAX_PATHを越えると扱えなくなるから良かったが、
それをWindows95移行も踏襲するのは、糞だ。
0872デフォルトの名無しさん
2005/06/24(金) 08:35:52ntdll.dllが落ちた後も、ログファイルの出力が止まらないところを見ると、プログラム自体はきちんと
タイマーメッセージで動き続けているらしい。
原因としてはどの辺りが考えられるかな。
0873デフォルトの名無しさん
2005/06/24(金) 08:40:52じゃあ、今はどうすべき?
0874デフォルトの名無しさん
2005/06/24(金) 09:51:05MAX_PATHによらず、充分な長さを確保する必要があるべさ。
0875デフォルトの名無しさん
2005/06/24(金) 10:23:50解除できないんでねーの?
従来形式を使う限りMAX_PATH文字でいいと思っていたが。
0876デフォルトの名無しさん
2005/06/24(金) 10:51:15エクスプローラから削除できなくなった記憶がある。
0877デフォルトの名無しさん
2005/06/24(金) 11:33:14いいこと聞いた
0878デフォルトの名無しさん
2005/06/24(金) 12:05:370879デフォルトの名無しさん
2005/06/24(金) 12:29:310880デフォルトの名無しさん
2005/06/24(金) 12:37:030881デフォルトの名無しさん
2005/06/24(金) 12:38:52Win98のスキャンディスクが「長すぎてMS-DOSが認識できない」とか
警告を出してきた記憶があるなあ。
この制限はMAX_PATHより短い。
環境変数PATHの長さが128文字までだった時代の名残かな。
>>879
迷わずTCHAR使えって。
0882デフォルトの名無しさん
2005/06/24(金) 12:45:36それ、ショートネームがMAX_PATHを超えるんだと思う。
0883デフォルトの名無しさん
2005/06/24(金) 12:51:490884デフォルトの名無しさん
2005/06/24(金) 13:16:43#define MAX_PATH260
・アプリの引数の長さにも128バイトの制限があって、
ファイル名の長さに依るが約10〜20個以上のをドロップするとエラーが出ることが多かった。
MS-DOSの名残だが、Win9xでも出てた。
・MS-DOSでは環境変数PATHの長さは128バイトまでに制限されている。
これは"PATH="と終端のNULLの長さも含めた長さなので実際には122バイトしか使えない。
PATHにパスを2つ指定できるようにディレクトリ名の長さは122の半分くらいじゃなかったかな。
0885デフォルトの名無しさん
2005/06/24(金) 13:24:21だとしたら、80-(8+3)-2-1で66くらいか。
0886881,884
2005/06/24(金) 13:36:46#define MAX_PATH 80
http://www.google.co.jp/search?q=define-max_path-80
MS-DOSにWindowsをかぶせて隠そうとしてるのに、DOSの制限を引きずってるなあ。
Windowsでの上限
#define _MAX_PATH 260 /* max. length of full pathname */
#define _MAX_DRIVE 3 /* max. length of drive component */
#define _MAX_DIR 256 /* max. length of path component */
#define _MAX_FNAME 256 /* max. length of file name component */
#define _MAX_EXT 256 /* max. length of extension component */
0887デフォルトの名無しさん
2005/06/24(金) 14:32:16> 迷わずTCHAR使えって。
ラジャ ノシ
0888デフォルトの名無しさん
2005/06/24(金) 15:56:50どれくらい確保し解けばいいさ。
0889デフォルトの名無しさん
2005/06/24(金) 18:04:150890デフォルトの名無しさん
2005/06/24(金) 18:14:340891デフォルトの名無しさん
2005/06/24(金) 18:16:24そんな深いとこまでは使いにくいから作んないでしょ。
で、常識の範囲。
0892デフォルトの名無しさん
2005/06/24(金) 18:17:25スタックよりは良いかと、そんな程度です。
0893デフォルトの名無しさん
2005/06/24(金) 21:06:16その際にプログラムAでリンクをはっていたDLLをはずしてしまったのですが
LINK : warning LNK4089: "ABCDE.dll" へのすべての参照は /OPT:REF によって廃棄されます
と出ます。エラーではないのですが、気になるので解決する手を教えて
いただけませんか?
0894デフォルトの名無しさん
2005/06/24(金) 21:07:090895デフォルトの名無しさん
2005/06/24(金) 21:37:18LNK4089をヘルプで見ませう。それで解決します。
0896デフォルトの名無しさん
2005/06/24(金) 22:31:58ABCDE.dllのインポートLibがリンカに渡されたけど使わなかったよ、というwaring。
0897デフォルトの名無しさん
2005/06/24(金) 22:46:02ほんの少しだけリンク速度が早くなるってこと。
気にならなければ無視しても無問題。
0898デフォルトの名無しさん
2005/06/24(金) 23:37:40プログラミングを家でやりたいと思っているんですが、どんなコンパイラが
いいか知りたいんですけど、ちなみに、c言語です。
0899デフォルトの名無しさん
2005/06/24(金) 23:42:24Visual C++
尤もここがVisual C++のスレだからというのもあるが。
0900デフォルトの名無しさん
2005/06/25(土) 00:04:060901デフォルトの名無しさん
NGNG0902デフォルトの名無しさん
2005/06/25(土) 00:42:58疑いがぬぐえないオサーンが来ましたよ。
0903デフォルトの名無しさん
2005/06/25(土) 02:20:470904デフォルトの名無しさん
2005/06/25(土) 10:14:42実際いくつもある。2005に期待して待ってる。
0905デフォルトの名無しさん
2005/06/25(土) 14:12:55>896
>897
それが、ヘルプを見て大体意味は見当がついて、リンクは切った
はずなのですが。プロジェクト>設定>リンクのところでライブラリの
リンクを消すだけじゃだめですか?ビルドでは警告は出ないのですが、
リビルドすると警告が出てしまいます。
0906デフォルトの名無しさん
2005/06/25(土) 14:14:020907デフォルトの名無しさん
2005/06/25(土) 15:21:43ComboBox に項目が追加できません。
方法1)プロパティ開いてデータの入力
方法2)InsertStringで項目を追加
このどちらも、項目を追加できないです。
ちなみに、WindowsXPSP2でVisualStudio6.0SP6で同じことをやってみたら
ちゃんと項目の追加できてました。
あと、Windows2000でVS6.0にSP6当ててないPCで試したところちゃんと動きました。
ということは、SP6のバグなのか。詳しい方いますか?よろしくです。
0908デフォルトの名無しさん
2005/06/25(土) 15:32:23リリースブィルドとデヴァッグブィルドとゴチャにしてない?
0909Why? ◆ouWMQKaTMk
2005/06/25(土) 15:33:53アセンブラからCの関数”Hello”を呼び出したいのですが、エラーが沢山。
以下、アセンブラと関数Helloのソースを張ります。
#include <stdio.h>
int Hello(void)
{
printf("HelloGikos");
return 0;
}
//Cのソースはここまで。
0910Why? ◆ouWMQKaTMk
2005/06/25(土) 15:34:32[ORG 0]
Bits 16
jmp 07C0h:RealMode_to_Protected;
RealMode_to_Protected:
proc near
push bp
mov bp,sp
cli
mov eax,cr0
or eax,1
mov cr0,eax
Bits 32
jmp Protecting
0911Why? ◆ouWMQKaTMk
2005/06/25(土) 15:34:51db 0eah
dw offset Set_CS
dw 08h
jmp Hello
Set_CS:
mov ax,10h
mov ds,ax
mov es,ax
mov ax,18h
mov ss,ax
pop bp
ret
;ここまで。
ズレは仕様です。気にしないで下されば幸いです。
0912デフォルトの名無しさん
2005/06/25(土) 15:46:56まさかVisual C++でやろうとしているのか?
0913907
2005/06/25(土) 15:56:46コントロールのサイズを変更していなかったです。
OS等の種類によってサイズ変更していなくても自動的に調整してくれる模様。
0914デフォルトの名無しさん
2005/06/25(土) 16:00:58スレ違い。
アセンブラすれを探すべし。
…しかし、関数呼び出しは call じゃなかったっけか?
いやまぁ、詳しく知らんのだけど。
0915デフォルトの名無しさん
2005/06/25(土) 17:05:57VCなら
__asm call Hello
0916デフォルトの名無しさん
2005/06/25(土) 17:08:460917デフォルトの名無しさん
2005/06/25(土) 21:47:26最大化やウィンドウのリサイズを禁止するにはどうすればいいんでしょうか?
最小化はそのまま使えるようにしたいのですが…
0918デフォルトの名無しさん
2005/06/25(土) 21:56:08http://pc8.2ch.net/test/read.cgi/tech/1117271829/
0919デフォルトの名無しさん
2005/06/25(土) 22:01:530920デフォルトの名無しさん
2005/06/26(日) 03:16:28C言語ぐらいがちょうどよかったな。。。
0921デフォルトの名無しさん
2005/06/26(日) 03:46:02C++は破綻してるよ。例えば、
class MyBase {...};
class YourBase : public MyBase { ... bool IsYourBaseBelongToUs(); };
vector< MyBase > vec;
vec.push_back( dynamic_cast<MyBase>( YourBase(...) ) );
オブジェクト指向言語で、これでスライシングが起きてアウトはダメでしょ。
C言語的な感性で言ったら当然アウトなんだけど。
スライシング回避のためにインスタンスへのポインタを保持するっていうのは小手先のハックでさ、
プリミティブな設計がハックだと、ハックを使わざるを得なくなるっていうしわ寄せの例。
0922デフォルトの名無しさん
2005/06/26(日) 06:39:350923デフォルトの名無しさん
2005/06/26(日) 08:09:010924デフォルトの名無しさん
2005/06/26(日) 08:37:42そこ、dynamic_castの使いドコじゃないよ。
>>920
猫のC++は特に良くないからほか行け。
0925デフォルトの名無しさん
2005/06/26(日) 09:21:260926デフォルトの名無しさん
2005/06/26(日) 14:57:020927デフォルトの名無しさん
2005/06/26(日) 17:14:25でも次からはチラシの裏な。
0928デフォルトの名無しさん
2005/06/26(日) 18:27:43500mmlのビーカー買って来たのに、1L水を入れようとして「入らない!」って怒ってるようなもんじゃん。
0929デフォルトの名無しさん
2005/06/26(日) 18:28:42言語は道具。
正しく使わずにクレームをつけるのはクレーマー。
0930デフォルトの名無しさん
2005/06/26(日) 18:31:550931デフォルトの名無しさん
2005/06/26(日) 20:28:270932デフォルトの名無しさん
2005/06/26(日) 22:36:450933デフォルトの名無しさん
2005/06/26(日) 22:40:46ペイントツールを実装するには何が必要かを考える。
0934ゆぅ
2005/06/26(日) 22:48:50どなたか優しい方教えてください(T。T)
(hoge.c)
#include"hogehoge.h"
intmain()
{
aaapoi;
return 0;
}
(hogehoge.h)
class aaa
{
public:
intx;
aaa()
{
x = 0;
}
};
(コンパイルエラー)
hogehoge.h(1):error C2061: 構文エラー : 識別子'aaa'がシンタックスエラーを起こしました
hogehoge.h(1):error C2059: 構文エラー : ';'
hogehoge.h(2):error C2449: '{'を見つけました(関数のヘッダーがないかもしれません)。
hogehoge.h(9):error C2061: 構文エラー : '}'
0935ゆぅ
2005/06/26(日) 23:03:59(hoge.c)
#include "hogehoge.h"
int main()
{
aaa poi;
return 0;
}
(hogehoge.h)
class aaa
{
public:
int x;
aaa()
{
x = 0;
}
};
0936デフォルトの名無しさん
2005/06/26(日) 23:06:40 と全角スペースしか使えない。
0937ゆぅ
2005/06/26(日) 23:08:38 ってなんですか?
0939デフォルトの名無しさん
2005/06/26(日) 23:12:210940デフォルトの名無しさん
2005/06/26(日) 23:13:030941ゆぅ
2005/06/26(日) 23:13:05おっしゃる通りですね^^;
0942ゆぅ
2005/06/26(日) 23:19:03おーほんとだ。拡張子がcになってた
cppにしたらコンパイルとおったよ〜〜〜
ありがとんかつ
0943デフォルトの名無しさん
2005/06/26(日) 23:29:55それまで独習でUNIXでCを書いてccでコンパイル、./a.outで実行してたのですが
このソフトは、printf("hello world");を表示するような簡単なものはいったいどうやって
作成、コンパイル、実行すればいいのでしょうか?
プロジェクトとかそんな大がかりじゃないんですけど^^;;
教えて下さい。
0944デフォルトの名無しさん
2005/06/26(日) 23:34:08ペイントのサンプルプログラムとかないですか?
0945デフォルトの名無しさん
2005/06/26(日) 23:35:12IDEを使うならプロジェクトを作らないと始まらない。Win32コンソールプロジェクトを作れ。
今までと同じようにやりたいのならスタートメニューからMicrosoft Visual Studio .NET 2003→Visual Studio .NET ツール
の中にあるVisual Studio .NET 2003 コマンド プロンプトを使え。clでコンパイル。出来上がったプログラムがa.exeならaと打てば実行しだす。
0946943
2005/06/26(日) 23:55:27C++じゃなくてCはどうするんですか?
0947デフォルトの名無しさん
2005/06/27(月) 00:06:04プロジェクトを作ってから(略)して新しい項目の追加のダイアログボックスを開く。
その中からC++ファイルを選んでファイル名のところにa.cというように拡張子もつけてファイル名を入力すればよい。
0948デフォルトの名無しさん
2005/06/27(月) 00:06:17馬鹿かお前は。
0949デフォルトの名無しさん
2005/06/27(月) 00:26:59みなさんどうされているのですか?
0950デフォルトの名無しさん
2005/06/27(月) 00:27:060951デフォルトの名無しさん
2005/06/27(月) 00:29:14必要な時に調べる。
一度使ったら、そのプロジェクトは残しておいて、再び使う時は引っ張り出してくる。
0952デフォルトの名無しさん
2005/06/27(月) 00:30:46容量の差こそあれ人間の記憶容量は有限。
どうやって覚えるかというより、自分にとって覚えるべき最低限のことを
覚え、覚える必要のないことは積極的に覚えない。
0953デフォルトの名無しさん
2005/06/27(月) 00:45:370955デフォルトの名無しさん
2005/06/27(月) 01:29:22検索にかけるとだいたいヒットする。
頻繁に使うAPIは自然と覚える。
引数は検索して見ればすぐわかる。
0956デフォルトの名無しさん
2005/06/27(月) 04:37:26説明書って製品版じゃないとついていないのでしょうか?
ボタンが多すぎて使い方が意味不明ですorz
0957デフォルトの名無しさん
2005/06/27(月) 17:46:55DLLと同時にLibも作られるとのことですが、
なぜかDLLだけしか作られません。
何がだめなのでしょうか?
よろしくお願いします。
0958デフォルトの名無しさん
2005/06/27(月) 20:24:18所詮はβですから。
0959デフォルトの名無しさん
2005/06/27(月) 20:56:500960デフォルトの名無しさん
2005/06/27(月) 21:12:50単にAPIをクラスでラップしてるだけです。
ただ、
CMyWnd obj;
でウィンドウを生成すると、ウィンドウの中のコントロールなどが表示されるのですが、
CMyWnd* pObj;
でオブジェクトをnewしたあとウィンドウを作成すると、ウィンドウの中のコントロールなどが表示されなくなるのです。
これはどういう不具合なのでしょうか?
0961デフォルトの名無しさん
2005/06/27(月) 21:15:04お前さんの頭の不具合。
0962デフォルトの名無しさん
2005/06/27(月) 21:20:390963デフォルトの名無しさん
2005/06/27(月) 21:40:28オマエさんのコーディングの不具合
0964デフォルトの名無しさん
2005/06/27(月) 21:49:36どっかにソースUPしたら?
0965デフォルトの名無しさん
2005/06/27(月) 23:55:12ヒント:エクスポート
0966デフォルトの名無しさん
2005/06/28(火) 12:06:08最後に
pObj->UpdateWindow()
すればどうよ?
0967デフォルトの名無しさん
2005/06/28(火) 12:08:50フツーのWinApiラッパーを独自で作ったんなら、
コンストラクターを調べれ。
0968960
2005/06/29(水) 19:12:16宣言子によるオブジェクト生成(CMyClass obj;)の場合、メモリ内容は全て0に初期化されるようです。
その違いによるシステムの不具合でした。
コンストラクタで事前にメンバは初期化しておくことで解決です。
ご返答ありがとうございました。
0969デフォルトの名無しさん
2005/06/29(水) 19:19:35コンストラクタで変数を初期化するクセを付けておいて損はない。
0970デフォルトの名無しさん
2005/06/29(水) 19:25:36>メモリ内容は全て0に初期化されるようです。
グローバルなのか……
0971デフォルトの名無しさん
2005/06/29(水) 20:34:13は?クラスのメモリ内容0に初期化されてどうすんだよ・・・
あと、初期化されるかされないかに関わらず、明示的に初期化するもんだ
0972デフォルトの名無しさん
2005/06/30(木) 00:06:16だからそう反省してるみたいだし、追い討ちかけてどーすんだ。
0973デフォルトの名無しさん
2005/06/30(木) 16:26:34char b[1];
a[0]=4,a[1]=8,a[2]=4,a[3]=0,a[4]=9;
aの配列に入っているデータ5つを、並びを変えずにbの配列ひとつに入れるには
どうしたらいいのでしょうか?
b[0]=48409にしたい
0974デフォルトの名無しさん
2005/06/30(木) 16:30:10マルチうざい
0975デフォルトの名無しさん
2005/06/30(木) 16:32:24黙って移動するとマルチと思われて回答してもらえない恐れが多々ある。
一言断りを入れてきたまえ。
それと、向こうのレスは吟味したのかね。
・char b[1]とあるが、通常それには48409なんて値は入れられない。
・配列aに入っているのは本当に数値か? 数字文字ということはないのか?
せめてこのぐらいは聞き分けたまえ。
0976デフォルトの名無しさん
2005/06/30(木) 17:15:220977デフォルトの名無しさん
2005/06/30(木) 18:00:340978デフォルトの名無しさん
2005/06/30(木) 18:08:350979デフォルトの名無しさん
2005/06/30(木) 18:41:250980デフォルトの名無しさん
2005/06/30(木) 18:53:17Windowsの配色の問題。
Windowsの配色の設定を変えると、各アプリに反映される。
0981デフォルトの名無しさん
2005/06/30(木) 20:50:09iostream.hインクルードしててもコンパイラに怒られます。
ヘルプ見たら<iostream.h>じゃなく<iostream>とするように載ってましたが、そうしても動かず…。
HelloWorldで躓くとは情けないorz
0982デフォルトの名無しさん
2005/06/30(木) 21:04:25FOR〜NEXT使ってお願いします!
BASICで使えるプログラム教えてくださいm(__)m
0983デフォルトの名無しさん
2005/06/30(木) 21:28:490984デフォルトの名無しさん
2005/06/30(木) 21:57:30コンパイルしたときのエラーでつまずいてしまいました。
みなさんは下記のエラーが出たとき、どのように対処されていますか?
2番目、3番目はいろいろキャストしてみたのですが。。。
1番目は対処の手段がわかりません。。。
lib関連なのでしょうか。。。
error LNK2001: 外部シンボル ""void * __cdecl memset(void *,int,unsigned int)" (?memset@@$$J0YAPAXPAXHI@Z)" は未解決です。
error C2440: '=' : 'char *' から 'char [132]' に変換できません。
配列型への変換はありませんが、参照またはポインタから配列への変換があります。
error C2440: '=' : 'unsigned char __gc[]' から 'BYTE [13]' に変換できません。
__gc 配列と Object * または Array * 間でのみ変換できます。
0985デフォルトの名無しさん
2005/06/30(木) 22:27:46なにもわからないまま、C++のコンパイラーだと思い、VC++.netを買い
参考書として、Win32API完璧マスタを買いましたが、
どうも、この本は、VC++6.0のようなのです。
リソースファイルの作り方が違うようで、少しも前に進みません。
VC++.net と VC++6.0は作り方がかなり違うのでしょうか。
0986デフォルトの名無しさん
2005/06/30(木) 22:31:080987デフォルトの名無しさん
2005/06/30(木) 22:38:21てか、いきなりAPI完璧マスタとか買わずにVCの本買えよ
0988デフォルトの名無しさん
2005/06/30(木) 22:39:04該当行を晒せ。
最初のはプロジェクトの設定を見直せ。
0989デフォルトの名無しさん
2005/06/30(木) 22:49:31本を選ぶのが下手なのでしょうか。この本にたどり着くまでに、
ほかにも変なのを沢山買いました。
この種の本は、とても高いです。
聞きたかったのは、アップリケーションから
ダイアログを作るのではなくモジュールをかいて、作ることが、
VC++.netではできないのかなということなんです。
多分できないのでしょうね。
本買うのを検討してみようかと思います。
ヘルプは、何度も見ましたが、やはり、1からでは、
難しいです。
では、ありがとうございました。
0990デフォルトの名無しさん
2005/07/01(金) 02:28:22int n, px, py, oldx = 0, oldy = 0;double x, PI = 3.14159265358979;
double f_sin(double a){ return Math.Sin((PI / 2) * a * a); }
double f_cos(double a){ return Math.Cos((PI / 2) * a * a); }
double simpson(double a, double b, double (*f)(double), int n){
double h = (b - a) / n;double p = a;double res = f(a) + f(b);
for (int k = 1; k < n; k++){p += h;
res += ((k % 2) ? 4 * f(p) : 2 * f(p));}
res *= (h / 3);
return res;}
int Width = 1024;int Height = 768;
void DrawCornuSpl(HDC hdc, double max, int mul, int n, double e){
HPEN hPen;HPEN HBlackPen;HPEN HBluePen;HBluePen = CreatePen(PS_SOLID, 1, RGB(0, 0, 255));
hPen= (HPEN)SelectObject(hdc, HBluePen);int ox = 0, oy = 0, x = 0, y = 0;
double dx = 0.0, dy = 0.0;
for (double w = 0; w <= max; w += e){dx += simpson(w, w + e, f_cos, n);dy += simpson(w, w + e, f_sin, n);x = (int)(dx * mul);y = (int)(dy * mul);
if ((x != ox) || (y != oy)){MoveToEx(hdc, ox, oy, NULL);LineTo(hdc, x, y);MoveToEx(hdc, -ox, -oy, NULL);LineTo(hdc, -x, -y);ox = x;oy = y;}}
HBlackPen = CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
hPen= (HPEN)SelectObject(hdc, HBlackPen);
MoveToEx(hdc, - Width, 0, NULL);LineTo(hdc, Width, 0);
MoveToEx(hdc, 0, - Height, NULL);LineTo(hdc, 0, Height);
MoveToEx(hdc, - 1 * mul / 2, 0, NULL);LineTo(hdc, - 1 * mul / 2, - mul / 2);
LineTo(hdc, 0, - 1 * mul / 2);MoveToEx(hdc, 1 * mul / 2, 0, NULL);
LineTo(hdc, 1 * mul / 2, 1 * mul / 2);LineTo(hdc, 0, 1 * mul / 2);}
0991デフォルトの名無しさん
2005/07/01(金) 10:10:21質問ですが、構文エラー : ')' が 'constant' の前に必要です。というエラーが出ますが、
このようなエラーが出る主な原因は何なのでしょうか?
よろしくお願いします。
0992デフォルトの名無しさん
2005/07/01(金) 10:22:39ソースを貼るのが一番。
0993991
2005/07/01(金) 10:24:55void Create(char* pClassName,int x,int y,int h,int v,HWND hParentWnd);
0994デフォルトの名無しさん
2005/07/01(金) 10:37:360995デフォルトの名無しさん
2005/07/01(金) 14:11:030996デフォルトの名無しさん
2005/07/01(金) 19:54:34template <typename T>
void func(T a);
int main()
{
func<int>(2);
return(0);
}
として、関数funcを別ファイルに定義すると、
↓リンクエラーが起きてしまいます。
error LNK2019: 未解決の外部シンボル "void __cdecl func<int>(int)" (??$func@H@@YAXH@Z) が関数 _main で参照されました。
同ファイルに定義すると、普通にコンパイルできます。
どうしてでしょうか?
0997デフォルトの名無しさん
2005/07/01(金) 20:01:12テンプレート関数はコンパイル時に実体化されないといけない。
したがって、別ファイルではダメ。
0998デフォルトの名無しさん
2005/07/01(金) 20:20:35早速ありがとうございます。
なるほど、別ファイルではダメなのですか。
では、テンプレートクラスを使用する場合、
ヘッダファイルに関数定義もする形で
使っていけば良いのでしょうか?
0999ホームページ プロダクション
2005/07/01(金) 20:48:00弊社は出来て間もないのではじめに5人という限定で無料ホームページをお作り致します。こちら→http://www16.plala.or.jp/mercigackt/
1000デフォルトの名無しさん
2005/07/01(金) 20:53:5510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。