■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

★初心者にVisual C++を教えるスレ★ Part14
501 名前:デフォルトの名無しさん :04/09/25 19:46:27
またこの質問か

502 名前:デフォルトの名無しさん :04/09/25 19:57:27
GetIpAddress()

503 名前:デフォルトの名無しさん :04/09/25 20:43:31
>>494
MultiByteToWideChar() で SJIS -> UTF-16
WideCharToMultiByte() で UTF-16 -> UTF-8

504 名前:デフォルトの名無しさん :04/09/25 22:29:01
それって文字コードを変換するやつとちゃうんか?
>503

505 名前:デフォルトの名無しさん :04/09/25 23:20:07
>>504
そうですが何か?

506 名前:デフォルトの名無しさん :04/09/26 03:47:57
コンボボックスのストリング型をchar型に直したんだけど、
このchar型をさらに16進表示にしたいのです。

CString writeblock;
m_COMBO_writeblock.GetWindowText(writeblock);
char wb[1];
strcpy(wb, writeblock);
char Write[13] = {・・,・・,〜, wb[1], ・・, ・・,}

こんな感じで
例えば、コンボボックスの04を0x04といった感じでwbに入れてやりたい
んですが、今のままだと、34となってしまいます。
wb[1]に04となるようにしたいのですが、分かりません。
どなたか良い方法教えてください。


507 名前:デフォルトの名無しさん :04/09/26 04:35:02
about:blank
これがエクスフローラ開くとどうしても最初に立ち上がってしまう
これって治せるのかな?


508 名前:デフォルトの名無しさん :04/09/26 05:20:57
>>507
とりあえず"エクスフローラ"の作者かサポートに質問

509 名前:デフォルトの名無しさん :04/09/26 10:36:43
VC++6を使っています

質問なのですが、実行結果をテキストファイルに出力するには
どうしたらよいでしょうか?
100万個ほどの数値の統計を取りたいのですが、
DOSプロンプト上には最後の1000個ほどの結果しか残らないので
困っています。

初心者な質問ですが、よろしくお願いします。


510 名前:デフォルトの名無しさん :04/09/26 10:41:13
こりゃまたずいぶん

511 名前:デフォルトの名無しさん :04/09/26 10:43:06
stdout=fopen(hogehoge);

512 名前:デフォルトの名無しさん :04/09/26 10:54:45
>>509
それだとメモリを増設しないといけないな。
スレ違いなのでここまで。


513 名前:デフォルトの名無しさん :04/09/26 11:05:31
>>509
とりあえずデータがテキストファイルになれば良いのだったらリダイレクトが簡単.
例えばhoge.exeってプログラム名だったら
hoge.exe > hage.txt
って感じで入力すると,画面に出力されてたものがhage.txtに出力できますよ.


514 名前:デフォルトの名無しさん :04/09/26 11:19:33
>>513
それはスレ違い。
ここはVC++のスレ。


515 名前:509 :04/09/26 11:33:54
こんなに早く質問に答えていただいてありがとうございます。
とりあえず>>513の方法で出来たので、しばらくはそれでいこうと思います。

何分、Cを始めたばかりの未熟者ゆえ・・・。変な質問しちゃって
すいませんでした。とても助かりました。

516 名前:デフォルトの名無しさん :04/09/26 11:35:43
>>513
それは承知.ただまぁ509が解決する際の選択肢になればいいからね.


517 名前:516 :04/09/26 11:38:18
516は514へです.

>>515
使い難さを感じたら511あたりも検討してください.


518 名前:デフォルトの名無しさん :04/09/26 13:09:49
>>514
VC++でリダイレクトを使ったらいけないのか?

519 名前:デフォルトの名無しさん :04/09/26 13:42:45
VC++でソケット使えるからソケットプログラミングの話もここでいいですか?

520 名前:デフォルトの名無しさん :04/09/26 13:43:04
>>518
リダイレクトはシェルの機能。
シェルスレでやれ。


521 名前:デフォルトの名無しさん :04/09/26 13:49:17
>>519
ネットワークプログラミング相談室 Port10
http://pc5.2ch.net/test/read.cgi/tech/1090385857/l50

522 名前:デフォルトの名無しさん :04/09/26 14:00:10
>>520
解決方法がスレ違いの内容だからって一言もそれに触れなかったら
質問者はいつまでたっても回答を得られないぞ。バカジャネーノ。

523 名前:デフォルトの名無しさん :04/09/26 14:03:20
質問の解決を第一に考えようよ.(なんか,みなさん縦割好きだね.行政みたいだ.)
509に513は問題ないでしょ?
そのあと更に509さんがリダイレクトについて質問してきて
長くなりそうだったら誘導すればいいんだし.


524 名前:デフォルトの名無しさん :04/09/26 14:05:56
プログラミング始める前にパソコンの使い方ぐらい覚えろよ。
CUIのプログラム作っててCUIが使えないんじゃ話しにならん。

525 名前:デフォルトの名無しさん :04/09/26 14:14:11
そうだぞ、
ダブルクイックも出来ないで
プログラミングなんて100年早いわ。


526 名前:デフォルトの名無しさん :04/09/26 14:25:00
>>524は初心者に対して偉そうにしたいだけ w

527 名前:デフォルトの名無しさん :04/09/26 15:31:58
ダブルクィックって何?聞いたこと無いんだが…

528 名前:デフォルトの名無しさん :04/09/26 15:34:18
ダブルクイック
ディスクトップ
ワーニング
アップリケーション

529 名前:デフォルトの名無しさん :04/09/26 15:36:11
スッタク


530 名前:デフォルトの名無しさん :04/09/26 15:58:39
VisualC++で.NETアプリケーションの開発をやるメリットって何かあります?

531 名前:デフォルトの名無しさん :04/09/26 16:07:25
.NET対応アプリケーションを作れるというのが
メリットでは?

532 名前:デフォルトの名無しさん :04/09/26 16:10:08
MC++ってSTL使えますか?
std::vector<CView*> VecView;
なんて書いたら怒られました

533 名前:デフォルトの名無しさん :04/09/26 16:13:25
MC++ってなんだよ
VC++なら使えるぞ

534 名前:デフォルトの名無しさん :04/09/26 16:37:22
ManagedC++だろ

535 名前:デフォルトの名無しさん :04/09/26 16:45:03
Microsoft C++ に決まってるだろ。


