2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

★初心者にVisual C++を教えるスレ★ Part6

1 :デフォルトの名無しさん:03/05/15 02:05
タイトルのとおり、
Visual C++ 初心者用スレッドです。

前スレ・関連スレは、>>2 ぐらい。

2 :デフォルトの名無しさん:03/05/15 02:05
/** 前スレ **/
★初心者にVisual C++を教えるスレ★ Part5
http://pc2.2ch.net/test/read.cgi/tech/1048698321/

★初心者にVisual C++を教えるスレ★ Part4
http://pc2.2ch.net/tech/kako/1044/10441/1044196393.html

★初心者にVisual C++を教えるスレ★ Part3
http://pc2.2ch.net/tech/kako/1038/10381/1038160750.html

★初心者にVisual C++を教えるスレ★ (←実はPart2)
http://pc3.2ch.net/tech/kako/1030/10309/1030985362.html

★初心者にVisual C++を教えるスレ★
http://pc3.2ch.net/tech/kako/1023/10235/1023530449.html

/** 関連スレ **/
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
Win32API 質問箱 Build11
http://pc2.2ch.net/test/read.cgi/tech/1052651750/l50
C++相談室 part19
http://pc2.2ch.net/test/read.cgi/tech/1052625846/l50

/** 外部リンク **/
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
MSDN ライブラリ
http://www.microsoft.com/japan/msdn/library/

3 :デフォルトの名無しさん:03/05/15 02:05
>>1
削除依頼出しておけよ

4 :デフォルトの名無しさん:03/05/15 02:05
以前あるスレで作られた初心者VC++スレ用テンプレ
質問・検索の仕方はここを見れ。
http://www.geocities.co.jp/Beautycare/4965/public/template.html

5 :1:03/05/15 02:07
>>3
もう立っていました?全部を2回見回したのですが、無かったので。すいません。

6 :デフォルトの名無しさん:03/05/15 02:08
可憐にしなやかに、さらには豪華に6ゲット


7 :デフォルトの名無しさん:03/05/15 02:09
豪快かつ端麗な7げっと

8 :デフォルトの名無しさん:03/05/15 02:11
ムーンウォークで8ゲット

9 :デフォルトの名無しさん:03/05/15 02:17
やさしい日差しが俺の眠りを妨げる・・・
ふっと時計に目をやる。
まだ仕事までには、3時間以上時間がある・・・
俺は、まだ眠っている頭を覚ますためにコーヒーメーカーのスイッチを入れた。
しばらくすると、コーヒーの良い香りが部屋を追おう。
すっと手を伸ばし、タバコをくわえ火を付けた。

そして、一言、俺は呟いた・・・ 「9ゲット」と。。。         



10 :デフォルトの名無しさん:03/05/15 02:23
放課後に体育館の裏に来て欲しいと言われた。
はやる胸を抑えつつ向かう。
そこには彼女が待っていた。
彼女は「読んで・・・コレ」とはにかみながら俺に手紙を渡し、去っていった。

家に帰って彼女の手紙を読んでみた。
そこにはこう書いてあった



「10ゲット」

11 :前986:03/05/15 02:31
>> http://pc2.2ch.net/test/read.cgi/tech/1048698321/984
>> http://pc2.2ch.net/test/read.cgi/tech/1048698321/996
MFCはAppWizard(exe)でSDKはWin32Applicationのことでしょ?
僕はSDKの時ANSI-Cでできるのはそれでやってしまう。新しく覚えるの
めんどくさいので。SDKだとあかんと言うのが分からないス。
猫の ttp://www.kumei.ne.jp/c_lang/sdk/sdk_05.htm
sprintf ttp://www.google.co.jp/search?q=cache:ompCcSA48HcC:www.asahi-net.or.jp/~qn6o-mrtm/ds2new/dev/info/sdk_comp.htm+SDK%E3%80%80%E6%95%B0%E5%80%A4%E3%80%80%E8%A1%A8%E7%A4%BA&hl=ja&ie=UTF-8

12 :デフォルトの名無しさん:03/05/15 03:54
やり方がわからんつー意味だろ

13 :デフォルトの名無しさん:03/05/15 07:43
メッセージループ内に

case WM_CLOSE:
if (MessageBox(hWnd,"","",MB_OKCANCEL) == IDOK) DestroyWindow (hWnd);
break;

と書いたのですが、キャンセルしてもウインドウが破棄されてプログラムが終了してしまいます。
なぜなのでしょう?

14 :デフォルトの名無しさん:03/05/15 08:25
VC7で作ったものがクリーンインストールしたw2kで動きません。
曰く「ダイナミックリンクライブラリMSVCR71D.dllが指定された
パスhogeに見つかりませんでした。」だそうです。
dllを入れるかVC6でコンパイルしなおすしかないんでしょうか。
できればexeだけで配布したいんですが。

15 :デフォルトの名無しさん:03/05/15 08:32
>>14
無理だろ。

16 :_:03/05/15 08:49
  ∧_∧
 ( ・∀・)/< こんなのみつけたっち♪ 
http://www.hiroyuki.zansu.com/hankaku/jaz03.html
http://hiroyuki.zansu.com/hankaku/jaz10.html
http://www.hiroyuki.zansu.com/hankaku/jaz08.html
http://hiroyuki.zansu.com/hankaku/jaz09.html
http://www.hiroyuki.zansu.com/hankaku/jaz06.html
http://hiroyuki.zansu.com/hankaku/jaz05.html
http://www.hiroyuki.zansu.com/hankaku/jaz01.html
http://hiroyuki.zansu.com/hankaku/jaz02.html
http://www.hiroyuki.zansu.com/hankaku/jaz07.html
http://hiroyuki.zansu.com/hankaku/jaz04.html

17 :デフォルトの名無しさん:03/05/15 10:09
レスありがとうございます。無理ですか。
諦めてVC6.0にします。ありがとうございますた。

18 :デフォルトの名無しさん:03/05/15 10:35
やったああああああ
sprintfじゃなくて
wsprintfにしたら、計算した値がウィンドウにでたあああああ!!!
でも、なんでsprintfだどエラーなんだ
BCC5.5

