だよな。
せめて、BDS2006を使えよ。
くだすれVisual C++(超初心者用)
スルーすりゃいいのに、自分に向けられた発言だと思い込む人もいるんですね。
うん。
うんにゃ。
>>933 は何を思ってこのスレッドを質問対象にしたのだろう
そんなことを考えて眠れなくなりそうだ
つーか、眠れないw
明日4時おきなのに・・・
>>958 後26時間もあるんだから、今眠れなくても問題ないだろ。
>>959 間違った、今日の4時
あと2時間半でおきなきゃ
その状況で寝ると、大音響の目覚ましをスルーするか、
さもなくばスヌーズつきの目覚ましをきっちり止めて棚に戻したことも
記憶に残らずそのまま寝直す漏れがきましたよ。
>>937 スレ違いなんでこれ以上はレスしないけど。
MFCなら一応CBitmap, BCBならTBitmapというのがあるけど画像処理用では無いので細かい
ピクセル扱うには使い辛い、画像処理系ならこの辺は自作が基本、詳しくはCreateDIBSection等
でぐぐってみ、後画像のロードもヘッダ解析して自前でロードが基本、その辺が面倒なら描画
は遅いけどGDI+等のライブラリなどを使う方法もある、MSから落とせたりその辺にヘッダ込み
で置いてたりするけどVC++では無くBCBの場合はそのままでは使えないのでインポートライブラリ
は自分で用意の事。
ビットマップだけならLoadImage、JPEGとかも対応するならOleLoadPicture
って感じで自分は手抜きしてる。ヘッダ解析('A`)マンドクセ
>>963 OleLoadPictureは使った事無いけどLoadImageってDDBじゃなかったっけ、ピクセル
参照するのにGetDIBitsでオリジナル以外にコピー作成するし、メモリ転送のオーバヘッド
や保存する場合結局BITMAPINFOでヘッダ作る必要があったりでイマイチ効率的で無い気が、、、
LR_CREATEDIBSECTIONでDIBゲット(゚Д゚)ウマー
>>961 スレ違いなので、これで最後
結局1時間だけ眠って、日帰り出張行ってきたよ
往復7時間の移動+防塵ルーム5時間の過酷なスケジュールだったけど
なんとかソフトも立ち上がって無事帰ってこれたw
さすがに眠い
967 :
デフォルトの名無しさん:2006/10/12(木) 17:34:48
VC2005 MFC ダイアログベースでやっております。
自分で関数を作ってそれを使おうと思ったらこのようなエラーがでました。
[ファイル名]Dlg.cpp ファイルの中に書いてあります。
error C3861: 'Get8': 識別子が見つかりませんでした
error C2365: 'Get8' : 再定義; 以前の定義は '以前は不明な識別子' でした
これはどういうことでしょうか?
関数自体は正しく書けてるのですが、その関数を実際使おうとするとこのエラーになります。
お願いします><
>>967 「Get8」という名前が有効でない場所で使おうとしている。
それだけでは、これしか言えない。
>>967 Dlg.hにGet8のプロトタイプ書いてないなんてオチは勘弁な
>>969 別にプロトタイプなんて要らないじゃん。
#つーことは、>967はそれ以前の状態か。
外部のexeやdatに引数を渡して実行したいんですけど、どうすれば良いんですか?
>>971 datってなんだ?
exeは
system("a.exe aaaaabbbbcccc");
とか?
973 :
967:2006/10/12(木) 22:12:46
>>968-970 うーん、それ以前の状態と。。。
私はただ、ボタンがクリックされた時のアクションとかを書くところに
void CpictORGDlg::OnBnClickedButton4()
{
・・・
a=Get8(2, i, j, pDC);
}
Get8(int a, int b, int c, CDC* pDC)
{
return ほにゃらら;
}
みたいにすぐ下にGet8を書いただけなんですけど他にやるべきことがあったのでしょうか?
Get8(int a, int b, int c, CDC* pDC)
{
return ほにゃらら;
}
void CpictORGDlg::OnBnClickedButton4()
{
・・・
int a=Get8(2, i, j, pDC);
}
975 :
デフォルトの名無しさん:2006/10/12(木) 22:29:02
VC++2005ですが、ヘッダーファイルを記述しなくても
関数が使えるのはなぜでしょうか?
976 :
967:2006/10/12(木) 22:44:48
>>974 入れ替えるだけでできました><
すいません、こんな単純なことで><
>>975 C++ではなく、Cならプロトタイプ宣言(の含まれたヘッダをインクルードすること)なしでも関数を呼び出せる。
決して勧めはしないが。
978 :
デフォルトの名無しさん:2006/10/12(木) 23:40:44
>>977 VC++2005でもできましたが?
やはり、ヘッダ書いた方が動作が速かったり、誤作動起こさない
っていうのがあるのでしょうか?
は?
>974のように、先に定義がある場合はプロトタイプ宣言は必要ない。
逆に言えば、定義がない場合や定義より先に使いたい場合には必要となる。
>>972 間違えました、batです。
systemはbatも実行できますか?
文字列を渡してFindFirstFile関数でファイルをチェックする関数を作ったんですけど、
寿命の短い範囲にHANDLE変数を宣言して、頻繁に生成と破棄を繰り返すのは邪道ですか?
985 :
デフォルトの名無しさん:2006/10/13(金) 08:20:32
>>977 インクルードしなくても動作するのになぜインクルードしないと
いけないのですか?利点はなんですか?
もはやスレ違い
>>985 標準関数についてならば、標準インクルードファイルをインクルードすると型チェックが正しく働くと言うメリットがある。
例えば、string.hをインクルードせずにstrcpy()と書くとコンパイルはできるが当然まともには動かない。
VisualC++6.0を使ってBMPファイルをリソースから
ロードするプログラムを作っているのですが、
コンパイルした後、EXEを別の場所にもっていって
実行すると、bmpファイルが見つからないエラー
が発生します。
DebugおよびReleaseフォルダに作成される
Script1.rcには間違いなく画像データが組み込まれて
いるのですが、これは何故なのでしょうか。
990 :
989:2006/10/13(金) 15:30:08
>>989 Script1.rcではなくて
「Script1.res」の間違いです
991 :
989:2006/10/13(金) 15:45:21
すいません、自己解決です。
別のリソース(Xファイル)からbmpを
コールしているところがありましたorn..
>>978 VC++ 2005だって拡張子がcのファイルをコンパイルさせればCコンパイラとして働く。
今DialogクラスのOnInitDialog内でリストにデータを挿入するコードを記述しております。
CListCtrl* pTeikouCtl = (CListCtrl*)GetDlgItem(IDC_LIST);
for(int iCnt = 0; iCnt < (int)m_Vector.size(); iCnt++){
pTeikouCtl->InsertItem(iCnt, vector[iCnt]);
}
UpdateData(FALSE);
実行してみたのですがリストには何も入っていませんでした。
どこか間違いなどありましたらご指摘をお願いいたします。
開発環境 VS2005 MFC WinXP SP2
コードが少し間違っておりました。
今DialogクラスのOnInitDialog内でリストにデータを挿入するコードを記述しております。
CListCtrl* pListCtl = (CListCtrl*)GetDlgItem(IDC_LIST);
for(int iCnt = 0; iCnt < (int)vector.size(); iCnt++){
pListCtl ->InsertItem(iCnt, vector[iCnt]);
}
UpdateData(FALSE);
実行してみたのですがリストには何も入っていませんでした。
どこか間違いなどありましたらご指摘をお願いいたします。
開発環境 VS2005 MFC WinXP SP2
>>994 IDC_LISTはリストビューコントロールのIDか?
リストビューの表示タイプ(Icon,Report等)は?
表示タイプがReportの場合カラムヘッダはちゃんと追加してあるか?
InsertItemの戻り値は?
996 :
994:2006/10/13(金) 21:49:35
>>995 リストビューではなくリストボックスでした。リストビューに変更したほうがよろしいでしょうか?
ちなみにInsertItemの戻り値はすべて0でした。
997 :
995:2006/10/13(金) 21:57:36
>>996 好きなほう使えばいい。
リストボックスを使うならGetDlgItemの戻り値をCListBoxにキャストして
AddStringすればいい。
998 :
994:2006/10/13(金) 22:03:57
>>997 リストボックスのままで行きます。
教えてもらった方法でうまくデータを挿入できました。
ありがとうございます。
↓
1000
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。