★初心者にVisual C++を教えるスレ★ Part5
■ このスレッドは過去ログ倉庫に格納されています
0001987
NGNGVisual C++ 初心者用スレッドです。
前スレ・関連スレは、>>2 ぐらい。
0357デフォルトの名無しさん
NGNG0358355
NGNG早速ありがとうございます。m(__)m
プロジェクトの設定のリソースタブのインクルードファイルのパス
でそのファイルのパスを指定したのですがやはりダメでした。。。
0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNGまさか
#include <ファイル名>
と言う風に開いているのではあるまいな?
0361355=358
NGNGいえ、#include "ファイル名" です。
パス指定すればコンパイルできたのですが。。。
0362デフォルトの名無しさん
NGNG0363355
NGNGいえ、普通の英語名です。なんでだろう。。。
とりあえずパス指定でコンパイルできたので(356さんありがとう)
それで進みます。
みなさんお騒がせしてすみません。。。
0364デフォルトの名無しさん
NGNGまさかとは思うがファイルそのもののパスを指定していないだろうな?
ファイルのパスではなく、インクルードファイルが格納されているフォルダを指定するんだぞ
0365358
NGNGすいません...(TT)
いえ、インクルードファイルのパスというエディットボックスに
ちゃんとフォルダのパスを入れてるんですよぉ(C:\省略\Control\Common)。
0366デフォルトの名無しさん
NGNGstdafx.h に
#define _WIN32_WINNT 0x0400
付け加えたらデバッグでは動くのに
リリースでは落ちてしまいます。
何か原因考えられますか?
0367756
NGNGのせいじゃないと思う、なんとなく。適当でスマソ。
0368デフォルトの名無しさん
NGNGつーかちゃんとプロジェクトのワークスペースのファイルビューでソースとヘッダを追加してるか?
0369365
NGNGしてます、してます(TT)。
でも初心者的な質問なのですが、ファイルを追加した時点でVCはどのファイルが
インクルードされてるかわかっているのに、なんでインクルードファイルの
フォルダを指定しないといけないのか理解できないのですが。。。
これだとあるa.hというヘッダをインクルードしてもフォルダ参照にされてなくて
もし参照されているフォルダに同名のa.hが存在したらPGするとき混乱するような
気が。。。VC歴が数ヶ月なのでアホな質問だったらすみません。VBだとファイルを
追加したらそのパスがプロジェクトファイルに書かれているのですが、
確かにVCのプロジェクトファイルには取り込んでいるファイルのパスは書かれて
いない(ファイル名のみ)ですね。
あくまで参照するフォルダを指定する必要があるんですね。。。
0370デフォルトの名無しさん
NGNG0371365
NGNGいえ汎用なので別のフォルダに両方とも入っています。
0372デフォルトの名無しさん
NGNG>>369をしっかり読んでなかったよスマソ。
つーかやっぱりこの場合はフォルダ指定しなきゃ駄目なんじゃないかね。
0373365
NGNGVCのプロジェクトファイル(dsp)も別フォルダから取り込んだファイルの
パスを相対パスでちゃんと管理していますね。
だとしたら余計インクルードパスを指定する必要がわからない。。。(TT)
0374365
NGNG何度もすみません。
VCというよりC++コンパイラの仕様なんでしょうかね。
仕様ならしようがないので納得します。
こんなオチですみません。。。
0375デフォルトの名無しさん
NGNGプロジェクトの設定⇒タブ:C/C++⇒カテゴリ:プリプロセッサ⇒インクルードファイルのパス(N)
なら相対or絶対パスでも大丈夫。
0376デフォルトの名無しさん
NGNG10レス程度前のレスも読めんのか
0377デフォルトの名無しさん
NGNGてめーこそ良く見やがれ。糞が。
>358 名前:355[] 投稿日:03/04/14 20:28
>>>356
>早速ありがとうございます。m(__)m
>プロジェクトの設定のリソースタブのインクルードファイルのパス
>でそのファイルのパスを指定したのですがやはりダメでした。。。
リソースタブで指定してるからおかしいってんだ。
ボケ、氏ネ。
0378365
NGNGありがとうございます!
で、できました!!!
>>376
いえ、僕の間違いでした。
リソースタブでインクルードファイル指定してました。
お騒がせしてほんとにすみません。
初心者なので許してください...m(__)m >レス下さったみなさん
逝ってきます。(TT)
0380365
NGNGいえ僕の文章もだらだらと読みづらかったのですんまそん。
またいろいろ教えてくださいね。ではでは。。。
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNGわかり易いかどうかは別だけど。
0384デフォルトの名無しさん
NGNG図書館は?
0385デフォルトの名無しさん
NGNGコンストラクタを呼び出されたら、クラスのインスタンスは必ずあるはずだが?
そもそもコンストラクタが呼び出されると何か問題があるの?
newも解らないようじゃ…
.NETとかVCではなくC++の参考書でも読んで勉強し直してきた方がいいですね。
0386デフォルトの名無しさん
NGNGおまえも日本語が不自由みたいだなw
0387デフォルトの名無しさん
NGNG逆にQuickCとか置いてそう
0388デフォルトの名無しさん
NGNG0389352
NGNG>名前はGUID使えばよし
ありがとうございます。GUIDってなんでしょうか?
0390デフォルトの名無しさん
NGNG脳なしに言われたないわい。
0391デフォルトの名無しさん
NGNGせめて検索くらいしろボケ
氏ね
0392デフォルトの名無しさん
NGNGCFont m_Font;
LOGFONT lf;
m_Font.GetLogFont(&lf);
上記は正常に動くのですが、lf をポインタで宣言して、
CFont m_Font;
LOGFONT* lf;
m_Font.GetLogFont(lf);
と変えるとm_Font.GetLogFont(lf);の行でエラー
「値が割り当てられていないローカルな変数 'lf' に対して参照が行われました。」
が出るのはなぜなのでしょうか?
0393デフォルトの名無しさん
NGNGちょっと考えれば当たり前だと思うけど……
GetLogFontは、与えられたポインタが指し示すメモリにフォント情報を格納するのね。
上の場合はlfという変数の領域に格納するから問題なし。
下の場合はいったいどこにフォント情報を格納すればいいのでしょうか?
0394デフォルトの名無しさん
NGNGエラーメッセージのそのまんまの意味。
lfが有効な値になっていない(実体を指していない)から。
つかこんなんC言語の基礎中の基礎だが大丈夫か?
0395デフォルトの名無しさん
NGNGその関数がどんな動きをするか考えようともしない。
0396誠心君
NGNG0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNG┌──────────┘- \
│ 外国の方が \
│ /
└──────────┐- /
ヽ(´ー`).ノ |/
( へ)
く
- = ≡三 |\
- = ≡三 ┌──────────┘- \
_ = ≡三 │ \
 ̄ = ≡三 │ いらっしゃいます /
- = ≡三 └──────────┐- /
(´ー`) - = ≡三 |/
( ヽ ヽ)
/ >
0399342
NGNGすみません。調べたんですが難しすぎてよくわかんないです。
もっと簡単なもんかと思ってたんですが…
でも、グローバル変数は普通使っちゃいけないんですね。
ド素人なもんでそんな事もしりませんでした。
一番わかりやすそうな
CTestApp のメンバ変数にして 他のクラスからは
AfxGetApp で取る事にしようと思います。
ありがとうございました。
>>347
???
0400猿
NGNGhList = GetListViewInner();// リストビューのハンドル確保
hHead = ::GetWindow(hList, GW_CHILD);// そのヘッダーのハンドル確保
LV_COLUMNを利用して項目を追加するも詳細表示の表示項目その他を選択すると
落ちてしまいます。どなたかよきアドバイスをお願いします。
やはり1から作成するしかないのでしょうか?
0401デフォルトの名無しさん
NGNGマルチうぜー
0402デフォルトの名無しさん
NGNG#include <windows.h>
int main(void)
{
char c;
char a[3]={3,4,5};
char b[3]={3,4,5};
c=strcmp(a,b);
printf("c=%d\n",c);
c=lstrcmp(a,b);
printf("c=%d\n",c);
}
aとbを比較するとき、等しい場合は0が返ってくると思うのですが何故か
c=1
c=-1
になってしまいます。何故でしょうか?
0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNG文字列になっていない(終端文字がない)から
0405デフォルトの名無しさん
NGNGレスありがとうございます。おっしゃる通りでした。
0406デフォルトの名無しさん
NGNGCString strHtmlPath = _T("C:\\tmp.html");
の _T はどういう処理をしているのでしょうか?
MSDNで調べると「データ型のマッピング」と書かれているのですが
データ型のマッピングという言葉の意味がわかりません。
_T というものはどう言うときに使うものなのでしょうか?
それから、その後に、
Navigate2(strHtmlPath, NULL, NULL);
となっているのですが、MSDNでNavigate2メンバ関数を調べると、3つにオーバーロード
されていて、どれも第一引数がポインタとなっています。
が、上記strHtmlPathは前述の通りCString型の実体として宣言されています。
これはどう言うことなのでしょうか?CString型ということが何かカギなのでしょうか?
0407デフォルトの名無しさん
NGNGMSDNにも書かれていますが、
_Tは文字列がUnicodeで記述されている場合に、
L"文字列"に置き換えて、その他の場合には
単に削除されるようです。文字列がUnicodeの場合には
L"文字列"というように最初にL(longのL)を書かないと
ダメらしい。
0408デフォルトの名無しさん
NGNG後者は
CString::operator LPCTSTR
が呼び出されているのでしょう。つまりキャストです。
しかし2番目と3番目、どっちが呼び出されているのですかね。
参照はNULLを取らないから、2番目だと思うのですが、
2番目だとすると第2、第3引数は不要ではないですかね?
0409デフォルトの名無しさん
NGNGレスありがとうございました。
ポインタを宣言してもそのポインタが指し示すアドレスがわからないという
ことですね。
0410デフォルトの名無しさん
NGNGレスありがとうございます。
C:\\ という記号の辺りがデータ型によっては特殊文字になってしまうのかな?
そこらへんが関係するのですね。調べてみます。
>>408
レスありがとうございます。
MSDNをみたら operator LPCTSTR が載っていました。
試しに
Navigate2((LPCSTR)strHtmlPath, NULL, NULL);
と記述しても動きました。
どうもありがとうございました。
0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNGあ、それからNavigate2は2番目の関数のようです。
いわれる通り、第一引数だけで残りを省略しても動作しました。
0413デフォルトの名無しさん
NGNGUnicodeご存知ないですかね。
0414デフォルトの名無しさん
NGNGが、デメリットはありますか?
0415デフォルトの名無しさん
NGNGデメリットはネタに見えることです。
0416デフォルトの名無しさん
NGNGいままで使ってきた Visual C++ の環境の設定を保存しておきたいのですが、
設定を保存しているファイルとかあるのでしょうか?
もしくは、レジストリでしょうか?
どなたか ご存知でしたら おしえていただくとありがたいです。
(黒字に白文字でないと、目がつかれたり、また その他ショートカット
なども専用に設定しているので、また、設定をする手間が省けるので、
今後のためにも 教えてください。)
0417デフォルトの名無しさん
NGNG俺は↓のレジストリから必要な部分だけを reg ファイルにして保存してる
[HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0]
0418デフォルトの名無しさん
NGNGそういうのはすべてレジストリだと思われ。
インストールフォルダ以下をざっと探ってみたけどそれらしきものは見つからなかった。
白地に黒、って疲れるよね。
俺は画面のプロパティでウィンドウの背景色を白から薄緑にしてるよ。
他のところまで変わるのはご愛嬌……
0419414
NGNG0420デフォルトの名無しさん
NGNGプッ。
0421デフォルトの名無しさん
NGNGどなたか教えていただけないでしょうか?
#include<stdlib.h>
#include<GL/glut.h>
#include<GL/gl.h>
#include<math.h>
#define PAI 3.1415926536
void display(void)
{
int x=0.5*cos(2.0*PAI*(float)/(float)10);
int y=0.5*sin(2.0*PAI*(float)/(float)10);
int z=0.0;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glBegin(GL_LINE_LOOP);
glVertex3f(x,y,z);
glEnd();
glFlush();
}
0422デフォルトの名無しさん
NGNGあなたは何故エラーメッセージを書かないのですか?
0423デフォルトの名無しさん
NGNG良くわかっていないもので・・・
エラー2 警告0とかいうのは出るんですが
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG>エラー2 警告0
の書かれている所の右側にスクロールバーが無いか?
0426デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNG出力されるエラーメッセージを見ることすら出来ないのは問題外
言語以前にWindowsの基本操作からやり直した方がいい
0428デフォルトの名無しさん
NGNGエラーの場所はたぶん1桁か2桁ぐらいの数値で表示されてると思います
そしてそれは行数です
あなたに何行目でエラーが発生しているか教えてくれるでしょう
さらにエラーメッセージをダブルクリックするとそのエラーが発生した行を
反転表示してくれると期待できます
0429デフォルトの名無しさん
NGNG宿題は自分でやりましょう
0430デフォルトの名無しさん
NGNG大きく違うのですか?グラフィックは点の集まりなのだから、同じでもいいと思う
のですが。
0431デフォルトの名無しさん
NGNG禿しく同意!
0432デフォルトの名無しさん
NGNG問。
たらい一杯ぶんの水を井戸から汲み上げようと思います。
1)コップをつかって何度も何度もくみなおす
2)たらい並の容積のいれものでいっぺんに汲む
無駄なく早いのはどっち。
0433デフォルトの名無しさん
NGNGスレタイが読めない文盲の方ですか?( ´ー`)y-~~
0434デフォルトの名無しさん
NGNG( ´,_ゝ`)
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNG物を教える時に例え話って使うだろ。
プログラミングに限らず。
てか、>>432の意味がマジでワカランかったの?
不条理な逆ギレイクナイ!
0438あぼーん
NGNGhttp://japan.pinkserver.com/yamazaki/moe/hankaku09.html
http://japan.pinkserver.com/yamazaki/moe/hankaku10.html
http://japan.pinkserver.com/yamazaki/moe/hankaku07.html
http://japan.pinkserver.com/yamazaki/moe/hankaku08.html
http://japan.pinkserver.com/yamazaki/moe/hankaku05.html
http://japan.pinkserver.com/yamazaki/moe/hankaku06.html
http://japan.pinkserver.com/yamazaki/moe/hankaku03.html
http://japan.pinkserver.com/yamazaki/moe/hankaku04.html
http://japan.pinkserver.com/yamazaki/moe/hankaku01.html
http://japan.pinkserver.com/yamazaki/moe/hankaku02.html
0439デフォルトの名無しさん
NGNG( ´_ゝ`)
0440デフォルトの名無しさん
NGNG0441430
NGNGする場合、一度半マス移動分のを表示してから、1マス移動を表示したいのですが、
マイナスの座標から表示しても(16ピクセルのセルなら8ピクセルずらし、通常17×17
セルなら18×18セルをずらして表示)大丈夫なのですか?また、他の方法があるなら
教えてください。
0442デフォルトの名無しさん
NGNGCreateDIBSection→BitBlt, StretchBltでやってる
0443デフォルトの名無しさん
NGNG(DWORD) test;
(UINT) test;
(WORD) test;
(BYTE) test;
--
(DWORD) test;
だけ型キャストの警告がでます。どうしてでしょうか?
VC7使ってます。
お願いします。
0444エラー内容も書け
NGNGどんなキャストの警告が出る?
VC6では出なかった。
もしもこういうコードを書いているなら当然だが……
LPVOID test;
DWORD test2 = (DWORD) test;
UINT test3 = (UINT) test;
WORD test4=(WORD) test;
BYTE test5=(BYTE) test;
(testが初期化されていないから値が不定。)
0445デフォルトの名無しさん
NGNG返事遅くなりましたが、どうもありがとうございました。
クリーンインストールするんで、レジストリでもなんでも 強気でいじれるので、
いろいろいじってみたいと思います。
どうも ありがとございました。
0446443
NGNGどうも
'型キャスト' : ポインタを 'LPVOID' から 'DWORD' へ切り詰めます。
ってエラーです。
sizeof で LPVOID と DWORD を調べても、両方4byteで問題ないはずなんですよね。
むしろ問題であるはずのBYTE と WORD のキャストには無警告なんですよ。
おそらくVC7だと64bitアドレスもサポートしてるんで、その性だとおもうんですが、
だとしたら、なんでBYTEとWORDへのキャストには無警告なんでしょうね・・・
0447あ
NGNGいいからソースを見せなさい。
0448443
NGNGUINT型とDWORD型のみへの警告は恐らく、旧来の手法に対する警告ってことでしょうね。
#include <windows.h>
#include <stdio.h>
void main( )
{
DWORD d; UINTui; WORD w;BYTE b;LPVOID p;
p = &d; d = (DWORD) p; ui = (UINT) p; w = (WORD) p; b = (BYTE) p;
printf( "LPVOID = %d\n", sizeof( LPVOID ) );
printf( "DWORD = %d\n", sizeof( DWORD ) );
printf( "UINT = %d\n", sizeof( UINT ) );
printf( "WORD = %d\n", sizeof( WORD ) );
printf( "BYTE = %d\n", sizeof( BYTE ) );
}
結果:LPVOID = 4,DWORD = 4,UINT = 4,WORD = 2,BYTE 1
warning C4311: '型キャスト' : ポインタを 'LPVOID' から 'DWORD' へ切り詰めます。
d = (DWORD) p;
warning C4311: '型キャスト' : ポインタを 'LPVOID' から 'UINT' へ切り詰めます。
ui = (UINT) p;
0450デフォルトの名無しさん
NGNGあらかじめ設定した文字列から
イベント取得時に変更したいのですが
どうやればいいんでしょうか?
0451デフォルトの名無しさん
NGNG0452あ
NGNG了解。
0453bloom
NGNG0454デフォルトの名無しさん
NGNGc++の決まりですか?VCの決まりですか?
template < typename T = void > class hoge 〜
template < typename T > class hoge 〜
にたいして
hoge < void > foo;は可能な様です。
0455山崎渉
NGNG0456デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています