トップページ⇒tech
940コメント346KB

□□□VC++初心者質問スレ□□□

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001会社から暇つぶしNGNG
API32、SDKの質問もオッケー。
聞いてちょ。
0002デフォルトの名無しさんNGNG
構造体を、引数として関数に渡したいのですが、

int sample( ここに構造体の宣言を入れたい。 ){

}

このような場合、構造体へのポインタは、関数側でどのように宣言すればよいのでしょう?
ちなみに、ソースはそれぞれ別物で、sampleは自作ライブラリの関数です。値を渡す方がメインのプロジェクトです。
00032NGNG
追加です。
その構造体は配列になっています。
つまり
struct ABC{
int A;
}ABCDEFG[30];
こうなっているわけです。
0004デフォルトの名無しさんNGNG
extern int sample(struct ABC[30]);
00052NGNG
>4
できました。
どうも有難うございました。
0006デフォルトの名無しさんNGNG
>>5
いやっ、あの・・・(^^;)
まぁ、動けばいいんだけどね。(笑)
0007デフォルトの名無しさんNGNG
>>2
構造体はtypedef で宣言しとけ
0008デフォルトの名無しさんNGNG
dllの時だけかは知らないけど、
ファイルサイズがコンパクトになる設定があったと思ったんだけど
どこで設定すればいいんでしょうか?
0009デフォルトの名無しさんNGNG
>>8
プロジェクトの設定のC/C++タブの最適化
0010デフォルトの名無しさんNGNG
最近、VC++の勉強を始めたんだけど、クラスはどういう風に使うのが一般的なの?
とりあえず、モジュールを分けるときみたいに、データor目的別で良いのだろうか?
適当にやってもいいんだけど、なるべく業界標準にあわせたいのでよろしく
お願いします。
ちなみに職場はマイコン系なんで誰も知らない。
0011デフォルトの名無しさんNGNG
>>10
「憂鬱なプログラマのためのオブジェクト指向開発講座」
ってのを読むといいかも。

0012デフォルトの名無しさんNGNG
うーん。配列とか文字列とかを考えるとJavaの方が楽だねぇ。
0013デフォルトの名無しさんNGNG
>>10
俺もC++で一番悩んだのはそれだった。
クラスの作り方は分かっても、どうやって使えばいいのかがさっぱりだった。
んで、最近>>11の本を読んで、ようやく分かったような気になった。
0014デフォルトの名無しさんNGNG
構造体をファイルにバイナリで書き出したあと、ファイルに書きこんだ情報をそのまま元の構造体に読み込むにはどうすればいいんでしょう。
typedef struct hoge
{
int aho;
char ABC[100];
}hogehoge
hogehoge hogepu[10];


int main(void){
strcpy(hogepu[1].ABC, "Hello world" );

ここに構造体をファイルに書き出して、それから構造体にそのまま読み込むコードを書きたい

return 0;
}
0015簡単なアニメしたいNGNG
VC++で簡単なアニメーションを作りたいけど、良い本が見つからない。
JAVAだと、スレッドで時間設定するとか、チラツキ防止にバッファリングのイメージファイル作った方が良いとか、大体書いてあるんだけど、VC++の初心者本には書いていない。
VC++はアニメーションするものではないのかな??
0016デフォルトの名無しさんNGNG
DDrawでバッファ作って描画してフリップすればいいんでないの?
0017デフォルトの名無しさんNGNG
>14
Cの関数を使うなら、sizeof(変数名)で構造体のサイズを求めてから、fopen(),fclose(),fwrite(),fread()で読み書きすればいい。
ただし、fopen()するときは、バイナリファイルとして開いた方がいい。
じゃないと、構造体の中にたまたま-0x0D-0x0A-ってデータの並びがあると-0x0A-に変換したり、その逆も起こったりする。

Windows APIなら、CreateFile(),CloseHandle(),ReadFile(),WriteFile()を使う。
やり方はCと同じ。
0018てんさいぷろぐらむぁ(偽)NGNG
>>14
構造体を宣言した時に、変数毎に領域あわせでメモリが余分にとられます。
その余分な領域サイズはコンパイラの設定で変更可能。
つまりデフォルトの設定でsizeofを使って読み書きしている場合には
問題ないけれど、違う設定でコンパイルした実行ファイルを使った場合
サイズがずれるのでデータがめちゃくちゃになる場合があるよん。