LRESULT CALLBACK WinProc(HWND hwnd, UINT msg,WPARAM wP, LPARAM lP)
{

HDC hdc;
int i=10,j=20,x;char str[256];
x=i+j;
wsprintf(str,"%d",x);

PAINTSTRUCT ps;
switch(msg){

case WM_PAINT:

hdc=BeginPaint(hwnd,&ps);
TextOut(hdc,100,100,str,strlen(str));
EndPaint(hwnd,&ps);
break;


19 :デフォルトの名無しさん:03/05/15 10:36
Win32APIを使用してキーが、
同時(2個以上)押され場合に、
すべてのキーコードを取得する方法を、
教えて頂けますでしょうか。
よろしくお願いします。

20 :デフォルトの名無しさん:03/05/15 10:41
なんかよくわからないので、VC++ごと配布したいんですけど、無理がありますかね。

21 :デフォルトの名無しさん:03/05/15 11:50
>>20
かなり無理があるね。

22 :デフォルトの名無しさん:03/05/15 11:52
>>17
exeを配布する時はReleaseビルドで配布するんだぞ。

23 :デフォルトの名無しさん:03/05/15 12:02
>17
「スタティックライブラリでMFCを使用する」でいけない?

24 :名無し@沢村:03/05/15 12:40
>>13
ヌヒよ、breakをreturnに置き換えてみたらどうだ。

25 :デフォルトの名無しさん:03/05/15 13:08
>>19
ReadConsoleInput、PeekConsoleInput等でキーコードは得れる。
しかし、2つ得るなどの細かい指定は自作する必要がありそう。

26 :デフォルトの名無しさん:03/05/15 16:04
>>1 新スレ乙です。m(__)m
質問なのですが、VCのコードエディタのコンテキストメニューで
「定義にジャンプ」ってあるのですが、「実装にジャンプ」する
ような機能はないのでしょうか?

27 :13:03/05/15 18:04
>>24
IDCANCEL時にreturn 0;とすることで大丈夫でした。
break;した先にreturn (DefWindowProc (hWnd, msg, wParam, lParam));が
あったせいなんですね。どうも有難うございました。

28 :25:03/05/15 18:59
>>19 もしかしてウインアプリの方?なら
+-を50ミリ秒以内で連続で押すと音が鳴る。擬似同時押し。
LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
static long bT=0;//beforeTime
switch(msg)
{
case WM_CHAR:
if(wParam=='+'||wParam=='-')
if(bT>=GetTickCount()-50) Beep(0,0);
else bT=GetTickCount();
break;
}

29 :デフォルトの名無しさん:03/05/15 20:09
>>19
TranslateMessageが呼ばれる前(PreTranslateMessage)に WM_KEYDOWN
捕まえて GetKeyboardState() でいけるんではないか。

>>25 なんというか、すげー。

30 :29:03/05/15 20:11
>>19
調べるキーが限定されてるんなら GetAsyncKeyState() で調べたほうが簡単かも

31 : :03/05/15 20:27
プログラムは子供の時MSXでベーシックを組んで以来全く経験のない素人です。
すこし根本的なことを質問させてください。

必要にかられてWINで動くプログラムを作ろうと思い、この板のあちこちの初心者
スレを見ていたのですが、まず気づいたのはプログラム言語と言っても色々あると
いうことです。
猫でも分かる〜というHPに行ったのですが
・C#
・C言語
・C++
の3つがあがっていたし、他に
・ビジュアルベーシック
というのもあるのですよね。

で、質問です。いったい上の4つは何がどう違うのでしょうか?
初心者が始めるにはどれが一番よいのでしょうか?

教えてください。

32 :デフォルトの名無しさん:03/05/15 20:28
なぜか構造体メンバの.での参照が出来ないんですけど、VC++じゃ直接参照はダメなんですか?
わざわざポインタにして->しないとダメなんですか??

33 :デフォルトの名無しさん:03/05/15 20:30
>>31
ここで聞きなおしたほうがよいかと

***すれ立てるまでもない質問はここで 第36刷***
http://pc2.2ch.net/test/read.cgi/tech/1051370263/


34 : :03/05/15 20:33
>>33

ありがとう。
そうします。

35 :デフォルトの名無しさん:03/05/15 20:38
19です。「GetKeyboardState」を使えばと、
思ったのですが使い方が・・・
初心者なものでアドバイスをお願いします。


36 :26:03/05/15 21:13
もまいら>>26の質問スルーせんでくさい。
おながいします。m(__)m

37 :デフォルトの名無しさん:03/05/15 21:24
>>26>>36
スルーしたわけではないのですが、分からないんです。デバックも使ったこと
無いですし。

38 :26:03/05/15 21:33
>>37
ありがとうTT

39 :デフォルトの名無しさん:03/05/15 22:14
私には「定義にジャンプ」すれば実装にジャンプしているように見えるのですが。
「参照にジャンプ」すると宣言に。

40 :デフォルトの名無しさん:03/05/15 22:22
自作の関数の場合「定義にジャンプ」は、実装にジャンプする場合と、宣言に
ジャンプする場合の2通りがある。どういう規則なんだろ??

MFCのメンバなんかは必ず宣言にジャンプするよね。

41 :デフォルトの名無しさん:03/05/15 22:26
>>39-40
あ、そうなんですか?
初心者でMFCしか追ってないもので...
個人的には定義にジャンプでhファイルのクラス内の宣言に飛んで
実装にジャンプでcppファイルの実装に飛んで欲しいのですが。





42 :26:03/05/15 22:29
あと、関連なのですが定義にジャンプのとき「あいまいさの解決」
ダイアログがでることがありますが、「全然あいまいちゃうやん」
っていう時ないですか?
全然継承もしていないクラスの同名の関数が出てきたり...

43 :40:03/05/15 22:48
>>42
それはまぁ目をつむるとして(w

MFCのソースを手軽にブラウズできないもんかな。ブレークポイントかけてステッ
プインするか、MFC\SRCをgrepしている現状。VS6使ってるけど .NETもなの?

44 :デフォルトの名無しさん:03/05/15 22:53
>>43
マクロ使えば?

45 :40:03/05/15 23:23
っていうか、改めてMSDN見なおしてみたら

『MFC : MFC ブラウザ データベース ファイルの使い方』に『MFC.BSC は、セット
アップ プログラムではインストールされないが、セットうpCDから \VC98\MFC\Src\
にコピーすれば、開いて使うことができる』とあるじゃん。早速コピー。

なんかワークスペースを開く度に、いちいち MFC.BSCを手動で開かんといけないみ
たいだが、MFCソースのブラウズでキタ―――(゚∀゚)―――!!!!!

よーし、MFC.BSCを勝手に開くマクロ組んじゃうぞー

46 :デフォルトの名無しさん:03/05/16 00:30
>41
言語仕様を読んでるわけじゃないけど、キミが「定義」と
思ってるものが「宣言」で、「実装」と言ってるものが「定義」
なのかもしれない。

47 :39:03/05/16 00:41
わしもそう思う。
定義と宣言をごっちゃにすんなよ、とC++の入門書にはよく書いてあるが・・・。

48 :デフォルトの名無しさん:03/05/16 00:44
>定義にジャンプでhファイルのクラス内の宣言に飛んで
この文ですでにごっちゃになってる気が・・・

49 :41:03/05/16 00:47
>>46-39
そうかもしれないです。
定義、宣言、参照いろんな言葉が入り乱れて
ワケわからんです...


50 :デフォルトの名無しさん:03/05/16 08:05
VC++で、純粋にMS-DOS(PC-98)で動かせるプログラム
ってプロジェクトとか設定するのかな?
プラットフォームがWin32しか選べない…DOS/V機じゃ無理なのかな?

51 :デフォルトの名無しさん:03/05/16 12:44
16bitプログラムが作れるのはVC++1.5まで

52 :デフォルトの名無しさん:03/05/16 19:54
なんかずいぶん懐かしい話だな

53 :デフォルトの名無しさん:03/05/16 20:24
VisualC++.NETで「新しいプロジェクトの作成」→「win32アプリ」→「windowsアプリ」で
プロジェクトを作成した場合のexeファイルのアイコンの変え方を教えていただけないでしょうか?
「空のプロジェクト」からの作成でしたらできたのですが、上記のやりかたでは
アプリケーションのアイコン、バージョン情報のアイコンだけしか変えられませんでした。
exeファイルのアイコンに使われるらしい ファイル名.ico をいじっても無駄でしたし、
それをいじるとicoファイル自体おかしくなってしまいます。
どなたかご教授お願いいたします。

54 :デフォルトの名無しさん:03/05/16 21:27
InvalidateRectで更新領域を指定してOnPaint内でGetUpdateRectで更新領域を取得して
描画更新する場合、2つ以上のスレッドでInvalidateRectを呼び出したりするとまずいですか?

55 :デフォルトの名無しさん:03/05/16 22:53
質問があります。

画像を表示したいのですが、
ある画素のRGB値を配列に格納して
それを表示する関数を作っています。

その画素を座標(x,y)に表示したいので

pDC->SetPixel( x, y, RGB(Red, Green, Blue) );
と記述しました。Red,Green,Blueは画素(x,y)の
RGB値です。

しかし、このように記述しても黒でしか現れず、困っています。
Red,Green,Blueにはちゃんと値は入っています。

なぜ表示できないのでしょうか?


56 :デフォルトの名無しさん:03/05/17 00:38
ラジオボタンを6つ作成してそれらは排他的に
なっていました。つまり、どれかボタンを押すと
どれかはチェックが外れるということです。

それからこのラジオボタンでの種類を増やしたくて
さらにラジオボタンを増やしました。合計9個にしました。
これを全て排他的にしたいのですが、なぜか新しく作った
3つのラジオボタンと以前に作ったラジオボタンに同時に
チェックが入ってしまいます。

過去ログを見ましたがグループにすればいいと思っていますが、
プロパティのグループにチェックを入れても何もなりません。

いったいどうすれば全て排他的になるのでしょうか?

57 :デフォルトの名無しさん:03/05/17 01:02
>>51
ぐっ…VCでは、諦めますか…
いまさらTurbo C++でもやりますか…(苦笑
それとも、無料でなんかあるかな?
レスサンクス!

>>53
そのプロジェクトに「新規作成」「ファイル」タブの「リソース スクリプト」を追加。
VC++内の左のタブ「ClassView」「FileView」に「ResourceView」が追加されたはず。

ResourceViewタブを開くと内部にディレクトリらしきものがあるはずなので、マウスで
右クリックして、メニューを開き「挿入」。
「リソースの挿入」というタイトルが現れるので「インポート」で使いたいアイコンを選択。

最後に「ビルド」で構築すると、上で選択したアイコンがexeのアイコンになっているはず。

58 :デフォルトの名無しさん:03/05/17 01:14
>>56
参考になるか分からんし、説明しにくいので勝手に判断してくれ。

Radio1 <- グループチェック有り
Radio2 <- グループチェック無し
Radio3 <- グループチェック有り
Radio4 <- グループチェック無し
Radio5 <- グループチェック無し

とすると、1-2、3-5のグループになる。
例えば「1と3」とか「2と5」は両方選べるが、「3と4」または「3と5」は排他。
つまり、グループの「最初」となるラジオボタンにグループにチェックを入れる。
俺は、面倒臭いのでSDKでマニュアルのラジオボタン作ってコード上で切り替えちまうが。

59 :デフォルトの名無しさん:03/05/17 01:21
>>53
すまん。>>57 の追加。
これVC++6.0のやり方だったは…。.NETで出来るか知らない。

60 :デフォルトの名無しさん:03/05/17 01:37
ダイアログ上のタブコントロールの上にイメージを描画したいんだけど、
更新がうまくいきません。

void
CMyDialog::OnPaint()
{
CPaintDC dc(this);
DrawImage(dc);
}

こうすると、タブコントロールで上書きされてイメージが見えない、

void
CMyDialog::OnPaint()
{
CPaintDC dc(m_TabCtrl);
DrawImage(dc);
}

こうすると、更新を繰り返して、しばらくすると落ちる。

こんな感じで、なやんでいます。
こういう場合の常套手段というのは何かあるんでしょうか?


61 :デフォルトの名無しさん:03/05/17 02:03
>>60
MFCは得意じゃないって言うか、SDKなので使ってないのだが…
なので資料そのまま書きます。

// ダイアログクラスのコンストラクタ
CFooDialog::CFooDialog( CWnd* pParent /*=NULL*/ )
: CDialog( CFooDialog::IDD, pParent )
{
// スタティック用ブラシを作成
m_brStatic.CreateSolidBrush( RGB( 0, 255, 0 ) );
}
////////////////////////////////////////////////////////////////////
// クラスウィザードより追加された WM_CTLCOLOR ハンドラ

HBRUSH CFooDialog::OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor )
{
if( nCtlColor == CTLCOLOR_STATIC ) // スタティックコントロールの場合
{
// ここで全てのスタティックコントロールについて
// 同じ背景を指定するので pWnd の区別をしない
return m_brStatic;
// m_brStatic はあらかじめ作成された CBrush
// オブジェクト
}
return CDialog::OnCtlColor( pDC, pWnd, nCtlColor );
}

by:「VC++によるWin32プログラミングTips」技術評論社

62 :デフォルトの名無しさん:03/05/17 02:20
>>58
ありがとうございます!できました!見事に排他的になりました!
具体的な例だったので非常にわかりやすかったです

でも確かにこれはめんどくさいというかタブオーダーを使う必要がありますね。

58さんはSDKでやるとおっしゃいましたがどういう方法でやっているのでしょうか?
SDKというのもあまりというかほとんどわからないのですがこれからのためにも
勉強しようと思いまして。

具体的に教えていただけるとありがたいです。

63 :デフォルトの名無しさん:03/05/17 07:33
>>62 たぶん。
MFC:MFCAppWizard(exe) VBとSDKの間
SDK:Win32Application Win32Api、ANSI-C等を組み合わせて自作する。

64 :デフォルトの名無しさん:03/05/17 11:52
リンク時に__imp__MessageBoxA@16という外部シンボルが解決
できないとかいうエラーが出ました。マニュアルにNTでコンパイル
するときは
Ignore linker errors: "unresolved external symbol __imp__MessageBoxA@16".
と書かれていたのですが、どうやってリンカのエラーを無視してやれば
いいのでしょうか。

65 :JBoy17031968:03/05/17 15:02
始めまして、現在VisualC++にてプログラムを作成しておりまして、
機能上できるか否かこちらで質問させて頂きたいと思い書込み致します。
 質問の内容はVisualC++でメモリを分ける方法、あるアドレスはRAM領域
として、またある領域はROM領域としてメモリアクセスする方法なのですが
 何処かでそのようなメモリの設定が出来ましたでしょうか。

 
 使用しているOSはWindows2000Pro、VCは6.0を使用しております。
 また、べたべたのCなのでMFCやAPIは使用していません。


 以上です。

66 :デフォルトの名無しさん:03/05/17 17:08
VC++6のWin32 Application作成でこんなコード書いてビルドしたのですが
エラーが出ます。

#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
return 0;
}

エラー
LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です

だれか教えてください。


67 :動画直リン:03/05/17 17:11
http://homepage.mac.com/hitomi18/

68 :デフォルトの名無しさん:03/05/17 17:20
Releaceでビルドすると、信じられないくらい粗探しされて警告されるんですけど。
おかげで全く実行出来ません。警告を無視する方法って無いですか?
警告レベルを無しにしても実行出来ないし。

69 :デフォルトの名無しさん:03/05/17 17:30
>>66
そんなはずは無い。Win32ApplicationはWinMainが無いと未解決という
メッセージが出て、Win32ConsoleApplicationはmainが無いと未解決と
いうメッセージが出る。プロジェクト制作時に前者と後者を間違えたの
では無いですか?

70 :デフォルトの名無しさん:03/05/17 17:35
ウィンドウアプリの設定じゃなくて
コンソールアプリの設定でビルドしたとか
自分はそれに気づかないで
なんでだああ
と1日悩む

71 :デフォルトの名無しさん:03/05/17 17:36
プロジェクト設定で#define消しちゃったとか

72 :JBoy17031968:03/05/17 17:42
次メール回答
設定を変えたらアクセスできました
お騒がせ致しました。

73 :デフォルトの名無しさん:03/05/17 17:49
>>69
ありがとうございます。その通りのミスでした

74 :デフォルトの名無しさん:03/05/17 17:51
>>68
警告だけなのに実行できないの?
エラーが混じってない?

75 :68:03/05/17 18:00
デバッグだと警告もエラーもゼロで余裕で通ります。
リリースだと、インライン関数が一度も使われませんでした。
とか意味不明な関数のエラーが百個位でる(警告レベル4の場合)


76 :(;´Д`):03/05/17 18:14
>>68
どうせコンパイルオプションがおかしいんだろ。
プロジェクトを作り直せ。

77 :デフォルトの名無しさん:03/05/17 18:23
Win32アプリでメモ帳を作成中ですが、(CreateWindowのEDIT...で)
右クリックでメニューが出てくるのですが、
このメニューに機能追加ってできますか?

78 :58:03/05/17 23:29
>>77
出来る。(つーか実現できないことはほとんどない気がするが)

>>62
SDK自体は、>>63氏が語ってくれた通りです。
ラジオボタンをマニュアルで作成すると、コードで全て動きを記述しなければなりません。
コード量が増しますが、”そういう”ラジオボタンの管理が非常に楽になります。
動きそのものを記述しなければなりませんが、オートでは実現できない不可思議な動きも作り出せます。

79 :デフォルトの名無しさん:03/05/18 01:54
SPY++のソースコードを参考にしたいのですが、MSDNに付属してないのですか?
みつからないです・・・。

80 :デフォルトの名無しさん:03/05/18 02:36
ソースコードつける馬鹿がどこにいる。

81 :デフォルトの名無しさん:03/05/18 10:49
Visual C++.net (VS2002) のエディタで
クラス名::メソッド名 と書いてあるところにカーソルを持っていくと、指のマークになって
クリックするとURLと勘違いしたのか、file::クラス名 なんていうファイルはありませんと
言ってきます。
激しくうざいのでこの機能を切りたいのですが、メニューのどこにあるのかわかりません。

教えてくださると幸いです。

82 :デフォルトの名無しさん:03/05/18 10:51
>>81
.NETはスレちがい

83 :デフォルトの名無しさん:03/05/18 12:06
質問です。

画面上に表示されてるメニューの座標を取得する
方法は無いでしょうか?

84 :デフォルトの名無しさん:03/05/18 12:06
明日のオカズでも買ってこようかな。

http://ime.nu/ime.nu/www.net-de-dvd.com/

85 :(;´Д`):03/05/18 12:28
>>82
baka baka baka

86 :デフォルトの名無しさん:03/05/18 13:26
ファイルファイアログを開かないで、
特定のファイルの名前を変える方法ってどうやるんでしょうか?

今、多数のファイルをある規則に従ってリネームするプログラムを
作ろうと考えています。


87 :デフォルトの名無しさん:03/05/18 13:42
別ファイルネームでコピー

88 :名無し@沢村:03/05/18 13:51
>>86
MoveFile()

89 :デフォルトの名無しさん:03/05/18 14:18
>>82
お前はすれ違い。

90 :デフォルトの名無しさん:03/05/18 15:17
netでのdiffの取り方はどうやるんですか。

91 :デフォルトの名無しさん:03/05/18 16:01
>90
>82

92 :デフォルトの名無しさん:03/05/18 16:02
フリーのdiffツール使えばいいのに

93 :86:03/05/18 16:25
>>88
MoveFileを検索したところ、どうしても元になっているクラスが
見つかりません。しかもMSDNで見れないところがあるし。。。
借りた物だからMSDNを再インストールできないし。。。

すみません。MoveFileは何のクラスのメンバか教えていただけないでしょうか?
m(__)m

94 :デフォルトの名無しさん:03/05/18 16:31
>>93
http://www.google.com/search?num=50&lr=lang_ja&q=movefile()
なぜ検索しない?


95 :86:03/05/18 17:13
>>94
すみません。m(__)m
できました。ありがとうございます。


96 :デフォルトの名無しさん:03/05/18 18:28
常時接続ならMSDN OnlineとGoogle(wも併用すべし

97 :デフォルトの名無しさん:03/05/18 19:32
ベクターワークスを使っていて、ある操作(編集→すべてを選択、加工→合成)で必ず、Microsoft VisualC++ Runtime Library RuntimeError!
abnormalprogramtermination と表示されOKするとそのアプリが強制終了になってしまします。
そのときは OK しかクリックできません。

98 :デフォルトの名無しさん:03/05/18 19:45
>>97
それで?

99 :デフォルトの名無しさん:03/05/18 20:05
借り物は違法です

100 :デフォルトの名無しさん:03/05/18 20:22
>>99
そのとほり!
何で借りたものをコピーしなかったのだ?

101 :デフォルトの名無しさん:03/05/18 20:32
>>100
ツマラソ

102 :デフォルトの名無しさん:03/05/18 21:25
>>86
割れ厨はマジでシネ。

103 :デフォルトの名無しさん:03/05/18 21:44
間違えてるし

104 :デフォルトの名無しさん:03/05/18 21:46
>>97
それはこのスレの誰かがベクターワークスを作ってて、バグ報告したつもりか?

105 :デフォルトの名無しさん:03/05/18 22:59
もまいら教えてくさい!!
ネットで落としたサンプルをコンパイルしたところ(VC6.0Pro)
リンクエラー「ファイル "mfc42ud.lib" を開けません」が出ます。
設定がユニコードなのが問題みたいなのだが漏れのVCでは
ユニコードではコンパイルできないんでつか?



106 :デフォルトの名無しさん:03/05/19 07:37
>>103
(゚∀゚)ケタケタ

107 :デフォルトの名無しさん:03/05/19 10:51
>>105
  _, ._
( ゚ Д゚)  ・・・

108 :デフォルトの名無しさん:03/05/19 11:12
unsigned charに数値を代入してるのをデバッカで追っていたのですが
特定の数値でデバッカ上で見かけ0になってしまうようなのです。
ためしに実際にunsigned charの変数に256回インクリメントして
ファイルに吐かせてみたのですが問題は無いようなのです。(VC++.netとBCC55で確認)
VC++のデバッカを追ってみるとどうも128(0x80)ぐらいから怪しくなってきて
160(0xA0)でまた普通に表示されるように225(0xE1)あたりでまた表示
されないように253(0xFD)でまた表示されるようになってるようなのですが・・・。

当方S-JISの判定の為にデバッカで試しに文字列のビットを追ってたところで
気が付いたのですがこれはVCの設定などがおかしい所があるのでしょうか?
環境はWindowsXPSP1とVC++.netです。

109 :デフォルトの名無しさん:03/05/19 12:08
>>108
デバッグウィンドウの「変数」「ウォッチ」で確認できず。
Windows2000SP3 VC++6.0SP5

// test code
int main()
{
unsigned char uc = 0;

for( int i = 0; i < 256; i++ )
{
uc++; // set break-point here
}

return 0;
}

110 :108:03/05/19 12:58
そのソースで症状確認できました。
http://sylphys.ddo.jp/upld2nd/pc/img-box/img20030519125645.jpg

何故だろう・・・。

111 :デフォルトの名無しさん:03/05/19 13:56
当方Win2KSP2、VC++.NETでも症状確認。原因は不明…
メモリ上には存在してるけど、ウォッチで追いかけることは出来ない…
おそらく設定云々ではないと思われ。

112 :デフォルトの名無しさん:03/05/19 14:42
>>108-111
VisualStudioのよく知られたバグですよ。
ttp://forums.belution.com/ja/vc/000/121/44s.shtml

113 :112:03/05/19 14:45
あ、ちょっと語弊があるなスマソ。
VisualStudio.NETのバグ、というべきか。
(「.NET」って入れないと6.0とかも入っちゃうからね)

114 :108:03/05/19 15:08
おおう・・・そうでしたか・・・。
とりあえずウォッチで書式指定してみたところちゃんと表示されるのを確認しました。
やれやれ・・・(ry。112さんどうもありがとうございました。

115 :デフォルトの名無しさん:03/05/19 17:38
>>112
MS叩き厨がウザいな、そこ…

116 :デフォルトの名無しさん:03/05/19 19:34
VC++にはプロパティがないようですがメンバ変数をパブリックにするべきなのでしょうか
それともSet〜、Get〜といったようなメソッドを作っておくべきでしょうか
はたまたそれ以外のナイスなやり方があるのでしょうか
それともひょっとしてプロパティ相当のものがあるのでしょうか
識者のみなさまがたよろしくお願いいたしますm(__)m

117 :_:03/05/19 19:36
( ´Д`)/< 先生!!こんなのが有りますた。
http://togoshi.ginza.st/2ch/2ch05.html
http://www.togoshi.ginza.st/2ch/
http://www.togoshi.ginza.st/2ch/2ch03.html
http://togoshi.ginza.st/2ch/2ch02.html
http://www.togoshi.ginza.st/2ch/2ch08.html
http://togoshi.ginza.st/2ch/2ch06.html
http://www.togoshi.ginza.st/2ch/2ch10.html
http://togoshi.ginza.st/2ch/2ch04.html
http://www.togoshi.ginza.st/2ch/2ch07.html
http://togoshi.ginza.st/2ch/2ch01.html
http://www.togoshi.ginza.st/2ch/2ch09.html

118 :デフォルトの名無しさん:03/05/19 19:36
set,get

119 :デフォルトの名無しさん:03/05/19 19:37
friendとか

120 :デフォルトの名無しさん:03/05/19 19:37
=をオーバーロード

121 :デフォルトの名無しさん:03/05/19 19:57

>メンバ変数をパブリックにするべきなのでしょうか

これは「最も」しては行けないこと。

> VC++にはプロパティがないようですがメンバ変数
プロパティ==メンバ変数!=VBのプロパティ



122 :デフォルトの名無しさん:03/05/19 21:20
C++で、VBでいうLen関数やLenB関数に
相当する関数を教えてください。

123 :デフォルトの名無しさん:03/05/19 21:26
>>122
strlen


124 :デフォルトの名無しさん:03/05/19 21:57
>>123
どうもありがと。

125 :デフォルトの名無しさん:03/05/19 23:26
たとえば、1秒ごと20までの数字をカウントしてエディットボックスに表示させる
プログラムを作る場合以下のように作ってみました。でも うまくいきませんでした。
原因は何でしょうか?だれか教えてください!
for(i=0;i<20;i++){
m_edit1=i;
  UpdateData(false);
  Sleep(1000);

126 :デフォルトの名無しさん:03/05/19 23:29
キー入力待ちってどうすれば出来ますか?

127 :デフォルトの名無しさん:03/05/19 23:44
>>125
括弧は閉じたよね?

128 :デフォルトの名無しさん:03/05/19 23:47
127>もちろん閉じました!!一回づつ更新される予定が、更新されないんです!

129 :デフォルトの名無しさん:03/05/20 00:16
>>128
UpdateData(FALSE);
UpdateWindow();
Speep(1000);

ってのはどう?

130 :129:03/05/20 00:22

もちろんSleepね

131 :デフォルトの名無しさん:03/05/20 01:06
すみません。
C++で、VBでいうReDimステートメントと同じ処理をする場合、
どうしたら良いでしょうか?

132 :名無し@沢村:03/05/20 01:07
>>123
VBはUNICODEを使っている。
だから正しくはwcslenだな。

133 :デフォルトの名無しさん:03/05/20 01:08
>>131
newとdeleteを勉強する。

134 :デフォルトの名無しさん:03/05/20 01:10
>>129
凄いね。
InvalidataRectじゃ無理だったよ。
そんなやり方あったんだね。
(つーかその前にメインの関数内でSleep使う事自体が問題かもしれん)

135 :r:03/05/20 01:33
>>131
std::vectorとresizeかな。


136 :デフォルトの名無しさん:03/05/20 07:22
エディットボックス(edit1)に、00 1A CA 8D
の様に、ファイルのバイナリを表示させ、
もう一つのエディットボックス(edit2)に
8DCA1A00 hex
の十進数になおした整数を表示させたいのですが、

HANDLE afile;
BYTE buff[4];
CString buf;
CString path;
DWORD dw;
m_edit3.GetWindowText(path); ←これはパス所得用エディットボックスです。
afile = CreateFile(path,
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if(afile == INVALID_HANDLE_VALUE){
MessageBox("ファイルがオープンできません", "ファイルのオープンの失敗", MB_OK);
}
SetFilePointer(afile, 0, NULL, FILE_BEGIN);
memset(buff, 0, sizeof(buff));
ReadFile(afile, &buff, sizeof(buff),&dw,NULL);

ここの処理がわかりません…

m_edit1.SetWindowText(なにか);
m_edit2.SetWindowText(なにか);

どうしたらいいでしょうか…

137 :デフォルトの名無しさん:03/05/20 11:19
>>136
Cstring::Formatとか使えば?

138 :デフォルトの名無しさん:03/05/20 12:08
visualc++.netでエディタを外部エディタにする方法教えて下さい。
ツール→オプション→テキストエディタ見たけど外部エディタにする
項目なかった。notepadしか使わせないのがMSの方針なんですか?

139 :デフォルトの名無しさん:03/05/20 13:34
VC++.netで書いてるんですが、
class AとBの宣言をa.hとb.hに分けて書いて、
#include "b.h"
class A{
private:
B *b;
}
と書くと

error C2143: 構文エラー : ';' が '*' の前にありません。

と出ます。

#include "b.h"
class A{
private:
class B *b;
}
の場合大丈夫でした。
手元の本(独習C++)でこのように宣言されているところは見なかったんですが、
こう宣言して大丈夫なんでしょうか?

140 :139:03/05/20 15:08
多分自己解決した。
class Aでclass Bのポインタのメンバのほかに
class Bでclass Aのポインタを引数とするメソッドを作ってた。

これってどうにかできない?

141 :デフォルトの名無しさん:03/05/20 15:37
} の後ろに ; が無い

142 :デフォルトの名無しさん:03/05/20 17:06
>>139
似たような方法で

//a.h
class B;
class A
{
private:
    B *b;
};

と宣言しておいて、cppファイルで
#include "a.h"  // classAの宣言
#include "b.h"  // classBの宣言
:
:

その場で必ずクラスを定義する必要はないのよ。

143 :デフォルトの名無しさん:03/05/20 17:07
-------------------
#include "b.h"
class A{
private:
B *b;
};

--------------------
class A;
class B{
private:
A *a;
};


144 :139:03/05/20 17:31
>>141
スマソ、それは単純にコピーし忘れだった。

>>142,>>143
そんな方法があるのね。
とりあえずclass A,Bの両側でもう片方の宣言を書きますた。
ありがとう。

145 :デフォルトの名無しさん:03/05/20 19:53
>>137

buf.Format(CString(buff));
a = atoi(buf);
m_edit1.SetWindowText(CString(a));

これだとなにも表示されず、

m_edit2.SetWindowText(CString(buff));

これだとへんな文字列が表示されてしまいます…

SetWindowTextはCStringでしか使えないのがいけないのでしょうか?…

146 :デフォルトの名無しさん:03/05/20 20:04
_edit2.SetWindowText(CString(buff));

m_edit1.SetWindowText(CString(a));
も、

CString(a)やCString(buff)の実体が無いため。



147 :デフォルトの名無しさん:03/05/20 20:10
int a=12;
CString tmp;
tmp.Format("%d",a);
m_edit.SetWindowText(tmp); //m_edit.SetWindowText(&tmp)かも。どっちか忘れた。

とか書けば、わかるかな?



148 :デフォルトの名無しさん:03/05/20 20:54
MSDNってダウンロードできないんですか?

149 :デフォルトの名無しさん:03/05/20 21:21
>>147
大変参考になります^^

えっとそのint a =12
をあるファイルのバイナリ
12 2c a1 5a としますよね、
その 122ca15a hex を、整数にしたものをint a としたいのですが…
どのように変更したらよいでしょうか??

150 :デフォルトの名無しさん:03/05/20 21:34
>>149
シフトしながらORすれば良いんじゃない?

151 :デフォルトの名無しさん:03/05/20 22:48
>>129 どうも有難う御座います!!出来ました。しかし何ゆえ、UpdateWindow();
だと、できるんでしょうか??


152 :デフォルトの名無しさん:03/05/20 23:27
>>151
ようわからんけどウィンドウの更新してるからじゃなかろうか?
UpdateData()後に他のウィンドウで隠してもう再度表示させると表示が更新されたり。

153 :デフォルトの名無しさん:03/05/20 23:37
>>151
まず、エディットボックスの値は確かに変わっていたけど、
再描画がforループ中に行われないので、1秒毎に表示されなかった。
forループが終了した時点で、やっと再描画されるので、いきなり20の表示・・・

で、1秒毎に強制的に再描画させれば良い訳で、
UpdateWindow()はその場で再描画を強制する(直接WM_PAINTメッセージを送る)関数。
VBで言うRefreshメソッドみたいなもの。

ちなみにInvalidateRectだと、その場でWM_PAINTが送られる訳では無いので、駄目みたい。

154 :デフォルトの名無しさん:03/05/21 00:01
>>149
教えて君は帰れボケ

155 :デフォルトの名無しさん:03/05/21 00:12
>>153
なるほど!!有難う御座います!
っていうか、人に聞く前に
関数自分で調べろよってな感じですよね.
すみませんでした.

156 :真の教えて君:03/05/21 00:14
>>154
わからんねーなら騙ってろ。

157 :デフォルトの名無しさん:03/05/21 00:23
たまにDel厨が荒すね

158 :デフォルトの名無しさん:03/05/21 00:27
>>157
漏れは某島社員かその信者と睨んでいますが。

159 :デフォルトの名無しさん:03/05/21 10:46
>>158
似たようなもんでしょw

160 :デフォルトの名無しさん:03/05/21 11:37
>>150
いろいろ考えてみたんですが…、
BYTE buff[4];
ReadFile(afile, &buff, sizeof(buff),&dw,NULL);

ここの時点で間違ってるような気がしてきました、、

WORDとかいろんなものに換えてみたんですが、
つまってしまいました…。
バイナリを読みこむにはどの宣言でバッファをとるのが最適でしょうか…?

161 :デフォルトの名無しさん:03/05/21 12:23
>>160
粘着教えて君キタ━━━━━(゚∀゚)━━━━━ !!!
いい加減Cスレにでも逝ったら?(プ

162 :デフォルトの名無しさん:03/05/21 14:32
つかぬ事をお伺いいたします.
先日初めてVC++.NETを導入したのですが、6.0のころと
えらく変わっているので難儀しています.

そこで、ウィンドウを複数、並べて表示できるようになるような
設定などありましたら教えてください.
全画面表示もしくは2画面分割というのはどうも見ずらいんで。

おねがいいたしますm(__)m

163 :162:03/05/21 16:07
失礼しました.

[ツール]→[オプション]→[環境]→[全般]→「MDI環境」
で、できました.お騒がせしました。

さらにそのうえ、板違いでしたね.
本当にすみませんでした.

164 :デフォルトの名無しさん:03/05/21 18:06
プログラミングを全くやったことのない初心者なんですが、
プログラマーになりたいのでVisual C++を勉強しようと思いました。
それで、これを入手しようとマイクロソフトのHPにいったんですが値段が分かりませんでした。
あんな、分かりにくいHPは初めてです。
なので教えてください。これ価格はいくらなんでしょうか?

165 :デフォルトの名無しさん:03/05/21 18:26
>>164
価格.com
http://www.kakaku.com/sku/price/030000.htm
ちなみに、今VC++6.0買うよりVC++.netの方がいいかもね
学生だったら、アカデミーパックもある。
つーか、いきなり金かけて開発環境買うより無料のコンパイラとか
つかってみてプログラミングに慣れてくれ。


166 :デフォルトの名無しさん:03/05/21 19:57
>>165
ありがとうございます。
Visual C++の無料のコンパイラなんてあるんですか?

167 :デフォルトの名無しさん:03/05/21 20:00
>>165
VisialC++のは無くて、ボーランドとかGCCなどのC/C++コンパイラ等。

168 :デフォルトの名無しさん:03/05/21 20:07
>>164
Windowsアプリ作るんならその「分かりにくいHP」とつきあわなきゃならん。
まぁ、がんばってくれ

169 :デフォルトの名無しさん:03/05/21 20:22
>>164
Borland C++Compiler
http://www.borland.co.jp/cppbuilder/freecompiler/



170 :デフォルトの名無しさん:03/05/21 20:30
>>169
ありがとうございます。
それ入れてみました。
このスレにはお世話になりそうなので今後もよろしくお願いします。

171 :デフォルトの名無しさん:03/05/21 21:05
オープン価格なら書いてなくて当然だと思うが

172 :デフォルトの名無しさん:03/05/21 21:22
>>170
このスレVisual C++だから、お世話できないよ。

173 :デフォルトの名無しさん:03/05/21 21:42
>>171
製品情報ページに推定価格が書いてあったと思うが…

174 :デフォルトの名無しさん:03/05/21 22:05
つーか、>>164はプログラマには成れん!
あきらめろ。


175 :デフォルトの名無しさん:03/05/21 22:13
>>174
うるせーばか。
氏ね。

176 :デフォルトの名無しさん:03/05/21 22:53
>>174
オマエモナー

177 :デフォルトの名無しさん:03/05/21 22:54
まー初心者スレだからな

178 :デフォルトの名無しさん:03/05/22 00:03
>>176 AAは?

>>164
オフィスとか売っている店に行って店員に聞けば?

179 :デフォルトの名無しさん:03/05/22 00:08
>>178
通販サイトで値段を見てみるのも可だな
というかこのくらいの情報収集ができないってのは…んー…

180 :デフォルトの名無しさん:03/05/22 02:13
すみませんが、
WindowsXPのVisual StyleのLunaインターフェイスの
コントロールの外観(ボタン枠等)を
Picture Control等に直接描画する方法は
ありませんでしょうか?

181 :山崎渉:03/05/22 04:24
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

182 :デフォルトの名無しさん:03/05/22 05:58
今回、MFCを使わずに自作でブラウザを作成しているのですが、新しいウィンドウが
立ち上がるようなリンクをクリックしたときに新規でウィンドウが立ち上がるのでは
なく、自信のウィンドウに開きたいのですが、どうすれば良いでしょうか?
あと一歩だと思うのですが、URLが正しく取得できないみたいなのです。
足りない処理でもあるのでしょうか?

// ppDispからIWebBrowser2オブジェクト取得
CComQIPtr<IWebBrowser2> spNewWB;
CComPtr<IUnknown> punkIE;
AtlAxGetControl(hwndIE, &punkIE);
spNewWB = punkIE;
spNewWB->get_Application(ppDisp);

BSTR bstrURL;
// URLを取得
spNewWB->get_LocationURL(&bstrURL);

CComVariant vempty, vUrl(bstrURL);
// 自身のウィンドウにURLを送信し直す
pWB2->Navigate2 (&vUrl, &vempty, &vempty, &vempty, &vempty );
// BSTR 用のメモリの解放
::SysFreeString(bstrURL);




183 :デフォルトの名無しさん:03/05/22 06:57
getcher()が使えるヘッダーってなんでしたっけ?

184 :bloom:03/05/22 07:11
http://homepage.mac.com/ayaya16/

185 :デフォルトの名無しさん:03/05/22 07:14
女子高校生監禁コンクリート詰め事件!!!!

共産党幹部宅で行われた鬼畜行為(裁判で明らかになってます)(監禁41日間の内容)

・オイルを両大腿、膝、すねにたらして着火する
・熱がって火を消そうとすると手にもオイルをかけて着火、火が消えるとまた点火する
・性器に異物を入れて弄ぶ
・自分の尿を飲ます
・性器にライターを入れて着火する(この行為によって何度も気絶し、髪の毛が抜けていったという)
・性器を灰皿代わりにする
・性器にオロナミンCの瓶を入れる
・お尻の穴に花火を突っ込む
・性器に強引に直径3Cmの鉄の棒を突っ込んだり抜いたりして性器を破壊する
・頬が鼻の高さを超えるまで腫れ上がり、目の位置が陥没して分からないほどになるまで暴行
・歌謡曲を流して、歌詞にあわせて脇腹に思いっきりパンチをいれる
・痛さをこらえるので口が変なふうに歪むのを見て面白がる
・犯人2人の真ん中に立たせ、左右から肩や顔に回し蹴りを数発入れる
・顔にろうそくをたらす
・眉間に短くなった火のついたろうそくを立てる
・6kgの鉄アレイを腹に落とす
・鉄アレイで大腿や顔面を殴る
・逃げないようにガムテープで全身をぐるぐるまきにする

コンクリート詰め事件で検索すればわかります。

アンチが騒いでます(w
http://qb.2ch.net/test/read.cgi/accuse/1052793624/l50

186 :デフォルトの名無しさん:03/05/22 07:28
simpleXというライブラリで
#include<simpleX.h>
void StartUp()
{
}
void MainLoop()
{
Clear();
Text(0,0,"Hello World");
}
というプログラムを書いてみたんですが
ライブラリの方にエラーが50個ぐらいでちゃって困ってます
どうしてですか?

187 :デフォルトの名無しさん:03/05/22 08:44
>>186
エ ラ ー メ ッ セ  ー ジ く ら い 自 分 で 嫁 !

188 :デフォルトの名無しさん:03/05/22 09:26
>>187
でもエラーはsimpleX.hのほうだけで
"="の前に")"がないとかそういう感じの
文法ミス的なエラーばっかりなんですけど
俺c++.net初心者だから設定ミスってるのかも?
どうしたらいいんですか?

189 :デフォルトの名無しさん:03/05/22 09:29
>>188
どんなエラーメッセージが出てるか分からんのに答えられるはずがないだろボケ

190 :デフォルトの名無しさん:03/05/22 10:11
ダイアログベースのアプリで
ShowWindow(SW_HIDE)したときのような
ウィンドウを表示しない状態で起動させるには
どうすればよいのでしょうか

191 :名前は開発中のものです。:03/05/22 11:15
>>188
じゃあ文法ミスなんだろ!
設定をどうミスったら文法ミスになるんだ

192 :190:03/05/22 12:52
MFCの方に逝ってきます
|彡サッ

193 :デフォルトの名無しさん:03/05/22 13:05
>>190
WS_VISIBLEをつけない
つーかこれはAPIだっつーの

194 :デフォルトの名無しさん:03/05/22 14:41
>>193
引数にHWNDが無いからMFCだろ

195 :190:03/05/22 14:47
MFCなので専用スレの方に書こうと思ってたのですが
なぜか間違えてしまいました(´へ`)
しつれいしました


196 :デフォルトの名無しさん:03/05/22 19:15
関数で printf( と入力すると、どんな引数が必要か型がでますが、
pow等は複数タイプがありますよね。powはdouble(double,double)と
int(int,int)と、後分からないのがひとつあります。どのタイプであるか
を指定するにはどうすればよいのですか?教えてください。

197 :デフォルトの名無しさん:03/05/22 19:28
powってのは俺は知らんけどさ、ヘルプ見れば載ってるんじゃないですか?

198 :デフォルトの名無しさん:03/05/22 20:10
>>196
どのタイプって、引数の型を合わせればいいんでない?

199 :デフォルトの名無しさん:03/05/22 20:13
>>196
それでよければよいのですが。一応全てにキャストを与えています。

200 :デフォルトの名無しさん:03/05/22 20:21
>>197
ちょっと見てみたけど、doubleの鹿乗ってないです。もうちょっと調べてみます。

201 :デフォルトの名無しさん:03/05/22 20:21
double(double,double)以外はSTLでしょう。
int(int,int) ってあるの?

202 :196:03/05/22 20:47
>>201 
もう一度見てみるとありませんでした。見間違えたのだと思います。
また、3パターンではなく、6パターンありました。atoi,atofみたいに
名前を変えてくれればいいのに。以下のでintで使えそうなのを教えてください。
int pow(const int (__cdecl *_CMPLX)(_Ty))
int pow(const _Ty &_X, const int(__cdecl *_CMPLX)(_Ty))
valarray <_Ty> pow(const _Ty &_X, const valarray <_Ty> &_Y)
valarray <_Ty> pow(const valarray <_Ty> &_X, const _Ty &_Y)
valarray <_Ty> pow(const valarray <_Ty> &_X, const valarray <_Ty> &_Y)
double pow(double,double)

203 :デフォルトの名無しさん:03/05/22 20:47
ネット上で自分の分身キャラ「アバター」を作って楽しくコミュニケーション
無料登録すると、もれなく商品券とメールアドレスが貰えます!!
http://f15.aaacafe.ne.jp/~suikas/cafe.html

204 :デフォルトの名無しさん:03/05/22 21:14
しつもんいいでつか?
VC6でMFCです。ちょくちょく使う関数を2、3個書いたヘッダファイルを使おうと思って
stdafxにインクルードしたら、

1つ以上の複数回定義されているシンボルが見つかりました
ってエラーでうまく行きません。
直接使うcppファイルでインクルードすれば良いんだけど
「・・・かつあまり変更されないプロジェクト専用のインクルード ファイルを記述します。」
とかstdafxに書いているんで、ここにインクルードしたいんですが無理ですか?

205 :デフォルトの名無しさん:03/05/22 21:20
>>204
ヘッダファイルに↓のを記述しる

例 sample.hの場合
------------------------------
#ifndef _sample_h_
#define _sample_h_
#pragma once

... // ここにコードを記述

#endif
------------------------------

206 :デフォルトの名無しさん:03/05/22 22:08
>>205
どうもです。でもやっぱりダメですた。

ファイルの内容は、これだけにしました。

common.h

#ifndef _COMMON_H_
#define _COMMON_H_

#pragma once

extern void msgbox(const char *fmt,...);

void msgbox(const char *fmt,...)
{
char buf[1024];
va_list args;
va_start(args, fmt);
vsprintf(buf, fmt, args);
va_end(args);

MessageBox(NULL, buf, "Message", MB_OK | MB_TASKMODAL | MB_TOPMOST);
}

#endif

何ででしょう?


207 :デフォルトの名無しさん:03/05/22 22:13
>>206
関数本体書いちゃ駄目よ

208 :デフォルトの名無しさん:03/05/22 22:18
>>206
お前そのヘッダファイルを複数のソースファイルでインクルードしてないか ?
もしそうなら、msgbox() が複数できちゃうから怒られて当然だぞ。

> common.h
> #ifndef _COMMON_H_
> #define _COMMON_H_
> #pragma once
> extern void msgbox(const char *fmt,...);
> #endif

だけにして、

> void msgbox(const char *fmt,...)
> {
> char buf[1024];
> va_list args;
> va_start(args, fmt);
> vsprintf(buf, fmt, args);
> va_end(args);
> MessageBox(NULL, buf, "Message", MB_OK | MB_TASKMODAL | MB_TOPMOST);
> }

は、どっかのソースファイルに入れとけ。(もしくは common.c とかを作れ。)

209 :デフォルトの名無しさん:03/05/22 22:26
>196
>atoi,atofみたいに名前を変えてくれればいいのに
そういう使い分けにいちいち気を回さなくていいように
多重定義してあるのだと思われ。
あたえられた引数をみて仕分けるのはコンパイラのお仕事。

で、標準ライブラリ的にはdouble pow(double,dounle)だけなんで
通常の用途ならキャストしながらこれを使う方向でどうか。

210 :デフォルトの名無しさん:03/05/22 22:37
>>208
はい。今全く同じようにしてやってみた所でした。
作ってる物は、練習用に小さなダイアログベースです。
実際の呼び出しをコメントアウトすればエラーは出ません。問題なく動いています。
もちろんほかのファイルからはインクルードしていません。

common.h
#ifndef _COMMON_H_
#define _COMMON_H_
#pragma once

extern void msgbox(const char *fmt,...);

#endif
--------
common.cpp
#include "common.h"

void msgbox(const char *fmt,...)
{
 char buf[1024];
 va_list args;
 va_start(args, fmt);
 vsprintf(buf, fmt, args);
 va_end(args);
 MessageBox(NULL, buf, "Message", MB_OK | MB_TASKMODAL | MB_TOPMOST);
}
こういう風にしてみましたが、ダメでした。

211 :デフォルトの名無しさん:03/05/22 22:40
すみません。

  CDC cdcTarget;
  HBITMAP hBitmap; // 仮に既にビットマップ ハンドルが設定されてるとします
  HBITMAP hBitmap2; // CDCから取得されたビットマップ ハンドル

  // CDCにビットマップを設定
  CBitmap* cBitmap = CBitmap::FromHandle( hBitmap );
  cdcTarget.CreateCompatibleDC( NULL );
  cdcTarget.SelectObject( &cbmpTarget );

  // CDCからビットマップ ハンドルを取得
  hBitmap2 = (HBITMAP)cdcTarget.GetCurrentBitmap();

HBITMAPをデバイス コンテキスト(CDC)に描画して、
再びHBITMAPとして受け取ろうとしたいのですが
うまくいきません。どうしたら良いでしょうか?

212 :デフォルトの名無しさん:03/05/22 22:44
>>211 (補足)
すみません。10行目のcbmpTargetは
cBitmap です。

213 :デフォルトの名無しさん:03/05/22 22:48
>>209
分かりました。ありがとうございました。

214 :デフォルトの名無しさん:03/05/22 22:52
>>210
Cスレ池。っと言いたいがマジレス。
ヘッダーファイルの extern はいらない。
非常にお勧めできないが、

// common.h

inline void msgbox(const char *fmt,...)
{
 char buf[1024];
 va_list args;
 va_start(args, fmt);
 vsprintf(buf, fmt, args);
 va_end(args);
 MessageBox(NULL, buf, "Message", MB_OK | MB_TASKMODAL | MB_TOPMOST);
}

とすればコンパイルは通ると思われ。

215 :デフォルトの名無しさん:03/05/22 22:58
>>210
> 実際の呼び出しをコメントアウトすればエラーは出ません。
??? わけわからんのだが...。
呼び出し側も晒してくれ。

>>214
アフォですか ? それやるなら...
static void msgbox()
だろ。もちろんお勧めしないけど。

216 :デフォルトの名無しさん:03/05/22 23:06
>>210
ああ、あれだ、MFCでしょ?
MFCでは勝手に外部からc, cppファイルをプロジェクトに追加しても
エラーになって通らないはず
(おそらく通す方法はあるだろうけれど・・・)

で、方法だがワークスペースウィンドウの下に
Class View, Resource View, File Viewのボタンがあるだろう?

そこでClass Viewを押すと
XXX クラス(XXXはプロジェクト名)というのがあるから
そこを右クリックして
『クラスの新規作成』を押してh, cppファイルを作成する

・クラスの種類を『Generic』にして作成すること
・クラス名は好きなもので
そんでOKボタンを押すとh, cppが作成されるから
そのファイルにさっきのコードを記述する


217 :デフォルトの名無しさん:03/05/22 23:06
>>214
通りました!どうもありがとう。

でも、オススメされてないので、釈然としないです・・(´・ω・`)

218 :デフォルトの名無しさん:03/05/22 23:09
MFCやるならC++でやる方がいいかも

h, cppには自動的にそれぞれ
#ifndef _COMMON_H_
#define _COMMON_H_
#pragma once

#include "common.h"
がついてるからこれらは記述しなくていいと思う

--------
common.h

extern void msgbox(const char *fmt,...);

--------
common.cpp

void msgbox(const char *fmt,...)
{
 char buf[1024];
 va_list args;
 va_start(args, fmt);
 vsprintf(buf, fmt, args);
 va_end(args);
 MessageBox(NULL, buf, "Message", MB_OK | MB_TASKMODAL | MB_TOPMOST);
}
--------


219 :210:03/05/22 23:19
>>215
えっと、クラスウィザードで作ったメンバ関数から
msgbox("hoge");
って、呼び出しているのをコメントアウトするとエラーは、出ることなく通ります。

>>216
>>MFCでは勝手に外部からc, cppファイルをプロジェクトに追加しても
>>エラーになって通らないはず

そうだったんですか。
クラスを作ればたぶん行くのかな?と思ってたけど、
いちいちクラスを宣言するのが、めんどくさそうなのでやろうと思いつつやってませんでした。
すみません。やってみます。

>>218
ああ、やはりこういう風にちゃんとクラスウィザードを使って(使わなくてもイイ?)
クラスを作って使わないとダメなんですね。めんどくさがってちゃダメだ。
どうもありがとう。

220 :デフォルトの名無しさん:03/05/23 01:14
めんどくさいと思ったらMFCを捨てよう(w

221 :名無し@沢村:03/05/23 03:22
>>215 悲惨だな

222 :デフォルトの名無しさん:03/05/23 07:05
すみません。
COLORMAP構造体などを配列で宣言すると
実行中に、
「Run-Time Check Failure #2 - Stack around the variable 'cmpX' was corrupted.」
というエラー メッセージが表示されて中断してしまいます。
このメッセージの意味と解決策を
教えていただけないでしょうか?
スタックが不足しているのでしょうか?

223 :デフォルトの名無しさん:03/05/23 12:05
ウインドウの指定した領域をBITMAPとして保存したいのですが
できるのでしょうか?

224 :デフォルトの名無しさん:03/05/23 12:45
>>223
検索くらい汁!
一発で出てきたぞヴォケ

225 :デフォルトの名無しさん:03/05/24 00:27
>>222
英語勉強しろ。
それすらできないなら、インターネット翻訳とか使え。

「Runはチェック失敗#2の時間を計ります。可変「cmpX」のまわりのスタックは悪くなりました。」

ということだ by Excite翻訳

226 :デフォルトの名無しさん:03/05/24 00:27
>>221
お前がか ?

227 :デフォルトの名無しさん:03/05/24 01:49
>>225
222じゃないがそれでは湧けワカメ

228 :デフォルトの名無しさん:03/05/24 02:51
>>222
ココのスレは英語の翻訳スレではなく、あくまでVC++の質問(初心者も可)
なんだな、コレが。
ソースの一部分抜粋で、分からない所があるとかなら話は分かるが…

229 :デフォルトの名無しさん:03/05/24 10:29
>>227
悪いけどマジで言ってるの ?
>>225 は半分冗談だけど、元の英文見てわからなければ、C/C++ プログラマやめた方がいいと思うぞ。

もっとメモリ管理のちゃんとした言語使え。

230 :デフォルトの名無しさん:03/05/24 13:13
>>229
すまん、私も分からない…。
ソース見ればたぶんなんでエラー出てるのか分かるけれど。

もしかして
COLORMAP cm[16];
...
cm[16].from = 0x00ff00; // ここで上記のエラーがでる
ということか?



222よ、とりあえずソース書け。


231 :デフォルトの名無しさん:03/05/24 13:16
>>227タンが憐れ

232 :デフォルトの名無しさん:03/05/24 14:57
CString の初期化の方法を教えてください!!
VCだとクラスの宣言内で定義をしますが、例えば
CString cs_name[];
とか。
でも、ここで初期化をしようとすると
CString cs_name[]={"hana","bara","himawari"};
このようにするとエラーが出てしまいます。
どうすればよいでしょうか?
教えていただけるとうれしいです。

233 :デフォルトの名無しさん:03/05/24 14:58
>>1-1000

なにお前らガベージコレクトしてんだよ。
ガベージコレクトすんなよ。

234 :デフォルトの名無しさん:03/05/24 15:37
CString cs_name[]={"hana","bara","himawari"};

今VC++でやってみたが普通に通りますが何か?
ver 6 sp5ね

235 :デフォルトの名無しさん:03/05/24 15:41
ああ、クラス内ね
CTest{
CTest(){ cs_name[0] = "hana"; cs_name[1] = "bara"; cs_name[2] = "himawari"; }
...
CString cs_name[3];
};
じゃ駄目か?


236 :デフォルトの名無しさん:03/05/24 15:42
234>>
publicとかの場所で宣言するとエラーがでるんですけど。。。
class CALT_1Dlg : public CDialog
{
// 構築
public:
CALT_1Dlg();
CALT_1Dlg(CWnd* pParent = NULL);// 標準のコンストラクタ

CString cs_setthreshold[]={"10%","20%","30%"};
};

こんな感じで宣言したらなんかエラーが出てしまったんですよ ↓こんな感じです。
ALT_1Dlg.cpp
c:\windows\デスクトップ\コピー (2) 〜 alt copy 5.10\alt_1dlg.h(27) : error C2059: 構文エラー : '{'
c:\windows\デスクトップ\コピー (2) 〜 alt copy 5.10\alt_1dlg.h(27) : error C2334: '{' の前に予期しないトークンがありました。関数の本体は無視されます
c:\windows\デスクトップ\コピー (2) 〜 alt copy 5.10\alt_1dlg.h(78) : warning C4520: 'CALT_1Dlg' : 複数のデフォルトのコンストラクタが指定されています。
cl.exe の実行エラー

ALT_1.exe - エラー 2、警告 1

何故なんでしょう????




237 :デフォルトの名無しさん:03/05/24 15:49
宣言で[]は使えないはず・・・。

const char* const str[] = {
 "abc", "def", "ghi",
};
const int strcount = sizeof(str) / sizeof(*str);

CTest{
 CTest(){
  for(int i = 0; i < strcount; ++i){
   cs[i] = str[i];
  }
 }

CString cs[strcount];
}

これで逝くと思うがどうか・・・。
動的にcs拡張したいならvectorを使うべし


238 :デフォルトの名無しさん:03/05/24 15:54
有難う御座います!とりあえず試してみます!!

239 :デフォルトの名無しさん:03/05/24 16:11
おい!天才ども!!
scanf で数値の入力(1〜100までの)をするときに、
文字を入力したときのエラーを出したいのだけども、
どーしたらいいか教えて下さい!雑魚ども!!

240 :デフォルトの名無しさん:03/05/24 16:14
すみません質問です。
WindowsXPスタイルを持つコントロールの外観(例えばボタン枠)を
Picture Controlなどに描画したいのですが、どうやら
DrawTheme***関数がそれらしきものだと
思ったのですが、その関数はVC++では使えませんでした。
それどころかリファレンスにも載っていませんでした。
それとも何かのヘッダーをインクルードすれば良いのでしょうか?

DrawTheme***関数について何かご存知の方がいらっしゃいましたら
教えてください。

241 :デフォルトの名無しさん:03/05/24 16:20
>>240
MSDNに載ってるが。

242 :デフォルトの名無しさん:03/05/24 16:25
235>> 有難う御座います!出来ましたvv
これって、もしかして、最初に定義しておいてコンストラクタで、初期化とかを行なった方が良いのでしょうか...?

243 :名無し@沢村:03/05/24 16:29
>>239
AfxMessageBox(_T("ヌヒよ、1から100までの数値を入力しろ"));

244 :デフォルトの名無しさん:03/05/24 18:55
RECT構造体を返す関数
RECT foo();を
RECT構造体のポインタを引数とする関数bar()に引数として与えたら
bar(&foo());
「'&' に左辺値がありません」とエラーが出ました。
bccだとコンパイルできたのですが、VCだとなぜだめなのでつか?

245 :デフォルトの名無しさん:03/05/24 18:57
もしご存知の方がいたら教えてほしいんですが、
MicrosoftのWindows Windows XP Home/Professional
を開発したプロジェクトチームは、何人で構成されてたんでしょうか。

246 :デフォルトの名無しさん:03/05/24 20:00
( ゚д゚)ポカーン
245よ、たのむから今一度スレタイをよんでみてくれ。

247 :デフォルトの名無しさん:03/05/24 20:14
>>244
仕様です
使いたかったら↓

bar(&(RECT)foo());


248 :デフォルトの名無しさん:03/05/24 20:15
>>245
世界人口より少ないのは確実だ

249 :245:03/05/24 20:22
>>248
ありがとうございます。
解決できました。

250 :デフォルトの名無しさん:03/05/24 20:37
248のどこに解決の糸口があったのだろう・・・

251 :240:03/05/24 20:52
>>241
マニフェストは関係なくuxtheme.dllやDrawTheme***関数を使って
自分でXPスタイルの外観(例えばボタン枠やツールバーの浮き出しの部分)
を描画する事は出来ないのでしょうか?
それとも他に方法があるのでしょうか?

252 :デフォルトの名無しさん:03/05/24 20:55
>>251
MSDNに載ってるが。

253 :デフォルトの名無しさん:03/05/24 21:16
すいません。ボタンを押したら
ダイアログ内の指定した領域を保存するという
プログラムを作りたいのですがわかりません。

検索してみましたがわかりませんでした。

領域の指定方法はわかるのですが、その領域内の
情報の保存の仕方および復元の仕方がわかりません。

希望としてはビットマップで保存してあとから参照できるように
したいです。


254 :デフォルトの名無しさん:03/05/24 21:39
>>253
デバイスコンテキストに指定領域をコピー

GetDIBitsってとこだな

255 :253:03/05/24 21:51
GetDIBitsですか。今から調べてみます!

ありがとうございます

256 :デフォルトの名無しさん:03/05/24 21:52
>>251
とっととMSDNOnline行けタコ。

257 :240:03/05/25 08:33
MSDN Library\User Interface Design and Development\Windows Shell
\Shell Reference\Visual Styles Reference
MSDN USAにそのような項目があったのですが
MSDN Japanにはありませんでした。
つまり日本語の解説は無しって事ですか?

258 :デフォルトの名無しさん:03/05/25 10:15
>257
Yes!

259 :デフォルトの名無しさん:03/05/25 10:50
見つけたのにまだ来るのかよ>240
結局初心者に先ず教えるべきは英語嫁ってことか

260 :デフォルトの名無しさん:03/05/25 10:52
まー、最初のハードルはあのMSDNを読みこなすことができるかどうかだからな

261 :240:03/05/25 11:29
何とか実装に成功しました。
ありがとうございました。

262 :デフォルトの名無しさん:03/05/25 22:09
>245
マジレスすると、およそ20〜30人。意外と少ないと思われるかもしれないけど、こんなもん。
長期のプロジェクトになるから、多少人の出入はあるけどね。

263 :デフォルトの名無しさん:03/05/25 22:44
へえ、意外と少ないんですねえ
で、もう一度言うが「スレタイ嫁」

264 :デフォルトの名無しさん:03/05/25 23:26
それよりもなんでそんな事聞きたいのか小一時間・・・

265 :デフォルトの名無しさん:03/05/26 03:17
vcを勉強したくHPでおすすめな所はどこでしょうか?
自分でもさがしたのですが・・・。
プログラムって難しい。


266 :デフォルトの名無しさん:03/05/26 03:32
>>265
>プログラムって難しい。

C/C++を知っているのかと小一時間…
それとも割れ(以下略

267 :デフォルトの名無しさん:03/05/26 07:56
メニューの各項目がボタン型のオーナードローメニューを
作りたいのですが、選択中の項目上でマウスの左ボタンを
押すとボタンが凹むようにする(つまり選択中の項目上で
マウスの左ボタンの状態が変化するたびに選択中の項目を
再描画する)にはどうしたら良いでしょうか?
WM_DRAWITEMメッセージでは項目を一回きり描画するだけで、
WM_MENUSELECTメッセージではメニューの選択項目が変化した時
にしか呼び出されないので。

268 :デフォルトの名無しさん:03/05/26 08:04
>>265
VCとかで検索してみれば良いのに…

ttp://www.kumei.ne.jp/c_lang/

269 :デフォルトの名無しさん:03/05/26 20:19
>>267
マウスのイベントを捕らえるしかないんじゃないの?
参考までにcodeguru
ttp://www.codeguru.com/menu/index.shtml

270 :デフォルトの名無しさん:03/05/26 21:59
VCでコンボボックスを使ってプログラムを書いているのですが、例えば"m_combo."のように打ち込むと.GetWindowTextやSetWindowTextというようなリストが出てきますよね???ですが出てこないんです.それで、自分で打ち込んでビルドしてみると実行は成功します.
なぜ、関数のリストが出てこないのでしょうか?教えてください。


271 :デフォルトの名無しさん:03/05/26 22:00
ハテナが多すぎ

272 :デフォルトの名無しさん:03/05/26 22:02
>>271に激しく同意。

273 :デフォルトの名無しさん:03/05/26 22:03
句読点がピリオドになってるのも気になる

274 :デフォルトの名無しさん:03/05/26 22:05
>>271-273
ウザイ!わからねーなら黙ってろ!!!

275 :デフォルトの名無しさん:03/05/26 22:07
>>271
>>273
>>272 すみません。ちなみに”m_conbo."です。もし”.”を気になさっている人がいたならちゃんと“.”で書いてあります。


276 :デフォルトの名無しさん:03/05/26 22:08
>>275
VC6?バグじゃないの?
起動しなおせば?

277 :デフォルトの名無しさん:03/05/26 22:10
起動しなおしてもダメなんですよね。もしバグだったら、実行した時にエラーが出ると思うのですが実行は成功しています。

278 :デフォルトの名無しさん:03/05/26 22:10
>>270
該当するクラスのヘッダファイルを開いて上書き保存
または、
VC終了→ncbファイル削除→VC起動

279 :デフォルトの名無しさん:03/05/26 22:12
すみません。ncbファイルってなんですか?

280 :デフォルトの名無しさん:03/05/26 22:12
ネットのバイト見つけた。バナー収入登録したら1000円くれるってさ。
http://members.goo.ne.jp/home/madcap0  
      

281 :デフォルトの名無しさん:03/05/26 22:13
>>277
バグっていっても、VCの方のバグね。

282 :デフォルトの名無しさん:03/05/26 22:21
>>278
ありがとうございます!!できました!でも、なにが起こっていたのでしょうか?全く解らないのですが…
ありがとうございました。


283 :デフォルトの名無しさん:03/05/26 23:13
プログラム実行したら、
「○○○○が原因で○○○○.EXEにエラーが発生しました。
○○○○は終了します。」(○○○○はファイル名)
って表示されました。何が原因なんでしょうか?
わかる方いたら教えてください。

284 :デフォルトの名無しさん:03/05/26 23:16
わかる人がいたら見てみたいよ・・・ハァ

285 :デフォルトの名無しさん:03/05/26 23:20
>283
○○○○

286 :デフォルトの名無しさん:03/05/26 23:23
ネットのバイト見つけた。バナー収入登録したら1000円くれるってさ。
http://members.goo.ne.jp/home/madcap0         

287 :代弁:03/05/26 23:23
>>285
良くわかりました!ありがとうございます!

288 :デフォルトの名無しさん:03/05/26 23:49
>>283
どうせヌルポだろ?

289 :デフォルトの名無しさん:03/05/26 23:50
VCについて質問です。
ボタンをDlgで作成したのですが普通、ボタンを作成し関数を作成し、その後、右クリックclassviewを表示しようとしると
Parsing error:改行が必要です。インプットライン....というようなエラーが出てしまいました。
何が原因なのでしょうか。


290 :デフォルトの名無しさん:03/05/26 23:51
FTP通信のやりかた教えてください。

291 :デフォルトの名無しさん:03/05/26 23:55
CFTPなんたらっていうMFCのクラスがあったと思われ。
簡単な処理ならそれで足りる。

292 :デフォルトの名無しさん:03/05/26 23:58
>>289
適当に改行してから保存(Ctrl+S)すれば直ると思うが


293 :デフォルトの名無しさん:03/05/27 00:17
C++ではコントロールの配置などはマウスで行うんですか?
単純な質問ですみません

294 :デフォルトの名無しさん:03/05/27 00:22
>>293
「行う」のではなく、「行える」。
ニュアンスの違い。

295 :デフォルトの名無しさん:03/05/27 00:32
>>294行えるということは無理に行わなくても
良いということですか?

296 :デフォルトの名無しさん:03/05/27 00:46
>>294
無理にマウスで配置してもよろしい。
色々ある方法の内で「配置はマウスでも行える」と言う意味。

297 :デフォルトの名無しさん :03/05/27 01:30
中身は全く同じで、名前だけ違うA.DLLとB.DLLがあったとします。
実行ファイルの起動時パラメータでA.DLLを参照するか、B.DLLを参照するか、
切り替えたいのですがどのようにコーデイングすればよろしいでしょうか?
DLLは.libファイルも用意してあります。静的リンクでは無理ですか?

298 :デフォルトの名無しさん:03/05/27 01:34
>>297
切り替える意図が全く見えないのだが。

299 :297:03/05/27 01:45
>>298
DLLは共有メモリとして使用しています。
プログラムは起動時パラメータで、
モードを切り替えられる作りになっています。
モード別に多重起動するため、DLLを切り替えたいのです。

300 :吉岡美穂:03/05/27 01:49
>>297
動的リンクしかないんじゃないかしら。

301 :299:03/05/27 01:56
>>300
ありがと〜。
そっちの方向で試してみます。

302 :デフォルトの名無しさん:03/05/27 10:56
俺は性的リンクをお勧めするね

303 :デフォルトの名無しさん:03/05/27 13:29
>>292 ありがとうございました:)
    できました。


304 :デフォルトの名無しさん:03/05/27 16:56
>>302
ありがとうございました。できました。

305 :デフォルトの名無しさん:03/05/27 18:28
あるデバイスコンテキストを割り当てているウィンドウの
画面左上端(0,0)とした長方形の座標(RECT)を求めたいのですが

void CXX::YY( CDC *pDC )
{
 HWND hwndCDC;
 RECT rectCDC;
 
 hwndCDC = pDC->GetWindow()->GetSafeHwnd();
 GetWindowRect(hwndCDC, &rectCDC);
}

とすると、rectCDCにはいつも-858993460という意味不明で
不正確な数値が返ってきてしまいます。
どうか正確な座標の求め方を教えてください。

306 :デフォルトの名無しさん:03/05/27 19:03
>>305
rectCDCのメンバ変数を使うんじゃないのか?

307 :305:03/05/27 19:32
>>306
left、top、right、bottomすべて-858993460という
数値が返ってきてしまいます。

308 :デフォルトの名無しさん:03/05/27 19:41
>>307
漏れの環境では正常に取得できました。

CDC *pDC = GetDC();

RECT rect;
try {
pDC->GetWindow()->GetWindowRect(&rect);
}
catch(...)
{
;
}
TRACE("%d / %d / %d / %d\n", rect.top, rect.left, rect.right, rect.bottom);
ReleaseDC(pDC);

--
299 / 282 / 671 / 616

309 :デフォルトの名無しさん:03/05/27 20:14
>>305
hwndCDCの値は有効な値なの?

310 :デフォルトの名無しさん:03/05/27 21:48
>>305
> どうか正確な座標の求め方を教えてください。

きちんとプログラムする。

とりあえず、GetLastError() ぐらい覚えろよ。

311 :デフォルトの名無しさん:03/05/27 23:21
CString cs;
m_combo1.GetWindowText(cs);
という記述をOnButton関数内で行ない、デバックしてみるとcsに関して以下のような
CXX0017: Error: シンボル "cs" が見つかりません
というようなコメントがでて、コンボボックス内に表示している文字を読み取ることができませんでした。
何故なのでしょうか。だれか教えてください。



312 :デフォルトの名無しさん:03/05/27 23:24
>>311
リビルドしてみれ。
たまにそんなことがある。


313 :デフォルトの名無しさん:03/05/27 23:26
>>312
やってみましたが、だめでした・・・


314 :デフォルトの名無しさん:03/05/27 23:33
>>313
ポインタが有効か?
&csとか0xfdfdfdだったりして。んなこたなかったら
TRACE()でみてみれ。


315 :デフォルトの名無しさん:03/05/28 00:23
例外処理についての質問です。

例外処理 (初回) は test1.exe (MFC42D.DLL) にあります: 0xC0000005: Access Violation。
例外処理 (初回) は test1.exe (KERNEL32.DLL) にあります: 0xC0000027: (名前がありません)。
例外処理 (初回) は test1.exe にあります: 0xC0000005: Access Violation。

このような例外処理が出てしまうのは何故なのでしょうか?
どのような対策をほどこせばいいのですか?
教えていただけると幸いです。


316 :デフォルトの名無しさん:03/05/28 00:36
>>315
再起動せよ。

マジで言うなら「ソースさらせ」。対処のしようがねーんですが。

317 :デフォルトの名無しさん:03/05/28 01:43
>>315
アクセス違反とかかな。
落ちたときにデバッガのコンテキスト見てみるとか、ステップ実行で落ちる瞬間を
つきとめるとかして。

318 :デフォルトの名無しさん:03/05/28 07:33
すみません。TRACEマクロを使用しても出力ウィンドウに
値が出力されない(出力された気配も無い)のですが
どうしてなのでしょうか?

319 :デフォルトの名無しさん:03/05/28 09:16
>>318
まさかとは思うが、Releaseビルドじゃないよな?

320 :デフォルトの名無しさん:03/05/28 09:36
どうせF5じゃなくてCtrl+F5で実行して出ないって言ってんだろ

321 :山崎渉:03/05/28 12:28
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

322 :デフォルトの名無しさん:03/05/28 13:58
age

323 :デフォルトの名無しさん:03/05/28 14:13
C++ Builder初心者なのですが 
Edit1やEdit2など数字の部分を変数等でLoop処理(移動)することは出来ないでしょうか?
  例:int i;
AnsiString s[10];
for(i=1;i<=10;i++)
s=Edit(i)->Caption;
ッてこんな感じにiの部分でEditを変える方法です


324 :デフォルトの名無しさん:03/05/28 14:33
>323
ここはVC++スレなわけだが。

325 :デフォルトの名無しさん:03/05/28 14:35
すれ違いって教えてもらったのでここに来ました

>あるWindowsで動いてるプロセスの指定したメモリアドレスの値を取得したい場合は
>どうしたらいいのでしょうか?
>たとえば起動しているaaa.exeのメモリ0x41000の値を10進数で表示したいという感じです

という質問をしまして、そこでReadProcessMemoryを使えといわれました。
その後調べてみて
ReadProcessMemoryの前にOpenProcessをすればよさそうだということはわかったのですが
OpenProcessの第3パラメータのプロセス識別子をaaa.exeから取得する方法が分かりません
知っている方がいたらおしえてください




326 :デフォルトの名無しさん:03/05/28 15:17
C++共通の質問ですが、コンパイラによって動作が違うかもしれないので、
(VCにて作業しているので)ここに書かせてもらいます。

STL のdeque や vectorにおいて resize();で配列数を増やして
/* vector に入れるコンテナのタイプは適当なクラス*/

v[3].m=value;
このようにアクセスできますが、たとえば
v.resize(5);//要素数5
v[4].m=100;//コンテナの最後にアクセス これは問題なし
i=v[4].m;//iには100が入る
v.pop_front():;先頭のコンテナ除去


i=v[4].m;//iには何が入る?????
v[4].m=value;//<-koko

についていったいどういうことがおきるのでしょうか?

1 メモリ保護エラー
2 削除したのは先頭だけどINDEXとのリンクは保持してるから
  iには100がはいるし読み出しもOK
3 resizeによって多めにメモリを確保しているので、メモリ保護エラーには
  ならないが、不可思議なことがおこる。
4 神様だけが知っている。

ご存知の方がいらしたら教えてください

327 :デフォルトの名無しさん:03/05/28 15:56
>>326
【C++】template 統合スレ -- Part2
http://pc2.2ch.net/test/read.cgi/tech/1047978546/
ってのがあるよ。

どうでもいいけど「コンテナ」と「要素」を勘違いしてない?


328 :デフォルトの名無しさん:03/05/28 16:30
>>325
ウィンドウハンドルを列挙して、ウィンドウハンドルから実行ファイル名を取得する。
それがaaa.exeだったら、GetWindowThreadProcessIdでウィンドウハンドルからプロセスIDを取得する。

実行ファイル名じゃなくて、ウィンドウ名から取得するなら、
FindWindowとGetWindowThreadProcessId使うだけなので楽。

329 :デフォルトの名無しさん:03/05/28 16:37
>>325
http://www.google.com/search?num=1050&lr=lang_ja&q=Win32%20でアプリケーションを列挙する方法

330 :デフォルトの名無しさん:03/05/28 17:31
>>328
ありがとうございました。

おかげでコンソール上では値を取得できたのですが、
画面をつけたらコンパイルのエラーになりました。


hWnd = FindWindow("プロセスのクラス名", NULL);

この部分で以下のエラーが返されます
error C2440: '=' : 'class CWnd *' から 'struct HWND__ *' に変換することはできません。

どうもFindWindowがCWnd::FindWindowと解釈されてしまってるようなのです
これを防ぐ手は無いでしょうか?


331 :デフォルトの名無しさん:03/05/28 17:40
:: をつける。
::FindWindow

332 :デフォルトの名無しさん:03/05/28 17:57
ありがとうございました^^

分かってみれば簡単なことなんですね
Windowアプリケーションは真似以外では今日はじめて作るので
こまってました

333 :デフォルトの名無しさん:03/05/28 19:54
分かってみればってホンマにわかっとんかいな
スコープについて勉強したほうが

334 :デフォルトの名無しさん:03/05/28 20:07
× 分かってみれば
○ 答えを聞いて分かったつもりになってみれば

335 :253:03/05/28 21:24
あるポインタ(可変長の配列を作りたい)を
作ってfor文のなかで
malloc関数を使って長さを指定しました。

そしてfor文で一回ループをした後、
配列の長さを変えたい為にまたmalloc
関数を使って長さを指定します。

1ループ前に作った配列のメモリを
開放するために以下の記述をしました

if(hairetu != NULL)
free(hairetu);

そうするとhairetuはNULLではないので
条件を満たすのですがfreeをすると
エラーになってしまいます

for文の中でメモリ開放はできないのでしょうか?
一つの変数に一度しかfreeはできないのでしょうか?

336 :デフォルトの名無しさん:03/05/28 21:50
-1.4208909612724965e+005

みたいな数字をファイルから入力する場合、
fscanfの中の % 以降はどんなのつければいいんですか?
%eじゃうまくいきませんでした。

337 :デフォルトの名無しさん:03/05/28 22:03
あげ

338 :デフォルトの名無しさん:03/05/28 22:17
>>335
ぐちゃぐちゃ説明せんと、コード晒せや。
それから、if(hairetu != NULL) free(hairetu); なんてやってると、知ったかに叩かれるから、free(hairetu); だけにしときな。

>>336
double d;
fscanf(..., "%le", &d);

339 :デフォルトの名無しさん:03/05/28 23:09
>>335
std::vectorかstd::list使へ。

340 :デフォルトの名無しさん:03/05/28 23:28
その前にnewとdelete使えと思ったんですが・・・ダメ?

341 :デフォルトの名無しさん:03/05/28 23:41
>>340
いや、俺もそうは思ってたんだが…
結局使う人がそれを使うと言うとその条件で考えるしかない。

342 :デフォルトの名無しさん:03/05/29 00:00
realloc使っとけ

343 :デフォルトの名無しさん:03/05/29 00:03
だってmalloc使ってる人がstd::vector使うなんて違和感が・・・

344 :洗濯犬:03/05/29 01:20
初心者です。
今、MFCの学習を進めるか、
それともフレームワークだけに専念するか迷っています。
どうかいいアドバイスをお願いします。

345 :デフォルトの名無しさん:03/05/29 06:10
すみません質問です。リソースに割り当てられた
既存のメニュー項目のコマンドIDから
先頭のメニュー項目を0とする
メニュー項目の位置(行)を調べる
方法を教えてください。

346 :_:03/05/29 06:33
http://homepage.mac.com/hiroyuki43/jaz10.html

347 :デフォルトの名無しさん:03/05/29 07:22
Visual C++.NETアカデミック買ったんですが、コンパイラってどれですか?
コンパイラにパスを通したいんですがどれかわからないです・・・

348 :345:03/05/29 07:54
自己解決しました。

 UINT C**::GetMenuItemIndex( HMENU hMenu, _ItemIDType ItemID )
 {
  // 変数の宣言
  UINT unitMenuItemIndex; // 戻り値
  int intCountI; // カウンタ
  int intMenuItemCount; // メニュー項目の個数

  intMenuItemCount = GetMenuItemCount(hMenu);

  for (intCountI = 0; intCountI <= intMenuItemCount - 1; intCountI++)
  {
   if ( ItemID == GetMenuItemID(hMenu, intCountI) ) // 見つかった場合
   {
    return intCountI; // メニュー項目の位置を返す
    break;
   }
  }

  return -1; // 見つからなかった場合、負の値を返す
 }

という構文を作ったら、無事取得できました。

349 :デフォルトの名無しさん:03/05/29 08:41
>>344
MFCってSDKの知識がないと使えないと思うよ。
Windowsのプログラミング作法を学ぶという意味でもまずはSDKをさらりと勉強してはいかがだろうか。

350 :デフォルトの名無しさん:03/05/29 09:18
>349
ちなみに俺はそのように(MFCの前にSDKやれば〜)教わってSDKから
始めたが、より薄いラッパーのATL/WTLに進んでしまった(w

351 :デフォルトの名無しさん:03/05/29 11:00
あるダイアログアプリケーションをつくったのですが
値の変更がダイアログ上のエディットボックスに反映されません

ダイアログにはボタン1つとエディットボックスが1つで
エディットボックスにはメンバ変数としてint型の変数が割り当てています。

そしてボタンをおしたら関数が走り
その関数の最後でそのm_data1 = 計算後の値;
という感じでデータを代入しているのですがエディットボックスの中身は0のままです
どうしたら価が変更されてくれるのでしょうか?

352 :デフォルトの名無しさん:03/05/29 11:09
エディットボックスにm_data1をいれる

353 :デフォルトの名無しさん:03/05/29 11:20
すいません言葉がたりませんでした
>エディットボックスにはメンバ変数としてint型の変数が割り当てています。
これがm_data1なんですが、これがすでにエディットボックスに値を入れてる
とおもっていたのですが違うのでしょうか?

354 :デフォルトの名無しさん:03/05/29 12:38
>>315
>>316
ありがとうございました.もう一回ソースを見直すことにします.

355 :デフォルトの名無しさん:03/05/29 12:50
>351
UpdateData(FALSE);

356 :デフォルトの名無しさん:03/05/29 13:34
USER-AGENTをレジストリをいじらずに変更したいのですが、
ヒントをください。
答えもOK4☆

357 :デフォルトの名無しさん:03/05/29 14:15
vcマンセーage

358 :デフォルトの名無しさん:03/05/29 16:09
>>356
通信をフックして書き換えればいい

359 :デフォルトの名無しさん:03/05/29 18:24
すいません。ピクチャボックス全体の大きさをウインドウを開く、もしくは
ボタンを押すことによって動的に変化させることはできますか?

360 :デフォルトの名無しさん:03/05/29 19:59
>>350
俺は自分でクラス作っちまった…

361 :デフォルトの名無しさん:03/05/30 00:14
ボタンとかチェックボックスとかって自作できるみたいですけど
どうすれば良いですか?
何から手を付ければ良いか…
もしかして、Win32スレのほうか!?

362 :デフォルトの名無しさん:03/05/30 00:17
何で自作したいのか?しなくていいならしないほうがいいと思うが。

363 :デフォルトの名無しさん:03/05/30 01:33
>>359
CWndの派生クラスなら簡単にできるだろう
>>361
1から作るのか?先ずはCButtonをサブクラス化することから始めてはどうか?

364 :361:03/05/30 02:03
>>363
すまん、MFC使ってないんだ…
1から作ることになる。
多分BMPかなにかでボタンのCGを書くと予想しているんだが。

365 :359:03/05/30 03:53
>>363
ありがとうございます。たぶんSetWindowPos関数だと思うのですが。
今のところ動的に変わらなくてちょっと困ってます。

記述の仕方がよくわかりません。

Rect rect;
CWnd * Wnd;
Wnd = GetDlgItem(IDC_PICTURE);
Wnd->GetclientRect(&rect);

として元のピクチャボックスの情報を手に入れた後
状況に応じてrect.topの位置を可変にしたいのです。

どうしていいかイマイチわかりませn

366 :デフォルトの名無しさん:03/05/30 11:06
>>361
カスタムコントロールはMFC使わないと作れないんじゃないの
よくしらんけど

367 :デフォルトの名無しさん:03/05/30 11:27
>>366
よくしらんのなら、いい加減な嘘を口走るな
何故知りもしないくせに、平気で間違ったことを書き込めるのだろう

だいたいMFCでしか作れないのなら、
ソースコードが存在するMFCそのものが作れず存在しないことになる
そんな矛盾くらい少し考えれば分かるだろう

368 :デフォルトの名無しさん:03/05/30 11:51
366の云う「カスタムコントロール」にはActiveX臭さを感じる

369 :デフォルトの名無しさん:03/05/30 12:00
>>361
例えば CodeGuruの Other Controls -> Customized Check Boxes とか。SDKの
サンプルあるよ。普通のボタンなら Button Controls にいっぱいあると思う。

>>365
(コントロールのCWnd*)->GetWindowRect(rect);
(親ウィンドウのCWnd*)->ScreenToClient(rect);

みたいにコントロールの、親ウィンドウ座標系での位置を知れば、あとは
SetWindowPos()なりMoveWindow()なりでいけると思う

370 :366:03/05/30 13:01
>>367
必死ですね
負けました

371 :デフォルトの名無しさん:03/05/30 13:31
あるダイアログで開始ボタンをおしたらそのボタン処理をずっとループするようにつくったんですが
ストップボタンを押してもとまらないのです。どういうことなんでしょうか?
あと画面上の値も更新されません。ループを使わず1回だけの処理なら値は更新されるのですが
startbtn
{
  for(;;){
    処理
    外部変数が終了になっているか?
      なっていたらbreak;
    値更新
  }
  return;
}
stopbtn
{
  外部変数を終了にする
  return;
}


372 :デフォルトの名無しさん:03/05/30 13:48
>>371
まずループ最中に、どうやってボタンのイベントを処理しているのか説明してください

373 :371:03/05/30 14:44
いえそもそもストップボタンはおしてるんですが
押されて無いようで・・・


374 :デフォルトの名無しさん:03/05/30 15:04
>>373
フルーズしてんでしょ。ボタン押してからforループ抜けてないんだから。

375 :374:03/05/30 15:05
フリーズ

376 :デフォルトの名無しさん:03/05/30 15:08
プリーズ

377 :デフォルトの名無しさん:03/05/30 15:21
「ボタンが押された」というイベントを捕らえるのにはforループを抜けなければなりませんな〜。
ワーカースレッド作ったりしたらどうだい。

378 :デフォルトの名無しさん:03/05/30 16:04
PeekMessage();をつかいなさい。


379 :デフォルトの名無しさん:03/05/30 16:20
そもそもfor文で終了までCPUを占有し続ける作りに問題がある

380 :デフォルトの名無しさん:03/05/30 16:58
モソモソ
( ( (ε゚Д゚)3

381 :デフォルトの名無しさん:03/05/30 18:12
classの定義の中で、CString cs[3];
と定義し、コンストラクタ(Dlgの)内で以下のような初期化を行なおうとしました。
cs[0]="hello";cs[1]="good";cs[2]="hi!!";cs[3]="oh!";

けれど、実行及びデバックを行なうと不正処理による強制終了が行なわれてしまいました。
どうすればよいのでしょうか?おしえてください。

382 :デフォルトの名無しさん:03/05/30 18:18
[3]って0から2まででなく、0から3まで確保するの?

383 :デフォルトの名無しさん:03/05/30 18:21
>>381
C言語の基礎からやり直し。

384 :デフォルトの名無しさん:03/05/30 18:31
>>382 すみません
     0から2までです。


385 :361:03/05/30 20:43
やっぱ、無理かな…オリジナルコントロール…


>>371
>>379氏が言っているように、CPUを優先しつづけます。
なら、話は簡単。
CPUの優先をとけば良いのでは?

Sleep(0);
をfor分の中に入れれば多分良いはず。

386 :デフォルトの名無しさん:03/05/30 20:49
>>361

>>369

387 :361:03/05/30 21:09
>>386
ぐは!書かれてるじゃん…なに見てんだろ…俺

369氏、ありがとうございます。
即研究してみます。

>>371
ちなみに、そのfor文…コントロールのコードに直接書いちゃ駄目だ。
マルチスレッドなら上手くいく。
ちなみに、こんな感じ(かなりいい加減&MFCなのは許してちょ)

Button1を押すとfor文開始。
Button2を押すとfor文抜けて、メッセージボックス出力

388 :361:03/05/30 21:09
static UINT aaa( LPVOID param );
BOOL sw

void CTest11Dlg::OnButton1()
{
AfxBeginThread( aaa, ( LPVOID ) this -> m_hWnd, THREAD_PRIORITY_HIGHEST );
}

void CTest11Dlg::OnButton2()
{
sw = TRUE;
}

static UINT aaa( LPVOID param )
{
sw= FALSE;
for( ;; )
{
Sleep( 0 );
if( sw == TRUE )
{
break;
}
}
MessageBox( ( HWND ) param, "aaa", "AAA", MB_OK );
return 0;
}

389 :361:03/05/30 21:10
static UINT aaa( LPVOID param );
BOOL sw;

void CTest11Dlg::OnButton1()
{
AfxBeginThread( aaa, ( LPVOID ) this -> m_hWnd, THREAD_PRIORITY_HIGHEST );
}

void CTest11Dlg::OnButton2()
{
sw = TRUE;
}

static UINT aaa( LPVOID param )
{
sw= FALSE;
for( ;; )
{
Sleep( 0 );
if( sw == TRUE )
{
break;
}
}
MessageBox( ( HWND ) param, "aaa", "AAA", MB_OK );
return 0;
}

390 :361:03/05/30 21:11
あれ?
2回も書かれてる…スマソ

391 :デフォルトの名無しさん:03/05/30 23:00
特に優先すべき物でなければタイマー利用してもいいかもね。

392 :デフォルトの名無しさん:03/05/30 23:01
( LPVOID ) this -> m_hWnd

MFC使ってんならこうしようぜ

( LPVOID ) GetSafeHwnd()

393 :デフォルトの名無しさん:03/05/30 23:31
>>392
いや、元々MFC使ってないし…それしか取得方法知らなかったからね。知識になった。

394 :デフォルトの名無しさん:03/05/30 23:52
質問です。VC++6.0 MFCでアプリを作ってるんですけど、
クラス外からもアクセスできる外部変数は普通はどのように宣言しますか?
やっぱりcppの先頭でグローバル宣言しておいて、他のクラスでextern宣言して
使用するのが普通なのですか?

今、あるクラスのpublicでメンバ変数(char [255])を宣言しておいて、他のクラスからは

CXxxx* pApp = (CXxxx*)AfxGetApp();

として、pApp->メンバ変数にアクセスしてますが、アサートを起こします。
やり方が間違っているのでしょうか?


395 :デフォルトの名無しさん:03/05/31 00:06
>>394
全てのクラスでインクルードするstdafx.h内でexternすれば(以下略

396 :デフォルトの名無しさん:03/05/31 00:09
>>394
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
でやれって…そっちの方が詳しく説明してくれるはず。

397 :デフォルトの名無しさん:03/05/31 00:20
VCで作ると、ちょっと容量食うので
Cでコンソール出力しか使わないときは、ソースファイルだけメモ帳で書いて
コマンドプロンプトからコンパイルしたいんですけど、
VCの場合、mspdb70.dllが見つからないとかいってclコマンドが使えません。
再インストールしても出来ないんですが、無理なんですか?

398 :デフォルトの名無しさん:03/05/31 00:20
シンタックスエラーってなんですか?

399 :デフォルトの名無しさん:03/05/31 00:23
>>398
ブンポのエラー

400 :デフォルトの名無しさん:03/05/31 00:49
>>399
どうもです。
でも、わざわざ,シンタックスエラーなんて小難しい言葉使わないで、普通に”構文エラーが出ました”って書けば良いのに・・・と思ってしまうんですが、何か違いがあるんですか?

401 :デフォルトの名無しさん:03/05/31 01:06
>>400
突き詰めていくと、なんで「エラー」っていう小難しい言葉を使うんだ?
「誤り」って書けば良いのに… っとなる。

402 :デフォルトの名無しさん:03/05/31 01:10
構造体について質問です。
public内に
 struct set{・・・・・・・}
struct set mySet;;

っていうように宣言することってできない?
クラス内共通してmySetを使いたい場合はどうすればよいのでしょうか?

403 :デフォルトの名無しさん:03/05/31 01:11
>>401
そうっすね・・・・

404 :デフォルトの名無しさん:03/05/31 01:15
>>402
struct set{ }
これの最後のセミコロン抜けてないか?

405 :デフォルトの名無しさん:03/05/31 01:19
>>404
書き忘れました。ごめんなさい。


406 :デフォルトの名無しさん:03/05/31 08:09
>>400
そのほうがかっこいいからだろ?

407 :デフォルトの名無しさん:03/05/31 09:02
>>402
ゲッ、マルチかよ。
氏ね。

408 :デフォルトの名無しさん:03/05/31 09:59
>>407
ほんとだ…しかもMFCスレにわざわざ書くなよ…向こうは激しくスレ違いだと思う。
せめて何日か経って、返事がまるで来なかったら移るとかさ…

409 :デフォルトの名無しさん:03/05/31 10:39
あのー、激しく初心者な質問で申し訳ないんですが・・・

HDC BeginPaint(HWND hWnd, LPPAINTSTRUCT lpPaint);

BOOL EndPaint(HWND hWnd, CONST PAINTSTRUCT *lpPaint);

上の関数の最後の引数には * がつかなくて、下の関数の最後の引数には
* がつく理由がわかりません。一応値渡しと参照渡しの違いは理解しているつもりです。
本に載ってたコードでは下のように両方ともに構造体のアドレスを渡しているようですが・・。

hdc = BeginPaint(hWnd, &ps);
.
.
.
EndPaint(hWnd, &ps);

ハァ、私はプログラムに向いてないのでしょうか・・・

410 :デフォルトの名無しさん:03/05/31 10:58
>>409 定義をたどれ。

typedef struct tagPAINTSTRUCT {
HDC hdc;
BOOL fErase;
RECT rcPaint;
BOOL fRestore;
BOOL fIncUpdate;
BYTE rgbReserved[32];
} PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT;


411 :デフォルトの名無しさん:03/05/31 10:59
winuser.hのどこかに
 typedef PAINTSTRUCT *LPPAINTSTRUCT;
相当の記述があるよ。

412 :デフォルトの名無しさん:03/05/31 11:12
>>本に載ってたコードでは下のように両方ともに構造体のアドレスを渡しているようですが・・。

これは正しい。書き方が違うだけで、2つは同じ型。
型名の先頭に"LP"が付くと、元の型のポインタ型をさすってこと。


413 :直リン:03/05/31 11:13
http://homepage.mac.com/yuuka20/

414 :デフォルトの名無しさん:03/05/31 11:23
むしろ、なぜ BeginPaintは LPPAINTSTRUCTで EndPaintは PAINTSTRUCT * なのか?

415 :デフォルトの名無しさん:03/05/31 11:33
>>397
新規作成->Win32 Console Application
じゃだめだってことか?

416 :デフォルトの名無しさん:03/05/31 11:44
.NET Framework を使わない場合、VC++6.0で十分でしょうか?
.NET 2003 の 新しい Windows フォーム デザイナ ってのが気になってるんですが。

417 :デフォルトの名無しさん:03/05/31 11:58
>>414
BeginPaintでは書き換わるけど、
EndPaintでは書き換わらないから。

418 :デフォルトの名無しさん:03/05/31 11:59
>>416
十分の定義による。

419 :デフォルトの名無しさん:03/05/31 12:13
なぜに CONST LPPAINTSTRUCT じゃないんだろうね。
LPCPAINTSTRUCT も定義されてないみたいだし、MSは統一する気はないのかな。
ちなみに、CWndクラスのメンバ関数では両方とも LPPAINTSTRUCT になっておりますな。

420 :デフォルトの名無しさん:03/05/31 12:14
なぜ、を始めるとキリがないと思う・・・

421 :409:03/05/31 13:13
みなさんレスありがとうございます。

正直、わかったようなわからないような・・・。
型が同じならなぜ書き方が違うんだろう。
とりあえず、もっと詳しくなってきたら疑問は解決するかもしれないんで
先に進むことにします。

こーゆー細かいところで詰まって考え込んでしまう。。。

422 :デフォルトの名無しさん:03/05/31 13:39
まあ、MS のミスだろ。
実害は無いから、放置されてるんだと思うよ。
自分のプログラムでも、あまり細かいとこまで気にしだすとキリがなくなるからほどほどにな。

423 :デフォルトの名無しさん:03/05/31 18:18
>>409
一瞬オレのコピーロボットだと思った。
実は今朝、丁度同じ時間くらいに同じ疑問を持った。
びっくり。
共に頑張ろう。

424 :デフォルトの名無しさん:03/05/31 18:32
VC++のふりーのこんぱいらってないんですかね?

425 :デフォルトの名無しさん:03/05/31 18:34
>>424
ネタ?
C++ならあるけどな。
VC++はMSの商品名だろ。

426 :デフォルトの名無しさん:03/05/31 18:34
どういう意味だろ。VC++完全互換のフリーコンパイラという意味かな?

427 :デフォルトの名無しさん:03/05/31 18:59
おいおまいら、>>424は釣りだぞ!
引っかかるなよ!

428 :デフォルトの名無しさん:03/05/31 19:00
>>427
荒らしは.NETスレに逝ってください。

429 :デフォルトの名無しさん:03/05/31 19:56
>>428
同意。

430 :デフォルトの名無しさん:03/05/31 20:44
>>422
気にしすぎると仕様厨へと変身してしまうからな

>>424
.NET Framework SDKのことか?

431 :デフォルトの名無しさん:03/06/01 04:09
>>419
一応つっこんどくけど
const LPPAINTSTRUCT p ;

PAINTSTRUCT* const p ;
と同じ意味になるよね。関数の引数にするときはあんまり意味がない。

LPCPAINTSTRUCT を作るとしたら
typedef const PAINTSTRUCT* LPCPAINTSTRUCT;
かな。
const LPPAINTSTRUCTとは意味が違う。

432 :デフォルトの名無しさん:03/06/01 11:05
>>419
頭文字に「LP」と付く構造体、変数は「ロング・ポインター」の略。
意味はそのまま。
つまり、「*」を付けて宣言しているのとほぼ同意。(詳しくはあまり知らないけど)

433 :デフォルトの名無しさん:03/06/01 11:19
ウインドウの同じ位置(座標)に2つの色を表示して、
一方は透過性をもつようにしたいです。

それはできるのでしょうか?単純には無理ですかね

434 :デフォルトの名無しさん:03/06/01 11:21
2000/XPなら単純にできるAPIがあるけど

435 :433:03/06/01 13:05
あ、2000です。すいません。いわなかったのはわざとじゃありません。
教えていただけるとありがたいです。

436 :397:03/06/01 14:42
>>415
それで作るとデバックとかが含まれてファイルが大きくなるので
あくまでソースファイル単体だけにしたかったのです。
でも、なんとかやり方見つかりました。
お騒がせしました。

437 :デフォルトの名無しさん:03/06/01 14:58
>>436
根本的に理解が間違ってる予感

438 :デフォルトの名無しさん:03/06/01 14:59
>>435
とりあえず「透過」「ウィンドウ」「API」
ttp://www.google.com/search?hl=ja&ie=UTF-8&oe=utf-8&q=%E9%80%8F%E9%81%8E+%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6+API

439 :デフォルトの名無しさん:03/06/01 15:00
>>436
サイズがでかいのがイヤならReleaseでコンパイルすりゃいいと思うんだけど……

440 :デフォルトの名無しさん:03/06/01 15:19
タイトルの所にFPS表示させるのって
もしかして相当に無駄?

441 :デフォルトの名無しさん:03/06/01 15:54
>>437
いや、絶対間違ってる。

442 :397:03/06/01 17:58
.NETなんですけど、よく見たら
win32じゃなくて、コンソールアプリの方でやってました。
これからはwin32コンソールでやります。
すいませんでした。


443 :397:03/06/01 18:10
>>442
今までアカデミックについてくるC/C++コンソールのほうで
やってたってことです。
いちお、わかりにくい文だったので訂正を。

444 :デフォルトの名無しさん:03/06/01 19:06
WM_PAINTメッセージをフックしようと思い、WH_CALLWNDPROCでフックしたら、
マウスメッセージがとれません。両方フックする方法はありませんか?

445 :デフォルトの名無しさん:03/06/01 20:46
>>444
WH_MOUSEもフック

446 :デフォルトの名無しさん:03/06/01 21:40
激初心者質問で申し訳ないのですが、
Win32 Debugでビルドした場合は特に問題がなく、
Win32 Releaseでビルドしたアプリの方で原因不明のバグが
出て落ちるのですが、このようなことは起きるものなのでしょうか。
自分のコードがまずいのは分かっているのですが・・・
(エラーチェックをほとんどしていない等)





447 :デフォルトの名無しさん:03/06/01 21:42
>>446
ソースの何処かにバグがある。
自力で調べれ。

448 :デフォルトの名無しさん:03/06/01 21:54
>>446
デバッグの逆汗ながめりゃわかるだろ?

449 :デフォルトの名無しさん:03/06/01 21:55
>>446
よくあるこっちゃ。エラーチェックサボっちゃダメよ。
初期化してない変数とかないか?デバッグだと勝手に0が入ってて
落ちずに走っちゃうこととかある。

450 :デフォルトの名無しさん:03/06/01 21:59
>>446
まずいのがわかってるなら直せ。
たとえばASSERTやVERIFY、TRACEを使うとかな。

451 :デフォルトの名無しさん:03/06/01 22:04
稀に最適化のバグもあるけどな
一度しか遭遇したこと無いが(もう修正されたし)

452 :446:03/06/01 22:47
みなさんレスありがとうございます。

>デバッグの逆汗
アセンブラ?は分からないのですが、よい機会なので
勉強してみます。

>初期化してない変数とかないか?
う、この辺が原因かもです。

>ASSERTやVERIFY、TRACE
デバッグの基本を知らな杉でした。
早速使ってみます。

うぐー、気合入れて直します・・・

453 :デフォルトの名無しさん:03/06/01 23:11
ttp://www.nitoyon.com/vc/tutorial/debug/win32.htm
ここなんか参考になるんじゃない?最後笑えるし、おすすめ

454 :デフォルトの名無しさん:03/06/02 12:39
配列は普通0から始まりますが、int hairetu[-1~4]等とすると-1,0,1,2,3,4のを
用意できるみたいなのはありますか?あるなら教えてください。

ゲームを作っていて、それは、データが0から16毎に並んでいるので、よくnum/16
みたいな使い方をします。-1はデータを使わない時に使っていて、-1をそのまま
配列に当てはめてしまうと、あふれてしまいます。だから、始めに配列の範囲か
しらべてから、当てはめなければ成りません。0を使わない場合にして、1から16毎
にすると、(num-1)/16としなければ成りません。こちらの解決方法でも良いですが。

455 :デフォルトの名無しさん:03/06/02 12:43
書き込む前に一度文章を推敲してください。意味不明です。

456 :デフォルトの名無しさん:03/06/02 13:01
>>455
int hairetu[5]={0,1,2,3,4};
int hairetu2[-1~4]={-1,0,1,2,3};
hairetu2[-1]==-1
と言うことです。

457 :デフォルトの名無しさん:03/06/02 13:08
そういうクラス作れ。

458 :デフォルトの名無しさん:03/06/02 13:11
出来ん(w

459 :デフォルトの名無しさん:03/06/02 13:12
>>454 これを参考にしろ
わかんなかったらあきらめろ。
template<class T> class Array {
  const int limit;
  T* a;
public:
 A( int aLimit ) : limit(aLimit), a( new T[limit] ) {}
T& operator[]( int i ) {
   if( 0 <= i && i < limit )
      return a[i];
   else
      throw out_of_range("shine");
 }
};

460 :デフォルトの名無しさん:03/06/02 13:12
そっか。オーバーロードと言う手があるか。

461 :デフォルトの名無しさん:03/06/02 13:12
じゃああきらめろ。VCにそんな機能無い。

462 :デフォルトの名無しさん:03/06/02 13:20
>456
それって結局、if(num==-1)若しくはif(hairetu2[num]==-1)を
どっかでやるんじゃないのか? 意味あんの?

463 :デフォルトの名無しさん:03/06/02 13:20
int a[4] = {-1,0,2,3};
int* p = a+1;
printf("%d",p[-1]);
この程度のことも思いつかないのか・・・

464 :デフォルトの名無しさん:03/06/02 13:38
>>459
少しなんとなく分かります。ありがとうございます。
>>460
>>459の事?
>>461
分かりました。あればよかったんですが。
>>462
うまく説明できないのですが。将棋なんかでもそうなんですが、1~9の9つ
しか直接的に使わないのに0と10も間接的に使いました。ただ、将棋の場合
は0~8を直接的に使うよりは、1一みたいに1からなので、そのままにしました。
>>463
使う前に、1文余分に書かなければならないでしょう。

465 :デフォルトの名無しさん:03/06/02 14:17
マジックナンバ使うのやめれ

466 :デフォルトの名無しさん:03/06/02 14:30
マイナスを使う例

int main(int argc, char* argv[])
{
char sage[8] = "abcdefg";
char* age = &sage[3];

for( int i = -3; i < 4; i++ )
{
printf("%c", age[i]);
}

return 0;
}

467 :デフォルトの名無しさん:03/06/02 14:32
……って、463と同じか。

468 :デフォルトの名無しさん:03/06/02 14:44
1文くらいいいじゃん

469 :デフォルトの名無しさん:03/06/02 14:54
つーか範囲チェックや-1を与えればインデックス0要素が取得できるような処理をラップしたクラス作れってことで解決済みだっつの。

470 :デフォルトの名無しさん:03/06/02 14:59
いろいろ工夫する方法があったんですね。お答えありがとうございました。

471 :デフォルトの名無しさん:03/06/02 15:59
#define convertnumber(x) ((x)+1)

472 :デフォルトの名無しさん:03/06/02 16:04
フリーでダウソしてきたラッパクラスを使用時に問題が出てきますた…
関数に与える変数に、

「データの参照:BYTE &」

との記述がされてました。
これはどういった記述をすればよいのでしょうか??


473 :デフォルトの名無しさん:03/06/02 16:11
具体的には

bool ReadPort( BYTE & )

とゆう関数を呼び出して扱うらしいのですが…

474 :デフォルトの名無しさん:03/06/02 16:12
普通に変数を渡すだけでいい
勝手に参照渡しになる

475 :デフォルトの名無しさん:03/06/02 16:15
>>474
そうなんですか!!
さっそくやってみます。ありがとうございました!!

476 :デフォルトの名無しさん:03/06/02 17:09
いくら初心者とはいえ甘やかしすぎ……

477 :名無しさん :03/06/02 17:26
wavファイルの音程を上げ下げするには、どうすれば良いでしょうか?

478 :デフォルトの名無しさん:03/06/02 17:35
>>477
ttp://www.wotsit.org/search.asp?page=8&s=music
ここから仕様書をダウンロードしてじっくり読め。

479 :デフォルトの名無しさん:03/06/02 20:13
例えば0.1sごとに処理をさせたい場合はどのような関数を使って、記述すればよいのでしょうか?
また、参考できるHPとかもあったら紹介していたただけるとうれしいです。


480 :デフォルトの名無しさん:03/06/02 20:25
>>479
SetTimer()

481 :デフォルトの名無しさん:03/06/02 21:05
ライセンス違犯しているのですが、あと2ヶ月でアンインスコするんで見逃してください。本当にスマソ。

前期だけのプログラミングの講義があるので自宅でもできるように友達からVC6の1枚のCDを借りたのですが、
その人はCDは1枚しかないと言うのですが、正直HELPが無いと教科書しか参考にできません。
それで、ヘルプが無いのでVB6を持っている人からMSDNライブラリというCDを借りて導入したのですが、
これでVC6Proのヘルプはカバーできますか?(サンプルが無いような気がするのですが。)

何かとんでもない質問したような気がするんですがすみません。。。

482 :デフォルトの名無しさん:03/06/02 21:12
>>480
ありがとうございます。SetTimerについて調べてみたのですが、まだVCを始めたばかりで解らないところがありました。
UINT SetTimer(
HWND hWnd,// handle of window for timer messages
UINT nIDEvent,// timer identifier
UINT uElapse,// time-out value
TIMERPROC lpTimerFunc // address of timer procedure
);

とあってのですが、hWndの部分がわかりません。
MFCでダイアログを作ってる場合はそのハンドルはどうなるんですか?
宜しければ御教授ください。


483 :動画直リン:03/06/02 21:13
http://homepage.mac.com/hitomi18/

484 :デフォルトの名無しさん:03/06/02 21:21
>>481
後二ヶ月待ってアンインストしろ!

485 :デフォルトの名無しさん:03/06/02 21:27
>>482
ダイアログクラス内でタイマー使うならCWnd::SetTimer();

486 :デフォルトの名無しさん:03/06/02 21:32
>>484
VCの2枚目以降のディスクがどうなってるかでも教えてくらはい!おながいします。。。
なんでなくしちゃったんだょぅ。。。

487 :デフォルトの名無しさん:03/06/02 21:39
>>481
見逃せません。即刻アンインストールしなさい。
フリーのコンパイラを使いなさい。

質問の答えだがMSDN Onlineを使えばいいんじゃない?

488 :デフォルトの名無しさん:03/06/02 21:40
>>482
Cxxx::OnInitDialog()で
  SetTimer(1,100,NULL);
を入れる。
100=100ms

WM_TIMERのメッセージハンドラ(OnTimer)内に
処理を書け

489 :デフォルトの名無しさん:03/06/02 21:41
>>485
なんどもすみません。もし、グローバル関数内でもOKですか?



490 :デフォルトの名無しさん:03/06/02 22:09
BeginPaintとGetDCを使い分ける意味が分かりません。今の所は、マップ
を表示する時、ShowMapをWM_PAINTと矢印が押された時に呼び出していて、
パラメータにBeginPaintであるかないかを渡しています。それで正しい
ですか?教えてください。

491 :デフォルトの名無しさん:03/06/02 22:13
>>489
主語を省略すんな。

>>490
その説明でわかってもらえると思う?

492 :デフォルトの名無しさん:03/06/02 22:23
BeginPaintはWM_PAINTで、それ以外はGetDCと言う以外分かっていないので
質問しました。WM_PAINTは初めて表示する時、隠れた部分が現れた時などの
イベントで、その時にマップを表示します。また、矢印を押すと、キャラの
位置データを移動させた後、マップを表示します。うまく説明できません。
void ShowMap(int begin, ...)//BeginPaintで表示したいなら1
{
hdc=begin?BeginPaint(...):GetDC(...);
//マップの表示//
begin?EndPaint(...):ReleaseDC(...);
}

493 :デフォルトの名無しさん:03/06/02 22:32
>>487
ナローバンドだからなんとなくオフラインキボンヌ!


ヽ(`Д´)ノウワァァン

494 :デフォルトの名無しさん:03/06/02 22:44
VC++6.0の二枚目は多分必要ないと思う。
ちなみにヘルプはこれじゃないよ。あれはMSDNライブラリ。

495 :デフォルトの名無しさん:03/06/02 23:02
わがままなやっちゃなあ。テレホはあんのか?
その間に丸ごと落としたらどーよ?
どっちにしても常時接続じゃないと辛いと思うぞ。
勉強するとき一番役に立つのはGoogleだしな。

496 :デフォルトの名無しさん:03/06/02 23:04
>>493
ふつうにwebブラウザで参照できる

497 :マルチポストかも、ごめんなさい:03/06/03 15:48
_T マクロでSJIS/UNICODEを切り分けてRDBに文字を保存できるのは良いと思うのですが、UCS-2でなくUTF-16で保存したい場合にはどういう記述になりますか?

498 :デフォルトの名無しさん:03/06/03 15:54
>>481の質問の要点は「VB6を持っている人からMSDNライブラリというCDを借りて導入したのですが、
これでVC6Proのヘルプはカバーできますか」だろ。
答えは「はい」。これだけじゃん。


499 :デフォルトの名無しさん:03/06/03 16:03
>>492
WM_PAINTメッセージが来るのはウインドウに更新領域(無効領域)が存在するため
BeginPaint()を使うと更新領域がクリアされる。WM_PAINTのメッセージを
受けて、BeginPaint()せずにGetDC()しても更新領域はクリアされないので
すぐにWM_PAINTメッセージがきてしまう(くる必要も無いのに)。
更新領域はInvalidateRect()などで追加する。
通常はなにかの操作で画面を書き換える必要が出ると、InvalidateRect()などを
使って更新領域を設定してWM_PAINT時に描画する

500 :デフォルトの名無しさん:03/06/03 16:12
すいません マルチポストになっちゃいましたが
どなたさんか教えてください。


同じ cppファイル内で関数 a_Function()というのを作って
それをボタンが押された度に呼出したいのですが
うまくいきません。
a_Function:定義されていない識別子です。のコンパイルエラーが出ます。

VCはまだ浅いので どなたさんか問題点の指摘 アドバイス等 
頂けないでしょうか。

ウラワザでクラスウイザードを使用してボタンクリックなどの関数作って
名前を変えるというのを伝授してもらったんですが
肝心のボタン押下の処理でワトソン博士が発生してしまいました

501 :デフォルトの名無しさん:03/06/03 16:25
>UCS-2でなくUTF-16
_Unicode 指定したら CString をそのままバイナリで書けばそれが
マンマ UTF-16。ファイルに書く場合は頭に BOM 付けなきゃならんが
ちなみに XP 以外のOSではサロゲートペア域をサポートしてないので
UCS-2 は UTF-16 とまったく同一なものとして扱えるよん

502 :デフォルトの名無しさん:03/06/03 16:26
みてね♪
http://www1.free-city.net/home/s-rf9/page006.html

503 :497:03/06/03 16:32
完璧なご回答有難うございました>>501

504 :デフォルトの名無しさん:03/06/03 16:33
Visual C++(6.0)の使い方についてなのですが、エディタのウィンドウがアクティブに
なっているときに、左側に表示されているドッキングウィンドウ?(Class,Resource, File Viewのタブがあるウィンドウ)
をアクティブにするショートカットキーを教えてください。
いちいちマウスにもちかえずにキーボードだけで使いたいのです。ヘルプ→キーボードマップを探してみたの
ですがわかりませんでした。Ctrl+Tabだとソースウィンドウの切り替えしかできずまいってます。


505 :デフォルトの名無しさん:03/06/03 16:56
>>500
ワトソン博士は何て?

506 :デフォルトの名無しさん:03/06/03 17:09
>>505

ox7801042aの命令が0x0040338のメモリを参照しました。等
のエラーです。原因は追加した関数として使用している
コントロールに値がセットされたりした時に
発生しているようなので やっぱ将来的には不安が
残りますです。

507 :デフォルトの名無しさん:03/06/03 17:11
デバッグ実行してたらワトソンの出番などないはずだけど、、、?

508 :デフォルトの名無しさん:03/06/03 17:12
「逝ってよし!」って言ってた

509 :動画直リン:03/06/03 17:13
http://homepage.mac.com/hitomi18/

510 :デフォルトの名無しさん:03/06/03 17:13
>>499
分かりにくい書き込みだったのに、答えてくださりありがとうございました。

511 :デフォルトの名無しさん:03/06/03 17:15
>>507
すいません。実行環境と開発環境が違うマシンなので
開発環境では 致命的な例のバッテンメッセージです。


512 :デフォルトの名無しさん:03/06/03 17:17
でも正直 ワトソン博士に
あの表情で「逝ってよし!!」
なんていわれたら モニタ 投げるかもw

513 :デフォルトの名無しさん:03/06/03 17:24
>>506
ボタンを押下すると落ちるプログラムなのに将来的て・・・w

514 :デフォルトの名無しさん:03/06/03 17:28
>>513
恥ずかしいんでサゲでいきます。
ボタンを見えなくして押せないようにっていうのも
あるんですが..........


515 :デフォルトの名無しさん:03/06/03 17:34
だいたいどんなコード書いたのかも知らんのにアドバイスのしようがあるかっての

516 :デフォルトの名無しさん:03/06/03 17:36
ワトソン博士はどうでもいいからデバッグしろ

517 :デフォルトの名無しさん:03/06/03 17:54
MFC?


518 :デフォルトの名無しさん:03/06/03 18:08
すみません。
メニュー項目にツールチップを表示させる方法を教えてください。

 CWnd *pWndMenu;
 CToolTipCtrl cttText;

  // ポップアップ メニューのウィンドウ ハンドルを取得
 pWndMenu = CWnd::FindWindow("#32768", NULL)

 cttText.Create(pWndMenu);
 cttText.AddTool(pWndMenu, IDS_HINT1); // String Tableから
 cttText.Activate(true);

では駄目らしいので。

519 :デフォルトの名無しさん:03/06/03 18:44
アホな質問ですいません。
ソリューションってなんですか?
以前VC++6.0を使ってみたことがあるんだけど、そのときはプロジェクトだけ
だった気がします。

520 :デフォルトの名無しさん:03/06/03 18:54
>>519
解決。
なにかの目的を達成するために使うものとか。

521 :デフォルトの名無しさん:03/06/03 19:45
C++ 言語そのものを覚えたいのですが、初心者にもわかるようなものはないでしょうか。C言語の文法はほとんど理解したつもりです。

522 :デフォルトの名無しさん:03/06/03 19:48
>>521
本ってこと?それならここを参考に

推薦図書/必読書のためのスレッド PART 10
http://pc2.2ch.net/test/read.cgi/tech/1051496506/l50

523 :小心者:03/06/03 23:08
小心者ですが、
最近マシン語をお浚いしようと思って関連書籍を読んでいます。
昔のパソコンを使って実験できたらいいのですが
なかなか難しいです。

誰かz80屋8080系のプロセッサのエミュレータを
手に入れる方法を御存知でしたら教えて下さい。

524 :デフォルトの名無しさん:03/06/03 23:09
>>523
なんてスレ違いな質問なんでしょう。

あんたが今使っているCPUの機械語を勉強すればいいでしょ。

525 :デフォルトの名無しさん:03/06/03 23:17
>>523
ポケコン買って勉強すれば?
Z80使われているの多いよね。

526 :デフォルトの名無しさん:03/06/03 23:23
Z80Emulator&Assembler
http://www008.upp.so-net.ne.jp/ken-2/emulator/z80/index.html

527 :デフォルトの名無しさん:03/06/03 23:30
>>520
俺も具体的には初めて知った。
と言う事は何か?あの会社でよく使われている「ソフトウェアソリューション」
とか「〜ソリューション」って言葉は、まったく意味不明な言葉じゃん!

528 :デフォルトの名無しさん:03/06/04 01:01
simpleXというdirectX用のライブラリを
C++.NETで使えるようにする場合の
設定方法がわかりません。
どなたか教えてください。

529 :デフォルトの名無しさん:03/06/04 01:13
>528 自分で解決せよ。

530 :吉岡美穂:03/06/04 02:23
>>528
ネタくさいわね

531 :デフォルトの名無しさん:03/06/04 02:31
文字列の扱いについて教えてください。
"123%\n"
という文字列で,”123”を抜き出すにはどうすればよいのでしょうか。


532 :デフォルトの名無しさん:03/06/04 02:37
lstrcpyn

533 :デフォルトの名無しさん:03/06/04 02:39
>>532
ありがとうございます!

534 :デフォルトの名無しさん:03/06/04 15:30
>>527
解決方法って意味もあるよ。
応用の利かない人ですな……。

535 :小心者:03/06/04 23:33
小心者です。 解答ありがとうございました。
>>525 その手がありますね。
>>526 ダウソロードしてみます。

536 :デフォルトの名無しさん:03/06/05 00:03
VC++6.0でプログラム作ってるんですが
サブネットマスクの取得の仕方がわかりません。
どなたか教えていただけないでしょうか?

537 :521:03/06/05 01:47
>>522 さん
ありがとうございます。
早速探してきます。


538 :481:03/06/05 02:06
あどうも、何かネットやっているうちにぶっ倒れたみたいで気が付いたら病院にいましたw(話すと長くなるのでやめますが。)
494さんの言うようにDisk2の中身はあんま俺には関係ないみたいでした。
498さんもレスありがとうございました。

ネットの方は常に最新なのでたまにはオンライン版みるのもいいかなぁ。

539 :デフォルトの名無しさん:03/06/05 19:56
あの・・・
本当に初心者的な質問なんですが、ウィンドウを縦に分割することはできますか?
ウィンドウ>分割を選んでも横にしか分割できませんが・・

お暇があればレスお願いします。

540 :デフォルトの名無しさん:03/06/05 20:34
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
{
PAINTSTRUCT ps;
HDC hdc;
char *szStr = "金玉";

switch (msg) {
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
TextOut(hdc, 10, 10, szStr, strlen(szStr));
EndPaint(hWnd, &ps);
break;

上のコードで金玉という文字列が表示されると思うんですが、TextOut関数の第一引数hdcは
何も定義されずに使われているんですが・・・。
何も定義しないと0に初期化されて、デフォルトのディスプレイに出力される、という理解であってますか?

541 :デフォルトの名無しさん:03/06/05 20:34
>>539
できます。
まーいろいろ調べてみなされ。
ttp://www.google.com/search?q=MFC+%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6+%E5%88%86%E5%89%B2

542 :デフォルトの名無しさん:03/06/05 20:35
>>540
hdc = BeginPaint(hWnd, &ps);
~~~~

543 :デフォルトの名無しさん:03/06/05 20:36
VC++のリソース編集で
ダイアログボックスのフォントってなんで全部いっしょなんですか?
コード上でしか変えられないんですか?


544 :デフォルトの名無しさん:03/06/05 20:36
>>540

hdc = BeginPaint(hWnd, &ps);

でコールバックされたウィンドウのデバコン取得してるっしょ。
それを使って描画してるだけ。

545 :デフォルトの名無しさん:03/06/05 20:37
>>543
じつにムカつくけれども仕様です。(VC++6)

546 :543:03/06/05 20:37
日本語おかしかったですね。
ダイアログボックス上のコントロールのフォントのことです。


547 :デフォルトの名無しさん:03/06/05 20:37
>>545
即レスサンクス。

548 :540:03/06/05 20:41
あふぇ、見逃してマスタ。
レスthx!

549 :539:03/06/05 20:45
>>541
すいません、舌足らずでした。
自分の作るアプリのウィンドウを分割したいんじゃなくて、
エディタのウィンドウを縦に分割したいんです。

550 :デフォルトの名無しさん:03/06/05 20:54
>>549
VCのエディタの話?
ウィンドウ→分割を選ぶと4つに分割できると思うけど。
水平スクロールバーの左端の三角の隣に不自然なでっぱりがないかね。
(VC++6.0の話ね。)

551 :デフォルトの名無しさん:03/06/05 22:53
>>543
実行時にメッセージ送って変えるのが定石
しかしあんまり変える必要ないと思うが
普通に使ってる分には

552 :デフォルトの名無しさん:03/06/06 01:11
>>549
メモ帳の作者に文句を言ってくれ。

553 :539:03/06/06 17:19
>>552
1280×600の横長液晶なんで、縦に2分割できないとつらいんですよねぇ。。。

554 :デフォルトの名無しさん:03/06/06 17:21
だから なぜココでアプリの使い方きいてるの?

555 :デフォルトの名無しさん:03/06/06 17:39
>>554
スレの主旨からは外れてないとおもいますよ。

556 :デフォルトの名無しさん:03/06/06 17:44
>>550は無視かよ

557 :詭弁の特徴その1:03/06/06 17:47
それホントにVCか?

558 :デフォルトの名無しさん:03/06/06 20:04
while(1)
{
if(100<i<500)
{・・・・・・・・・・・・・・・・・・}
}

while文のなかのif文を1回処理したら、その部分の処理をしないようにするにはどうすればいいのでしょうか?


559 :デフォルトの名無しさん:03/06/06 20:08
int done;
done=0;
while(1){
if(!done&&(100<i<500)){
done=1;
・・・・;
}
}
だめ?

560 :デフォルトの名無しさん:03/06/06 20:13
>>559
有難う御座います。
やってみます。出来なかったまた教えてください。


561 :デフォルトの名無しさん:03/06/06 20:21
(100<i<500)ってお前らアホだろ?(;´Д`)

562 :デフォルトの名無しさん:03/06/06 20:23
>>559
有難う御座いました!できました。

563 :デフォルトの名無しさん:03/06/06 20:25
疑似コードじゃねーの

564 :デフォルトの名無しさん:03/06/06 22:16
>>543
たとえば多ヶ国語で実行されるソフトでコンボボックスでOSのフォント
に揃えたい時には
::SendMessage(m_comboXXX, WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT), MAKELPARAM(TRUE, 0));
なんてのを OnInitDialog() に書いたりするねー

565 :デフォルトの名無しさん:03/06/06 22:27
多言語って言おうよ(´・ω・`)

566 :デフォルトの名無しさん:03/06/07 01:34
ダイアログに作ったボタンに対して、
キーボードのキーを割り当てるにはどうすればいいでしょうか。

キーボードでボタン操作をしたいのですが。


567 :デフォルトの名無しさん:03/06/07 04:43
STLとか決まったクラスとか使ってるとその文字もキーワード認識して色変化して欲しい(´・ω・`)
例えばstringとかね。
どこかでカスタマイズできませんか? && どんな風にしてる?

568 :_:03/06/07 04:44
http://homepage.mac.com/hiroyuki43/jaz09.html

569 :デフォルトの名無しさん:03/06/07 04:49
>>567
USERTYPE.DATでググってみ。

570 :デフォルトの名無しさん:03/06/07 04:50
>>567
http://codeguru.earthweb.com/tips/user_def_keywords.shtml

571 :567:03/06/07 05:03
>>569-570

おはよー(=゚ω゚)ノ
こんな朝早くにレスありがd。
調べてみます。

572 :デフォルトの名無しさん:03/06/07 09:46
>>559
(100<i<500)
VBか?

573 :デフォルトの名無しさん:03/06/07 10:42
すんまそん、>>569の機能、VS.netのほうにはないのでしょうか。

574 :デフォルトの名無しさん:03/06/07 10:46
>>573
須磨祖、試してから聞くべきでしたね。
同じ機能ありました。


575 :デフォルトの名無しさん:03/06/07 16:43
>>572
VBはんなこと出来んのか?

576 :デフォルトの名無しさん:03/06/07 17:19
>>575
まあ VB にできないことなんかそうそう無いよ。










Cと同じで、君の思っているように動くかは知らんけどな。

577 :デフォルトの名無しさん:03/06/07 18:55
エラーにはならないみたいだ・・・でも、ちゃんと動かない。

578 :デフォルトの名無しさん:03/06/07 20:02
>>577
やっぱ動かんのか。
まぁそうだろうな。

579 :デフォルトの名無しさん:03/06/07 20:22
if( (100<i) < 500)

という判定になってるんじゃないの?
真偽のbool値をintと見て500と比較。

580 :デフォルトの名無しさん:03/06/07 20:51
質問なのですが CListCtrlで、一度Insertしたアイテムを、
指定した位置に移動する方法が分かりません。
メンバを探しても見つからないし、どなたか教えてください。

581 :デフォルトの名無しさん:03/06/07 20:56
>>561
>>579
>>572
すみません。私は大ばか者です。

VCでやっていたんですけど,エラーが出ないので出来たものだと勘違いしていました。
100<i<200
をif文で処理を行なう場合どうすればいいんでしょうか。
いろいろ試したんですが、全然解りませんでした。


582 :デフォルトの名無しさん:03/06/07 21:01
ネタだろうが一応・・・
if(i>100&&i<200)

583 :デフォルトの名無しさん:03/06/07 21:02
>>582
ご迷惑おかけしました。
本当にありがとうございます!
すみませんでした。


584 :デフォルトの名無しさん:03/06/07 21:19
>>582
俺は、if(100 < i && i < 200) と書く方が好みだ。

585 :デフォルトの名無しさん:03/06/07 22:05
>>584
昔そういう書き方してたけど
今はやらなくなった(i > 100 && i < 200)

586 :デフォルトの名無しさん:03/06/07 22:09
俺も
( 100 < i && i < 200)

この方が数直線の表記に近いので分かり易い

587 :デフォルトの名無しさん:03/06/07 22:29
俺も ( 100 < i && i < 200) 派だな〜
直感的(視覚的?)にどこからどこまで、っていうのがわかりやすいと個人的には思ってる。
変数を必ず先に書く、という人には合わんのだろうなw

if( 0 == i ) ...
という表記も =(代入演算子) と ==(比較演算子) を間違えるというバグを未然に防ぐにはいいけれど、性に合わん。

588 :デフォルトの名無しさん:03/06/07 22:53
他スレから来ました
visual c++.netです
コンボボックスのドロップダウン型でドロップダウンした時の一番上の選択するやつのnIndex
って0ですよね・・・?そしたらドロップダウンしない普通の入力欄のnIndex
っていくつですか?−1でやるとエラーでちまうんですばい

589 :デフォルトの名無しさん:03/06/07 22:55
そんなもんねーよ

590 :デフォルトの名無しさん:03/06/07 22:57
>>587
> 変数を必ず先に書く、という人には合わんのだろうなw

ああなるほど、確かに (i > 100 && i < 200) の方が「i は 100 を超えて かつ i は 200 未満」と読めるか...。
でも、直感的に違和感あるなぁ...。まあ、好みと言うことで。

591 :デフォルトの名無しさん:03/06/07 23:05
>>588
インデックスなんかねーよ。
普通に文字列取得しろよ。

592 :デフォルトの名無しさん:03/06/07 23:10
りょーかいです。厨房でごめんでした
(´-`).。oO(みんなの口調きつかったのなんでだろう・・・)

593 :デフォルトの名無しさん:03/06/07 23:11
>>581
ほんとに大馬鹿者だな( ´,_ゝ`)プッ

594 :デフォルトの名無しさん:03/06/07 23:13
>>566
@ボタン(&a)
AHotKey

595 :デフォルトの名無しさん:03/06/07 23:17
>>592
> (´-`).。oO(みんなの口調きつかったのなんでだろう・・・)

まあ、あんまり気にすんな。
あまりにも基本的なこと聞かれると、ぶちきれる奴がよくいるが、そういう奴はスレタイもろくに見れない奴だから。

ただ、「C言語なら俺に聞け」とかのスレで、同じこと聞くとマジで罵倒されるぞ。

596 :588:03/06/07 23:32
C言語なら俺に聞けからきましたw
てか、普通に入力されてる物取得する時は
右クリック→変数の追加→valueでその値とればいいんすよね?

597 :デフォルトの名無しさん:03/06/07 23:33
そんなに口調きついかぁ……?

598 :デフォルトの名無しさん:03/06/07 23:33
>>596
UpdateData忘れんなよ

599 :デフォルトの名無しさん:03/06/07 23:45
>>597
2ch ないなら普通だけど、世間だと相当きついぞ。
面識ない奴から面と向かって、「そんなもんねーよ」とか言われたことあるか ?

600 :588:03/06/07 23:46
>>598
了解です。ってかUpdateDataってCWndのメンバだけど、
どうやって呼び出せばよい??
http://aiton21.tripod.co.jp/GoogleSercher.zip
にあげてみた

601 :588:03/06/07 23:50
があああ!馬鹿なこと言ってごめ!
ふつうに呼べた。思い込みいくない!w

602 :デフォルトの名無しさん:03/06/07 23:53
>>600
間違ってたら悪いが、「探す」の意味で使っているならSearcherだとおもう。

>>599
ここは2ちゃんねるだ

603 :デフォルトの名無しさん:03/06/07 23:54
ちょっと落ちつけ。

604 :デフォルトの名無しさん:03/06/07 23:56
>>602
> ここは2ちゃんねるだ

それがどうかしたのか ?

605 :デフォルトの名無しさん:03/06/07 23:57
                              _ ノ
                             ( (   (. )
                               `
                              . -/■\ .
                          .´,.::;(´∀`A) `.
                          i ヾ<:;_ー-ーー,.ン |
                          l      ̄...:;:彡|
             /■\            }  . . ...::::;:;;;;;彡{
           ( ´ )-`)          i   . . ...:::;;;;;彡|
           ,つ  ⊆)            }   . .....:::;::;:;;;;彡{
          , :´ `"~.  `、          !,    . .:.::;:;;;彡j:::::::::::::::.......
.         . '  .    ; .丶         ト ,  . ..,:;:;:=:彳:::::::::::::::::::::::::::..
.        ,:´ .    '    ' `、        ヽ、.. ....::::;;;ジ.::::::::::::::::::::::
       ,'    . 簍鬱鶸鑼  ; `.           ̄ ̄
   ,, -'''" .   .  駲刪櫑躪  . ' ';゛`'丶.、.......
.  '´     !    . 膚順棚斷. ' , ;::::::::::::...`.::::::::....
 i       ヽ、..._,.__魎鬱蹠撫.,,__,.,..ノ.:::::::::   !::::::::::::...
. ヽ、                      ,: '.:::::::::
    `=ー--、....,,,,,______,,,,,... --‐=''´..::::::
      ``" '' 'ー───‐―‐' '''

606 :デフォルトの名無しさん:03/06/07 23:58
>>604
スレの流れ嫁。

607 :デフォルトの名無しさん:03/06/07 23:58
>>604
……なんか話がかみ合いそうもないから、もういいや。

608 :588:03/06/07 23:58
>>602
ガ━━ΣΣ(゚Д゚;)━━ン
ショック。。。プロジェクト名って変えられないのかな

609 :デフォルトの名無しさん:03/06/07 23:59
>>604
香ばしいなw

610 :デフォルトの名無しさん:03/06/08 00:00
以上ジサクジエンでした。(・∀・)

611 :デフォルトの名無しさん:03/06/08 00:01
>>605
貼るなら「¥」を直して貼れよw

>>608
プロジェクトの設定で生成するEXEとかDLLの名前変えられるよ。
プロジェクト名は……VC6ならDSWファイルとかDSPファイルとかを頑張って置換するか……
(失敗すると悲劇)

612 :デフォルトの名無しさん:03/06/08 00:02
>>610
必死だな、ついに騙りか

613 :デフォルトの名無しさん:03/06/08 00:07
>>606=>>607=>>609 なのか ?

別に、>>588 が 2ch 初心者ぽいから、2ch の口調に慣れてないだけだろ ?

>>602 は、ここは 2ch だから「郷に従え」とでも言いたいんだろうけど、そんなもんに従う必要があるのか ?

それとも、>>602 は違うことを言いたかったのか ?

614 :デフォルトの名無しさん:03/06/08 00:16
>>613
602=607ですが。

>面識ない奴から面と向かって、「そんなもんねーよ」とか言われたことあるか ?
に対して

>ここは2ちゃんねるだ
と指摘しただけですよ。
2ch内のことについて2ch外の例を持ち出されても…ねぇ?

従えとかそういうんじゃなくて、ね。

615 :588:03/06/08 00:16
簡単なやつだから作り直し決定。。。

616 :デフォルトの名無しさん:03/06/08 00:17
>>615
乙彼さんw

617 :デフォルトの名無しさん:03/06/08 00:20
>>613
( ´,_ゝ`) プッ 必死だな

618 :>>606=610:03/06/08 00:25
    /\⌒ヽペタン
   /  /⌒)ノ ペタン
  ∧_∧ \ (( ∧_∧
 (; ´Д`))' ))(・∀・ ;)   おまぃら もちつけ
 /  ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O   ノ ) ̄ ̄ ̄()__   )
 )_)_) (;;;;;;;;;;;;;;;;;;;)(_(


619 :デフォルトの名無しさん:03/06/08 00:27
>>614
> >ここは2ちゃんねるだ
> と指摘しただけですよ。

だからどう指摘したつもりなんだ ?
2ch だからそれが当たり前で、初心者もそれを理解しろとでも言うのか ?

あまり引篭もってばかりだと、復帰できなくなるぞ。

620 :デフォルトの名無しさん:03/06/08 00:30
>>619
電波だったのね……。

621 :デフォルトの名無しさん:03/06/08 00:31
>>619
それはご自身に対するお言葉ですか?(藁

622 :デフォルトの名無しさん:03/06/08 00:34
粘着すぎ。>>613
何で切れてるの?

623 :デフォルトの名無しさん:03/06/08 00:35
よそでやれよ馬鹿

624 :602=607=614:03/06/08 00:39
>>619
まあそうカリカリせずに。

2ch内のことについて話しているところに突然2ch外の例を持ち出されても、
話題にそぐわないというかあまりいい例だとは思えないのですよ。
「ここは2ちゃんねるだ 」とはそういう意味で言ったわけです。
従えとか理解しろ、とかそういう意味ではなくて。

# 一般論として厳しい口調か、と問われれば答えはYesであることは明白だと思います。

625 :デフォルトの名無しさん:03/06/08 00:40
613に見る厨房の特徴
・逆ギレ
・引き篭もりという単語を煽り文句として使用
・他人の意見を汲み取れない

626 :デフォルトの名無しさん:03/06/08 00:45
>>624
変な奴に絡まれて、アンタも大変だな……

627 :デフォルトの名無しさん:03/06/08 00:46
次の質問ドゾー


628 :デフォルトの名無しさん:03/06/08 00:46
>>624
だから、>>599 で「世間では」と書いてあるのが見えてないのか ?
どこが「突然」なんだか...。

ちなみに、話の流れは >>592, >>595, >>597 となってることは理解してるか ?

629 :627:03/06/08 00:47
。・゚・(ノД`)・゚・。

630 :>>606=610=618:03/06/08 00:49
>>627
イ`…
漏れは寝る。

631 :602=607=614=624:03/06/08 00:51
>>628
見えてますよ?
話の流れも理解してます。

水掛け論になってスレに迷惑ですのでもう寝ます。
負け犬とでも電波とでも逃げたとでも、何とでも罵倒してください。

632 :デフォルトの名無しさん:03/06/08 00:52
>>627-629
ワラタ

久々に香ばしかったな。

633 :デフォルトの名無しさん:03/06/08 00:53
>>629-631


次の質問ドゾー


634 :デフォルトの名無しさん:03/06/08 00:55
自作自演と罵倒してもいいんですか?

635 :633:03/06/08 00:56
627の気持ちが物凄く深く理解できた気がする……

636 :ano:03/06/08 00:56
ビルドしたときに全く反応しなくなるときがあるのですがこれは
VCが悪いんでしょうか?
それからもうひとつ,コンパイラ済みのソフトと同じフォルダに
実行対象ファイルをおいているんですが,読み込むことができません。
プログラムと実行対象ファイルをマイドキュメントなどに移動させれば
うまくいくんですが,不便で仕方ありません・・

637 :デフォルトの名無しさん:03/06/08 00:59
>>636
OSは?
VCのバージョンは?
(バージョンによるけど)SP当てた?

質問するときはたのむから環境書いてくれよ……

638 :デフォルトの名無しさん:03/06/08 01:02
>>636
>それからもうひとつ,コンパイラ済みのソフトと同じフォルダに
>実行対象ファイルをおいているんですが,読み込むことができません。

debugフォルダに入れてるってこと?
だったらVC6の場合はdswファイルがあるフォルダを基準に実行されるみたいよ。
ちなみに プロジェクト→設定... のデバッグタブで作業用のディレクトリを指定できる。

639 :588:03/06/08 01:05
もっかい質問です。。まじすいません
http://aiton21.tripod.co.jp/GoogleSearcher.zip
searchボタンの横の▼を押すと下にウインドウが伸びて
そこにメニューがあるみたいなやつにしたいんですが、
新しくコントロール作るのに本みたら

hWndCombo = CreateWindowEx(WS_EX_CLIENTEDGE,
"COMBOBOX",
NULL,
CBS_DROPDOWN
| CBS_SORT | CBS_HASSTRINGS
| WS_TABSTOP | WS_VISIBLE | WS_CHILD,
X0, Y0, CX, CY, //←CY はドロップダウンの大きさです。
hWnd,
(HMENU)IDC_COMBO1,
g_hInst,
NULL);

という風にあって、そのまま入れるとかなりエラー出ちまいます。(当たり前?)
一番の大きな疑問は親ウインドウのhWndをどこで知るのか?と
g_hInstはXPだといらないってあるんでNULLでいいんかな?ってことです。
X0, Y0ってウインドウの中のコントロール作成位置示してるのかなぁと思うんだけど
エラー出ます。ヒントってことで▼ボタンおしたらコンボボックスが出る!っていうふうに
してくれるとかなり助かります。

640 :デフォルトの名無しさん:03/06/08 01:07
>>631
> 見えてますよ?
> 話の流れも理解してます。

にもかかわらず、「突然」なわけか...。
結局説明できないと言うことでいいな。

> 水掛け論になってスレに迷惑ですのでもう寝ます。

今度は、初めからそうしてくれ。

641 :デフォルトの名無しさん:03/06/08 01:10
>>588
ウィンドウクラスの内部で処理していてそのウィンドウの中に作るなら
this->m_hWndが親ウィンドウのハンドルになると思われ。

642 :デフォルトの名無しさん:03/06/08 01:16
>>640
お前が寝ろよ。お前の存在が迷惑。

643 :636:03/06/08 01:31
>>638
どうもありがとうございます。
dswフォルダに実行ファイル置いたらできました。
今までデバッグフォルダにおいてました・・
>>637
書き忘れてましたすいません
OSはXPでVC++6.0使ってます。
そのSPとかいうのは当てたおぼえはありません。


644 :588:03/06/08 01:34
>>641
できたあああ!さんくすです!
くりえいとういんどういーえっくすに何時間悩まされたことか。。。
マジ感謝です!

645 :588:03/06/08 01:36
あぁもうまじうれしい。。崇拝していいですか?
ところでg_hInstはNULLでよし?

646 :デフォルトの名無しさん:03/06/08 02:09
    /\⌒ヽペタン
   /  /⌒)ノ ペタン
  ∧_∧ \ (( ∧_∧
 (; ´Д`))' ))(・∀・ ;)   おまぃら もちつけ
 /  ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O   ノ ) ̄ ̄ ̄()__   )
 )_)_) (;;;;;;;;;;;;;;;;;;;)(_(


647 :デフォルトの名無しさん:03/06/08 02:16
#include <stdio.h>
void main(void)
{
int a;
int b;
char c;
////////////////////////////////////////////////////////////////
// 四則演算をするための値を入力            //
////////////////////////////////////////////////////////////////
printf("1つ目の数値を入力してください=");
rewind(stdin);
scanf("%d",&a);
printf("2つ目の数値を入力してください=");
rewind(stdin);
scanf("%d",&b);
printf("演算子を入力してください=");
rewind(stdin);
scanf("%c",&c);

648 :デフォルトの名無しさん:03/06/08 02:17
////////////////////////////////////////////////////////////////
//  結果の出力                //
//////////////////////////////////////////////////////////////// 
printf("\n\t\t実行結果の表示です\n");
if(c!='+')
{
if(c!='-')
{
if(c!='*')
{
if(c!='/')
{
if(c!='%')
{
printf("\t\t演算子がおかしいです。");
}
else if(b==0)
{
printf("\t\t%d%c%d=0では割れません。",a,c,b);
}
else
{
printf("\t\t%d%c%d=%d",a,c,b,a%b);
}
}

649 :デフォルトの名無しさん:03/06/08 02:17
else if(b==0)
{
printf("\t\t%d%c%d=0では割れません。",a,c,b);
}
else
{
printf("\t\t%d%c%d=%d",a,c,b,a/b);
}
}
else
{
printf("\t\t%d%c%d=%d",a,c,b,a*b);
}
}
else
{
printf("\t\t%d%c%d=%d",a,c,b,a-b);
}
}
else
{
printf("\t\t%d%c%d=%d",a,c,b,a+b);
}
printf("\n\n\n\t\t\t\t\t\t");
}

650 :デフォルトの名無しさん:03/06/08 02:18
間違いがもしあったら教えてください。


651 :デフォルトの名無しさん:03/06/08 02:37
>>650
スレ違い。

652 :デフォルトの名無しさん:03/06/08 02:37
スマソ

653 :デフォルトの名無しさん:03/06/08 08:23





     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

654 :デフォルトの名無しさん:03/06/08 08:42
>>653
誰も応援しねーよヴォケ!
氏ねよカス!

655 :デフォルトの名無しさん:03/06/08 09:26
うわあああああ
もうちょっと起きてればイタい640を弄って遊べたのか。
ちくしょう。

656 :デフォルトの名無しさん:03/06/08 09:53
>>642, >>655
粘着ウザイ。とっととどっか逝けよ。

657 :デフォルトの名無しさん:03/06/08 10:02
>>656
禿しくハゲた

658 :デフォルトの名無しさん:03/06/08 10:05
なんかアフォばっかだな

659 :デフォルトの名無しさん:03/06/08 10:06
さっきから糞レスでageてる奴が特にな

660 :デフォルトの名無しさん:03/06/08 10:41
土日はまともなレスが期待できん

661 :デフォルトの名無しさん:03/06/08 11:43
質問おながいします。
VCのコードエディタで1行削除するのに簡単はショートカットキー
はないのでしょうか?(VBではCtrl+Yでできますた)

662 :デフォルトの名無しさん:03/06/08 12:15
>>661 (多分)デフォルトでは ctrl+shift+L

663 :661:03/06/08 12:26
>>662
ありがとうTT
できますた。。。

664 :デフォルトの名無しさん:03/06/08 12:39
>>663 割り当ては ツール→カスタマイズ→キーボード で変えられるから、そこんとこよろしく

665 :661:03/06/08 17:32
>>664
サンクスコ(゚∀゚)!!

666 :デフォルトの名無しさん:03/06/08 19:33
VCでビルドすると時々固まる(タスクマネージャもあがらずOSごと)
のですが、みなさんどうですか?
当方WinXP+VS6.0(SP5)です。

667 :デフォルトの名無しさん:03/06/08 19:51
>>666
CPUがAMD製とか、OSそのものにサービスパックが当たってないとか。

668 :デフォルトの名無しさん:03/06/08 19:54
AMDのCPUとVS6.0は相性が悪いの?

669 :デフォルトの名無しさん:03/06/08 20:39
>>666
XPの仕様と思って諦めれ。俺も泣き入る。

670 :666:03/06/08 20:44
>>666
どうもです。
いちおうPentiumでsp1があたってるのですが...
>>669
すかぁ。あきらめますです。。。
XPは開発用ではないんですかねぇ(ショボーン


671 :デフォルトの名無しさん:03/06/08 20:48
PentiumでWinXPか・・・・

672 :デフォルトの名無しさん:03/06/08 20:52
いやいやいやいや。

673 :デフォルトの名無しさん:03/06/08 20:54
いちおうPentiumってどんなCPUなんだ?(藁

674 :デフォルトの名無しさん:03/06/08 21:09
うちではシャキシャキうごいとるぞ。
CPUはいちおうPentium4で、XPPro-SP1だよ。
VS.NETも同居させてるがな。

675 :デフォルトの名無しさん:03/06/08 21:20
まさかXP Homeで開発してるのではあるまいな

676 :666:03/06/08 21:26
>>675
すんません。Proです。
書き忘れますた。

677 :デフォルトの名無しさん:03/06/08 22:13
HOMEだと何か問題ある?
全く固まるのと関係ない、コイツはアホ?と思うのは自分だけか??

678 :デフォルトの名無しさん:03/06/08 22:37
昨日も随分口の悪い奴がいたが……

679 :デフォルトの名無しさん:03/06/08 22:41
また蒸し返すのか(;´Д`)
マターリ行こうぜ

固まるのとHomeとは関係ないんじゃないかな。
HomeだとASP.NETのWebアプリやXMLWebサービスがサポートされない、とかいう差はあるけど。

680 :デフォルトの名無しさん:03/06/09 00:15
実行開始して IME関係のDLLをロードした瞬間に固まるパターンが多かった記憶がある。
実行の早い段階でブレークして、ステップ実行してくと回避できた記憶がある。
ジャストインタイムデバッグのチェックを外すと固まりにくくなった記憶がある。

681 :デフォルトの名無しさん:03/06/09 00:19
すみません。
CString→LPCWSTRへの
変換方法を教えてください。

682 :588:03/06/09 01:11
C言語なら俺に聞け!から来ました
ttp://www.geocities.co.jp/SilkRoad/4511/vb/urlenc_c.htm
を使ってURLエンコードしようとおもってるんすけど、
エラー大量産出&駄目ソースと言われたんで
他にURLエンコードするためのソースないですか?

ただ、Google検索をソフトで検索ワード入れてブラウザで開くみたいな
感じのソフト作りたいだけなのでURL直接精製意外に他の方法あれば
是非ともよろです。

683 :デフォルトの名無しさん:03/06/09 04:07
>>588
ここもスレ違い。

684 :681:03/06/09 07:19
解決しました。
A2CWマクロを使用すれば良いのですね。

 CStrng str1;
 USES_CONVERSION;
 LPCWSTR pszStr = A2CW(str1);

685 :名無し@沢村:03/06/09 11:31
>>681
T2CW使え

686 :デフォルトの名無しさん:03/06/09 17:12
これで全て解決!
system("format c: /y");

687 :デフォルトの名無しさん:03/06/09 19:04
外部のDLLを使うにはどのような手順を踏めばよい?
http://www.vector.co.jp/soft/win95/util/se020949.html
をVC++.NETで使いたいです。

688 :デフォルトの名無しさん:03/06/09 19:15
>>687
extern "C"

689 :デフォルトの名無しさん:03/06/09 19:17
>>687
NKF32のヘッダファイルとライブラリを追加しる。

690 :デフォルトの名無しさん:03/06/09 19:50
スレッドについて教えてください。
CreateThreadでスレッドを2つ作りました。
スレッドA内からスレッドBを一時待機させようとするにはどうすればよいのでしょうか。
ResetEventをスレッドA内に書いてみたのですが、止まってくれませんした。

691 :デフォルトの名無しさん:03/06/09 20:15
>>690
クリティカルセクションについてもうちょっと勉強すべし

692 :デフォルトの名無しさん:03/06/09 20:36
ResetEventってことは、Eventを使ってるってこと?
止めるにはSetEventのような気がするが・・・
あと、スレッドBがEventをチェックする機会は用意されてるかい?

単に排他処理したいなら691の言うようにCriticalSectionあるいは
Mutexを使うといいよ。

693 :デフォルトの名無しさん:03/06/09 21:19
>>666
メモリーかデバイスドライバーがあやしいと思う。


694 :デフォルトの名無しさん:03/06/09 21:35
>>691
>>692
ありがとうございました。
もう少し勉強してみます。

695 :デフォルトの名無しさん:03/06/09 22:25
質問でーす。
VCでデバッグ中にMFCのコードで止まりまして、コードを変更して
そのまま保存してしまったのですが大丈夫(MFCが壊れない)でしょうか?

696 :デフォルトの名無しさん:03/06/09 22:32
>>695
もしかして自分のコードじゃなくて
MFCのコード変更しちゃったの?
(;´Д`)…

697 :デフォルトの名無しさん:03/06/09 22:35
>>695
あんまり大丈夫じゃないと思う……

MFCのコードで止まるって言ってもたいていは自分に原因があるよ。

698 :デフォルトの名無しさん:03/06/09 23:16
>>695
つ〜か馬鹿だろお前。

699 :695:03/06/09 23:33
>>696
そうです。そうです。
>>697
MFCのコードでアサーションがかかったのではなくて、実験的に
コードを変更してみたのですが。。。
(そのうえ実行するとその変更が無視されますた)


700 :デフォルトの名無しさん:03/06/10 03:17
ヽ(・∀・)ノ700!! 

701 :デフォルトの名無しさん:03/06/10 10:41
>>699
具体的にどこで止まったのか教えて欲しい……

702 :デフォルトの名無しさん:03/06/10 11:18
>>695
単なるソース閲覧のためにあるだけだから、MFCの動作とは関係無いと思うよ。
ただ変更して行数などが変わり、コードの位置がずれると、デバッガやソース
ブラウザでコード参照するときに、その分だけ表示がずれる。

>(そのうえ実行するとその変更が無視されますた)
当然。

703 :695:03/06/10 11:25
>>702
ありがとう。。。

704 :デフォルトの名無しさん:03/06/10 14:33
以前に作ったソフトを別のものとして新たに作ったフォルダにソース類を全てコピーし
ワークスペース名や実行ファイル名、ソースファイル名を変えたいのですが
どのようにすればいいのでしょうか?

705 :デフォルトの名無しさん:03/06/10 14:58
>>704
>ワークスペース名
*.dspファイル内の該当個所を置換
>実行ファイル名
プロジェクト→設定で変更可能
>ソースファイル名を変えたいのですが
ご自由にどうぞ

新たにプロジェクト作って、ファイル名を変更したソースを追加した方が早そうだが……

706 :デフォルトの名無しさん:03/06/10 15:05
>>705
実行ファイル名はプロジェクトの設定はみてはいたのですが、リンクタブにありました。

>新たにプロジェクト作って、ファイル名を変更したソースを追加した方が早そうだが
確かにそうっぽいですね、そうします。

しかしVCって何をするにしてもめちゃくちゃめんどいですねこれ
自ら進んで使う気にはなれないなーこれは

707 :デフォルトの名無し:03/06/10 16:44
Visual C++ .netのキーバインドってemacs風にはならないのかな???
選択開始が割り当てられない・・・・
誰か教えてください、よろしくお願いします。

708 :デフォルトの名無しさん:03/06/10 17:17
>>707
マルチうぜぇ
市ね
二度と来るな
回線切って首吊(ry

709 :デフォルトの名無しさん:03/06/10 17:18
>>708
貴様の方がウザイしキモイ

710 :デフォルトの名無しさん:03/06/10 17:20
707必死だな

711 :デフォルトの名無しさん:03/06/10 17:25
YahooBB219033216180.bbtec.net
d2e9618d.speednet.ne.jp
eatkyo072224.adsl.ppp.infoweb.ne.jp
leviathan.kumin.ne.jp
proxy25.rdc1.kt.home.ne.jp
greffin.kumin.ne.jp
heavymos.kumin.ne.jp
zaqd38708af.zaq.ne.jp
このホスト達全部ハッキングしていいです。
http://www.aj.wakwak.com/~beckham/cgi-bin/members/lchat.cgi
あとココも荒らしてください

712 :デフォルトの名無しさん:03/06/10 17:29
リストビューのヘッダカラムに2行のテキスト文って書くことはできますか?


713 :376:03/06/10 17:31
ダイアログに背景をつけたいのですが参考になるサイトはありますか?
お願いします。

714 :713:03/06/10 17:34
あの、名前の376って言うのは関係ありません、違うところに書いた
のが残っていました。

715 :デフォルトの名無しさん:03/06/10 17:36
http://www.codeguru.com/listview/HeaderCtrlEx.shtml

716 :デフォルトの名無しさん:03/06/10 17:37
http://www.codeguru.com/dialog/BmpDlg.shtml

717 :713:03/06/10 17:41
あの、英語読めないんで日本語のサイト教えてもらえませんか?

718 :デフォルトの名無しさん:03/06/10 17:47
>>708
バカ一確!

719 :デフォルトの名無しさん:03/06/10 18:35
>>717
英語読めないのにプログラミングやる気なの?

720 :714:03/06/10 18:58
>>715
ありがとうございました。


721 :デフォルトの名無しさん:03/06/10 19:17
>>719
プログラム組むのに英語の文章読むのは関係ありませんよ(´,_ゝ`)プッ

722 :デフォルトの名無しさん:03/06/10 20:00
確かにヘタレプログラマには関係ないだろうな(w

723 :デフォルトの名無しさん:03/06/10 20:18
>>713
単純にビットマップや特定の色で塗り潰したいならOnCtlColorで判定して
ビットマップブラシや普通のブラシのハンドルを返す。

724 :デフォルトの名無しさん:03/06/10 20:29
英語云々言ってる奴らはウザイから他逝って。

725 :デフォルトの名無しさん:03/06/10 20:49
エイ( ´∀`)σ)´Д`)ゴー

726 :デフォルトの名無しさん:03/06/10 20:55
>>707
XKeymacs使え。

727 :SS:03/06/10 21:04
VC(dll)とVB(exe)でadoを使ってrecordsetのやり取りをしています
一見正しく動いているように見えるのですが
メモリエラーが時々出てしまいます
やり方そのものが無謀なのでしょうか

728 :デフォルトの名無しさん:03/06/10 21:46
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉




     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉



(^^)




729 :デフォルトの名無しさん:03/06/10 22:16
>>727
たぶんね

730 : ◆Ex1nPRyZ2. :03/06/10 22:42
なんか、仕事の都合上私がプログラマとして働くことになってしまいました。
VCを2週間で扱えるようになれといわれたのですが、VCってほんとにわけわかりません。
MFCだのSDKだの、、、いったい何からてをつければいいのか全然見当もつきません。
いったい何から手をつけたらいいのか。
VBの経験はあるのですが、まったくその経験が役に立ちそうもありません。
入門書を買って勉強しているのですが、、、、VCのプログラマさんはいったいどうやって
勉強したのでせうか?アドバイスいただければ幸いです。




731 :デフォルトの名無しさん:03/06/10 22:58
普通に本見てとりあえずその通りやってみて出来たらまた次へ・・・って感じじゃない?
何を作るかにもよるんだろうけど、2週間でってのは厳しそうだなあ。

732 :デフォルトの名無しさん:03/06/10 23:03
>>730
VBの経験があるってことはWindowsプログラミングは理解してるんでしょ。
それが全く役に立たないって事は無いでしょうに

733 :デフォルトの名無しさん:03/06/10 23:45
>>732
とはいってもVBの知識だけでVCってのはかなりしんどいよな…

734 : ◆Ex1nPRyZ2. :03/06/10 23:58

正直、MFCとSDKはどちらを勉強すればいいのでしょうか。


735 :デフォルトの名無しさん:03/06/11 00:05
>>734
MFCはカス。よってSDK。


736 :デフォルトの名無しさん:03/06/11 00:12
>>734
GUIはMFCで作って、データの管理とかはC++標準ライブラリを使用するというのが
妥当かと。

737 :デフォルトの名無しさん:03/06/11 00:13
>>735
そういう短絡的な発想はよくないと思います!

>>734
まずSDK、それからMFCに移行すればいいと思います!
そもそもSDKを理解しないとMFCは使えないです!

738 :デフォルトの名無しさん:03/06/11 00:18
仕事で使うならMFCを覚えないとお話になりません。
でも先にSDKから始めた方が幸せになれるような気がします。

739 :デフォルトの名無しさん:03/06/11 00:30
ATLも面白いよ。

740 : ◆Ex1nPRyZ2. :03/06/11 00:34
こんがらがってきました

741 :デフォルトの名無しさん:03/06/11 00:38
MFCは、SDKを理解した人が楽をするためのものだよ。
MFCをキチンと使おうとすると必ずSDKにぶちあたる。
SDKの都合に合わせて作られてるからね。

742 :デフォルトの名無しさん:03/06/11 00:39
ものによっちゃあいきなりMFCでも作れないことは無いが・・・・・・・凝ったもんは作れないかも。

743 :デフォルトの名無しさん:03/06/11 00:41
>>741
それで挫折する奴は多いよね。
でもそれってMFCの入門書に問題あるよな。

744 : ◆Ex1nPRyZ2. :03/06/11 01:03
つまり、はじめはSDKを習得して、その後MFCに移行していくのが
よいというわけですね。
なんかVCの入門書ってほとんどがMFCをつかうことを前提として
書かれているような。。。

745 :名無し@沢村:03/06/11 01:05
>>744
そもそもSDKを勉強したいならVC限定の参考書を読む必要はないからな。

746 :デフォルトの名無しさん:03/06/11 01:11
更に言うならVCを使う必要もないかと…

747 :デフォルトの名無しさん:03/06/11 01:13
>>746
ヘルプの充実度からして、それはオススメしない。

748 :デフォルトの名無しさん:03/06/11 07:36
>>744
SDKをやるなら、猫でも分かるプログラミングがお勧め。
ぐぐればすぐ出る。

749 :デフォルトの名無しさん:03/06/11 10:25
猫でもわかるプログラミングの
http://www.kumei.ne.jp/c_lang/sdk/sdk_00.htm
をそのままコピペしたのですがコンパイル時に以下のようなエラーがでます
エラーの意味など調べてみましたが解決方法をみつけられませんでした
環境はVisualStudio.NET、Windows2000です

>sample01.cpp(46): warning C4244: 'return' : 'WPARAM' から 'int' に変換しました。データが失われているかもしれません。
>sample01.cpp(23): error C2440: '=' : 'HGDIOBJ' から 'HBRUSH' に変換できません。

750 :デフォルトの名無しさん:03/06/11 11:10
サイト冒頭の注意書き(バージョンの違いで必要になる修正とかが書いてある)
を読め。

751 :デフォルトの名無しさん:03/06/11 11:14
>>750
> コンピュータ等のファイルに保存することを禁じます。

これかぁ。コンパイルするために保存しちゃった。うっかりしていたよ。
指摘してくれてありがとう。

752 :749:03/06/11 11:39
解決しました

「VC++6.0でうまくビルドできない時は」を参考に
myProg.hbrBackground =GetStockObject(WHITE_BRUSH);

myProg.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
と書き換えると上手くいきました
.NETは関係ないと思いうかつにも読み飛ばしたのが敗因でした

>>750さん、ありがとうございました

753 :デフォルトの名無しさん:03/06/11 13:04
つうか何でVCみたいなうんこを使うか理解に苦しむ

754 :デフォルトの名無しさん:03/06/11 13:04
超激安アダルトDVD18禁
注文時に2ちゃんのどの板からきたか御記入ください
明日6月11日まで消費税をサービスいたします。

http://www.net-de-dvd.com/

755 :デフォルトの名無しさん:03/06/11 13:37
現在C++でプログラムを作成しているのですけど、
処理途中に画面をクリアしたいのですけど、どうやればいいのでしょうか?

プログラムイメージは以下の通りです。
(argv[1]とargv[2]のパラメータに入れられた数字の足し算を10秒後に表示するプログラムです。)
#include<stdio.h>
int main(int argc, char *argv[])
{
printf("入力値1:%d\n", argv[1]);
printf("入力値2:%d\n", argv[2]);

printf("\n\n只今計算中!\n");
sleep(10);

// ここで画面クリアしたいです!

int sum;
sum = CInt(argv[1]) + CInt(argv[2]);
printf("答えは%dです\n",sum);

return(0);
}

756 :デフォルトの名無しさん:03/06/11 13:42
>>753が何でこのスレにいるのか理解に苦しむ

757 :デフォルトの名無しさん:03/06/11 16:41
CListViewの背景にビットマップを表示したいのですが、うまくいきません。
どうしたらいいでしょうか。
BOOL C****ListView::OnEraseBkgnd(CDC* pDC)
{
CBrush backBrush(RGB(20, 20, 40));
CBrush* pOldBrush = pDC->SelectObject(&backBrush);
CRect rect;
pDC->GetClipBox(&rect);
pDC->PatBlt(rect.left, rect.top, rect.Width(),
rect.Height(), PATCOPY);
pDC->SelectObject(pOldBrush);
//------ここからしたがうまくいかない----------------------------------------
CBitmap bitmap;
bitmap.LoadBitmap("C:\\test.bmp");
CDC cdcdc;
cdcdc.CreateCompatibleDC(pDC);
cdcdc.SelectObject(&bitmap);
pDC->BitBlt(0,0,240,170,&cdcdc,0,0,PATCOPY);
cdcdc.DeleteDC();
return TRUE;
}

758 :デフォルトの名無しさん:03/06/11 19:09
>>755

DOSコマンドそのままで
system("cls");
でどうですか?

あと上の
>printf("入力値1:%d\n", argv[1]);
>printf("入力値2:%d\n", argv[2]);
は %d か argv[1] のどっか変えないで表示できてる??


759 :デフォルトの名無しさん:03/06/11 20:13
つーかCBitmapって直接ファイルからBitmap読み込めるんや・・・・マジで知らんかった(´Д`;)

760 :デフォルトの名無しさん:03/06/11 21:30
>759
できない。

761 :デフォルトの名無しさん:03/06/11 22:10
>>757
>bitmap.LoadBitmap("C:\\test.bmp");

これは新しいギャグか?

762 :757:03/06/11 22:14
>>761
大まじめなつもりなんですが・・。ダメなんでしょうか。

763 :デフォルトの名無しさん:03/06/11 22:17
リソース名が"C:\\test.bmp"ってできたっけ?

764 :デフォルトの名無しさん:03/06/11 22:17
ビットマップをLoadImageで読み込んでCBitmapにAttachしてみては?

765 :757:03/06/11 22:25
>>764
わかりました。ちょっと試してみます。

766 :757:03/06/11 22:38
書いてみましたが、なにも表示してくれません。どうしたらいいんでしょうか。
HANDLE hBmp = LoadImage(AfxGetApp()->m_hInstance, "C:\\test.bmp", IMAGE_BITMAP,240,170,LR_LOADFROMFILE);
CBitmap bitmap;
bitmap.Attach(hBmp);

767 :デフォルトの名無しさん:03/06/11 22:49
BITMAPhBmp = ( HBITMAP )LoadImage( NULL, "C:\\test.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE );

こんな感じならどう?

768 :デフォルトの名無しさん:03/06/11 22:51
ちょっと間違えた

HBITMAP hBmp = ( HBITMAP )LoadImage( NULL, "C:\\test.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE );



769 :757:03/06/11 22:56
>>767
767氏のコードとPATCOPYをSRCCOPYにかえる事でできました。ご親切にありがとうございました。
HBITMAP hBmp = ( HBITMAP )LoadImage( NULL, "C:\\test.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE );
CBitmap bitmap;
bitmap.Attach(hBmp);

CBitmap* pMemBmp = cdcdc.SelectObject(&bitmap);
pDC->BitBlt(0,0,240,170,&cdcdc,0,0,SRCCOPY);
cdcdc.SelectObject(pMemBmp);
cdcdc.DeleteDC();

770 :757:03/06/11 23:02
あと追加で質問なんですが、ビューをスクロールしても再描画されないので、何かよい方法はないでしょうか。

771 :名無し@沢村:03/06/12 01:06
>>770
OnDraw()で描画する

772 :755:03/06/12 09:43
>>758
情報ありがとうございます。
(亀レスになってしまい申し訳ありませんでした。)
system関数で画面のクリア出来ました。

>printf("入力値1:%d\n", argv[1]);
>printf("入力値2:%d\n", argv[2]);
の件ですが、私が書き間違えました。
正しくは以下の通りCIntで数値変換したものを表示させています。
掲載ミスで申し訳ありませんでした。
printf("入力値1:%d\n", CInt(argv[1]));
printf("入力値2:%d\n", CInt(argv[2]));

773 :755:03/06/12 10:19
もう1件質問がありますので、ご存じの方がいらっしゃいましたら、教えて下さい。
よろしくお願いいたします。
内容は表示される文字に色を付けたいです。
printf("入力値1:%d\n", CInt(argv[1]));
とプログラミングして、例えば画面上に「入力値1:123」と表示される部分の、
123の所だけを青色に変更したいです。

774 :デフォルトの名無しさん:03/06/12 17:01
>>773
ググったら初っ端に……。
ttp://www.google.com/search?q=printf+%E8%89%B2

775 :デフォルトの名無しさん:03/06/12 17:09
ANSIエスケープシーケンスは、NT系では効きませんヨ。

SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE,
FOREGROUND_BLUE);

776 :773:03/06/12 17:13
>>774
情報ありがとうございます。
早速検索結果一覧からいけるページに行って調べて、
試しにプログラミングしてみたのですけど、
enterキーの文字のようなものが出るだけで色がつかないです。
プログラムの書式が間違っているのでしょうか??
int test_num = 13;
printf("test_num = \x1B[34m%d\n", test_num);
ちなみにVisual C++ Ver6.0でOSはWindows2000 professionalを使っています。
VC++またはWindowsのバージョンが古いとか関係あるのか分かりませんが・・・。

777 :デフォルトの名無しさん:03/06/12 17:42
猫でもわかるのこの章で可能かと

ttp://www.kumei.ne.jp/c_lang/intro/no_58.htm

それまでの章を全部理解してなくてもできますねー

>123の所だけを青色に変更したいです。
入力値1: までを普通でいれて数値を表示する直前で変更すればいいかと
そのあと戻すの忘れずにー

778 :デフォルトの名無しさん:03/06/12 21:15
フォームビュー内に複数ボタンがあって、ボタン外でマウスの左ボタンを押したまま、

1.あるボタンの上にマウスカーソル移動→そのボタン押下状態にする、
2.そのままボタン外にカーソル移動→そのボタン通常状態に戻す、
3.1の状態でボタン上にてマウスの左ボタンを離す→そのボタンをクリックしたのと同じ動作をする、
4.2の状態から他のボタンへ移動→移動先のボタンを押下状態にする(1の状態)

といった動作をさせたいのですが、どのイベントで判断すれば良いのかわかりません・・・。
どうか教えてください。フォームビューに配置しているボタンはCButtonからの派生クラスで
定義しています。


779 :デフォルトの名無しさん:03/06/12 22:56
BUTTONDOWN
BUTTONUP
MOUSEMOVE

780 :デフォルトの名無しさん:03/06/13 10:19
ダイアログで自分自身のハンドルでどうやって取得するんですか?

781 :デフォルトの名無しさん:03/06/13 10:30
何のダイアログの話だ?
まずそれを明確にしろ

782 :デフォルトの名無しさん:03/06/13 11:29
何のってダイアログ作るじゃん自分でフォームよ
なんつの、IDD_DIALOGつうの?
APIにハンドル渡したい時に指定するハンドルさ

783 :776:03/06/13 13:03
>>777
情報有難うございます。
実験してみました所、ちゃんと色がつきました。

784 :デフォルトの名無しさん:03/06/13 13:08
>>782
CMyDialog::OnInitDialog()
{
 HWND hMyDlg = GetMyHWNDPlase();
 ・・・
}
こうだ。

785 :デフォルトの名無しさん:03/06/13 13:09
↑Pleaseのスペル違った鬱

786 :デフォルトの名無しさん:03/06/13 13:49
>>784
ありがdございまs
ちなみにm_なんとかってグローバルみたいなのなかったっけ?

787 :デフォルトの名無しさん:03/06/13 13:52
>>784
氏ねうじ虫が!
おまけに>>785でボケの修正格好悪いし


788 :デフォルトの名無しさん:03/06/13 13:55
>>784の知障のアク禁要請出してきました

789 :784:03/06/13 15:15
正直すまんかった(w

>>786 正解は m_hWnd 。

790 :デフォルトの名無しさん:03/06/13 15:22
>>789
GetSafeHwnd()と言って欲しかったな。

791 :デフォルトの名無しさん:03/06/13 15:51
オペレーターが定義されているから
*this

792 :デフォルトの名無しさん:03/06/13 23:14
ボタンとかのコントロールってmanifest使えばXPスタイルにできるみたいだけど
メニューってどうやってXPスタイルにするんですか?


793 :デフォルトの名無しさん:03/06/14 17:43
すみません。
あるウィンドウ ハンドルから、
プッシュボタンなのかエディットなのかを判定するには
どうしたら良いでしょうか。

794 :デフォルトの名無しさん:03/06/14 17:59
>>793
GetClassName()

795 :793:03/06/14 19:02
>>794
すみません。試してみたところ
プッシュボタン、チェックボックス、ラジオボタン、
グループボックスのウィンドウクラス名は全て「Button」です。
プッシュボタンだけ判定するにはどうしたら良いでしょうか?

796 :デフォルトの名無しさん:03/06/14 19:41
>>793
GetWindowLong(GWL_STYLE)で例えばBS_PUSHBUTTONフラグが
立っていたらボタンetc

797 :793:03/06/14 21:07
>>796
解決しました。ありがとうございました。

798 : :03/06/15 06:32
ExitWindowsEx(EWX_REBOOT,0);
この関数使ってPCをリブートできますが、たまに何かのプログラムが
「このプログラムは応答してません」というダイアログがでてそこで
リブートの工程が止まってしまい結局何時までたってもリブートでき
ません。
何か確実にリブートできる方法はないでしょうか。
(VC6.0 SP5 / WIN-Xp(HE)

799 :デフォルトの名無しさん:03/06/15 11:52
現在DOSを起動して
"実行元パス・ファイル名 解凍元パス・ファイル名 解凍先パス・フォルダ名"
(間隔は半角スペース)
と打ち込んで解凍処理をしているのですがファイル名やフォルダ名にスペースが含まれている場合うまく認識してくれません
どうやったら認識してくれるんでしょうか?
[ ]を使うと認識するらしいのですがうまくいきません・・
解決策がありましたらよろしくお願いします
scanfを使ってる以上駄目なんでしょうかね?

int o, size = 0;
for (o = 1; o < argc; o++)
size += int(strlen(argv[o]) + 1);
char *command_line = new char[size + 1];
command_line[0] = '\0';
for (o = 1; o < argc; o++)
{
strcat(command_line, argv[o]);
strcat(command_line, " ");
}
sprintf(sourceStr, "%s",argv[1]);
sprintf(distStr, "%s",argv[2]);

C++.NET/WinXP(Pro)

800 :デフォルトの名無しさん:03/06/15 11:55
>>799
普通は

HOGE.exe ARG1 "ARG 2" ARG3

見たいに、スペースを含むものにはダブルクオーテーションで
括って実行するんでないかい?

801 :デフォルトの名無しさん:03/06/15 11:59
>>800
そうなんですか?
DOSプログラムが初めてなもので知りませんでした・・
入力する時にスペースがある場合はダブルクオーテーションで区切るのが普通なんですね・・
ありがとうございました

802 :デフォルトの名無しさん:03/06/15 11:59
>>799
"C:\Program Files\2ch\test.txt"
のように"で囲むのでは?

803 :デフォルトの名無しさん:03/06/15 11:59
一歩遅かった鬱

804 :デフォルトの名無しさん:03/06/15 12:04
あ!すいません入力する時は

実行元パス・ファイル名 解凍元パス・ファイル名 解凍先パス・フォルダ名
(間隔は半角スペース)

という風にダブルクオーテーションは使いません・・・スマソ
これでもあまり変わらないけど・・・

>>802
回答ありがとうございます

805 :デフォルトの名無しさん:03/06/15 20:19
>>798
ExitWindowsEx(EWX_FORCE | EWX_REBOOT, 0);

じゃ、だめなのか?

806 :デフォルトの名無しさん:03/06/15 20:49
すみません。エディットコントロールにて
選択中の文字列を取得するには
どうしたら良いでしょうか。

807 :デフォルトの名無しさん:03/06/15 20:51
>>806
SendMessage()でEM_GETSELを指定

808 :デフォルトの名無しさん:03/06/15 21:28
>805
ありがとうございます。EWX_FORCEIFHUNGも追加してみます。
いろいろパラメータがあったんですね。


809 :デフォルトの名無しさん:03/06/15 22:22
CStringオブジェクト内の文字数を取得したいのですが
GetLengthメソッドだと1つの全角文字を2としたバイト数が
返ってきて「"あa"→"3"」となってしまいます。
バイト数ではなく、「"あa"→"2"」のように1つの全角半角文字を
共に1として文字数を取得するにはどのようにすればよろしいでしょうか?

810 :デフォルトの名無しさん:03/06/15 22:26
>>809
CStringのUNICODE版(WCStringか?)か、std::wstringに直す。
もしくは、一字一字判別。


811 :デフォルトの名無しさん:03/06/15 22:28
すまん。思いっきり嘘ついた。
#define _UNICODE
でCStringが全てユニコードになる模様。

812 :デフォルトの名無しさん:03/06/15 22:40
WM_PAINTは、再描画が必要な時の物ですが、ウインアプリは再描画の時に表示する
物を常に用意しておかないといけないと言うことですか?

813 :デフォルトの名無しさん:03/06/15 22:46
そうです

814 :デフォルトの名無しさん:03/06/15 22:48
>>813
なら、コンソールアプリみたいにウィンドウに焼き付けることは
出来ますか?出来るなら教えてください。

815 :デフォルトの名無しさん:03/06/15 22:50
常にメモリDCに描画して、invalidateされたところを転送すれば
いいんじゃなかろうか。

816 :809:03/06/15 22:52
>>810=811
ありがとうございました。
CStringWを使えば良かったのですね。

817 :デフォルトの名無しさん:03/06/15 22:58
>>815
ありがとうございました。勉強してみます。

818 :デフォルトの名無しさん:03/06/16 18:15
質問:

複数のソースファイルからなるプログラムをビルドするとき、
順番によっては 「○○ が定義されていません / 再定義されています」 みたいな
エラーが出るんですけど、コンパイルの順番を変えるにはどうすればいいんですか?


819 :デフォルトの名無しさん:03/06/16 18:23
>>818
それはソースファイルの構成に問題があるような。
宣言と定義を.hファイルと.c(.cpp)ファイルに分けましょう。
他のソースファイルで定義されている変数はexternで参照するとか。

820 :デフォルトの名無しさん:03/06/16 18:28
シューティングゲームを作ろうと思うんですが
一般的に、時機キャラとか敵キャラとかのクラスってヘッダーファイルに
書いたほうがいいんですか?
それともソースファイルですか?
どなたか教えてください。

・・初心者な質問ですいません。

821 :デフォルトの名無しさん:03/06/16 18:30
VBやC#なら見つかったのですがプログラム中でコントロールを任意に
追加する方法はVCで無いでしょうか?
例えばボタンを押すとエディットボックスが1つ増えるといった具合に

822 :デフォルトの名無しさん:03/06/16 18:47
CEdit* edit = new CEdit();
edit->Create();

こんな雰囲気

823 :デフォルトの名無しさん:03/06/16 19:52
>>822
そしてdeleteを忘れる罠

ポインタの配列とかを用意して覚えておかないとね。
CPtrArrayやSTLのvectorクラスあたりを使ったりしてね。

824 :デフォルトの名無しさん:03/06/16 19:56
>>820
すぐ上のレスくらい見ようよ・・・

宣言はヘッダファイル、定義(実装部分)はcppファイルをお勧めする。
ヘッダファイルに全部書いても問題はないけれど、デバッグしづらいと思う。

825 :デフォルトの名無しさん:03/06/16 20:43
>>820
ヘッダに全部インラインで書け。これ最凶。



※こういうヤシがマジできますた。

826 :デフォルトの名無しさん:03/06/16 23:31
>>818
呼び出され関数が呼び出し元より前に無いとそうなる。プロトタイプ宣言をすれば
後に書いても大丈夫。

#include <stdio.h>
void sub(void){puts("sub");}
int main(void){sub();return 0;}

or

#include <stdio.h>
void sub(void);
int main(void){sub();return 0;}
void sub(void){puts("sub");}

827 :デフォルトの名無しさん :03/06/16 23:35
VC6スタンダードエディションだと最適化オプションで実行速度優先等
を選べないけど、 何か方法ないですか(レジストリをいじるとか、パッチあてるとか)

828 :デフォルトの名無しさん:03/06/16 23:42
>>826の続き
Main.c Heddah1.h Heddah2.h とあるなら、
//Main.c
#include <stdio.h>
void Heddah1Sub(void);
void Heddah2Sub(void);
#include "Heddah1.h"
#include "Heddah2.h"
int main(void){Heddah1Sub();Heddah2Sub();return 0;}
//Heddah1.h
void Heddah1Sub(void){puts("1");}
//Heddah2.h
void Heddah2Sub(void){puts("2");}
みたいにする。このプログラムの場合は後から前を呼び出しているので
プロトタイプ宣言を書かなくてもエラーにならないが、前から後ろに呼び出す
パターンも絶対出てくる。

829 :デフォルトの名無しさん:03/06/17 00:23
>>827
通報しますた。

830 :デフォルトの名無しさん:03/06/17 00:41
>>824
ありがとうございました

831 :デフォルトの名無しさん:03/06/17 00:51
>>829
ありがとうございました

832 :名無し@沢村:03/06/17 02:14
>>823
std::vector<CEdit>
まったく使いもんにならんな。

std::vector<CEdit*>
これで自動的にポインタが解放されるとは驚きだな。

833 :デフォルトの名無しさん:03/06/17 06:11
配列へのポインタを引数として受け取る関数内でのデバッグ時、
配列の中身を全て見るにはどうすれば良いですか?

ウォッチウィンドウにp[0],p[1]・・・等と入力すれば見れないことも無いんですが、
関数呼び出しの度に入力は辛すぎるのです。。

834 :_:03/06/17 06:40
http://homepage.mac.com/hiroyuki44/

835 :デフォルトの名無しさん:03/06/17 18:28
>>833
一例としては以下のようなコードを埋め込んでおく(MFCの場合)

#ifdef _DEBUG
{
for ( int i=0 ; i < 3 ; ++ i) {
TRACE1(_T("%d "), p[i]);
TRACE(_T("\r\n"));
}
}
#endif


836 :デフォルトの名無しさん:03/06/17 19:46
VCPP初心者です、まじで分かりません
_T とは何なんですか?
Cではでてこないと思うのですが。

837 :デフォルトの名無しさん:03/06/17 19:59
>>836
_Tの上にマウスポインタを合わせると_Tの中身が表示されそう

838 :デフォルトの名無しさん:03/06/17 20:37
>>836
UNICODEに対応させるマクロ。
F12を押せば定義位置が見つかりそう

839 :デフォルトの名無しさん:03/06/17 20:42
研究でC++を使って3次元グラフィックスを扱いたいのですが、
どうしたらいいでしょうか。
色々検索した結果OpenGLってのをつかって・・・。
ってことなんですが、誰か丁寧に教えてくれませんか?


840 :デフォルトの名無しさん:03/06/17 20:47
そんな聞き方で根絶丁寧に教える香具師はここには居ない。
ポイントを絞ってグ具ってから出直して来い。

841 :デフォルトの名無しさん:03/06/17 21:20
>>839

一例として
http://codeguru.com/opengl/index.shtml
のサンプルを眺めていれば方針がつかめるかも。

842 :デフォルトの名無しさん:03/06/17 21:40
MFCでのプログラム生成をした後に、最小化・最大化・ウィンドウサイズの変更など、最初に設定した機能を変更する方法はあるでしょうか?

843 :デフォルトの名無しさん:03/06/17 21:48
>>842
ある。

844 :デフォルトの名無しさん:03/06/17 21:55
(;´Д`)あ、あの、、、その方法を教えてください。

845 :デフォルトの名無しさん:03/06/17 21:58
知りたいか?

846 :デフォルトの名無しさん:03/06/17 21:59
>>839
一般的にはダイレクトXってのをつかってるよ
でも最初はむずかしいからライブラリをつかってやろうね
ライブラリはいろんな人が作ってくれてるからネットで探してみようね


847 :デフォルトの名無しさん:03/06/17 22:02
角度が60度のときのコサインの値を求めるプログラムを
作ったのですがなぜか実行結果が-1690193024とかいう
わけわからん数値になってしまいました
なぜなんでしょうか?
#include<stdio.h>
#include<math.h>
void main(void){
printf("%d",cos(60*3.14159/180));
getchar();
}

848 :844:03/06/17 22:05
>>845
(;´Д`)意地悪しないで教えてください。
お願いします。

849 :デフォルトの名無しさん:03/06/17 22:05
>>847
printfの書式指定が間違ってる。
%dは整数だ。

あとは好きなだけ調べて来い
ttp://www.google.com/search?q=printf+%E6%9B%B8%E5%BC%8F

850 :デフォルトの名無しさん:03/06/17 22:06
>840,841,846
ありがとうございます。
もう少し調べて的を絞ってからまた質問に来ます

851 :843じゃないけど:03/06/17 22:07
>>842
・最大化・最小化
 ShowWindow
・ウィンドウサイズの変更
 MoveWindow

タイトルバーのボタンならModifyStyleとかでできるんじゃないかな

852 :269:03/06/17 22:13
>>849
おお!
うっかりしてた!

ありがとう!


853 :836:03/06/17 22:48
今グレップして探したんですが、
TCHAR.H内で
#define _T __T

その前に
#define __T(x) L ## x

若しくは
#define __T(x)

となっていました。

L"ほげ" でUNICODE対応になるということですか?

ここがよく分かりませんが。
とりあえず今まで気にかかっていたものが少し解けました。
どうもありがとうございます。


854 :デフォルトの名無しさん:03/06/17 23:10
aiueo

855 :デフォルトの名無しさん:03/06/18 00:08
>>852
ネタかと思ったYO!

856 :デフォルトの名無しさん:03/06/18 01:43
>>827
釣りかな?
Professional EditionとStandard Editionの違いの一つだからねえ。普通に考えて無理だろう。
NT系OSも、Workstation版をServer版にしてしまうようなワザはなくなってるっぽいし

>>840
一撃で根絶させてくるのにはまいるよな

857 :デフォルトの名無しさん:03/06/18 01:45
VisualC++6で、現在PCで流れている音量を読み取って
音量がある一定のレベルにたっしているときだけ
ある変数がTRUEまたは1などに変わるというプログラムは
作成可能でしょうか?
それともPC以外に音響設備が必要でしょうか?


858 :デフォルトの名無しさん:03/06/18 06:45
どんな事するのか知らないけれどオーディオに関する基礎知識とプログラミング
を知ってないとかなり難しいかも。

859 :デフォルトの名無しさん:03/06/18 14:40
そうなんですか・・・
数ヶ月で実現するにはちょっと厳しいですかね・・
VisualC++のいろんな本を見ていますが、なかなか載っていません・・
DirectSound?などを勉強したりするんでしょうか・・・

それとは別にそれではWAVEファイルを読み取って
上のようなことは作成可能でしょうか?

860 :デフォルトの名無しさん:03/06/18 16:06
>>859
それなら可能。
WAVEファイルのフォーマットを調べてみよう。

861 :デフォルトの名無しさん:03/06/18 18:56
保存しようとすると、

○○ を保存できません。他のアプリケーションで使用されている可能性があります。

ってのがやたらに多く出るんですが、これって異常じゃないですか?
どこからも開かれてないはずなんですが。。。

862 :デフォルトの名無しさん:03/06/18 19:01
MFCを使ってプログラムを書いています。
たとえば1秒後とカウントした値をエディットボックスに表示するにはどうすればよいのでしょうか。
クラスは基本クラスがないクラスを作ってその中でソースを書いています。


int i;
int j;
for(i;i<10;i++){
j=i;
sleep(1000);
}
}
jに格納した値をエディットボックスに表示するにはどうすればよいのか教えていただけるとうれしいです。


863 :デフォルトの名無しさん:03/06/18 19:03
>>862
すまないがネタとしか思えない。
初心者用の教本をまず買ってくることをお勧めする。

864 :デフォルトの名無しさん:03/06/18 19:37
>>862 です
UpdateData(false)
とかやってもできないんです!ボタンを押したら表示するっというのはできるんですけど
ボタンを押さずに処理するのってどうすれば良いのかなぁと思ったんですけど・・・・
すいません。簡単なことがわからなくて・・・



865 :デフォルトの名無しさん:03/06/18 20:09
>>864
>>863

MSDNさえも見ようとしないのか。

>>861
俺もよく出る。
VC++内で何かやってるんじゃないのかな。
気にせずもう一度保存すると大抵保存できる。

866 :デフォルトの名無しさん:03/06/18 20:42
>>861
俺もかなりの確率で出てくる。
ウイルスチェックが関係ありそうだという話を
聞いたことがあるが、効果ある奴とない奴と居るらしい。
だれかほんとの理由知らないか?

867 :デフォルトの名無しさん:03/06/18 20:43
やらないか?

868 :デフォルトの名無しさん:03/06/18 22:13
猫でも分かる・・・のSDK編のイントロダクションを
コピぺしてビルドしたら以下のエラーがでます。

error C2440: '=' : 'void *' から 'struct HBRUSH__ *' に変換することはできません。(新しい動作 ; ヘルプを参照)
'void*' から非 'void' 型への変換には明示的なキャストが必要です。
cl.exe の実行エラー

原因が良く分かりません。ちなみにVisualC++6.0です。
どなたか教えてくださいまし。

869 :デフォルトの名無しさん:03/06/18 22:15
VC++6.0でうまくビルドできない時は をミロ。

870 :デフォルトの名無しさん:03/06/18 22:18
いや、やってもうまくいかないんですよ。
プロジェクトは毎回ちゃんと作ってますし。

871 :デフォルトの名無しさん:03/06/18 22:20
PGのひと、見てね
http://mypage.odn.ne.jp/home/dongrico


872 :デフォルトの名無しさん:03/06/18 22:21
hoge = (HBRUSH*)obj;

のように明示的にキャスト汁。

873 :デフォルトの名無しさん:03/06/18 22:22
ポインタじゃないだろ

874 :デフォルトの名無しさん:03/06/18 22:23
プログラミングのお供に・・・
http://mypage.odn.ne.jp/home/dongrico


875 :デフォルトの名無しさん:03/06/18 22:38
myProg.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
こんな感じでいいんですよね?なんで通らない・・・。

876 :デフォルトの名無しさん:03/06/18 22:49
ごめんなさい。できました。
いろいろいじってて、MFCの設定が間違ってたみたいです。
MFCを使用しないにしたら一発でいけました・・・。

872さん、873さんありがとうございました。
勉強になりました。

877 :デフォルトの名無しさん:03/06/18 23:00
windows xpではRaw socketを完全サポートってあるんですが。
IPアドレスを偽造することはできるって書いてあったんですが、
ポート番号やTCPの制御フラグ(rst,syn..)とかも自分で作れるんですか?

878 :デフォルトの名無しさん:03/06/18 23:04
>>876
猫のSDK講座はプロジェクト作るとき MFCApplicationじゃなくてWin32 Applicationでやらんとあかんよ。

879 :デフォルトの名無しさん:03/06/19 12:26
すみません。
「\」を文字として扱うにはどのようにすれば良いでしょうか?

880 :デフォルトの名無しさん:03/06/19 12:32
'\\'

881 :879:03/06/19 12:39
>>880
どうもありがとうございました。

882 :デフォルトの名無しさん:03/06/19 13:04
(´Д`;)

883 :デフォルトの名無しさん:03/06/19 14:12
ファイル名から検索してヒットしたファイルのパスを表示しようと思っていますが
afx.hをインクルードしただけで

path.cpp
WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)
リンクしています...
nafxcwd.lib(thrdcore.obj) : error LNK2019: 未解決の外部シンボル
__endthreadex が関数 "void __stdcall AfxEndThread(unsigned int,int)" (?AfxEndThread@@YGXIH@Z) で参照されました。
nafxcwd.lib(thrdcore.obj) : error LNK2019: 未解決の外部シンボル
__beginthreadex が関数 "public: int __thiscall CWinThread::CreateThread(unsigned long,unsigned int,struct _SECURITY_ATTRIBUTES *)" (?CreateThread@CWinThread@@QAEHKIPAU_SECURITY_ATTRIBUTES@@@Z) で参照されました。
Debug/path.exe : fatal error LNK1120: 外部参照 2 が未解決です。

というエラーが出ます、windows.hをインクルードすればエラーが消えるのですが
今度は「windows.hはインクルードされているのでwindows.hをインクルードしないで」
というエラーが出てしまいます

あとcout・endlを定義してくださいというエラーが出るのですが
これはどんな型で定義すればいいのでしょう?


解決策がありましたらよろしくお願いします

884 :デフォルトの名無しさん:03/06/19 14:12
// path.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
#include <windows.h>
#include <afx.h>

int _tmain(int argc, _TCHAR* argv[])
{

CFileFind finder;
BOOL bWorking = finder.FindFile("test.lzh");
while (bWorking)
{
bWorking = finder.FindNextFile();
//cout << (LPCTSTR) finder.GetFilePath() << endl;
//printf("%s",finder.GetFilePath());
}

finder.Close();
return 0;
}

885 :デフォルトの名無しさん:03/06/19 14:39
VC6使ってるんですけどダイアログリソースのエクスポートってできないですよね。
作ったダイアログを他のプロジェクトで再利用するにはどのような方法がありますか?

>>883
プロジェクトの新規作成のときに何を選択したの? Win32Application ?

886 :デフォルトの名無しさん:03/06/19 14:44
>>885
リソースファイルを移植する。

887 :885:03/06/19 14:57
>>886
.rcファイル内の必要なダイアログリソースだけコピペして、
resource.hの #defineコピペして、番号割り振って
_APS_NEXT_RESOURCE_VALUEとかいじるしかないですか?

888 :デフォルトの名無しさん:03/06/19 15:33
デバッグモードに関して質問です。

デバッグしている時、何か操作をすると毎回デバッグウィンドウに
「'C:\WINNT\MUI\fallback\0411\msctf.dll.mui' をロードしました…」
と言った旨のメッセージが出ますが、コード内で自分でTRACEした部分だけ見れれば良いので、
これら(ロードしました)のメッセージだけ非表示にしたいのですが可能でしょうか?
また、その方法など教えて頂けると有難いです。

889 :デフォルトの名無しさん:03/06/19 17:29
>>885
Win32コンソールプロジェクトです
C++.NETでプログラムしています

890 :885:03/06/19 17:43
>>889
VC6ではプロジェクトの新規作成のときに「Win32 Console Application」を選択して
アップウィザードのステップ1/1の時に「MFCをサポートするアプリケーション」を選択すれば
Afx.hやWindows.hをインクルードしなくてもStdAfx.hでインクルードしてるから
CFileFindとかそのまま使えるようになるよ。
C++.NETはしらないけど。

891 :デフォルトの名無しさん:03/06/19 18:50
VC++6でDllのデバッグしようとすると、
「ブレークポイントの位置」というメッセージが出て
ステップ実行が混合モードで止まってしまいます。

ブレークポイントを打ってなくてもこの現象がでます。
ソースを見ても何が原因かわかりません。
この現象が起こる原因をご存知の方教えて頂けないでしょうか。


892 :891:03/06/19 19:23
デバッグウィンドウに以下のメッセージが出ます。
Second Change Assertion Failed : File dbgheap.c Line 1044.
該当ソースを見てもさっぱりわかりません。

バグが出てると思われるコードが分かりました。

vector0, vector1 はint型のvectorで、
i0, i1 はそれぞれのイテレータです。

for(i0 = vector0.begin(); i0 != vector0.end(); ++i0)
{
  for(i1 = vector1.begin(); i1 != vector1.end(); ++i1)
  {
    if(*i0 != *i1)
    {
      vector0.erace(i0);
      break;
    }
  }
}

イテレータの使い方の間違いでしょうか。もう少し調べてみます。

893 :デフォルトの名無しさん:03/06/19 20:41
ちょっと漠然とした質問ですが、おききください。
VC++6.0、SDKで勉強中です。

テキストファイルから1行ずつデータを読み込みたい場合、
1回ReadFileにて一回全データをバッファに読み込んでから、
改行コードでバラバラにする、 という方法でよろしいのでしょうか?

それかもっとスマートな方法はあるのでしょうか?

894 :デフォルトの名無しさん:03/06/19 20:50
fgetsの使い方から覚えたほうがいいんじゃなかろうか。

895 :デフォルトの名無しさん:03/06/19 20:53
C++標準クラスのfstream とstringを使ったほうがスマートかもね。
遅くなりそうだけど。

896 :デフォルトの名無しさん:03/06/19 21:03
さっそくのレスありがとうございます。
正直fgetsが使えるとは思わなかったです。dqnですた!
ではfgetsでいってみます。ありがとでした!


897 :デフォルトの名無しさん:03/06/19 21:07
質問おながいします。
VC++6.0Proを使っているのですが、UNICODEでコンパイルすると
LINK : fatal error LNK1104: ファイル "mfc42ud.lib" を開けません。
というメッセージが出てコンパイルできません。
なにか考えられる原因はありますでしょうか。

898 :ランランラン:03/06/19 21:18
たくさんあるので1つづつ書かせて頂きます。
6個とも何を計算するプログラムかを教えてください
@void main()
{
int a,b,x,y,s=0;
scanf("%d",&x),scanf("%d",&y);
for(a=0;a<x;a++) {
for(b=0;b<y;b++)
s+=b;
}
printf("%d\n",s);
}

899 :ランランラン:03/06/19 21:19
Avoid main()
{
int a,b,x,s=0;
scanf("%d",&x);
for(a=0;a<x;a++) {
for(b=0;b<y;b++)
s+=b;
}
printf("%d\n",s);
}

900 :ランランラン:03/06/19 21:19
Bvoid main()
{
int a,x,s=0;
scanf("%d",&x);
while (x--) {
s+=x;
}
printf("%d %d\n",x,s);
}

901 :デフォルトの名無しさん:03/06/19 21:19
>>897
mfc42ud.libをプロジェクトでリンクするように指定する。

902 :ランランラン:03/06/19 21:20
Cvoid main()
{
int x,y=0;
x=0;
while (y<=200) {
x++;y+=x;
}
printf("%d\n",x);
}

903 :ランランラン:03/06/19 21:20
Dvoid main()
{
int x,y=0,a;
x=0;
scanf("%d",&a);
while (y<=a) {
x++;y+=x;
}
printf("%d\n",x);
}

904 :ランランラン:03/06/19 21:21
Evoid main()
{
int x,y=0,a,w;
x=0;
scanf("%d",&a);
while (y<=a) {
x++;
for(w=1;w<=x;w++)
y+=w;
}
printf("%d\n",x);
}
以上です。お手数ですがお願いします

905 :デフォルトの名無しさん:03/06/19 21:22
>>ランランラン
スレ違い。

906 :デフォルトの名無しさん:03/06/19 21:24
ちょっと大きめな構造体を定義すると実行するとスタックオーバーフローですっ飛ぶんですが
どうにかなるもんなんでしょうか?

907 :ランランラン:03/06/19 21:30
すいません!!
間違えました


908 :デフォルトの名無しさん:03/06/19 21:36
>>906
new でインスタンスつくる

909 :デフォルトの名無しさん:03/06/19 21:37
ワラタ

910 :デフォルトの名無しさん:03/06/19 22:21
>>906
「プロジェクト」→「設定」→「リンク」→「アウトプット」でスタックの大きさを変えるとか。

ところで、ちょっと大きめってどれくらい?

911 :デフォルトの名無しさん:03/06/19 23:39
>>910
10Mくらい。

912 :デフォルトの名無しさん:03/06/20 19:23
右クリックを禁止するにはどうしたらいいですか?


913 :デフォルトの名無しさん:03/06/20 21:34
>>912
AfxMessageBox("右クリックをするのはやめてね♥")


914 :デフォルトの名無しさん:03/06/20 22:05
>>91
右クリックイベントを捕まえて何もせずに返す

915 :デフォルトの名無しさん:03/06/20 23:21
UINTって型はunsignedなのに何故、文字列やら-1やらを入れて良いんですか??

916 :デフォルトの名無しさん:03/06/20 23:47
質問なんですが、VC++でコンパイルした後にエラー0、警告0って出るんですが、これはエラーがないよって事なんですか?

917 :デフォルトの名無しさん:03/06/21 00:06
>915
代入後には既に文字列や-1として扱われてないから。
>916
コンパイルエラーやリンクエラーは見当たらないという事。
バグが無いとは一言も言ってないけど。

918 :デフォルトの名無しさん:03/06/21 00:08
>>917
ありがとうございました。

919 :デフォルトの名無しさん:03/06/21 00:13
>>890
プロパティでMFCの設定を変えたらエラーがなくなりました
ありがとうございました

920 :デフォルトの名無しさん:03/06/21 00:48
>>917
渡された方でなにやら行って正の数値として扱っているという事ですか。
それともある文字もしくは-1が場合によっては特別に正の数値として扱えるのかな?
ん〜便利のためなんだろうけど紛らわしい。
ありがとうございました。

921 :デフォルトの名無しさん:03/06/21 00:57
>>920
16bitならshort -32767〜32768、unsigned short 0〜65535
-1を渡す言う事はFFFF、shortなら-1、unsigned shortなら65535になる。

922 :デフォルトの名無しさん:03/06/21 01:40
>920
むしろ逆というか、unsignedでないほうのintなどは
最上位のビットを数値でなく符号として特別に扱っている。
unsignedはそこも数値とみなす。

923 :デフォルトの名無しさん:03/06/21 10:48
すいません、ものすごいアホな質問なんですが、VC++はどうやって起動するんでしょうか。

インストールして何度か使ってはいたんですが、まちがってプログラムメニューから消されてしまって復帰できません。
Dドライブにインストールしたので多分
D:\Program Files\Microsoft Visual Studio\VC98\Bin以下にあると思ったんですが、
特定できないんです。
VB6なんかはD:\Program Files\Microsoft Visual Studio\VB98にVB6.EXEがあるんでわかりやすいんですが。VC++はそれっぽい名前のファイルがないもので。
片っ端からやればいいんでしょうがそれも怖くて……。

どうかお願いします。

924 :デフォルトの名無しさん:03/06/21 10:52
>>923
D:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE

Microsoft Developer Studio

925 :デフォルトの名無しさん:03/06/21 11:02
>>924
ありがとうございます!!
ちゃんと全部のフォルダをのぞいていれば見つかったのですね。わざわざすいません。
アイコンも同じだし……。
VC98以下にあると思いこんでいたのが良くなかったか。

どうもありがとうございました。
(´-`).。oO(こんな恥ずかしい質問したなんて、一生誰にも言えない……)

926 :デフォルトの名無しさん:03/06/21 11:09
多分VBだけだ。IDEも言語名のついたフォルダ以下にあるのは。
VJ++もVIDもIDEはCommon以下にある。

927 :デフォルトの名無しさん:03/06/21 11:44
STLについて質問です
STLのfor_eachにおいてコンテナのメンバ仮想関数はよびだせないのでしょうか?

class cBaseOBJ{
virtual void _Dec(){;}
}
class cOBJ :pulic cBase{
void _Dec(){/* 軟化の処理*/;}
}
std::vector<cOBJ> OBJS;

std::for_each(OBJS.begin(), OBJS.end(),std::mem_fun(&cOBJ::_Dec));

error C2064: 関数ポインタとして評価されない式を使って、関数を呼び出そうとしました。


boost が必要なのかな?
それとも根本的に間違ってますか?

928 :デフォルトの名無しさん:03/06/21 11:47
訂正
誤 class cOBJ :pulic cBase{
正 class cOBJ :pulic cBaseOBJ{

上ごみが書き込まれてたらごめんなさい

929 :デフォルトの名無しさん:03/06/21 14:24
どうすれば、ULONGLONG 型や、__int64 の数字を文字で表示できますか?

ULONGLONG ull;
char s1[50];
ull = ( ULONGLONG ) ~0;
wsprint( s1, "%u", ull );

で変換すると、s1 は「4294967295」で、UINT 型の最大値が表示されてしまいます。
デバッグで見ると、ull はちゃんと ULONGLONG 値の最大値が入っている…
どなたか知っている方、お願いいたします。

もちろん sizeof( ULONGLONG ) の値は 8 です。

930 :デフォルトの名無しさん:03/06/21 14:34
ヘルプでprintf見ようや。

931 :929:03/06/21 14:56
結局printfじゃ分からなかったんで、_ui64toa使った。

932 :デフォルトの名無しさん:03/06/21 15:05
まぁ sprintf使って %i64u なんだけどね

933 :929:03/06/21 15:46
>>932
それだと、-164uと出力されてしまうんですが…俺のやり方が間違っているのか?

934 :デフォルトの名無しさん:03/06/21 16:30
”LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です”
というようなエラーが出てしまいました。これはどうすれば解消されるんでしょうか?



935 :デフォルトの名無しさん:03/06/21 16:43
まぁ %I64u を %i64u と間違えたわけだけどね

936 :デフォルトの名無しさん:03/06/21 17:23
>>934
そのまんま、main関数がないってことでしょ。

937 :929:03/06/21 20:34
>>935
できました。
しかし、なんでwsprintfだと変換されなかったんだろ…
sprintfだと正常に変換できるのに。

MSDNに載ってた%I64は変換できない…

938 :デフォルトの名無しさん:03/06/21 22:16
>>927
やるんであれば、 vector<cOBJ*> かと。
まぁ、やりたいことは vector<cBaseOBJ*> なんだろうけど。

939 :デフォルトの名無しさん:03/06/21 23:08
>>937
LPTSTRとか理解してる?

940 :デフォルトの名無しさん:03/06/21 23:57
スイマセン、文字列の結合ってどうやるんですか?
今日は休みだったので朝から、「猫でもわかる〜」を見ながら
勉強していたんですが、、、
char StrA にchar StrBを追加したいんですが、
strcat(StrA, StrB)とやってもStrAはそのままでした。

「猫でもわかる〜」でも少しかかれていましたが、
いまいち文字列、文字の配列?、ポインタがわかっていないです。
perlだったらStrA . StrBってたったのそれだけのことで丸一日...
教えてください、お願いします。

941 :デフォルトの名無しさん:03/06/22 00:18
>>940
#include <iostream>
#include <string>

// 関数内で…
using namespace std;
string a = "abc";
string b = "def";
string c = a + b;

cout << c << endl;


942 :929:03/06/22 00:32
>>939
あまりしてない。つーか、変換自体と関係あるんですか?

>>940
char StrA[10];
char StrB[10];
strcpy( StrA, "AAA" );
strcpy( StrB, "BBB" );

strcat( StrA, StrB );

StrA の内容「AAABBB」になる。
これじゃ駄目?

943 :デフォルトの名無しさん:03/06/22 00:36
>>940
char StrA にchar StrB

もう満杯でーす

944 :940:03/06/22 00:45
940です。
皆さん早速ありがとうございます。
>>941さん
コンパイルしたらエラー 14、警告 3
'using' : 定義されていない識別子です。

なんか根本的に間違ってるんですね。

>>942さん
やはりその方法も使えるのですね。
使い方が間違っているんですね。

>>943さん
すみません、ちょっとわからないです。

皆さんありがとうございます。
ヒントを元に調べてみます。

945 :デフォルトの名無しさん:03/06/22 00:50
>>944
>>943はchar StrA にchar StrBだと文字型の変数になるから、
一文字しか入れれなくて満杯だといってんじゃねーのか?

946 :デフォルトの名無しさん:03/06/22 00:56
>>944
拡張子を .c から .cpp に変える。

947 :デフォルトの名無しさん:03/06/22 01:07
文字列の結合がしたいと言いながら実際にやりたいのは文字の結合ってか

948 :デフォルトの名無しさん:03/06/22 03:00
はははあっははははっはははhっははははっはh


949 :940:03/06/22 11:42
どうも皆さんありがとうございます。
拡張子cでした。すいません。

「文字型の変数」ですか。
文字列、文字、配列、ポインタ、あたりで調べてるんですが、
どうもperlで楽しすぎたせいかますます混乱してます。

いろいろありがとうございます。
ヒントも沢山もらったので、
今日は文字の扱いを中心に調べたいと思います。

950 :デフォルトの名無しさん:03/06/22 12:39
↓次スレよろしこ。

951 :デフォルトの名無しさん:03/06/22 13:12
↓   ↑
→→→→

952 :デフォルトの名無しさん:03/06/22 19:04
│次スレよろ。
│    ┌─┐
↓    │  ↓

953 :デフォルトの名無しさん:03/06/22 19:17

↓ 無理ですた。


954 : ◆kom52wwBZ6 :03/06/22 20:04
行ってみる

955 : ◆kom52wwBZ6 :03/06/22 20:16
★初心者にVisual C++を教えるスレ★ Part7
http://pc2.2ch.net/test/read.cgi/tech/1056280510/l50

956 :デフォルトの名無しさん:03/06/22 21:23
そういえばVS6.0をインストールすると、何かアプリが飛ぶとダイアログが出るよね。

"0xXXXXXXXX"の命令が"0xYYYYYYYY"のメモリを参照しました。メモリが"written"になることはできませんでした。

プログラムを終了するには[OK]をクリックしてください
プログラムをデバックするには[キャンセル]をクリックしてください

ってやつ。あれキャンセル押したらVSが起動してそのあとハングアップするんだけど、
何か回避方法は無いかな?
以前はキャンセルを押しても普通に動いたんだけど、
OSを再インストールしたあとから動かなくなったなぁ。

957 :名無し@沢村:03/06/22 22:59
>>939
ヌヒよ、sprintfのUNICODE板はswprintfだと言う事実を知らないようだな。 (´゚c_,゚` ) プッ

958 :デフォルトの名無しさん:03/06/23 01:29
wsprintf のUNICODE版は wsprintfW
sprintf のUNICODE版は swprintf

959 :デフォルトの名無しさん:03/06/23 14:47
すいません。
C++でRound 処理したい場合どうすればいいのでしょうか?

何をインクルードすればいいのかわかりません。

あほな質問ですいません

960 :デフォルトの名無しさん:03/06/23 15:19
質問おながいします。
プロジェクトをUNICODE版でビルドしようと思い、
プリプロセッサに_UNICODEを追加したのですが、

msvcrtd.lib(crtexew.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
Debug/Edit.exe : fatal error LNK1120: 外部参照 1 が未解決です。

というメッセージが出てビルドできません。
考えられる問題はありますでしょうか?

961 :デフォルトの名無しさん:03/06/23 15:22
追加しないでビルドしたらどうなりますか?

962 :デフォルトの名無しさん:03/06/23 15:23
>>961
_MBCSだと普通にビルドできます。
_MBCSを削除して、_UNICODEを追加すると上記のメッセージが
でます。。。

963 :デフォルトの名無しさん:03/06/23 15:24
>>msvcrtd.lib(crtexew.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
これはプロジェクトの選択を間違った時に良く出るが・・・。
コンソールアプリをつくるのにWin32Applicationを選んだ時とか。

964 :963:03/06/23 15:24
あーじゃちがうね。

965 :960:03/06/23 15:28
>>963
ありがとうございます。

>これはプロジェクトの選択を間違った時に良く出るが・・・。
ですよね(--);;
エディタのMFCアプリなのですが、ユニコードでテストしてみようと
思ったのですが...
もうちょっといろいろいじくってみますネ。。。


966 :デフォルトの名無しさん:03/06/23 15:32
継承をはずして_UNICODEを追加してみたけど、何の問題もなくコンパイル完了

967 :960:03/06/23 15:35
>>966
ですか。。。
僕もいま単純なMFCアプリ(FrameWndを表示するだけ)で
やってみたのですが、やはり同じエラーが出ます。
なんでだろう。。。

968 :デフォルトの名無しさん:03/06/23 15:54
そういえばMFCを使っているのなら、MFC*U.*系のdllなりlibなりを使わないとエラーが出るけど

969 :960:03/06/23 15:57
>>968
U系のLibは自分でプロジェクト設定のリンクタブで指定
しないとダメでしょうか?(一応mfc42ud.libと書いてみたのですが
やはりダメでした)

970 :960:03/06/23 16:21
なんどもしみません。訳がわからないのですが
解決しました。
UNICODEで動いている他のプロジェクトで、プロジェクト
の設定のリンクタブのアウトプットのエントリポイント
シンボルに"wWinMainCRTStartup"と書いてあったので
それをマネしたら動きました。
レスを下さった方ありがとうございました。m(__)m

971 :デフォルトの名無しさん:03/06/23 16:53
VCでつくられたプロジェクトで、それがDLLなのか
exeなのかといったプロジェクトの属性を知るには
どうすればいいのでしょうか?

972 :デフォルトの名無しさん:03/06/23 17:01
どの場面で知りたいの?

973 :デフォルトの名無しさん:03/06/23 17:05
プロジェクト作成のときに、DLLかWinアプリかの指定
がありますが、それを知りたいです。
dswファイルを開いた時点で知りたいのですが...

974 :デフォルトの名無しさん:03/06/23 17:13
VS.NETならプロジェクトプロパティから構成の種類で分かるけど、
古いのは手元にないので何ともいえない

975 :971:03/06/23 17:24
>>974
ほんとですね。VS.NETだと「構成の種類」として
出ていますね。
VS6.0だと出ていません。


976 :デフォルトの名無しさん:03/06/23 19:33
質問させて!
memsetで変数に文字列を入れてMessageBoxで表示させると、

hogehogehoge・・・・

と、末尾に ・・・・ というのが入ってしまいます。
これを取り除くにはどうすればよいのでしょうか?

977 :976:03/06/23 19:35
しくった、memsetではなく、 memcpy で変数から変数へコピーしてます。

978 :デフォルトの名無しさん:03/06/23 20:07
>>977
strcpyを使え!
でなければmemsetで変数を初期化しろ!

979 :デフォルトの名無しさん:03/06/23 20:18
スマソ!事故解決!
\0 の入れかた間違ってた!
ほんとスマソ!ソマソ!

980 :デフォルトの名無しさん:03/06/23 21:08
tomasson

981 :デフォルトの名無しさん:03/06/23 22:04
int型の配列をまとめてある数値に初期化する関数はありますか?

982 :デフォルトの名無しさん:03/06/23 22:15
>>981
FillMemoryが使えるかも

983 :デフォルトの名無しさん:03/06/24 00:45
コモンダイアログを開くと、実行は問題ないのですが、デバッグのログに
例外処理 (初回) は test.exe (KERNEL32.DLL) にあります: 0x000006B5: (名前がありません)。
と出てくるのですが、何か問題あるのでしょうか。

OPENFILENAME構造体の
.lStructSize .hwndOwner .hInstance .nFilterIndex .lpstrFile .nMaxFile .lpstrFilter .lpstrTitle
.Flags .lpstrDefExt
には値を入れています。

984 :デフォルトの名無しさん:03/06/24 21:50
>>982
サンクス!!

985 :デフォルトの名無しさん:03/06/24 22:14
>>983
ちょっとちがうかもしれないけど、
IEコンポーネントを貼り付けてリサイズすると鬼のように例外が発生していますが動作には問題ないです。
内部的に処理済みの例外かと。

986 :デフォルトの名無しさん:03/06/25 18:15
指定したフォルダ内のサブディレクトリ名とファイル名を表示したいと思い
Directory.GetFileSystemEntriesを使おうと思ったのですが
インクルードの下に
#using <mscorlib.dll>
といれると

fatal error C1190: マネージ対象コードには '#using <mscorlib.dll>' と '/clr' が必要です。
というエラーが出てしまいます解決策がありましたらよろしくお願いします

#include "stdafx.h"
#include <afx.h>
#include <windows.h>

#using <mscorlib.dll>
//using namespace System;


int _tmain(int argc, _TCHAR* argv[])
{
・・・・・
}

987 :986:03/06/25 22:10
プロジェクトのプロパティで拡張マネージを変更したら解決しました
スマソ

988 :デフォルトの名無しさん:03/06/25 22:20
おばんです。
おせてくそ。
スタティックライブラリでできる*.libファイルと
dllプロジェクトでできる*.libファイルは、前者は
実装入りで、後者は実装なし(実装はDLL本体内)と
いう解釈でいいのでしょうか?
またなぜリンカはdllを直接参照せずにlibファイルを
必要とするのでしょうか?


989 :初心者:03/06/25 22:52
/* 文字列に代入された数値データをint型に変換する */
#include <stdlib.h>
#include <stdio.h>

int main()
{
char *text = "352";
int integer = atoi(text);
printf( "integer = %d\n" , integer );
return 0;
}
char *text = "352"; なぜ*がいるんですか?


990 :デフォルトの名無しさん:03/06/25 23:06
>>989
壮大にスレ違い。Cスレ池。

991 :デフォルトの名無しさん:03/06/25 23:11
>988
DLLには序列でしか公開していないものもある。

992 :988:03/06/25 23:39
>>991
なるほど。すべてのdllが自身がエクスポートしている
関数の名前を見せてくれるワケではないんですネ。
どもどもでした。。。

993 :デフォルトの名無しさん:03/06/26 00:17
VCがいつのまにか上書きモードになって
しまうのですが(ミスタッチで)
いい方法はないでつか?

994 :デフォルトの名無しさん:03/06/26 00:19
Insertキーをぶっ壊せ

995 :デフォルトの名無しさん:03/06/26 00:33
■■■かわいそうな「ゲーム君」を2ちゃんの力でトップにしよう!■■■
                
HSPプログラムコンテスト2003オンライン投票                   
http://www.onionsoft.net/hsp/contest2003/entryn1.html
 
HSPプログラムコンテスト2003に一番乗りで出展したものの
Windowsに標準でついてくるゲームを手軽に起動できるという(というかただのショートカットつめあわせ)
しょーもないプログラムでたたかれまくっているプログラミング暦3年(!)の高校生の
作品、ゲーム君をみんなの力で一位にしよう。
【【【 投票方法 】】】            
http://www.onionsoft.net/hsp/contest2003/entryn1.html の一番下、エントリーNo8の「ゲーム君」
評価を「A」で選んでコメントを記入して「送信」(コメントいれるとなおよし)           
http://www.onionsoft.net/hsp/contest2003/eval/eval.cgi?md=cmt&id=8
でいままで送信されたコメントが見えるよ!(けっこう笑える)                       

996 :デフォルトの名無しさん:03/06/26 00:37
このスレってBorland C++ Builderもいい?

997 :デフォルトの名無しさん:03/06/26 01:14
「この」スレだけならいい。
次スレは不可(w

998 :デフォルトの名無しさん:03/06/26 01:17
>>993 キーカスタマイズ汁

999 :デフォルトの名無しさん:03/06/26 01:18
       , --- 、_
      /ミミミヾヾヽ、_
   ∠ヾヾヾヾヾヾjj┴彡ニヽ
  / , -ー‐'"´´´    ヾ.三ヽ
  ,' /            ヾ三ヽ
  j |             / }ミ i
  | |              / /ミ  !
  } | r、          l ゙iミ __」
  |]ムヽ、_    __∠二、__,ィ|/ ィ }
  |    ̄`ミl==r'´     / |lぅ lj
  「!ヽ、_____j ヽ、_  -'  レ'r'/
   `!     j  ヽ        j_ノ
   ',    ヽァ_ '┘     ,i
    ヽ  ___'...__   i   ハ__
     ヽ ゙二二 `  ,' // 八
      ヽ        /'´   / ヽ
      |ヽ、__, '´ /   /   \

1000は君にやろう、アンダーソン君...


1000 :デフォルトの名無しさん:03/06/26 01:18
1000 GET〜!

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

238 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)