536 名前:デフォルトの名無しさん :04/09/26 16:47:39
クズばっか(w

537 名前:デフォルトの名無しさん :04/09/26 17:20:56
俺様用のメモ

C言語なら俺に聞け! Part 91
http://pc5.2ch.net/test/read.cgi/tech/1095180315/l50
C++相談室 part35
http://pc5.2ch.net/test/read.cgi/tech/1093958200/l50
【初心者歓迎】C/C++室 Ver.9【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1094494997/l50
ぼるじょあがC/C++の宿題を片づけますYO! 31代目
http://pc5.2ch.net/test/read.cgi/tech/1095075678/l50

538 名前:デフォルトの名無しさん :04/09/26 19:15:28
WM_COMMANDのwParamの上位ビットには何が記録されているのでしょうか?
入門書では下位ビットにコントロールやメニュー項目などの識別子が入っているとあるのですが上位ビットについては省かれていて非常に気になります。


539 名前:デフォルトの名無しさん :04/09/26 19:23:32
>>538
The high-order word specifies the notification code if the message is from a control.
If the message is from an accelerator, this value is 1.
If the message is from a menu, this value is zero.

540 名前:デフォルトの名無しさん :04/09/26 20:56:51
>>538
素でMSDN知らなそう
http://msdn.microsoft.com/library/

541 名前:デフォルトの名無しさん :04/09/26 21:13:17
VC++.NET 2005 のβ版いれたらVC6.0のファイルの関連付けが全部ぶっ飛んでしまったのですが、
2005をアンインストールしても直りませんでした。
元通りにもどすにはVC6.0を再インストするか、手動で一つ一つ関連付けしていくしかないのでしょうか?

542 名前:デフォルトの名無しさん :04/09/26 22:05:09
>>540
素でMSDNってどういうものなんでしょう。。。

543 名前:デフォルトの名無しさん :04/09/26 23:51:31
Win32SDKの日本語に翻訳したお勧めの書籍を教えてください

544 名前:デフォルトの名無しさん :04/09/27 00:27:10
>>506です。誰か教えてぇぇ

545 名前:デフォルトの名無しさん :04/09/27 00:36:38
>>544
wb[1] = atoi(writeblock);


546 名前:デフォルトの名無しさん :04/09/27 01:05:22
>545

うそつき

547 名前:デフォルトの名無しさん :04/09/27 04:23:41
>>544
_tcstol(writeblock, NULL, 16);

548 名前:デフォルトの名無しさん :04/09/27 07:09:47
ListView の特定のカラムにプログレスバーを入れたいけど
無理?

549 名前:デフォルトの名無しさん :04/09/27 07:25:45
オーナードローしろ。
プログレスバーを配置する事もできるけど
リストアイテムの数だけ作る事になるから
何万ものウインドウを作る事になる。

550 名前:デフォルトの名無しさん :04/09/27 07:35:53
>>548みたいな質問する初心者が
その程度のアドバイスでできたら
1年後は優秀なクラッカーになるだろう

551 名前:デフォルトの名無しさん :04/09/27 09:28:06
>>548
つーか最近見たよね
その同じ質問

552 名前:デフォルトの名無しさん :04/09/27 14:51:56
CWebBrowser2で表示したページが
NotFoundであることを取得するにはどうしたらいいでしょうか?

553 名前:デフォルトの名無しさん :04/09/27 21:05:10
ウェブ CWebBrowser2 の検索結果のうち 日本語のページ 約 30 件中 1 - 10 件目 (0.21 秒)

予想される検索キーワード: Iwebbrowser2

Win32API 質問箱
... 17 名前: デフォルトの名無しさん 投稿日: 2001/06/04(月) 22:55 >>15 IWebBrowser2
を使えばできる。 18 名前: 17 投稿日: 2001/06/04(月) 22:55 VC持ってるなら、CWebBrowser2
のソース見れば?汚いけど。 19 名前: デフォルトの名無しさん ...
pc.2ch.net/tech/kako/991/991576947.html - 101k - キャッシュ - 関連ページ

IEコンポーネントを使い倒すスレ
... 使用している単純なサンプルなどあればいいのですが・・・ 26 名前:
デフォルトの名無しさん 投稿日: 2001/02/27(火) 15:25 ↑ CWebBrowser2
も使ってはいけないってこと? それなら、難しくて分からないや。 27 名前 ...
piza.2ch.net/tech/kako/982/982930049.html - 63k - キャッシュ - 関連ページ

554 名前:デフォルトの名無しさん :04/09/28 00:03:13
VC7で無名namespaceの変数を使うと、入力補助(メンバとかの自動候補)や
型や引数のポップアップが出なくなるんですが、何か対処方法あります?

555 名前:デフォルトの名無しさん :04/09/28 00:21:47
VC++.NETでSTLは使えないの?????

556 名前:デフォルトの名無しさん :04/09/28 00:38:54
だ か ら 〜
ListView の特定のカラムにプログレスバーを入れたいけどどうすればいいの?


557 名前:デフォルトの名無しさん :04/09/28 00:40:09
特定のカラムの上にプログレスバーを描画すればいいだけ

558 名前:デフォルトの名無しさん :04/09/28 09:35:04
>>431>>432

559 名前:デフォルトの名無しさん :04/09/28 12:01:47
APIを使用したwindowsプログラミングを学習中なのですがウインドウプロシージャのswith文でbreakを記述しないのはなぜなのでしょうか?
switch (message)
{
case WM_DESTROY:
// ウインドウが破棄されたときの処理
PostQuitMessage(0);
return 0;
default:
// デフォルトの処理
return DefWindowProc(hWnd, message, wParam, lParam);
}
↑こんな具合に。
C++を勉強していたときにはswithはbreakを記述しないとすべての処理を行ってしまうため、必ず記述するものだとあったのですが。。


560 名前:デフォルトの名無しさん :04/09/28 12:07:07
>>559
returnしなければね


561 名前:デフォルトの名無しさん :04/09/28 14:04:33
windowsプログラミングではswithでbreakの代わりにreturn 0が使用できると言うことでしょうか。
ブレイクとリターンでは意味合いが変わってくるような気もするのですが、どちらの手法を利用するべきなのでしょう?

562 名前:デフォルトの名無しさん :04/09/28 14:06:11
>553
検索してもわからなかったから質問したんですけど

563 名前:デフォルトの名無しさん :04/09/28 14:08:55
>>561
returnしないとDefWndowProc呼んじゃうんだよ、デフォルト処理したくない時はreturn

564 名前:デフォルトの名無しさん :04/09/28 14:15:02
>>561
swithじゃなくてswitch break return のことなら C/C++スレへ
別にWindowsでもVC++特有の問題でもない。

565 名前:デフォルトの名無しさん :04/09/28 14:16:02
>>561
これを追ってみるといい
#include <iostream>
using namespace std;
void hoge (int p) {
switch (p) {
case 0:
cout << "0" << endl;
return;
case 1:
cout << "1" << endl;
break;
case 2:
cout << "2" << endl;
case 3:
cout << "3" << endl;
break;
}
cout << "last" << endl;
}
int main () {
hoge (0);
cout << "----" << endl; hoge (1);
cout << "----" << endl; hoge (2);
return 0;
}


566 名前:デフォルトの名無しさん :04/09/28 14:19:10
>>561
そもそもbreakとreturnの意味が違うってところまで分かってんならもう少し考えたら
分かるだろうよ。switch文ならbreakっていう決まりがあるわけじゃなくて、breakの機能
が必要だからそこに入れるってことだろ。

567 名前:デフォルトの名無しさん :04/09/28 14:48:04
そんなことに熱くなるより>554も答えてくださいよ皆の衆

568 名前:デフォルトの名無しさん :04/09/28 14:55:43
>>567
普通はそういうことがあっても気にしない。
気にする人は自分で解析するんじゃないか?

569 名前:デフォルトの名無しさん :04/09/28 15:36:20
インテリセンスに頼るような奴は修行が足りない。

570 名前:デフォルトの名無しさん :04/09/28 15:45:15
携帯普及率の増加に比例して電話番号を覚えられない人も増加しているのは有名な話。

571 名前:デフォルトの名無しさん :04/09/28 21:03:30
>>565
わかりやすいコードありがとうございます。
動かしてみたらリターンとブレイクで処理に違いがあることがわかりました。


572 名前:デフォルトの名無しさん :04/09/28 22:28:21
>>570
何の関係があんだよ。おまいバカだろ(w

573 名前:デフォルトの名無しさん :04/09/28 22:32:41
>>572
バ、バカだとぉぉ!!!!
キサマぁぁぁあぁ

574 名前:デフォルトの名無しさん :04/09/28 22:37:34
>>572,573
まぁまぁまぁまぁ


575 名前:デフォルトの名無しさん :04/09/28 22:45:21
Ω ΩΩ<お、お前らおちおちおちけもつっうつ

576 名前:デフォルトの名無しさん :04/09/28 23:14:05
いや、馬鹿だとは思わないよ。実際には結構頭いいんだと思う。でも
時々、深く考えないでカキコしちゃうことがあって、しかもそういう時に
限っていらん所を突っつく奴が出て来るから、結局かかないでいい恥を
掻いてしまうタイプなんだと思う。まあ、犬に噛まれたと思えばよし。

577 名前:デフォルトの名無しさん :04/09/28 23:20:12
つか、Doc/Viewってなんだよ。まじ意味わかんねー
BCBに浮気から本気になりそうな悪寒

578 名前:デフォルトの名無しさん :04/09/28 23:24:08
1.25ジゴワット

579 名前:デフォルトの名無しさん :04/09/28 23:55:22
>>577
データの保持や操作はDocumentで管理し、Viewはユーザーとの対話/表示に専念させよう
という概念。

580 名前:デフォルトの名無しさん :04/09/28 23:57:22
>577
Doc/Viewなんてわかんなくても無問題
ダイアログベースから始めるべし
つーか、いきなりDoc/ViewはRPGでゆーとLV1でラスボス戦に匹敵w

581 名前:デフォルトの名無しさん :04/09/29 02:14:41
>>568-569
そりゃないぜセニョール
インテリセンスが使えるのを前提でクソ長い名前をつけまくったんだよ。
いちいちコーディングのたびにネームスペースをコメントアウトして
書き終わってからまた戻してる現状・・・

582 名前:デフォルトの名無しさん :04/09/29 06:40:50
あのう大変あつかましいのですが
簡単な画像ビューアーなどを作ったりしたことがある
職歴無しの現在無職の28歳なんですが
それでもPGできますでしょうか?
やっぱりNEにさせられるんでしょうか?

釣りでもネタでもないです。マジレスなので
ここだと実際にPG経験者がいるみたいなので
リアリティのある返答が期待できると思いまして。
スレ違いかもしれませんがお願いします

583 名前:デフォルトの名無しさん :04/09/29 06:55:32
***すれ立てるまでもない質問はここで 第59刷*** (ム板)
http://pc5.2ch.net/test/read.cgi/tech/1095070402/
スレッドを立てるまでもない質問雑談スレ16 (マ板)
http://pc5.2ch.net/test/read.cgi/prog/1089465975/

聞くなら、この辺りがスレ的には正しいかも。

584 名前:582 :04/09/29 06:58:03
>>583
すみません移動します
ありがとうございました

585 名前:デフォルトの名無しさん :04/09/29 14:36:48
>>552を教えてください。
ヒントでもかまわないので・・・

586 名前:デフォルトの名無しさん :04/09/29 15:03:44
HTTP/1.1 404 Not Found

VC持ってるなら、CWebBrowser2
のソース見れば?汚いけど。

587 名前:デフォルトの名無しさん :04/09/29 18:22:25
BitBlt等で描画できますが、ピクセル単位ではなく
ピクセルより細かく描画することってできませんでしょうか?
最初は1ピクセルで動かして2ピクセルにすると
2倍の速度になってしまうので、急なスピードアップになってしまいます。タイマー使わなくても遅いので細かくする必要があるかなと思いまして。

588 名前:デフォルトの名無しさん :04/09/29 18:34:10
>>587
ピクセル以下って何?

589 名前:デフォルトの名無しさん :04/09/29 18:38:14
>>587
ピクセルって最小単位だよ?
例えば、点を動かしたいのなら、座標、移動速度のベクトル、を点ごとに
保持し、
次の座標=現在座標+移動速度のベクトル×時間
という計算をすれば次の時間の座標が解かるでしょ
座標というデータを実数型にして、描画するときは小数点以下を切り捨てれば良い

590 名前:デフォルトの名無しさん :04/09/29 18:43:59
>>589
プログラム一周してくるのが遅いから
1ピクセルをより早く動かすことができないのです。
かといって2倍の2ピクセルにすると速すぎるし。
別に特別重い処理をしてる訳でも無さそうです。
描画の数増やしても遅くならないし。

591 名前:デフォルトの名無しさん :04/09/29 18:52:42
>>590
べつに整数倍で動かさなくても良かろう。
>>589の言ってるように移動量を実数倍で持てばいい。
例えば1.5づつ動くとすると
1.5 3.0 4.5 6.0 7.5…
小数点以下を切り捨てれば
1 3 4 6 7…
となって、全体でみると1.5づつ動いてるように見える。

592 名前:デフォルトの名無しさん :04/09/29 19:04:48
勘違い。move_size=1;
y+=move_size;みたいな使い方してたのが間違いだった。
線形補間使えば、精度上がるんだ。
それともyとmove_sizeを実数型にするか。
>>588~>>591
みなさんありがとうございました。

593 名前:デフォルトの名無しさん :04/09/29 19:05:28
質問です。トラックバーなのですが
case WM_CREATE:
ic.dwSize = sizeof(INITCOMMONCONTROLSEX);
ic.dwICC = ICC_BAR_CLASSES;
InitCommonControlsEx(&ic);
hTrack = CreateWindowEx(0,//拡張ウィンドウスタイル
TRACKBAR_CLASS,//ウィンドウクラス
"",//ウィンドウの名前
WS_CHILD | WS_VISIBLE | TBS_ENABLESELRANGE | TBS_FIXEDLENGTH ,//ウィンドウスタイル
25, 7, 150, 15,//位置、大きさ
hWnd,//親ウィンドウ
(HMENU)0x10,//コントロールID
hInst,//インスタンスハンドル
NULL);
このように宣言し、
case WM_HSCROLL:
iPos = SendMessage(hTrack, TBM_GETPOS, 0, 0);
wsprintf(szStr, "%d", iPos);
SetWindowText(hEdit,szStr);
iPosはint型で、szStrはchar型です。
SetWindowTextでエディットコントロールへ
トラックバーの位置を表示しようとしたのですが、取得できていません。
初心者な質問ですみません。

594 名前:デフォルトの名無しさん :04/09/29 22:36:11
DLL作りたいんですが、コンパイル時に

mfcs42d.lib(dllmodul.obj) : error LNK2005: __pRawDllMain はすでに ModArtDLL.obj で定義されています
mfcs42d.lib(dllmodul.obj) : warning LNK4006: __pRawDllMain は ModArtDLL.obj で定義されています; 2 つ目以降の定義は無視されます
ライブラリ Debug/ModArtDLL.lib とオブジェクト Debug/ModArtDLL.exp を作成中
Debug/ModArtDLL.dll : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました
link.exe の実行エラー

というエラーが出てコンパイルできません。

595 名前:デフォルトの名無しさん :04/09/29 22:41:53
フーン よかったね

596 名前:デフォルトの名無しさん :04/09/29 22:42:06
>>594
DllMain()が定義されてるとか?

597 名前:デフォルトの名無しさん :04/09/29 22:46:58
>>596
それは消しました

598 名前:デフォルトの名無しさん :04/09/29 23:00:02
自己解決したからえーわ
つかえねーなお前等

599 名前:デフォルトの名無しさん :04/09/30 17:23:55
>598
まったくもって同意だ。

600 名前:デフォルトの名無しさん :04/09/30 18:29:57
>>598-599
つかえねーなお前等
残ってる質問全部答えてみろよ。


601 名前:デフォルトの名無しさん :04/10/01 00:12:15
ちょっとMFCにて質問です
CMyDialog.cpp(独自のクラス)から、CxxxViewクラスの関数を使うため、
#include "CxxxView.h" を冒頭に入れたら、
error C2143:構文エラー:':'が'*'の前にありません。
error C2501:'CxxxView::CxxxDoc' : 識別名を宣言するのに、型が指定されていません。
error C2501:'CxxxView::GetDocument' : 識別名を宣言するのに、型が指定されていません。

と怒られてしまいました・・・
どうしたら良いでしょう?

602 名前:デフォルトの名無しさん :04/10/01 00:16:18
>>601
MFCの前にC++の勉強をお願いします。

603 名前:デフォルトの名無しさん :04/10/01 00:31:56
>>601
#include "CxxxView.h"
の前に
#include "CxxxDoc.h"
を挿入

604 名前:601 :04/10/01 00:40:49
>>603
おお!感謝です!

605 名前:デフォルトの名無しさん :04/10/01 02:05:53
VisualStudio.NET 2003について質問です。
ビルドする際にビルド番号の自動インクリメントを行いたいのですが、
アドインを探してみてもVC6用しか見つかりませんでした。
マクロを組むしかないのでしょうか?

606 名前:605 :04/10/01 02:11:31
すみません。自己解決しますた

607 名前:デフォルトの名無しさん :04/10/01 02:45:12
CreateFile("test.bmp", 以下略);の戻り値(HANDLE型)
とHBITMAPって同じ扱いができますか?
ReadFile( (HANDLE)hBMP, pBMP, 略); //キャストOK??
要はHBITMAPの色情報にアクセスしたいんです。
HANDLEでBitBltができるならHANDLE使うのもOKだけど。

608 名前:デフォルトの名無しさん :04/10/01 04:05:20
>>607
できません。

609 名前:デフォルトの名無しさん :04/10/01 19:33:19
VisualC++.NETであるディレクトリにあるテキストファイルを全てコンボボックスのデータに入れたいのですが、
どうすればいいですか?
ディレクトリのパスはCString型の変数で受け取ります。

610 名前:デフォルトの名無しさん :04/10/01 19:47:16
>>609
検索キーワード教えてやるよ。
CFileFind
CComboBox::AddString

611 名前:609 :04/10/01 19:50:07
>>610
ありがとうございます。

612 名前:デフォルトの名無しさん :04/10/01 22:07:56
>>608
それでプログラム走らせたら、エラー起こっちゃった。
レスありがと。

613 名前:デフォルトの名無しさん :04/10/01 23:56:25
>>612
余計なお世話かもしれないけど、
ビットマップファイルを読みたいんだったら
LoadImage で LR_LOADFROMFILE を指定すればできるよ。

614 名前:デフォルトの名無しさん :04/10/02 00:32:04
エディタ作ろうと思うんだけど、注意する部分って何?

615 名前:デフォルトの名無しさん :04/10/02 00:34:30
よく、ぐぐる事

616 名前:デフォルトの名無しさん :04/10/02 01:06:58
>>613
どうもありがとう。
BMPファイルを直接アクセスしようと試みてます。
が、なかなかうまくいかなくて。。。調べ不足気味です。


617 名前:デフォルトの名無しさん :04/10/02 01:15:52
>>616
BMPファイルの構造
------
BITMAPFILEHEADER
BITMAPINFOHEADER
RGBQUAD[(1<<bpp)<=256 ? (1<<bpp) : 0 ]
ビットデータ

ビットは高さが正のときは下から、負のときは上から、
横幅は確か4バイトアラインになってた気がするので注意。

別にファイル直接操作しなくても
LoadImage で LR_CREATEDIBSECTION して
GetObject で DIBSECTION が取って来れるが。

618 名前:616 :04/10/02 02:58:15
あるBMPファイルを読み込みそのデータをもとに
hForeBMPを作成しようとしてます。
おそらくアクセスエラーだと思うんですが、
どこが間違ってるんでしょう?
あとDWORD単位でデータの改変できないのかな。
サンプルとか見てみると皆BYTE使ってるし。
最初DWORDで試みたけど同じくダメでした。
617さんレスありがとうです。

DWORD iFileSize=0;
BYTE *pReadData, *pData;

//ここは関係有りませんがpData取得の為載せました。
hForeDC=CreateCompatibleDC(NULL);
hForeBMP=CreateDIBSection(hdc,&biInfo,DIB_RGB_COLORS,(void**)&pData,NULL,0);
SelectObject( hForeDC, hForeBMP );

//ハンドルの取得
HANDLE hBMP=CreateFile(FileName,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
iFileSize=GetFileSize( hBMP,NULL );
//ハンドルから読み込み
pReadData=(LPBYTE)HeapAlloc( GetProcessHeap(), 0, iFileSize );
ReadFile( hBMP, pReadData, iFileSize, NULL,NULL );
CloseHandle(hBMP);
//色データ位置へ
pReadData=(BYTE*)(pReadData+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER));
pData=(BYTE*)(pData+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER));


619 名前:616 :04/10/02 02:59:10
続きです。長文ごめんなさい。

//データの改変
int max=0,min=width;
for(int i=0; i<height; i++){
for(int j=0; j<width; j++){
if(pReadData[j*3+i*height]==0x00 &&
pReadData[j*3+i*height+1]==0x00 &&
pReadData[j*3+i*height+2]==0x00) { //黒なら白に
pData[j+i*height]=GaugeColor & 0xff; //B
pData[j+i*height+1]=(GaugeColor>>8) & 0xff; //G
pData[j+i*height+2]=(GaugeColor>>16) & 0xff; //R
}else{ //白なら黒に
pData[j+i*height]=0x00;
pData[j+i*height+1]=0x00;
pData[j+i*height+2]=0x00;
}
}
}
HeapFree( GetProcessHeap(), 0, pReadData );

620 名前:デフォルトの名無しさん :04/10/02 03:50:07
>>619
"j*3+i*height"とか"j+i*height"のあたりがダメダメ。
もう一度サンプルをよく見てみ。

621 名前:614 :04/10/02 03:55:38
開発はVC++.netですが、
Win32APIとか覚えないといけませんか?

622 名前:>>619 :04/10/02 06:30:50
void CBbbDlg::OnButton1()
{
  // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
  CString fname = "c:\\test.bmp";
  HANDLE hFile = CreateFile(fname, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

  DWORD FileSizeH, FileSizeL;
  FileSizeL = GetFileSize(hFile, &FileSizeH);

  LPBYTE lpBMP = new BYTE[FileSizeL];
  DWORD dwRead = 0;
  ReadFile(hFile, lpBMP, FileSizeL, &dwRead, NULL);

  LPBITMAPFILEHEADER pFileHeader;
  LPBITMAPINFOHEADER pInfoHeader;
  pFileHeader = (LPBITMAPFILEHEADER)(lpBMP);
  pInfoHeader = (LPBITMAPINFOHEADER)(lpBMP + sizeof(BITMAPFILEHEADER));

  int offset = pFileHeader->bfOffBits;
  LPBYTE pPixcel = lpBMP + offset;
  int PixBuffLen = FileSizeL - offset;

  int BmpHeight = pInfoHeader->biHeight;
  int BmpWidth = pInfoHeader->biWidth;

  CloseHandle(hFile);


623 名前:>>619 :04/10/02 06:31:42
  //変換(24bitのみ)
  ASSERT(pInfoHeader->biBitCount == 24);

  int x, y;
  LPBYTE p = pPixcel;
  for(y = 0 ; y < BmpHeight ; y++)
  {
    for(x = 0 ; x < BmpWidth ; x++)
    {
      if(p[0] == 0 && p[1] == 0 && p[2] == 0)
      {
        p[0] = 0xFF;p[1] = 0xFF;p[2] = 0xFF;
      }
      else if(p[0] == 0xFF && p[1] == 0xFF && p[2] == 0xFF)
      {
        p[0] = 0;p[1] = 0;p[2] = 0;
      }
      p += 3;
    }
  }

  HWND hWnd = GetSafeHwnd();
  HDC hDC = ::GetDC(hWnd);
  int lines = ::StretchDIBits(hDC, 0, 0, BmpWidth, BmpHeight, 0, 0, BmpWidth, BmpHeight, pPixcel, (LPBITMAPINFO)pInfoHeader, DIB_RGB_COLORS, SRCCOPY);
  ASSERT(lines == BmpHeight);
  ::ReleaseDC(hWnd, hDC);

  delete [] lpBMP;
}

でどうかな?

624 名前:デフォルトの名無しさん :04/10/02 14:44:12
>>623
BMPの1行分は4バイトアラインになっていることは考慮しているかい?

625 名前:デフォルトの名無しさん :04/10/02 15:30:01
4バイアラン


626 名前:デフォルトの名無しさん :04/10/02 16:04:26
File View の外部依存関係ってなんなんでしょうか?
というのも、参考書買ってサンプルプログラムで勉強しているんですが、
外部依存関係のところに宣言だけしてあって肝心の定義がみあたらないんです・・・。

627 名前:623 :04/10/02 17:15:29
>>624
考慮してませんでした。
とりあえずyのループで次のようにポインタ調整追加してみますた。
  for(y = 0 ; y < BmpHeight ; y++)
  {
    for(x = 0 ; x < BmpWidth ; x++)
    {
      略
      p += 3;
    }
    if((BmpWidth * 3) % 4) p += 4 - ((BmpWidth * 3) % 4);
  }

へんなやり方でスマソ。もっとスマートな回答者、よろ。


628 名前:デフォルトの名無しさん :04/10/02 17:30:53
やだ

629 名前:616 :04/10/02 17:35:17
622さんのコード真似てみました。
GetFileSize関数の戻り値がいつもlongの最大値に
なってしまうんですが、どういうことなんでしょうか。
どのファイルを指定し取得しても、ファイル名をデタラメにして
取得(そしたら新規ファイルができると思ってやりました(調べて無いです))しても同じ結果で、42..(略)が戻ってきます。
原因はこれだと思いますが、コードも一応....

BYTE *pWriteData;
hForeDC=CreateCompatibleDC(NULL);
hForeBMP=CreateDIBSection(hdc,&biInfo,DIB_RGB_COLORS,(void**)&pWriteData,NULL,0);
SelectObject( hForeDC, hForeBMP );

//ハンドル取得
HANDLE hBMP=CreateFile(FileName,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD FileSizeL=GetFileSize( hBMP,NULL );
if(!hBMP) DebugMSG("File=%s:hBMP is NULL");
//ハンドルからデータを取得
LPBYTE pReadData = new BYTE[FileSizeL];
DWORD dwRead=0;
ReadFile( hBMP, pReadData, FileSizeL, &dwRead,NULL );
CloseHandle(hBMP);


630 名前:616 :04/10/02 17:39:12
続き。
//オフセット値を求めてピクセル情報の位置へ
LPBYTE pPixel[2]; //[0]:読み込み側、[1]:書き込み側
for(int i=0; i<=1; i++){
LPBYTE pData = (i==0)? pReadData : pWriteData;
LPBITMAPFILEHEADER pFileHeader = (LPBITMAPFILEHEADER)(pData);
LPBITMAPINFOHEADER pInfoHeader = (LPBITMAPINFOHEADER)(pData+sizeof(BITMAPFILEHEADER));
int offset = pFileHeader->bfOffBits;
pPixel[i] = (BYTE*)(pData+offset);
}
以上です。アラインは無視。
スプライトっぽい使い方をしたいので、元画像もしないといけないっぽいから....。このコードどうでしょうか。。。
//データの改変
LPBYTE pr=pPixel[0],pw=pPixel[1];
int max=0,min=width;
for(int i=0; i<height; i++){
for(int j=0; j<width; j++){ //黒なら任意の色へ
if(pr[0]==0 && pr[1]==0 && pr[2]==0){
pw[0]=GaugeColor & 0xff; //B
pw[1]=(GaugeColor>>8) & 0xff; //G
pw[2]=(GaugeColor>>16) & 0xff; //B
}else{ //白なら黒へ
pw[0]=0, pw[1]=0, pw[2]=0;
}
pw+=3;
pr+=3;
}
}
delete[] pReadData;

631 名前:616 :04/10/02 17:39:57
ごめん。変なところに文章はいった。

632 名前:デフォルトの名無しさん :04/10/02 17:40:07
単にファイルのパスが間違ってるだけだろ。
それよりファイルハンドルにhBMPとか名前つけるのやめれ。

633 名前:デフォルトの名無しさん :04/10/02 17:55:14
アンチハンガリアンキタ━━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(  )━(゚  )━(∀゚ )━(゚∀゚)━━!!!!!

634 名前:デフォルトの名無しさん :04/10/02 18:07:11
900

635 名前:デフォルトの名無しさん :04/10/02 18:18:10
HANDLEとHBITMAPは違うってことじゃないのか?

636 名前:デフォルトの名無しさん :04/10/02 18:22:35
>>632
・ファイルハンドルに対して"BMP"という名前は相応しくないから止めろ
・ハンガリアン記法は止めろ
・その他の理由
どれだろう

637 名前:デフォルトの名無しさん :04/10/02 18:28:36
「ファイルハンドルに」としてるから1番。

638 名前:デフォルトの名無しさん :04/10/02 18:45:36
VC++ってカコイイUIを作るのには不向きなの?
BCBだと簡単にカコイイUIが作れるからそう思ったのですが
みなさんどうでしょうか?

639 名前:デフォルトの名無しさん :04/10/02 18:49:33
>>638
作る人のセンスと能力次第

640 名前:デフォルトの名無しさん :04/10/02 19:06:28
BCBとVC++ってそんなにUI作る環境違うの?

641 名前:デフォルトの名無しさん :04/10/02 19:33:05
>>629
CreateFile()が失敗したときの戻り値はNULLではなくINVALID_HANDLE_VALUE だ。
どんなサンプルを参考にしたんだ。

642 名前:デフォルトの名無しさん :04/10/02 20:47:47
>>638
JavaならカコイイUIが作れるぞ。

643 名前:デフォルトの名無しさん :04/10/02 20:51:04
そういやWTLのメーリングリストにJavaと組み合わせたの投稿されてたな。
http://groups.yahoo.com/group/wtl/message/10066

ここスクリーンショット。
http://www.terrainformatica.com/org/j-smile/index.htm

644 名前:デフォルトの名無しさん :04/10/02 22:10:12
>>642
釣りはやめて下さい。

645 名前:デフォルトの名無しさん :04/10/02 23:08:47
VC++6.0SP6なんだけど、全てのC++例外をキャッチしようと
try {} catch(...) {}
と書くとアクセス違反のような構造化例外?もキャッチしてしまいます。
throwで投げられた例外のみキャッチする方法はないでしょうか?
例外の基本クラスを統一するとかしないと駄目ですか?

646 名前:デフォルトの名無しさん :04/10/02 23:12:47
javaならスッキリ例外処理が書けます。

647 名前:デフォルトの名無しさん :04/10/03 01:12:36
std::stringで書式指定で値をセットしたい
std::string str;
str.sprintf("%d\t%d",1,2);
なんて出来ないの?

648 名前:デフォルトの名無しさん :04/10/03 02:20:22
>>647
#include <iostream>
#include <sstream>
#include <boost/format.hpp>
using namespace std;
int main () {
ostringstream oss;
oss << boost::format ("%d\t%d") % 1 % 2;
string str (oss.str ());
return 0;
}


649 名前:デフォルトの名無しさん :04/10/03 04:16:21
#include <iostream>
#include <boost/format.hpp>
using namespace std;
int main () {
  string str(boost::str(boost::format ("%d\t%d") % 1 % 2));
  return 0;
}

650 名前:デフォルトの名無しさん :04/10/03 04:24:07
>>647
boostが嫌ならcout風に使うstringstreamか、それも嫌ならCStringにする。

651 名前:デフォルトの名無しさん :04/10/03 04:27:23
#include <boost/format.hpp>
using namespace std;
int main () {
string str ((boost::format ("%d\t%d") % 1 % 2).str ());
return 0;
}


652 名前:デフォルトの名無しさん :04/10/03 05:13:45
ここはVC++スレか?

653 名前:デフォルトの名無しさん :04/10/03 11:37:43
VC++スレだ。

654 名前:デフォルトの名無しさん :04/10/03 17:55:03
ダイアログベースで印刷プレビューを表示したいんですが
どのようにすれば良いのですか?

655 名前:デフォルトの名無しさん :04/10/03 17:56:03
自前で出す。

656 名前:デフォルトの名無しさん :04/10/03 17:58:16
あーあ、FormViewベースで作っとけばよかったのに。

657 名前:654 :04/10/03 18:07:19
>>655
>>656
やっぱり・・・_| ̄|○

658 名前:デフォルトの名無しさん :04/10/03 19:58:23
ダイアログベースやFormViewベースを好む香具師は℃素人確定でつ

659 名前:デフォルトの名無しさん :04/10/03 20:00:05
えー?ドユコトデスカー?シャチョー(´Д`;)

660 名前:デフォルトの名無しさん :04/10/03 20:11:56
まだ入手すらしてなくて恐縮なんですけど、
出来る限り安くVC++を入手するには、どうすればいいんでしょう?
7000円とか、8000円とかは高くて・・・・・

661 名前:デフォルトの名無しさん :04/10/03 20:13:29
http://pc5.2ch.net/test/read.cgi/tech/1095325802/
7000円よりは安いと思う

662 名前:デフォルトの名無しさん :04/10/03 20:18:04
>>660
winnyなんてどうかしらん?

663 名前:デフォルトの名無しさん :04/10/03 20:20:40
winnyはやめとけ。便利だとは思うけど、際限が無くなるからさ。
Spokeも安いけどさ、それならオークションで落としたほうがまだ安いよ?

664 名前:デフォルトの名無しさん :04/10/03 20:25:07
オークションはなぁ・・・
前にβ版を詳しくないとか言い訳して製品版として売ってたやついたからなぁ・・。
しかもノークレームだよ。

665 名前:660 :04/10/03 20:30:15
皆さんアドバイスありがとうございます。
カリキュラムを確認したところ、C言語でした。

Winnyはさっぱりわかりません。
オークションって、詐欺にあったりしませんか?

666 名前:デフォルトの名無しさん :04/10/03 20:31:44
>>665
その話題は別スレだろ。
マルチは氏ね。

667 名前:デフォルトの名無しさん :04/10/03 20:32:24
C言語の講義だけだったらフリーのコンパイラだけでいいじゃん。
どうせ数値計算ぐらいだろ。

668 名前:デフォルトの名無しさん :04/10/03 20:35:37
マルチかよ。
オークションで詐欺って、おまえみたいな無知が引っかかるんだよ。

669 名前:デフォルトの名無しさん :04/10/03 21:34:30
秋葉のワゴンで外国人がVS6.0Professionalを5千円で売ってたぞ。

670 名前:デフォルトの名無しさん :04/10/03 22:06:24
マジ質問です。
VC++ってコントロールが凄く少ないじゃないですか?
C***Viewでも数少ないですよね?
どうやってUIを作成していくのでしょうか?
なにか良さげHPありませんか?

671 名前:トーシロ :04/10/03 22:38:29
UIってなに?ユーザーインターフェイス?

672 名前:デフォルトの名無しさん :04/10/03 22:46:54
>>671
さがってよいぞ

673 名前:デフォルトの名無しさん :04/10/03 22:51:03
>>671
そう。
CUI=文字だけのインターフェース
GUI=ウインドウとか絵とかマウスとか使ったインターフェース
PUI=ロボットが見ぶり手ぶりしたり、マウスが画面の端にぶつかったりするとマウスが物理的に動かなくなったり、人の直観で操作・認識できるインターフェース。

674 名前:デフォルトの名無しさん :04/10/03 23:04:14
>>670
少ないって何が足りないんだ?
具体的に何がないか書けよ

675 名前:デフォルトの名無しさん :04/10/03 23:19:09
VC#とVC++を比較すれば一目瞭然


676 名前:デフォルトの名無しさん :04/10/03 23:29:24
アクティブXコントロールの追加で幾らでも入れられるから
別にどうでもいい

677 名前:デフォルトの名無しさん :04/10/03 23:49:55
そのアクティブXコントロールをどこに配置すればいいのかがわかりません。
VC#みたいにフォームにポトってわけじゃないですよね?

それともCFormViewでポトってやるんですか?

678 名前:デフォルトの名無しさん :04/10/03 23:50:27
VC++でもポトだよ。

679 名前:デフォルトの名無しさん :04/10/03 23:53:24
VC++6.0だとメニューのプロジェクトへ追加ー>コンポーネントおよび
コントロールから選ぶんだけど.netだとどうなっているのかな。

680 名前:デフォルトの名無しさん :04/10/03 23:56:02
質問なんですが

Visual C++ 6.0 Standard

Microsoft Visual C++ .NET Standard 2003

この2個は何か違いがあるのでしょうか?

681 名前:デフォルトの名無しさん :04/10/03 23:57:38
managed C++のサポートと
ISO C++のサポートと
ユーザーインターフェイスかな。

682 名前:680 :04/10/04 00:00:08
初心者なんですが

買うとしたらどっちの方がいいでしょうか?

今のところ無償のを使っているのですが
かってみようかなぁと思いまして

683 名前:デフォルトの名無しさん :04/10/04 00:00:45
VC6何年前のだと思ってんだよ。

684 名前:デフォルトの名無しさん :04/10/04 00:38:42
ttp://hp.vector.co.jp/authors/VA019882/tips/data/data01.htm#018
で紹介されている関数を応用してプログラムを組んでいたのですが、
コンパイルをすると this->getFiles(FileFind.GetFilePath() , bSubFolder , csFileArray );のところで

>グローバル関数にアクセスするための 'this' ポインタがありません。
>左側がクラス、構造体、共用体へのポインタではありません。

というエラーが出てしまいます。C++は入門書を持っていないのでthisの意味がよく分からないのですが、
どういう物なのでしょうか?googleで検索をかけても「"this" は一般すぎる言葉のため、 検索には使用されていません。」
と出てしまい、調べらません。

685 名前:デフォルトの名無しさん :04/10/04 01:03:53
>>684
+thisとすれば一般的な言葉も検索できますよ。

686 名前:デフォルトの名無しさん :04/10/04 01:05:41
>>685
おお、本当だ!!ありがとうございました。

687 名前:デフォルトの名無しさん :04/10/04 01:07:18
あほ?構造体ポインタ変数宣言してないだけだろ

688 名前:デフォルトの名無しさん :04/10/04 01:24:06
構造体ポインタ変数宣言…?
参考にしたソースには書かれていなかったのですが、どのように宣言すればいいのでしょうか?

689 名前:デフォルトの名無しさん :04/10/04 01:25:27
>>688
相手がわからないと思って適当な事言ってるだけだから気にしちゃだめだよ。

690 名前:デフォルトの名無しさん :04/10/04 01:37:18
>>684
そのままコピペでもしたからだろ?
そのTipsはクラスのメンバ関数として作られることを前提にしてるから、
グローバル関数にしても使えない。
どこかのクラスに入れるか、this->を消せばOK

691 名前:デフォルトの名無しさん :04/10/04 01:39:04
>>658
詳しく説明して下さい

692 名前:デフォルトの名無しさん :04/10/04 01:43:47
おお、+つけりゃストップ語も検索できるのか。
実はCOMが検索できんで困ってたんだ。トンクス

693 名前:616 :04/10/04 01:44:55
HBITMAPのことを質問した者ですが、みなさんありがとうございました。
>>632さんの仰る通りパス間違ってました。CreateFile関数の
場合、パスが厳しくチェックされるみたいですね。あと
戻り値がINVALID_HANDLE_VALUEというのも参考になりました。

SetPixel関数を使えばしっかり任意の色に塗られるのに
バイト単位で書き込む(pPixel[0]=0xffみたいに)と白の斜線に
なってしまうという疑問が出たのですが、ここはSetPixelでごまかしときます。。。
ともあれ、解決できたんで、ありがとうございました。

694 名前:デフォルトの名無しさん :04/10/04 01:51:33
>>689
(゚д゚)ノ ハイ
>>690
なるほど。一箇所でしか使わないしわざわざクラスにする必要もないかなーと思って作らなかったのです。
消したらうまくいきました。ありがとうございました。

695 名前:695 :04/10/04 15:11:50
DualCPUをフル稼働させてプログラムを走らせたいのですが・・
#include <stdio.h>
#include <time.h>
#include <windows.h>
#include <winbase.h>
/**************/
/* メイン関数 */
/**************/
void main()
{
clock_t start, end;
start = clock();
void * hProcess;
int fRet;

hProcess=GetCurrentProcess();
fRet=GetProcessAffinityMask(hProcess,&dwProcessAffinityMask,&dwSystemAffinityMask);
fRet=SetProcessAffinityMask(hProcess,dwProcessAffinityMask);
//SetProcessAffinityMask(hProcess,4);

for(;;){
printf("表示\n");
}

end = clock();
printf("処理時間: %f秒\n", (double)(end - start) / CLOCKS_PER_SEC);
}

と参考書通りに書くと,dwProcessAffinityMask,dwSystemAffinityMaskが定義されていません。
とエラーがでます。何度かエラー解除を試みているのですが,エラーが消えません。
目的はDualCPUのフル稼働です。並列処理ではありません。誰か教えてください。

696 名前:デフォルトの名無しさん :04/10/04 15:25:55
その参考書無茶苦茶だな

697 名前:デフォルトの名無しさん :04/10/04 15:35:31
winapp error LNK2019: 未解決の外部シンボル _main が関数 _mainCRTStartup で参照されました。
winapp fatal error LNK1120: 外部参照 1 が未解決です。

というエラーがでます。どうしてですか?

698 名前:デフォルトの名無しさん :04/10/04 15:39:54
>>697
コンソールプログラムを作るための設定になっているから。

699 名前:デフォルトの名無しさん :04/10/04 15:43:11
アフィニティーマスクって数字を指定しないと駄目では?
CPU1なら0
CPU2なら1
だったかな?


700 名前:デフォルトの名無しさん :04/10/04 15:45:03
有難うございます。そこで、win アプリケーションでしたところ、ビルドは
できたのですがデバッグで、このようにでました。
'WinApp.exe': 'C:\WINNT\system32\NTDLL.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\KERNEL32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\USER32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\GDI32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\imm32.dll' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\ADVAPI32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\rpcrt4.dll' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
プログラム '[1760] WinApp.exe: ネイティブ' はコード 87 (0x57) で終了しました。

これはなんですか?

701 名前:デフォルトの名無しさん :04/10/04 15:46:47
リンクするライブラリが違う悪寒

702 名前:デフォルトの名無しさん :04/10/04 15:59:53
>'WinApp.exe': 'C:\WINNT\system32\rpcrt4.dll' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
このような内容の行は無視しても大丈夫

ついで言うと >>697
よく分からなかったらエラー番号の上にカーソル持っていって F1 キー

703 名前:デフォルトの名無しさん :04/10/04 16:04:31
>>697
http://pc5.2ch.net/test/read.cgi/tech/1094494997/727

704 名前:デフォルトの名無しさん :04/10/04 16:04:43
'WinApp.exe': 'C:\WINNT\system32\NTDLL.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\KERNEL32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\USER32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\GDI32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\imm32.dll' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\ADVAPI32.DLL' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
'WinApp.exe': 'C:\WINNT\system32\rpcrt4.dll' を読み込みました。必要な DBG ファイルが見つからないか、開けません。
プログラム '[1760] WinApp.exe: ネイティブ' はコード 87 (0x57) で終了しました。

と表示されます。どうしてですか?

705 名前:デフォルトの名無しさん :04/10/04 16:06:22
>>695

マルチスレッドプログラミング相談室 その2
ttp://pc5.2ch.net/test/read.cgi/tech/1037636153/


706 名前:デフォルトの名無しさん :04/10/04 16:07:20
コンパイルのオプション全部書け

707 名前:デフォルトの名無しさん :04/10/04 16:24:27
マルチうぜぇ。
相手にする香具師もうぜぇ。

708 名前:デフォルトの名無しさん :04/10/04 16:26:32
お前が一番ウザイ↑

709 名前:デフォルトの名無しさん :04/10/04 16:31:06
704ですが、わかりません。教えてください。

710 名前:デフォルトの名無しさん :04/10/04 16:33:08
ageんな

711 名前:デフォルトの名無しさん :04/10/04 17:36:37
>>709
いい加減にしろ。向こうのスレでも答えてもらってんだろ。

712 名前:695 :04/10/04 17:43:52
695です。
#include <stdio.h>
#include <time.h>
#include <windows.h>
#include <winbase.h>
/**************/
/* メイン関数 */
/**************/
void main()
{
HANDLE hProcess;
int fRet;
DWORD dwProcessAffinityMask,dwSystemAffinityMask;

hProcess=GetCurrentProcess();
fRet=GetProcessAffinityMask(hProcess,&dwProcessAffinityMask,&dwSystemAffinityMask);
fRet=SetProcessAffinityMask(hProcess,1);

for(;;){
printf("表示\n");
}
}
と書き直したらエラーは消えるのですが,CPUは以前と1/4しか使っていません。
どうすればCPUをフル稼働させることができますか?教えてください。

713 名前:デフォルトの名無しさん :04/10/04 18:09:10
ぎゃはははは


714 名前:デフォルトの名無しさん :04/10/04 19:04:41
15秒間フル稼働のプログラム↓

#include <stdio.h>
#include <windows.h>
#include <process.h>
#include <stdlib.h>
#include <time.h>

static
void task(void* id){
SetThreadAffinityMask(GetCurrentThread(),1UL<<atoi((char*)id));
clock_t start=clock();
printf("タスク%sの開始\n",id);
while(clock()-start<15*CLOCKS_PER_SEC){
//何か
}
printf("タスク%sの終了\n",id);
}

main(){
HANDLE t1=(HANDLE)_beginthread(task,0,"1");
task("0");
WaitForSingleObject(t1,INFINITE);
return 0;
}


715 名前:デフォルトの名無しさん :04/10/04 19:09:24
( ´,_ゝ`)プッ

716 名前:695 :04/10/04 19:23:17
ありがとうございます。
試してみたいと思います。

717 名前:デフォルトの名無しさん :04/10/04 21:53:24
VC++6.0でツールボックス(?)ボタンとかテキストとか貼りつけるやつ
が出てこなくなりました。どうしたら表示できますか?
かれこれ1時間近く探してます・・。・゚・(ノД`)・゚・。

718 名前:デフォルトの名無しさん :04/10/04 22:04:47
あった━━━━(Д゚(○=(゚∀゚)=○)Д゚)━━━━━!!


719 名前:デフォルトの名無しさん :04/10/05 01:38:08
左側にツリービューコントロールがあり、ツリーから選んだ項目が右側に出る
という設定ダイアログを最近よく見かけるようになりました。(WinAMPやOpenJane等で使われている)
こういうダイアログは自作なのでしょうか?

720 名前:デフォルトの名無しさん :04/10/05 02:13:32
そりゃあ、勝手には出来ないわな

721 名前:デフォルトの名無しさん :04/10/05 10:10:16
>>720
いやそういう意味ではなく
ツリービューを配置したダイアログを作成して、ツリー項目が選択されたら子ダイアログを右側に表示
とかそういうコードをシコシコ書いているのか、
SHBrowseForFolderみたいに一発で表示できるとか、
MFC等のライブラリにそういうものがあるのかな、と。

722 名前:デフォルトの名無しさん :04/10/05 12:28:53
最近でもないけどね。netscapeではずっと前からそういう設定ダイアログに
なっている。
>ツリービューを配置したダイアログを作成して、ツリー項目が選択されたら子ダイアログを右側に表示
とかそういうコードをシコシコ書いている

たぶんそうでしょう。これ自体は数行で書けるから技術的な問題は
ほとんど無いかと。

723 名前:デフォルトの名無しさん :04/10/05 12:38:12
>>719
OpenJaneは確かデルファイでオープンソースでは?

winampのリソース見てみたけど、右側のダイアログはこんな感じ。
(左側は実際のWinampの設定画面)
http://v.isp.2ch.net/up/3c1e4e393976.png

724 名前:デフォルトの名無しさん :04/10/05 17:25:55
>>721
明らかに見た目も機能も(右クリックへの対応など)ばらばらなのに同じAPIで実現されてるわけ無いだろ。

725 名前:デフォルトの名無しさん :04/10/05 23:35:51
よく、ちょっと変わったListViewのアプリケーション見かけますよね?
あれって、
CListCtrlから派生クラスを作成(例えばCListCtrlEx)するんですよね?
そのCListCtrlExをViewに選択するときってどうするんですか?
プロジェクト作成時のViewはCViewでも良いのでしょうか?

726 名前:デフォルトの名無しさん :04/10/05 23:48:36
>>721
漢なら自作するに決まってるだろ。
コモンダイアログすら使うことは許さん。全て自前で書け。

727 名前:デフォルトの名無しさん :04/10/05 23:57:03
>>726
みたいなバカはシカトでOKだよ
そのCListCtrlExクラスのインスタンスを作成してCreateを呼べばCViewに表示されるよ

728 名前:デフォルトの名無しさん :04/10/06 00:47:24
なんでVC++なの?
BCBじゃだめ?

729 名前:デフォルトの名無しさん :04/10/06 01:46:12
そんなしけた燃料投下でこの俺様が釣られるかクマー

730 名前:デフォルトの名無しさん :04/10/06 02:01:09
すんません、糞な質問で申し訳ないのですが
リソースエディタでは256色までのBitMapファイルしか
取り込めないのでしょうか?
クライアントに32Bitや16BitのBMP画像を表示するには
どうすればいいのでしょうか・・・。
CHtmlViewを描画の基本クラスにすれば
画像ファイルを指定して読み込んで表示できるようですが、
CViewを使ってやるにはどうすればよいのでしょう。
ほんとアホな質問で申し訳ありません。
環境はWindowsXP:Home,VisualC++6.0です。

731 名前:デフォルトの名無しさん :04/10/06 08:16:37
>>730
アホな質問はよそでしてください。

732 名前:デフォルトの名無しさん :04/10/06 08:54:38
エクセルみたいな表型式にしたいんだけど、
グリッドコントロールみたいのないの?
VC.NET(アンマネージ)

733 名前:デフォルトの名無しさん :04/10/06 12:51:01
あるよ

734 名前:半日潰れた :04/10/06 17:18:41
MFCでstrncpy使うと、debugビルド時に'\0'を
勝手に付加してコピーしてくるんですけど・・・
なんなの?


735 名前:デフォルトの名無しさん :04/10/06 17:20:04
デバックビルドだと配列が0クリアされるからじゃねーの。

736 名前:734 :04/10/06 17:24:22
>>735
すまん・・・
その通りでした。orz
軽く聞き流してやって下さい・・・

737 名前:デフォルトの名無しさん :04/10/06 19:19:25
【無料】Visual Studio 2005 Express【Beta】
http://pc5.2ch.net/test/read.cgi/tech/1091543344/269
から移動してきました。

2003 向けのプロジェクトを読み込んで、makefile を作るにはどうしたらいいですか?
それを使って、Visual C++ Toolkit 2003 でビルドしたいんです。

738 名前:デフォルトの名無しさん :04/10/06 19:49:30
無理

739 名前:デフォルトの名無しさん :04/10/06 22:07:13
VC6+MFCです。
ドキュメントクラスで、ワーカースレッド立ち上げて、
そこから、Viewクラスに情報を渡したいんですが、
こういう場合、一般的にはどうするのでしょうか?

グローバルでやりとりもスムーズも余りきれいにはいかないですし、
Documentクラスのポインタをワーカースレッドに渡して仲介すべきなのか、
Viewのポインタを渡した方がいいのか、、、スマートな方法を教えてください。
よろしくおねがいします。

740 名前:デフォルトの名無しさん :04/10/06 22:33:48
UpdateAllViews
GetDocument


741 名前:739 :04/10/07 00:04:10
レスどうもです。
すみません、UpdateAllViewsだと、Viewのイベントになりますよね。

補足ですみません、しばらく考えましたが、
ワーカースレッドから、Documentにメッセージを送れるとよさそうです。
SendMessageでいけるかと思ったのですが、ハンドルがもちろん無いので駄目でした。

ワーカースレッドから、Documentにメッセージを送る方法はあるでしょうか?


742 名前:デフォルトの名無しさん :04/10/07 00:20:23
Documentクラスになんかメンバ関数を作ってその中に必要な処理を書く
Documentクラスのポインタをワーカースレッドに渡して仲介
スレッドの中からそのポインタで上のメンバ関数を実行

743 名前:739 :04/10/07 09:18:10
なるほど、そうですね。
明解、ありがとうございます。
そうすると、ワーカースレッドがDocumentの型を意識する事になるので、
ちょっと躊躇していましたが、仕方なさそうですね。
ありがとうございます。

744 名前:デフォルトの名無しさん :04/10/07 13:29:30
>>743
そもそもドキュメントに対してなんらかの処理をするワーカスレッドが
ドキュメントの型に依存してないわけが無いのではなかろうか・・・。

745 名前:デフォルトの名無しさん :04/10/07 14:45:29
ビットマップファイルをリソースに追加できません。

マイピクチャフォルダに入っているビットマップは、リソースに追加可能なのですが、
このフォルダ以外の場所においてあるビットマップはリソースに追加できません。

やったことは
リソースビューの .rc を右クリック → リソースの追加 → Bitmapを選択してインポート
→ ビットマップファイルを選択 → 開く

これで、なぜかマイピクチャに入っているものは追加可能でしたが、それ以外のフォルダや
マイピクチャ下に作ったフォルダの中に保存していたビットマップは開くボタンを押してもリソースビューに追加されませんでした

追加したいファイルのあるフォルダはどこかに事前に登録しておく必要とかあるのでしょうか?
それとも、ビットマップを追加するとき制約でもあるのでしょうか?

解決方法を教えてくださいm(_ _)m

Visual C++ .NET 2003
Windows XP home SP2

746 名前:デフォルトの名無しさん :04/10/07 15:53:52
>>745
ソース階下のRESフォルダに入れてみては?
あと、ファイル名が全角とか。

747 名前:745 :04/10/07 16:21:40
>>746
レスありがとうございます。

それもやってみたのですが、だめでした。

ファイル名はすべて半角英文字です。

748 名前:デフォルトの名無しさん :04/10/07 16:24:45
スレ違いかもですが・・
YahooでVisual C++6.0欲しさにオマケソフトが色々付くと有ったVisualStudio6.0買ったんですが
肝心のC++6.0がセットアップできませんorz というかC++のCDがありません;
ひたすら検索しても妙な説明ページに引っかかりまくるばかり・・
どなたかセットアップ方法紹介しているサイトなり有ったら教えてください、
変な欲出さなきゃ良かった・・ ||orz 

749 名前:デフォルトの名無しさん :04/10/07 16:37:11
MFCスレにも書かせてもらったのですが…
子ウィンドウにタブとかスライダー等、色々配置したいのですが
どうすればいいか迷っています。
プロパティシートを使えばという気もしますが
[OK]ボタン等が必要ないので、他にいい方法があれば
教えていただけませんでしょうか?
よろしくお願いします。

750 名前:デフォルトの名無しさん :04/10/07 16:38:27
>>748 残念


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.