その設定がコンパイラのバージョンや、ハードの環境によって変わらない
保証はないと思うよん。
つまり一度リリースしたバージョンと後々バージョンアップで
再コンパイルした物とでデータの形式が変わる可能性があるかも。
コンパイラの設定で修正できるけど、そういうのに頼るのはどうかと思うんだけどね・・・
0019デフォルトの名無しさんNGNG
>>17
できました。どうもありがとうございました。
>>18
今後気をつけます。大変参考になりました。どうもありがとうございました。
0020簡単なアニメしたいNGNG
>>16さん、もう少し教えてください。DDrawという言葉も本に無くて、分かりません。空のビットマップの上にGDI描画関数で書くことでしょうか?
0021デフォルトの名無しさんNGNG
DirectDrawを使うということです。
わかりやすく言えば
つまりセカンダリサーフェスとプライマリサーフェスを作り
セカンダリサーフェスにBlt等で描画し、プライマリサーフェスにセカンダリサーフェスのイメージを転送するということです。
Javaでゆうダブルバッファリングにあたります。
DirectXの本を買って勉強しましょう。アニメーションなら割と簡単です。
ちなみに私はDirectXしか知らないので、他に方法があるかもしれません。
002221NGNG
× Javaでゆう
○ Javaで言う
0023すげー古い本だが一応NGNG
http://www.ascii.co.jp/pb/msp/16132/16132.htm
VC++2 とか使ってたような気もする(w。
0024簡単なアニメしたいNGNG
>>16さん、アドバイスありがとうございます。早速DirectXを勉強します。
0025簡単なアニメしたいNGNG
>>23さん、本を探していただきありがとうございます。
新しい本が出ていないということは、Win32のGDIを使ったアニメーションはあまり使われていないということでしょうか。
002610NGNG
>>11 >>13
レスありがとう。
その本は別の板で紹介されていたので発注済で納品待ちの状況です。
出版社のサイトでは在庫少となってましたので、慌てて注文しました。
とりあえず、学習の方向性は間違ってなさそうなんでがんばります。
クラスはCからC++に移行するとみんなが迷う点なんですかね?
昔XWindowのプログラムを書いてたのですっとばしてAPI適当に使ってプログラムを
書こうかなとも思ったのですが、クラスは使いこなせば便利そうなんで気になって
いました。
0027質問NGNG
あるフリーのソフトでエディットボックスに[y=x^3+x^2+3x+5]とか記入すると座標にグラフを描いてくれるソフトがあったのですがどのようにして作られているのですか?文字と数字が一緒に記入しても処理できるのですか?私なりにプログラムしてみたのですが簡単なn=3 Y=n*X程度のプログラムならできるのですがy=x^2+3x+5みたいなプログラムはできませんどのようにすればよろしいのですか?また「*」はどのように処理しているのですか?
0028デフォルトの名無しさんNGNG
SendMessageの引数について説明しているHP無いでしょうか。
検索したんですがMLがひっかるばっかりで、駄目でした。
0029デフォルトの名無しさんNGNG
× ひっかる
○ ひっかかる
0030デフォルトの名無しさんNGNG
と思ったらMSDNにありました。
0031デフォルトの名無しさんNGNG
OutLook Expressの本文やタイトルの情報を
取得する方法ってどうやるのですか?
0032デフォルトの名無しさんNGNG
ツリービューのアイテムを選択したときに通知されるイベントは何ですか?
また、選択されているアイテムのテキストを取得するにはどうしたらいいのでしょうか。
0033デフォルトの名無しさんNGNG
>>32
TVN_SELCHANGED
TreeView_GetItem
0034デフォルトの名無しさんNGNG
>33
わかりました。ありがとうございました。
0035デフォルトの名無しさんNGNG
うちのパソコンにはWindows98とWindows2000が入ってます。で、普通に
VCを両方で使うとなると2回インストールしなきゃで、当然ディスク容量も
倍食うわけですよね。

これをどうにか一つ分の容量で済ますことはできないでしょうか?
(あるいは同じフォルダに詰めてインストールしちゃった人、いません?)
0036デフォルトの名無しさんNGNG
>>35
これって、ライセンスどうなるのでしょう。
私も同じような事してますが、一台分しか払っていません。
(だって同時には絶対使えないし)
駄目ですか?
0037デフォルトの名無しさんNGNG
>>35
MSに問い合わせたら、「同時に使用できない場合は複数インストールしても問題なし」
って回答が帰ってきたという話を聞いたことがある。
VSでなく、PC-98で1ライセンスのWindowsを別パーティションに複数インストールするケースの話だけどね。
0038デフォルトの名無しさんNGNG
CArrayについて質問です。
1.オート変数をAddしてそのスコープから消えた場合、別のところから
参照できるんでしょうか?
2.template< class TYPE, class ARG_TYPE >
のARG_TYPEの型は通常、TYPE への参照と書いてありますが、
参照じゃない場合、どうなるんでしょう?
(どういう時に実体を使うんでしょうか?)
003938NGNG
3.Addするものがクラスで、newを使わずにローカルのスコープ
で宣言したものだった場合、deleteはしなくていいんでしょうか?
0040デフォルトの名無しさんNGNG
あのー質問があります。
アルファベットを大小比較したいのですが、どのようにすれば
いいのでしょう・・・。
0041デフォルトの名無しさんNGNG
>>40
CString s1, s2; なら if (s1 > s2) ……
char *s1, *s2; なら if (strcmp(s1, s2) > 0) ……
char c1, c2; なら if (c1 > c2) ……
0042デフォルトの名無しさんNGNG
>>38-39
CArrayのソースを見るとCArray::Add()は引数のコピーを作って
追加してるようだから、動作はclass TYPEのコピーコンストラクタ
によるんじゃない。
1は実体をコピーする深いコピーコンストラクタがあるなら、
Auto変数をAdd()してから関数のスコープから抜けても大丈夫。
でもポインタしかコピーしないコンストラクタだったりすると
問題おきるでしょう。
3はもちろんdeleteする必要なし。deleteしたら困る。
2はわざわざ参照を使うより実体をコピーするほうが
単純なやつじゃない? sizeof(s)==4な構造体sとか。
004338NGNG
>>42さま
なるほどぉ。ご親切にどうもありがとうございました。
(ソース見てみりゃよかったんですね)
004435NGNG
>>36
> 私も同じような事してますが
お、ということは一つ分の容量でできているってことですよね?
(それとも2回インストールしてるってことかな)

これから思い切って試してみます
0045デフォルトの名無しさんNGNG
>>44
そんなこと言ってないよ。
別のドライブに個々に全部入れるようにしてるよ。
NT用と95用で必要ファイル違うかも知れないし、無理とちゃうかな。
004644NGNG
>>45
あ、やぱーり。うーん無理ですかねぇ。

インストール時に同じフォルダ指定すれば、すでにインストール済みの
必要ファイルはスキップしてくれないかな、なんて考えているのですが。

とりあえず今はWindows2000用サービスパックを落としてる最中だったり・・・
0047デフォルトの名無しさんNGNG
よくゲームなどでフルスクリーンになるものがありますが、
あれはどうやって実現しているのでしょうか?
004840NGNG
>>41
ありがとうございます。
早速やってみます。m(__)m
0049デフォルトの名無しさんNGNG
APIのStrCmpNIの外部参照が解決できません。どのヘッダをインクルードすれば良いのでしょうか。
005049NGNG
と思ったらリンクのエラーのようです。どのライブラリを関連づければいいのでしょうか。
0051デフォルトの名無しさんNGNG
>>47
DirectDrawに頼る。
もしくは、解像度を変えて、ウィンドウで全体を覆う。
005249NGNG
#include <shlwapi.h>
とやったら、エラーは出ないのですが実行したら「欠落エクスポートシステムに装着されたデバイスは動作しません」
という警告がでました。どういうことでしょうか。
005349NGNG
正確には

HOGE.EXEファイルは
欠落エクスポートSHELL32.DLL:StrCmpNAにリンクされています

です。
0054デフォルトの名無しさんNGNG
MAPIReadMailで受信トレイのメッセージを取得できるのは
分かったのですが、予定表や連絡先の情報を取得するには
どうすれば良いのでしょうか?
0055デフォルトの名無しさんNGNG
char hog[10];
strcpy(hog,"aaaaaaa");
とした配列を、初期状態にしたい(データが入ってない状態にしたい)のですが、どうすればよいのでしょうか。
0056デフォルトの名無しさんNGNG
>>49
MSDNぐらい見ろよ
われず厨房か?
0057てんさいぷろぐらむぁ(偽)NGNG
>>55
何が言いたいのかよくわからん、
ていうかWindows関係ないCの基礎の話じゃないのか?

その配列を文字列として使うんなら
hoge[0] = '\0';
じゃだめなの?
ていうか初期状態ってなにさ?
たまたま入ってたメモリ領域の値を復活させたいとでも?
005855NGNG
バイナリで開いた時、16進であらわした数が0のデータです。
005949NGNG
>56
見ました。英語でしっかり〜libをリンクすると書かれてましたが、前述したとおり欠落エクスポートになってしまいます。
0060てんさいぷろぐらむぁ(偽)NGNG
>>55
それは初期状態って言われてもわからないよー
ようは配列を0で初期化したいってことだよね?

C言語のみならば
char hoge[10] = "にょにょ";
memset(hoge, 0, sizeof(hoge));

でいいんじゃないの?
第一引数のアドレスを第二引数を使って第三引数分埋める関数ね。

Windowsなら
ZeroMemory(hoge, sizeof(hoge));
って感じ。
0の決めうちで同じように動作する。
ちなみにZeroMemoryはmemsetのマクロで
実際は
#define ZeroMemory(buf,size) memset(buf, 0, size)
みたいになってるだけのものだから、そのへんよろしく(何が?)
0061デフォルトの名無しさんNGNG
>>55
memset
ZeroMemory

ここで聞くよりgoogleいったほうが早いよ。
0062デフォルトの名無しさんNGNG
>>58
memset(hog, 0, sizeof(hog));
0063デフォルトの名無しさんNGNG
かぶったー
0064質問NGNG
あるフリーのソフトでエディットボックスに[y=x^3+x^2+3x+5]とか式を記入すると座標にグラフを描いてくれるソフトがあったのですがどのようにして作られているのですか?文字と数字が一緒に記入しても処理できるのですか?私なりにプログラムしてみたのですが簡単なn=3 Y=n*X程度のプログラムならできるのですがy=x^2+3x+5みたいなプログラムはできませんどのようにすればよろしいのですか?また「*」はどのように処理しているのですか?
006555NGNG
>60・61・62
おかげ様でできました。皆様どうもありがとうございました。
0066デフォルトの名無しさんNGNG
>>47 >> 51
フルスクリーンとは画面全体ってことだから、
解像度変える必要ないぞ。
キーワードはGetSystemMetrics()だ。
0067デフォルトの名無しさんNGNG
>>64
http://piza.2ch.net/test/read.cgi?bbs=tech&key=981630730#a342
の342を読むべし〜。
0068デフォルトの名無しさんNGNG
これまで問題なく動作していたプログラムの、メインの処理をいろいろ変更してみたのですが、
全然手を加えてないところからエラーが出ました。
実行すると、しょっぱなのCreateWindowのところで「ハンドルされていない例外は〜.exeにあります。」とエラーがでます。
今回変更したのはウインドウの初期化とかは全く関係ないところなのですが、
こういうことってあるのでしょうか?
0069デフォルトの名無しさんNGNG
VC買って三日目の激烈初心者です。
本当に基本的なことかも知れませんが、解らないことがあります。
(前にVBやっていたので、ポインタとかDirect Xとかは理解しているつもりです。)

ズバリ、インスタンスハンドルって何ですか?
予想だとプログラムに割り当てられたIDのような気もするのですが。
どうも、Direct Xのサンプルとか見てると多用していると思うので。

あと、ウインドウメッセージの一覧とかってないんでしょうか?
0070>69NGNG
>ズバリ、インスタンスハンドルって何ですか?
アプリケーションの起動ごとの固有のハンドル
>あと、ウインドウメッセージの一覧とかってないんでしょうか?
Helpで ”WM_”で引く
0071デフォルトの名無しさんNGNG
VC++を使ってWin2000でWin98と同様の開発は可能ですか?
0072>71NGNG
それぞれに特化していない部分なら問題ないと思います。
すべての差異はわかりませんが、直感的には
Active Directory -> 2000 のみ
DirectX -> 98のみ(ってうそ2000にもはいりましたね)
あとAPIによってはいずれか片方のみ有効のもの少しあるので
ヘルプで確認すればいいと思います。
VC++のディレクトリ検索かけるとWin32api.csvという大きなファイル
のAPI表もあります。
007371NGNG
なるほど。Win2000のノートPCを買う予定だったので安心しました。
どうもありがとうございました。
007469NGNG
ありがとうございます。
ウインドウメッセージってWM_って名前が必ず付くんですね。
確かにそう言われてみればそうでした。

すみません、また質問です。
Direct DrawのサンプルのDDex4のリソースを変更したのですが、
変更した後にこのようなエラーが出るようになりました。
C:\Program Files\Microsoft Visual Studio\MyProjects\ddex4\ddex4.rc (20): error RC2144 : PRIMARY LANGUAGE ID not a number
C:\Program Files\Microsoft Visual Studio\MyProjects\ddex4\ddex4.rc (63): error RC2135 : file not found: 932
多分、英語の書式のリソースを日本語にしたからこのようなエラーが出ると思うのですが、
日本語にするにはどうしたらよいでしょうか?

プロジェクト→設定→リソース→言語 の項目を日本語にしてみたのですが、
やっぱり駄目でした。
全然見当違いのことをしているのかも知れません。
どうすればこのエラーが無くなるでしょうか?
0075デフォルトの名無しさんNGNG
ハァ?
英語を日本語?
#define → ディファインってことですか。
そらエラーもでるわな。違うか。
リソースファイルのフォルダにビットマップとかちゃんと入ってんのか?
リソーススクリプトで定義されてるのを中身を知らずにいじっちゃ駄目よ。
007669NGNG
>>75
>#define → ディファインってことですか。
違うよ(笑
CってVBと同じでUnicodeで動いてるんですか?
だったら修正はいらないのかな?
BMPもちゃんとソースのあるフォルダに入ってるし、
(所でリソースファイルのフォルダって一体どこ?
もしかして、変換するときにファイルを手動で移動しないといけないのかな?)
リソーススクリプトの中身も修正してません。(何となくいみ解るけど)
でも、リソースを変更したときに、
「データの形式を変換しますか?」みたいなこと聞かれました。
「はい」を選択したらこういうエラーになっちゃいました。

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
#ifdef _WIN32
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT//ここでエラーが出ます
#pragma code_page(932)
#endif //_WIN32

//一部省略

ALL BITMAP MOVEABLE PURE "ALL.BMP"//ここでもエラーが出ます
0077>74NGNG
LANG_JAPANESE, SUBLANG_DEFAULT がインクルードされてないのだと
思います。リソースは自動生成時にインクルードされるファイルが
勝手に書かれるのでそのときに不整合が生じるみたいです。(詳細不明)
とりあえず上の2つは 0x11,0x01 なので (olenls.h または
winnt.h 内)それ直接書き直せば平気と思います。(コンパイルエラー
でたときに編集しちゃう)
makefileメークのサンプルなのでプロジェクトの形式の変換が
DeveloperStudioが完全でないのでしょう。
あまり直接いじらないほうがいいととらえて、C&Pでやっちゃってったほうが早い?
"ALL.BMP" のとこのエラーはわかりません(消えると思うけど)
007869=76NGNG
>>77
ありがとうございます。
該当のファイルをインクルードしたら直りました。
ついでに"ALL.BMP"の所も消えました。
良かった良かった。親切にも、VC四日目激烈初心者を相手してくれて
本当にありがとうございます。
007969=76=78NGNG
olenls.hのぞいてたんですけど、なんだ、
LANG_JAPANESE SUBLANG_DEFAULTってユーザー定義の定数だったんですね。
そう言われると全部大文字なので、ユーザー定義の定数と決まってるわけですな。
ずっとコンパイラが提供する定数だと思ってました。(もしかしてVB病かな?)
やっぱり慣れていないのでそう言う単純なところに躓いてしまう。
悲しい。悲しい。
0080デフォルトの名無しさんNGNG
*.cpp を直接開いて、Winアプリ用にコンパイル&ビルド
するには、どの辺のパラメータを変更したらいいんですか?
(いちいちプロジェクト開くのがめんどいので。)
0081デフォルトの名無しさんNGNG
ワークスペースがないとコンパイルできん
よってプロジェクトをひらけ
0082デフォルトの名無しさんNGNG
>>81
でも*.cppを開いてから、コンパイル→プロジェクトを作成
してもうまくコンパイルできないですよね。main()がない
とかいうエラーになる。
0083SAGENGNG
>>82
/subsystem:windows でリンク
0084デフォルトの名無しさんNGNG
VC++6を使っています
スタティックテキストを3つ、ダイアログに貼り付けているのですが、
Aのボタンが押されたら、スタティックテキストの1つめの背景色を黒に、
Bのボタンが押されたら、スタティックテキストの2つめの背景色を黒に、
Cのボタンが・・・
と、アプリケーション実行後に動的に背景色を変化させたいのですが、
どのようにしたらよいのでしょうか。
いくつか、ホームページを回ってみたのですが、ダイアログの表示される
タイミングで「スタティックテキストの背景色はこれ」とか指定するサンプルは
あるのですが、動的に変化させるサンプルがありません
よろしくお願いします
0085デフォルトの名無しさんNGNG
AppWizardでダイアログベースのアプリを
作ろうとしていてF1〜F12まで自分で考えた機能を
割り当てたいのですがF1キーを押すとヘルプを探しに
いってしまいます。F1キーのヘルプは無効にできますか?
0086デフォルトの名無しさんNGNG
>>84
そのサンプルが親windowでWM_CTLCOLORを処理するようなモノなら、
BN_CLICKEDでトグルされるようなフラグをもっておいて(ボタン自体を
WS_CHECKBOXにするという手もある。というか、特に理由がなければ
そうするべきだと思う)OnCtrcolorの中でそのフラグに対応したブラシを
返すようにしてやればいいんでないの?
0087デフォルトの名無しさんNGNG
VCというよりは・・・Cですが
long / long の結果を doubleに入れるにはどうするのでしょうか
long / long の結果って、 long型ですよね?
0088デフォルトの名無しさんNGNG
long l1, l2;
double d;
...
d = (double)l1/(double)l2;
0089デフォルトの名無しさんNGNG
dong l1, l2;
double d;
...
d = (double)(l1/l2);
l1,l2をdoubleにキャストするとlong/longの結果じゃないよね?
・・・すまん、ただの揚げ足取り(藁
0090デフォルトの名無しさんNGNG
VC6で、inline指定した関数が実際にインライン展開されたかどうか
分かる方法ってありますか?
__forceinlineの場合は警告4714が出るみたいですけど。
0091デフォルトの名無しさんNGNG
>>87です
>>88-89
ありがとうございます
計算できました
89さんのおっしゃる内容も、初めは???でしたが、わかりました(藁
009285NGNG
F1は、ON_COMMANDで、ヘルプが呼ばれるようになってたから
コメントアウトしたら大丈夫になったけど、F10が拾えないのはなぜ?
PreTranslateMessageでもひろえません
0093デフォルトの名無しさんNGNG
実行時にコードを自分で作成してそのコードに制御を渡す時

1 スタティックあるいはグローバル関数を使わずに制御を渡す方法
2 その関数内で必要な関数開始処理、終了処理とかはなんでしょう?

C++ではスマートな方法を思いつきません・・・(泣)
後、その関数(void xxxx(void)です)から帰ってきた後に
__chkesp()っつーのがあるんですが、アレは何?!

0094てんさいぷろぐらむぁ(偽)NGNG
>>93
>実行時にコードを自分で作成してそのコードに制御を渡す時

ってどういう意味?
実行時にコードを作成ってもしかして、プログラム実行後に機械語
をメモリに吐き出して直接実行させるとかそーゆー荒技?
難しそうで興味アリ詳細きぼん
0095SAGENGNG
>>93
一気にすげーゴツい初心者質問スレになりそうだ。

__chkesp() は、名前からして 32bitのスタックポインタのチェック…かな?
0096デフォルトの名無しさんNGNG
>>94
そうです。ハンドアセンブルしたx86のコードを確保してあるメモリに
ガンガン書きこんでいきます。

ちなみに今は、クラスのメンバの中に
void (*drc_exe)(void);
等という関数ポインタを作って、そのポインタに、確保してあるメモリの
アドレスを渡してます。

で、この後から作ったコードの中に、もともと持ってる関数
(例えば文字を表示させるなど)を埋め込もうとすると、
call の後に、リラティブでアドレスを書くのですが、関数名で書くと
(というかそうとしかかけない)その関数がグローバルか、スタティック
でないと、アドレスをC++の性質上取得できんのです。

で、グローバルをガンガン作るのはアホくさいですし、恥ずかしいので、
なんとかしたいのですが・・・・・・・
0097デフォルトの名無しさんNGNG
void (T::*drc_exe)(void)
0098デフォルトの名無しさんNGNG
>>97
意味が良くわからないのですが・・・・・・
関数ポインタは、既にとあるクラスのメンバですけど?
009997NGNG
>>98
おまえの言っていることもよくわからん。
メンバ関数へのポインタがほしいと言っているのか?

class T
{
public:
 T():pmf(mf) {}
 void (T::*pmf)(void);
private:
 void mf(void) {なんとか;}
};

main()
{
 T a;
 (a.*a.pmf)();
}
0100デフォルトの名無しさんNGNG
>>99
最初の質問がおかしかったです。

実行時にコードを自分で作成してそのコードに制御を渡す時
2 その関数内で必要な関数開始処理、終了処理とかはなんでしょう?

と

1 関数ポインタをスタティックあるいはグローバル関数にせずに
  取得する方法

って事です。(1は訂正。あと、1と2は直接関係ないですね)
0101てんさいぷろぐらむぁ(偽)NGNG
>>93 & >>96
自分には何のアドバイスもできないや(偽だし)
っていうかわかる人ぜひ自分にも教えてくださいな。

推測するに
>で、この後から作ったコードの中に、もともと持ってる関数
>(例えば文字を表示させるなど)を埋め込もうとすると、

ってのはメンバ関数のことなんですよね?

>(というかそうとしかかけない)その関数がグローバルか、スタティック
>でないと、アドレスをC++の性質上取得できんのです。

C++の性質上静的で無い普通のメンバ関数はCのようにアドレスを
そのまま持っている訳でわ無いのでダイレクトにアドレスをたたいて呼び出すような
ことが出来ない。
かといってグローバルやらスタティックな関数を作ると
「なんかC++っぽくなくて悲しい」ってことですよね?

静的でないメンバ関数を呼び出すにはオブジェクト自身のポインタ(this)
経由で呼びださなきゃならんってやつですね。

1:静的メンバ変数にコンストラクタかなんかでthisポインタを格納しておき
2:静的メンバ関数をラッパーとして作って例の関数ポインタからその関数を呼ぶ
3:呼び出した静的関数からあらかじめthisを格納してある静的メンバ変数を使って
実際に呼び出したい非静的メンバ関数を呼ぶ。
4:実質静的でないメンバ関数が呼ばれるので静的でないメンバ変数も使えて良い感じ
5:でも静的変数にthisを格納するので複数の同クラスは呼べなーい

この辺の流れは参考になりませんか?
っていうか明らかに格上っぽい人に言うのも恐縮なんですが。
0102デフォルトの名無しさんNGNG
あ、あと、1はそのとあるクラスの中で、関数のポインタが必要になると
言う事です。

例えば、

class A{
void b(void);
void c(void);
void (*d)(void);
};

void b(void){
unsigned char e[0x1000];

e[0]=0x90; ......... コードの埋め込み
e[x]=0xe8;
*(unsigned long *)(e[x+1])=((unsigned long)c)-((unsigned long)x)-5;
e[n]=0xc3;

d=(void(__cdecl *)(void))e;
d(void);
}

という感じでやるわけです。
で、このcという関数を、スタティック、あるいはグローバルにせずに
クラスのメンバのままでアドレスを取得するには・・・・・?という疑問です。
0103てんさいぷろぐらむぁ(偽)NGNG
つーか知りたいこととぜんぜん違ってたらすんません。

なんかすごい事やろうとしてますねぇ
ローレベルなハードの制御をC++に移植でもしてるんでしょうか・・・
0104デフォルトの名無しさんNGNG
2. /Faオプションでアセンブリリスティングを吐かせて調べる。
ecxレジスタがthis, 右から左へパラメータpushされて呼ばれる。
スタックを戻すのは呼ばれたほうの責任。

1. メンバ関数T::mfのポインタはT::mf

以上
0105デフォルトの名無しさんNGNG
>>101
俺もthisポインタをグローバルに格納というのは考えたんですが、
実は全く同じオブジェクトを2個作ってマルチスレッドで動かすので、
プログラム的には「自分がどっちのスレッドなのか」というのを
判断させなきゃならんわけです。
まぁそれを簡単にするのがthisなんですけど。

確かにスタティックのメンバのポインタ変数にthisをコンストラクタで
入れるのは良いかもしれませんね。後でその辺も考えてみます
(ダメだったら)

ただ、スタティックはうざいので、あんまり使いたくないのですよね(泣)
0106デフォルトの名無しさんNGNG
>>105
COMをCから呼び出すのと同じ方式をつかえばいいんじゃないのか?
0107デフォルトの名無しさんNGNG
今、MFCでメモ帳を作ろうとしています。
メモ帳の機能の一つに、
決まった文字列が書き込まれるとその部分だけ
色が変わるように(VCで#defineと書いたら色が変わる機能)
を実装しようとしています。

現在は CRichEditCtrl::SetSelを使い
CRichEditCtrl::SetSelectionCharFormatで色を変えています
が、これだと20行程度の文章でも色変えの処理が数秒かかってしまい
とても使えません。

VCやEmEditorみたいに早く処理するにはどうしたら良いんでしょうか?
どなたかご教授を・・
0108デフォルトの名無しさんNGNG
>>107
コントロールを自作するとかすれば良さそう。
それほど難しくないし。

0109デフォルトの名無しさんNGNG
>>108
そのコントロールって奴は
どのように作れば良いんでしょうか・・
0110デフォルトの名無しさんNGNG
http://members.tripod.co.jp/ms_mzn/#search
この辺を読むとよくわかるよ。
011178NGNG
この前はご親切にありがとうございました。
皆さんのおかげでやっとDirect Drawで画面上をキャラクターが動くようになりました。
そこで、フルスクリーンとウインドウモードをゲーム中自由に変更できるようにしようと思い、
ソースを組みました。
Alt + Enterのコマンドでスクリーンモードを切り替えることまではできたのですが、
ウインドウモードの時に最大化ボタンを押したときにも切り替えが出来たらいいな〜
と思ったのですが・・・最大化ボタンを押したときにどんなメッセージが送られてくるのでしょうか?
いろいろと調べてみてWM_ACTIVATEというメッセージがかな〜りアヤシイのですが、
よくわかりませんでした。多分、めちゃくちゃ基礎的なことだと思うのですが、
検索しても出てこなかったので、質問いたします。
VC初めて一週間なのでユルシテクダサイ・・・
って、許されないかな?
0112でふぉNGNG
VC++を買ったはいいが、ただのデバガと化してる(笑)
winプログラムをする事は当分ないでしょう。
0113SAGENGNG
>>111
WM_SYSCOMMAND だったよーな気がする。
調べないで言ってるから信用しない方がいいけど。
0114デフォルトの名無しさんNGNG
>>111
最大化ボタンを押したとき            -> WM_SYSCOMMAND (wp = SC_MAXIMIZE)
システムメニューから最大化を選択したとき -> WM_SYSCOMMAND (wp = SC_MAXIMIZE)
最小化状態から復帰するとき          -> WM_SYSCOMMAND(wp = SC_RESTORE)
0115111NGNG
>>113
ありがとうございます
最大化ボタンを押したときに
&HF030が帰ってきました。
0116111NGNG
あ、Cでは十六進は 0xって表記でしたっけ?0xF030ですね。

>>113
>>114
丁寧にありがとうございます。
本当に助かりました。
本当にありがたくてありがたくてありがたくて・・・

今気がついたんですけどAPIのSendMessageって、
ウインドウメッセージを勝手に送るAPIだったんですね。
VB使ってた頃によく使いましたわ。
0117108NGNG
>>109
すんません、只のフカシです。m(__)m
コントロールを作るには、とりあえず。
CreateWindow()
APIを使って、生地を作り、その上にいろいろな物をトッピング?して行けば
良いのですが。
テキストの描画等を自分で作れる為に、どんな仕様の物でも出来るんですよ。
簡単なところで
TextOut 、GetDC とか、GDIを利用して描画するようにしていけば
それなりの物が作れます。

完全なコントロール (COM or ActiveX ) を作るには、かなりの
労力が必要ですが、MFCであれば、こうやって作る方法もある
ので...。


すまねー
0118114NGNG
>>116

追加。
元のサイズに戻すボタンを押したとき -> WM_SYSCOMMAND (wp = SC_RESTORE)
システムメニューから‥‥       ->  〃

なのでSC_RESTOREの時には最小化状態から復帰するときなのか、最大化状態から窓モードへ移行するときなのか、ちゃんとチェックする必要がある。
0119sageNGNG
>>110
あはは、ごめんなさい。
あんまり詰まってたんで切羽詰って皆さんに答えを無理に求めてました。
「f.fsoft HomePage」ってとこにRTF変換についてのTipsがのってました。
Gooでカッコ内の文字を検索すればすぐ見つかります。

もし同じようなところで詰まってる人がいれば参考にしてね。
0120107NGNG
>>117
すいません・・それがコントロールなのですね・・
実はあんまりよくわかってませんが・・

生成されたウインドウにツリービューとかチェックボタンを乗せたものが
「コントロール」って奴でOKなのでしょうか・・?

で、コントロールを自作しろってのはCRichEditCtrlクラスを継承して
自作クラスを作れってことなんですよね.。

そこまではやってるんですが、色変えの上手い方法が判らなくて・・
とりあえず色々頑張ってみます。参考になりそうなTipsも見つけたし。
0121SAGENGNG
>>120
んにゃ。コントロールを自作と言ったらもっと激しく、
キーを押されたら文字列データを更新して、それをTextOutで画面に書いて、
マウスがドラッグされたらCaptureして選択範囲を反転して書くようにしたり…などなど
ってのを全部自分で作るってことだね。

かなり面倒いけど。
012292NGNG
F10が拾えない件ですが、pMsgのmessageが256というのがWM_KEYDOWN
みたいなんだけど、F10が押されたときはpMsgのmessageが260になってます
この、pMsg->messageが260っていうのは、WM_なにか教えて下さい
(こういうのって、どこで調べたらいいんだろ・・・)
0123デフォルトの名無しさんNGNG
オレはコントロールの練習にスプリッターコントロール書いたぞ。
はじめの練習にはちょうど良いと思うが、どうよ?
0124デフォルトの名無しさんNGNG
>>122
ヘッダ調べろ。
grep掛ければ見つかるだろ
0125greperNGNG
WINUSER.RH:323:#define WM_KEYFIRST 0x0100
WINUSER.RH:324:#define WM_KEYDOWN 0x0100
WINUSER.RH:325:#define WM_KEYUP 0x0101
WINUSER.RH:326:#define WM_CHAR 0x0102
WINUSER.RH:327:#define WM_DEADCHAR 0x0103
WINUSER.RH:328:#define WM_SYSKEYDOWN 0x0104
0126107NGNG
>>121
おおそこまでやるんですか!
MFCで作ろうと思ってるんで任せられるトコは全て既存のメンバ関数に
やらせてしまおうと思ってたんですけど・・

既存のクラスを使わずにあえて一からクラスを作ることを
「コントロールを自作する」ってことでOKですか?

>>123
Splitterですか!
うはー俺も頑張ってみます。
0127デフォルトの名無しさんNGNG
WPARAM の W と LPARAM の L って
何の略なんですか?
0128デフォルトの名無しさんNGNG
>>127
WORDとLONG。
Win16時代はそれぞれ16ビット、32ビットだった。
Win32だと両方32ビットだけどね。
0129デフォルトの名無しさんNGNG
初心者質問スレにしてはやおらゴツい話題になったと思ったら、凄い落差だ(藁
こっちが本来あるべき初心者質問スレの話題なんだが、あまりのギャップにすがすがしさすら感じるよ。
0130デフォルトの名無しさんNGNG
VC++6を使ってます。
フォームにActiveXコントロールを貼り付けているのですが、
これが、フォーカスを得たかどうか・・・とか、
次にこれにフォーカスがくるとかっていうのは、どうすればわかるんでしょうか。
0131116NGNG
>>118
メッセージを送らずに、最大化ボタンを元に戻るボタンにしないというのは駄目ですか?
(スクリーンセーバーを抑制する方法と同じような処理をやっています)
やっぱりメッセージを送ったほうが安全でしょうか?

追加の質問で申し訳ないんですけど、タイトルバーをダブルクリックしたときも
最大化しますけど、そのときのイベントはどうなるのでしょう?
ヘルプを捜してみたのですが、見つからなくて。
0132デフォルトの名無しさんNGNG
IOleControlSite::OnFocus(BOOL fGotFocus)
0133132NGNG
>>130 ネ
0134デフォルトの名無しさんNGNG
FTPのコマンドシーケンスを状態遷移で記述しようとおもうのですが、
帰ってくるコードによって遷移先が複数できますよね?
複数の遷移先を持つ状態遷移っていうのは、設計的にどうなんでしょうか?
0135デフォルトの名無しさんNGNG
はあ?>134
状態遷移表/図書け。
0136しらかわよふねNGNG
114だよ。何となくコテハンで逝ってみます。

>>131
>メッセージを送らずに、最大化ボタンを元に戻るボタンにしないというのは駄目ですか?
>(スクリーンセーバーを抑制する方法と同じような処理をやっています)
>やっぱりメッセージを送ったほうが安全でしょうか?

そこは自分で TRY & ERROR で逝くのが良いんでないかな?

とりあえず私の場合はちゃんと最大化メッセージを送るようにしてる。

理由は‥‥フルスクリーンの時にAlt+Enterするとアプリケーションはタスクバーに入るよね?
でもって、タスクバーのそのアプリケーションの所を右クリックするとシステムポップアップメニューが出てくる。
最大化メッセージを送らないで居るとこのシステムポップアップメニューがずれてくるから。

自分で、システムポップアップメニューの制御をしても良いんだけど、システムに任せた方が楽だし正確ってのもあるし‥‥。


>追加の質問で申し訳ないんですけど、タイトルバーをダブルクリックしたときも
>最大化しますけど、そのときのイベントはどうなるのでしょう?
>ヘルプを捜してみたのですが、見つからなくて。

WM_NCLBUTTONDBLCLK。

wparam(多分)をチェックして、HTCAPTIONだったときはWM_SYSCOMMANDの最大化メッセージをPostMessageしてreturn 0;してやればいい。
0137デフォルトの名無しさんNGNG
WindowsAPIとCの標準関数で同じ機能のものがありますが、
APIを使った時と標準関数をつかったときとではどう違うのでしょうか。

今は気分で使い分けてるので、1つのコード中に両方が混在してます。
やはり統一した方がいいですよね。
0138デフォルトの名無しさんNGNG
MFCやる前にC++やった方がいいと思う。
C++やる前にSDKやった方がいいと思う。
SDKやる前にCでコンソールアプリやった方がいいと思う。
・・・どう?
0139デフォルトの名無しさんNGNG
>>137
Cの標準関数も内部ではAPI呼んでいるだけ。
移植性を高くしたければ、標準関数。
nativeに逝くならAPIで
0140デフォルトの名無しさんNGNG
>>137
そうなの?
CreateFile と fopen って、内部では同じ物なの?

もしそうなら...鬱だ。
0141デフォルトの名無しさんNGNG
>>137
fopenは内部でCreateFileを呼びます。
0142てんさいぷろぐらむぁ(偽)NGNG
>>137
strncpyとlstrcpynで動作が違ったりするのはわかってますよね?
C標準関数はlibc.libとかが使われます。
Winの代わりの関数はkernel32.libとかが使われます。
内部でどうやってるかは知らないけどライブラリは別のを使ってるので
まったく同じってことではないです。

また一部のlibcを使う標準C関数は初期化が必要でCreateThreadで
スレッドをつかう場合データが壊れたり関数が失敗したりリークしたりします。
それをおこさないためにはWinの代用関数を使えとMSDNにある。

標準Cを使ったプログラムでスレッドを使う場合は、マルチスレッド用の
libcmt.libをリンクしなければならない。
さらにCreateThread関数ではなく、代用スレッド関数(_beginthread等)
でスレッドを作成しなければならない。

それでもあなたは標準Cを使いますか?(ぷっぷくぷー)

P.S
CopyMemoryとかZeroMemoryはmemcpyやmemsetのマクロだけどねー
0143>142NGNG
CreateThreadなんて普通使わない。
(まあ全部SDKAPIで書くのを前提とすれば話は別だが普通そんなことしない。)
他のスレでも書いたがbeginthreadex/endthread使え
それに一部のライブラリ関数はインライン展開される。
0144143>142NGNG
それにAPI直だと仕様が変わったりしたときに困るので、
可能な限りライブラリ側の関数使っ方が良い。
移植時や他人のライブラリ使う場合もあるからなぁ。
わかったかい?
0145てんさいぷろぐらむぁ(偽)NGNG
たしかに仕様が変わった時&他人のライブラリやなんかを使う時
なんか困るかもしれないねぇ。
確かに今までCreateThreadより_beginthreadの方が使う機会が多かったけど・・・

実際のところみんなCreateThreadは使わない物なの?
面白そうだから詳しい話きぼんぬ
014693NGNG
全部Win32APIで書くから、CreateThreadしか使ったことないよ
0147デフォルトの名無しさんNGNG
 ハーバート・シルトの「Windows98プログラミング」を参考にしながら
LoadBitmap関数を試してみています。最初にbitmapをVC++6.0付属のリソ
ースエディタで作成。*.rcファイルに関してはVC++の新規作成でリソース
スクリプトを作成し、そのソースを直接編集するのではなく、VC++から
「挿入」を使って、bitmapファイルと関連付けました。でもこのままコン
パイルすると動きません。LoadBitmap関数の戻り値がNULLになってしまう
ようです。リソースファイルを下記のように自分で手書きにすると、問題
なく動いたので、どうもリソースファイルに問題があるようです。

MyBP1 BITMAP BP.BMP

 手書きではうまく動作するのですが、どうもVC++ってリソースファイルは
手書きではなく、自動で作成させる方針みたいなので、この点を曖昧なまま
先に進みたくありません。どうやったら正しくコンパイルされるのでしょうか?

 ところでリソースで指定したアイコンやカーソル、ビットマップなどは、
EXEファイルの中に埋めこまれるのですか? つまり元になった *.ico, *.cur,
*.bmp はなくてもかまわないのでしょうか?
0148>147NGNG
無くてもかまわない。
つーかそれぐらい自分で試せ。
0149SAGENGNG
趣味で作ってるプログラムに関しては>>146に同じだなぁ。

>>147
自動生成されたほうのリソースファイルはどーなってんのさ?
0150デフォルトの名無しさんNGNG
>>147
第二引数に MAKEINTRESOURCE() 噛ませ忘れてる、に一票。
0151デフォルトの名無しさんNGNG
>>149
自動生成すると以下のようになります。
わけわからんです・・
--------------------------

//Microsoft Developer Studio generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// 日本語 resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
#ifdef _WIN32
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
#pragma code_page(932)
#endif //_WIN32

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END

2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END

3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END

#endif // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//

MyBP1 BITMAP DISCARDABLE "BP.bmp"
#endif // 日本語 resources
/////////////////////////////////////////////////////////////////////////////#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED


0152デフォルトの名無しさんNGNG
>>150
C++のソースファイル(*.cpp)の中で使うんですか?

>>148
試したんですけど、一応聞いてみました。^^;
0153150NGNG
>>152

LoadBitmap(hInstance, "MyBP1");

としてたら、これを次のように書き換えてください。

LoadBitmap(hInstance, MAKEINTRESOURCE(MyBP1));

理由は resource.h 参照。
0154デフォルトの名無しさんNGNG
>>153

ありがとうございます。
resource.h をinclude して、
LoadBitmap(hInst, MAKEINTRESOURCE(MyBP1))
このように変更したら、うまくコンパイルされました。

でも、リソースファイルを自分で書いたときは
#include "resource.h"
を書かなかったのですが、うまく動いてしまった。不思議です。
(シルト氏の本でもincludeしてませんでした。)
それまでは LoadBitmap(hInst, "MyBP1"); という形で文字列
で指定していたから、文字列のままでIDが特定されてたのかな?

 シルト氏のテキストは分かりやすいんですが、今一歩、内部事
情への踏み込みが弱い印象です。例えば、WM_RBUTTONDOWN が右ボタ
ンクリックで1度しか送られないことや、逆にWM_CHARやWM_KEYDOWN
はボタンを押し続けることで何度も送られることがきちんと書かれ
ていません。MAKEINTRESOUCE(i) は integer と LPTSTR型へキャスト
するマクロみたいですけど、このマクロも載ってないし、LPTSTR型の
解説もないみたい。(サンプルソースのミスもすでに何ヶ所かありました。)
 このテキストの後で、もう少し深いレベルのテキストで学習したい
のですが、何か適当なテキストはあるでしょうか?

ところで

>理由は resource.h 参照。

とありますが、これは resource.h で MyBP1 が defineされているって
ことでいいですか?

0155てんさいぷろぐらむぁ(偽)NGNG
>>154
えらそうな事言うようで申し訳ないんですが、
ひとつだけ言わせてもらうと、
本来自分で調べて(MSDNとかマニュアルで)作るものなんだよー
あなたが書いた物なんかまさに「自分で調べろ」な部分だと思うんですわ。

あれだけ丁寧に書かれた本に文句いっちゃーいけない気がします。
>このテキストの後で、もう少し深いレベルのテキストで学習したい
学校の勉強じゃないんだからそーゆー「テキスト」がないとってのは違うよん。
MSDNみてやればよいと思う今日この頃。
0156デフォルトの名無しさんNGNG
VCの勉強に・・・と、豆プログラムをいくつも書いているのですが、
突然リソースファイルがバカでかくなるときがあります。
それまで、400Kぐらいだったのが、エディットボックス追加したぐらいしか
ないのに、1000Kぐらいになって、あるとき突然ロードやリビルドが遅くなった
と思ったら、10M超えてたりします。
どして??なんか、いらない情報が溜まってるのでしょうか。
0157デフォルトの名無しさんNGNG
CreateThread だと、問題が出る事があったんです 昔
memcpy とか そこら辺の なんていうんだったっけかな
まあ、ANSIの関数群で不具合が出た。
0158デフォルトの名無しさんNGNG
>>155
「WM_CHAR なんかの細かい仕様に関しては MSDN 引け」という
のは同意だけど、次に読むテキストといったら Petzold 本すす
めるでしょ。

「プログラミング Windows95」チャールズ ペゾルド (アスキー)
0159156NGNG
うわ、何もかえてない(つもりですが)7Mぐらいまで増えた。
さっきまで3Mだったのに。(それでもおかしい・・・)
ちょっとまえまで500Kだったのに・・・
誰か助けて下さい〜
0160バグ怖いですNGNG
VC++で作ったプログラムをもとにDLLを作ろうと思っています。
DLLを作るのは初めてなので、ちょっと戸惑う事がありました。
VC++6.0でプロジェクトを新規製作しようとすると
DLLのプロジェクトが2種類ありました。
「MFC AppWizard(dll)」と「Win32 Dynamic-Link Library」です。

この二種類のDLLて何が違うのでしょうか?
「MFC AppWizard(dll)」だとMFCのクラスが使えるようですが、
違いはこれだけでしょうか?

「MFC AppWizard(dll)」で作ったDLLをMFC以外のEXEで使用した時に
変な現象とか出たりしませんか?

テスト用の何も機能の無いDLLは他のプロジェクトに登録できましたが、
せっかく作ったDLLが使えなかったりすると悲しいのでご指導をお願いします。
0161デフォルトの名無しさんNGNG
>>160
エクスポートされた関数の{}内の先頭に
AFX_MANAGE_STATE(AfxGetStaticModuleState())
をちゃんといれてるか?
0162デフォルトの名無しさんNGNG
C言語でテトリスやブロック崩しみたいなゲームって作れますか?
また、Java以外でテトリスやブロック崩しの様なゲームが作れる
言語ってありますか?
0163デフォルトの名無しさんNGNG
テトリスやブロック崩しはJavaでしか作れないのか・・・・
0164デフォルトの名無しさんNGNG
>>162
CだろうがC++だろうがPerlだろうがRubyだろうが
EmacsLispだろうがVBだろうがDelphiだろうが
JavaScriptだろうがアセンブラだろうが何だろうが作れると思うが。
0165デフォルトの名無しさんNGNG
SQLではつくれねーな(藁
0166デフォルトの名無しさんNGNG
>>164
では、Cでもテトリスは作れるということですね?
0167166NGNG
補足しておきますが、VC++やC++ではありません。
Cで作れるか?ということです。
0168デフォルトの名無しさんNGNG
>>166

作れるよ。きちんとしたライブラリさえあれば。

0169>167NGNG
くどいぞこのんこ野郎!
0170デフォルトの名無しさんNGNG
>>169
君キティ?だったらここ↓に逝ったら?お仲間がいっぱいいるよ。
http://saki.2ch.net/lobby/index2.html
0171166NGNG
では、どなたかテトリスかブロック崩しをCで作ってくれませんか?
またはそのサンプルのソースがありましたら教えて下さい。
実物を見ない限り、私は納得出来ません。
0172>171NGNG
おまえがつくれこのんこ野郎!
0173>170NGNG
おまえが逝けこのんこ野郎!
0174166NGNG
>>172-173
ですから、私はCで出来るからといわれても、
そのソースの構成が頭に浮かびません。
それに、私じゃ出来ないから、どなたかソースのサンプルを見せてくれないか?
といっているのです。
お前みたいに役に立たない奴がしゃしゃり出て偉そうに罵倒してんじゃねーよ、
このスカタンポコチンカスがっ!
0175デフォルトの名無しさんNGNG
>>166
あのねー・・・。

中古ソフト屋に逝けばいくらでもあるぞ。
0176166NGNG
>>175
はぁ?Cで組まれたテトリスがですか?
そんなの見ませんよ?それともプレステ、ファミコン、ゲームボーイとかの
ゲームのプログラムって、Cのみで組まれているんですか?
そうですかそうですか、そりゃ知りませんでした。
すんまそん、
0177デフォルトの名無しさんNGNG
>ですから、私はCで出来るからといわれても、
>そのソースの構成が頭に浮かびません。
>それに、私じゃ出来ないから、どなたかソースのサンプルを見せてくれないか?
>といっているのです。

んじゃ、やめとけ。


>お前みたいに役に立たない奴がしゃしゃり出て偉そうに罵倒してんじゃねーよ、
>このスカタンポコチンカスがっ!

いや、君よりは確実に偉いよ?w
0178デフォルトの名無しさんNGNG
172に同意(笑
まあCやC++だと環境によって作り方が多少異なるけど。
テトリスならテキストベースでも十分だけど。
0179>166NGNG
「テトリスのCのソース」で検索すれば?
0180166NGNG
しゃ〜〜ねぇなぁ。俺がCでテトリスを作ってみるか。
まっ、2,3日待ってろや。作ってくるから。
口だけの誰かさんと違って、やれると分かればやってやるぜ。
覚悟しとけよ、>>173
0181>180NGNG
がんばってね。
0182デフォルトの名無しさんNGNG
>>180
 頑張ってくれ・・・応援してる。
試すもしないでできないと騒いでいては何もできない。
0183デフォルトの名無しさんNGNG
>180
つーか、テトリス作るぐらいでそんなに気合いを入れなくても・・・
プログラムの素材としてはベタだし。
「ソース テトリス」で検索したら、たくさん見つかったぞ。

0184166NGNG
検索すりゃ見つかるんやなぁ・・・。
面倒だから作るのやーめた。
ソース見て勉強しよっと。
0185>183NGNG
やる気を削ぐような事言うなこのんこ野郎!
0186>184NGNG
わずか13分で挫折するなこのんこ野郎!
0187>184NGNG
見るだけじゃ勉強にならんぞこのんこ野郎!
0188166NGNG
ちぃ、わぁ〜〜ったよ。自分で1から10まで構成してやらぁ。
だぁら2,3日待てっつーのっ。
俺も暇じゃねーんだから。
0189>188NGNG
がんばってね。
0190166NGNG
あぁ〜〜だりぃ。テトリスはもういいや。
テトリスみたいなゲームが作れると分かればそれで良かったことだし。
テトリス以外のほかのゲームを作るのに専念するよ。
ではっ!
0191デフォルトの名無しさんNGNG
やぱーり作れなかったのね。プ
0192デフォルトの名無しさんNGNG
>>166はんこ。
0193デフォルトの名無しさんNGNG
最近ぽろぽろとVC++でツールを作ってるんですが、
大抵のWinアプリケーションは画面中央に、アプリケーション名と適当な画像が出てから初期化?始めてますよね?
あれって一般的にどういう手法で実現してるんでしょうか?
ちなみに、私はAppWizard+MFCを大抵は利用してます。

0194デフォルトの名無しさんNGNG
>>193
容量の小さなウインドウを作って表示
0195166NGNG
あん?別にテトリスじゃなくても良いんだろ?
テトリスなんて今更作ったって芸がねーよ。
俺独自のゲームをGUI開発しちゃるから待っとれ。
0196166NGNG
訂正:
GUI開発 -> 開発
消し忘れた(^^;
0197デフォルトの名無しさんNGNG
>>166
がんばれ〜、密かに応援してるぞ〜ゴルァ!!
0198デフォルトの名無しさんNGNG
>>193
スプラシュウインドウ使え。
プロジェクト->プロジェクトに追加->コンポーネント/コントロール
0199デフォルトの名無しさんNGNG
>>166
春休みは残りわずかだが大丈夫か?
0200166NGNG
おいっ、俺には春休みなんて関係ないご身分なんだよ。
もう学生じゃねーよ。
0201てんさいぷろぐらむぁ(偽)NGNG
>>166
大人なのにそんななの?・・・・・・
0202166NGNG
まだ21だ。完全な大人とは言い切れんよ。
自分でもまだ子供だって思えるくらいだ。
大人になんてなりたかねーよな。
けどいつかは家庭を持って、子供を育てていくうちに大人になってんだなぁ、
みつを、なんつって。
0203てんさいぷろぐらむぁ(偽)NGNG
21といったら立派な大人だぞ。
大人として仕事やら税金やらをちゃんとこなした上で
子供のような行動をとるならまあいいんだけど。

君の場合はなんか「甘ちゃん」のにおいがそこはかとなく漂ってくるんだよ。
親の家に住んでるだろ?(もしくは仕送りか)
飯自分で作ってないだろ?
ごみの分別ちゃんとやってるか?

・・・と半マジ説教半ネタ風の発言をしてみる小春日和。
0204バグ怖いですNGNG
>>161さん
アドバイスありがとうございます。
調べてやってみますね。
0205166NGNG
>>203
をいをい、痛いところを突くじゃねーか。
だが大外れだな。雰囲気で人間性が決まる程世の中単純じゃないんでね。
特に俺においてはなおさらだ。外見と中身が全然違うって言われるくらいだからな。
こう見えてもルックスに長けているのさ。
プログラムなんて熱心にやるやつだと、ヲタクなんたらって言われるんだろうけどさ。
0206デフォルトの名無しさんNGNG
>>203=166
‥‥ルックスが良くって、「外見と中身が全然違う」って言われるってのは、つまり中身は糞だって言われてるんでは?(藁
0207デフォルトの名無しさんNGNG
>完全な大人とは言い切れんよ。
と自称する人が、
>雰囲気で人間性が決まる程世の中単純じゃないんでね。
なんておっしゃられても、いささか説得力に欠けますね。

で、具体的にはなに作るの?(藁
0208デフォルトの名無しさんNGNG
>>203
小春日和って‥‥‥12月上旬から中旬だぞ?
0209てんさいぷろぐらむぁ(偽)NGNG
>>208
突っ込まれても・・・(いろんな意味でネタだし)

つうかそろそろ脱線を戻さないと怒られてしまうよー
(って自分が言うことぢゃないのはわかってるんだけど・・スマソ)
0210デフォルトの名無しさんNGNG
関数ポインタ配列の、動的な作成方法わかる方居ます?

int procNumber;
void (**proc)(int);
proc = new ????????? [procNumber];

・・・ってやりたいんですが。
0211>210NGNG
わかりやすい様にtypedefでもすれば?
typedef void (*tproc)(int);
proc = new tproc [procNumber];
0212210NGNG
>>211さん
出来ました。
typedefって使った事無かったんですが、
こんな使い方が有ったのですね。
有難う御座いました。
0213デフォルトの名無しさんNGNG
166そっくりの新人が入社してしまいました。
・C言語はまかせてクレと豪語しています。
・集中力は最高15分程度です。
どのように指導するのが良いでしょうか?

0214>213NGNG
デスマーチプロジェクトへ放り込め!
0215166NGNG
すいません、いろいろやって見ましたが、画像を表示する関数はCで
なんというのでしょうか?
音楽を鳴らす関数とか、エンディングの文字をスクロールさせる
関数とか、ブロックを回転させる関数も教えてください。

後、行番号を適当につけたら、間に入れたい行があっても入らなく
なりました。どうしたらいいんでしょうか?

Cって簡単だと思ってたけど、結構むずかしいです。
大きい事言ってしまってみなさんには本当に申し訳ないです。
お詫びはテトリスを作ることであらわしたいと思います。
皆さん本当にすいませんでした。
0216166NGNG
>>215
をい、俺(本人)を目の前にして言いたい放題言いやがって。
下らねーんだよ、偽物は。
っつーか俺の集中力が15分だぁ?知らないくせに何を言ってやがる。
誰がプログラムしねーだなんて言った?
俺は俺独自のゲームを開発するんだよ。
今だって集中してやってるわい。
ったく、ここに来る連中がロクな人間じゃねーんだ。
そんな奴にどうこう言われたかねーんだよ、こっちは。
0217デフォルトの名無しさんNGNG
>>216
>ったく、ここに来る連中がロクな人間じゃねーんだ。
>そんな奴にどうこう言われたかねーんだよ、こっちは。
じゃぁ最初からここで聞くな。負け犬が。
0218デフォルトの名無しさんNGNG
>>166
みんな生暖かい目で見守っているよ。
いろんな意味で逸材だと思う。
0219デフォルトの名無しさんNGNG
天然だしな(藁)
0220デフォルトの名無しさんNGNG
>ったく、ここに来る連中がロクな人間じゃねーんだ。
>そんな奴にどうこう言われたかねーんだよ、こっちは。

自分の思い通りにいかないと、すぐまわりのせいにする。
思いっきりガキじゃん。
こんなやつほっとけば。
どうせ大したもん作れねーんだから。


0221デフォルトの名無しさんNGNG
マジな話、「Cでテトリス作れるか?」の質問が出る状態から
2・3日でテトリス作れるか?
俺なら無理だ。
全然よゆー、って言える人キボンヌ
0222デフォルトの名無しさんNGNG
つーか仮にテトリスが作れたとして、

「で、それがどうしたの?」

って感じ。ゲームを作ろうとする時点でオリジナルが作れない奴は何をやっても
猿真似は猿真似。ダメなもんは何やってもダメ。
0223>221NGNG
多分、1日あれば作れるかな。
0224デフォルトの名無しさんNGNG
>>223
君にこの言葉を贈るよ

「みためより かんたんなものは ほとんどない」

ソフト作る上での常識だからな。忘れるな!
0225>222NGNG
プログラム初心者が最初に作る物としてならいいんじゃない?
0226デフォルトの名無しさんNGNG
>どうせ大したもん作れねーんだから。
それはその通りなんだけど、こういう厨房ちゃんが実際にどんなモノを作れて、
どんな自己評価をするかをみてみたいんだよねぇ。イタイ新人の相手するときの
参考になるじゃん。

というわけで、がんばってすてきなオリジナルゲームを作ってね〜
テトリスすら作れないプログラミングスキルと、天然な企画力があれば怖いモノ
なしだ〜
もちろん完成後は発表してネ〜
0227>244=222=220?NGNG
きみはなんでそう偉そうなんだ。(笑
0228デフォルトの名無しさんNGNG
>255

勉強をかねて作る分にはいいんだけどね、それをここで発表して「どうだ、参ったか!!」と言いたいわけよ、166は。
21にもなってさ。
0229166NGNG
ふんっ、をいをい、俺が初心者だとでも思うのか?
これでもC言語を習い始めて1年以内に、既にまともなゲームを
Cで作ったんだぞ。証拠は・・・、レポートとして提出してあるから、
あそこにいけばまだあるかも。
0230>229NGNG
なんかもう、支離滅裂だね
0231166NGNG
ああ、なんかもうあんたらの言い分はケツ滅裂だよ(笑)
とにかく、今の俺なら十分簡単なゲームなら作れるくらいの
技量はある。人相と技量を一緒に考えるなよ。
0232デフォルトの名無しさんNGNG
>>166
162の発言の時点で技量計測COMPLETE。
0233デフォルトの名無しさんNGNG
一年では初心者でしょう。
文面から、素人の思い上がりが見て取れます。
もっとも、確かにソースコードを読んでみなければ正常な判断は下せませんが。

僕だと、WindowsでC++(MFCじゃないよ)ならテトリスなら作れるかな?
...システムだけなら一日くらいかな。
でも、タイトルとかスコアとか付けると三日は最低でもかかるなぁ。
きっと
0234193NGNG
>>198

>スプラシュウインドウ使え

早速MSDNで調べてみました。
ありがとうございます。
0235デフォルトの名無しさんNGNG
>とにかく、今の俺なら十分簡単なゲームなら作れるくらいの
>技量はある。

うわぁーぉ。ずいぶんと高い自己評価だねぇ。客観的な評価が一致してると
いいんだけど。
以前うちのチームに中途で入ってきた人や、新卒クンが似たようなこと言ってたな。
そうやって自己評価が高い人に限って、仕事はできなかったけどね。
小さいプログラムのコードをどっかにアップしてくれたら、キミの自己評価と
客観評価の間のギャップの大きさがわかるんだけどね。ま、そういうことを
ヤル気はないんだろうけど。世の中には明らかにならないほうが幸せなことも
あるからね。

キミはまだ20代前半かな?まだ何を知らないかを知らない時期なのかもね。
それが自覚できてないうちは、自己評価は低めに考えておいたほうがいいよ。
ま、この手のタイプには言ってもムダかもしんないけど〜

プログラミングは奥が深いよ。ソフト開発はそれよりもっと奥が深いよ。
せいぜいすてきなソフトをつくってくれよ。
0236166NGNG
>>235
いるよなぁ。口だけの学生さん気分の抜けないヴァカ。
いつまで学園祭やってんだって感じ。
成果が出なくても許されるような世界じゃないのにね。

訳のわからんただのラッパーを
「・・・・システム」だとか「・・・・・ライブラリ」とか言う奴とかな・・・
一回殺せ。デスマーチに突っ込んで。

プロジェクト立てるだけ立てて、失敗は他のメンバーのせいにする奴とか

あれ?これって僕のこと?真でお詫びしますね・・・・
0237デフォルトの名無しさんNGNG
Win32環境での国際化で良いサイト、本がありましたら教えてください。
一応下記のサイトは見たんですが。
http://www.microsoft.com/technet/winnt/winntas/Tips/intcodck.asp
http://www.microsoft.com/globaldev/articles/muiapp.asp

具体的にはCreateFontでArial決めうちになっているのをどう直せばいいのかなと。
日本語のフォントに変えればローカライズはできますが。
サンプルのあるサイトがあれば助かります。
0238>237NGNG
ChooseFontDialog(だっけ?今資料無いので適当)でユーザー(自分でもいいけど)に
フォント選択させて、あとはCreateFontIndirect使えば楽。
フォントにエイリアス描けたければその後、LOGFONT構造体メンバを修正。
0239>166+その他NGNG
もう166関係の発言禁止。
0240166NGNG
うるせぇ!俺もこのまま引き下がれるか!
どうせお前らえばってるけど、ただの糞オタだろ?
人の揚げ足ばっかり取りやがって!

お前ら童貞のくせに偉そうにしてんじゃねぇよ!
腐れエロゲーオタが!外で遊べ!
0241166NGNG
>>240
いい加減俺の偽物やめてくれない?
訴えるわよ?
0242166NGNG
>>236
これも偽物。っつーか、もう良い。やっぱここの連中性質が悪いし。
誰がC言語習いはじめて1年だなんて言った?
俺は既にC言語を習ってから3年は経ったんだよ。
っつーかC以外の言語も嗜んでいるんでな。
Cだけしか出来ないヘボいやつよりは、考える力には長けているはずだ。
0243239>166+その他NGNG
余計な事言ってしまったみたいだな。(笑
撤回する。好きなだけ続けてくれたまえ。
0244名無しさんNGNG
>>93から始まったネタってもう終了?興味あったんだけどなぁ。

やっぱC++でスタックポインタ直接書き換えるのって駄目なのかな。
__chkesp()で確実に怒られる。ぬぅ・・・
例外の伝播とかで必要になるからだと思うけど。
024593NGNG
>>244
継続中です
0246>244NGNG
ホットスポットだけインラインアセンブラで書いたら?
0247>244NGNG
どっちにしろもう環境に依存するコードだからアセンブラで書いた方が
逆にすっきりすると思うけどね。
0248デフォルトの名無しさんNGNG
>>246,>>247
どっからどこまで?特に247。スタートアップルーチンからか?
0249247=246>248NGNG
埋め込みコードを呼出す部分
0250247=246>248NGNG
つーかなんでスタートアップ?
0251166本物NGNG
お前らいい加減にしろよ。訴えてやるからな。

お前ら凄腕のゲームプログラマに損害を与えたんだから、
1億くらいは慰謝料請求できるんだぞ?

だからはやくテトリスのソースよこせ!
0252>251NGNG
(゚д゚)ポカーン
0253デフォルトの名無しさんNGNG
激しく痛い166晒しage
0254デフォルトの名無しさんNGNG
166って何だったんじゃろ。
とりあえずCでテトリスすら簡単に作れないのに(とか
まあ、今時の若い者は 「エスケープシーケンス」なんて言葉も
知らないんじゃろうのぉ。
(自分の知識の無さをこうやって大々的に広められるのも2Chの良い所じゃのぉ)
それに、中学生でも下手すれば作れるレベルだし > テトリス
(とか、言ってみるテスト。

166が何処までが本物かわからんが、Cだけでグラフィックもサウンドも、
当然全部作れるよ。
それくらいの常識は持とうね。せめて....
0255166NGNG
>>251 <偽物の166
166、つまり俺の偽物がとても虚しく見えてきます・・・。
そんなに俺を装いたいか?やってろ。
俺はもう発言しないからな。
テトリスが出来てもここでは公表しません。
以上。
0256デフォルトの名無しさんNGNG
最近の糞スレ乱発、糞レス乱発を見てて・・
どうでもいいけど、知識レベルの低い荒しは寒いね。
反応する気も失せるくらい
赤ん坊の相手してあげる暇は朝くらいしかないしさ。。
0257166敗北宣言?!NGNG
>>255
テトリスが出来ても公表しないー>×
テトリスが出来ないので公表できないー>○

つーか「出来たら公表」とか大威張りで言われてもな
テトリスごときで・・・・・・・・
やっぱり激しく痛い166晒し上げ!
0258デフォルトの名無しさんNGNG
>>244
__chkesp() 呼び出す前に、スタックポインタ復元してますか?
cdecl だと、関数の呼び出し側と呼び出された側の処理は、こん
な感じです。

呼び出し側
1. スタックに引数をつむ (push)
2. 関数呼び出し (call)
3. スタックから引数を除去 (ふつうは pop せずに add esp する)

ここまでは、型宣言しておけば C++ コンパイラにお任せで OK。

呼び出された側
1. スタックフレームポインタをスタック上に保存 (push ebp)
2. スタックフレームポインタを更新 (mov ebp, esp)
3. (メインの処理)
4. スタックポインタを復元 (mov esp, ebp)
5. スタックフレームポインタを復元 (pop ebp)
6. 呼び出し元に戻る (ret)

この 1, 2, 4, 5 を、実行時に作成するコードに埋め込めば
良いんじゃない?
0259デフォルトの名無しさんNGNG
>>93 の続きの >>102 だけど、
結局、スタティックでないメンバ関数のアドレスをint値で取得したいってことでしょ?

void (A::*funcptr)(void)=A::c;
int funcadrs;
__asm {
mov eax,funcptr
mov funcadrs,eax
}

こんな感じでインラインアセンブラを使えばint funcadrsに
クラスAのメンバ関数void c(void)のアドレスをいれられるんだけど、
インラインアセンブラを使わずに、
直接 funcadrs=(int)funcptr とかやってもキャストできない。
インラインアセンブラを使わずにint値にキャストする方法ないのかな??
0260デフォルトの名無しさんNGNG
>>254
人を非難するのに
>(とか、言ってみるテスト。
逃げを作っておくのはちょっと賛成しかねます。

昔 Jed ってエディタの付属マクロでなぜかテトリスがあったっけ。
0261デフォルトの名無しさんNGNG
そうかたった3年でそこまで大きな口をきける人も世の中にはいるんだなぁ。
10年以上やってるけど、オレなんてまだまだと思うことばっかりだよ。
0262csvじゃなくてスマンNGNG
VZにもあったような、、、
0263254NGNG
>>260
すんません。
どれが本物の166か、本気で判らなくなっていたんです。
と言うか、正直判らない...。

それと、昔Jed使ってました。
マクロでテトリス動いた時には、ちっと驚きました。
0264166NGNG
わぁったわぁった、んじゃ俺のゲームを作る前に、
テトリス作ったるわ。
今までUNIXで文章や数式を扱ったプログラムしか作らなかったんでな。
グラフィカルな部分を忘れていたんだよ。
そんなに攻めなくても良いじゃねーかよ。
これでもブラックジャックとかその他のゲームをCで再現したことあるんだぜ。
プログラムの構成くらい、必要な関数やヘッダが分かれば、今の俺なら何とかして
作る自身はある!だから待ってろ。
出来なかったら出来なかったと報告する。
出来たら・・・どうしようか?
0265デフォルトの名無しさんNGNG
移転先発見!
http://tokyo1.virtualave.net/
http://tokyo1.virtualave.net/
http://tokyo1.virtualave.net/
http://tokyo1.virtualave.net/
http://tokyo1.virtualave.net/
http://tokyo1.virtualave.net/
0266特にVC++に限らないんだけど、NGNG
RichEditコントロールの詳細な解説が読める本というと、
どんなのがありますでしょうか?
0267デフォルトの名無しさんNGNG
ビットマップ画像をロードしてhdcmemに格納して表示して
一回目はうまくいくんですけど、いろいろ作業して後からまた
この画像を表示しようとすると何も表示されないのですけど、
どういう原因が考えられるでしょうか?
0268デフォルトの名無しさんNGNG
どっかにテトリスのソースファイル一式アップしてくれよ。
後学の参考にさせていただくよ。
0269デフォルトの名無しさんNGNG
JBuilder4Foundation
をやっとこさインストールしました。

んだけど、これ、どうやって使うんですか??
最終目標としては、WebページにJavaアプレットを載せたいんですけど・・・
0270269NGNG
↑ゴメソナサイスレマチガエマシタ
0271デフォルトの名無しさんNGNG
>>269
DeleteObject してないの?
0272267NGNG
DeleteObjectはしていないです。
hdcmemを直接使ってる場所は少ないので自分でデータを消したり
変更したりはしてないと思うのですが、何でだろう・・・
0273デフォルトの名無しさんNGNG
>267
プロシジャーで、static宣言し忘れて、2回目以降のハンドルが死んでるとか?
オレはよくあるんだが。
該当部分のソースコピペしてくれた方が早いかも。
0274デフォルトの名無しさんNGNG
VCのデバッガでメモリリークを検出できるらしいのですが、

for(int i = 0; i < 100; i++) new char[255];
このようなコードを書いても、アウトプットウインドウのデバッグタブに
Detected memory leak! と出ないのですが。
どうやったら出るようになるのでしょうか?

0275デフォルトの名無しさんNGNG
>>274
TRACE("Detected memory leak!");
を足せば出ます。
0276デフォルトの名無しさんNGNG
>>274

「メモリ リークを検出するには」
http://www.microsoft.com/japan/developer/library/vccore/_core_detecting_a_memory_leak.htm
0277名無し。NGNG
CComBSTR、_bstr_t、BSTRは、どうやって使い分けたら
いいのでしょう?
0278276NGNG
>>274
すまん、トンチンカンな答えを書いてしまった。
#include <afx.h>
の1行を入れて、
「プロジェクトの設定」-「C/C++」タブ -「使用するランタイムライブラリ」
を“マルチスレッド(デバッグ)”にしてコンパイル。
これでデバッグ実行で"Detected memory leaks!"メッセージが出るようになる。
0279デフォルトの名無しさんNGNG
>>276
>>278
ありがとうございます。
MFCを使うしか、行う方法ないんでしょかね(^^;
MFCは使ってないので、、、
0280>>279NGNG
前に以下のようにしたらできた。
deleteをオーバーライドしてないけど・・・

#ifdef _DEBUG
void* __cdecl operator new(size_t nSize, LPCSTR lpszFileName, int nLine)
{
return ::operator new(nSize, _NORMAL_BLOCK, lpszFileName, nLine);
}

#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endifint APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow )
{
// TODO: この位置にコードを記述してください。
#ifdef _DEBUG
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_CHECK_ALWAYS_DF|_CRTDBG_LEAK_CHECK_DF);
#endif
0281デフォルトの名無しさんNGNG
CMapStringToObを使って文字列に該当するクラスを検索しているのですが
登録件数が多いせいか思うような性能が出てくれません。
0282デフォルトの名無しさんNGNG
コンソールアプリで実行中に
ウインドウ右上の閉じるボタンを使えなくしたいです。
ウインドウ左上のメニューを使えなくしたいです.
ctrl+cもきかなくしたいです.
どうしたらいいですか?
0283166NGNG
普通のCで点や線を描くにはどうしたら良いんだ?
わからねーぞ。やっぱやーめた。Javaでテトリスに変更ね。
んじゃ。
0284デフォルトの名無しさんNGNG
わ、勝手に変更してるし。
0285名無し~3.cmdNGNG
>>259
COMの魔法をつかって、メンバ関数を「単にthisを第一引数に取る
関数」にまで引き下げれば、インラインアセンブラはいらない。

#include <objbase.h>
#include <stdio.h>

typedef interface AStruct {
 struct AStructVtbl FAR* lpVtbl;
} AStruct;
struct AStructVtbl
{ void (__stdcall * afunc)(AStruct *that); };

class AClass
{
public:
 STDMETHOD_(void,afunc) (THIS)
 { printf("Itteyosi:%p\n",this); }
};

int main()
{
 AClass ac;
 AStruct *a = reinterpret_cast< AStruct* >( &ac);
 a->lpVtbl->afunc( a );
 int funcptr = (int)a->lpVtbl->afunc(a);
 return 0;
}
0286名無し~3.cmdNGNG
あ、int funcptr = (int)a->lpVtbl->afunc(a); は
int funcptr = (int)a->lpVtbl->afunc; の間違いね。
0287267NGNG
>273
グローバル変数にしています。自分が糞コードを書いているだけだろうけど、
プロシジャーからいろいろな関数を呼んでそこで主な作業をしています。
あちこちで同じ変数を使うのでやたらとこの型が多いです。
ということでソースのコピペは全部じゃないとあんまり意味ないかも。
>166
多分、LSI−Cなどを使っているのでは?
開発環境を教えてください。
0288デフォルトの名無しさんNGNG
>>283
昔のDOSだと
・VRAMに直書き
・グラフィックアクセラレータみたいなもの(I/Oポートで操作)
・BIOSコール
のいずれかを使います。一から作ると面倒です。
0289166NGNG
すいません、いままでjavaだと思ってたのはjava scriptでした(泣)
逝ってきます!

けど、java scriptって行番号がうざいんですよね。
gosubの使い方がよくわからんし・・・・・・
0290デフォルトの名無しさんNGNG
>>289
えーと、どこまでネタでどこまで本気と扱って良いのかわからんので、
今度から、ネタな時はメアド欄に「neta」とでも記入しといてくれ。
0291289はNGNG
全部ネタとしか思えない
0292254NGNG
>>291
ネタですよねぇ。
>>279
#ifdef _DEBUG
// Get current flag
int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );
// Turn on leak-checking bit
tmpFlag |= _CRTDBG_LEAK_CHECK_DF;
// Turn off CRT block checking bit
tmpFlag &= ~_CRTDBG_CHECK_CRT_DF;
// Set flag to the new value
_CrtSetDbgFlag( tmpFlag );
#endif
って書くと、メモリリークチェック出来るらしいよ。
詳しくはMSDN読んでみてけれ
(解放し忘れたメモリーは表示してくれるっぽい)
>>166
テトリスで線は必要ないでしょ。
書きたければ VGA BIOS 調べれば解るかもね

まぁ、どうでもいいか...
0293('o`)NGNG
こんなクラス定義でコンパイルすると ↓

<pre>
class a
{
public:

union
{
int a[3];
struct
{
char b[12];
};
};

public:


.
.
}

</pre>
anonymous class type not used to declare any objects って言われるんですが、
どうすればいいですか?
0294デフォルトの名無しさんNGNG
>>293
union の中で構造体定義だけをして何になるんだ一体。
0295しろうとNGNG
>>293
union の変数なくない?
0296デフォルトの名無しさんNGNG
struct{
char b[12]
} shine;

だね
0297166NGNG
>>289
また偽物か。いい加減やめろ。
JavaとJavaScriptの違いくらい、既に知ってたわ。
そんなに俺を馬鹿にしたいか?
やっぱりここに来る連中って性質が悪いね。
ちょっとプログラム言語をかじったくらいで、
コンピュータの仕組みでも分かったつもりか?
289はマジでJavaとJavaScriptの違いが
分かってなかった様だね。
0298デフォルトの名無しさんNGNG
>>297
おぉおぉ、負け犬が吠えとるわ
0299デフォルトの名無しさんNGNG
>>280
>>292
アリガトございました。
292の方法でできました。

280の方は、なぜnewをオーバーライドしているのか理解できなかったので、
試してませせんけど(^^;
0300166NGNG
>>298
だったらてめぇ〜がC言語でテトリスを作ってみろよ?
俺はJavaでやるからよぉ。だいたいなぁ、言語が違っても
ある程度のアルゴリズムは似ているんだよ。
っつーかさぁ、どうやればC言語でグラフィカルな表現が出来るの?
0301初心者NGNG
>>295
C++には無名共用体つーのがあるから変数名なしでもいいんでないの。
ていうかおれも昨日その説明を読んだところだけど。
#こういうやりとりってベテランの人たちは笑って見てるんだろね・・・
0302デフォルトの名無しさんNGNG
>>293

クラス名 a とメンバ名 a がぶつかってるからじゃない?
別の名前にすれば問題なく動く。
あと、クラス定義の最後に ; を忘れなく。
0303デフォルトの名無しさんNGNG
>>166
アルゴリズムは近似でもグラフィクスライブラリの
相違はいかんともしがたいと思うが、そもそも
ライブラリの概念が見事に欠落している時点で
テトリスの完成は100%ないと思われ。
0304259NGNG
>>285
ありがとう、うまくいきました。
「単にthisを第一引数に取る関数」っていろいろと使えそうね。

そういえば強引にキャストするのにunionが使えるんだった。
union {
void (A::*funcptr)(void);
int adrs;
} tmpcast;
tmpcast.funcptr = A::c;
int funcadrs = tmpcast.adrs;
これでもOKだった。
0305デフォルトの名無しさんNGNG
>>っつーかさぁ、どうやればC言語でグラフィカルな表現が出来るの?
288が答えてくれてるのに・・・
思うに166はC言語の機能を全部覚えれば、それだけで自分は立派なCプログラマーだと思ってるんじゃないのか?
ハードウェアとC言語の関係、OSとC言語の関係は全然知らないのかも。
0306166NGNG
んじゃぁ、必要なヘッダをあげてみろよ?
分かんのか?
数値的な扱いはある程度こなせてるんだよ。
ポインタだってやった。文字列も。
数式を扱うタイプのものは嫌というほどやったよ。
大学の実験でな。
0307デフォルトの名無しさんNGNG
Basic でグラフを描くのに、点や線、その色を決定するアルゴリズムを
見たことがある。
要するにテトリスをするには、図形を表示できなきゃ話しにならん。
0308デフォルトの名無しさんNGNG
>166
>>数式を扱うタイプのものは嫌というほどやったよ。

だから、それはCの一面を理解してるだけなんだよ。
そんなもんじゃ「俺はCに詳しい」なんて人に自慢できない。

>んじゃぁ、必要なヘッダをあげてみろよ?

必要なのはヘッダよりも、ライブラリやAPI。
それが嫌なら、グラフィックメモリに直接書き込め。
0309デフォルトの名無しさんNGNG
>>166
そのヘタレ具合で何の実験をしたのか教えてくれ。
コピペ嫌いなんだが今回ばかりはキチガイ警報
だしたくなってきたよ。
0310デフォルトの名無しさんNGNG
>>306
#include "directx.h"
なんて、今時の答えっぽくてどうかのう?
煽りになってないかのぉ
031193NGNG
>>310
今なら
#include "d3d8.h"
とかどうです?

>っつーかさぁ、どうやればC言語でグラフィカルな表現が出来るの?
Cのシンタックスを覚えただけでプログラムは作れないよ。
ポインタやったのなら、VRAM直書きも出来ると思うけど・・・・
0312ななしにゃんNGNG
>>306
>んじゃぁ、必要なヘッダをあげてみろよ?
ぎゃははははは!マジか?こいつ?
VC++初心者以前のパソコン初心者だね!

今後二度とプログラマとか、プログラム出来るとか言うなよ?
俺らの地位も低く見られるからさ。マジで頼むわ。な?
そろそろ学校も始まるしさ、井戸に戻れ。な?(藁)

真性ヘタレ晒しage
0313166NGNG
あのぉ・・・VC++でもなければ、C++でもないんだけど?
ただのCだぜ?俺がやろうとしているのは?
分かる?>>312
0314254NGNG
>>299
new をオーバーライドすると、
たとえば this ポインターの位置を表示させたり出来ます。
そうすると、私が書いたプログラムで出てきた、解放されていない
メモリー領域と比較して、どれが解放されていないか素早く見くけられます。
(本当は、Deleteもオーバーライドして、どれだけ取ってどれだけ解放したか
みるのが一番良いのですけど。>>280 さんは、たぶんこれを言おうとしたと思います)

>>166
>>306
#include<conio.h>
これで十分だよ。
inp と outp だからね、使う命令は。
詳細は自分で調べましょう。
0315166NGNG
まぁ俺も書き込む場所間違えてたかもしれんが、
とりあえず誤解している奴がいるから確認を。
ただのC言語でテトリスは組めるのか?
あん?あん?あん?VC++は無しだぜ。
0316166NGNG
conio.h なら見たことある。
んじゃやってみるか。
0317デフォルトの名無しさんNGNG
数式処理...ということは
Integrate[ (1+Sin[x])/(Sin[x](1+Cos[x])), x ]
と入力すると
-2*Log[Cos[x/2]] + 2*Log[Sin[x/2]] + Sec[x/2]^2 + 4*Tan[x/2])/4
と答えてくれるようなプログラムを作っていたの?
そこまでできてるんなら、ソレナリだとは思うけどね。

それとも数値計算かな? Bessel関数値計算の実装で留意しなければならないことは
と聞かれていくつか答えられるかな?

そのくらいできるなら「ある程度はこなして」いると胸を張って言えるよね。
0318デフォルトの名無しさんNGNG
>>inp と outp だからね、使う命令は。
カッターナイフで一戸建て作るみたいな感じだな。
0319デフォルトの名無しさんNGNG
>>317
ベッセルどころか九九すら危ういと思うがどうか?
0320デフォルトの名無しさんNGNG
>166

>あのぉ・・・VC++でもなければ、C++でもないんだけど?
>ただのCだぜ?俺がやろうとしているのは?

言語とコンパイラの区別もついてねーんだろうな。
0321166NGNG
をいをい、いくらなんでもコンパイラと言語の区別くらい
ついてるよ(笑)
っつーか、JavaのコンパイラでCをコンパイルするやつだったら、
区別がついてないっつーことを言われてもしょうがないだろうけどさ。
0322デフォルトの名無しさんNGNG
あの、VC++って言語じゃないんですか?
製品なのは分かってますが、拡張機能使いまくって、
他のコンパイラで通らなくなったら、もはやVC++言語のソースって
言っていいような気がするのですが?
0323デフォルトの名無しさんNGNG
>>322
プログラム言語の1種でしょ、VC++だって。
0324デフォルトの名無しさんNGNG
通りすがりだけど、
>では、Cでもテトリスは作れるということですね?
痛過ぎ・・・
あんまり166煽ってタタリ神にしないほうが良いと思われ。

>>322
気がするのは勝手だけど、VC++はC++言語の実装の1つでしょ?
それを「C++言語じゃなくてVC++言語だ」って言い張るのは
無理だと思われます。

>>323
言語処理系の1つ、でしょ?
C++はプログラム言語の1つ。
0325Visual Basic NGNG
びじゅある・べーしっく
 Microsoftが開発したプログラミング言語およびアプリケーション開発環境。

 Windows環境でWindowsアプリケーションが作成可能なように、従来のBASICを拡張したもの。
いわゆるRAD(Rapid Development)ツールの元祖的存在。「フォーム」と呼ばれる、
アプリケーションのベースとなるウィンドウにさまざまなコントロール(ActiveXコントロール)
を貼り付けてアプリケーションを完成させる。最初にリリースされたのはWin16版で、
その際のコントロールは独自インターフェイスのDLL(VBXと呼ばれていた)であったが、
Win32版では、カスタムコントロール(OCX)として、COMをベースにしたものに変更された。
そのためWin32環境のOCXでは、他のベンダでも開発環境でも、カスタムコントロールが利用できるようになった。
さらにカスタムコントロールは、ActiveXコントロールと名前を変えInternet Explorerに貼り付けて利用できるようになった。
0326デフォルトの名無しさんNGNG
VC++だって言語および開発環境と呼べるのではないだろうか?
0327デフォルトの名無しさんNGNG
「VC++はマイクロソフトが開発したプログラム言語です」
って言うつもり? んなむちゃな。
もちっといろいろな言語を見てみれば、
VC++の、標準C++からのズレなんてどうでも良いことに気づくよ、きっと。
0328デフォルトの名無しさんNGNG
やれやれ。
「言語仕様と実装の区別が付かない厨房」ってホントにたち悪いね。

ところで言語仕様で表示機能の実装を規定している言語っていうと、
何があったっけ?タートルグラフィックとか…ありゃマクロかな?
0329>328NGNG
Schemeは印字出力形式も規定されてます。
よって出力されたデータを再読込み(または実行)して
同じ結果にすることが可能。
あ、点打ったりする画面表示の事?だったら知らん。
0330デフォルトの名無しさんNGNG
VC++で円周率ってPIじゃダメなの?
0331デフォルトの名無しさんNGNG
http://www.yahoo.co.jp/Computers_and_Internet/Programming_Languages/
0332デフォルトの名無しさんNGNG
http://www.hitachi.co.jp/HAND/SOFTPAGES/1297.html
VC++は言語仕様ってところか?
0333デフォルトの名無しさんNGNG
>>324
C++の部分はね。
ただ、固有の拡張機能使いまくってたら、もはやC++とはいえないのでは?
0334324NGNG
>>333
何が「もはやC++とはいえない」の?

拡張機能使いまくられて書かれたソースはC++で書かれたようには
見えないかもしれないから、
そのソースはC++で書かれたとは言えないと認めても良い。

でも、
そのソースがVC++でコンパイルできるからといっても、
VC++はC++言語の1つの実装であることには変わりないでしょ?

つーか、
もう、
VC++はC++言語の実装ではなく、
マイクロソフトが開発したVC++言語の
実装の1つ、ということでいいです。。。
0335デフォルトの名無しさんNGNG
リモートデバッグで質問です。
プロジェクトの設定の「デバッグ」のカテゴリ「追加するDLL」の設定方法がわかりません。
ローカル名とリモート名には何を書けばいいんでしょうか。
ホストはWindows2000でターゲットはWin98です。
多分、どっちかのマシンのファイルのパス名を書くんだと思うんですが…。

何も書かずに実行した場合、ローカルモジュールの検索「リモートファイル用のローカルファイル名を入力」というダイアログが出て、
たとえばwinmm.dllの時だと「C:\WINDOWS\SYSTEM\WINMM.DLL」というのがデフォルトで入ってます。
このままOKを押すと「リモート上の対応するファイルとマッチしません」になります。
「C:\WINNT\SYSTEM32\WINMM.DLL」や「マシン名\WINNT\SYSTEM32\WINMM.DLL(WINNTは共有フォルダ)」
とかやってみましたが結果は同じでした。

0336デフォルトの名無しさんNGNG
166の自作自演が痛いな・・・・・・
0337デフォルトの名無しさんNGNG
突然ですが質問です。
VC++を使っているのですが、ヘッダファイルの二重インクルードを防ぐ方法を教えてください。#ifdefとかなんとかでできると思うのですが使い方がよくわからなくて・・・。
0338デフォルトの名無しさんNGNG
VC++っていまどき MDIなんですか? Builderみたいに自由に配置したいんだけどどうしたらいいの?
0339デフォルトの名無しさんNGNG
>>337

#ifndef hoge
#include "hoge.h"
#endif

hoge が未定義の場合のみ #endif の部分までを実行。
いや、どうとでもなるけど。
0340デフォルトの名無しさんNGNG
>>301
無名共用体知らなかった。鬱田詩嚢。
0341デフォルトの名無しさんNGNG
>>339
どっちかっつーと中でやらん?

/* hoge.h */
#ifndef HOGE_H
/*
...
*/
#endif
0342341NGNG
しまった。define 忘れてるよ。

#ifndef HOGE_H
#define HOGE_H


#endif
0343デフォルトの名無しさんNGNG
>>336
どこが自作自演なんだ?
0344デフォルトの名無しさんNGNG
えっと、339さんと341さん。ありがとうございます。
また、いろいろ聞きますのでお願いします。
0345335NGNG
リモートデバッグしようとしてVCの設定をいじってたら、なんとかできるようになりました。
かわりにDirectDrawが動作しなくなりました。
DirectDrawで、サーフェスのGetDCを実行した途端、エラーメッセージの表示すらなく問答無用で終了してしまいます。
dllの設定を変更した時にDdraw.dllのパスとかを変更したのがいけなかったのかもしれませんが…。
エラーメッセージすら表示されないので何が原因なのかわかりません。
このような症状に心当たりは無いでしょうか。
0346デフォルトの名無しさんNGNG
VBにおけるDoEventや、DelphiにおけるApplication.ProcessMessagesみたいな、Windowsメッセージを処理する命令ないですか。あと、モーダルウィンドウを作ろうとして、CFrameWndを継承したクラスでBeginModalState()ってやったらメインウィンドウがモーダルになっちゃったのです。何故でしょう。作り方が悪かったんでしょうか?ちなみに、
メインフォーム(CFrameWndを継承) : グローバルスコープ
 アプリケーション(CWinAppを継承) : グローバルスコープ
 モーダルしたいフォーム(CFrameWndを継承) : アプリケーションクラス内
で、最後の「モーダルしたいフォーム」はポインタで宣言しておいて、メインフォームのコンストラクタ内でnewしてます。
どうでしょうか。よろしく教えてください。
0347254NGNG
>>337
VCなら
#pragma once
って使えるよ。
詳しくはMSDNでも調べてちょうだい
0348347NGNG
プログラム作成についての質問ではないのですが・・・。

ICQを、付属のインストールシールド使わずにインストール
する方法って、、あるんでしょか
0349デフォルトの名無しさんNGNG
>>345
どこまでステップで追えるの?

>dllの設定を変更した時にDdraw.dllのパスとかを
>変更したのがいけなかったのかもしれませんが…。
Direct-Xのバージョンが同じdll , h , lib を使っている
なら問題無いような。
ツール -> オプション -> ディレクトリ のインクルードファイル&
ライブラリの優先順位はあってる?

あとはポインタ周りのメモリ破壊か。


リモートデバッグとは羨ましい。フルスクリーンのときは
デバッグ時は裏画面で表示切り替えたり、エラーログを
テキストで記録したりしてたな。


0350デフォルトの名無しさんNGNG
>>345
GetDCでおちるのは、Win16Mutexが関係しているとか
きいたことがある。
0351デフォルトの名無しさんNGNG
>>350
これだろ
http://www.microsoft.com/JAPAN/support/kb/articles/JP147/2/56.HTM
Win2000ならGetDCの中までトレースできるぞな
0352335NGNG
なんか、再起動すると上手くいくみたいです。
そして何度か実行してるとまた同じ症状になります。

あと、Windows2000をホストにしてWin98で実行、もしくはWin2000ローカルで実行するとこの症状が出ますが、
Win98ローカルで実行すると問題なく実行できます。デバッグできないけど。
0353デフォルトの名無しさんNGNG
CArchiveのReadLineでEOF時の例外がCATCHできないんです.
DEBUGモードで実行すると例外はThrowされているようなんだけど.
CACTHで引っかかりません.
なぜ?
0354166NGNG
麺クリア時に女の子の服を脱がす関数はなんですか?
void girl::strip(unsigned char);これかなぁ?

あと、僕がjavaだと思ってたのはコボルでした。すいませんです。
0355デフォルトの名無しさんNGNG
>>354
だから負け犬はもうここに書くなって。マジうぜぇから。
0356勝ち犬NGNG
おれの勝ちだ。
わんわん
0357デフォルトの名無しさんNGNG
VBアプリから『c:\temp』に保存しているhtmファイルを開くにはどうしたらいいのですか?
0358166NGNG
っつーか俺の偽物の自作自演がむなしいな。
煽りとしか思えない。
煽りは罰金もんだぜ?
暴走族を煽ったことが原因で、裁かれる罪になったのだよ。
分からないやつは、逝ってよしっ。
0359デフォルトの名無しさんNGNG
>>358
無知も罪だぞ(藁)
0360166NGNG
では、赤ん坊は罪人だらけだな。
0361デフォルトの名無しさんNGNG
166、ウザい
0362デフォルトの名無しさんNGNG
166屁理屈しか言えないから、お前はダメなんだぞ?
0363デフォルトの名無しさんNGNG
Windows2000でWriteProfileStringを使っているアプリケーションがあるのですが
コンピュータを複数のユーザーで使用しているため、勝手にWIN.INIの内容が変更されてしまいます。
アプリケーションが使うWIN.INIの場所はどのように指定されるのでしょうか?
0364イブマサトNGNG
>>360
私は子供に生まれなくて本当にシアワセだ!
0365デフォルトの名無しさんNGNG
166って、まだ本物居るのか?
さすが春房、レベルが違うな。

>>360
その話は宗教の方で昔から話されてるから、宗教板に行ってくれ。
0366166本物NGNG
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)< Javaの勉強しているんだから、静かにしてくれる?
             _φ___⊂)__ \_______________
           /旦/三/ /|
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
           ̄ ̄ ̄ ̄ ̄
0367166本物NGNG
春房?馬鹿いっちゃいかん。俺は既に大人だと言っただろ。
既に義務教育など終えているのだよ。
なんで俺を馬鹿にしたがる?あん?
グラフィカルな面を抜けば、C言語は使いこなしてるんだよ、ボォケナスガァ!
0368デフォルトの名無しさんNGNG
sageで書けよ。ったく目障りな厨房だ。
0369デフォルトの名無しさんNGNG
>>366
そのAAなんか和む。
0370166NGNG
>>368
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)< 命令してんじゃねーよ。目障りに思うのはてめーの勝手だけどさぁ。
             _φ___⊂)__ \_______________
           /旦/三/ /|
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
0371デフォルトの名無しさんNGNG
目障り。
0372166NGNG
>>371
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)< 俺からしてみれば、いちいち目障りって言うあんたが目障りだぜ。
             _φ___⊂)__ \_______________
           /旦/三/ /|
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
0373166NGNG
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)< おっ、関心関心。みんな俺の為に静かにしてくれんだね。
             _φ___⊂)__ |きっとJavaでテトリスを作ってみせるよ。
           /旦/三/ /| \_______________
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
0374ゆうきこすもNGNG
166のおかげでなんだかんだでもうすぐ400です。
アフロがとう。
0375166NGNG
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)<  いや、俺を煽ったやつのおかげでしょ?
             _φ___⊂)__ \_______________
           /旦/三/ /|
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
0376166NGNG
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)<  いやぁ、オブジェクト指向のプログラムって奥が深くて面白いね。
             _φ___⊂)__ \_______________
           /旦/三/ /|
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
0377デフォルトの名無しさんNGNG
-------------------------------------------
このスレッドは166放置スレッドになりました。

以降VC++の質問は
http://piza.2ch.net/test/read.cgi?bbs=tech&key=981630730
で受け付けます。
\_ ____________________/
   |/

   Ψ
   □
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0378166NGNG
  ∧_∧  カタカタ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 (    )  ∧ ∧ < よしっ、テトリスが出来たぞ。
 (    )  (,,゚Д゚)  \____________
 ̄ ̄ ̄ ̄ ̄ (つ_つ__
 ̄ ̄ ̄日∇ ̄\| BIBLO |\
        ̄   =======  \

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ほう、プログラムが組めるという自慢ですか?
\
   ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( ・∀・)  ∧ ∧ < な、なんですか?あなた・・・
 (  ⊃ )  (゚Д゚;)  \____________
 ̄ ̄ ̄ ̄ ̄ (つ_つ__
 ̄ ̄ ̄日∇ ̄\| BIBLO |\
        ̄   =======  \

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 私は出来るプログラマーだって言ってるわけだ
\
   ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (  ・∀)  ∧ ∧ < 言ってないですよ・・・ソンナコト
 (     )  (;゚Д゚)  \____________
 ̄ ̄ ̄ ̄ ̄ (つ_つ__
 ̄ ̄ ̄日∇ ̄\| BIBLO |\
        ̄   =======  \

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 私の事は「テトリスもつくれないヘボプログラマ」ですか。
\
   ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( ・∀・)  ∧ ∧ < だから逝ってないでしょ!!
 (  ⊃ )  (゚Д゚;)  \____________
 ̄ ̄ ̄ ̄ ̄ (つ_つ__
 ̄ ̄ ̄日∇ ̄\| BIBLO |\
        ̄   =======  \

0379166NGNG
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)<  さぁってと、そろそろ本格的にテトリス作成に入るぞ。
             _φ___⊂)__ \_______________
           /旦/三/ /|
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
0380デフォルトの名無しさんNGNG
>>367
春房 = 春休み中の中学生以下の精神年齢を持つ奴
文面から読み取ってね。

って、煽ってみたけど、結構本気で反応してくれてぽっくんうれぴい。
0381166NGNG
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)<  例え中学生以下の精神年齢でも、技術はてめーよりは上だよ(プ
             _φ___⊂)__ \_______________
           /旦/三/ /|
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
0382デフォルトの名無しさんNGNG
Bitbltで、寸法640X480ピクセルのビットマップから32X32ピクセル分を部分的に取り出したいのですが、どうすればよいのでしょうか。
0383382NGNG
と思ったら論理長を座標+32にしていたのでながすぎたというオチでした。ごめんね。
0384デフォルトの名無しさんNGNG
166はgraphicパッケージが実装されてないjava環境を知らないのか…
0385166NGNG
>>384
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)<  そんなヘボい環境で開発なんてしてられっかよ(プ
             _φ___⊂)__ \_______________
           /旦/三/ /|
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
0386デフォルトの名無しさんNGNG
これで166が正真正銘のドキュソであることが証明されたと思うがどうか?
…そんなこととっくにわかってるって?(藁
0387166NGNG
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)<  はぁ?ドキュソ?馬鹿じゃねーの?日本語ちゃんとしゃべれ(ププ
             _φ___⊂)__ \_______________
           /旦/三/ /|
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
0388デフォルトの名無しさんNGNG
>>180 名前:166投稿日:2001/04/01(日) 01:35
>>  しゃ〜〜ねぇなぁ。俺がCでテトリスを作ってみるか。
>>  まっ、2,3日待ってろや。作ってくるから。
>>  口だけの誰かさんと違って、やれると分かればやってやるぜ。
>>  覚悟しとけよ、>>173

今から考えると、エイプリル・フールだったんだね。

0389166NGNG
>>388
                Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                ( ・∀・)<  気付くのが遅いね。っつーか、とっくに俺はJavaで組むって逝っただろ?
             _φ___⊂)__ \_______________
           /旦/三/ /|
        | ̄ ̄ ̄ ̄ ̄|  |
        |熊本みかん|/
0390デフォルトの名無しさんNGNG
PCしか環境知らないドキュソにアホ呼ばわりされたくないなあ。
で、煽りって楽しいかい?
0391166NGNG
をいをい、俺はWSも経験済みだぜ?
UNIX系も使ったことがある。
いい加減てめーらより経験と技術があることに気付けよ。
このままじゃピエロだぜ、あんたら。
0392デフォルトの名無しさんNGNG
ローカルルール: 166は死んでください。

166の場合、技術だの経験だのより前の問題だろう。
うざったいったら。
0393デフォルトの名無しさんNGNG
すっかりこの板で知名度ナンバーワンのコテハンさんですね。
0394166NGNG
                 _  ,,. -―‐-.、.__
                ,.-'" ̄  ``'´     ,;:‐`ー--、
             /       ´'´          ``-、
           /     __..._       ,..´ ̄``ヽ、. ::、\
              /   ,.-'´         `       \、;::、、ヽ
           /  ./     ,,..  _    __,,,,,、、. .. \;;:: : ヽ
          i   /  ,  ,/ / ,/ .; 、、``\ヾヾ、、.::.\;;;: .|
            |   / , / .:/.,;.;イ/ . / ' .:;i: l. !: i lヾヽヽ;: ヽ:: ヽ;;: :|
            ! ./././/.:/;;/'//: ;//.::::/;. ! |:: |:|、ヾ、;;:.. ; |;. : |;;;:. |
         | :|;/.//.:/.:/X..、|:l|;;/:/,:::;イ:;: |/|:::|リヽ:|;,ヾ;:;..;:|;,;: .:|;;: |
           |  l///,;/,;/∠≧ミ/|イ;:://;'.イ/|;:|l_-‐|;||:; |;:; : |;.:;:. !;;、|
        | .;::||1 |;;;|;//'7::::::OミN:://イノ∠キ'<´|;:||:; |;: : :|;;:;: ;|;;|;|
          !.;/:::||; |;;|/〈l |:::::::::q l レ`/ノ"|::::::○、ミ|;/|:: |':;.:::|l;;;:: ||:|l|
         |;イ;:::;;|ヽl;N  O:::::;ノ     |:::::::::9 | l' /|:ノ::i: :|l;; :;イl| |
         /'/;:::|;;;::ヽ、;ヽ  ニニ      O;;::;ノ ''"/;;レ::/ , |;;: /ノリ |
       /"|/'´|,'|:: lヽヾヽ〃〃      ‐-ニ  /ノノノ; //'イ、 ノ ´
     /∧ ’  レ|::∧`|i、`       l  〃〃 __/彡ノ,イノノ;;;;|ヽ    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     // l    V レ|;!、l、 '⌒`ヽ、_     ノ;//ノィ1'|;ll;)ヽ|\   < ねぇねぇ、私を馬鹿にしておもしろーいぃ?
    lV、  l      (|レ\l\     ``_.. -'´|;イイ;;ィ∧;:|`リ'`_ヽl    \__________
    ! ヽ\l      | ヽ|   ヽヽ、__...-7´   X/|ル' ∨ ノイ´∧
0395デフォルトの名無しさんNGNG
>>166
被害者妄想の加害者って、通り魔とか、ストーカーとかに
共通の資質だよ。悪いこといわないから改めた方が良いよ。
0396166NGNG
それでは問題。
私が一体何の加害者になった?
ん?ん?ん?
私は誰も攻撃をしていません。
攻撃をしてくる人に対して、防衛をしただけです。
あなたこそ、加害者なのに被害者妄想をしているのでは?
0397デフォルトの名無しさんNGNG
そういえば、日清から10年保存計画カップヌードルでたよね。
0398166NGNG
>>397
だからなんだ?
プログラムを組んで10年保存計画のカップヌードルを作れってか?
そりゃ無理だ。
0399デフォルトの名無しさんNGNG
>397
俺5個買った。10年後プレミアつくかも
0400デフォルトの名無しさんNGNG
10年後も同じ物が売られていると思われ(藁
0401デフォルトの名無しさんNGNG
>>166
いちいち煽りに反応すんなっつの。
あんたの言う「防衛」は無関係の人間にダメージが来るんだよ。
0402デフォルトの名無しさんNGNG
>>396
貴様が延々とスレ違い&勘違いのレスを付けまくってるから、本来のスレのお題から
遠くかけ離れている。
このスレの本題を必要としている貴様以外の利用者に対するテロ行為だ。
今すぐ回線切って首を吊れ。
0403デフォルトの名無しさんNGNG
せっかくの初心者スレだったのにな。
0404デフォルトの名無しさんNGNG
まったくねー、質問しづらいよ
0405166NGNG
あれ?だって・・・
http://piza.2ch.net/test/read.cgi?bbs=tech&key=981630730
こっちに移動したんじゃないの?
何今更俺に文句たれてんだ?
0406デフォルトの名無しさんNGNG
これから166がVC++初心者にいろいろ教えるスレにしてしまうと
いうのはどうだ?(名スレの予感)
0407166(氷川きよし)NGNG
やだねったら、やだねぇ〜♪
0408デフォルトの名無しさんNGNG
>>405
そりゃアロエリーナが仕方なく機転きかせたのでは?
だいたい原因は……

VC++ってちょい特殊だから、初心者の方はとっかかりづらいはず。
特に習いはじめは他の環境に比べ、厨房質問せざるを得ないと思う。
そういう意味で貴重なスレだったのです。ま、いいけどさ。
0409デフォルトの名無しさんNGNG
うわ、すげえバカだな166は。
プログラマ板で紹介してえ・・・つってもタダの春房だしな。
久々に覗くとびっくりするね。(やっと地獄終わりました)

ところで、まともな質問ないの?
0410166NGNG
ふっ、偽物の166がいるから、馬鹿に見えるんだよ。
本当の166、つまり俺は馬鹿じゃないぜ。
知恵も知識も経験も技術も、偽物よりかは遥かに上だ。
0411デフォルトの名無しさんNGNG
166の台詞を他人に話した場合・・・
割りと親しい人・・・「はぁ?つーか、おめぇアホか?」
一般的同僚・・・「るせぇ!死ね!」
上司・・・「ちょっとそこ座れ!」
シャチョー・・・「君、要らないよ。クビ」
赤の他人・・・「はぁ・・・そうですね。(こいつとは仕事したくねー)」
うそだと思ったら言ってみ。責任は取らんけど
0412166NGNG
ふっ、私が社長だ。
我に従わぬ者、要らぬ。
0413デフォルトの名無しさんNGNG
倒産間近
0414デフォルトの名無しさんNGNG
つーかみんな、カレーのルウは何派?俺はこくまろ。
0415166NGNG
んじゃ俺は歌まろ。
0416デフォルトの名無しさんNGNG
>414
あれもうまいけどゴールデンカレーのほうが好きだな。
0417166NGNG
キーコーヒーのカレー缶。
インスタントのやつはもうあれしか俺の口が受け付けない・・・。
0418デフォルトの名無しさん NGNG
すんません。switch文でDelphiでは
case 1..9 : break;
ってカンジで「nが1〜9の場合は」というように範囲を
指定できるんですが、C++で範囲指定するには
どうやって記述したらよいのでしょうか?
0419デフォルトの名無しさんNGNG
break; をはさまずに
case 1:
case 2:
case 3:
foo();
break;
default:
bar();

という風にするしかないのでは?

0420166NGNG
こんなんじゃダメか?
(コンパイル、動作確認済み)

#include <iostream.h>

int main(void)
{
int n;
cout << "Input n > ";
cin >> n;

switch(n) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
cout << "1 <= n <= 9 \n";
break;

default:
cout << "n < 1, 9 < n \n";
break;
}
return(0);
}
0421166NGNG
switch じゃなきゃだめなんか?
if(条件文)でやった方が良い様な気がするが・・・。
0422166NGNG
http://www6.freeweb.ne.jp/computer/felmata/cpp2.html
検索してみたら出てきた。
0423デフォルトの名無しさんNGNG
常駐DLLを登録したいのですが、
レジストリのどこのキーをいじくればいいんでしょうか?
0424デフォルトの名無しさんNGNG
>>418
DelphiじゃCase ofでbreakは要らない筈だが・・・

>>423
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
じゃなかろか?

あるいはDLLをOLEオートメサーバとして作って
regsvr32 hoge.dll
かも。
0425デフォルトの名無しさんNGNG
えっと、そういうものじゃなくて、プロセスが作成されるときに、
自動でプロセスにアタッチされるようにしたいのですが、、、、
0426423NGNG
プロセスが作成される時というか、作成されるたびです
0427デフォルトの名無しさんNGNG
>>422のリンク先
>ifやLoop(後にやります)では一行だけ実行する場合、
>カッコは必要ないのです。複数行実行する場合のみ、カッコが必要になります。
>これを知っていれば、より奇麗にProgramが書けるでしょう。

これさえなければ無害なページだったんだが…
0428C++--=CNGNG
>427
どこが駄目なんですか?
0429デフォルトの名無しさんNGNG
垂直スクロールバーのつまみの位置を、一番上にするには、どうしたらいいのでしょう。
0430デフォルトの名無しさんNGNG
>>428
デバッグの時、見つけやすいから行はなるべく分けろ、と
言われたことない?
0431デフォルトの名無しさんNGNG
>>429
MSDNでWM_VSCROLLとかSetScrollPosとかを調べれ。

>>428
「一行だけ〜」とかって書き方が有害。
Cの構文解析に「行」という概念が無いのは知ってるな?

ex)
&nbsp if ( boolean )
&nbsp a=0; b=0; /* 一行には違いない */
&nbsp else
&nbsp a=1; b=1; /* 同上 */
0432デフォルトの名無しさんNGNG
やっぱ「文」でしょ。

a=0, b=0;

とか。
0433デフォルトの名無しさんNGNG
>>428
ついでに言うと、{}がない方がソースが綺麗であるという思い込みが痛い。
0434254NGNG
>>433
あまりにも痛すぎるね。
正直、一緒にはプログラムを組みたくないタイプです。

(とか言いながら、四則演算に括弧付けまくり厨房ですが。
0435デフォルトの名無しさんNGNG
ついでに言うと、そんなページを見つけてきて嬉々として初心者スレに
貼り付けるあっちの166も痛い(ワラ
0436デフォルトの名無しさんNGNG
昔fj.comp.cを賑わせたなまおクンのクソ講座を彷彿とさせるね。
あそこまで痛くはないけど。
つか、無料webスペースでC/C++講座とかやってる奴ってどうしてこう
どいつもこいつも痛いのか…いかん、スレ違いだ。
0437166NGNG
>ついでに言うと、そんなページを見つけてきて嬉々として初心者スレに
>貼り付けるあっちの166も痛い(ワラ

をいをい、おめーら。
ヘボいページを探した俺をどうこう言うなよ(笑)
参考になりゃ良いんだろ?
別に俺は上のページを推奨しているわけでも、
「嬉々として」いるわけでもねーしよ。
俺が質問しているやつに参考にさせたのは、
あくまで switch() case: の部分だ。
その他のやつの記述方法になんて気にしちゃいねーよ。
人の勝手だろ?出来れば良いだろ。
推敲なんてあとでやれば出来るんだしさ。
初心者を相手にあまり難しい論議しない方が良いんじゃねーの?
俺は初心者を相手に良く指導してやったからな。
初心者にとってどこがよく分からないのか、
その辺はある程度は理解しているぜ。
0438デフォルトの名無しさんNGNG
>>435
でも以前の166よりいい方向だし、オレは評価するべきだと思う。
言っとくけど166の自作自演ではないよ。166に対する
きつい内容のコメントは何度かした。
0439438NGNG
書いたそばから・・・(あぁ)
0440166NGNG
をいをい、やめてくれよ。
俺と俺の偽物を区別できずに、ただ
俺を批判したやつ、そっちの方が痛い。
分かった口聞くな。
せめて確実に見分けが出来たら、
偉そうなことを言え。
ちっ、どいつもこいつも。
てめーの都合ばっかで言いたい放題言いやがって。
0441438NGNG
>>440
偽者に対する批判は166本人への批判には値しないと思うぞ。
その誤解を招きやすくおもちゃにされやすいキャラを改造する
のは後回しでいいのでスレの趣旨に沿った書き込みすれ。
0442166NGNG
            _  _                   
            ,//,ノノ _          
            ノノノノ,//         
          /″ ゞ ソ--、        
        _ _人 と″< ̄丶     
       λヽ\ヽ__ノゝつ       
      /ゞ\\γ          
    /゙    ゞソゞ            
  /′ ′  /               
 γ  ノ′  /   
 |   ク  /                      / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
│    イ′       /~~⌒~⌒~⌒~ヾ    < 問答無用!この俺をだましたこと
λ  γ⌒ヽ      /            )     \地獄で後悔するがいい!!!!
ヽζ τ,   \    (   /~⌒⌒⌒ヽ )      \__________
  ヘ   ゙   < ̄⌒ヽ (  ξ;;  、  , |ノ     
  \    ,,;;:  γ ( (6ξ--―●-●|κ~ ̄`ヾ_   メキメキメキメキ
   \   ″  /゙  \ >、 ;  ) ‥ ) :::  γ⌒⊇                 n _
     \_ヘ  ノ    ゙ >\ _  ー=_ノゝ:;、, /´″  ヽ               |;| |;| ;_
       \_ <《  ;::゙γ~/∠″─-斤ソ′∨″ミ_    }               ノn」」ノノ,-
        \ :ケ″ι/ √ γ ̄「 /´  (      人_              /ソ斤ソ//
         ヘ′,  」 |   ;  { /゙   _;:;>へヾ  i/λ          √N/  γ i′
          ゝ;::゙ │L_ ; _;」 {゙_:;_;<  ::;゙(   i/ ∠ ヽ_ _,、─==゙゙ ̄ ̄‖|||、   ) }
           \ { L;;_λ__;;ヘ∨   :;;゙゙へ/′/   Y″  、、    ‖|├ = =″
            κ { |;ゝヘ二_:;;ゝ\_;::;″  ><″=;:,, : _ _;  イ    ≠U丿
            Λ ,ヘ∨;;ヘ __:;;;人| \_;゙γ″:;::;;ゝ ″  ::;ミ ′   /
           (  人\;;;;ゞ、;;/   ) ) 」 ::ノ ″←< _= ─ ゙゙
                                 ヽ--~
0443デフォルトの名無しさんNGNG
166の時点で十分痛いっつーの>>440
それ以降は166のパロもあるだろうから本気にしてるヤツァいない
(いたら相当痛い)
だが、441の言うとおりだ。166問題は終わりにしよーぜー
ネタスレじゃなかったんだからよ
0444166NGNG
     _ _――_\⌒))
    _>           ⌒ヘ
  ̄―                ⌒ヽ
  ∠⌒   ,  ,             ミ
   ∠  _|/ |/ | ∠ / |/)     ヽ
    //|-‐(‐ |/´‐/ノ‐∠     \
    ´/ )√Tt)  /^Tt> | ||ヽ ミ⌒
    //::{〃〃、  〃〃 | .|.ノ!ノ
  ,< /   \  ‐‐   ノ|. |
ミ</      _厂Y ̄ ̄ |. |
彡    \ ̄ヽヽ      |. |
痛いの痛いの、飛んでけぇ〜〜♪
0445デフォルトの名無しさんNGNG
あーあ・・
せめて下げて書こうよ
0446デフォルトの名無しさんNGNG
>>440
へぼいページが参考になると思いこんでる166が痛い。
0447166NGNG
>へぼいページが参考になると思いこんでる166が痛い。
それだよそれ、勝手に決め付けて煽るやつ。
だったらてめーがもっと参考になるページを見つけて、
嬉々とすればぁ?
別に俺はあのページが参考になるなんて言ってないぜ?
switch case: のところの例としてあげただけだ。
バーか。
0448デフォルトの名無しさんNGNG
バカはお前だ。へぼいページへのリンクをそのまま貼り付けて「例としてあげた」とは片腹痛い。
例として不適切かどうか評価してもいない(できない)くせに大きな口を叩くな。
0449166NGNG
大口なんて叩いた覚えはないし、
switch case:の例としては別良いと思うけど?
っつーか、そのページに問題があるなら、
直接そのウェブページの管理人に言えよ。
俺がヘボイんじゃねーんだからさぁ。
0450166NGNG
>>448
批判するだけの能無しはてめーだな。
そんなに五月蝿く言うなら、てめーがこれはいける!
っていうページを紹介しろよ。
無理ならてめーがサイト開け。
それくらいして、相手を満足させたら、大口叩け。
0451166NGNG
俺はもうここへは書き込まないからな。
下らない煽りをするだけの、自称プログラマになど
相手にしてられないからな。
言っておくけどな、俺はおめーよりは経験も技術も知識も
ルックスも全て上だ。これだけは揺るぎ無い事実だ。
0452デフォルトの名無しさんNGNG
>>450
批判するならお前がやれ、と言う発想が痛い。
「ない方がマシ」という現実を知らないらしい。
0453デフォルトの名無しさんNGNG
>>451
仕様と実装の区別が付かない厨房が偉そうだな(ワラ
0454166NGNG
これで最後。
>「ない方がマシ」という現実を知らないらしい。
お前みたいな煽るだけの発言の方が
「ない方がマシ」という現実を知らないらしい。
0455デフォルトの名無しさんNGNG
166必死(プ
0456デフォルトの名無しさんNGNG
>>451
頭悪いセリフだな。(ワラ
>>454
「最後」の意味を知らないらしい。
回線切って、首吊ればぁ〜?
0457166NGNG
>>456
   ..      ./ ./  ,  / i" ./i 'ヽ \ \-, ,  ヽ  ヽ
          | ./  /  / /| ./ |  lヽ | ヽ \ヽ \ |\ ヽ
          |/  ,///' =, |/  |. \ヽ|,,,ヽ|,|,- |  ヽ. ヽゝ ちょっと、さっきから
          / /l/ i/ /,,-^~'''=-ヽヽ  |.-='''~^ヽ,\ヽ i  |  166を煽っているあんた!
          |/ ,i  | .ii  i,ノii    \|  il,ノ;i ii> '' i-,|  | 人に嫌な思いをさせて楽しい?
          ヽ.|| ,/ヽ ' ヽ-'    /     '''''''   /i.)|ヽ/   暴走族を煽ったことで、
          '|| | |'^ヽ       ’        | |,/ノ    煽る行為は問題になって、
            ヽ'-/ヽ    ./~^'''^~"ヽ    / .|'/     罰金を取られるんだよ?
            '  | ヽ    i /~~~~~'''|    / | |     調子にのってんじゃないわよ!
              | |'ヽ,,  .ヽ    ./    /  | l   あんたがどれくらいプログラムに
              i | i,,~=,,, . ̄ ̄ ̄  ,,,=',/i ヽi |  精通しているか知らないけどねぇ、
           _ヽ,,-.., ̄ i~=,   ,,,,-" |   .| |  i  調子こいてんじゃねぇ〜よ。
        ,-^~~ /'~   ヽ,,-|  ~ ̄~~  .|,,  ヽ| /  そんな下らない煽りして、
       /'    |     | -,,      | ~ヽ. |/,,,,-----,,   あんたの人間としての価値を
       .i     ヽ    |l  ~^--,,,,,    ,,,, ~~'~     ~^^-,,,  下げたいわけ?
       .|      ヽ    .|i      i /"^            ~^=-,,, やってて惨めでしょ?
       ヽ   ,--=='ヽ   ヽ-,,                      ~=  批判ばっかで役に立たない、
       /  ./   'ヽ,,     ''';;,       _                そんな書き込みは要らないのよ。
       l ,,-''     i '      ^-,,  ,,,--~ ~~ヽ.              え〜と、ゴホン!!
        ヽ'  ヽ,   i|   /    ~=~      /   ,/           いっとくけど私は優れたプログラマじゃ
        ,-|   il    |l /           ,,-~  ,-~~^^=-,,,,       ないけどね、まぁ、つまりその、
       / i|   .l|    |i'     ,,,,,--_,,,,,,--~──-i /     ~^^=--,,  人生の先輩からのアドバイスって感じ?
0458デフォルトの名無しさんNGNG
コピペ厨房逝って良し

166が最後って書いたのは、学校が始まるからだろ。厨房だもんな。
0459デフォルトの名無しさんNGNG
学校はもう始まってるんじゃないの・・?
0460デフォルトの名無しさんNGNG
つうかいくらルックスがいいとか、技能が上とか、妄想連呼しても
最後にアスカコピペで尻尾だしてるぜ(藁)

つーかお前の負けは最初にCでテトリスつくりてぇとか言った時点で
予定調和なの。わかりる?
0461デフォルトの名無しさんNGNG
>>458-460
批判ばっかで役に立たないレス
0462デフォルトの名無しさんNGNG
461==166
0463254NGNG
あーあ。
テトリス、影ながら期待してたのに。
結局作らないのか。

なんかがっかり。
してしまった。
鬱だ。
0464デフォルトの名無しさんNGNG
__int64を編集できる関数って、sprintfだけなんでしょうか?
0465デフォルトの名無しさんNGNG
>つーかお前の負けは最初にCでテトリスつくりてぇとか言った時点で
>予定調和なの。わかりる?
批判ばっかで役に立たないレス認定。
0466デフォルトの名無しさんNGNG
>>465==166
通常、批判するのは「役に立つ行為」とされています。
放っておけばマイナスなものを否定して、少なくともゼロにしようとするのは
「建設的な意見」です。
0467デフォルトの名無しさんNGNG
>>464
数値を文字列に直せるってことかい?
一応 _i64toa なんてのもあるよ
とまじめな回答をしてみる、、、がsage
0468デフォルトの名無しさんNGNG
>>466
ダメだこりゃ、ダメなことをする奴は馬鹿にしてやる。
という考えが建設的か・・・。
むしろ破壊的じゃないか?
0469464NGNG
>>467
ありがとうございます。
0470デフォルトの名無しさんNGNG
現に、煽っている奴は何が悪いのか、何が良いのか
なんて逝っていない。
ただあのページが悪い、あのページを紹介した奴は馬鹿、
へぼプログラマだと言っているに過ぎない。
誰もあのページを推奨してないのにね。
まっ、ヘボプログラマしかいないここじゃしょうがないか。
まっとうなプログラマなら、もっとちゃんとしたところで
意見交換しているだろうし。
0471デフォルトの名無しさんNGNG
>>470
あなたが何を読んでいるのか解らない
批判している点は、
if
の後に {} を付けない事を当然だと言っている事であって、
(プログラムの表記法に、色々あるからね)
それ以上でも、それ以下でも無い。

166が「自分は凄いプロクラマーだ」とか言って、
書込みしている奴を馬鹿にしておきながら、
挙句の果てに、
もっと良いページ教えろ
だとかのたまう。

それを痛いと言っているだけに過ぎないのだよ。
0472デフォルトの名無しさんNGNG
166が参考にさせたのは
switchだろ?他は関係ねーじゃん。
それを批判することで、166が馬鹿?
何言ってんだか。
0473デフォルトの名無しさんNGNG
他は関係ないとは書いてないぞ。
一応初心者スレなんだから、視力の問題で気付くようなダメな点は
あらかじめ書いておくべき。そうでなければ貼るべきではない。
0474デフォルトの名無しさんNGNG
>>468
いいえ。ダメな奴を放っておくと、分別の付かない人が感化されてダメになる可能性があります。
それを積極的に排除しようとするのは建設的な行為ですよ。
0475デフォルトの名無しさんNGNG
166を擁護する奴は全員166だと思うが、何がまずいか教えてやるよ。

テトリスの作り方教えてとかいう奴が、結局の所
俺のルックスは良いとか、テクはすげぇとかいうのが、
「人として」おかしいだけなんだよ。

行動の仔細はともかく、俺は人として166が嫌だ。
どうだ?簡単だろ?まぁ166はおかしいと思わないから平気で
そういう事やるんだろうけどな。
0476デフォルトの名無しさんNGNG
手
リス
0477デフォルトの名無しさんNGNG
>>475
なんか解りやすい。
ついで、激しく同意

0478デフォルトの名無しさんNGNG
「C言語でテトリス作れますか?」なんていう厨房丸出しの質問する奴が
他人の質問に答えるなんて思い上がりも甚だしいね。
勘違いもここまで来ると見事だよ。
0479デフォルトの名無しさんNGNG
つーわけで166は氏ねや(藁)
0480デフォルトの名無しさんNGNG
ちんこかゆい
0481デフォルトの名無しさんNGNG
ついに荒らし始めた166!
0482デフォルトの名無しさんNGNG
うざうざうざうざうざうざうざうざーーーーーーーー
おまえらつまんねえよ。もっと面白い事欠け・
0483デフォルトの名無しさんNGNG
あじゃぱー
ぶるばきゅーん
0484デフォルトの名無しさんNGNG
今は嵐が通り過ぎるのを待つしかないか。
0485166(再)NGNG
うるせ〜、俺はルックスが良いんだ!
経験も知識も技量もあんたらより上のはずだ!
どうだ、参ったか!?
参ったらもうこんなスレあげんなよ。
0486デフォルトの名無しさんNGNG
もういいから気の済むまでやってくれ。
その哀れさが滑稽でいいよ。
C言語でテトリス作れるかどうかもわからん厨房の166クン(ゲラ
0487166(再)NGNG
実はもう出来ていました(^^*
0488デフォルトの名無しさんNGNG
で、ブロックを回転させる関数は見つかったのか?(ププ
0489166(再)NGNG
ぷっ、ブロックを回転させる関数だって(プ
分かってねーのはあんたの方だって証明している
様なもんじゃん。墓穴掘ったなあんた>>488
0490166(再)NGNG
っつーか、ブロックを回転させる標準関数があったら教えてくれよ
m(_ _)m
0491デフォルトの名無しさんNGNG
>>488が煽りだと気付かないカコワルさ!166マンセー!!
0492デフォルトの名無しさんNGNG
リッチエディットのフォントのサイズ設定の方法教えて。
EM_SETCHARFORMATのCHARFORMAT構造体のyHeightメンバでサイズ設定するんだけど
単位が twip ってので良く分からん。
ピクセル単位で指定したいんだけどそういう場合はどうやって単位変換するんですか?
16ピクセルのフォントサイズにしたいんですけど。
やり方教えて。
0493166(再)NGNG

  , ´ ̄´ヽ`_
 ▲  ° °`ヽ  / ̄ ̄ ̄ ̄ ̄ ̄
 ■|     ●| < むにゅ!・・?
 ▼ノ-_ω__ ノ   \_____
    ノ━|
    /  |
   / | | |__
  _|__L_,)_)_,)
    γ´ ̄ ̄ ̄ ̄ ̄ ̄ ̄ヽ
    ( GOOD GRIEF!)
     ゝ________ノ
      ∩  〇
    /⌒ヽ o
    |    |      ll´|
    / -  (ヽ/ ⌒ ヽ || .|
   (     |   ̄)└' |
    / ̄| | ̄ ̄ `´ ̄ ̄ ̄ヽ
   /__| |________ヽ ,-^ ' -,   _, -- 、,,
   /   ∪          ヽ    >`^ '    ';., ; '' '
  /___________ヽ
  /                 ヽ
 /____________ヽ
    |               |
    | ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
0494デフォルトの名無しさんNGNG
春ですねぇ
0495デフォルトの名無しさんNGNG
なんでこんな滓を大切に保護して育てようとしてるんだ?(・∀・)ジサクジエン?
もっと天然で面白い素材は他にいると思うんだが
0496166NGNG
今まで皆さんすいませんでした。本当は僕は高校受験に失敗したんです
そのイライラでこのスレを荒らしてしまいました。

中学校の頃、ゲームデザイナーにあこがれてプログラムをかじり
始めたんですけど、僕のコンピュータはファミコンに繋ぐ奴だったので、
LINE文がなくてすごいみんなにヴァカにされたんです。

それでCをマスターしただとかjava知ってるとか言ってみたかったんです
最初は、Cとかjavaが使えるだけで英雄になれると思ってたんですが
(僕の周りはそうなんですけど)ここのスレのみなさんは優秀みたいで
本当に僕のレベルが低いんだなと、いまでは反省しています。

反省してますので、テトリスの遊び方を教えてください。
0497デフォルトの名無しさんNGNG
みんな、ヨモギもちもちっていう日糧の菓子パンうまいぜ。おらぁこれ一発でハマってしまったあ。なんともいえないヨモギのかおりと粒アンがベストマッチしてる。
0498デフォルトの名無しさんNGNG
ここはマイクロソフト・ビジュアルC++のスレッド
ですよ!!!!!
0499デフォルトの名無しさんNGNG
そうだったのか!!!!
0500166(再)NGNG
>>496
ネタ&私に対する侮辱としては十分過ぎるほどだ。
あとで何が起こっても知らないよ。
0501デフォルトの名無しさんNGNG
俺は200以降ご無沙汰だったんだが、
166は面白いやつだな。っていううか
単独だったらつくづくオメデタイ奴だ。
久しぶりに笑わせてもらったよ。
また しばらくしたら見てやるから俺を
笑わせてくれ。プログラムするより
エンターテイメントした方が性に合って
んじゃねぇの。
0502166(再)NGNG
>>501
煽りとしては申し分ない。
だが、あとで何が起こっても知らないよ。
あんたの身にね・・・。
0503デフォルトの名無しさんNGNG
サブルーチンを作るのにgotoを使うのはやはり逝ってよしなんでしょうか?
つーかgotoって何のためにあるの? 使った瞬間に厨房呼ばわりされるんだけど。
0504デフォルトの名無しさんNGNG
501はパカ
0505166(再)NGNG
くっくっく、そういうことか・・・。
いい気になって俺を煽って、楽しかったかい?
もう手遅れだよ・・・。
0506>503NGNG
gotoは普通使わないけど、どうしてもっていうなら別に構わないよ。
でもそのコードを他人に公開したりするのは避けてね。メンテナンスが困難だから。
プリプロセッサ的なツール(inlineやcfrontなど)はgotoを出力する場合が
あるけど、そういうのは例外。出力結果を人間が見るわけじゃないからね。
gotoの話はFAQとか見た方が良いかも。
0507なNGNG
>>503
使い方の問題だと思う。
昔、gotoを使わないことにこだわってた時期があったんだけど、
gotoを使った方がソースが見やすいこともあるってことに気が付いてから
気にならなくなったよ。

こんな感じ

bool func()
{
bool result = false;
FILE* fp1 = NULL;
FILE* fp2 = NULL;
char* buf1 = NULL;
char* buf2 = NULL;

if ( (fp1=fopen(path1, "r") == NULL )
goto error;
if ( (fp2=fopen(path2, "r") == NULL )
goto error;
if ( (buf1 = new char[128]) == NULL )
goto error;
if ( (buf2 = new char[128]) == NULL )
goto error;

result = true;
error:
if ( fp1 ) fclose( fp1 );
if ( fp2 ) fclose( fp2 );
if ( buf1 ) delete buf1;
if ( buf2 ) delete buf2;
return result;
}

goto 使わないで書くとエラー処理が複雑になりそうでしょ。
似たようなことがどっかで書かれてたらゴメン。
0508503>507NGNG
その話題やめといたほうがいいよ。変な方向に話が行きそうだし。
初心者に例外処理なんて言ってもわかんないんだから。
503の様な初心者はgoto禁止です。
0509508NGNG
506>507でした。utu.
0510デフォルトの名無しさんNGNG
例外使えよ〜〜〜〜
gotoいらんぞ
0511デフォルトの名無しさんNGNG
166こいつ最後訴えるとか面白い事言い出すんじゃねぇの(藁)
まぁせいぜい高い金払って裁判でも起こせや(藁)

そんなんで引っかかるような事最初からしないしな(藁)
つーか、166とかいう詳細不明なコテハンで損なう名誉なんかねぇよ(藁)

まぁ厨房だからわかんねーか。
だからテトリスも作れないんだけどな(藁)
つーか悲惨な166のいるスレ認定だな。こりゃ(藁)

で、166よ。どうするつもりなんだ?(藁)
なんぼでもかかってこいや(藁)
0512デフォルトの名無しさんNGNG
たぶん、本物の166はもうここには居ませんよ。
残るは、彼の意志に感化された彼の亡霊だけ...。
何が起こるかは、たぶんディスプレーから飛び出して、
取り憑くとかするんでしょう。(w
0513デフォルトの名無しさんNGNG
>>511
あんた、テトリスつくれるか?
作れないならでけー口叩くなよ。
裏の世界は怖いぜ・・・。
0514デフォルトの名無しさんNGNG
テトリス?わらわせんなよ。
もっとすごいの作れるって。

裏の世界か・・・・・・
俺はその世界の住人なんだよ(藁)
ハクとかはしないけどな。
0515デフォルトの名無しさんNGNG
そのあんたがもっとすごいと思っているものが、
テトリス以下だったら笑ってあげるよ。
ハクとかはしないけど裏の世界の住人?
ただのワレザーだろ?
0516デフォルトの名無しさんNGNG
>>514
アウトロー板住民が混ざっているな
>ハクとかはしないけどな。
0517デフォルトの名無しさんNGNG
>>515
ワレズを裏と思ってる厨房発見!晒し上げます!
0518デフォルトの名無しさんNGNG
ほぉ、それじゃワレズは裏じゃないのか?
表で堂々とやれよ。
それで告発されてる奴、結構いるみたいだよ。
2ちゃんでもワレモノを扱っている掲示板を紹介されて、
潰れたサイトをいくつか見かけたことがある。
ワレズを裏だと思わない厨房はあんただ。
皿仕上げだなこりゃ。
0519デフォルトの名無しさんNGNG
>ワレズを裏と思ってる厨房発見
っていうか、これってちょ〜〜問題発言じゃん。
0520デフォルトの名無しさんNGNG
>>518
ワレズは犯罪だが、あんな低レベルな物を「裏」っていうな。
犯罪って言えばいいだろ。程度低いなぁ。
0521デフォルトの名無しさんNGNG
>>520
では、その審議を論議させて頂きます。
0522デフォルトの名無しさんNGNG
なんだよ「裏の住人」って、裏通りにでも住んでるの?
読んでるコッチが恥ずかしいよ。
0523デフォルトの名無しさんNGNG
俺はお前の方が恥ずかしいよ。よくいきてれるな。市ね
0524デフォルトの名無しさんNGNG
>よくいきてれるな。市ね
ろくな日本語を使わないねぇ。恥ずかしい。
ワレズが裏じゃないって言いきったあんたの負け。
犯罪だぁ?当たり前じゃん。裏の世界は犯罪が
絡んでるから裏って言うんだよ。
0525デフォルトの名無しさんNGNG
ぉぃぉぃ166必死だなぁ(藁)

まぁ別に負けでもいいよ。お前のレベル低いのはかわんねーし(藁)
0526デフォルトの名無しさんNGNG
でた!「裏の世界」

あんたらワイてんの?
0527デフォルトの名無しさんNGNG
裏の世界の住人はやぱりガウンに葉巻にブランデーですか?
膝の上にはペルシャ猫ですか?

おもしろーい。
0528デフォルトの名無しさんNGNG
おもろーい
0529デフォルトの名無しさんNGNG
都合の悪いことはすべて166のせいにするあんた、
あんたこそ低レベルだね。いつまでも166がいると
でも思った?
0530デフォルトの名無しさんNGNG
>>529

ぼくも、うらのじゅうにんになれますか?

P.N.ふうせんおじさんのむすこ エスキモー(5歳)
0531デフォルトの名無しさんNGNG
166がとぼけてるぞ(藁)
0532デフォルトの名無しさんNGNG
>>531
分かっていないのに、分かったフリしている
あんたが見苦しい。負けを認めろ。
じゃないと恥さらしになるだけだぞ。
0533デフォルトの名無しさんNGNG
>>529
>いつまでも166がいるとでも思った?

166はいつもみんなのこころのなかにいます。
0534デフォルトの名無しさんNGNG
裏の世界の住人は怖いんだぞ。
違法コピーもやっちゃうぞ。すごいぞ。

裏の世界の住人は偉いんだぞ。
誰よりもレベルが高いんだぞ。とにかく高いんだぞ。
0535デフォルトの名無しさんNGNG
裏の世界の住人は強いんだぞ。
負けても負けないんだぞ。無敵だぞ。
0536デフォルトの名無しさんNGNG
>>532
「何を」わかったふりしてるって?
「負け」って何?

166必死だなぁ(藁)
最後って書いたくせにどうなってんの?(藁)
0537デフォルトの名無しさんNGNG
遊ばれてるのー分からないなんて、かわいそうだわー♪
0538デフォルトの名無しさんNGNG
さんねんめ〜のうわきぐらい、おおめにみろよ♪
0539デフォルトの名無しさんNGNG
>>537
歌詞が違うぞ

晒し上げ
0540ホントだ間違ってるよNGNG
遊ばれてるのー分からないなんて、かわいそうだよー♪
0541デフォルトの名無しさんNGNG
166晒し上げ(藁)
0542デフォルトの名無しさんNGNG
514は裏ビデオに出て掘られたってことだろ?
0543骨NGNG
ネット上で勉強できるいいサイトありますか?おしえてください。
C++かJavaでもいい。
0544デフォルトの名無しさんNGNG
ネット上で開かれてる講座とかは独りよがりで有害なのが多いからあてにしない方がいい。
本でも同じと言えば同じだが、「この本はダメ」という情報はあちこちにあるので
それらを参考にしてダメじゃない本を買ってきた方がいい。
0545デフォルトの名無しさんNGNG
>>543
ttp://www.kumei.ne.jp/c_lang/
ttp://www1.kcn.ne.jp/~robe/cpphtml/index.html
ttp://hp.vector.co.jp/authors/VA000124/index.htm
C++のみだが参考にどうぞ。
Java関係はあまり良いものが無かった。
0546( ´�D`)NGNG
Cでsocketとか使ってメール受信プログラムを作ろうと思うんですが、
参考資料が少なくて困っています。いいサンプルか解説ページあったら教えてくらさい
0547デフォルトの名無しさんNGNG
>>546
http://doobie.iq.nanzan-u.ac.jp/goto-classes/comm-grad/rfc1939-jp.html
http://www.luice.or.jp/~obata/imap/rfc/
0548デフォルトの名無しさんNGNG
>>544 こーいうところのことか?
ttp://park.ruru.ne.jp/ando/work/who/

つーか俺ここのファンなんだが(笑)
0549デフォルトの名無しさんNGNG
for(;flag;){...}と
while(flag){...}の違いについて教えてください。
0550デフォルトの名無しさんNGNG
for(;flag;){...}はカス。
一応どっちも同じですけど
0551デフォルトの名無しさん NGNG
GetDCから返されるDCハンドルでは
クライアント領域をクリッピング矩形にする、
BeginPaintから返されるDCハンドルでは
クライアント領域を有効にする、
と書いてあるのですが、クリッピング矩形にする、
有効にするの違いがわかりません。
0552デフォルトの名無しさんNGNG
ダイアログベースにリッチエディット貼り付けたらコンパイル出来ない
んだけど、なんで?
0553SAGENGNG
AppWizardの時点でOLEだったかActiveXだったかをONに
しとかないとダメだった気がする。>>552
0554デフォルトの名無しさんNGNG
SYSTEMTIME同士の比較をしたいんですが、どうすればいいでしょう。
APIだけでお願いします。
0555デフォルトの名無しさんNGNG
>554

MSDNに書いてあるけど、
SYSTEMTIME型->FILETIME型->LARGE_INTEGER型って変換して、64bit同士で演算する。
0556デフォルトの名無しさんNGNG
>551

GetDC()はクライアント領域全体へ描画の準備をする。
BeginPaint()は無効領域への描画を準備して、無効領域を有効化する。
無効領域の意味を知らないと、わけわかんないだろうけど。

描画について知りたければ、MSDNの関数リファレンスを見てても、勉強にならないよ。
Charles Petzoldの「プログラミングWindows」を読んだ方がいい。

0557デフォルトの名無しさんNGNG
漏れ描画はほとんどGetDCで描いているけど変かな。
0558デフォルトの名無しさんNGNG
>>555
FILETIME型からLARGE_INTEGER型への変換方法がわからんのですけど、
今回のはそんなに厳密なオーダは要求されてないので、単純に
time_tからdifftimeというのを使ってみることにします。
とりあえず、ありがとうです。
0559デフォルトの名無しさんNGNG
uy
0560デフォルトの名無しさんNGNG
既出だったら、すみません。
これこれこういう関数が必要だというときに、どうやったら目的の
関数を探すことができますか?
例えばあるcharが、空白か文字かを見分けるときには、
isgraph()等を使うんですけれども、事前にこのような関数があることを
知らなかった場合、どうやったらその目的の関数(例えばisagraph())を、
探すことができるんでしょうか?
MSDNのcdromで検索ですか?それとも何かこのための本でもあるんでしょうか?
お願いします。
0561デフォルトの名無しさんNGNG
>>560
自分で関数作るのも1つの手段だよ。
0562デフォルトの名無しさんNGNG
>>560
せめてANSIで規定されてる分くらいはどういう類のライブラリがあるか覚えとくもんじゃないか。
うろ覚えでも0から探しまわるよりはるかにまし。
0563デフォルトの名無しさんNGNG
他力本願なのがCプログラマ
0564デフォルトの名無しさんNGNG
>>560
たいていのマニュアルは機能別索引もあるから
そこらへんから探してくれ
合うものが無かったら適当に作ってくれ
0565デフォルトの名無しさん NGNG
ちょっと素朴な疑問。
VC++の5.0と6.0って何か変わってるところはあるのですか?
0566166NGNG
はやくテトリスのソース出せや
0567名無しさんNGNG
VC6でこれは便利だという
ショートカットやTipsとかってありますか?

検索したい文字列を選択して、Ctrl+Fで
自動的にキーワードに登録されて
入力する手間が省けます。
0568166NGNG
テトリ
0569166に加勢NGNG
テ…ト…
0570166応援団NGNG
かゆ..うま...
0571166探索隊NGNG
□
□□
  □
  □
0572166応援団NGNG
□■■
□□■
 □■
 □
0573166NGNG
テ
0574デフォルトの名無しさんNGNG
相変わらず166はネタにされてるのか。
煽っている奴が虚しいね・・・。
0575>568-573NGNG
死ね
0576565NGNG
う〜……誰か教えてください…。
0577デフォルトの名無しさんNGNG
>>574
必死な166(藁)
0578デフォルトの名無しさんNGNG
>>576
変数など補完してくれるようになった。
よりNT寄りになった。
ここはもうネタスレになった。
0579デフォルトの名無しさんNGNG
>>565
色々違う。
詳しくはメーカーのサイトでも行って調べろ。
なんで今頃5.0?ワレザーか?
0580デフォルトの名無しさんNGNG
>>577
必死な166を煽ってる奴(藁)
相手にされてないからってひがむなよ(藁)
0581デフォルトの名無しさんNGNG
Cの単語帳みたいなページありませんか?
たとえば、
\n ... 改行
みたいな感じ。
0582デフォルトの名無しさんNGNG
>>581
C言語辞典という本ならあるけど
Webページがいいなら検索しろ
0583565NGNG
>>578-579
ありがとうございます。
ちなみにワレザーじゃないですよ。
CGIやってたからVCは5.0以来放置してるだけです。
0584>>565NGNG
警告が増えた。
グローバルオプティマイザのバグが増えた。
0585デフォルトの名無しさんNGNG
VC始めてようやくメッセージループとかの仕組みが
わかってきたのですが、基本的にファイル入出力とか
ウインドウへの描画とか、そういったものはMFCを
使った方が良いのでしょうか?
あと、MFCってVCで組む際にはMFC40.DLLとか
要求されないですよね??
0586 NGNG
これは、いったい何が駄目なのでしょう???

void CTest4View::Ellipser(CDC *hDC)
{
CPen MyPen,*OLD_Pen;
MyPen.CreatePen (PS_SOLID,10,RGB(0,0,256));

OLD_Pen=hDC->SelectObject(&MyPen);
hDC->Rectangle (0,0,300,300);
hDC->SelectObject (OLD_Pen);
}
0587586NGNG
あ、できた。
コピペした文字コードが合わなかったらしい。そんなことが起こるのかっ
0588デフォルトの名無しさんNGNG
>>585
言ってる意味がわからんが、MFC使えばMFCxx.DLL要求されるぞ。
スタティックリンクすれば別だけどな
0589デフォルトの名無しさんNGNG
デバイスコンテキストの取り方どうするんでしたっけ?
もしくは、そういう基本的な事が一覧になってるページあったら
教えてくださいです。
0590589NGNG
やっとみつけた。疲れた

CDC* pDC = GetDC();
0591デフォルトの名無しさんNGNG
で、結局166は口だけだったって事?
0592589NGNG
すみません、整数配列の受け渡しをしたいです。教えてください
void Kansu(int **)

int A[2][2];
Kansu(&A);

Kansu(int **AA){

}

じゃだめですね。うーむむむ
0593この業界から逃げ出した男NGNG
>>592
僕もよく知らないのですが。

Kan( int * A[2] ){}
とかなら出来るかも。

本当は、

int A[2*2];
Kan( int * A , int Len ){ A[Len*Y+X] }
の方がいいかも。
0594589NGNG
>>593
それだと1次元ですよね、少なくとも2次元欲しいんです。
おしえてください
0595589NGNG
>>593
あ、下の方は1次元を2次元に直してるのか。
それがいいのかなぁ。CArrayっていうのもあるみたいだけど
0596デフォルトの名無しさんNGNG
>>592
void Kansu(int (*A)[2][2])

int A[2][2];

Kansu(&A);

Kansu(int (*A)[2][2]){

}

でも構造体にした方がいいぞ。
0597589NGNG
>>596 ありがとうございます。構造体もやってみます。
0598589NGNG
Viewクラスが消えてしまいました。。。。
これはいったいどういう現象なのでしょう。いったい何処へ。。。。
0599589NGNG
なぜかグローバルのtheAppになっとる、なんじゃこりゃぁぁ
0600この業界から逃げ出した男NGNG
>>594
いや、
Kan( int * A[2] ){
 A[1][0] = 3;
}
と、出来るはずだよ。
問題点は、引数の宣言が
int A[2][10];
とか、左側の数が決まってる事です。

昔の C コンパイラーだと通らないかも。

たしかに、構造体を使った方がいいですね。
0601デフォルトの名無しさんNGNG
>>600
いや
Kan(int A[2}[2})
{
 A[1][0]=3;
}

Kan (A);

で逝けないか?
0602デフォルトの名無しさんNGNG
>600
ポインタの場合配列はあろうがなかろうが同じだから
Kan(int *A)
じゃだめなのか?
多次元配列って、Cには無いはずだ。
0603デフォルトの名無しさんNGNG
>多次元配列って、Cには無いはずだ。

何寝ぼけてるんだ?
0604602じゃないけどNGNG
>>603
厳密な意味でいう多次元配列はCにはない。
「配列の配列」をCでは多次元配列と呼び習わしているだけ。
0605デフォルトの名無しさんNGNG
そうなのか。
0606デフォルトの名無しさんNGNG
厳密な意味の多次元配列の定義を述べよ。
0607この業界から逃げ出した男NGNG
>>601
それって、実体のコピーを渡してないですか?
いや、コピー渡して参照するだけならそれで良いんですが。

そもそも、俺が間違っていた?
0608デフォルトの名無しさんNGNG
>>607
渡してない。1次元の時と一緒
0609デフォルトの名無しさんNGNG
Cに配列の値渡しは無いよ。
値渡ししたい時は、構造体に入れるしか無い。
0610デフォルトの名無しさんNGNG
VC++初心者じゃなくて、C初心者スレになってるな・・・
0611デフォルトの名無しさんNGNG
>>610
まぁ人間初心者スレになるよりは(w
0612デフォルトの名無しさんNGNG
>610
レス付けてる方も初心者かも。
何人かは嘘を教えてるぞ。

0613デフォルトの名無しさんNGNG
ビットマップリソースの一部を切り取ったCBitmapオブジェクトを作るには
どうしたらいいんですか?
0614613NGNG
age忘れた
0615この業界から逃げ出した男NGNG
>>609
僕が書いた奴は、一応 ポインターだから、
実体を渡したからそれを書き換えられるはず
とか、まあ、どうでもいいか。

sage
0616デフォルトの名無しさんNGNG
>>615
ポインター渡し = 参照渡し
実体渡し = 値渡し

0617デフォルトの名無しさんNGNG
>>616
ポインタで実体にアクセス出来るから(それに対するプロテクションも
ないので:まぁこれは実装系の話か)ポインタ渡し=実体渡しでいいだろ

実体を渡さないのは、実体をまるまるコピーして渡すやり方
(ちゃんとしたオブジェクト指向言語ならそうするんだが)

というか、コピーして渡したら、変更が反映されないから、
事実上の参照渡し(write protectっツー意味での)じゃない?
0618>617NGNG
もっと短く書け。
関数の引数は値渡し
意味的には参照渡し
0619617NGNG
>>618
>関数の引数は値渡し
これって処理系によるんじゃない?
0620>619NGNG
ここはなんのスレだ?
0621デフォルトの名無しさんNGNG
166を晒すスレ
0622デフォルトの名無しさんNGNG
>>621
お前、裏ニュースで「っつーか」って名乗ってたやつだろ?
0623デフォルトの名無しさんNGNG
>>620
VC++のスレだからって、適当な事を人に教えていいのとは
わけが違うだろ。君の会社ではそうかもしらんけど。

つーか、君みたいな教え方なら、教えてないのと同じじゃない?
教えるってのは他人に分かるように正しい事を伝える事だぜ?
って思うけど、どうよ?
0624デフォルトの名無しさんNGNG
Cでは、実体へのポインタを渡す事を参照渡しという。
(C++にはそれとは別に参照型がある。内部的にはやってる事は一緒)
実体のコピーを渡す事を値渡しという。
実体を書き換えられるのは、参照渡し。

実体渡しは、普通は値渡しの事を言う。
コピーだから実体じゃないじゃん、って言う話もあるが、
呼び出し側では実体を指定して渡すから、実体渡しと言うのだろう。
紛らわしいから、あまり使わない方がいいかもしれない。
0625デフォルトの名無しさんNGNG
おっと使わない方がいいってのは「実体渡し」という言葉をね。
あと、あくまでもC/C++での日本語表記の話。
0626あほNGNG
将棋をつくろうと思って
子windowに将棋盤を書こうと思い
Rectangle()を使っているのですが、
書けません。
メインwindowには描画できるのですが・・・
どうやったら描けるのでしょうか?

自分としてはhdc,hwnd,creatwindow()の辺り
の知識がほとんどないので、
その辺に問題があるのかなとおもっていますが・・・
0627デフォルトの名無しさんNGNG
基本情報処理に出た問題をそのままコピーして、VC++でビルドしたのですが、出来ません。
どうしてでしょう?
void MoveTo(int sx,int sy);
void LineTo(int ex,int,ey);
int CmpLine(int xs,int ys,int xe,int ye,int len);

void DrawCurve(int sx, int,sy,int x1,int y1,int x2,int y2,int ex,int ey,int len)
{
int p1x,p1y,p2x,p2y,p3x,p3y;
int p4x,p4y,p5x,p5y,p6x,p6y;

if(CmpLine(sx,sy,x1,y1,len)&&
CmpLine(x1,y1,x2,y2,len)&&
CmpLine(x2,y2,ex,ey,len)){
MoveTo(sx,sy);LineTo(x1,y1);
LineTo(x2,y2);LineTo(ex,ey);
return;
}
p1x=sx+x1)/2;p1y=(sy+y1)/2;
p2x=(x1+x2)/2;p2y=(y1+y2)/2;
p3x=(x2+ex)/2;p3y=(y2+ey)/2;
p4x=(p1x+p2x)/2;p4y=(p1y+p2y)/2;
p5x=(p2x+p3x)/2;p5y=(p2y+p3y)/2;
p6x=(p4x+p5x)/2;p6y=(p4y+p5y)/2;

DrawCurve(sx,sy,p1x,p1y,p4x,p4y,p6x,p6y,len);
DrawCurve(p6x,p6y,p5x,p5y,p3x,3y,ex,ey,len);
return;
}
int CmpLine(int xs,int ys,int xe, int ye,int len)
{
int len1=xe-xs;
int len2=ye-ys;

if(len1<0)len1=-len1;
if(len2<0)len2=-len2;

if((len1<len)&&(len2<len))
return 1;
return 0;
}
0628デフォルトの名無しさんNGNG
WM_PAINTの外から描こうとしてるとか。
UpdateWindow()してないとか。
0629デフォルトの名無しさんNGNG
>>627
せめて何が出来ねえとかこんなエラーが出るとか書けヤ
0630627NGNG
.c(3) : error C2081: 'ey' : 仮引数リストで構文が不正です。
.c(6) : error C2081: 'sy' : 仮引数リストで構文が不正です。
.c(7) : error C2055: 関数定義内で仮引数リスト以外が使われていました。
.c(14) : error C2198: 'LineTo' : 実引数が少なすぎます。
.c(15) : error C2198: 'LineTo' : 実引数が少なすぎます。
.c(15) : error C2198: 'LineTo' : 実引数が少なすぎます。
.c(18) : error C2059: 構文エラー : ')'
.c(25) : error C2198: 'DrawCurve' : 実引数が少なすぎます。
.c(26) : error C2059: 構文エラー : 'サフィックスが無効です。'
.c(26) : error C2146: 構文エラー : ')' が、識別子 'y' の前に必要です。
.c(26) : error C2198: 'DrawCurve' : 実引数が少なすぎます。
.c(26) : error C2059: 構文エラー : ')'
cl.exe の実行エラー

と言うエラーです。
0631デフォルトの名無しさんNGNG
>>630
void MoveTo(int sx,int sy);
void LineTo(int ex,int,ey);←int と ey の間に','が入ってる
int CmpLine(int xs,int ys,int xe,int ye,int len);

void DrawCurve(int sx, int,sy,int x1,int y1,int x2,int y2,int ex,int ey,int len)
これも同じ。int と sy の間に','が入ってる。
(中略)
p1x=sx+x1)/2;p1y=(sy+y1)/2;←sx の前の'('が抜けてる。

この3つを直してビルドし直してみ。
0632627NGNG
>>631 さん解答ありがとうございます。
エラーの数が4つになりました。
.c(26) : error C2059: 構文エラー : 'サフィックスが無効です。'
.c(26) : error C2146: 構文エラー : ')' が、識別子 'y' の前に必要です。
.c(26) : error C2198: 'DrawCurve' : 実引数が少なすぎます。
.c(26) : error C2059: 構文エラー : ')'
0633631NGNG
まだエラーが残ってたか…。

DrawCurve(p6x,p6y,p5x,p5y,p3x,3y,ex,ey,len);
ここの6番目の引数 3y っておかしいよな…。
p3y ではないかと思われ
0634627NGNG
.obj : error LNK2001: 外部シンボル "_LineTo" は未解決です
.obj : error LNK2001: 外部シンボル "_MoveTo" は未解決です
LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
Debug/基本情報処理テスト.exe : fatal error LNK1120: 外部参照 3 が未解決です。
link.exe の実行エラー

と出ました。うーん、よろしくお願いします。
0635デフォルトの名無しさんNGNG
627,630,632はVC++のコンパイラ自体からの投稿だったりして。
0636デフォルトの名無しさんNGNG
で、631はどこかのマシンの知識データベースエンジンだったりして。
0637デフォルトの名無しさんNGNG
とりあえず、Win32になってから
MoveTo -> MoveToEx に変ってるはずだよ。
たしか。

Win32APIならね。
本を買って調べましょう。
>> 635
同意。
コンパイラに3カノッサ
0638デフォルトの名無しさんNGNG
>>634
cl xxx.cpp gdi32.lib /link /subsystem:windows
どうだ?
0639デフォルトの名無しさんNGNG
WindowsNTのソースを
WindowsCEで使えるようにしています。
そこで
char pBuff[100];
lstrlen( pBuff )
が'wcslen' : cannot convert parameter 1 from 'char [100]' to 'const unsigned short *'
というエラーで引っかかってきます。
どのように対処すればいいのか、教えてください。
0640デフォルトの名無しさんNGNG
>>639
short pBuff[100];
lstrlen(pBuff);
0641デフォルトの名無しさんNGNG
unsigned short pBuff[100];
だw
0642デフォルトの名無しさんNGNG
TCHAR pBuff[100];
0643639NGNG
>>640
>>641
>>642
ありがとうございました。
unsigned short pBuff[100]または
Tchar pBuff[100]
だと
他の所で
'sprintf' : cannot convert parameter 1 from 'unsigned short [100]' to 'char *'
となってしまいます。
これは、どうすればいいですか?
こういう場合は、
該当する所を
char pBuff[100];
lstrlen((unsigned short)pBuff);
って
こまめに型をあわせるしかないのですか?
0644639NGNG
>>643
間違えた。
lstrlen((unsigned short*)pBuff);
でした。
0645てんさいぷろぐらむぁ(偽)NGNG
>>639
それは多分UNICODE関係で引っかかってるんじゃないの?
WinCEはUNICODEしかないんだよね、たしか?
だからTCHAR(wchar_t)を使うのが一番まともだと思われ
つーかその辺あんまり詳しくないので話半分で聞いてね(^^;)

lstrlenの部分とかは勝手に#ifdefとかでそれ用のに切り替わるはずなので
大丈夫なはず。
ただし、元のソースが「文字数」を必要としているのか「バイト数」を
必要としているのかを見極める必要があると思われ

つーか言ってることわかる?
0646デフォルトの名無しさんNGNG
MSDNライブラリの汎用テキストのマッピングのあたりを読むと良かろう。

http://www.microsoft.com/japan/developer/library/vccore/_crt_generic.2d.text_mappings.htm

でもlstrlenだけでエラーが出るなら、
単にstrlenに替えりゃ済むのかもな。
その辺はpBuff[]を何に使うのかによる。
0647613NGNG
誰か教えてください…
0648デフォルトの名無しさんNGNG
>>643

>'sprintf' : cannot convert parameter 1 from 'unsigned short [100]' to 'char *'
>となってしまいます。
>これは、どうすればいいですか?

特に不具合がなければwsprintfを使用すればよいかと。
0649639NGNG
>>648
ありがとうございました。
また質問ですが、
DWORD drive ; //検出ドライブ
drive = GetLogicalDrives();
を使用すると、
error C2065: 'GetLogicalDrives' : undeclared identifier
となってしまうのですが、
どのように対処すべき名のでしょう?
0650デフォルトの名無しさんNGNG
>>649
イー加減ネタのような気がしてきたよ。
#include <windows.h>
やってみろ
0651639NGNG
>>650
ネタじゃないです。
本当に困ってます。
#include <windows.h>
したけど変わりません。
GetPrivateProfileIntとかも同じようなエラーが帰ってきます。
他に思い付く事があったらお願いします。
0652デフォルトの名無しさんNGNG
>>651
winbase.h だよ。
ちゃんとMSDNくらい見てくれ…。
0653デフォルトの名無しさんNGNG
>>651
つーか、WinCE には
GetLogicalDrives や GetPrivateProfileInt というAPIが無いんでは?
WinNT用のソースをそのままWinCE用にビルドするのが間違い
0654デフォルトの名無しさんNGNG
>>653
PrivateProfile
って、確かになかったと思う。
0655デフォルトの名無しさんNGNG
>>652
winbase.hはwindows.hインクルードしたときにまとめてincludeされるぞ
0656VCわからんNGNG
ずっと unix で開発していましたが、VC++ の仕事をしています。
ASP(Active Server Pages)から呼ばれる
COMコンポーネント(DLLファイル)を
作っているのですが、ASPに文字列を返したいのです。

そこで

STDMETHODIMP CHoge::GetHoge(BSTR in1,BSTR *retCode)
{
 char* strTest="test";

 *retCode=strcpy(*retCode, strTest);
 return S_OK;
}

こんなことをやると、コンパイル(ビルド)時に
1番目の引数を 'unsigned short *' から 'char *' に変換できません。
と言われます。
COMコンポーネントで文字列を返すようにするには
どうしたらいいのでしょうか?

あとBSTR型って文字列を入れるもの
(charと同じようなものだと思っている)
と思っているが、どうしてコンパイルエラー時に
'unsigned short *'が出てくるの?

Windows の世界はなかなかわからないのですが、ここで
つまづいているのでどうか教えてください。
0657デフォルトの名無しさんNGNG
iniファイルの値を読み取るAPI、GetPrivateProfileString()を使って、
あるファイルのパスを取得したいのですが、その読み取る値に\マークが
入っているとそこまでしか取れないみたいなんです。
これってこのAPIの仕様なんでしょうか?
iniファイルに\マークを使ってる例なんて山ほどあるのに。
ちなみに""でくくってみたり、\\にしたりしてやってみましたがだめでした。
0658>657NGNG
別の問題な気がする。自分の書いたソース読み直せ。
0659657NGNG
解決しました。簡単に言うと、バッファのサイズが違っていたということです。
APIを関数でラップしてるのですが、そいつのI/Fがchar*で、
APIにわたすサイズをsizeof(char*)でやってたのでいつまでたっても
4文字分しかとれなかったというわけです。
0660デフォルトの名無しさんNGNG
>>656
それはBSTRがchar*じゃ無いからだよ。
0661埋NGNG
>>656
BSTRってUnicodeを入れなきゃなんないから、
VC++のcharでは足りない。ので、unsigned short。

扱いは、ATL の CComBSTR のソースとかを参考にするよろし。
0662656NGNG
>>658 >>659
レスどうもありがとうございます。

>扱いは、ATL の CComBSTR のソースとかを参考にするよろし。
このソースと言うのは、どこを見ればのっているのでしょうか?
MSDN にサンプルとか含まれているのでしょうか?
とりあえず自分のマシンにはMSDNは入っているのですが...
やっぱ本を見たほうがいいのかな....
簡単でいいのでサンプルとか示していただけるとうれしいです。
あと、関数宣言の
STDMETHODIMP CHoge::GetHoge(BSTR in1,BSTR *retCode)
{
の BSTR *retCode という書き方はあっているのでしょうか?

>それはBSTRがchar*じゃ無いからだよ。

がまだよく理解できていませんが、BSTR形を
返却値ではなく引数として取るとき、

char *p = (LPSTR)OLE2T(in1);
見たいな書き方をしているので、このあたりがポイントかなと思い、
MSDNで検索すると、T2OLE という、逆にしているものを見つけましたが
かんけいあるのかな。
あと LPSTR 型ってなんじゃ?
0663デフォルトの名無しさんNGNG
>>662
ヘッダ読め
0664埋NGNG
>>662
> このソースと言うのは、どこを見ればのっているのでしょうか?
VCが入ってるディレクトリの中のATLフォルダのなかのIncludeフォルダ。
てゆうか、暇だったので掘ってきちゃった。

inline BSTR A2WBSTR(LPCSTR lp, int nLen = -1)
{
&nbsp;&nbsp;USES_CONVERSION;
&nbsp;&nbsp;BSTR str = NULL;
&nbsp;&nbsp;int nConvertedLen = MultiByteToWideChar(_acp, 0, lp, nLen, NULL, NULL)-1;
&nbsp;&nbsp;str = ::SysAllocStringLen(NULL, nConvertedLen);
&nbsp;&nbsp;if (str != NULL)
&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;MultiByteToWideChar(_acp, 0, lp, -1, str, nConvertedLen);
&nbsp;&nbsp;}
&nbsp;&nbsp;return str;
}

LPSTR は32bitなWindowsなら char* と同じ。LPCSTR は const char*。
BSTRは typedef OLECHAR *BSTR; だった。

>>663の言うとおり、わからない型が出てきたら windows.h 以下のヘッダを読むのが手っ取り早いと思う。
0665656NGNG
>>663 >>664
レスどうもありがとうございます。
ファイル読めというのはunixもwindowsも一緒ですね...

いろいろ掘り起こしてくださってどうもありがとうございました。
こちらはWinNT4.0で開発しているので、LPSTRはchar*と
同じということですね。

うーん、何とかがんばって文字列を返すdllを
作ってみることにします...
どうにかして char から unicode にすればいいんだな。
0666デフォルトの名無しさんNGNG
>>665
mbstowcs
0667デフォルトの名無しさんNGNG
MSVCRTD.lib(crtexe.obj) : error LNK2001: 外部シンボル "_main" は未解決です
.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー

と言うエラーがでます。検索エンジンでほとんど調べたのですが、解決できません。
解決方法よろしくお願いします。
0668デフォルトの名無しさんNGNG
>>667
ATLなら、コンパイルオプションか stdafx.h から_ATL_MIN_CRT を外せば?
(readme だかなんだかに出てたと思う。既知の問題点として)
0669667NGNG
>>668
コンパイルオプションやstdafx.hがどこにあるか分かりません。すみません。
私の使っているコンパイラは、VC6.0++SEです。
0670デフォルトの名無しさんNGNG
>>669

Alt+F7 でプロジェクトの設定を出して、
左側でプロジェクトを選択して、左上のコンボで「全ての構成」を選んで、
右の「C++」タブをクリックして、その下に出てくるコンボから「一般」を
選んで、下の「プリプロセッサの定義」のエディットボックスの中にある
アレコレがカンマで区切られて並んでるところから _ATL_MIN_CRT を
消して、「OK」ボタンで設定ダイアログを閉じる。
0671667NGNG
>>670
お答えしていただきありがとうございます。
そこには、WIN32,_CONSOLE,_MBCSと書いてあって、 _ATL_MIN_CRTが見当たりません。
0672デフォルトの名無しさんNGNG
>>671

では、どれでもいいからソース (.cpp とか .c で終わるファイル)
に、

int main(int argc, char* argv[])
{
return 0;
}

ってのを追加してください。
0673デフォルトの名無しさんNGNG
>>672
可愛そうに
0674656NGNG
>>666 さんレスどうもありがとうございます。
結局 A2BSTR() 一行 で解決しました。

おかげさまで BSTR 型を返す COM コンポーネントを
つくることができました。
0675166NGNG
テトリスのソー
0676デフォルトの名無しさんNGNG
CViewとかの派生クラスをつかうにはCDocumentも一緒に使わないと
駄目ですか?
SDIアプリ作ってるのですが、写真を表示させる小さなフレームを
メインのフレームとは別に作りたいのです。
Documentをわざわざ関連付けさせるほどじゃないけど、
CScrollViewを使いたい…
0677デフォルトの名無しさんNGNG
■質問!

CWinApp::WriteProfileString
で書き込んだレジストリの内容をセクションごと削除するにはどうすればよいですか?

VBなら「DeleteSetting」って関数があるのに、VC++ではそれに該当する関数が見当たらないです。

おしえてくださーい
0678デフォルトの名無しさんNGNG
>>676
メインフレームと関連付けられた内のCDocument派生クラス上に写真データが
あるのなら1Doc->2Viewで関連付けるのは合理的ではないの?
というかどうにでもできる話なんだけど。

0679デフォルトの名無しさんNGNG
WindowsCEでリソースのVersionのProductNameを取得したい。
でも
GetFileVersionInfoSize()して
GetFileVersionInfo()して
VerQueryValue()して取得する。
という操作はCEでは、
GetFileVersionInfoSize()、
GetFileVersionInfo()、
VerQueryValue()の3つともサポートしていない
ので使えません。
どのようにして取得すればいいですか?
教えてください。
0680デフォルトの名無しさんNGNG
#include <iostream>
using namespace std;

class sample {
 int x, y;
public:
 sample() { x=0; y=0; }
 sample(int i, int j) { x=i; y=j; }
 void get_xy(int &i, int &j) { i=x; j=y; }
 friend sample operator-(sample ob1, sample ob2);
};

sample operator -(sample ob1, sample ob2)
{
 sample temp;

 temp.x = ob1.x - ob2.x;
 temp.y = ob1.y - ob2.y;

 return temp;
}
これをコンパイルすると
friend sample operator-(sample ob1,sample ob2);の所で
fatal error C1001: 内部コンパイラ エラー になります。
一番上の2行を#include <iostream.h>のみにすると
エラーなしでコンパイルできます。
これは何故なのでしょうか?Win95&StandardEditionです。
0681RIP_MAPIRONGNG
>>680
それはコンパイラのバグです。
Service Pack によるバージョンアップを行ってください。

Win98 & VC++6.0 Pro Edt. (SP5) だと
エラーをはじきませんでした。
0682680NGNG
>>681
ありがとうございます。
Service Pack でバージョンアップします。
0683デフォルトの名無しさんNGNG
ここ2日、VC++をやり始めました。
すごい楽しいですね。

まだ、Whileとか、ifとかの世界ですが、すごい楽しいです。
Dos上できちんと動くようになりました。
がんばるぜ!

と早速厨房的質問いいですか??

普通のMSDosプロンプトで動かすとき、正常に動くのですが
いきなり終わってしまうのです。
これを入力待ちにしてなにか入力があったら、終了という形にはできないのでしょうか??

現在は
Whileでループさせて、ifで特定の入力があったときにbreakという形を取っています。

getcharで、できると思ったのですが、できません。
エラー、警告はでないんですが・・・。

いまのままだとちょっと面倒なので。
解決さく伝授してください!
よろしくおねがいします。
0684デフォルトの名無しさんNGNG
getch
0685デフォルトの名無しさんNGNG
マウスが画面上からはみ出たときに
OSから送られるハンドラってなに?
MouseOverみたいなのがあるといいんだけど・・
0686デフォルトの名無しさんNGNG
ねーよ。

それから、マウスは画面はみでねーよ。
0687デフォルトの名無しさんNGNG
>686
間違えたウインドウからはみ出たときだ。
MouseOverないの?JAVAではあったんだけどなあ・・・
困った。
0688デフォルトの名無しさんNGNG
WM_MOUSEMOVEでがしがし見張る。
0689デフォルトの名無しさんNGNG
>688
やはりそれしかないのですか。
ウインドウ上にマウスで絵を書くプログラムなんだけど、
MouseDragを検出するハンドラもないようなので
マウスボタンが押されたらフラグを立てて
フラグが立ってる間はMouseMoveにあわせて線をひき
マウスアップが検出されたらフラグを消すってやっているので、
マウスを押したままウインドウの外に出て
ウインドウの外でマウスボタンをはなして
またウインドウ内にカーソルを持ってくると、
フラグがたったままになってしまうんです。
せめてMouseDragでもあればなんとかなるんですが・・・
VisualCは難しい・・・
0690厨房NGNG
>> 689
とりあえず、VCのSPY++ 使って、Windowメッセージを監視するといいよ
たしか、ノーアクティブマウスムーブとかがくるはずだから、
… たしか。
0691デフォルトの名無しさんNGNG
>>689
WM_LBUTTONDOWN で SetCapture して、WM_MouseMove で GetCapture
して自分だったら (SetCapture中だったら) ドラッグ中とする。

WM_LBUTTONUP で ReleaseCapture して、WM_CAPTURECHANGED が来たら
ドラッグ終了、と。ここで手抜きして LBUTTONUP でドラッグ終了と
だけしてしまうと、ALT+TAB で他の AP に行ったときにドラッグ終了と
ならないので気をつけましょう(普通ドラッグは終了にしたいよね)。
0692デフォルトの名無しさんNGNG
>>689
Win98以降でよければ、
TrackMouseEvent
Win95もターゲットなら、
_TrackMouseEvent
詳しくは
http://hp.vector.co.jp/authors/VA016117/hoverbtn2.html
を参照。
0693デフォルトの名無しさんNGNG
こんにちは。唐突ですが、これだけは使える様になっとけって
プログラム言語あります?
0694デフォルトの名無しさんNGNG
>>693
スレ違い。
0695名無しさん NGNG
すいません。初心者なんですけれども、
Visual C++って家で出来るんですか??
学校の宿題で出たんですけれど。学校のPC室はいつも込んでいるんで
どなたか教えてください、おねがいします。
0696デフォルトの名無しさんNGNG
>>695
家にソフトがないと無理。
あきらめて学校のPC室使いなさい。
というか学校の宿題ならVisual C++じゃないと
いけないなんてこたないかと。
多分他のコンパイラ落としてくればできるよ。
0697名無しさんNGNG
>696さん
>多分他のコンパイラ落としてくればできるよ

それはどのようにやるのでしょうか?すみません初心者で。
0698デフォルトの名無しさんNGNG
MFCってどうなちゃうんでしょう?C#の出現で自分的には
消えてなくなると思うんですけど。。。
0699デフォルトの名無しさんNGNG
>689
SetCapture()やReleaseCapture()を使うのが定石だよ。

0700デフォルトの名無しさんNGNG
>>699
そんな定石いやだ
GetAsyncKeyState(VK_LBUTTON)で片付けよう
去るカーソルは追わず
0701デフォルトの名無しさんNGNG
>>699-700
だから、692がTrackMouseEventして、WM_MOUSELEAVEを拾えばいいって言ってるじゃねぇか
0702689NGNG
>692
どうもです。できました。わーい。でもマウスで線を書いてから
画面を最小化したり、なんかのウインドウの下にいれて
もういちど出したりすると線が全部きえちゃいます。
書きながらデータを記録しておいて
OnPaint関数で書き直しを追加すればいい気がするんだけど
こういう場合はどうやって保存するのが基本ですか?
あーまた質問しちゃった。
これで最後にするんでお許しを。
0703デフォルトの名無しさんNGNG
裏画面に描いて保存しておく。
やり方はダブルバッファリングとか調べれば一発でしょう。
0704デフォルトの名無しさんNGNG
すいませんMPC7400のAltiVecを使用したFFT探してるんですが、どなたか知りませんか?
appleのHPにあったやつは512complexで16usecとかいって320msecもかかりやがるし、モトローラのやつはバグって動かないし
困ってます、やさしいお兄さん教えてください(タダじゃなくても良いです)
0705デフォルトの名無しさんNGNG
>>704
その質問はVC++じゃないので、よそで聞いたほうが良い、と思われ。
新Mac板に行けば、MACオタが詳しく教えてくれるのでは、と思われ。
0706デフォルトの名無しさんNGNG
>>701
ばからしい手法だね
0707デフォルトの名無しさんNGNG
>>696
僕が出た学校は、VCで提出だった --;
その前は クイックCだった…
学校によっては色々あると言う事で
0708デフォルトの名無しさんNGNG
#include <math.h>しても

M_PI  が無いんだけど・・・・・どこに行ったの?
0709デフォルトの名無しさんNGNG
PIくらい自分で定義すれや…
0710引用NGNG
           ______________
         /
━━━━━━| 3.14…………アヒャヒャヒャヒャヒャヒャヒャヒャ
            レ──────────────

 円周率
  ____
 .�B■∧  /
━ (,, ゚∀゚) /━━━
   |   つ  ▽      ∧ ∧      ∧ ∧
   |  |  ┌┴┐    (゚Д゚;)     (゚Д゚;)
 \|  |  |□│   /⊂  ヽ     /⊂  ヽ
  ,,し'∪, │  │  √ ̄ (___ノ〜 √ ̄ (__,ノ〜
 ̄ ̄ ̄ ̄ ̄|   |   ||   ━┳┛  ||    ━┳┛
 ̄ ̄ ̄ ̄ ̄|   |==============
  _________∧______
/
| もしかしてその先が分からないのか?
\_____________        ∧
                    / ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                    |  3.1415926535897932385だゴルァ
                    \________________

http://piza.2ch.net/test/read.cgi?bbs=mona&key=984296529&st=364&to=364
0711708NGNG
なるほど、 math,hをインクルードしてるのに
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
とかイチイチやってるのはVCの為だったのか・・・
0712デフォルトの名無しさんNGNG
こんなふうに、
typedef struct {
void *next;
int size ;
short data[];
} buffer;
サイズゼロの配列を構造体内で指定すると VC++ではエラーになるんだけど、

VCではやっちゃマズイのかな?
0713デフォルトの名無しさんNGNG
初心者です。今、本で勉強しているのですがタコなので教えてください。
WizardでHello Worldアプリをつくり、以下のコードを追加します。
//CShapeクラスの定義(基本クラス)
class CShape {
public:
HDC hDC;
long Color;
virtual void Draw() = 0;
virtual ~CShape() {};・・・・・・(1)
};

//CLineクラスの定義
class CLine:public CShape {
public:
void Draw();
};

//CTriangleクラスの定義
class CTriangle:public CShape {
public:
void Draw();
};

//CRectangleクラスの定義
class CRectangle:public CShape {
public:
void Draw();
};

void CLine::Draw() {
POINT pt;

//直線を描画します
MoveToEx(hDC,0,50,&pt);
LineTo(hDC,50,150);
}

void CTriangle::Draw() {
POINT pt;

//三角形を描画します
MoveToEx(hDC,150,50,&pt);
LineTo(hDC,200,150);
LineTo(hDC,100,150);
LineTo(hDC,150,50);
}

void CRectangle::Draw() {
//四角形を描画します
Rectangle(hDC,250,50,350,150);
}

***********WinProc************
case WM_CHAR:
//文字が入力されたときの処理
if ((wParam == 'L') || (wParam == 'l')) {
sp=&ln;
}
else if ((wParam == 'T') || (wParam == 't')) {
sp=&tr;
}
else if ((wParam == 'R') || (wParam == 'r')) {
sp=&rc;
}
else {
break;
}

//描画を行う
sp->hDC=GetDC(hWnd);//デバイスコンテキスト取得
sp->Draw();//描画
ReleaseDC(hWnd,sp->hDC);//デバイスコンテキスト開放
break;

***************************
ここで、(1)のデストラクタ~CShape() の後ろに {} を記述する意味がわかりません。
これを書かないと以下のようにおこられます。
Polymo.obj : error LNK2001: 外部シンボル ""public: virtual __thiscall CShape::~CShape(void)" (??1CShape@@UAE@XZ)" は未解決です
Debug/Polymo.exe : fatal error LNK1120: 外部参照 1 が未解決です。

エラーの意味も良くわからないのですが、どういうことでしょうか?
0714厨房NGNG
>>713
エラーの意味は、~CShape() {};に実体がないって意味でしょ。
0715RIP_MAPIRONGNG
virtual ~CShape() {}; //デストラクタが”定義”されている。

virtual ~CShape(); //デストラクタが”宣言”されているだけ。
だからエラーは、
public: virtual __thiscall CShape::~CShape(void)
の中身が定義されていないからちゃんと定義しろ って言っている。

ちなみにクラス内で定義されていればインライン展開
されるはずなので外部定義するより若干処理が速い。
また”{}”のように一見なにもしないようでも実態の解放はされるので
空の{}でも定義する必要がある。
0716713NGNG
>714,715
>また”{}”のように一見なにもしないようでも実態の解放はされるので
>空の{}でも定義する必要がある。
おお、そういうことですか。分かりました、大変助かりました。
0717RIP_MAPIRONGNG
訂正>>715
>ちなみにクラス内で定義されていればインライン展開
>されるはずなので外部定義するより若干処理が速い。
ただし、virtual アクセスメンバ関数は、クラス内で定義されても
インライン展開されません。
0718デフォルトの名無しさんNGNG
こんなエラーが沢山出ます
nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" はすでに LIBCMTD.lib(new.obj) で定義されています

たぶんMFCとcの標準ライブラリ(printf類)を両方使ってるからだと思うのですが、
何と何を一緒に使ってはダメなんでしょうか?
MSDNライブラリを探しても判りませんでした
0719718NGNG
原因を調べる為にコメントアウトしていってみると

_beginthread を <process.h> をincludeして使うとそうなるようです。

これをMFCに置き換えないといけないのかな?
0720718NGNG
ちなみに、_beginthreadで作成したスレッドでは
 使っているのはWinInetAPIだけで
 MFCは一切使っていません。

とりあえず、今から AfxBeginThread を調べてみます。 ああメンドクサイ
0721デフォルトの名無しさんNGNG
SFXってシェアのバイナリエディター
みたいな見た目って、簡単に作れますか?
C++Builderしか使ったことないので
VC++でどうか教えて下さい。
0722デフォルトの名無しさんNGNG
WindowsCEでストレージカードが刺さっている場合、
ストレージカードのあるフルパスを取得する方法って
ありますか?
0723166NGNG
テトリ・・・・・・
0724デフォルトの名無しさんNGNG
ス・・・・・・
0725デフォルトの名無しさんNGNG
C始めたばっかりのド素人です。

C++使ってコンパイルして気になったのですがC言語って大文字小文字を区別するんですか?
自動的に書き換えてくれる設定、もしくは区別なしの設定などは無いでしょうか。

インデントもしてくれないし・・・
0726デフォルトの名無しさんNGNG
>>725
Cは大文字小文字を区別します
エディタは探せばいろいろあると思いますので
使いやすいものを探してください
Cに対応したエディタもありますよ
0727デフォルトの名無しさんNGNG
(゚Д゚)ハァ?
0728デフォルトの名無しさんNGNG
#define SWAP(a,b) (w=a; a=b; b=w;)
#define f(X) ((x)*(x)-3.0)
すいません上の二つの文についてどういう意味なのか教えてください。
c言語を学び始めた素人童貞です。
おねがいします女王様。
0729デフォルトの名無しさんNGNG
マクロ文>728
SWAPは変数の値の交換。
fはxを2乗してその値を3.0で引くって意味だと思う。
それよりwってなんだよ。まあ使い所を間違えなければいいけど。
おれはこっちの方が好きかな。
#define SWAP(type, a, b) \
do {type tmp = a; a = b; b = tmp;} while (0);
0730デフォルトの名無しさんNGNG
>>729
do{ 〜 }while(0); となってるけど、
中カッコでくくるだけでは不可?
0731デフォルトの名無しさんNGNG
ビットマップボタンのビットマップに、リソースの一部を切り取ったものを使うには
どうすればいいんでしょうか?
0732729じゃないぞNGNG
>>730
Cでそれってアリだっけ?
0733デフォルトの名無しさんNGNG
#define  macro()  { ... }
の代わりに
#define  macro()  do { ... } while (0)
を使う理由
if (xx)
  macro(a, b);
else (xx)
  macro(c, d);

>>729は最後にセミコロンを付けているから不可
0734730NGNG
おおー、なるほど。
勉強になります。
0735デフォルトの名無しさんNGNG
VCでソースの行番号を表示させるには
どうすればいいのでしょうか?
0736デフォルトの名無しさんNGNG
__LINE__じゃなかた?>735
0737デフォルトの名無しさんNGNG
>>733
セミコロンは何個付いても問題ないと思うが。
ただの空文じゃん。
0738735NGNG
早いレス、ありがとうございます。
マクロつかうのですね。
これだと、新規作成したソースファイルにも
表示させることできますか?
0739デフォルトの名無しさんNGNG
#define SWAP(a,b) a^=b^=a^=b
0740デフォルトの名無しさんNGNG
>>737
考えが浅いね。
0741デフォルトの名無しさんNGNG
>>737
{ } が省略可能に注目せよ。
 
0742デフォルトの名無しさんNGNG
VC++で素早くファイルサイズを取得する方法って他にありますか?
試したのは、適当なHDD内の1679ファイル(計104M)で実験したら
CFileFind::GetLengthが約14秒
CFile::GetStatus(オープンしない奴)でも14秒
_filelengthだと21秒(open有り)
::GetFileSizeの場合も21秒
_statだと15秒でした、、
キャッシュの影響?で1秒前後誤差がありますけど、、
後、ファイルを開かない奴は、ディスクに開始直後しかアクセスしてない
ようですけど、FATしか読んでないのでしょうか?、、

エクスプローラーの詳細表示を見るともっと早いのですが、
他に早くサイズを取得する方法って無いですか?、
0743737NGNG
>>740-741
よくわからない(汗
説明きぼん。
0744デフォルトの名無しさんNGNG
,
0745132NGNG
>>729-730
>>737
あんたらさぁ、システムのヘッダ読んだことないの?
ま、読んでたとしても理由なんか考えてないんだろうけど(藁
0746デフォルトの名無しさんNGNG
>>742
エクスプローラは見える範囲の情報しか取得しないから速い。
1679ファイルあっても、エクスプローラの詳細で1度に表示
できるのは、せいぜい100ぐらいでしょ。

>>743
マクロ展開ぐらい自分でやれ。
if (cond)
  { printf("foo"); };
else
  { printf("bar"); };
で、コンパイルとおるか?
0747デフォルトの名無しさんNGNG
>>746
ではエクスプローラのステータスバーに表示されているサイズ数
(項目非選択時、フォルダ内の全ファイルの合計サイズ)は
どのように取得されているのか説明希望。
0748デフォルトの名無しさんNGNG
どっかに計算結果が既にキャッシュされてるとか
0749737NGNG
>>746
そうか、すんまそん。
逝って参ります。
0750742です、NGNG
やっぱ、無理ですかね、、
iriaとかでも、ファイルサイズを取得するのでリストが1000行を超えると
読み込みに時間が掛かったりするのも同じ原因かなぁ、、
0751デフォルトの名無しさんNGNG
>>742
CreateFileでディレクトリを開いて、そのディレクトリハンドルで
DeviceIoControlにFSCTL_QUERY_ALLOCATED_RANGESを指定。
じゃダメかな。
物理サイズしかとれないけど、エクスプローラのステータスバーの
表示も物理サイズだよねぇ。
0752747NGNG
ファイルシステムに直接聞くってことか。
確かに速そうなんだが、これNTFSオンリー(しかもW2K以降)
にしか使えないよ〜。
DeviceIoControl自身はアーリーバージョンでもサポート
されてるんだが他のコントロールコードでなんとかならないか
今MSDN読んでる。
0753デフォルトの名無しさんNGNG
なんか勘違いしてないか?
FindFirstFile()/FindNextFile()は十分速いぞ。
たかだか1000個程度で10秒も掛からん。
もしかして、リストビューにInsertItemしてないか?
0754デフォルトの名無しさんNGNG
あとでしろってことね
0755デフォルトの名無しさんNGNG
>>753
勘違いしてんのはお前の方。
目的はファイルの列挙じゃなくてファイルサイズの積算だ。
0756デフォルトの名無しさんNGNG
>>755
列挙したら、同時にファイルサイズも取れるのだが。
それに、エクスプローラのステータスバーに表示されるのは、
ファイルサイズの合計であって、占有ディスクサイズじゃないよ。
0757デフォルトの名無しさんNGNG
>>742に、
CFileFind::GetLengthが約14秒
って書いてあるじゃん。
0758742です、NGNG
 なんか、もめてますね、、((((((^_^;)
 実験してたのは、ファイルのパスが書いてあるテキストを読みながら
それぞれのファイルのサイズを別のテキストに書き出してたんです、、
 今日別のリストを作って試してみたら、同じぐらいのファイル数でも
CFile::GetStatusで2〜3秒で完了してしまいました、、(^^ゞ
 多分最初の実験の時はディスクの底の方の小さいファイルで試してたからかも
しれません、、HDDもかなり古いやつで実験してたし、、
 エクスプローラの詳細表示って書いたのはそのまま読んで頂くと、
詳細表示した時もファイルのそれぞれのファイルサイズが表示されてるからで、
ステータスバーは関係ありません、、ステータスバーのサイズはGetStatusとかで
フォルダをチェックすれば取得できるのでは?、、、(未確認ですけど、、)
 って事で取りあえずセオリー通りGetStatus使ってみます、、(^^ゞ

あ、unzip32.dllを使って2バイト文字のパスを設定して解凍って出来るのでしょうか?
コマンドラインで-Pオプションで出来るかと思ったけど無理みたいだし、、、
0759デフォルトの名無しさんNGNG
MDIアプリで
ダイアログを常に表示させておきたいのですが
(VC++のワークスペースウィンドウみたいに
どうすれば良いのでしょうか。

CMDIChildWndとCDialog
を多重継承すれば良いのですか?
ドッキングはしなくても良いんですが。
0760デフォルトの名無しさんNGNG
>>759
やっぱりCDialogBarを使うのが簡単。
ドッキングはSetBarStyleで不可にできるし。
最近はモードレスダイアログみんなこれで作ってます。
Wizardで半分くらい出来上がっちゃうし。
0761てんさいぷろぐらむぁ(偽)NGNG
>>758

ファイルサイズの事なんですが・・・(ちょっとおそいけど)
MFCのソースをみると

BOOL CFile::GetStatus( CFileStatus& rStatus ) const;
オープン済みのファイルに対して
APIのGetFileSize実行
その他のCFileStatusの値取得にも「個別」にAPI呼んでます。

static BOOL PASCAL CFile::GetStatus( LPCTSTR lpszFileName, CFileStatus& rStatus );
未オープンのファイルに対してAPIのFindFirstFile実行。
一度に各種ステータス取れるので、取れた値をCFileStatusに代入&変換

DWORD CFileFind::GetLength( ) const;
基本的にAPIのFindFirstFile&FindNextFile実行後
取得済みメンバ変数からサイズをreturn

って感じになってます。

つまりサイズのみ取得で良いならば
CFile::GetFileSize(要オープン)を「単体」で呼ぶか
CFile::GetStatus(オープンなし)を使うか
CFindFile::GetLength(オープンなし、要FindFile FindNextFile)
のどれかが良いと思います。

より速さを求めるならオープンしない
CFile::GetStatusか
CFindFile::GetLengthが早いんじゃないかと。
(上記二つはやってる事ほとんど同じなので)

基本的にMFCはAPIのラッパーなのでソースをみませう。
でわ
 ニャフ-ン    オヤスミ-
  ___Λ Λ____
 |__(,,⌒ー⌒)/)゙__|
0762759NGNG
>>760さん
CDialogBarで、やってみます
レス有難う御座いますぅ。
0763デフォルトの名無しさんNGNG
CFindFileを使うと、毎回WIN32_FIND_DATAをnewすることになるので、
>>753 の言う通り生のAPIを叩くほうが速いですが、その差はほとんど
無いと思います。
0764デフォルトの名無しさんNGNG
ビットマップをファイルから読み込んでリージョン作ろうとしているんですが,
下みたいにして読み込みました。(何枚かビットマップ読み込む予定なので
それらを管理するクラスをつくりました。Surfaceはそのクラスオブジェクトで
す)
Surface.hBitmap = (HBITMAP)::LoadImage(NULL,"myBmp.BMP",IMAGE_BITMAP,0,0,LR_LOADFROMFILE | LR_CREATEDIBSECTION );
これで描画させようとすると,上手く表示されません。そこでこの直後に
::LocalLock((void*) Surface1.hBitmap);
とすると,表示されました。HBITMAPなどのメモリ管理ってどうなっているんでしょうか?
LoadImageで確保されたメモリは一時的な物で,途中どこかで消滅してしまうのですか?
0765759NGNG
CDialogBarにリストビュー貼りつけて
CListCtrlの初期化をOnCreateでしてるんですが、
CListCtrlのSetImageListを呼んだところでエラーがでます。
こういう時CListCtrlは、
どこで宣言してどこで初期化すれば良いのでしょうか?
0766759NGNG
ageちゃうョ
0767ななーしNGNG
>>765
えーっと、CDialogBarオブジェクトのCreateはCMainFormの
OnCreateでやるので、
dialogBar.Create( this, IDD_DIALOGBAR, CBRS_TOP, IDD_DIALOGBAR );
CListView* lv = (CListView*)dialogBar.GetDlgItem( IDC_LIST1 );
CListCtrl& lc = lv->GetListCtrl();
lc.SetBkColor( RGB(100,0,0) );
みたいにやったら操作できたよ。
まあSetImageListも同様に出来ると思うよ。
(CImageListはめんどくさいからやってないけど。)
0768デフォルトの名無しさん NGNG
コンソール版で作ってたプログラムをGUI版に直しているのですが
今までcoutで表示させていたデバッグメッセージを
DOSプロンプトを呼び出して表示させたいのですが・・・。
そもそも、こういうことって出来るんでしょうか?
0769デフォルトの名無しさんNGNG
>>768
素直にウィンドウかメッセージボックスに書く、ってのはダメ?
0770768NGNG
>>769
それだとcoutで表示してるところを全部書き直さないといけないですよね。
それが面倒なんで何かいい方法ないなかあ、と思索中です。
0771石本NGNG
ここで質問しても教えてくれないこともないんですが、
煽りや初心者を馬鹿にしたレスが多いので、
活動の盛んな普通のVC、VBプログラミングのQ&A掲示板の
URL教えてください。よろしくお願いします
0772デフォルトの名無しさんNGNG
>>770
ostreamを継承してDOSプロンプトに出力するオブジェクトを作って
エディタで一括痴漢。
または、CWinApp::InitInstance時にコンソールを作って標準出力を
そのコンソールに繋げば、coutはそのまま。
0773768NGNG
>>772
ありがとうございます!
0774デフォルトの名無しさんNGNG
>>668
どうせ、デバッグメッセージなんだから、
デバッグ版は、main使って、リンカオプションに、subsystem:consoleをつける。
リリース版は、WinMain使って、リンカオプションに、subsystem:windowsをつける
別にstreamを継承する必要はない。
MFCとかなら、デバッグ時のmainに工夫が要るかもね
0775デフォルトの名無しさんNGNG
Windows用のフリー/シェアソフト開発を行おうかと思ってるんですが、
世間にはVC++のものが多く出回っているようなので
波に流されて、はじめようかと思っています。

当方、C、Java、Perlは使ったことありますが、
C++はほとんど知らず、VC++は全然です。
短期間である程度できるようになるんでしょうか。
同じような経緯の方の体験談をお聞きしたいです。

Javaやオブジェクト指向を知ってるなら
MFCは大丈夫と、友人は言いますが…
0776776NGNG
Visual C++でプログラミングを始めた者です。

coutで指数表記を使う場合、3.1536e+004のように指数部が3桁で表示されてしまいます。
これを指数部が2桁(例えば 3.1536e+04)になるように書式設定することは可能でしょうか?
ご存知の方はお教え願います。
0777デフォルトの名無しさんNGNG
>>775
ある程度がどのくらいかにもよる
ぐだぐだ考える前にまず本を買って読んでみるべし
0778>>776NGNG
printf() でいいじゃねえか。
細かい書式指定はできないのと違いますか。自分でちまちま文字列作成すれば別だけど。
0779sageるNGNG
>>776
プログラミング言語C++ 第三版 21.4章
07802NGNG
2だけど、あれから少し勉強して今改めて4を見たら殺したくなってきた。
0781デフォルトの名無しさんNGNG
>>780
気付くのが遅い。
0782デフォルトの名無しさんNGNG
質問です。よく雑誌付録のsampleのワークスペースを開くと"外部依存関係"
というフォルダが画面右の枠の中にできているのですが、これはどうやって
作るのでしょうか?同じ名前のフォルダを作成しようとすると予約されてる
からエラーと怒られてしまいます。
よろしくお願いします。
07834NGNG
>>780
あんだとー
殺してみーやー
0784デフォルトの名無しさんNGNG
>>782
"外部依存関係" というフォルダは外部依存関係があるときに表示されます。
というかヤバいよ、その質問。
0785デフォルトの名無しさんNGNG
LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です

↑のエラーについて教えてください!
0786デフォルトの名無しさんNGNG
ヘルプ読め
0787デフォルトの名無しさんNGNG
ヘルプってなーに?
0788デフォルトの名無しさんNGNG
>>784
そういう答え方しかしないなら、答えないほうがまだまし。
というかヤバイよ、その返答。
0789デフォルトの名無しさんNGNG
Cで2進数は使えますか?
10進数と8進数と16進数の使い方はわかったんですが、2進数はわかりませんでした。
教えてください。
0790デフォルトの名無しさんNGNG
winsock2っていうのが使いたいんですけど
初心者でもわかる日本語のところおしえてください
0791デフォルトの名無しさんNGNG
>>785
mainが未解決だとおもいます
0792デフォルトの名無しさんNGNG
>>789
2進数は使えません仕様です
0793デフォルトの名無しさんNGNG
>>768
OutputDebugString() 使え
0794デフォルトの名無しさんNGNG
>>739
a と b が同値の場合はどうするんだ?
>>768
OutputDebugString() 使え
0795デフォルトの名無しさんNGNG
>>789
 2進数を10進数か16進数かに自分で変換しなはれ。
16進数に変換するのが一般的、かつ楽。
0796デフォルトの名無しさんNGNG
RS232Cの通信ソフト作ってます。
受信時について質問します。
port=0x3f8
buf=_inp(port)
とやって、受信データを
とりたいのですが、できません。
通信相手は温度センサで温度をAD変換して
温度をPCで拾いたいです。
受信ポートは0x03f8、
_inp使ってバイト単位でデータを
とってもよろしいのでしょうか?
どうかよろしくお願いします。
0797デフォルトの名無しさんNGNG
そう言う方法(in,outの発行)はWin9Xなら、dllではOK。
NT系なら、ドライバ作れやゴルァって事になるはず。
つーか、COM1とかをCreateFileしたらいかんのか?
0798デフォルトの名無しさんNGNG
プリント中キーを押しても受け付けなくなるのですが
なにか解決策はありませんか?
0799796NGNG
>>797
ありがとうございます。
Win98なのですが、
Dllにしないとだめですか?

CreateFileためしてみます。
0800デフォルトの名無しさんNGNG
MFCで、ビューに乗っかったスクロールバーを使っています。
真中のつまみの長さを変えるにはどうしたらいいのですか。

レンジと値を指定すれば勝手にやってくれると思っていましたが、
つまみが小さいままなので動きがカクカクします。
実害はないんですが。
0801デフォルトの名無しさんNGNG
>>797
相手がCOMポートだから、ドライバが入っているならIOアクセスは
VxDに邪魔されるはず。
行儀良くCreateFileするが吉。
0802デフォルトの名無しさんNGNG
MFC超初心者です。
MFCのキー入力はわかるのですが、ウェイトの設定方法がよくわからないです。
どなたかスロットゲームのソースを頂けないでしょうか?
スロットゲームのソースを見れば本当によく理解でき、勉強できると思うんです。
本当にめんどくさいこと書いて恐縮なのですが、どうかよろしくお願いします。
0803デフォルトの名無しさんNGNG
>>785に便乗質問です。
たとえば、
http://www.asahi-net.or.jp/~yf8k-kbys/vcpp5.html
のコードをそのままコピペしても、
"_main" は未解決です
のエラーがリンク時に出るのですが、
これはなぜなんでしょうか?
0804デフォルトの名無しさんNGNG
>>803
[ファイル] - [新規作成] - [プロジェクト] から MFC AppWizard 選べ。
0805デフォルトの名無しさんNGNG
>>803
MFCプログラムの一部だからです。
MFCがわからないときはMFCによるWindowsプログラミング等の
本を読んで勉強してください。
0806デフォルトの名無しさんNGNG
>>798
別スレッドでAbortダイアログを作ってちょうだい。
0807デフォルトの名無しさんNGNG
aとbが等しいときのa==bの返り血は1で保証されてるのですか?
0808デフォルトの名無しさんNGNG
>>807
保証されてないんじゃないの?
0809デフォルトの名無しさんNGNG
>>807 はネタくさいな。
「返り血」というあたりに残虐性を感じる。
0810デフォルトの名無しさんNGNG
>>807
a = 3;b = 4;
a == b
が0ってのは保証されてるけど
0811807NGNG
されてないんですか…
if(((hoge1==0)+(hoge2==0)+(hoge3==0)+(hoge4==0))==3){...}
とかやりたかったんですが。
めんどくせえ。
0812デフォルトの名無しさんNGNG
>>811
if((hoge1==0)&&(hoge2==0)&&(hoge3==0)&&(hoge4==0)){...}

とかにすれば?
0813デフォルトの名無しさんNGNG
>>812
「4つある条件のうちの一つだけが適合しないとき」ってことでそ?
0814813NGNG
if (3 ==
  ((hoge1 == 0) ? 1 : 0) +
  ((hoge2 == 0) ? 1 : 0) +
  ((hoge3 == 0) ? 1 : 0) +
  ((hoge4 == 0) ? 1 : 0))
{
  〜〜〜
}

でどう?
0815デフォルトの名無しさんNGNG
>>809
ANSI の規格で必ず1が返るのが保証されています。

なので、
>>814
if (3 ==
  (hoge1 == 0) +
  (hoge2 == 0) +
  (hoge3 == 0) +
  (hoge4 == 0))
が可能

if (3 == ((!hoge1) + (!hoge2) + (!hoge3) + (!hoge4)))
も可能
0816815NGNG
↑809 は
>>807
の間違い

あとは、コンパイラが ANSI 必ず守ってるかどうかはよく知らないす
0817デフォルトの名無しさんNGNG
比較演算子が0or1返す前提で作られたプログラムなんて
いくらでもあるぞ。それに今までにこの規格に準拠しない
C/C++コンパイラなんか見た事ない。
0818デフォルトの名無しさんNGNG
>>812の言うとおり、素直に&&でつなげるのいいと思う。

論理演算の結果を足す方式って読みやすくなるわけじゃないし、特にメリットが無いような気がするんだけど。
(環境によっては速くなったりするのかなぁ?)
0819デフォルトの名無しさんNGNG
-0.000287528
-0.003976394
0.004936444
-0.017730057
-0.071510957
0.004752722

こういうデータをVC上に読み込みその際上から順にline[1] , line[2] ・・・ という感で
利用したいのですが、

char line[1000];
double test;
int a;

fp = fopen( "a.txt","r");

fgets(line,sizeof(line),fp);
  sscanf(line, "%g" , &test);

fclose(fp);

}

とやると

line[1] -
line[2] 0
line[3] 0

という感じなって一文字づつ取っていってしまいます。
これはどう解決したらよいのでしょうか?
0820デフォルトの名無しさんNGNG
>>819
何をやりたいのかもうちっと詳しく書け。

>こういうデータをVC上に読み込みその際上から順にline[1] , line[2] ・・・ という感で
>利用したいのですが、

データを文字列として利用したいのか?doubleとして利用したいのか?
0821デフォルトの名無しさんNGNG
すいません。

doubleで利用したいです。入出力関係で色々探したけど
数値として扱う関数なかったので・・・
0822デフォルトの名無しさんNGNG
>>819
二次元配列
文字と文字列の違い

について勉強し直せ。
0823デフォルトの名無しさんNGNG
了解です。どうもありがとうッス
0824デフォルトの名無しさんNGNG
> doubleで利用したいです。
だったら
> char line[1000];
ではダメだろう。
0825デフォルトの名無しさんNGNG
>>819
こういう感じでいいんかな。

char line[1000];
double data[1024];
int count;

fp = fopen( "a.txt","r");

count = 0;
while( fgets(line,sizeof(line),fp) != NULL ) {
  sscanf(line, "%g" , &data[count]);
  count++;
}

fclose(fp);
0826関係ないけどNGNG
一列ごと、ごっそと変数にいれてくれる関数ないの?
0827デフォルトの名無しさんNGNG
>>826
質問の意味が分からん。
0828デフォルトの名無しさんNGNG
たとえばhoge1,hoge2,hoge3,hoge4,hoge5,hoge6のうちちょうど3個が0になる条件が欲しい場合。

&&と||で書くと
if(
((hoge1==0)&&(hoge2==0)&&(hoge3==0)&&(hoge4!=0)&&(hoge5!=0)&&(hoge6!=0))||
((hoge1==0)&&(hoge2==0)&&(hoge3!=0)&&(hoge4==0)&&(hoge5!=0)&&(hoge6!=0))||
((hoge1==0)&&(hoge2==0)&&(hoge3!=0)&&(hoge4!=0)&&(hoge5==0)&&(hoge6!=0))||
((hoge1==0)&&(hoge2==0)&&(hoge3!=0)&&(hoge4!=0)&&(hoge5!=0)&&(hoge6==0))||
((hoge1==0)&&(hoge2!=0)&&(hoge3==0)&&(hoge4==0)&&(hoge5!=0)&&(hoge6!=0))||
((hoge1==0)&&(hoge2!=0)&&(hoge3==0)&&(hoge4!=0)&&(hoge5==0)&&(hoge6!=0))||
((hoge1==0)&&(hoge2!=0)&&(hoge3==0)&&(hoge4!=0)&&(hoge5!=0)&&(hoge6==0))||
((hoge1==0)&&(hoge2!=0)&&(hoge3!=0)&&(hoge4==0)&&(hoge5==0)&&(hoge6!=0))||
((hoge1==0)&&(hoge2!=0)&&(hoge3!=0)&&(hoge4==0)&&(hoge5!=0)&&(hoge6==0))||
((hoge1==0)&&(hoge2!=0)&&(hoge3!=0)&&(hoge4!=0)&&(hoge5==0)&&(hoge6==0))||
((hoge1!=0)&&(hoge2==0)&&(hoge3==0)&&(hoge4==0)&&(hoge5!=0)&&(hoge6!=0))||
((hoge1!=0)&&(hoge2==0)&&(hoge3==0)&&(hoge4!=0)&&(hoge5==0)&&(hoge6!=0))||
((hoge1!=0)&&(hoge2==0)&&(hoge3==0)&&(hoge4!=0)&&(hoge5!=0)&&(hoge6==0))||
((hoge1!=0)&&(hoge2==0)&&(hoge3!=0)&&(hoge4==0)&&(hoge5==0)&&(hoge6!=0))||
((hoge1!=0)&&(hoge2==0)&&(hoge3!=0)&&(hoge4==0)&&(hoge5!=0)&&(hoge6==0))||
((hoge1!=0)&&(hoge2==0)&&(hoge3!=0)&&(hoge4!=0)&&(hoge5==0)&&(hoge6==0))||
((hoge1!=0)&&(hoge2!=0)&&(hoge3==0)&&(hoge4==0)&&(hoge5==0)&&(hoge6!=0))||
((hoge1!=0)&&(hoge2!=0)&&(hoge3==0)&&(hoge4==0)&&(hoge5!=0)&&(hoge6==0))||
((hoge1!=0)&&(hoge2!=0)&&(hoge3==0)&&(hoge4!=0)&&(hoge5==0)&&(hoge6==0))||
((hoge1!=0)&&(hoge2!=0)&&(hoge3!=0)&&(hoge4==0)&&(hoge5==0)&&(hoge6==0))){...}

+を使うと
if(((hoge1==0)+(hoge2==0)+(hoge3==0)+(hoge4==0)+(hoge5==0)+(hoge6==0))==3){...}

明らかに後者の方がわかりやすいし速いと思うのだがどうよ。
0829デフォルトの名無しさんNGNG
↑は>>818へのレスね。
0830デフォルトの名無しさんNGNG
論理演算の返り値の型って何?
キャストとかしなくていいの?加算していいの?
0831デフォルトの名無しさんNGNG
>>828
そういうことね。
わかりました。

後者の書き方も、ちと技巧に走りすぎてる気がするけど、
まぁ、好みの問題ってことですかね。
0832デフォルトの名無しさんNGNG
>>830
Cでは論理演算の結果は整数型です。
0833ななしさんNGNG
整数から論理値への変換

a = !(a == 0);
0834!=NGNG
俺って人気ないの?
0835デフォルトの名無しさんNGNG
>>831
>>828って普通だと思うけど。
0836デフォルトの名無しさんNGNG
問題があるとすれば、
将来 真==1 でない言語に移植をすることになったときだろう。
BASICだと-1だから、ありえない話ではない。

趣味でやるものに関してはいいけど、
仕事でやるものだと避けた方が無難かもね。
まぁ、苦労するのは後任者だけどね(藁
0837デフォルトの名無しさんNGNG
>>836
それはコメントに残しておけば十分じゃないか?
0838デフォルトの名無しさんNGNG
if((hoge1==0?1:0)+
 (hoge2==0?1:0)+
 (hoge3==0?1:0)+
 (hoge4==0?1:0)+
 (hoge5==0?1:0)+
 (hoge6==0?1:0)==3){...}
型をちゃんとしたいなら↑と書くのがいいと思われ。
0839デフォルトの名無しさんNGNG
>>836
論理値が1か0かってのは言語仕様だから、アーキテクチャが変化しても
関係ないよ。
0840デフォルトの名無しさんNGNG
>>839
だから>>836はその言語仕様が違うものに移植する場合って言っているんじゃ……
0841デフォルトの名無しさんNGNG
ifの条件にあんまり複雑な式を入れるのは好きじゃないんで
俺ならこう書く。

count=0;
if(hoge1==0) ++count;
if(hoge2==0) ++count;
if(hoge3==0) ++count;
if(hoge4==0) ++count;
if(hoge5==0) ++count;
if(count==3) {}
0842デフォルトの名無しさんNGNG
俺も841派
またはそれぞれの条件結果をビット列に変換する。
0843815NGNG
>>841
まあ、正論ですね。
俺が上司で、この中で仕事任すとしたら 814 さんかな。
0844デフォルトの名無しさんNGNG
>>843
今回のけんは814じゃだめじゃん
0845デフォルトの名無しさんNGNG
VCって、微妙にANSI準拠じゃないって聞いたよ?
どこら辺までANSI準拠なんだろ。

>>844
へ?なんで?
0846デフォルトの名無しさんNGNG
>>845
ANSI準拠してないのはC++。Cに関しては完全準拠だよ。
0847デフォルトの名無しさんNGNG
>>845
hoge5が無いから
0848デフォルトの名無しさんNGNG
訂正。
5以降が無いから
0849デフォルトの名無しさんNGNG
>>847
811 を見てから物を言え
811 を見てから物を言え
0850デフォルトの名無しさんNGNG
明日の「教えてクン」を目指す、若き戦士達に以下の文章を捧げる。
日々精進し、パソコンヲタクどもの親切を蹂躙してやれ。

1.努力を放棄すること
  いやしくも「教えてクン」たるもの、努力をしてはならない。
 過去ログを読んだり、検索してはいけない。
 「英語は苦手なので、分かりません。」は、高く評価できる。
 辞書片手にマニュアルやReadMeを読むなど、決してしてはならない。
 他力本願と言われようと、自分で調べたり試行錯誤したりせず、
 他人の努力の結果を搾取するのが、正しい「教えてクン」である。
 また、「もう何が悪いのかサッパリ分かりません。」と言って
 ふてくされるのも有効である。「サッパリ」という単語が
 「やる気の無さ」を効果的に表現している。
 「原因を特定するには、何をすべきでしょうか?」と訊いてしまうと
 自己の積極性が現れてしまうので、「教えてクン」失格である。

2.情報を開示しないこと
  使用OSや、機器構成などの必須の情報を知らせてはならない。
 マザーボード名やBIOSのバージョンも同様だ。
 具体的なアプリ名やバージョンも隠蔽すべきだ。
 「DVD再生ソフト」のように曖昧に表記しておけばよい。
 反対に「前から欲しいと思っていた○○」とか「安売りされていた
 ○○」 等の「どうでもいい情報」は、どんどん書いてやれ。
  トラブルの場合は、状況を正確に記述してはならない。
 「なんだかうまく動きません。」とか「エラーが出ます。」等と
 具体的なことは何も書かないことが重要である。
 また、自分の試してみた事も具体的に書いてはいけない。
 考えられる組合せのマトリックスを作成し、状況を整理するなど
 もってのほかである。最悪の場合、それだけで問題が解決してしまう
 こともあるのだ。
 「いろいろやってみたけど、動きません。」が理想的だ。

3.答える人間のことを考えないこと
「教えてクン」は、孤高の戦士である。相手のことを考えるようでは
 教えてクン失格というものだ。
 以下のような行動が、望ましい。
  初心者であることを高らかに宣言し、初心者向けの丁寧で
 分かりやすい説明を強要する。専門用語の使用を禁じておくと
 さらに効果的である。簡潔な説明を禁じられたヲタクどもは、
 同じ内容を説明するのに、何倍もの労力を強いられる。
 自分は努力せず、相手には多大な努力をさせることこそが
 「教えてクン」の真骨頂である。
  マルチポストも有効である。そのBBSを信用していないことを
 明確に示せる。「どうせ、お前らじゃ分からんだろう。」という
 意志表示として高く評価できる。もちろんマルチポストの非礼を
 あらかじめ詫びてはならない。それでは、単なる「急いでいる人」
 になってしまう。それは、教えてクンではない。
  質問のタイトルは、「教えてください。」で良い。
 タイトルを読んだだけでは「何に関する質問」か全く分からない。
 そういう努力は、答える人間にさせれば良いのだ。
 とにかく、答える人間が答えやすいように気を使って質問しては
 ならない。傲慢で不遜な態度が必須である。
 「聞きたいことがあります。」など、プロの仕事であろう。
0851デフォルトの名無しさんNGNG
コピペ。

URLは失念したけど、水野スレにURLが貼ってあった。
0852デフォルトの名無しさんNGNG
>>850
これはこれで面白い冗談だが、笑えることに実際にそれ級の奴が実在した。
一緒に仕事していたが、とても使える奴じゃなかった。
0853教えて君NGNG
static char *p = "ABC";
static char muki = 'D';
p = &muki; //★
wsprintf( str, "%s", p );

この場合の表示結果はDとなります。
僕が分からないのはp("ABC")に'D'を接続したいのです。
//★の部分を色々いじったのですがうまくいきません。
オセーテ。
0854デフォルトの名無しさんNGNG
接続ってのがよくわかんないけど、ABCDってしたいってことかな。
p = &muki;だと、単に'D'の文字が書いてあるアドレスを
pに代入しているだけだから、そうはなりません。

多分根本的にポインタがわかってないと思うんで、
今月のCマガを買って読むのが良いと思います。
ポインタ特集なんで。

p = &muki;の行を取り払って、
wsprintf(str,"%s%c",p,muki);
で動くとは思うけどね。
理由は自分で調べてくらっさい。頑張れ。
0855教えて君NGNG
しつこいのは承知…

static char *p = "A";
static char muki = 'B';
p = &muki; //★
wsprintf( str, "%s", p );

この結果Bだけが表示されるのはpの先頭アドレスにAが入っていて、
そこにBを代入した結果というのは分かるのです。

つまりpにA、Bを代入し、表示結果ABとするためには
pの先頭アドレスにA、その次のアドレスにBを代入する必要がありますね。

しかし、★の部分でそのAの次のアドレスを指定する方法が分からないのです。
(試してみた例)
�@ p[1] = &muki; //アドレスを配列状に意識したつもり
�A p ++; p = &muki; //アドレスを進めてみたつもり

とりあえず、僕がポインタの機能をよく理解していないのですが(ネットで検索中)、
今、作りかけの関数だけ作ってしまいたいので上の例�@、�Aではダメな理由、
または正解を教えていただけないでしょうか?

あとCマガとやらも近くの書店で漁ってみます。
0856デフォルトの名無しさんNGNG
>>855
君、根本的なところで理解できてないよ。
その問題の解決策を教えたところで根本的な解決にはならないから教えるのは嫌だ。
ちゃんと本を読んで出直してきてください。
0857デフォルトの名無しさんNGNG
>>855
領域を確保しないと、アドレスはつかえません。
「場所」が無ければ住所もない、というようなことです。
p は 'A', '\0' という文字2個分の領域の先頭アドレスを指しています。
そこにさらに一文字つなげるための領域は存在しませんから、
つなげることは出来ません。

ポインタについてもう少し理解してもらわないと、話が通じないので
これ以上の説明はできません。
0858教えて君NGNG
>857
メモリ確保ですね。
先程、ネットでチラッと見てました。
その一言で十分です。
アリガタウ。
0859デフォルトの名無しさんNGNG
>>858
ネットでさがすより入門書買えよ
ネットの情報よりはるかにわかりやすくて、
すくなくともネットの情報より正確に書いてあるぞ。
0860デフォルトの名無しさんNGNG
>>857
ネット上の情報は脱初心者以上になってから役立つものだよ。
もし初心者ページがあったとしてもそれは
ド初心者が自分の勉強結果を書いてるようなページばっかだから
何の役にも立たないよ(うそ、おおげさ、まぎらわしいのが多くて)

初心者を抜け出たらどんどんネットを活用するべきだが・・・
0861デフォルトの名無しさんNGNG
そうそう。自分で情報の真贋を見極められないうちはネットに頼るのは危険。
役に立つ情報の数倍の有害な情報が溢れているからね。
0862857NGNG
>>860
おれ?
0863デフォルトの名無しさんNGNG
static LOGFONT NEAR m_lfDefPrintFont;

クラスのなかで宣言されていたのですが
NEARって何ですか?MSDNのキーワードにはいってなかったんですが
0864860NGNG
>>862
ゴメソ
>>858ね
0865デフォルトの名無しさんNGNG
>>863
昔のアーキテクチャーを引きずった残滓なんで気にするな。
0866863NGNG
>>865
宣言に加えても意味はないと考えていいのでしょうか?
0867VC初心者NGNG
自分のパソコン上のプロジェクトファイルは、当然VCで開けますが、
ネットワーク上のプロジェクトファイルを開こうとすると、
「パスが見つかりません」とかでて、開けないんですね。
なんだか、オバカですね。

VCはじめたばかりの自分がファイルを開くプログラム作ったんだけど
どこのファイルでも開けたのに。。。。
VCってなんなんでしょうか?
0868デフォルトの名無しさんNGNG
>>867
ファイルシステムのレイヤーについてもっと勉強すれば理由はわかるよ。
0869デフォルトの名無しさんNGNG
>>846
トライグラフに関して、ANSI仕様を厳密に満たしていたっけ?
うかつに完全とかいわない方がいいよ。
0870デフォルトの名無しさんNGNG
>>863
WinDef.h
を覗いてみてにょ。
空宣言されていうんだにょ。
0871863NGNG
>>870
情報ありがとうございます。
覗いてみてみます。
0872867NGNG
私が得をする情報をタダでください。
それによって私は大変な恩恵に預かりますが、あなたには何の
メリットもありません。
でも、いいじゃないですか? どうせ情報なんてタダでしょ?

とても困っているので、情報を知っている人は私を助けなければ
いけません。これは義務です。
初心者にも分かるように説明してください。
私は、ごく普通の人間なので、パソコンのわけの分からない知識は
ありません。勉強するつもりもありません。時間の無駄です。
検索するなんて面倒です。どうしてそんな面倒な事するの?
知ってる人に聞けばいいじゃん。どうせタダだし。

マルチとか質問スレというのはヲタクのルールです。
私は普通の人間なのでヲタクのルールなど知ったこっちゃありません。
早く教えてください!
早く教えろ!
早く!
これだけ言ってもまだ教えねーのか?!
0873デフォルトの名無しさんNGNG
>>867
>VCってなんなんでしょうか?
MS製品のC++コンパイラ
0874デフォルトの名無しさんNGNG
>>872
ただの基地外か。
0875デフォルトの名無しさんNGNG
性格
無気力、無定見、無感動の三拍子が揃ったタイプです。救いようが無い性格とも云えますし、
深い悩みも苦労も無い、幸せな人と云う事も出来ます。
山谷や釜ヶ崎に屯(たむろ)する浮浪者の平均的タイプと云えるかも知れません。
こうなった原因は、知恵遅れや生まれつきの異常性格者の場合も有りましょうし、
アル中、ギャンブル狂い、色狂いなど自業自得の躓づきに、
失恋、離婚、失業、倒産、裏切り、犯罪などが絡んで来て自棄になり、無為無策の日々を過ごす内に、
性格の荒癈が徐々に進んで来た結果と云う場合の有りましょう。とにかく生きる目的が何も無く、
その日、その日、三度の飯に在り付ければ、周りで人が死んで行こうが、世の中がどうなって行こうが、
余り神経を動かされる事の無いタイプと云う事が出来ます。

恋愛・結婚
日常の意識の中で、
一花咲かせて見ようと云う気になるか
プライドが復活するか
競争心が目覚めて来るか
しなければ現在の状態では、恋愛も結婚も無縁でしょう。

職業適性
真剣に働く気が出て来てからの話でしょう。

対人関係
動物的行動による刹那、刹那の対人関係が殆どだと思います。
衝動的に、人に危害を加えたり、加えられたりしない用心が必要でしょうし、
一日も早く、禽獣的心境から脱する事も必要でしょう。
0876コンボボックスについてNGNG
コンボボックスの使い方について教えてください。

CString name[] = {
"a", "b", "c", "d"
};

int i;
m_combo.ResetContent(); // 全項目削除
for(i = 0; i < 4; i++){ // コンボボックスに文字列を挿入
m_combo.InsertString(-1, name[i]);
}

※m_comboは、コンボボックスのメンバ変数です。

このようにして、コンボボックスにリストを表示させることはできました。

例えばコンボボックスのリストにある「a」を選択しボタンを押すと、「a'」というメッセージを表示させたいとします。
質問は、『「a」を選択したとき』の部分をどのようにプログラムを組めばいいのでしょうか?
教えてください。
よろしくお願いします。
0877デフォルトの名無しさんNGNG
通常使うプリンタを切り替えるにはどうしたらいいですか?
0878デフォルトの名無しさんNGNG
CEditViewクラスで一行に入力できる文字数を設定することは
できるのでしょうか?
0879デフォルトの名無しさんNGNG
>>876
CBM_SELENDOK
0880kkIP1A0019.hkd.mesh.ad.jpNGNG
main()
{

}
0881デフォルトの名無しさんNGNG
画像処理での、「輪郭線(境界線)追跡」を行うプログラムが書けません。
誰か教えて下さい。お願いします。
0882デフォルトの名無しさんNGNG
上司にごめんなさい僕できないです会社やめます
といっておけ。

マルチポストするな。
0883デフォルトの名無しさんNGNG
つまーん無いこと聞いていい?
VK_1とかのKeyEventってなんかインクルードしないといけないの?
定義されてないって怒られちゃうんだけど。
VK_LEFTとかは大丈夫なのにさー。
0884デフォルトの名無しさんNGNG
>>883
VK_NUMPAD1 ぢゃないの?ハズしてたらスマソ。
0885デフォルトの名無しさんNGNG
お勧めの参考書ってあります?
0886883NGNG
>>884
ほんとだ、それでテンキーの数字キー取れるね。けどさ、VCのヘルプの
「KeyEvent クラスのメンバ」ってページにVK_1書かれてるんだけど、
実装するとエラーになっちゃうんだよ。同様にVK_Aとかも。
だれか使ってる人いたら情報ください。

>>885
ここいいよ。C++ここで3日で覚えた。Cが出来ればって前提だけどね。
http://users-web1.iac.ne.jp/~yasutaka/c_lang/
参考書はオライリーがお勧めだよ。C++のは見たこと無いんだけど。
0887デフォルトの名無しさんNGNG
>>883
よくわからんが、KeyEvent クラスってのはJAVAの話でないの?
0888デフォルトの名無しさんNGNG
>>886
VK_Aとかの定義をヘッダファイルで見てみたら、それが定義されてなくても
なんかいい感じにソースが書けることがわかるから見てみれ。
0889デフォルトの名無しさんNGNG
>>886
だから猫のC++はやめとけっての…
0890デフォルトの名無しさんNGNG
>>881
くるくる回すんだよ。
0891名無し募集中。。。NGNG
VC++にはスタンダード、プロフェッショナル、エンタープライズの3エディション
が有りますが、スタンダードとプロフェッショナルとどちらがお勧めでしょうか?

当方、まだ素人でサンデープログラマを目指すものです。作るにしても
デスクトップアクセサリー程度と考えています。
0892デフォルトの名無しさんNGNG
>>891
どんな目的だろうと、スタンダードを選択してもいいことはあまり無いよ。
0893883NGNG
>>888
おお!バッチリだ。
スマソ、最初にヘダー見るべきだった。初心者だ。
0894デフォルトの名無しさんNGNG
>>892
安い
0895デフォルトの名無しさんNGNG
MFCをつかわずにウインドウズのプログラムは作れるんでしょうか?
作れないですよね?
0896デフォルトの名無しさんNGNG
>>895その伝だとボーランドはどうなるんだ?
0897デフォルトの名無しさんNGNG
>>894
ああ、プロフェッショナルよりは安いよ。
買っても何もできないけど。

>>895
それは嘘。
0898デフォルトの名無しさんNGNG
クラスライブラリ使わなくてもウィンドウぐらい出せる。
0899デフォルトの名無しさんNGNG
>>897
何もできないってのも嘘だとおもうよ。
普通の人にとってのメリットって最適化と
プロファイリングぐらいだと思うけど。
プロファイリングにしたって普通の人は
あまり使わないけど。
0900デフォルトの名無しさんNGNG
>>899
スタティックリンクと再配布もできなかったはず。
0901デフォルトの名無しさんNGNG
再配布もだめだっけ?
あと、WTLのAppWizardって組み込めますか?
0902899NGNG
>>900
再配布はオッケーになったはずだよ(VC6.0で)
スタティックリンクはできなかったと思うけど、それほど
問題だとも思えない。どうせ今買っても、すぐに新しいバージョン
がでるんだし、それまでの勉強用と思えば。
0903デフォルトの名無しさんNGNG
すんません、
VC++再インストールしたら何故か
[ビルド]の[プロファイル]がDisableになってて
使えなくなってしまいました。
/profileオプション付けても
そもそも項目が選択できないので無駄な様子

何処かに設定ってあるんでしょうか?
今まで特になにも考えんずとも使えたので
設定方法がさっぱり分かりません、
MSDN引いてもそんな症状に付いて書いてある項目見つからなかった

復活の方法をどなたかご存知でしたら教えて下さい。
0904903 NGNG
バージョン書き忘れてました、Ver6です。
スタンダードだから使えないってオチではありません。
0905891NGNG
いろいろご意見ありがとうございます。
近く新バージョンがでるとのことで、待ってみるのも手かなと。
それにしても、なにもできないんじゃあスタンダードを選ぶ意味はないですね。
私にとっては価格の問題が一番大きいので、バージョン落ちのジャンク等も探してみます。
0906デフォルトの名無しさんNGNG
>>905
だから何もできないなんてうそだって。
個人で使っている人でプロフェッショナルエディションの機能を
使い切っている人なんていないと思うけど。まして素人なら。
でもとりあえず、BorlandC++でがんばってみたら。タダだし。
0907デフォルトの名無しさんNGNG

BorlandC++って今ただなの
どこから
落とすのか教えて下せ-
0908デフォルトの名無しさんNGNG
Cマガに付いてるYO!
買うしかないYO!!
0909891NGNG
>>906
ご教授ありがとうございます。基礎学習のためBorlandC++
を使ってみます。DLはボーランドから出来そうですね。
0910デフォルトの名無しさんNGNG
スレ違い、板違いかもしれませんが。
MSDN onlineを全部ダウンロードしておいて
オフラインの時に見たいのですけどどうしたらいいでしょうか?
0911デフォルトの名無しさんNGNG
ファイル→名前を付けて保存
0912デフォルトの名無しさんNGNG
->って何?
0913デフォルトの名無しさんNGNG
>>912
演算子。
0914デフォルトの名無しさんNGNG
>>911
保存できないのがあるよ。ソースも見れないの。
CWndのところとか。
0915デフォルトの名無しさんNGNG
void C***View::OnContextMenu(CWnd* pWnd, CPoint point)
{
CMenu menu;
menu.LoadMenu(IDR_POPPU_MAIN);
CMenu *pMenu=menu.GetSubMenu(1);
pMenu->TrackPopupMenu(TPM_CENTERALIGN,point.x,point.y,AfxGetMainWnd());


}
なしてこれで動かない?
0916デフォルトの名無しさんNGNG
↑動く事は動くんだけど、
右クリックすると不正な処理d。
0917デフォルトの名無しさんNGNG
>>915
1)IDR_POPPU_MAINが無い
2)IDR_POPPU_MAINに2番目の項目が無い(GetSubMenu(1))
3)IDR_POPPU_MAINの2番目の項目がポップアップでない
どれか
0918デフォルトの名無しさんNGNG
ぽっぷぷ〜
0919eijNGNG
お世話になります。WIN98 VC6 MFC で組んでおります。

仮想画面にビットマップを転送しておいて、(再)描画時
に仮想画面から通常画面に転送するといったことを
しております。
ここで、"PatBlt"を使った直後、残メモリがちょうど画像の
サイズ分減少します。"PatBlt"をコメントで抜いた場合は
"BitBlt"の直後に同じように残メモリが減少します。
最初の表示時だけで、再描画の際には起こりません。
画像のサイズには関係なく起こる症状です。
何が原因でこのような症状になるのかご教示いただければ幸いです。

なお、残メモリは、"GlobalMemoryStatus"api関数で調べております。

以上よろしくお願いいたします。
0920デフォルトの名無しさんNGNG
>>919
?
初期:PatBlt→仮想画面
描画時:仮想画面→BitBlt
で残メモリが減少し続けるってこと? PatBlt のコメントアウトとかの意味がよーワカラン。
0921eijNGNG
>>920

初期:PatBlt→仮想画面、さらにBitBlt→仮想画面としてるんだけど。
で、再描画時:仮想画面→BitBltとしてます。

このときPatBltで起こります。PatBltを行わなかったらBitBltで起きます。
つまり仮想画面に何かデータを転送した時点で起こります。

VC++相談室3の方にも振ってみようと思います。
0922デフォルトの名無しさんNGNG
>>921
コメントで抜くって意味がわかんないんだってバ。
それにメモリが減るって具体的にどのくらい減ったの?
0923eijNGNG
>922 スマソ。コメントで抜くってのは、単なるコメントアウト。
PatBltはなくてもいい処理ということで。
メモリに関しては、画像のサイズ分。CreateDIBitmapを使ってる
んだけど、このときに減った量と同じ量がPatBlt(or BitBlt)で
減る。
0924eijNGNG
>>919-923 の件ですが、以降VC++相談室3でお願いします。
すんません。あっちの方が人が多そうなので。

VC++相談室3
http://piza.2ch.net/test/read.cgi?bbs=tech&key=993186053
0925デフォルトの名無しさんNGNG
□□□VC 初心者質問スレ 2□□□
http://piza.2ch.net/test/read.cgi?bbs=tech&key=994129650

----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------
0926超初心者NGNG
どうか教えて下さい。
VC++6.0SP5でODBCからデータ拾って印刷するというプログラムなんですが、
ビルドして実行すると「Debug Assertion Failed!」というメッセージが出てしまいます。
"strex.cpp"がどうたらとか書いてあるんですが意味が全くわからないのです。

再現不可能なエラーかもしれないんで申し訳ないんですけど、
どなたかご存知の方、ご教授願います。

ちなみに関係ないかもしれませんが、OSはWinNT4.0SP6です。
0927デフォルトの名無しさんNGNG
>>926
CString関係で何かの扱い方を間違えてる。
文字列の長さだとか、インデックス値とかチェックしてみるべし
0928926NGNG
>>927
ありがとうございます!
調べてみます。
0929デフォルトの名無しさんNGNG
>>928
ちゅ〜か、デバッガの使い方覚えてくださいね。
停止した部分から判断できるから
0930デフォルトの名無しさんNGNG
>>926-929
ちゅ〜か、新スレ立ってんだからそっち逝けよ
□□□VC 初心者質問スレ 2□□□
http://piza.2ch.net/test/read.cgi?bbs=tech&key=994129650
0931デフォルトの名無しさんNGNG
>>930
誰も書いてなくて寂しいんだもん(ぉ
0932デフォルトの名無しさんNGNG
心のやさしい方、お願いします。

CViewをWS_CLIPCHILDRENでつくって、
そのビューにアイコンを貼り付けます。
で、そのときはアイコンの透明個所は透明になっているんだけど、
ビューをBitBltとかで書き換えたときは、アイコンの個所が
BitBltされないので、下が透けているようになりません。

何か良い方法はないでしょうか?
0933デフォルトの名無しさんNGNG
VCではActiveXって作れないんですよね。VBで作るしかないの?
0934トイレから暇つぶしNGNG
そろそろいっぱいになってきたのであたらしいスレをたてました。
以後はそちらで質問してください。

□□□VC 初心者質問スレ 2□□□
http://www.2ch.net/2ch.html
0935デフォルトの名無しさんNGNG
>>932
http://piza.2ch.net/test/read.cgi?bbs=tech&key=994129650
へ
0936デフォルトの名無しさんNGNG
>>934 リンク先
おいおい
0937デフォルトの名無しさんNGNG
>>933
http://piza.2ch.net/test/read.cgi?bbs=tech&key=994129650&st=3&to=3&nofirst=true
0938935NGNG
2分違いで重複スレ立てられちってたな
0939935NGNG
□□□VC 初心者質問スレ 2□□□
□□□VC++初心者質問スレ□□□
□□VC++初心者質問スレ2□□

誰かテキトーにまとめといて、ワシャもう知らん
0940デフォルトの名無しさんNGNG
昨日からあるこっちが本スレ。続きはこちらで。

□□□VC 初心者質問スレ 2□□□
http://piza.2ch.net/test/read.cgi?bbs=tech&key=994129650
レス数が900を超えています。1000を超えると表示できなくなるよ。