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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
タイトルのとおり、初心者専用です。

前スレ
★初心者にVisual C++を教えるスレ★ (←実はPart2)
http://pc3.2ch.net/test/read.cgi/tech/1030985362/l50

★初心者にVisual C++を教えるスレ★
http://pc3.2ch.net/test/read.cgi/tech/1023530449/l50

関連スレ
■ VisualC++(MFC限定)相談室 5■
http://pc3.2ch.net/test/read.cgi/tech/1028553308/l50

Win32API 質問箱 Build7
http://pc3.2ch.net/test/read.cgi/tech/1036654893/l50
2デフォルトの名無しさん:02/11/25 03:04
BorlandC++Builderと比べて簡単ですか?
31:02/11/25 03:18
>>2
何を持って簡単とするかは人それぞれですが、
GUIアプリを作るならば、BCBの方がとりあえず
取っつきやすいでしょう(特にVBユーザーなどは)
今買うならVC++7.0かVC++6.0かどちらがいいの?
C#のほうがいいかな?
ビジネスアプリ系をこしらえようと思ってる。
5デフォルトの名無しさん:02/11/25 05:04
VC++[~~~~~~~~~~~]←電車
↑轢断死体
どなたか文字列を定数値に置き換えられる関数をご存じないでしょうか?
たとえば"TRUE"という文字列から数字の1を返すような。
int stoi(char *str)
{
if(strcmp("TRUE",str)==0)
return 1;

return 0;
}
86:02/11/25 07:06
>>7
やっぱそんな感じが妥当ですかねぇ。
即レス、どうもありがとうございました。
いや、そうとも限らないよ。熟練さんは他にどうやって実装するのか見てみたいなぁ
>>6
君は列挙型をシランのかね?
列挙型のどこで文字列を使うのか問いたい
>>9
他の例があるならともかく、
「TRUEが1を返す」だけだと>>7のようにせざるを得ないと思われ
13デフォルトの名無しさん:02/11/25 16:07
つーか、VC++関係ないだろお前ら……
14デフォルトの名無しさん:02/11/25 16:37
SDKでやってるんですけれど
ダイアログボックスなどで、グループ内にあるチェックボタン・エヂットボックスなどを
一気に無効かするなんてできますか?
たとえばグループのIDなんかを利用して。
15デフォルトの名無しさん:02/11/25 17:24
構造体のメンバにしt
16デフォルトの名無しさん:02/11/25 17:27
配列化
パイレーツ化
1814:02/11/25 17:46
>>15-17
フォーループなんかでまわすってことですか?
エディットボックスのプロパティなんかをみると
「グループ」ってチェックボックスがあったんで、これ使ってできるのかななんて思いました。
19デフォルトの名無しさん:02/11/25 17:48
政界
2014:02/11/25 17:53
ありがとうございました。
「グループ」のヘルプを読んでも意味がわかんないおいらはおつむが弱いのだろうか。
21デフォルトの名無しさん:02/11/25 18:56
ツールバーなんかの透過色ってパレットで決まるの?
BMPリソースで明るい灰色にしたら抜けたけど仕組みがわかりません。
VC関係ないかも。
>6
ふつー、hash
>>22
そうでもない
>>4
VC++の方がいいでしょ。
VC++6.0に比べ、VC++.netはまだ関連書籍が少ないけど・・・
>>22
アフォですか?
7 以外にまともな方法あるかよ。

まあ 7 は関数名を atob() にすべきだし、型も bool でいいし、
return strcmp("TRUE",str)==0; で十分だけどな。
>>24
根拠は何よ。
C# は VB ライクにアプリを作れるという話だが。
>>26
デバイスドライバを作るならVCに決まってるやろうが。
>>27
4が作りたいのはビジネスアプリ
PPM形式の画像を表示させたいのですが、どうすればよいのでしょう?

BMPなら簡単にできますよね?
その要領で他の画像ファイルも表示できるのですか?
できないとしたらどうすれば良いのでしょう?
オラクルからダイナセットを取得してからソートってできますか?
ORDER BYじゃなくて、ダイナセットをソートしたいんです。

また、ダイナセットの中身を検索することはできますか?

ダイナセットにレコードを挿入、削除はできますか?

お願い致します
3127:02/11/26 01:51
みなさんできました!!
本当にありがとうございました!!
左のウインドウにクラスってありますよね。
今までここに表示されてる内容が
使ってるヘッダーファイルの中身だったんですが
いつのまにか使ってるcppファイルの中身になってしまって…
どうやって元に戻すのでしょうか?
> 今までここに表示されてる内容が
> 使ってるヘッダーファイルの中身だったんですが

(゚Д゚)ハァ?
34デフォルトの名無しさん:02/11/26 13:35
>>32
予想だと、定義の表示、宣言位置の表示の違いが
解っていないことと思われ。
3532:02/11/26 16:53
今までは左のウインドウにあるクラスっていうタブをクリックすると
現在使ってるライブラリに入っているクラスやクラス関数の
一覧が表示されてダブルクリックで頭出しできたのですが、
今はできなくなってしまったのです。
不便なので元に戻したいのですが…
37デフォルトの名無しさん:02/11/26 23:38
うんこ質問スマソ。
cpp形式でコンソールアプリ作ったとして、
コンパイルしたexeさえ持っていけば、VCの入っていない会社でも実行できますか?
>>37
うん。こ。
>>37
リリース・ビルドで作ったやつを持ってけ
4032:02/11/27 03:34
>>36
クラスウィザードって、挿入→クラスの新規作成ってやつですか?
クラスの種類とかインプリメントファイルとかよくわからないのですが…
41デフォルトの名無しさん:02/11/27 09:55
改行タブインデントがごちゃごちゃのソースを整形したいのですができるでしょうか?
そういうプログラムを自分で作る。
43デフォルトの名無しさん:02/11/27 20:13
おい貴様ら!貴様らを知恵者と見込んで聞きたいことがある。
俺様は今C/C++を勉強中でポインタについて確認したいことがあるのだ。
以下は俺様がじきじきに勉強してまとめたものだが、

int *hh;
char *hh;  
と宣言してもどちらもアドレスが入る。(基本)

intで宣言したらメモリ上の大きさはデフォルトの4バイトcharで宣言した方は1バイトである。
よって配列で拡大していくとintは4バイト、charは1バイトずつアドレスが増加する。
 
printfで表示させる方法は"%p"で&変数だとアドレスの表示、"%scdfとか型に合った香具師"で*変数だと中身の表示

char hhh[] = "ABC";    //←はhhh[0]で、(printfで)&hhhで見るとAAAの格納しているメモリ上のアドレスを表示する。
char hhh[] = {'A','B','C'};  //←はhhh[0]、hhh[1]、hhh[2]で、(printfで)&hhhで見るとこいつのhhh[0]の格納されているメモリ上のアドレスを表示する。
                    ちなみにこいつら'A'、'B'、'C'はメモリ上では連番で連なっている。
char *hhh[] = "ABC";   //←はhhh[0]で、'ABC'の入っているメモリ上のアドレスを格納している。
char *hhh[] = {'A','B','C'}; //←はhhh[0]、hhh[1]、hhh[2]で、'A'、'B'、'C'の入っているそれぞれのメモリ上のアドレスを格納している。
                    ちなみにこいつら'A'、'B'、'C'は別々のメモリアドレスに格納されている。

char *hh = "AAAAAA"; 
char **hhh = &hh;     //←は'AAAAAA'の入ってるアドレスをいれていることになり、
                   printf("%s",*hh)で"AAAAA"表示、printf("%p",&hh)でアドレス表示、

確認が欲しい、以上であってるか?

あとprintf("%c",**hh)がわからないから教えてくれ!
4443:02/11/27 20:18
char *c[44] = {"C言語のことは漏れに聞け!"}; のスレで聞けばよかった・・・・・
まぁいいや。とりあえず答えろ
>char *hhh[] = {'A','B','C'}; 

型エラーにはならんかえ?
46デフォルトの名無しさん:02/11/27 20:22
FOR〜NEXT命令について教えてください
あとその活用方法も一緒に
char *hhh[] = {"A","B","C"}; 

こうだな。
つうかVC++関係ねぇ……
>>45
エラーにはならないはず。

エラーにはね。
4943:02/11/27 20:31
>>45
型とかコンパイルエラーとかそんな後で直せるのは無視してくれ。
論理的にポンタの説明あってるかどうかを教えてくれ
(;´Д`)ハァハァ…ポンタ…
ぽん太(・∀・)イイ!
ポ・・・ポンタ・・・・
ワラタ
5243:02/11/27 20:37
>>50
>>51
だ〜か〜ら、ミスはど〜でもいいから説明を読め!!!ちゅうんじゃ!!
>char *hhh[] = {"A","B","C"}; 

というか、こんな書き方するか?
char *hhh[3] = {"A","B","C"}; 

こうだろ

こうして糞スレ化していくのだよ
定数というかリテラルはconst char *ね。

>あとprintf("%c",**hh)がわからないから教えてくれ!

hhの宣言・定義はどれだ?
5743:02/11/27 20:45
結局どこがあってるのかどこが間違ってるのか誰もキチンと答えん・・・・・・・・鬱
5843:02/11/27 20:45
>>56
一行上
#define hh うんこ;
;は不要だろ
6143:02/11/27 20:47
>>56以外は糞ばっか。お前ら答えなくていいよ。まじで
> intで宣言したらメモリ上の大きさはデフォルトの4バイトcharで宣言した方は1バイトである。
> よって配列で拡大していくとintは4バイト、charは1バイトずつアドレスが増加する。

int で宣言したらメモリ上の大きさはデフォルトの sizeof(int) バイト char で宣言した方は sizeof(char) バイトである。
よって配列で拡大していくと int は sizeof(int) バイト、char は sizeof(char) バイトずつアドレスが増加する。
6362:02/11/27 20:50
>>61
面倒見てあげようと思ったけど、その一言でやる気なくした。
頑張ってね。
釣り師だろ

>>43は間違っている以前に日本語が破綻している
6543:02/11/27 20:53
>>62
本にはint=4バイト、char=1バイトと書いてあった。
sizeofで大きさ見るとそのようになるはず
6643:02/11/27 20:54
>>63
おながいします。

>>64
糞は書くなって何度も言わせるな
6763:02/11/27 20:56
>>66
最後の一行で改めてやる気なくした。
頑張ってね。
6843:02/11/27 20:57
>>67
やだ。あってるか教えろ
69ミントたん萌え:02/11/27 20:58
ミントたん萌え、と……
            ∧_∧
     ∧_∧  (´<_`  ) 
     ( ´_ゝ`) /   ⌒i  あの腹黒さがたまらないよな、兄者。
    /   \     | |
    /    / ̄ ̄ ̄ ̄/ |
  __(__ニつ/  FMV  / .| .|____
      \/____/ (u ⊃
7043:02/11/27 20:58
答えられない奴は黙ってろ
デバイスコンテキストの「コン」って何?
context
【名】《【複】contexts》
(1) (文章の) 前後関係, 文脈.
(2)周囲の状況, 背景の事情.

thank you for Roboword!
なんでコンで区切ってるんだろう
74ちなみに:02/11/27 21:05
conは「一緒に」という意味、と……
            ∧_∧
     ∧_∧  (´<_`  ) 
     ( ´_ゝ`) /   ⌒i  TOEIC500点だろ、兄者。
    /   \     | |
    /    / ̄ ̄ ̄ ̄/ |
  __(__ニつ/  FMV  / .| .|____
      \/____/ (u ⊃
とりあえず謝っとく。
正直、すまなかった。
7641:02/11/28 00:41
>>42
それができたら苦労しないっす。
lintみたいなツールがVCについてないかなーと。
ついてても良さそうだけど。
>>76
Ctrl+A → Alt+F8

http://pc3.2ch.net/test/read.cgi/tech/1030985362/866
にも書いたんだが、スマートインデントが有効になってないとダメっぽい(デフォでは有効)
>>77
ありがd。
でもうまくいかないのでいろいろあがいてみたところ
ツール→オプション→環境→キーボード→キーボードスキームマップ→VS6
でキーボードスキームマップをVS6のものにしたらうまくいきました。
#環境かくべきでしたね・・・。(VC.NETでふ)
VS6の方がフォローもらいやすそうですししばらくこれでいきます。
ありがとうございました。
MSはNETに移行していくけど
この板のサポートは6.0の方が通りがいいですにゃー
80漂流する初心者:02/11/29 11:30
c言語のプログラムを最近始めたものです。
今までMS−DOSとメモ帳でやっていたのですが
先日「1週間でマスターするVisual basic.net」という本を
購入して付属のVisual Studio試食版を使用してみたところ
非常に使いやすかったので
市販されているVisual C++を購入してみました。
ですが説明書らしい説明書がついておらずエデイターの開き方とか
コンパイル方法が全然分からないんですがどうすればいいでしょう?
誰か持っている方でご存知の方いらっしゃいませんか?
やっぱり関係する本を買うのが一番ってとりばやいですよね?
81漂流する初心者:02/11/29 11:35
↑Visual basic.netはVisual basicをCとは別に
勉強するために購入しました。
>>80
エディタ ファイルをダブルクリック
コンパイル F7

わたしゃ本買ったけどねー。チュートリアルみたいなやつを。
83漂流する初心者:02/11/29 11:59
>>82
レスありがとうございます。
Visual C++の使い方(※自分はあくまでもCをやりたいんですが)
で初心者にも分かりやすい本ってありますか。
82さんはどのような本を買われましたか?
すみません。チュートリアルっていうのが分からないんです。

サイト等も参考にしてやりたいと思っています。
>>83
tutorial
辞書引け。
8582:02/11/29 12:48
>>83
INSIDE VISUAL C++
VC++4.0の頃に買ったやつなんだけどね。
CプログラマーのためのVisualC++ガイドみたいな感じで例題が結構のってたので。
それ見ながら試行錯誤。

はっきりいって初心者むけではありませんです。

このへんとか見てみたら?
http://www.belution.com/miwaki/developer/startvc.shtml
86漂流する初心者:02/11/29 13:18
ありがとうございます。レス遅れて申し訳ありません。
教科書というか家庭教師みたいに丁寧に書いてある本ですか。
初心者向けで無いというのがつらいですが参考にさせて頂きます。
先ほどサイトを紹介して頂き恐縮です。
今 http://c-production.com/know/010.html というサイトに従って
操作をしていたのですが最後の一番大事な「コンパイル・ビルド・実行」
のところでビルドまでは上手くいったようなんですが
「デバック開始できません。プログラム’省略’を開始できません。
指定されたファイルがみつかりません」と出てしまうのですが
どうしたらよいのでしょう。教えていただけませんでしょうか。


87漂流する初心者:02/11/29 13:25
省略とかいてある部分にプログラム名が入るのですが
firstという名前をつけたので
〜プログラム'c:\myproject\first\Debug\first.exe'を開始できません。〜
と出ます。プログラム自体は3行位の一番簡単なものを書きました。
>>87
その指定されたフォルダにプログラムはできてる?
そのプログラムを直に起動できる?
89漂流する初心者:02/11/29 13:57
本当に長々とすみません。お時間大丈夫なんでしょうか?

85のサイトも参考にしてみたんですが「プロジェクト名+.cpp」っていうのは
ファイルの下に無いです。あるのは「first.ncb」っていうのです。
そこが問題らしいです。だから88に関しては出来てないということでしょうか。
86のサイトでいいますと
「プロジェクト内にソースファイルを追加の部分」が間違ってるっぽいです。
でもそのままやってるんですけど何故だか分かりません。
90漂流する初心者:02/11/29 14:08
86の [c]プロジェクト内にソースファイルを追加
の1で[追加]-[現存項目の追加]を選択してください。
とありますがここまでは大丈夫です。
そこでfirst.ncb,first.sln,first.vcprojの3種類が入っている
ファイルが開くのですがfirst.cppなんてもともとないので
選びようが無いんですがどうしたらよいのでしょう。
コンパイル待ちのときに見にきてるだけだから大丈夫です。

んで、プロジェクトにファイルがうまく追加されてないんですかねぇ。
追加されるとファイルとかフォルダがツリー構造になって表示されるところにもそのファイルが
表示されるんですが。
92漂流する初心者:02/11/29 15:50
レスどうも有難うございました。
>ツリー構造になって表示されるところにもそのファイルが
表示されないです。
ちょっと煮詰まってしまったので
やっぱり今日Visual C++.net対応の本買うことにします。
近くの本屋行ったらVisual C++に関する本はあっても.netに関する
本が無かったのでちょっと遠くまで行って買いに行ってきます。
売ってるといいんですが。色々本当に有難うございました。
6.0の時は
【空のプロジェクト】つくった後に
新規作成
C++ソースファイル ファイル名 ***.c
プロジェクトに追加[レ]
やSouceFile [ファイルをフォルダに追加]
で通ったのに・・・(´Д`;


80氏が帰ってきたらBuilder使いになっていませんように――
94漂流する初心者:02/11/29 17:39
いえ、あまり金銭的に余裕が無いし取り敢えず今はこれで頭がいっぱいです。
馬鹿野郎!!
そんな事したら死んじまうぞ!!
考え直せ!!
9695:02/11/29 19:15
誤爆
>>80
あまりお役に立てなかったかも。
でもいろいろ調べてためしながら覚えるのが一番身につくと思うのよ。
だからがんがれ〜。
鬱だ氏のう…
9980:02/12/01 13:40
>>97
がんばります。
キーボードの「↑」を押したらカーソルを上に移動
みたいなことをするにはどう記述すればいいんでしょう?
(まだDOS窓でやってます)
>>100
ANSI.SYS を組み込んで、後は ↓ の 「カーソル移動、グラフィックス、および
キーボードの設定のための ANSI エスケープ シーケンス」を printf() しろ。
(ESC は \x1B)
http://www.tamano.or.jp/usr/unosuke/ansi.html
102漂流する超初心者:02/12/07 15:07
>>82
おかげさまでVisual C++.netのコンパイル
無事出来ました。とはいってもまだ簡単なのしか出来てないんですけど
今わりかし長い(?)
エラーと格闘中です。このスレ発見出来なかった物でこんなに返事遅くなりました
どうもありがとうございました。
103デフォルトの名無しさん:02/12/07 23:34
プロパティシートのOK押した時の処理とか
適用とか押した時の処理ってどうすれば偏光できますか?
>>103
PSN_APPLYでもキャッチして好きなようにすればいい。
105デフォルトの名無しさん:02/12/10 01:14
(,,ノ゚д゚)ノ
(゚д゚ )
//

初めまして。今度C++を学ぼうと思ってる者です。とりあえずソフトを購入しようと思い
近所のPCソフトショップへ行ったのですが、C++6.0や.netなど、更にスタンダードやら
エンタープライズやらに分かれていてどれを買ったらいいか分かりませんでした。
どれがお勧めでしょうか。厨な質問ですが教えていただけると助かります。
単に C++ を学びたいというだけならフリーで出回っているコンパイラのがよかろ。
109デフォルトの名無しさん:02/12/10 01:52
ホスト名から IP アドレスを取得する WSAAsyncGetHostByName で必ず 0 が返ってくるんだけど、何でだろう。
WinSock 勉強中です。どなたか助言をお願いします...。

例)
WSAAsyncGetHostByName(hWnd, メッセージ, "www.2ch.net", ホスト情報バッファ, バッファの大きさ);
↑必ず 0 が返る...。
110デフォルトの名無しさん:02/12/10 01:57
>>107
Windows プログラミングしたいなら、Visual C++ とか買うべし。
.NET なら Professional で十分じゃない?
コンパイラは Visual C++ しかやったことないので、他のコンパイラは知らん。
111109:02/12/10 02:03
ホスト名は "www.2ch.net" に限らずなんにしても 0 が返ってくる。
WSAStartup もしてるし。(←あんま関係ないかもしれんが)
>>107
学ぶだけならフリー。

将来、Windowsプログラミングで稼ぐ or DirectXを使うなら
VS Professional
113107:02/12/10 13:24
えー、実を言うとその道を目指してる者です。調べてみたのですが、
Visual Studio .NET Professional(112さんの言ってるのはこれですよね?)
Visual C++6.0Professional
の2つが候補に上がってきました。今買うなら.NETのほうにした方がいいんでしょうか?
>>109 WSAGetLastError() やってみた?
115112:02/12/10 17:22
>>113
とりあえず.NET買っとけ。
ttp://www.microsoft.com/japan/msdn/vstudio/productinfo/sysreq.asp
で必要システムをチェキしてからな。
>>114
エラーチェックしてみたら WSANOTINITIALISED が発生していました。
WSAStartup してねーぞ、って意味みたいですが、いや、確かにしているはずだが...。

数分後...

...盲点でした。WSAAsyncGetHostByName は WM_CREATE 時に行っているのですが、
CreateWindow のあとで WSAStartup してました...。
そりゃー、CreateWindow 時に WM_CREATE が発生するわけで、そのあとに WSAStartup
してたら、WSAGetLastError さんに、WSAStartup してねーっていわれるのは当たり前ですね。(^^;
ちなみに MFC とかぢゃなくプラットフォーム SDK でやってます。
117デフォルトの名無しさん:02/12/12 13:31
MFCベースのexeを作成した後、これを他の端末にインストールする際に、
VBでいう、ディストリビューションウィザードみたいなのは無いのでしょうか。
118CString:02/12/12 13:39
CString型の演算子で質問なのですが、
+= 演算を実行した後って、
右辺値のアドレスって無効になるのですか?

CString str1,str2;
char doubletoa[12];

str2 = "TEST";
str1 ="";
str += str2;
_gcvt(12.5,11,doubletoa);
str2 = doubletoa; /*この段階でstr2をみると、
"TEST"ではなく不定な値が入るのですけど…。
で、例外で落ちます*/
str1 += str2;
>>118
str2 = doubletoa;
にブレークポイントを置いてあるなら、str2が空っぽになっているのは当然。
(一つ前の行でぶれーくかけてみよう)
例外で落ちるのは_gcvtをつかっているのが原因。

CStringには全く関係ない話でしたとさ。
120118:02/12/12 13:55
有難うございました(;´Д`)ハァハァ
>>118
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/_crt__gcvt.asp
のサンプル見ると引数 digits に7を指定しているのに8桁出力されている
解説の真ん中らへんの説明も難解(ツーカイミワカラン)
doubletoa を大きめにとってるほうがいいんでないの(ワカランケド)
122118:02/12/12 14:14
有難うございます。
現状は、doubletoaは、
char doubletoa[MAX_SQL];
で、MAX_SQLはヘッダの方で、
#define MAX_SQL 8000
としています。
_gcvtでは、digitsに当たるところに、MAX_SQL-1として
少数点分を考慮しています。

有難うございます。
>>122
'\0'分も考慮してくだチャイ
124122:02/12/12 14:38
ハーイ(感謝)(*´∇`)
125デフォルトの名無しさん:02/12/16 00:24
Visual C++.NETインストールして立ち上げたら、
Alert!っていう警戒ダイアログが出まくるんだけど何で?

あと、立ち上げるとノートンにも引っかかるんだがそれもなぜだかわからん・・。
どなたか、なぜなのかご存知の人いません?
割れだからだろ
127デフォルトの名無しさん:02/12/16 12:38
死ね犯罪者
128ダイレクトな初心者:02/12/16 13:23
DirextXの勉強をしようかと思いまして、SDKとSDKとHELPを落としました。
最初のチュートリアル、デバイスの準備をVC6で開いてコンパイルすると
以下のリンクエラーがでます。

Vertices.obj : error LNK2001: 外部シンボル "_Direct3DCreate8@4" は未解決です
LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
Debug/Vertices.exe : fatal error LNK1120: 外部参照 2 が未解決です。

何を改善すればリンクが通るようになるでしょうか?
チュートリアル1も2も同じエラーメッセージがでます><

MSDNサイト
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdx8_c/hh/directx8_c/_dx_step_1_creating_a_window_graphics.asp

チュートリアルもそのままでコンパイルできんのかMS.....
>Vertices.obj : error LNK2001: 外部シンボル "_Direct3DCreate8@4" は未解決です
リンカの設定でDirect3DCreate8のlibを設定する(多分D3d8.lib)

>LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
WinMain()があるのならコンソールアプリのコンパイル設定になってるんじゃないの
130デフォルトの名無しさん:02/12/16 15:57
>>125

microsoftから電話かメールがあると思いますので、引越ししてください
>チュートリアルもそのままでコンパイルできんのかMS.....
激しく藁タ
設定もせずに動かそうとすんな
チュートリアルちゅーからにはソースだけじゃなくて
ソリューションやプロジェクトも同封するか作り方をガイドすべき

チュートリアルを必要とする人がまごつくようじゃ欠陥品だよ
133デフォルトの名無しさん:02/12/16 17:35
私javaとVBをやっていたものです。現在VC++をやろうと思いまして、
そこで質問したいんですけど、
基本的にVC++のイベントドリブンって、
BIGIN_MESSAGE_MAP以下に動作を追加して、
そこで追加して呼び出した関数にコード書いていくって手順でよろしいのでしょうか?
なんかjavaやVBと比べてイベントのところがわかりずらかったので・・・・・・・
134ダイレクトな初心者128:02/12/16 17:47
>>129さんへ
>リンカの設定でDirect3DCreate8のlibを設定する(多分D3d8.lib)

以下のようなことでよろしいのでしょうか?
プロジェクトー設定-リンク
設定の対象 win32 Release カテゴリ 一般

オブジェクト/ライブラリモジュールに以下を手入力
d3d8.lib d3dx.lib d3dx8.lib d3dx8d.lib d3dx8dt.lib d3dxd.lib d3dxof.lib ddraw.lib dinput.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
 
これでもVertices.obj : error LNK2001: 外部シンボル "_Direct3DCreate8@4 が表示されます。
しかもソース及びヘッダファイルに「_Direct3DCreate8@4」という文字列が存在しません。

ツールのオプションのディレクトリの設定でダイレクトXのライブラリディレクトリを設定してあります。

とほほ....
なんでVCってこんなに解かりにくいんでしょうw さすがMS言語

_main... のエラーについては謎です。
135デフォルトの名無しさん:02/12/16 17:48
>>133
○×マクロ使ってどうたらという手段とイベントドリブンは別な話
例えばここの粘着のように煽れそうなカモをじーっと待っているのがイベントドリブンで
ちゃんと段取りとタイムテーブル作って計画的に仕事してる人がスケジュールドリブンだ
釘さしとくが漏れがどっちかはあんたに関係ないぞ
136デフォルトの名無しさん:02/12/16 17:51
正直 DirectXやC++でしかサンプルが無いようなプログラムでもなければ
VCでわざわざWINのアプリ書くのは馬鹿げてる。
コンパイルするまでの手続き面倒だし解かりにくい。

Cビルダー Delphi VBをお勧めする。
>>136
C++恐怖症患者ハケーン
あんなのがわからん香具師は適性低すぎ
138デフォルトの名無しさん:02/12/16 18:01
>>135
意味不明すぎてわけわからないんですけど・・・・・・・・

例えばjavaならActionListenerやMouseListenerをimprimentしてアクションしますよね。
VBならボタン貼ったところに直接コーディングしていけばいい。
ではVC++ならどうすればアクションを起こすかということです。(ボタン押したらテキストに文字入れるとか)
実際VCのCPPのなかのBIGIN_MESSAGE_MAPにWM_などから始まるMESSAGEをいれて
そこから関数よんでアクションさせたことは確認しています。

ただやり始めたばかりでこのやり方が正しいか玄人の型に教えていただきたいと思って質問したのですのでマクロ等は全く関係ないと思うのですが・・・・
普通はアクションさせるのにどのような手順で記述してますか?
ルーティンワークで何度も同じことやってる玄人さんに質問します。
>>138
なんやユーモア通じんやっちゃな
VBっぽい操作でメソッド管理したいんなら
ClassViewでクラスノードを右クリックして
VC6なら[Windowsメッセージハンドラの追加]
VC7なら[プロパティ]から[メッセージ]
とかやったらええやん
140デフォルトの名無しさん:02/12/16 18:11
>>137
138さんの思うのももっともだよ。
あんなのもわからんというが、実際他の言語より解かりにくいよ。
ボタン1個のアクション設定するのにVB Delphi Cビルダは 直感的にすぐにわかる。

VCだと
ボタンリソース作ってクラスに登録して、それからイベントドリブンMSGのCASE文設定して....

サンプル無しでたどり着くのは大変困難で苦痛だ。
141デフォルトの名無しさん:02/12/16 18:15
>>139
返事ありがとうございます。
なんかシリーズによって全部違うんですね。なんで???
こちらはVC++.NETなんですが、おそらく[Windowsメッセージハンドラの追加] がそれっぽいですね。
俺直接CPPのBIGIN_MESSAGE_MAPに追加して、そこから呼び込んだ関数にコーディングしてますた。(動いたけど・・・)

C#もやってますが、こちらの方が簡単ですね。どう見てもjavaだし・・・・
イベント楽です。
142138=141:02/12/16 18:17
>>140
納得です。
C++の文法覚えてもVC++になるとコンソールしか取っ付けない。
やっとこさイベントさせますた。
モウちょっとやってみます。
143129:02/12/16 18:17
>>134
ためにしコンパイルしてみた
...mssdk\samples\Multimedia\Direct3D\Tutorials\Tut01_CreateDeviceにある
CreateDevice.dswを開いてツールのオプションのディレクトリの設定で
インクルードファイル・ライブラリファイルを設定してビルドしたところ
コンパイル・実行できた。

環境は WinXP(SP1) + VS6(SP5) + DirectX8.0a SDK
SPあたってなかったとかじゃなかったら「全部再インスコ」しかいえない(俺は)
144デフォルトの名無しさん:02/12/16 18:24
>>137
 昔からMSのコンパイラ(アセンブラ)は嫌いなんだよ。アプリケーションとしてごちゃごちゃしてるだろ。
適性うんぬんよりソフトの設計がおかしいと思うぞ。
時代は変わったがちっとも変わっていない。

プロジェクトファイル以外ににワークファイル....その他にメイクファイル
こういうのをスッキリさせろよと思います。

というかVCの設計見て、おかしいと思わない貴方は適性低いと思いますよ(藁
今、ダイアログベースのアプリを作成しています。

で、RichEditControlを使おうと思い、
フォームに貼り付けて実行したら
起動してすぐ、フォームが表示される前に終了してしまうのですが、
これは何がいけないのでしょうか?
146bloom:02/12/16 18:33
147137:02/12/16 18:36
>>144
Win3.1が出た頃にもAPIの設計をけなしまくってたのがよくいたが
当時の記事を今見てみろよ( ´,_ゝ`)プッの宝庫だぜ

何が言いたいかって?
納得いくまでつきあってないだろ
拒否反応起こしてトンズラこいたへたれは
わかる人にはお見通しってことだよ
148智恵理:02/12/16 18:47
ウイルスに感染してしまいました。 学期末のレポートが書けない。 誰か助けて下さい。
070−5655−8718
149デフォルトの名無しさん:02/12/16 18:49
>>148
逮捕だな
>>145
OnInitDlg() かなんかでのretrun値の設定が悪いんじゃないの(テキトウレス)
>retrun
returnの間違い
VCというよりMFCの作法だな<BIGIN_MESSAGE_MAP
一度Win32APIだけのプログラム書いてメッセージをWinProcでswitchすれば
MFCのBIGIN_MESSAGE_MAPマクロが単にメッセージとメッセージハンドラを
関連付けているだけのマクロだということがわかると思うけど。

>>145
AfxInitRichEdit()
153デフォルトの名無しさん:02/12/16 19:17
VC++6.0の入門書で一番良いのは何でしょう?
>>153
推薦図書/必読書のためのスレッド PART 7
http://pc3.2ch.net/test/read.cgi/tech/1038057434/
155145:02/12/16 19:24
>>152
まさに指摘通りでした(・∀・)
ありがd
156デフォルトの名無しさん:02/12/16 19:39
ShellExecuteEx を使用して自分の作成したアプリから
日付と時刻のプロパティを呼び出しているのですが、
背後のダイアログをクリックすると隠れてしまいます。
このプロパティをDoModalで呼び出す方法は無いでしょうか?
>>156
マイクロソフトに言ってください…
158156:02/12/16 19:43
>>157
現状では出来ない仕様になっているということでしょうか?
背後のダイアログが激しく意味不明
要約すると
「[日付と時刻のプロパティ]をモーダルダイアログとして開くにはどうすればよいですか?」
>>158
(ダイアログアプリなんだろうけど)
自分のウィンドウがアクティブになったら日付けと時刻のプロパティのダイアログを探して、
まだ存在していたら非アクティブにするとか。
162156:02/12/16 19:57
>>160,161さん有難う御座います。
>>161さんの方法で試してみます。
有難う御座いました。
163デフォルトの名無しさん:02/12/16 23:46
ライブラリのヘルプが英語なんですが、日本語にする方法はないのですか?
164125:02/12/16 23:55
>>127,130
ひどい・・・。
ちゃんと買ったのに・・・。
>>163
翻訳すれば日本語になるよ。
166おしえて君でごめん:02/12/17 18:41
おしえてくれ。
MFCで普通のSDI形式でメニューにファイル保存ってあるじゃないですか。
あれをたとえばA=5であったとう情報を保存し、開くってのは
どうやったらいいのですか?なにかサンプルがあればいいのですが・・
もってる参考書はちょと不親切のようです
>>166
ドキュメントクラスのSerialize()ってメンバ関数のところに
// TODO: この位置に保存用のコードを追加してください。
// TODO: この位置に読み込み用のコードを追加してください。
ってあるでしょ。
168デフォルトの名無しさん:02/12/17 20:04
数値かどうか判断しるには、どんな関数が使えますか。
123とか壱百弐拾参とかTUVも数字
boost::lexical_castとか言ってみる


      ま  た  S  T  L  か  !
>>171
どんなボケやねん
>>168
isalnumとかでチマチマ…。
174125:02/12/18 02:49
テキストエディタで
行数表示が出るようにするにはどうしたらいいの?
>174
おれもわからん・・。
おしえて!
174=175
(・∀・)でした
>>174
TextOut()
178デフォルトの名無しさん:02/12/18 20:35
万年カレンダーで1ヶ月分の表示はできるんですけど、
12ヶ月分の表示ができません。
どうしたらよいのでしょう?
>>178
12ヵ月分表示するようにプログラムしてください。

そんな質問文でわかるかボケ
180名無し@沢村:02/12/18 20:40
>>174
カーソルの前の文字列から改行文字をカウントしてそれに1を足せばいいよ。
>>180
おまえは125のレスを見たのかと小一時間問い詰めたい。
だれがプログラミングの話をしている?
182名無し@沢村:02/12/18 20:59
>>181
刀あげるから、助けて…!!
だから沢村をかまうな。
>>174
:set nu
125 ??
186デフォルトの名無しさん:02/12/19 17:25
LINK : warning LNK4098: defaultlib "LIBC" は他のライブラリの使用と競合しています; /NODEFAULTLIB:library を使用してください
どうしたらいいですか?
>>186
設定→リンクでデフォルトのライブラリを無視。
188186:02/12/19 17:39
>>187
エラーが300ほどでました
一体何をやったら LIBC に競合が発生したりするんだ
デバッグビルドなのにランタイムライブラリはリリース用になってるとか、
その逆とか。プロジェクトの設定で

  C/C++ > カテゴリ:コード生成 > 使用するランタイムライブラリ

を確認しる。
外部のライブラリを使ってる悪寒。
MFC使っている予感
193デフォルトの名無しさん:02/12/19 20:56
メモリ容量より数倍大きいファイルを
特定の位置から特定の位置まで順次切り出して
それぞれ個別のファイルに保存したいんですがどういうやり方が効率いいですか?
MFC使わず(使えず)C言語(C++わからず)でやってます。
194名無し@沢村:02/12/19 21:00
>>193
>MFC使わず(使えず)C言語(C++わからず)でやってます。

大脳皮質に損傷でも?
>>193
Cスレで十分な質問だろ。
メモリー容量より大きいファイルをスワップしないよう
に読み込みたいならストリーミング。
メディアへ記録するために分割するならバイナリでファイル
をオープンして加工すればいいだろ。
>>194
あんたの方に脳障害があるとしか思えない。
197デフォルトの名無しさん:02/12/19 23:43
>>186
漏れもそれでたけど、リンクオプション-インプットの
無視するライブラリにLIBCD.libを入れてやったら出来た。
(自作ライブラリをリンクしようとするとこのエラーが出る)
漏れは、いちいちプロジェクトのプロパティを設定するのイヤだから
#pragma comment(lib , "hoge.lib") 使う。
199186:02/12/20 16:34
遅レスすみませ
書き込む時間が少なくて・・・
>>197で警告でなくなりました。ありがとうございました。

http://www.imagenation.com/imagena/pxcfamily.html
このページの
http://www.imagenation.com/dnfiles/pxc/pxcdraw.exe
をMFCで書き直していろいろしようと思っているのですがなかなかうまくいかない
規模にもよるけど、書き直すときは仕様を洗い上げて1から作ったほうが早かったり…
201おしえて君でごめん:02/12/21 01:38
恐縮ですが、ものすごい分かりやすく、チャート形式で
「シリアライズのファイル保存」について教えてください。
MFCのSDI形式で作ると最初から「保存」「名前つけ保存」「開く」
ってあるじゃないですか。あそこの使い方がわからないんです。
計算結果の数値が入った変数とかをdocファイルで保存できるんですよね?
わかりやすく教えていただけますでしょうか。オススメのHPでもけっこうです。
>>201
MSDNで「シリアル化」「CArchive」を調べてみよう。
203おしえて君でごめん:02/12/21 16:33
うーんいろいろヒットしましたが、いまいちわかりません。
テキストの保存ってのはヒットしてカンタンだったのですが、
私がやりたいのは
SDIでたとえばOnDrowの中身が「 int s=5+2; 」だけのものだったとします。
そのsの値(この場合7)を保存し、そして開き、7を復活させるというものです。
うーん・・・ばかですいません
204デフォルトの名無しさん:02/12/21 21:11
2進数を10進数に変換する変換関数を教えてください。
205名無し@沢村:02/12/21 21:25
>>204
2進数文字列を10進数に変換する関数ならstrtolというのがあるが、
2進数を10進数に変換する関数はないよ。
工夫して自分でつくってごらん?
名無し@沢村 の発言

> 基本的に本は読まないポリシーだが、
> ちなみにそれはどこの出版社から出ているのですか?著者は誰ですか?いくらですか?


プログラマに向いてない今すぐやめろ。
207デフォルトの名無しさん:02/12/21 22:12
strtol の使い方がわかりません
208デフォルトの名無しさん:02/12/21 22:13
↑ ホントにすいません・・・。
float型変数に代入するき誤差が出ることがあるんだけど、なんでなの?
たとえば、69.8を代入したのに、実際に入ったデータは、69.800003とか・・。
210デフォルトの名無しさん:02/12/21 22:58
>>203
うーん?ドキュメント・ビュー・アーキテクチャーから考えるに描画時に
一時的に使われる変数とデータ(ドキュメント)とをゴッチャにするなという
結論に達すると思われますが。いかが?
>>203
ドキュメントクラスにint m_nSum;を宣言しろ。
ドキュメントクラスのSerializeにこう書け。
void CxxxDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: この位置に保存用のコードを追加してください。
ar << m_nSum;
}
else
{
// TODO: この位置に読み込み用のコードを追加してください。
ar >> m_nSum;
}

CDocument::Serialize(ar);
}

ViewクラスのOnDrowにこう書け。
void CxxxView::OnDraw(CDC* pDC)
{
CKnockerDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: この場所にネイティブ データ用の描画コードを追加します。
pDoc->m_nSum = 5 + 2;
}
そして入門書読め。
読むまで二度と質問するな。
212デフォルトの名無しさん:02/12/22 00:12
>>209
コンピュータ内部では、数値が有限の桁数で表現されているため。
「丸め誤差」
213デフォルトの名無しさん:02/12/22 00:54
VC.6ではDDXによってコントロールに関連付けられたメンバ変数の
削除は、ClassWizardを使って行っていましたが、
VC.netではどうやって削除すれば良いのでしょうか?
暫くこない間に荒れてますね
215おしえて君でごめん:02/12/22 10:51
>>211は神神神!まじサンキュ。
おれも参考書3冊くらい片手にやってるんだけど、どれもこういうシンプルな例がないんですよ。
なにか例に今までつくってきたモノを保存とかなのですでに複雑だったりとかで。
まあとにかくありがとです。
216質問:02/12/22 11:05
質問です。プリントアウトについてですが、
環境「VC++6.0、MFC、CFormView(SDIのなかにDLGがはいっているボタンとか)」
そんでSDIのOnDrawの中身を印刷するのは文字サイズさえかえればいきなりできるのですが、
私がやりたいのはCFormViewの中に「PICT1」というピクチャがはってあって
そこにいろいろ処理結果を表示しているのですが、それを印刷しないのです。
そのまま印刷しても当然無反応です。ピクチャの中身を印刷する方法をおしえてください。
217質問:02/12/22 11:07
ピクチャの中身を印刷って言葉変でした。
ピクチャIDC_PICT1に表示されているものを印刷したいです。
ちなみに計算処理はIDC_BOTTON1関数の中です。
218質問:02/12/22 11:21
MFCでダイアログボックスを作成したのですが、これはCWndを継承しているようですが、
ダイアログボックス作成時に見えてないけどウィンドウも別に作成されているのでしょうか?

>>218
ダイアログもボタンもスタティックテキストも、みんなウインドウです。
あなたに見えているのがウインドウです。
221デフォルトの名無しさん:02/12/22 11:38
スレちがいかもしれませんが、
Windowsと、LinuxのGUIプログラムってどちらが難しいんでしょう?
222質問:02/12/22 11:48
>>220
質問の意味も理解できないくせになに答えてるんだ?
ちょっとかじった程度の知識を持ち出してんな。
二度とかきこむんじゃねーよ、糞が。
223質問:02/12/22 11:53
>>221
GUIを作る開発環境だけをみたらWindowsの方が充実している。
それ以外はどっちもたいしてかわんない。
224質問A:02/12/22 12:46
同じ名前がでてきてるので一応いっておくと
私はプリントアウト質問の>>216-217だけです。
ほかの「質問」は別人です。
225質問B:02/12/22 15:05
質問Bがあらわれた!
226質問C:02/12/22 15:21
質問Cは笑っている

冗談はともかくとしてレス番で名乗る程度の知恵もないのかねえ
漏れは2人目の「質問」氏ではないが言いたいことはわかるぜ
ネチケだのローカルルールだのいう話じゃない適性の問題だ
227デフォルトの名無しさん:02/12/22 15:53
ToolBar、MenuBarの高さはどのように取得したらいいですか?
228213:02/12/22 15:55
手動でソースから消していくしかないのかな・・・
229デフォルトの名無しさん:02/12/22 16:38
メインフレームの幅を
200+2*GetSystemMetrics(SM_CXFRAME);
ってしたらViewの大きさは200になるはずですよね?
230質問:02/12/22 16:40
>>228
普通にクラスウィザードから消せるだろ
>>229
そうですね。
>>229

view のウィンドウにも WS_EX_CLIENTEDGE で付いた枠(NC領域)が
あるから、200より小さくなるんでは?
233質問:02/12/22 16:52
>>231
お前はタモリか?
234質問:02/12/22 17:14
>>233
観客じゃない・・・と言ってみる。
235質問者A:02/12/22 18:28
あのーなんだか荒れぎみだけど、
僕の>>216-217のPICT1をプリントアウトする方法
も忘れないでね。わかるひと教えてくださいまし。
>>232
そーいうことだったんですね・・・
>>235
PICT1のスクリーンショットを印刷する
238質問者A:02/12/22 20:18
>>237
それはカンベンw
いい加減教えてもらえないって気付けよ
240デフォルトの名無しさん:02/12/22 20:25
>>1
          ┌┬┬┬┐
    ―――┴┴┴┴┴―――――、
   /.  ̄ ̄ ̄//. ̄ ̄| || ̄ ̄ ̄||| ̄ ||     __________
  /.    ∧// ∧ ∧| ||      |||   ||  /
 [/____(゚_//[ ].゚Д゚,,) ||___|||   || <  こんなサイトがありますた。
 ||_. *  _|_| ̄ ̄ ∪|.|.       |ヽ. _||  \__________
 lO|o―o|O゜.|二二 東|.|京 精神病院 ||
 | ∈口∋ ̄_l__l⌒l_|_____|_l⌒l_||
   ̄ ̄`ー' ̄   `ー'  `ー'   `ー'
http://freeserver.kakiko.com/hiroyuki/
241コピペ:02/12/22 20:42
>>228
従来のバージョンの Visual C++ では、MFC アプリケーションの開発に
ClassWizard とウィザード バーを使用していました。
Visual C++ .NET では、ClassWizard とウィザード バーが削除されています。
>>241
つーかIDEの使い方はMSDNライブラリに載ってないか?
243質問者A:02/12/23 00:40
嗚呼・・やっぱPICT1を印刷する方法はないのね?
マジで説明書に「印刷機能は未実装なのでSSとって印刷してください」
ってはずかしいこと書くかw・・
244デフォルトの名無しさん:02/12/23 00:44
>>243
GetDlgItem
GetDC
CreateDC
BitBlt
でなんとかならないの?
>>243
ハァ?プログラムからスクリーンショットを撮るコードを書いて印刷機能を実装しろってことだろ。
>>238を見て「何で?」と思ったけど>>243みたく考えてたのか
年末の締めに追われて大変ですね
248218:02/12/23 08:50
早くとっとと答えろ!
スルーしないで。
>>248
うるせえな。ダイアログを作る時に一緒に作成されてるよ。
OnInitDialogをオーバーライドできるはずだが、それの
CDialog::OnInitDialog();
という行の後だったらコントロール変数なんかにも関連付けが済んでるので、
m_Wnd1とかにアクセスしても問題無しだ。
表示前かつ作成後になんかやりたきゃそこだ。
250質問者A:02/12/23 10:08
あうー初心者なんで無理だぁ〜
251名無し@沢村:02/12/23 10:58
初心者は気楽でいいねえ…♪
252質問者A:02/12/23 11:25
沢村あっちいけ
>>252
沢村は無視無視
>>250
じゃあ最初から質問すんなボケ
255名無し@沢村:02/12/23 20:35
ライトウェーブや3DStudioMaxのフォーマットなんてダサくて使えないよ。
せめてバーチャファイターのチェンリーなみのがサクサク動かないと…!
PCの3Dはダサいから今のところ手を出していない…。
× ダサくて
○ スキルがたりなくて
257質問者A:02/12/24 00:20
俺の質問に答えられたやつはいいエロサイトおしえてあげる。
258デフォルトの名無しさん:02/12/24 02:41
すいません。リッチエディットコントロールでIMEの変換中の色を
変更したいのですが、どのようにすればいいのでしょうか?

何かヒントだけでもお願いします。
>>258
WM_IME_XXXあたりのメッセージを捕らえてがんばるとか。
ヒントだけでスマソ
260デフォルトの名無しさん:02/12/24 03:18
>>259
ありがとうございます。いろいろ調べているとRichEdit20Aあたりで
解決できそうです。

だけど、今度はフォント周りで苦労しそうな予感…
261デフォルトの名無しさん:02/12/24 06:53
VC++6.0とaccess97を使ってDAOにて
データベースから検索を行うソフトを作っていたのですが
accessのテーブルに255件しかデータを作れないので
テーブルを3つ作って
SQLでの問い合わせを
SELECT * FROM [PLANT],[X_FEATURE],[Y_FEATURE]
としたところエラーが以下のようにでます
「レコードセットが開けません:クエリーが複雑すぎます。」
SQL文をどうしたらいいのでしょうか
よろしくお願いします
>>261
>accessのテーブルに255件しかデータを作れないので
こう書かれると普通は行数(レコード数)のことだと思うのだが、
まさかたった255件が上限なんてわけは無いだろうと思ったが、

>SELECT * FROM [PLANT],[X_FEATURE],[Y_FEATURE]
列数のことなのね。
なら255が上限てのもわからんことも無い。(調べちゃいないが)
んで、素のテーブルにかかる制限がSelect後にもかかるのは当然ですな。
Selectで纏めずにバラバラにやるしかないでしょう。

しかし、そのデータって列数が600とかあるんですか?一体何事??
なんか勘違いしてる気がする。
263261:02/12/24 14:32
>>262 レスどうもありがとうございます

DBとして植物図鑑を作ってます
植物1種類につき,パラメータが600(点の座標データ)くらいあって
1つのテーブルだとパラメータが255しか保存できないので
テーブルを[PLANT]とx座標のデータの[X_FEATURE]と
y座標のデータの[Y_FEATURE]とにわけました

こういう使い方にACCESSはむいてないとは思いますが
時間的に他の使い方が無理なのです
264262:02/12/24 15:46
>>263
座標って、分布の緯度経度かな?(それとも植物の絵とか?)

座標テーブルは、植物のIDで列一つ、x座標で列一つ、y座標で列一つ、
植物1種類内での座標のIDの列一つ、の計4列、
植物1種類で座標テーブルのレコード数が600くらい、
と作るのが普通だと思います。

・・・元々Accessの話で、VC++は関係無いですな。
265261:02/12/24 16:46
>264
座標は花の写真の輪郭上の特徴点です

その方法だと植物1種類につき
座標テーブルを作るってことですか?

データベースはテーブル3つで作ってしまったので
できれば複数のテーブルに同時にアクセスの仕方を教えてもらいたいです

select文で複数のテーブルが扱えれば楽なのですが
266262:02/12/24 19:31
>>265
スレ違いです。移動します。
「データベース Part2」
http://pc3.2ch.net/test/read.cgi/tech/1020158297/
に書きます。たぶん668くらい。
267デフォルトの名無しさん:02/12/25 13:25
MFCを使わずにProgressBarを制御する方法ってありますか?
>>267
CreateWindow()とかで作ってSendMessage()で制御
269デフォルトの名無しさん:02/12/25 18:22
VC5.0使ってます。
ダイアログでチェックする所でグループにする方法はどうしたら
いいのですか?
(゚Д゚)ハァ?
「グループ」 って属性があったと思うけど・・・。
タブオーダー順に見て、「グループ」 属性を持つラジオボタンから、その次の
「グループ」 属性を持つラジオボタンの直前のものまでがグループになるはず
だけど。
272名無し@沢村:02/12/25 19:50
>>263
>DBとして植物図鑑を作ってます
(゚Д゚)プ
沢村は無視しろ。
          アヒャーー
      ∧∧
     (゚∀゚ )⌒ヽ ≡≡ = = -
    ,.、,,U‐U^(,,⊃_       /i ≡≡≡ = = -
   ;'゚∀゚ 、、:、.:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i = ≡≡≡ = = -
    '、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
     `" ◎ ''`゙ ◎ ´´   - = ≡ = = -
275デフォルトの名無しさん:02/12/25 20:51
>>271
解りました、ありがとうございます。
276デフォルトの名無しさん:02/12/25 21:33
MFCでメニューのチェックはどのようにしたら
よいのでしょうか?
277デフォルトの名無しさん:02/12/25 23:00
>>276
CMenuクラスのCheckMenuItem
278デフォルトの名無しさん:02/12/25 23:19
Visual.NETはどうですか、ClassWizardが
なくなったそうですが、どのような仕方でMFCを実装している
のですか?


プログラムってなんですか
初心者なのでプログラムとかわからないんですけど
だれか教えてくださいお願いします
だれか教えてくださいお願い
>>278
ClassWizardに準じる機能が備わってるから大して問題なし。

メッセージハンドラの追加→プロパティのメッセージボタン
メンバ変数・関数の追加→クラスビューで追加したいクラスを右クリック
283デフォルトの名無しさん:02/12/26 00:11
>>282
問題ないか?IDEいろんな処が機能ダウンしてかなり使いづらいが。その上重い。
284デフォルトの名無しさん:02/12/26 00:12
C言語は多少できるのですが、VCはできません。
参考書を買ったのですが言ってることがわかりません、
どなたか参考になるサイト教えてください。おねがいします。
>参考書を買ったのですが言ってることがわかりません、
こんなんじゃ多分サイト紹介してもダメだろうし、
質問厨になってサイトに迷惑かけそうなので教えられません。
>>284
ちなみに、VC歴はどれくらい?
>>284
VCでコンソールアプリ(DOS窓)でテストコード打てる?

できるなら次のステップだが、選択肢は3つ
1)Win32 Application でWin32APIレベルの
  Windowsプログラムを組んでみる。SDKで総称される。
2)MFC AppWizard(exe)でMFC SDIアプリを組んでみる。
3)コンソールアプリ(DOS窓)でC++のテストコードを打ってみる。

1)2)3)並列進行も可だが、3)→1)→2)をお薦めする。

ウィンドウアプリケーションを始めて作るのですが、
ステップアップでなんか作りたいのです。
VC6で基本的なのキボンヌ!

あとオススメサイトキボンヌ!
289276:02/12/26 09:41
>>277さん
ありがとうございます。
解決しました。
290デフォルトの名無しさん:02/12/26 11:49
質問させていただきます。
私は最近Cをはじめたばかりのものです。
今は、ボーランドのBCC32でコンパイルしております(無料)
しかし、最近Visual C++を使いたくなりました。
Visual C++は沢山種類が出ておりどれをかってよいやら
困っております。値段なども関係しますが、
初心者が使うのに向いているものはどれなんでしょうか?
ご教授下さい。
291a:02/12/26 15:16
.NETに乗り換えたのですが、C++6だとファイルを個別にウィンドウ表示させて
サイズを変えて好きに配置して使えたのですがこのバージョンは
水平か垂直で仕切ることしかできないのですが
前みたいに使うことはできないのでしょうか?
バージョンは何でもいいがエディションは Professional 以上にしる。
アカデミックパックは自動的に却下ですか?
.NETの
ポーランドの PCC
>>291
オプションぐらい、触れや
一番最初の項目だろうが
297デフォルトの名無しさん:02/12/27 15:59
プリントサーバーにprnファイルの内容をドライバに依存せずに、
データのみ流そうとすると、文字化けが印刷されてしまうのですが、
これはprnファイルの読み方に問題があるのでしょうか?
それともプログラムに問題が…?
298デフォルトの名無しさん:02/12/27 16:47
ウインドウにビットマップの画像を表示させるにはどうすればよいのですか。
SDKを使っています。
299pussy_sucker ◆GLc2rpKRNM :02/12/27 16:59
>>298
ヌヒよ、LoadBitmapでビットマップのハンドルをゲットできるぞ
300デフォルトの名無しさん:02/12/27 17:11
ビットマップのハンドルって何ですか?
実は私、プログラミング超初心者です。
301デフォルトの名無しさん:02/12/27 17:25
ところで、LoadBitmapってどうやって使うの?
302引き篭もり:02/12/27 18:58
CBitmap bmp;
bmp.LoadBitmap(IDB_MANKO_BMP);

だろ?簡単簡単
303デフォルトの名無しさん:02/12/27 19:12
ダイアログの中のピクチャボックス(256×256)の左上の座標を(0,0)
に設定したいです。ピクチャボックスを動かしても(0,0)にしたいです。
どうすればよいでしょうか?
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();

MoveWindow(IDC_FIGURE, 0, 0, 256, 256);

TODO: return TRUE;
}
ここまでできたんですが、まだ座標がさだまりません
304デフォルトの名無しさん:02/12/27 19:40
VC++で画像を表示しようとしているのですが
#include <graph.h>
を使ったプログラムがコンパイルできません。

graph.hのヘッダーファイルはどこにあるのでしょうか?

>>304
そんなもん な い
306デフォルトの名無しさん:02/12/28 01:46
>>302
リソースにいれたBMPでなくて、
例えば、 C:\imouto.bmp
のようにファイルから表示させたいんです。
どうすればいいでしょう?
LoadImage
>>303
何座標の(0,0)にしたいんだ?
1.ピクチャのクライアント座標
2.ダイアログのクライアント座標
3.スクリーン座標
4.その他
309デフォルトの名無しさん:02/12/30 18:52
ウィンドウにメニューを付けようと思って
プロジェクト>プロジェクトへ追加>新規作成>リソーススクリプト
で、「resource.rc」としたんですが、resource.hが出来るらしいんですけど
出来ないし、ウィンドウに組み込めません。
どうしたら良いですか?
310デフォルトの名無しさん:02/12/30 22:04
教えてください。
複数の文字列を入れた
vector<CString> title
を引数とするメソッドを作りたいのですが、
引数をこんな感じで受けようとすると、
メソッドの宣言の段階でエラーが出ます。
showList(vector<CString>* title);
受け方が間違っているのでしょうか?
どうやったらいいですか?
どうしてもグローバルでusing std::vector;とせにゃならんのはVCのバグちゃうか?
312311:02/12/31 00:41
似たようなことをBC55でやっても通るよな
313デフォルトの名無しさん:02/12/31 01:17
お勉強テスト用なんですが、MFC、ダイアログベースです。
CTestDlgから
AfxBeginThread(MyFunction, (LPVOID)this, THREAD_PRIORITY_NORMAL, 0, 0, NULL);
を実行させて、その制御関数のなかで
SendMessage((HWND)pParam, WM_MYMESSAGE, 0, 0);
としてます。

CTestDlgでは、
BEGIN_MESSAGE_MAP(CTestMt01Dlg, CDialog)
  //{{AFX_MSG_MAP(CTestDlg)
  ON_COMMAND(WM_MYMESSAGE, OnMyCommand)
  //}}AFX_MSG_MAP
END_MESSAGE_MAP()

afx_msg LRESULT CTestDlg::OnMyCommand()
{
  SetDlgItemText(IDC_EDIT1, "処理が終了しますた");
  return 0;
}
と書いてるのです。でも最後のOnMyCommand()が実行されません。
なぜなんでしょうか…。
314313:02/12/31 01:23
すみません、メッセージマップは
ON_MESSAGE(WM_MYMESSAGE, OnMyCommand)
の間違いですよね
315313:02/12/31 01:34
すみません、制御関数の中を
CWnd* hWnd = (CWnd*)pParam;
hWnd->SendMessage(WM_MESSAGE, 0, 0);
にしたらちゃんといきますた。正しいのかどうかわからないけど…。

すみませんですた。
316313:02/12/31 01:34
あ、>>315はWM_MESSAGEじゃなくてWM_MYMESSAGEです。
何度もすみません。
317310:02/12/31 01:55
>>311
よくわからないけど、いわれたとおり
using std::vector;
をメソッドの前に入れたらコンパイルが通りました。
それで、これっていったいなんですか?
usingってはじめて見ました。
>>311
vector が標準名前空間 std に包まれている事の何がバグなんだ?
あけおめ!
きょねんはお世話になりました。
ことしもよろしく。

こっそり
     (~ヽ            γ~)
     |ヽJ       .あ     し' |
     |  (~ヽ     .け  γ~)  |
   (~ヽー|ヽJ     ま   し' |ーγ~)
   |ヽJ  |  |   お .し   .|  |  し' |
   |  |  |―|   め .て   |―|  |  |
  ミリ(,,゚Д゚)彡  で    ミ(゚Д゚,,)ノ彡
  ミUミソ彡ミつ   と    (/ミソ彡ミU彡
   》======《   う      》======《
   |_|_|_|_|_|_|_|         |_|_|_|_|_|_|_|
     U~U            U~U
321311:03/01/01 09:28
>>318
/どうしてもグローバルで/ ってところをバグではないかと言っている

お主が言おうとしているであろうこんなコードが
classmona
{
typedefstd::vector vector;
public:
voidshowList(vector<CString>* title);
};

main()
{
usingstd::vector;

monagiko;
vector<CString>zonu;
giko.showList(&zonu);
}
VCでは通らずBCでは通るのだ
322311:03/01/01 09:29
くそーTAB文字が痛い
classmona
{
typedef std::vector vector;
public:
void showList(vector<CString>* title);
};
main()
{
using std::vector;
mona giko;
vector<CString> zonu;
giko.showList(&zonu);
}
323311:03/01/01 10:19
鬱駄詩嚢
324デフォルトの名無しさん:03/01/01 12:32
CViewのコンストラクタでm_hWndが設定されていなくて::GetParent(m_hWnd)が使えないです。
ウィンドウが作成された直後に発行されるメッセージってありますか?
325デフォルトの名無しさん:03/01/01 12:46
>>324
そりゃあ、コンストラクタの後ではまだウィンドウが作成されていなから設定されているわけないよな。
326あけましておめでとうございます:03/01/01 12:53
質問します。基本的なことだと思います。

aaaa.obj : error LNK2001: 外部シンボル "__imp__ImageList_Add@12" は未解決です
aaaa.obj : error LNK2001: 外部シンボル "__imp__ImageList_Create@20" は未解決です
aaaa.obj : error LNK2001: 外部シンボル "__imp__InitCommonControlsEx@4" は未解決です
aaaa.obj : error LNK2001: 外部シンボル "__imp__CreateToolbarEx@52" は未解決です
Debug/aaaa.exe : fatal error LNK1120: 外部参照 4 が未解決です。

コンパイルをしたら、上記のようなエラーが出ました。
何に問題があるのでしょうか?
このエラーの意味を教えていただけないでしょうか?
327デフォルトの名無しさん:03/01/01 13:06
>>325
だからウィンドウが作成された直後のメッセージがほしいです。
>>326
犯人の見つからない事件=未解決事件。
シンボルが未解決です=定義元がみつからない。
329デフォルトの名無しさん:03/01/01 18:18
最初に起動する呼び出される作業環境の設定をし直したいんだけど
どうすればあれが起動できるのかがわかりません。
どうすりゃいいんでしょうか?
>>329
「あれ」ってどれ?
>>324
WM_CREATEではいかんのか?
332名無し@沢村:03/01/01 23:00
>>324
メッセージではないが、OnInitialUpdate()
>>326
プロジェクトの設定が
comctl32.libをリンクするようになってるかどうか
確認してみよう。
>>324
OnCreateをオーバーライドして(略
335デフォルトの名無しさん:03/01/02 15:14
VC++6のときのGUIにするか新しいGUIにするかって
インストールして初めてVSを起動するときにいろいろと聞かれると思う
んですが、その作業をもう一度やりたいんですよね。再インストール
するのもいやだしどうしたものかと。
最初にVSを立ち上げた時のちょっと前に復元すればよろし
337デフォルトの名無しさん:03/01/03 13:54
C++スレから流れてきました。

タイプライブラリのを作りたいのですが、どうすればいいんでしょうか?
338デフォルトの名無しさん:03/01/03 15:47
WinInetで、ファイルの一覧だけでなく、タイムスタンプやその他の情報
(たとえばそのファイルがディレクトリであるとか)は、どうやって取る
んでしょうか?
339デフォルトの名無しさん:03/01/04 20:28
リリースビルドが出来なくなってしまったのですが、
どうればまた構成にリリースを追加できますか?
340質問:03/01/06 15:03
質問なのですがMFCのCformViewでの印刷方法について教えてください。
普通のSDI式であればOnDraw関数の中身を印刷してくれますが(文字サイズ修正必要)
私がやっているのはCFormViewの中に「IDC_PICT1」というピクチャにデータを表示
させれいるのですが、この表示を印刷したいのです。

1番てっとり早いのが、そのPICT1部分のスクリーンショットをとってそのまま印刷
という方法があると聞きました。もちろんプリントスクリーンキーを押すという意味ではなく
プログラムの中にその機能を産めこむという意味です。やりかたわかりますでしょうか。
それとも他の方法がありますでしょうか
>>340
おまえ何回同じ内容の質問すんねん

つーか「もちろん」と言いながらPrintScreenキー押すのと勘違いしてたのおまえだろうがゴラァ!
342デフォルトの名無しさん:03/01/06 15:24
vc++6.0の2枚目っていつ使うのですか?
343質問:03/01/06 16:27
えっとつまりはハードコピーをとる方法と言ったほうがいいですかね。

>>341
粘着ですね
>>337 & >>338
MSDN読め!

>>343
まだいたのアンタ…
345デフォルトの名無しさん:03/01/06 17:26
自作マウスを作ってるんですけど、VC++6.0を使ってマウスのポインタを画面上で動かす関数がわかりません。あれば教えてください。
SetCursorPosでいけるとおもうけど…
それってドライバ作ってるってことか?
× まだいたの
○ まだできてないの
>>343
オマエモナー
349345:03/01/06 17:46
>>346さん、ありがとうございます。一応は自作のマウスと専用ドライバを作る予定になってます。
大体どれくらいの時間で完成するものなのでしょうか、もう期限が半月くらいしかないのですが…
350デフォルトの名無しさん:03/01/06 18:54
VC++で作ったVBには無いコマンドボタンのイベントを
何とかしてVBで使えるようにしたいのですが、出来ます?
>>350
>VBには無いコマンドボタンのイベント

どんなんよ?
352350:03/01/06 19:12
>>351
例えが悪かった。
本当は、リストボックスで、リストを追加する時に
例えば上から下へ追加していくのではなく、左から右へ
追加していくという事をしたいんだ。
それをVC++で作って、VBで動かしたい。
>>352 傲慢
そんなの DLL でも作って hWnd 渡せばいくらでもできると思うが、
VB のコントロールとしてシームレスに扱いたいなら ActiveX じゃないか?
355デフォルトの名無しさん:03/01/06 21:01
XPのような外観のコントロールにするには、どうしたらいいのか教えてください。
6.0じゃ無理?
また、その外観にしたとしてXP以前のOSで動かしたとき表示は
どうなるんですか?
356デフォルトの名無しさん:03/01/06 21:24
MFCを使ってるプログラムに関数を付け加えるときは
どこに入れればいいでしょうか?
357PGバイト人(学生):03/01/06 21:31
>>356
多分おひさしぶり。
紹介しておいて放置もなんだかな、と思ったので。

少し質問なんだけど(て、言うか前スレで気になったので)
今作っているプログラムがMFCを使っているかどうかわかる?
>>356
お、お好きなところへ・・・・

359デフォルトの名無しさん:03/01/06 21:33
>>357
わからないのですが・・・。
どうすれば分かります?
360356:03/01/06 21:35
>>357
#include <afxwin.h> // MFC のコアおよび標準コンポーネント
#include <afxext.h> // MFC の拡張部分
と書いてあるのでMFCを使ってるっぽいです。
361PGバイト人(学生):03/01/06 21:36
>>356
VC++起動してからMFC AppWizardってもの使った?

ひょっとして、例の市販本の付属のCDなんかのプロジェクト
開いている?
362356:03/01/06 21:37
>>361
そうです。
CDの中のプロジェクトファイルを開いています。
363356:03/01/06 21:39
MFC AppWizardっていうのは使ってないですけど、
何か関係があるのですか?
364PGバイト人(学生):03/01/06 21:57
重・・・

>>356
んー・・・話聞いているとC++から勉強したほうがいい気もするんだけど。

MFC AppWizardについては市販本に書いてあると思われ。
改造とかやってみたいのにしても、どこにどんなものを書き込めば
いいのか分からない状態だと思うのよね。

とりあえず、付属のCDのを見ても分からないと思うから
一度本見ながら、自分で作るのが一番いいと思う。

気になるのだけど、本のタイトル教えてくれない?
365デフォルトの名無しさん:03/01/06 22:04
VC++初心者ですが、ちと質問させてください。
コマンドボタンやエディットボックスの基本的な性質を
記述しているコードは何処を見れば書いてあるんでしょう?
例えばリストボックスを使えるようにした後、「InsertString」で
リストを追加しますが、その命令を受けて、実際にリストボックスに
登録しなさいと命令をしているコードを読みたいです。

何いってるか解ります?
366デフォルトの名無しさん:03/01/06 22:06
サンプルとかなかったか
MSDN ライブラリなんかで見つかりそうな気もする
>>365
デバッグ機能で追っかけてみたらどうだろう。
 ★☆★☆★ 祭り板からお知らせ ★☆★☆★

ギャグが大好きな貴方!「祭り命」な貴方!そして田代が大好きな貴方!
私達と一緒に、ネット上のあらゆる投票サイトで我らが神『田代まさし』を1位にしませんか?
老若男女問いません!一度遊びに来てくださいネ!
また、新型の田代砲を開発出来る神も随時募集中です!

  祭り板【伝説】田代まさしを1位にしよう!【神話】
http://live.2ch.net/test/read.cgi/festival/1041338435/

色々なところに貼り付けて、新規信者獲得しようぜ!!!!!


369デフォルトの名無しさん:03/01/06 23:00
VC.NETで、

void CTokeiView::OnDraw(CDC* /*pDC*/)
                    ↑
                    コレ

勝手にコメントされているのが嫌なんですが、
仕様でしょうか?
VCってむずいなぁ、どこにコードかいていいかわからん。
なんでこんなとこに書き込むとか全然わからんし、
俺があほなだけか・・・?
371デフォルトの名無しさん:03/01/06 23:20
VCだのMFCだのの見掛けの値段と実情が違いすぎるんだよ
おまえMSU逝ってないだろ
372名無し@沢村:03/01/06 23:33
>>371
ヌヒよ、なに言ってるのかさっぱり分からんぞ。
来ちゃったよ・・・
このスレも腐海へ呑まれるか・・・
>>369
VC6.0ではそんな事ないぞ
.NET使えねーなー
>>374
VC6でも一部そういうのはある。
>>369
void CTokeiView::OnDraw(CDC* pDC)
でも動くだろ?
377369:03/01/07 01:17
>>376
AppWizardが生成したコードには、pDC の部分がコメント化されていて、
毎回コメント外すのが面倒なんです・・・
買ったテキストはVC6.0対応のものばかりなので、
つい、コメント外すの忘れたりして・・・
勝手に引数へコメントしない様なオプションかなんか
あるのでしょうか?
378デフォルトの名無しさん:03/01/07 02:47
VC++でソフトを作った時、走らせるために必要なランタイムはどのくらいのサイズになりますか?
>>378
ランタイムを使わないようにリンクすれば 0 だけど。
380デフォルトの名無しさん:03/01/07 08:13
いま、デバッグしてる最中なんですけど、 F10でステップ実行させたものをステップを一つ戻りたいときにはどうしたらいいのでしょうか?
とりあえず、わからなくなったら毎回やり直してるんですけど・・・
戻れないよ…
382デフォルトの名無しさん:03/01/07 09:49
>381
マジで? 高い金払ったのに戻れないの? 開発環境ってそんなもんなの?
だって9万もしたんだよ!!
あはは
ものすごい勢いで教えてください。
MFCで作ったプログラムのウィンドの上の青いラインのとこ(ヘッダーだっけ?)
に表示されるプログラム名を変えたいです。
どうしたらいいのですか??
ググれ!ってのはなしで。すばやく教えてください
あ!やっぱわかったからいいです。
>>380
まったく元に戻るわけじゃないけど、実行位置を変更するくらいだったら、
Shift+Ctrl+F10でカーソル位置に実行位置を移せる。
gotoをデバッグの中でやってるようなもん。
これに気付く前は大変だった・・・。
「ロールバッカブル・デバッガ」萌え
最適化オプションに、CPUに対する最適化ないんでしょうか……
ふむふむ。CPUを最適化したいと。
まあ確かに最近のPentiumには、Opコードに
パッチを当てることができるらしいが、、、
ランタイム無しにしたら単純な物しか作れないでしょ?
普通のソフト作るとどのくらいのサイズになるの?
「普通のソフト」とはたとえばどんなのを指しているのか。
392デフォルトの名無しさん:03/01/07 14:58
最初からできているプログラムを
初心者が編集するにはどんなテクニックが必要か
すばやく教えてください
マジあっせってます
>>391
普通に作ったときに必要なランタイムのサイズを教えてくれればいいんだYO!
> ランタイム無しにしたら単純な物しか作れないでしょ?

んなこたーない。

> 普通に作ったときに必要なランタイムのサイズを教えてくれればいいんだYO!

だから、「ランタイムを使わないようにリンク」 も普通に作るのうちなんだけど。
395デフォルトの名無しさん:03/01/07 17:48
ネットワーク経由でバイナリデータをプリントサーバに送出して、
印刷をするプログラムを作成しているのですが、
意図したものとは違う感じに印刷されてしまいます。

印刷しているプリンタはドットプリンタで、
そのデータをページプリンタで印刷すると通常に印刷ができます。
印刷するデータ自体には問題がないと思います。

どんな原因が考えられますでしょうか?

396デフォルトの名無しさん:03/01/07 18:18
ランタイムとダイナミックリンクライブラリって同じなの?
ランタイムって言い方ダセーよな。
日本語にしたら「実行時」だぜ。
実行時「なに」よ?
自分でも何のことか分かってないだろ。
398名無し@沢村:03/01/07 19:35
C++ではiアプリはつくれないのですか?
399:03/01/07 20:15
例えばsample.dsp sample.cpp sample.rc sample.clw
sapleDoc.cpp sampleView.cpp Stdafx.cpp とこのようなもともとあるファイルで、
どのファイルをいじくれば編集できるのですか?(画像処理で色変換がしたいです)
初心すぎてすみません、教えてください
ティンコ
>>378
20KB
>>378
20KBだす
>>389さん
はい、Duron/PIII の環境でWin2000 + VC6.0 を使ってるのですが、386用にコンパイルされているようでなんとかしたいです。
VC.NETならできるっぽいんですけど……
>>403
気休めでよければ、[プロジェクト]−[設定] の 「C/C++」 の中の
「カテゴリ」 から 「コード生成」 を選び、「プロッセッサ (?)」 を
「Pentium Pro」 にしてみろ。
Visual C# 使ってたんですが
作ったプログラムの起動が遅いのとFrameworkが必要になるのが不満で
C++に以降したいのですが

Visual C++ .Net と Visual C++ 6.0 どちらを購入すればいいのか迷っています

それぞれの利点と欠点を教えてもらえませんか?
VC.NET
 MFCのバージョンが最新
 ネイティブと.NET Frameworkの両方を吐ける
 正式対応の関連書籍がまだ少ない(VC6.0対応までなら沢山あるが) 

VC6.0
 開発環境が.NETに比べ軽い(軽快)
 Class Wizardが重宝(.NETには何故か無い)

良くも悪くも劇的に変わった訳では無いので、
VC.NETがいいんじゃない? 
>>406
即レス感謝です!

.Netの方を探してきます
408デフォルトの名無しさん:03/01/08 08:41

SendMessageでポインタを渡すときは
グローバル変数へのポインタじゃなくていいのかな?
参考書のサンプルみると、ローカル変数へのポインタを
そのまま渡しているけど、これでいいんかな。

この辺のスコープで気をつけるべきことありますかね?

>>408
スレッドをまたがないならローカル変数でも良い。
そのSendMessageを受け取る関数が処理を終えるまでSendMessageは
返ってこないから。
>>409
なるほど。参考になります。
ありがとうございました。
>>408
渡したポインタを保持されるとまずいかも
そういう場合はグローバルの他に
staticとかmallocという手もある

このへんWin16は厳しかった...
412デフォルトの名無しさん:03/01/08 19:23
LPBYTEやBYTEは普通の型の何と交換すればいいのでしょうか?
>>412
BYTEでF12キーを押してみろ
414デフォルトの名無しさん:03/01/08 19:35
>>413
typedef BYTE far *LPBYTE;
って出てるのですが、farって何ですか?
>>408
文字列ならstrdup等で複製して後から解放すると言う手も…
>>414
farポインタってのがあるのよ。
32ビットではつかわないけど、Win3.1とかでは使ってた。
今なら無視される(空文字と置き換えられる)はず。
417IP記録実験:03/01/08 21:21
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
418デフォルトの名無しさん:03/01/08 21:59
CListViewで、リストビューコントロールからのメッセージを取得するには
どうしたらいいんでしょう?
419デフォルトの名無しさん:03/01/08 22:56
LINK : fatal error LNK1104: ファイル "nafxcwd.lib" を開けません。
っていうエラーが出て困ってるのですがどうしたらいいでしょうか?
420デフォルトの名無しさん:03/01/09 00:07
>>418
ClassWizardつかえ。
もしくは親ウインドウでWM_NOTIFYをつかまえる。
421age2ch.pl 0.03.28:03/01/09 00:13
2
422デフォルトの名無しさん:03/01/09 00:13
418です。

>>420
レスさんくすこ。どうにか解決しました。
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
ひろゆき   ハァハァ(´Д`;)
うまい棒マズー
ダウンロード板が市んじゃうね
この際だから言わせてもらうか
まずニュー速のスレストを殺してほしい

武道板にヲタが流れてきて困るから
格闘技実践者板を作ってほしい
429IP記録実験:03/01/09 01:52
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
記念カキコ
思うんだが、裁判で問題視されているのは、
削除依頼があったのに削除しなかったことで、
IP保存しろとは言われてないだろ
削除を今までより迅速にすればすむことで、
なぜIPを保存する?
>>433
君は実に馬鹿だな。
馬鹿でかまわんからスレ違いの話題は他でやって欲しい
434初心者K:03/01/09 10:04
VC++で、VBでいうところのIMEModeプロパティを実現する方法、ご存知の方教えてください。
あ、いや、画面系はVBでやれっつったらそれまでなんだけど。。。VBでできることが
VCでできないのが悔しくって。
とりあえず、エディットボックスだけ制御できたらそれ以上は望みません。

お願いします。
435デフォルトの名無しさん:03/01/09 10:58
ImmGetContext
ImmSetOpenStatus
ImmReleaseContext
436初心者K:03/01/09 11:19
>>435
ありがとうございます。
IMEのオン、オフのコントロールはできるようになりました。
さらに、IMEMode=3のように、ユーザー側から
オンにすらできないようにしたいのですが、可能でしょうか?
WM_IME_NOTIFYのハンドラを作ってなにもしない、とか。
試してないからできるかどうか不明。
>>436
公開 API では不可能。
439初心者K:03/01/09 11:43
とりあえず、ImmDisableIMEを見つけて、やってみました。が、以下のコンパイルエラーが出ました。
『error C2065: 'ImmDisableIME' : 定義されていない識別子です。』
そこで、imm.hをみたところ、
=====================
#if(WINVER >= 0x040A)
BOOL WINAPI ImmDisableIME(DWORD);
〜〜〜〜〜〜省略〜〜〜〜〜〜
#endif /* WINVER >= 0x040A */
=======================
とあったので、そこを
=====================
BOOL WINAPI ImmDisableIME(DWORD);
#if(WINVER >= 0x040A)
〜〜〜〜〜〜省略〜〜〜〜〜〜
#endif /* WINVER >= 0x040A */
=======================
と、頭の二行を入れ替えてみました。その結果、コンパイルも通り、期待した通りの動きを実現することができました。

OSはWin2K、稼働環境はWin98、2K、NT4、XPを想定しています。
何か問題が考えられますか?
440初心者K:03/01/09 11:47
そうそう、今作成しているものでは、IMEが必要なところはないから、
ず〜〜〜〜〜〜〜っとIMEがお亡くなりになっていて構わないんです。
とりあえず、このやり方で、1分ほどテストした結果は、
期待通りの動き方。。。。環境が同じであれば。。。。。

エディットボックスごとにコントロールしようと思ったら、
>>438 様のおっしゃるとおりなのかもしれないですね。ヘルプを見る限りでも。
441IP記録実験:03/01/09 11:55
久々に2げと
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
444名無し@沢村:03/01/09 22:28
>>439
ヌヒよ、WINVERを0x040A以上で定義すれば済む話ではないのか。
>>713
キャップはどした?
446tester:03/01/09 23:30
VCで作成したシリアル通信ソフトのソース付きでフリーの良いソフトないですか?
ハイパーターミナルの様な感じのソフトを探してます。

TeraTerm
448tester:03/01/09 23:44
>>447
ソースはどこかにありますか?
449デフォルトの名無しさん:03/01/10 00:00
昔、Turbo-Cで簡単なグラフィックをやってました。
640×480のWindowでタイトルバーと閉じるボタンのみのテンプレート、
どっかにありませんか?
exeクリック→いきなりスタートでかまいません。
>>449
猫でも〜にいけ。
WinAPIスレの1にある。
>>540
鑑定スレでお願いしようとして誤爆し・ま・す・た・!   
452449:03/01/10 01:21
>>450
どうも。
SDK−1の23章に簡単なグラフィックがありました。
昔C++編にざっと目を通してたのですが。
45360cm浮き上がるストレート:03/01/10 03:44
メッセージハンドラに追加したものを消すにはどうすればよいのですか?
ワークスペースのクラス等は、Deleteキーで消せるのですが。お教えください。
454デフォルトの名無しさん:03/01/10 05:02
>>453
左側のクラスビューのハンドラ関数の上で右クリック
→削除じゃダメですか?

該当の関数がコメントアウトされて、メッセージマップからも
削除されるみたいですが。

455デフォルトの名無しさん:03/01/10 06:26
WinMain関数はラップ出来ませんか?
MFCのXXXXAppクラスみたいなのを作りたいんですが・・・
WinProcみたいなコールバック関数のラップとかクラス化はできるんですが。
MFCはなんとなく使いたくないんですょ昔使ってたんですが。
ブラックボックスなのが嫌なのかも。読解力が無いともいいますTT
456初心者K:03/01/10 08:56
>>444 名無し@沢村様
ちょっとだけ色々やってみたけど、NT4で思いっきり引っかかっりました。
んで、しゃぁないから、こんな風にしました。
if((immDll=::LoadLibrary("imm32.dll"))!=NULL){
if((ImmDisableIME=(IMMDISABLEIME)::GetProcAddress(immDll,"ImmDisableIME"))!=NULL){
ImmDisableIME(0);
}
}
もっと良いやり方が有るんだろうけど、とりあえず間違ってはいないよね?
98、2K、XPでは、ImmDisableIMEが効いて、NT4だったら、GetProcAddressが
できなくて、ImmDisableIMEが効かなくなるよね?エラー無しに。。。。。。

>1 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/01/08 17:13 ID:???
>そんなわけで、qbサーバでIPの記録実験をはじめましたー。

IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/l20

IP記録実験PART2
http://qb.2ch.net/test/read.cgi/accuse/1042020193/l20

これまでのあらすじは >>2-20 あたりに誰かお願い。
にげっと
459名無し@沢村:03/01/10 09:42
>>456
ヌヒよ、MSDNをによるとImmDisableIME()の対応情報は以下のようになっているから、
それで間違いないぞ。

Windows NT/2000:Windows 2000
Windows 95/98:Windows 98

>1 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/01/08 17:13 ID:???
>そんなわけで、qbサーバでIPの記録実験をはじめましたー。

IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/l20

IP記録実験PART2
http://qb.2ch.net/test/read.cgi/accuse/1042020193/l20

これまでのあらすじは >>2-20 あたりに誰かお願い。
にげっと
>>351
敗訴じゃないじゃん。ウソ書くなよ、名誉毀損になるぞ。
つまんね>>25
つよししっかりしろよな。
>>455
ログイン時にIP記録してる。
おととしだか、2chで晒された他人のIDとパスワード使って
荒らしをしてた大馬鹿が逮捕された。
人生棒に振っちゃったね、ざまーみろ(ワラ
さんも ええ子やね。。。(ホロリ

IP保存しちゃ匿名性が保たれないだろう。
>>454
できました。ありがとうございました。
469デフォルトの名無しさん:03/01/10 22:21
複数のウインドウを表示したとき、それぞれのウインドウで保存している
データを操作するにはどうすればよいでしょうか?
>>404
ありがとうございました。環境をろくにかかなくてすみませんでした。
VC6.0で「設定」→「C/C++」→「コード生成」→「プロッセッサ」から設定できました。
本当にありがとうございました。
>>312
ほえ〜
便所の落書きが、青年の主張に変わるね
473デフォルトの名無しさん:03/01/10 23:44
MFCでたまに灰色の文字になってる部分を見ますが
どういう意味ですか?
OSレベルで相手からIPデータ取得の要求があった時にそれに応じるか拒否するか選択できるようにすべきだな
板によるでしょ。
ラウンジとかは任意ID。メル欄に文字入れるとIDが???になる
パソコン一般板などはIDすらない
476デフォルトの名無しさん:03/01/11 00:54
今日VisualC++の6.0をはじめたんですが、まずスケルトン(?)からダイアログベースのアプリケーションっていうのを作ってみました。
そこで、作ったファイルをC++無しで作動させることはできないんでしょうか?もしできるのならどうすれば?っというのが質問内容です。
C++を理解してないので詳しいこと分かりませんが、よろしくお願いします
477デフォルトの名無しさん:03/01/11 00:58
>>476
意味が判らなかった・・・
>476
マジレスするとVCのスケルトン使って
プログラミングする自体、早すぎ。
悪口じゃなくて、アドバイスとして受け止めていい。
>476の書き込みは
何を言ってるのかまったく理解できない。
>>476
プロジェクト→設定→Microsoft Foundation Classで
「MFCのスタティックライブラリを使用」を選ぶ

これでビルドすれば単独で動くexeができる
480デフォルトの名無しさん:03/01/11 01:04
これ解析頼みます
int colorAlloc = 256 * sizeof(RGBQUAD); // size of color tables
int bitsAlloc = infoHeader.biSize + colorAlloc;//+ infoHeader.biSizeImage;
pMapBits = (LPBITMAPINFO)new BYTE[bitsAlloc];
memset(pMapBits,80,bitsAlloc*sizeof(BYTE));
pMapBits->bmiHeader = infoHeader;
LPSTR pColor = ((LPSTR)pMapBits + (WORD)(pMapBits->bmiHeader.biSize));
for (i = 0; i < 256; i++)
((WORD*)pColor)[i] = i;
481476:03/01/11 01:08
ごめんなさい。意味分かりませんよね。
自分でもどう説明すればいいのか・・・。
1つのアプリケーションとして保存するにはどうすば・・・?
これでも意味分かんないや・・・TT
>>481
全力で意味不明です・・・
483476:03/01/11 01:14
すいませんTT
あ、479さんの言ってることがしたかったんです。
どうもありがとうございます〜。早速やってみます。
484476:03/01/11 01:19
皆さん有難うございます。早速やってみたのですが、
warning C4073: 初期化子がライブラリ初期化領域にあります。
error C2065: 'AfxCriticalTerm' : 定義されていない識別子です。
ってでて出来ませんTT 原因は何なんでしょうか?どうすればいいんでしょうか・・・?
又意味分からなかったらすいませんTT
485デフォルトの名無しさん:03/01/11 01:22
>>476
要するに、単体アプリが作れるかって話だったか。
C++判らないなら、いきなりスケルトンは止めた方が良いかも。
まずは、基礎的なコーディングについて書籍等でお勉強をお勧め。
486479:03/01/11 01:24
あ、深読みし過ぎた。
単純にexeファイルを作りたかっただけなのね・・・・
それなら「ビルド」だけでいいんだけど。
ちなみにexeファイルは「debug」フォルダの中にできるから。
さらに、errorが出たらexe出来ないから・・・
487デフォルトの名無しさん:03/01/11 01:26
>>476
ヘルプで調べた?
VC使いになるには、ヘルプに慣れるのが重要だよ。
調べても判らなければ、またおいで〜
488479:03/01/11 01:27
>>484
このサイト全部見たら、また来なさい。
http://village.infoweb.ne.jp/~ishidate/vcpp.htm
489476:03/01/11 01:33
皆さんどうもありがとうございます。
一応書籍は買って読んでるんですが理解できないので打ちながら進めていこうかとおもって無理を承知でやってみました。
本の名前は「プログラミング言語C 第二版 ANSI規格基準」って本です。
コレhttp://www.amazon.co.jp/exec/obidos/ASIN/4320026926/qid=1042216104/sr=1-2/ref=sr_1_2_2/250-9811207-6479452
買った後から知ったんですが入門者向けの本ではないらしくてTT 入門者向けの本ってオススメのありませんか?
HPみてみます〜
>>489
その本はやめとけ。
詳しくは下のスレを参照のこと。
http://pc3.2ch.net/tech/kako/1020/10209/1020916685.html
491455ですが・・・:03/01/11 01:53
>>459
誤爆?でなければ私の書き込みが荒らしと取られたということでしょうか?
それでしたら失礼しました・・・出直してきます。
492ぅぁ:03/01/11 01:57
459→465でした・・・
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────


                ,.. -──- ..,_
               /        \_
             /`'ー─-、-─'''二二__ヽ
            |´ _ニ-‐´ ̄ __   |
              |´  __ニ二..,,,,__ ̄ ̄}
       ヽ`'ニ-、_レ' ̄          ̄ヽ{_,.-‐'´/
        `l  `ヽ'‐    -‐   '''ー   / /! /
         `l,  <.|    ‐ー  くー    //  /
          `l、 ヽ|  ´゚  ,r "_,,>、   ./ | /
           `l_|    ト‐=‐ァ'  /_,.‐'´ ̄`\
         _,.-''´ヘ l'、  ` `二´'  /´-‐__,..-‐ 丶.
        /´  ̄ ̄\L\___ ,...-‐´ ̄ ̄      ヽ
        /      / ̄    ̄ ̄ ̄ ̄\
        >、    //             ,..-‐'
    ̄ ̄ ̄7 \  | ヽ         _,..-‐'´
快速ストーカータン、快速タンに熱い思いが届かなかったようですが、これにこりずにに頑張って下さい。
ぼくはおうえんしていますよ
閉鎖〜閉鎖〜(´人`)ナムナム
匿名性に絡む問題なので反対 27% 381 票
サイトのためになるから賛成 54% 744 票
利用しないから関係ない 9% 132 票
2ちゃんねるってなに? 4% 64 票
アクセスログってなに? 3% 53 票

498デフォルトの名無しさん:03/01/11 23:19
VisualC++でWin32APIでやってます。
リソースエディタでツールバーを作成したのですが
CreateToolberExの設定項目で、ビットマップのIDを指定する所が
あるのですが、あそこには何を書けばいいんですか?
toolbar1.bmpというファイルが出来ているのですが、これに対応した
IDがresource.hに記述されていないのですが・・・。
>>498
wID
Control identifier for the toolbar.
じゃなくて?
リソースビューのToolbar下に「IDR_なんとか」ってないかい?
500デフォルトの名無しさん:03/01/11 23:25
>>499
UINT wBMIDという項目です。
wIDの方は、IDR_TOOLBAR1がきちんと記述されていて
それを設定しています。
BMPファイルが設定できないため、ボタンだけが表示されて
絵が何も表示されていない状態です。
物理的に人間が侵入するということをわすれていますね。
完璧なセキュリティとは「存在しないこと」
502デフォルトの名無しさん:03/01/11 23:29
VC++の体験版があると別スレで聞いたのですが
それは雑誌の付録に付いてるだけで
オンラインではないのですか?
探しても見つからなかったんですけど・・・。
>>498
自分で定義しちゃうとか
ID_MYBMP    BITMAP DISCARDABLE "toolbar1.bmp"
みたいにできなかったっけ?
>>502
オンラインにはないと思われ。
>>503
やっぱりそれしかないですか。
リソースエディタで作ると、IDの番号とか自動的にインクリメント
してくれるので、自分で勝手に番号作るとずれたりして困るかなと
思ったんですが、やはり自分で記述しないと駄目みたいですね。

ありがとうございました。
普通のことしか書かなければ大丈夫です。 
507名無し@沢村:03/01/11 23:57
>>498
ヌヒよ、リソースエディタでツールバーを作成したのなら、Scriptリソースが開けるだろう?
そこのアイコンを展開してヌヒが作成したツールバーのビットマップのアイコンについている名前を見てごらん?
ヌヒよ、そのアイコンの右横には自動的に名前がつけられているからその名前をそっくりCreateToolberExのビットマップのIDを指定する所にコピペすればOKだよ。
ただヌヒよ、ボロっちいPCだとツールバーの色が色落ちすることがあるから気をつけたほうがいいよ、ヌヒよ。
>>507
ヌエよ、まだスタティックカラーでツールバー作ってるのか?
509学生です:03/01/12 00:45
すみません、質問です。
将来プログラマーになりたいので、今から何か言語を始めたいのです。
いろいろ話を聞くと、VisualC++というのが最もパフォーマンスを出せると
聞きました。どうせやるならVisualC++がいいなと思うのですが、
なんか人口がやや少なそうなのですが、何故パフォーマンスが一番出るのに
人口は少ないのでしょうか?
>>509
誠に失礼ですが、1つ質問させてください。
釣りですか?
511学生です:03/01/12 00:51
>>510
いや、なんでいろいろな言語があり、
みなさんはどういう理由で選んでるのかなぁーと思いまして・・・
単純に効率がいいだけを理由にしたら駄目なのでしょうか?
(将来性とか・・・)
>>511
開発効率と、出来上がったプログラムのパフォーマンスは全く違いますが。
今から覚えても、マスターするまで時間がかかりますので、将来性も大事でしょう。
ユーザー数も、サポートや情報量に影響しますので大事です。
その他、自分の設計思想や趣味趣向に開発環境が合うかどうかとか、
仕事に就けるか・稼げるかどうかとか、自分の得意な分野に広く使われているかとか・・・
とりあえず始めてみては?
513学生です:03/01/12 01:05
>>512
なるほど、言語によって得意不得意の分野があるわけですか。
とりあえず、やって損にはならないと思うので(途中で挫折しても・・・)
始めてみる事にします!

あなたがわたしにくれたものー 便所に似ている掲示板
2002年2ちゃんねるアニメランキング1位のアニメに・・・・

モナーが出演決定!!!!!!!!!!!!!!!!!!!!!

<<放送時間>>
1/12
大阪 テレビ大阪 (日)9:30〜10:00
東京 テレビ東京 (日)9:30〜10:00
名古屋 テレビ愛知 (日)9:30〜10:00
福岡 TVQ九州放送 (日)9:30〜10:00
札幌 テレビ北海道 (日)9:30〜10:00
岡山・高松 テレビせとうち (日)9:30〜10:00 
>>515
ネタ?マジ?あと、午前?午後?
>>516
禿しくネタだ。わけ分からんアニメ見させられるだけだぞ。
遅いんだよ。
いや、最近のニュー速は本当に良くなってきたと思うよ。
ニュース速報板だからね。
・・・横槍。

削除依頼を内容証明以外の方法で行っても有効ですが、条理が根拠ではありません。
意思表示の一般原則であり自明のことです。
免責の対象にはならないから安心してください。
やっとhtml化だ、過去ログが読める
がんばってください
522デフォルトの名無しさん:03/01/12 23:34
先日購入したVC++をインストールしました。で、起動しようとするとノートンが
「悪質なスクリプトを検出しました」といってきます。「devenv.exe」
というものなんですが、グーグルで見てみたところ問題は内容なのですが・・・
気にしないでいいんでしょうか?
READMEなんかにも記載があったりするが
インストール時はウイルスチェッカを止めるのがよいです。
VCに限らすアプリインストールではたまに引っかかります
524522:03/01/12 23:56
>>523
やっぱ問題ないんですね!ありがとうございました。
ダイアログボックスに値を入力してそれをDrawOnで使うにはどうしたらいいのでしょうか?
ttp://village.infoweb.ne.jp/~ishidate/vcpp6_3/vcpp6_3.htmとか
ttp://www2c.airnet.ne.jp/phy/c++/24.htmlで書いてあるとおりにやっても
うまくいきません。
ダイアログボックス用のクラスを作成するときにエラーが出ることがあるのでそれが
原因なのかとも思いますが、どうしたらいいかわかりません。
どなたかわかる方教えてください。よろしくお願いします。
>>525
どううまくいかないのか、どういうエラーがでるのか書いてください。
もしくはソースを晒してください。
527525:03/01/13 00:44
解決しました。すいませんでした
528デフォルトの名無しさん:03/01/13 13:53
ActiveXコントロールを追加する時、
VC6ではプロジェクト→プロジェクトの追加→コンポーネントおよびコントロール
で出来ましたが、VC.NETでは、どこでやればいいですか?
529デフォルトの名無しさん:03/01/13 13:59
クラスの追加で出来ました・・・・・
ダイアログに配置したボタンに
ドラッグアンドドロップでアプリケーションを登録して
ボタンをクリックしたらそのアプリが起動するようにするにはどうすればいいんですか?

ダイアログとボタンの両方をプロパティで
Accept FilesをTRUEにしてあって
OnDropFilesにおいてDraqQueryFileでドロップしたファイルの情報を取得し
OnBnClickedButtonでShellExecuteで起動させようとしてるんですけど
ボタンにドラッグアンドドロップしても反応がなく
ダイアログのボタンのないところにドラッグアンドドロップすると反応します。

531デフォルトの名無しさん:03/01/13 14:56
ツールバーのボタンのポインタはどうゆーふーに取得すればいいですか?
>>531
MFCだったら
CMainFrameクラスのm_wndToolBar(CToolBarクラスのオブシェクト)を使う。

CMainFrameクラスのm_wndToolBarまではたどり着けますがその後がわかりません。
>>532
>>533
ところで何がしたいの?
535山崎渉:03/01/13 18:27
(^^)
4nd・・・天然ですか?>1
>>533
TBN_GETBUTTONINFOについて小一時間調べろ。
538山崎渉:03/01/15 17:51
(^^)
539質問です:03/01/15 19:35

自作のクラスから派生させた新規クラスを、ソースファイルと共に生成する方法を教えてください。

VC++6です。
>>539
メニューの挿入→クラスの新規作成、
基本クラスは適当なやつで。
できたヘッダファイルを開いて、クラスの宣言部分の基本クラス名を手で編集すればいい。
>>540
「クラスの種類」を“MFCクラス”から“Genericクラス”にすれば最初から...
542デフォルトの名無しさん:03/01/15 22:33
ダイアログのピクチャーボックスに描かれた絵をウインドウを閉じたり、縮小しても消えないようにしたいです。BITMAPINFOHEADERやStretchDIBitsを使えばいいのかなとおもうのですけど、やり方がいまいちわかりません・・教えてください//。
私が足したプログラムは次のだけです。
void CMy00000View::OnButton1()
{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください

int x, y;

CWnd* h = GetDlgItem(IDC_FIGURE);
CRect r;
h->GetClientRect(r);
CDC* pDC=h->GetDC();
x = r.right/2;
y = r.bottom/2;
CPen p(PS_SOLID, 1, RGB(255, 255, 0));
CPen* oldp=pDC->SelectObject(&p);
pDC->MoveTo(0, y); pDC->LineTo(2*x, y);
pDC->MoveTo(x,0); pDC->LineTo(x, 2*y);
pDC->SelectObject(oldp);
h->ReleaseDC(pDC);
>>542
CMy00000View::OnDraw()
にコードを書きましょう。

リソースエディタ最初でてたけど、そのウインドウ消したら
二度とでてこなくなった。
どうすればまたひらけれるのですか?
545542:03/01/15 22:44
>>543
できれば詳しく教えてください。
>>545
WM_PAINTのイベントハンドラに書きなされ。
再描画が必要な時、WM_PAINTが発生する。
547542:03/01/15 23:28
CMy00000View::OnDraw() にBITMAPINFOHEADERやStretchDIBitsを書くのですか?
>>547
せめて試してから書いてくれ
>>547
ボタンを押した時に描画した画が、
フォームを最小化したり、他のウインドウが重なったりした時
消えてしまうのが嫌なんでしょ?
CMy00000Viewクラスへ「WM_PAINT」のWindowsメッセージハンドラの追加。
その関数に(CMy00000View::OnPaint()かも?)
とりあえず、OnButton1()と同様のコードを書く。
ボタンが押されなくても描画されちゃうけど、あとは工夫次第。
550デフォルトの名無しさん:03/01/16 00:02
VC++ 6.0 で質問があります。 現在下の本使って勉強しています
ttp://www.amazon.co.jp/exec/obidos/ASIN/4881358219/qid=1042642076/sr=1-1/ref=sr_1_2_1/249-7426567-4518764
win32 Console Applicationでコンソールのアプリケーションの種類は「空のプロジェクト」ではじめています。
とりあえず、本にのってるとうり、メインのウインドウを作成(ウインドウにメニューが着いてるだけであとは、真っ白のもの)
しました。

そこで質問です。
メニューからダイアログを起動することはできるのですが、
メインウインドウ自体に、ボタンや文書をつけることはできますか?
ダイアログをメインウインドにつけるイメージなんですけど?
どうなんでしょう??

初心者ですみません。おねがいします。
>>544
右クリック
552542:03/01/16 00:37
>>549
それでやったら重なったら消えないのですが閉じたり、縮小すると消えました・・
どうしたらよいでしょう?
ウインドウを閉じても消さないって事か?
554542:03/01/16 00:58
そうです
555デフォルトの名無しさん:03/01/16 01:45
win32から学びたいのでよい書籍を教えてください。
C++は分かります。
ttp://www.shoeisha.com/book/Detail.asp?aid=1049
漏れは↑の初めてのVisualC++@を使いますた。
A、BはMFC入ってくるので注意。この本あまり詳しいことには
ふれてないです。入門書にはちょうどいいかなと。
>>550
真っ白いところにボタンをつけたり
テキストを書き出すということでいいのでしょうか?
558556:03/01/16 02:55
>>550
確かその本には文字の表示とボタンのつけ方ぐらいは
書いてあったはずです。ダイヤログより先に紹介
してるはずですが?直後かな?
ボタンはコントロールまたは小ウィンドウ
という題目で紹介されてるはずです。テキストも
文字の表示という題目で紹介してたと思います。
559542:03/01/16 03:31
ボタンを押した時に描画した画が、
フォームを最小化したり、他のウインドウが重なったりした時
消えてしまうのが嫌なんで
CMy00000Viewクラスへ「WM_PAINT」のWindowsメッセージハンドラの追加はしました
確かにできたんですが、まだ
大きなプログラムだと処理が遅く、ウィンドウを大きくしたら消える、少し動かさないと絵がでてこない
という問題がありました・・
それはどうすればよろしいでしょうか?
560デフォルトの名無しさん:03/01/16 03:47
ほんとおーに,初心者しつもんです.
昔のパソコンみたいに,c言語などのプログラムを実際に打って実行させるには,どうすればいいのですか??
メモ帳に入力して拡張子を変えればできるのですか??そんなはずはないか
>>559
>CWnd* h = GetDlgItem(IDC_FIGURE);
IDC_FIGUREが何だかしらないけど、最後に
h->UpdateWindow();
してないのが原因では?
>>541
>「クラスの種類」を“MFCクラス”から“Genericクラス”にすれば最初から...

これだとメッセージマップ定義部が付いてこないよ〜
(使わないなら別にいいけど)

派生クラスCSampleを定義して、これを使っている個所で右クリック→定義位置を参照を選ぶと
「シンボル"CSample"は定義されていません。」
とエラーメッセージが出ます。

しかしビルドは問題なく終わりますし、実行もできます。
何故でしょう?
俺はメッセージマップ付き独自クラスのスケルトンを作るときは
ClassWizardでCCmdTargetから派生クラスを作って基底クラスを書き換える。
CCmdTargetがメッセージマップ付きの一番元クラスだからってだけの理由。
メッセージマップ無しクラスを作るなら手書きでも対して変わらないような。
>>563
ヘルプの”ブラウザ情報”の項目を参照。
多分、これが無いからだと思われ。
>>565
感謝!

ヘルプにあったとおりプロジェクト→設定をよく見てみたんですが、
ブラウザ情報の中間ファイル*.sbrを作るようにする設定と、
これらをまとめた*.bscを作る設定は別々にあるんですね。
>>564
漏れもそうしてる。

手書きはまずしないね。
クラス毎にファイルを作ってるから、挿入→クラスの新規作成でいつもやってる。
>>560
>メモ帳に入力して拡張子を変えればできるのですか??そんなはずはないか
その通りですよ。
メモ帳などのテキストエディタでプログラムを書き、拡張子*.cで保存します。
これをコンパイラに通してやれば出来上がり。
>>566
コード上でF12を押すとブラウザ情報を作りますか?ってダイアログが出てくるよ。
570デフォルトの名無しさん:03/01/17 23:42
VisualStdio.NETは9xじゃ使えないみたいなのですが、
VisualC++は9xでも使えるんですか?
よろしくお願いします。

一応、自分のスペック書いておきます。
celeron700MHz
192MB
30GB
571デフォルトの名無しさん:03/01/17 23:46
572570:03/01/17 23:51
>>571ありがとうございます。
いやね、言い訳しますとMicrosoftのHPが見にくいというか
どうなってるのかよく分からなくて分かりにくいんですよ。
気付いたら別製品のやつ見てたりとか・・・
573デフォルトの名無しさん:03/01/18 00:33
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/<先生!こんなのがありました!
 _ / /   /   \___________
\⊂ノ ̄ ̄ ̄ ̄\
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
http://web2001.kakiko.com/koma/
>>572
いいたいことはよくわかるよw
575デフォルトの名無しさん:03/01/18 01:30
>>572
プログラマになったらMicrosoftのサイトはけっこう見るハメに
なるから慣れた方がいいかも。検索も得意になっていた方がいいね。
576デフォルトの名無しさん:03/01/18 01:33
DirectX8ですが、HALデバイスなどが取得できないんですが、どうしたらいいんでしょうか?
以前は、取得できてたんですが。PCを再セットアップしてからできなくなりました。
>572
MSサイトは慣れれば大体何がどこにあるかすぐ分かるようになるが
慣れた頃にリニューアルされる罠(w
MSのサイトはなんかゲームとかの裏面があるような感じになる。
>>576
SDKのサンプルでは取得できるだろ?
参考にしてみたら?
580572:03/01/18 15:23
>日本語版において、Visual Studio 6.0 ファミリ製品以外は全て発売中止になっています。
>現在これら以外の製品を新規に購入することはできません。

とMicrosoft社のHPに書いてあったのですが、
今VC++6を購入することはできないのでしょうか?
VC++はVisualStdioの一部ですよね?
>>580
VC++5 以下がダメなのだと思われ。
VC++6 は大丈夫じゃない?
売ってるの見かけるし。
日本語も理解できないで日本語版を買おうたぁちゃんちゃらおかしいな!
583572:03/01/18 15:39
>>581
あぁ、この
>日本語版において、Visual Studio 6.0 ファミリ製品以外は全て発売中止になっています。
>現在これら以外の製品を新規に購入することはできません
VisualStdioとはVC++5以下のものという事ですね。
ありがとうございました。明ヤマダ電機あたりでも行ってきて
売ってたら買ってきます。
ありがとうございました。
いきなり厨な質問で申し訳ないが、
GUI部品を手軽に覚えられるような、
講座サイトみたいのはないだろうか?
存在するのならぜひ教えていただきたいのだが・・・
585デフォルトの名無しさん:03/01/18 16:56

最近になってMFCを勉強しはじめたんですが、
すでに時代はVisual C#.NETとも聞きます。
機能的にはVisual C++はVisual C#に含まれる
んでしょうか? MFCの勉強はそこそこにして
Visual C#.NETに移行すべき?

MFCはWin32 APIに似た部分があるので、
Win32 APIの勉強にもなりますが、.NETの
ライブラリはどうなんでしょう?

586デフォルトの名無しさん:03/01/18 17:02
>>584
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/

サンプルならこの辺りにあるけど、講座は
なかなかねぇ。漏れも詳しい参考書欲しいところだけど、
自分で試行錯誤するしかないのかな。

>>586
サンクス。
さらっとしか見てないが、基本をつかむにはよさそうだ。

やっぱ、高めの参考書とかに目を通すのが近道かね・・・。
とにかく多謝。がんがってみる。
俺が有名になったらお前のことを語るよ。
588デフォルトの名無しさん:03/01/18 17:27
MFCでプログラムしていますが、ステータスバーのバックカラーを今のシステムカラー(デフォルト)にしたい場合どうすればいいでしょうか?
今のデフォルトの配色を取り出す方法を知りたい。
589デフォルトの名無しさん:03/01/18 17:41
>>588
デフォルトって灰色ってこと?

590デフォルトの名無しさん:03/01/18 18:04
>>588
CStatusBarCtrl::SetBkColor
COLORREF SetBkColor( COLORREF cr );

戻り値 前のデフォルト背景色を表すCOLORREF 値を返します。

引数 cr
新しい背景色を指定する COLORREF 値。CLR_DEFAULT 値を
指定すると、ステータス バーのデフォルト背景色が使われます。

>CLR_DEFAULT 値を指定すると、ステータス バーのデフォルト背景色が使われます

このメンバ関数じゃダメ?

591デフォルトの名無しさん:03/01/18 18:06
>>588
それって、GetSysColorで取り出すんだよ。
検索で調べれば詳しい説明HPがあるはずだ。

ただ、ステータスバーに色を反映させる方法は知らないが。
592デフォルトの名無しさん:03/01/18 18:24
だれかビジュアルスタジオを安く買える店を教えてください。
80000円は高すぎる。
593デフォルトの名無しさん:03/01/18 18:37
>>592
Visual C++だけじゃダメなの?
MFCなんかを使わずに言語を覚えるためだけなら、
フリーや安価のコンパイラを使ったらいいのでは?

594デフォルトの名無しさん:03/01/18 18:43
>>592
知り合いやその子供等をうまく誘ってアカデミックパックを購入するのはどうでしょうか。
確か購入時に学生証などの提示を求められるので。
>>592
その8万は何にかけるべき金かね。
VSの使い方覚えたいってんなら払えばいい。でも言語覚えたいってんなら、
>>593も言うようにフリーの環境使えばいい。それだけの事。

Eclipse + C/C++環境
http://www.eclipse.org/downloads/index.php
http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/cdt-home/downloads/main.html?cvsroot=Tools_Project

他(gcc Developer Station等)
http://members.tripod.co.jp/~fugen/soft/program.htm
まあねー
元手8万をどうするかって構想は人それぞれだからねー
計画ない香具師ほどきゃんきゃん吠えるんだコレが
597デフォルトの名無しさん:03/01/18 19:15
>>586
猫でも分かるプログラミングってVCのバージョンがとても古いのですが、
VS6に修正した表とかないでしょうか?

例えばWindowsSDK編を見てるのですが、
--------------------イントロダクション
myProg.hbrBackground =GetStockObject(WHITE_BRUSH);
→ myProg.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);

といった感じで。
>>596
しかし悲しいかなここは"VC++のスレ"だったりする(笑

つーか、なんでVC欲しいのかね。って、確かに楽なんだけど。
俺も仕事で使ってるから、別に否定はしないんだけど。

ただ、まったくの初心者が「C/C++のプログラミング」を勉強したくて購入って、
どうなんだろうか。
アイツはあまりに隠しすぎる。
599デフォルトの名無しさん:03/01/18 19:34
600デフォルトの名無しさん:03/01/18 20:17
誰か知ってます?

コンパネ内で画面のデザインを変更したら、自分のアプリケーションにも反映される方法。
>>600
*.iniとかに保存汁
602デフォルトの名無しさん:03/01/18 20:43
なぜかコンパネの画面のデザインの配色を変更しても、自分のアプリケーションのrebarやstatusbarの色が変わらない。

なぜ???
問題点がわからん。
>>600
WM_WININICHANGEとは違うことか?
604602:03/01/18 21:11
rebarの場合、デザインを変更したら、自分で変更しないと駄目なのかな?
システムがそういう処理はしてくれると思ってた。

全てのウィンドウに対し変更イベントメッセージを送れば、それですむはずだと思い込んでいたのかな?
605デフォルトの名無しさん:03/01/18 21:21
VisualC++を買うとアプリの開発が効率がよくなるんですか?
それとも簡単に開発できるのですか?
もしくわ効率よく学習できるのですか?(学生の場合)

よろしくおねがいします。
>>605
ダメなヤツは何をやってもダメ。
>>606
スレタイ
608デフォルトの名無しさん:03/01/18 21:36
>>605
>VisualC++を買うとアプリの開発が効率がよくなるんですか?
人によっては。
>それとも簡単に開発できるのですか?
これも人による。
>もしくわ効率よく学習できるのですか?(学生の場合)
だから人によるってば。

悪い質問の代表例だな。
609602:03/01/18 21:36
>>605
Windowsプログラミングをしたいならビルゲイツには逆らうなということだ。
610デフォルトの名無しさん:03/01/18 21:37
>VisualC++を買うとアプリの開発が効率がよくなるんですか?

何に対して?

>それとも簡単に開発できるのですか?

何に対して?

>もしくわ効率よく学習できるのですか?(学生の場合)

何に対して?
611605:03/01/18 21:39
>>608
>>609
ありがとうございました。
これで買う決心をつけられました。
これってアカデミック版はないのですか?
価格.comで値段を調べたとき、VisualStdioにはあった
アカデミックが見つからなかったのですが。
612デフォルトの名無しさん:03/01/18 21:40
>>611
あるよ。
613605:03/01/18 21:48
>>612
あるのですか。もう一度MSのHP見てきます。
まだ学生なのでそれを利用してVC++6のアカデミックを買いたいと思います。
最初はスタンダードにしようと思ったけどアカデミックの方が得なので。
614デフォルトの名無しさん:03/01/18 21:51
効率がいいかどうかはしらんが・・・
俺は、まだプログラミングというものをなにも知らなかったとき、
将来はプログラマになろうと思って、学割版のVC++を買った。
まだprintf("hello,world");も知らなかったころだ。
そんなころに、同梱されていた本に書かれているがままに、
いきなりMFCのウィザードが吐いたコードを読んだりしていた。
こんな普通では考えられないような方法でも、やる気があれば身に付く。
要はその人のやる気次第だ。
615605:03/01/18 21:57
やる気はあるんですよ。
別スレにも書いたのですが、今の環境に満足できなくなってしまって。
現在はコード書くときはK2EditerかBCPadで
コンパイラはBCCなんですけど。
実際にアプリはフリーのものだけでも作れるんですけど
欲しくなってしまったんですよ。
VC++付属のエディタがどれだけ使いやすいかにも興味がありますし。
616デフォルトの名無しさん:03/01/18 22:00
どんなアプリが作りたいかにもよるじゃん(´ー`)
617デフォルトの名無しさん:03/01/18 22:03
1、condidate key と foreign key の違いを説明(例付き)
2、insertion anomalies の説明(例付き)
3、PROJECTION と JOIN の関係の説明

これをどなたか教えて頂けませんか?
618デフォルトの名無しさん:03/01/18 22:06
今考えてるのは、
・プログラムを書くのに適したエディタ
色分け、検索機能が強力、インデント機能などです。

・超軽量クリップボード拡張ソフト
やっぱり軽いのをみんな求めている、と思って。

これですね。簡単に作れないことはわかってますが、
それでも作ってみたいのです。
>>617
スレ違い。宿題は宿題スレにどうぞ。
あるいは データベーススレか SQL スレに。
>>617
マルチ
621デフォルトの名無しさん:03/01/18 23:39
>>602
これって画面のプロパティのWindowsクラシックとかそう言うやつの事ですよね?

ちゃんと反映されますよよよ?
マルチが且つ宿題丸投げである確率を答えよ。
623VC6+SP5:03/01/19 00:28
class Error1{};
class Error2{};

void foo() throw(Error1)
{
 throw Error2;
}
でfoo()が例外Error2を投げてしまうのは仕様ですか?
625デフォルトの名無しさん:03/01/19 02:34
VC++でCのプログラム使おうと思ってんだけど、実行したら<curses.h>とかいうのが
無いからfatal errorとかいってくるんでよくわからんのです。
ほかのコンパイラじゃないと使えないプログラムなんでしょうか?
教えてください。
>>625
googleで検索したら似たような(curses.hがないよー)という人がたくさん。
で、どうやらコンパイラでなくてUnix系OSのパッケージに入っているらしい?

どうやって入手するかは、、、わかんない(´・з・`)
VC++ やめて gcc on cygwin にするか、
win32 にポートされた curses ライブラリを探すかだな。
悲惨な1のプログラムを誰か書き換えて下さい
http://society.2ch.net/test/read.cgi/hosp/1042877003/l50
629デフォルトの名無しさん:03/01/19 14:22
今日VC++アカデミック買いにヤマダ電機いったら売ってなかった・・・
スタンダードだけ。コジマに行ってもアカデミックは無く・・・

通販とかで買えないかなー
630602:03/01/19 14:24
>>629
秋葉には山ほどあるけど・・・。
VC++6.0のClass Wizardについて質問です。
作成したプログラムの一部のクラスをクラス名を変更したのですが、Class Wizardで流用したクラスだけが認識してくれません。
.clwを削除してVC++に再構築をさせてみたのですが、うまくいきませんでした。
手動で.clwにクラス情報を登録(入力)するしかないのでしょうか。
なぜ作成したプログラムの一部のクラスをクラス名を変更したのかというと、他のプログラムでそのクラスを流用を考えているのですが、たまたま流用先のクラス名と重複してしまっているからです。
よろしくお願いします。
>>631
なぜ貴様は名前空間を使わん?
>>631の追加報告
>.clwを削除してVC++に再構築をさせてみたのですが、うまくいきませんでした。
具体的には、名前を変更したクラスだけ、ヘッダーファイルとインプリメントファイルが見つからないと言われました。
>>632
今、名前空間というキーワードで調べたのですが、それと今回の問題の解決方法にどうつながってくるのでしょうか。
出来れば、詳細な解決方法をお願いします。
635ううわからん:03/01/19 14:42
 マジで初心者で困っています。どなたでもいいので教えて下さい
 まし。

 IEとかNETSCAPEとかである言語のサイト(ロシア語や日本語等)の
 サイトに行き文字を書き込む欄等でSHIFTキー,ないしはCTRLキー
 あるいはBACK SPACEキー(これらが私が試したものです)を押すと
 以下のようなダイアログが現れて突然ストップしてしまいます。

 " Debug Assertion Failed!

Program:C:\PROGRAM FILES\INTERNET
EXPLORER:\IEPLORE.EXE
File:dbgdel.cpp
Line:47

Expression:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
For information on how your program can cause assertion failure, see the Visual C++ documentation on asserts."

 これは何なのでしょう?私VISUALC++なんて聞いたことしかないので
 どこのサイトに行けばいいのかもわからず教えて頂きたく。
 どこかのファイルを直せばいいのですか?いろいろインターネット
 で調べてはみたのですがどうにもジャーゴンばっかで解りません。
 初心者に御手解きのほどよろしくお願いいたします。
>>635
そのサイト教えれ。
637635:03/01/19 14:54
 636様

 どうも貴重な御意見ありがとうございます。ちなみにはじめに
 問題が起きたサイトは以下です。

 http://www.slova.ru/

 ここはロシア語の辞書サイトなのですが例えば一番上の方にはる
 ボックスにロシア語を入れようとして(私はIME−2000の設定
 でロシア語をSHIFT+CTRLで立ち上がるように設定しました)
 SHIFTキーないしCTRLキーを押すと635のようなエラーメッセージが
 出てホールトしてしまいます。ちなに申しておりませんでしたが
 使用しているOSはWINDOWS MEです。またIEはIE6 SERVICEPACK1
 英語版です。

 よろしくお願いいたします。
>>637
とりあえずWin2Kでは何も起きなかったyo
ちなみにブラウザはIE5.5SP2。

つーかIE自体の不具合?
>>629
>通販とかで買えないかなー

楽天とかにもタマに出てるね。俺はちなみに以前楽天で、VC++6 , VB6を、
(未登録・Enterprise版)をそれぞれ14000円,16000円でゲトした。
640635:03/01/19 15:25
 638様

 そうですか。どうも有難うございました。お時間を頂き
 申し訳ありません。他サイト等もあたってみます。
641629:03/01/19 15:45
>639
エンタープライズが14000円?うそでしょ?
642631:03/01/19 17:11
>>632
名前空間も重複してるから困ってんだよ。ヴォケ。
>>642
騙りの下手さにも限度があるぞ
644デフォルトの名無しさん:03/01/19 19:08
VC++アカデミックパックの実売価格ってどれくらいですか?
価格.comにすら載ってなくて困ってるんです。
どなたか、大体でいいので教えていただけないでしょうか?
646644:03/01/19 20:07
>>645
そこにもアカデミックは載ってなかったのですが・・・。
そこで商品を購入できるならそこで買っちゃおうかな・・・?
647デフォルトの名無しさん:03/01/19 20:19
>>644
わかんないけどやっぱ安いと思う。
参考にVisualStudio.NETの場合だと

VisualStudio.NET Pro製品版 123,450 円
VisualStudio.NET Pro優待版 71,280 円
VisualStudio.NET Academic 22,890 円

(注).NETの場合はアカデミックはアカデミックパッケージとなり、
ライセンスもアカデミックとなるようです。でも、中身に関しては
何も問題ないかと。アカデミックはさらに学生用ツールが付加されている。
(注)VisualStudio.6.0のアカデミックは、Professional版と全く同じ。
Professional版のパッケージにアカデミックのシールを貼っただけのもの。

ちなみに価格を参考にしたHPは
http://www.netyokocho.jp/shop/move1soft/index.asp?key1=5&key2=38&view_select=5&dbun_sort=2147483647&bun_sort=2147483647
648デフォルトの名無しさん:03/01/19 20:26
>>647にさらに追加。

VisualStudio.NET Pro MSDN DX製品版 126,690 円
VisualStudio.NET Pro MSDN DX優待版 76,600 円

ということは>>647の製品にはMSDNが付いてないのか?
MSDNは別所から手に入れることができるのだろうか?
649644:03/01/19 20:28
>>647
ええ、実は最初VisualStdio.NETアカデミック買おうとしたのですが
OSが対応してなかったんですよ。うちの9xなので。
で、しぶしぶVC++買おうと思ったらまだ価格が分からないんです。
ヤマダ電機とコジマ電機行ってもありませんでした。
地方なので秋葉原には行けないし・・・。
ソフマップでも見つからない・・・。
うーん、どうすればいいんでしょう?
「Visual C++ 円 アカデミック」で検索かけてみろ
651デフォルトの名無しさん:03/01/19 20:35
>>649
取り寄せればいいかと思うけど。
電話で取り寄せ出来るか、あと価格も聞いて見れば?
652644:03/01/19 20:44
ありがとうございました。やっと見つかりました。
いろいろなバージョンのアカデミック版があるようで。


---パッケージ 推定小売価格---

エンタープライズ
エディション 通常パッケージ 163,000円
アカデミックパッケージ 21,200円

プロフェッショナル
エディション 通常パッケージ 83,800円
アカデミック パッケージ 13,500円

スタンダード
通常パッケージ 23,800円
アカデミック パッケージ 9,800円

-------------------------------
コストパフォーマンスなどを考えると、プロフェッショナルのアカデミック版が
一番いいかなと思ってます。
でも買う場所がない(笑)
これを求めに秋葉原まで200km行くのもいやですし
653デフォルトの名無しさん:03/01/19 20:50
>>652
昔の事だから記憶も曖昧だけど、
スタンダードやラーニングエディションは買うと後悔するって言われてました。
んでもって、エンタープライズ版なんか必要とすることはまずないし。
4種類のエディションがあるけど、プロフェッショナル版に決まり。
654644:03/01/19 20:53
>>653
という事はプロフェッショナル版の選択は正しいんですね。
ありがとうございました。
うーん、東京に住んでる姉ちゃんに頼んで女一人で秋葉原行ってもらうかな・・・
あー、でもそれも悪いような・・・。

まだ工房なのでお年玉もらえたから買うお金はあるのに、買えないなんて(笑
655639:03/01/19 21:04
>>641
>エンタープライズが14000円?うそでしょ?

これがマジだから笑う。しかも箱等、備品全部付いて。(ちょっと汚れてたけど)
たぶんコレってかなりのレアケース。でも、オークション系も一応見てみたら?
「確実」とも「安全」とも言えないけど。

ポイントは「競りが続いている商品と同じ品目なんだけど見出しが地味な方」に微妙に
入札しておく事....って、この辺は板違い。スマソ。
c++にVBからいこうしたいんだけど無理?
>654
http://www.tsukumo.co.jp/ts/order/m_form.html
ここで見積依頼して納得いく値段ならフリーオーダーで注文できるよ
658デフォルトの名無しさん:03/01/19 21:40
無理くない。やる気次第
アカデミック版のライセンスに注意。
ボーランドの製品だとアカデミックでは配布不可だったような。。。
660デフォルトの名無しさん:03/01/20 00:23
>>659
詳しく教えてください
661デフォルトの名無しさん:03/01/20 00:35

VC++6.0持ってるんだけど、このままMFCに突き進んで
大丈夫なのかな・・・?

趣味ならなんでもありだし仕事なら業務に従え。
663デフォルトの名無しさん:03/01/20 00:41
タブコントロールの使い方を教えてほしいです
どーゆう考えでタブコントロールに挑んだらいいのか知りたいです
なんというか概要だけでも、、、

・タブの追加
・タブ選択時
・タブ上のコントロールの操作
664デフォルトの名無しさん:03/01/20 00:42
>>663
その辺はCTabCtrlのヘルプ見れば大抵わかるやん?
665デフォルトの名無しさん:03/01/20 00:43
>>663マルチ
マルチってなんで消えないんだろーなー
>>663
強気で挑め。そしてマルチは氏ね。
667663:03/01/20 00:49
がんばってみます
ちなみにマルチ場所を教えてください
668デフォルトの名無しさん:03/01/20 00:52
>>661
初心者はMFCの前にSDKやった方がよいと思う。その後にMFC。
デバッグモードでビルドして、Trace()の出力をデバッグウィンドウで
追ってるんですけど、ループしてるところとかでは、よくTrace()が
スキップされるというか表示が追いつかないと言うか、先にプログラムが
終了してしまってログがとぎれてることが有るのですが、これを防ぐ方法
有りますか?
670デフォルトの名無しさん:03/01/20 01:16
bisonを使いたいんですけど、カスタムビルド使ってもうまくできないです。
多分、bison に¥がついてるパスを渡してちゃいけないのかな。
で、どうすればいいでしょう?
> よくTrace()がスキップされる
それはないと思われ。
プログラムが終了しても実行されたTRACEの結果は全部表示されてるよ。
VC#からVS.NETに移行してきました。

C#のインテリセンスは記述の仕方以外にも
日本語もしくは英語で説明がでるのに
C++では何にも出ません
.Net Framework だけなのかな?と思いmagaged C++でも試したんですが
やっぱり記述方法以外何にもでません。
仕様ですか?


私は学生なんでアカデミック版を購入したんですけど
普通に通販で買えたので、一般の方でも購入できそうなんですけどいいんですかね?
673デフォルトの名無しさん:03/01/20 08:13

Visual C++ + MFCプログラミングってウイザード使わずに
作成できるんでしょうか? 「Windowsプログラミングの
基礎知識」を一通り読みましたが、背景で何をやっている
のか、まだ掴みきれていないところがある。だいたい、
Wizardで作成すると、WinMain関数が隠されてしまう
みたいでエントリポイントもよくわからない。なんとか
この辺を理解したいところなんだけど。

とりあえずMSDNを読んでますが、もっと分かりやすい
書籍で次のステップアップに最適なのはないんですかね。


674デフォルトの名無しさん:03/01/20 10:06

リソースエディタのスタティックテキストで
文字サイズを変更するにはどうしたらいいんですか?

675デフォルトの名無しさん:03/01/20 10:29
質問。
VisualStudioの下段に辺りにある[出力]ウィンドウにメッセージを
出力させる方法が分かりません。
MFCは使ってないんで、Win32APIか何かで表示する方法無いですか?
676675:03/01/20 10:34
ごめん、分かったから事故レス。
OutputDebugStringだった。
>>673
ウィザード使わないなら
http://www.ascii.co.jp/pb/msp/19158/19158.htm
とか、中身が知りたいならアジソンウェスレイのMFCインターナルとか

>>674
多分、ダイアログフォントを変える
SetFontだろ
679デフォルトの名無しさん:03/01/20 13:20
これTCP/IPのやつなんだけど,どこかおかしいですか?
プログラムが汚いというツッコミはいりません。
ちなみにサーバーにはログインできてると思います。
//---送信
char chSendMsg[256] ;
char chRcvMsg[256] ;
CString strMsg ;
unsigned int iStrLenCnt, iCnt;
unsigned int iLp, iLoop;
char *pMsgCnt ;

memset(chSendMsg , 0 , sizeof(chSendMsg) );//char の初期化
strcpy(chSendMsg, "Test"); //chSndMsg に送信メッセージを代入
iStrLenCnt = strlen(chSendMsg);//送信メッセージの文字数を代入
pMsgCnt = chSendMsg ;//ポインタにアドレスを代入
do{ // 送信終了又は、送信エラーまで繰り返す
iCnt = send(TcpSock, pMsgCnt ,strlen(pMsgCnt) , 0);// 文字列を送信。送信された文字数が返ってくる。
if( iCnt == SOCKET_ERROR ){//Sendでエラーが返ってきたとき
MessageBox("送信失敗しました。","1回目で送信失敗",MB_OK|MB_ICONSTOP);//ダイアログ表示
return ;//関数を抜ける
}
if(iCnt > 0){//文字が1文字でも送信できたら
pMsgCnt += iCnt ;//送れた文字数だけポインタをずらす
iStrLenCnt -= iCnt; //総送信メッセージ文字数から送れた分の文字数を引く
}
}while(iStrLenCnt > 0);//総送信メッセージ文字数が0より大きかったら繰り返す
strMsg = chSendMsg ;//送信メッセージを CString 型に代入
//----ここまで
神様おせーてください。
680名無しさん:03/01/20 18:36
>>677
ありがとうございます。
しかしどれも高いですね。
おまけに出版年が古い。

新しい書籍がでてないってことで、このまま
MFCの勉強していって良いものなのか
ちと迷ってしまう。

>>680
あと2〜3年ってとこかな? MFC の寿命。
会社によっては MFC にしがみつかざるを得ない場合もあるだろうけど・・・
まあ、新しい技術がどんどん出てくるから、基本だけはしっかり
覚えとかないとね。
何を基準にこれから勉強していって良いやら悪いやら決めてるのか知らんが
趣味なら好きなのやれって。
それとMFCの新書籍なら
http://www.amazon.co.jp/exec/obidos/ASIN/4891002999/ncfbook-22/249-9278196-0322731
683644:03/01/20 18:57
結局東京にすんでるおねえちゃんに買ってきてくれるよう
たのみました。
「VisualC++プロフェッショナル アカデミック版」
って言っておいたけど、類似品が沢山あるから間違わない事を激しく願う。
バージョン言ってない時点でダメダメだと思うがな
685C++厨:03/01/20 19:02
お、おねえたん…(*´∀`)ハァハァ
686名無しさん:03/01/20 19:07
>>682
VC++.NETでもMFCは利用されるんですね。
VC++6.0Proを持ってるんですが、新しいバージョンでは
もうMFCは利用されないのかと思ってますた。

おねえたんが間違わないように俺が一緒に付き合ってあげようかハァハァ
688644:03/01/20 19:12
もしかしてVC++6.0に、
NT用と9x用ってあるのですか?
689名無しさん:03/01/20 19:16
>>688
VC++6.0 は2000/NT/98/95、すべて同じ
パッケージだよ。(たしか。)

アカデミックならヤフオクで中古で買えばいいのに。
ほとんど安くならないだろうけど、わざわざ秋葉に
買いにいくよりは手軽じゃないかと。


690デフォルトの名無しさん:03/01/20 19:17
じゃあ俺は、おねえたんプロフェッショナル版でいいや。
691デフォルトの名無しさん:03/01/20 20:59
タブコントロールつかってるんですけど
実行したら
問題が発生したため、tab.exe を終了します。 ご不便をおかけして申し訳ありません。
というエラーがでてしまった
コンパイルエラーはなかったのでたぶんコーディングはあってると思います

実際タブコントロールって不安定なんだろうか、、プロパティシートつかったほうが
安定してるとかありますか?
692691:03/01/20 21:12
実際のソースがこれです
ダイアログベースでタブコントロールを
貼り付けました
リソースも関連付けたし問題もないようなきがします


BOOL CTabDlg::OnInitDialog()
{
CDialog::OnInitDialog();

// このダイアログ用のアイコンを設定します。フレームワークはアプリケーションのメイン
// ウィンドウがダイアログでない時は自動的に設定しません。
SetIcon(m_hIcon, TRUE);// 大きいアイコンを設定
SetIcon(m_hIcon, FALSE);// 小さいアイコンを設定

// TODO: 特別な初期化を行う時はこの場所に追加してください。
this->m_tc.mask = TCIF_TEXT;
this->m_tab.InsertItem(1,&this->m_tc);
return TRUE; // TRUE を返すとコントロールに設定したフォーカスは失われません。
}
693名無しさん:03/01/20 21:22
>>691
随分謙虚なエラーメッセージなんだな。(w

コンパイルエラーがなかったのでコーディングはあってるってすごく強気だな
695691:03/01/20 21:31
謙虚にどこがどうまちがっているのかも教えてほしかった、、

あたなのコードはとてもセンスがいいのですが、、、みたいに

ところでCTabCtrl::InsertItemにしていする
TCITEM構造体がTC_ITEM構造体にするとかかな?
構造体の設定がまちがっているとかかな?
これだろ<&this->m_tc
つーかthis->なんて無意味なことするからこんなことに
697名無しさん:03/01/20 21:43
>>696
this は暗黙で呼ばれるから不要なのかな?
&(this->m_tc) にしたら、どうでつか? >>692

&m_tcにしなさい。
699691:03/01/20 21:48
実はVB房なんです、ですからme.object.,,,なんて癖が
this->ってやったらメンバでてくるから便利かなーって

>&(this->m_tc) にしたら、どうでつか?
これもご不便をおかけして申し訳ありません。ですた
演算子的に括弧がなくてもいけるようなきもします

今日林はるひこの本をみてやったけど実にわかりやすかった
700691:03/01/20 21:49
>>698
えらーでし
701691:03/01/20 21:52
実はWinnyのクローンを目指してるんでし
まずは画面のデザインからってことで
次はリストビューに挑戦しようかと、、
インデックスは0から始まるんだが、これもVB厨だからか?
m_tcがTC_ITEMなら&m_tcでよい。というかそれをメンバ変数にしなくてもよい。

本当にそんなんで林本を読んだんだろうな。
703名無しさん:03/01/20 21:56

つーことは、
&this->m_tc
は問題ないってことだいね?

704691:03/01/20 22:08
>>702
今日みっちり立ち読みした
はじめはメンバ変数にしなかったんですが
だんだん錯誤するうちにメンバにしたほうがいいんじゃないかと不安になって、、

>>703
演算子のゆん鮮度を確認しますた
まつがいないでし
いや、だからインデックスを0にしろって。
それとマスク指定してるならメンバ埋めろよ・・・

つーかネタ認定しそう。
706691:03/01/20 22:14
TC_ITEM もローカル変数にして修正しましたが
だめなようです
TC_ITEMの設定はひとつだけどこれが問題かな?
明日また林よんでこよー
BOOL CTabDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE);// 大きいアイコンを設定
SetIcon(m_hIcon, FALSE);// 小さいアイコンを設定

TC_ITEM tcm;
tcm.mask = TCIF_TEXT;
m_tab.InsertItem(0,&tcm);
return TRUE; // TRUE を返すとコントロールに設定したフォーカスは失われません。
}
707691:03/01/20 22:19
うまくいきました

>それとマスク指定してるならメンバ埋めろよ・・・

>>705
メンバを理解しきれてなかったです
タブのスタイル設定するんだろうなってことは立ち読みしたんですけど

tcm.maskの設定を消しました、そしたら動きました
tcm.pszTextを埋めろ。

はい終了。以後放置決定。
709691:03/01/20 22:26
>>708
おかげさまで、タブ名を表示することができました
710669:03/01/20 23:31
>>671
うぅ・・・でもなんか、配列中のデータを指定範囲表示させるようにするときなど
途中から欠けてしまって、改行コードを出力しないことがあるんです。そんな時は
次のTRACE()がそのまま続いてしまうから配列データ表示の次のTRACE()結果を
捜すのにちょっと面倒だったりするんです。

  while(dwCnt-->0){
    TRACE("%X", *--pbData);
    if(dwCnt%10) TRACE(" ");
  }
  TRACE("]\n");

みたいなコードを含むデータ表示関数をループ中で使うと偶になります。
Warning表示もビルドしたときに同じクラスを表示してても出たりでなかったり・・・・なんなんだろう。
711デフォルトの名無しさん:03/01/21 00:21
簡単な質問なんですが、
○UNIXなどではリダイレクションを使うことで、fprintfなどの出力が
ファイルに入れることが出来ますが、(a.out > tex.txt のように)
VC++ではどのようにすればよいのでしょうか?
○VC++でポインタの時の、メンバ自動表示(言葉はこれでいいのかわかりませんが)
がたまに出力されないことがあるのですが、これはなぜなんでしょうか?
>>711
1番目のは、DOSで似たような事が出来たような気がしますが・・
自分も良く分からないのですみません。

2番目のは、コード補間とかのIntelliSenceの事ですか?
編集中の位置より前のコードに誤りがあると機能しない時があります。
また、自分はVC6.0を使ってるんですが、はっきりした条件は忘れましたが
構造体のメンバの構造体の更にメンバの構造体みたいにネストが深くなった
構造体なんかで機能しなかったような気がします。
Visual Studio .Netで
[ツール]-[オプション]-[テキストエディタ]-[C/C++]-[全般]の入力候補を見たところ

入力候補--------------------

 □自動メンバ表示(A)
  □メンバの詳細を非表示(H)
 □パラメータ ヒント(P)

3つのチェックボックスがあるんですが
真中の□メンバの詳細を非表示(H)だけチェックボックスが灰色表示になっていて設定を変えることができません。
Basic、C#では設定を変更できるんですがC/C++だけ変更できません。

ヘルプを参照すると
[全般] ([オプション] ダイアログ ボックス - [テキスト エディタ] - [C/C++])

・・・・・・
[入力候補]
 [自動メンバ表示]
  オンにすると、コード・・・

 [メンバの詳細を非表示]
  オンにすると、Visual ・・・

 [パラメータ ヒント]
  オンにすると、可能な・・・

・・・・・・

と説明が付いているのでオン/オフの切り替えができそうに見えるんですが
皆さんはオン/オフできるのでしょうか?
714672=713:03/01/21 01:32
713の名前欄に672と書くところをメール欄に672と書いてしまいました(どうでもいいですね)

>>711
windows 2000 / XP のコマンドプロンプトでリダイレクションは確認できました

例えばHelloWorld.exeという実行ファイルなら

> HelloWorld > test.txt

でどうですか?
715デフォルトの名無しさん:03/01/21 01:40
自分も質問。
C/C++のエディタの事なんですが、VC6.0からVC.NETに
なってエディタは使いやすくなりましたか?
IntelliSenceの機能なんかは進化しましたか?
>>711
>○UNIXなどではリダイレクションを使うことで、fprintfなどの出力が
これはOSの問題でVC関係なし。

インテリセンスに関しては何度もガイシュツ。
>>716
>インテリセンスに関しては何度もガイシュツ。
このスレと過去スレ、検索したけど出てこなかったが
719デフォルトの名無しさん:03/01/21 12:09
C++暦4ヶ月程の学生から質問です。VC++.netを使っているのですが、
ワイド文字列をファイルに出力したい時にwofstreamを使うと、
必ず日本語を書き出すときに失敗します(以降書き出さなくなる)。
自分が悪いのか、VC++のバグなのか・・・何かコメントをお願いします。
(今のところ、wcstombsを使ってofstreamで出力、で対処しています。)

int main()
{
setlocale(LC_ALL,"Japanese");//ここが変?
wcout << L"テスト" << endl;//成功

wofstream test("out_test1.txt");
test << L"test" << endl;//成功
test << L"テスト" << endl;//失敗。何で?

ofstream test2("out_test2.txt");
char a[100];
wstring w=L"テスト";
wcstombs(a,w.c_str(),w.size()*2+1);
test2 << a << endl;//成功
return 0;
}
日本 "japan" または "jpn"
>>720
いいかげんなことを書くな。
MSDNによれば
--
日本語 日本語 "japanese" または "jpn"
--
だそうだ。
722719:03/01/21 20:06
>>719です。先輩にも「そこじゃないの」といわれたんですけど、
[japan][jpn][japanese]すべて駄目でした。wcoutは上手くいくのに。
皆さんのところでは、それで成功するのですか?
ちなみに、ボーランドのC++だとJapaneseでwofstream成功しました。
723デフォルトの名無しさん:03/01/21 21:08
ワイド文字列(Unicode)使うのに
ロケールは関係ないんじゃないでしょうか?
>>721
720 は MSDN による。
725デフォルトの名無しさん:03/01/21 21:11
int ClsFlg=0;

CTestView::OnLButtonDown(UNIT nFlags,CPoint point)
{
  InvalidateRect();
  ClsFlg=1;
}

とInvalidateRect()の後にClsFlgを変更かけてます。
OnDraw関数内では、既にClsFlg=1となっており、
変更が反映されている様なのですが、
この場合OnDraw()が呼ばれるのって、
OnLButtonDown()が終了してからなんですか?

726名無しさん:03/01/21 21:51
>>725
InvalidateRect()は無効領域を指定するだけなので
やはりOnLButtonDown()が終了してからなのでは?

OnDraw()ってWM_PAINTが発行されて呼び出される
わけじゃないのかな? WM_PAINTはWindowUpdate()
で発行されるみたいだけど。

727725:03/01/21 22:00
>>726
なるほど、これで辻褄が合いそうです。
ドモ。
>>726
その通り。
Invalidateが指定されてもすぐに更新されるわけではなく、
Windowsが決めたタイミングでOnDrawが呼び出される。
すぐに更新したい場合はRedrawWindow。
>>722

Windows はよく知らないし、C++ もよく知らないし、UTF-16 もよく知らないけど、
ファイルがテキストモードで開かれて改行コード変換されてるからおかしくなるんじゃないの?

>>728
WM_PAINT が描画する範囲内の更新でよいなら(非クライアント領域はそのままで良いなら)、
UpdateWindowの方が一般的だということも書いておくと良いかもしれない。
OnDrawはWM_PAINTでよびださ(ry
doc-viewつかってんならCDomument::UpdateAllView(NULL)とか
ttp://www-kobayashi.ctrl.titech.ac.jp/~mtanaka/vc/A/3-a.html
のページを見つつHelloWorldを作ってみたんですが(そのまんまコピペで

testView.cpp(51): error C2065: 'pDC' : 定義されていない識別子です。
testView.cpp(51): error C2227: '->SetTextColor' : 左側がクラス、構造体、共用体へのポインタではありません。
testView.cpp(52): error C2227: '->TextOutA' : 左側がクラス、構造体、共用体へのポインタではありません。

と出てきてコンパイルできません

どなたか解決策教えていただければ幸いです

環境はWinXpProSP1 VS.net のVC++です

>>732
とりあえずコードの意味を考えてみれ。
そもそもコードの意味が分からんようなら
先ずはコンソールアプリ(DOSプロンプトが出てくるやつ)から始めれ。
734デフォルトの名無しさん:03/01/22 21:13
コンソールのプログラムで標準出力で文字を表示しているんですが
普通に実行すると問題のないのですが
ファイルにリダイレクトすると何も出力されていません(ファイルとDOS窓両方とも)。
何が原因なのでしょうか?
735デフォルトの名無しさん:03/01/22 21:38
>>732
作ったソースをそのまんまコピペしろって。
736デフォルトの名無しさん:03/01/22 22:03
22-Jan-2003 04:59 のような形式で入力された日時を
システム時刻に変換したいんですが
使えそうな関数はありますか?
>>736
strtok
738デフォルトの名無しさん:03/01/22 22:20
一通り、入門書読み終えました。
みなさん、VCで始めに作ったオリジナルアプリは何ですか?
本の例題とか抜きで・・・

>>734
それはVisualC++の問題ではないような。

>>736
一発変換はムリ

>>738
メモ帳だろやっぱ
>>734
途中で入力促す部分があるとか。。。
>>734
・デバッグ実行中に見ている場合
まだフラッシュされてないだけの可能性がある。
しかし、endl でフラッシュされるため、
endl がないと思えないので可能性低し。
>> 740 の可能性ももちろんある。

・そうでない場合
ファイル名が間違ってる可能性がある。
もしくは、別アプリからの書き込みを禁止するタイプのエディタで
ファイルを開いているために、
書き込みに失敗している可能性がある。
リダイレクトって、 > NUL とか > CON\CON とかやってないよな。
743デフォルトの名無しさん:03/01/23 05:13
マイクロソフトのC++はXPで作動しないですか?
>>743
する
VC6.0使い始めようと思っています。

printfとかの命令語(?)のヘルプってどのchmファイルで見れますか?
何か作りたいのですが、命令語解らんので何をやればいいのかサパーリ解りません。
>>745
MSDNライブラリがインストールしてあったら
調べたい単語にカーソルを置いて F1 キーを押す
入れてなかったらMSのサイトで検索できる
747745:03/01/23 11:42
>>746
そりゃ知らなかった、ありがd。
>>745
VCCORE.CHM
>719
wofstream test("out_test1.txt");
の代わりに、
wofstream test;
test.imbue( locale("jpn") );
test.open("out_test1.txt");
とすると動く。

・Cロケールなcodecvtがつくられる際に、コンストラクタで
setlocale(LC_ALL, "C");が実行される
・VCのimbueには致命的な欠陥があるのか、
コンストラクタでつくられたCロケールなcodecvtを(imbue時に)
作り直したりしないので、openして作りなおさせる必要がある。
ActiveXコントロールをダイアログに貼りつけて、WM_INITDIALOGにおいて以下の文

m_pGrid = ( CMSFlexGrid* )GetDlgItem( IDC_MSFLEXGRID1 );
m_pGrid->SetRows ( 6 );

ウィンドウハンドルをオブジェクトポインタにキャストして何故上手く行くのですか?
ひょっとしてMFCの基底のほうですでに実装済み???
751719:03/01/23 18:44
>>749
すごいです。正しく動きました。
正直imbueというのが何なのか理解していませんが、
その辺は自分で勉強しておきます。
有難うございました。
752山崎渉:03/01/23 20:00
(^^)
>>750
MFCのクラスツリーを見ることを薦める。
コントロールは全てCWndから派生している。

キャスト使えば実際の型が全然別のものでも実は(ry
754デフォルトの名無しさん:03/01/23 23:10
VC++6.0を起動したはいいけど何をやったらいいのかわかりません。
VC++6.0の使い方とか書いてあるHPまたは書籍ってないですか?
それからMFCとSDKってなんですか?教えてください。
>>754
適当な入門書買ってこい。
推薦図書/必読書のためのスレッド PART 8
http://pc3.2ch.net/test/read.cgi/tech/1041595397/l50

MFC/SDKについては検索しる
756  マネーの虎:03/01/23 23:29

※180度、人生を変えるなら・・・!!!
【今の生活に満足している人はお断り・・・!!!】
http://www3.to/ds821
757736:03/01/23 23:32
>>737 >>739アドバイスどうもでした。
gccのライブラリからstrptimeをもらってきて作りました。

char *date;//"23-Jan-2003 06:11"
struct tm tm;
//tmを初期化する(省略)
strptime(date, "%d-%b-%Y %H:%M", &tm);//年月日時分に分解(date→tm)
tm.tm_hour+=17;//時差17時間調整
time_t t_t= mktime(&tm);//システム時刻に変換
strftime(date, 32, "%Y/%m/%d %H:%M", localtime(&t_t));//"2003/01/23 23:11"
758デフォルトの名無しさん:03/01/24 00:23
インストーラとオンラインヘルプの作り方おしえてください
760名無しさん:03/01/24 01:09

CFileDialog でファイルではなく、ディレクトリを選択
するようにしたいのですが、派生させて大々的に
改造するしかないもんでしょうか?

なんとか手軽に実現できないもんですかね。

>>760
SHBrowseForFolder
スレッドの同期とか非同期ってなに?
どーいういみあんのぉ?
>>764
ども
766763:03/01/24 13:06
非同期だと受信と他の作業を別な感じで
やってくれるってことでいいのかな?
そーいうばーい、送信と受信って
いぺーんにできるの?
767名無しさん:03/01/24 13:28

CFileFind の IsDirectory() でDebug Assertion Failedエラーが
出て、うまく動作しないのですが、何が問題なのでしょうか?
テストプログラムは下記のような感じです。

int main(int argc, char* argv[])
{
cout << "テストプログラム\n";

CFileFind ff;
char str[] = "C:\\Program Files";

if (ff.FindFile(str)) cout << "ファイル/ディレクトリを発見:" << str << "\n";
else cout <<"ファイル/ディレクトリ " << str << " が発見できませんでした。\n";

if (ff.IsDirectory()) cout << "これはディレクトリです\n";
else cout << "ERROR!\n";

return 0;
}

リリースモードだとエラーは出ませんが、やはり
うまく動作していない模様。
768名無しさん:03/01/24 13:33
>>761
ありがとうございます。
ちょっと検索してみましたが、英語ドキュメントしか
見つからなくてムズイです。

http://www.bd.wakwak.com/~opapa/VC/API/SHBrowseForFolder.htm
ここで解説を見つけましたが、COMなんたらいうのが
分からなくて、うまく使えないです。パスを取得するところ
まではできたのですが、API側で確保したメモリの解放が
できずにメモリリークになっている感じです。

なにか読むべき適当なテキストなんかありましたら、紹介
いただけるとありがたいです。

769名無しさん:03/01/24 13:39
>>767追伸
ディレクトリチェック部分を

if (ff.MatchesMask(FILE_ATTRIBUTE_DIRECTORY)) cout << "これはディレクトリです\n";
else cout << "ERROR!2\n";

に変更しても、やはり同様のエラーでした。
何が問題なんだろう。


for(;;)文で処理を行ってるのですが
閉じるボタンを押しても反応してくれなかったり
閉じれてもエラーメッセージが表示されます。
ウィンドーからのメッセージはどうやって取ればよいのでしょうか。
771名無しさん:03/01/24 14:16
>>770
MFCを使っているなら、クラスウイザードで
WM_CLOSEをハンドルする関数を作ってはいかがですか?
それともCベースで1から手打ちですか?
>>767
FindNextFileの呼出が抜けてる。
773名無しさん:03/01/24 14:24
>>772
FindNextFileを実行すると、ファイルへのポインタが
目的のファイルの次にズレてしまわないですか?
ちょっと試してみます。

>>771さん
 クラスウィザードから それっぽいのが追加できそうです。
ありがとうございますm(__)m
775名無しさん:03/01/24 14:34
>>772
成功しますた!
1回目の呼び出しではポインタずれないんですね。
ちと紛らわしい。

ありがとうございました。

>>774
お互い、がんばりませう。

776デフォルトの名無しさん:03/01/24 19:20
MD5ハッシュのやり方を教えてくれる人を尊敬します。
教えてください。
777776:03/01/24 19:47
解決しました。ありがとうございました。
>>770
forループを別スレッドで行う。
WM_CLOSEを処理する部分が呼ばれないのでWM_CLOSEをハンドリングしても無駄。
779776:03/01/24 20:35
777ってだれ?
殺すよ?
780779:03/01/24 20:37
嘘です
まあとりあえずrfc1321.txtを嫁。
782デフォルトの名無しさん:03/01/24 21:15
>>777 & >>780
またかよ!!
でも今日は気分がいいからゆるしてあげましょぉ(ニコニコ(怒
783名無しさん:03/01/24 22:05

CD-ROMでいいので、Visual C++で利用できる
関数の日本語完全版ってないもんですかねぇ。
6.0付属のMSDN使ってるんですが、ヤフオクとかに
出ている最近のやつはもう少し充実してるんでしょうか?

#定義 厳密
#引用 <窓.変態>
整数 窓適用業務界面 窓主(例操作 変態操作,例操作 変態操作, 長指示文字列零 長指示文字列零指令, 整数 数値指令表示)
{
復帰 零;
}

   ∧∧     ┌──────────
  ( ´ー`)   < シラネーヨ
   \ <     └───/|──────
    \.\______//
      \       /
       ∪∪ ̄∪∪
785あみ:03/01/24 23:53
だれかMD5おしえてよぉ(涙。
VC++の日本語サンプルのあるところでもいいので教えてください。
787デフォルトの名無しさん:03/01/25 00:27
マジでアホな質問なんですけど

ワークスペースというウィンドウがいつもでてきます
毎回消していて、それだけですむことですが、
どこを弄ればいつも出ないようになりますか?
>>787
自分のPCじゃないだろ。
789デフォルトの名無しさん:03/01/25 01:04
#include <unistd.h>
main()
{
int i,j;
printf("program start");
j=fork();
if(j>0)
{
printf("parent-1");
sleep(5);
printf("parent-2");
sleep(5);
printf("parent-3");
}
if(i==0){
printf("child-1");
sleep(8);
printf("child-2")
}
return(0);
}

これ実行できないんですけど教えてください
>sleep(8);
>printf("child-2")
>}
フーン
791 :03/01/25 01:12
void なのに return(0); なのか?
それとも void ではないのか?
>>789 マルチ氏ね
793デフォルトの名無しさん:03/01/25 01:19
#include <unistd.h>
main()
{
int i,j;
printf("program start");
j=fork();
if(j>0)
{
printf("parent-1");
sleep(5);
printf("parent-2");
sleep(5);
printf("parent-3");
}
if(i==0){
printf("child-1");
sleep(8);
printf("child-2")
} }
こっちのよーな
794i って何?:03/01/25 01:44
マルチはノーマナー。
795名無し@沢村:03/01/25 02:31
>>791
ヌヒよ、voidではないのよ。
マルチっつーか、それ以前にスレ違いな。
797デフォルトの名無しさん:03/01/25 11:36
_variant_t の pRecordSet->GetCollect ( L"日付型" );
をCTimeに代入したいですけど、DATE型→CTimeってどうやればいいのでうか?
798名無し@沢村:03/01/25 13:08
>>797
しょうがないからヌヒに教えてあげよう。

{
DATE date;

(中略)

COleDateTime ot(date);

SYSTEMTIME st;
ot.GetAsSystemTime(st);

CTime ct(st);
}
799C++厨:03/01/25 14:15
>>785
ハァハァ…
あみたんをrapeしながらMD5…
DirectX9をいれたらVC++6.0がやたら強制終了するようになったのですが
仕様でしょうか?(´・ω・`)
OSは98。
手動
9x系ってのがそもそも間違いのような。
803732:03/01/25 16:39
色んなvc++の本を読みあさって見ましたが解決方法が見つかりませんでした。
で、vc++をアンインストールしてVC#に切り替えてみたんですが
もしかしたら

testView.cpp(51): error C2065: 'pDC' : 定義されていない識別子です。

っていうエラーが出る原因って
C#で言う所の
System.Console.WriteLine("Hello World!");
のObjectが抜けてるっていう意味ですか?

VC++6でpDC->TextOut ("Hello World!");
と書くだけでコンパイル出来たのが.netに環境を移行してから出来なくなったので
今までVC++6ではC#で言うところのusing System;が自動生成されてたのが
VC++.netから自動生成されなくなったと考えて良いのでしょうか?

大学のキャンパスアグリーメントなるシステムを使ってVSを導入していて手元にCDが
無いのでインストールし直して確認することができません。
どなたか教えていただけないでしょうか?
>>803
いやpDCが定義されてないって言われてんじゃん……
デバイスコンテキストについて勉強しる
805名無し@沢村:03/01/25 17:09
>>803
ヌヒよ、どうせ下のコードみたいにpDCがコメントアウトされているんだろ。

void CHelloView::OnDraw(CDC* /*pDC*/)
{
}
そういや、何でコメントアウトしてるんだろ?
コメント外すの面倒なんだけど・・・
807名無しさん@3周年:03/01/25 17:54
クラスの新規作成ダイアログで、
クラスの種類にGenericクラスを指定すると、
下に基本クラスを指定できるリストコントロールみたいなものが
表示されるのですが、
このコントロールを使用したいのですが、
公開されているのでしょうか。
リストの要素にドロップダウンリストが埋め込めたりして
かなり便利そうなので、使用してみたいのですが。
識者の方、よろしくおねがいします。

>>807
漏れは常駐ソフトの時に使ったかな。
けどドロップダウンリストの埋め込みとかわからないから
言うのは止めておこうと思ったあの日...
809デフォルトの名無しさん:03/01/25 22:49
>>807
それってコンボボックスの事じゃないのか?
それならCComboBoxってのがあるべ。
810デフォルトの名無しさん:03/01/25 22:55
コントロールを自分でCreateして配置するよりダイアログエディタで置いた方がリソース食いますか?
811あみ:03/01/25 23:00
VC++6.0でMD5のサンプル作ってください。

日本語でお願いします。

>>799

サンプルつくってぇ〜(笑
>>811
マルチポストすんなネカマ
814あみ:03/01/26 00:23
>>812
ありがと〜!
>>813
そういう考えばっかしてるから
メル友以外で女の子と話できないってことに
気づいた方がいいんじゃない?
電源設定を変更したいのですが
良い方法ありませんか?
816797:03/01/26 02:23
>>798
ありがとうございます。
COleDateTimeのヘルプはちらっと見ていたのですが、
DATE→COleDateTime→SYSTEMTIME→CTimeの繋がりに気がつきませんでした。
多謝多謝。
>>811
氏ね
818デフォルトの名無しさん:03/01/26 16:22
ファイル構成
-main.cpp
+A
| -hoge.h
| -hoge.cpp
+B
| -hoge.h
| -hoge.cpp
------------------------------
A/hoge.h
namespace A{
  class{
  public:
    void func();
  };
}
------------------------------
B/hoge.h
namespace B{
  class{
  public:
    void func();
  };
}
つづく
つづき

------------------------------
main.cpp
#include "A/hoge.h"
#include "B/hoge.h"
int main()
{
  A::hoge a;
  a.func();
  B::hoge b;
  b.func();
  return 0;
}
って感じのプロジェクトを VC7で作って(A/hoge.cpp & B/hoge.cpp は略)、コンパイルすると
./Debug/hoge.obj
が一つだけ再生されて(後の奴が上書きされて)リンクエラーが出るんですが、コンパイルオプションで何とかなりませんか?
820デフォルトの名無しさん:03/01/26 17:27
operator newのオーバーロードがうまくいかなくてこまってます。
サンプルに

class Blanks
{
public:
 Blanks(){}
 void *operator new( size_t stAllocateBlock, char chInit );
};
void *Blanks::operator new( size_t stAllocateBlock, char chInit )
{
 void *pvTemp = malloc( stAllocateBlock );
 if( pvTemp != 0 )
  memset( pvTemp, chInit, stAllocateBlock );
 return pvTemp;
}

というのがあります。
が、いざ
 Blanks *a5 = new( 0xa5 ) Blanks;
とやると
 error C2059: 構文エラー : 'constant'
と出ます。
前にoperator newのオーバーロードやって、
そのときはうまくいっていたように思ったんですが。
821デフォルトの名無しさん:03/01/26 17:36
//ブロックの追加
Add(pBlock);

if(m_bShift){
for(int i = 0; i < GetSize(); i++){
static_cast<CDirBlock*>(GetAt(i))->SetRect(BLOCK_STOCKRECT[i]);
}
}
return pRetObj;

BlockArray.cpp(49) : error C2664: 'SetRect' : 1 番目の引数を 'int' から 'const class CRect &' に変換できません。 (新しい機能 ; ヘルプを参照)
理由: 'int' から 'const class CRect' へは変換できません。
コンストラクタはソース型を持てません、またはコンストラクタのオーバーロード レゾリューションがあいまいです。
このエラーの解決方法教えてkudasai.

>>819
A/hoge.cpp と B/hoge.cpp はプロジェクトに参加させてあるのか?
>>820
よくわからんが Blanks *a5 = new('\xA5') Blanks;
>>821
BLOCK_STOCKRECT の正体は何よ?
>>824
BLOCK_STOCKRECTは変数でタイプはint、アクセス制御はpublicです。
よくわからないんですが、キューだと思います

>>821のはストックブロックなら、描画位置をずらすものって聞いたんですが
BLOCK_STOCKRECT が int 型なら、何で BLOCK_STOCKRECT[i] という書き方ができるんだ?
827818:03/01/26 19:36
>>823
させてあります
>>826
理解してないからだろ
829820:03/01/26 20:05
んーなんか他の質問とごちゃごちゃになってしまいましたが
私のは独立した質問です。
クラスのnew演算子をオーバーロードしてそれを使おうとすると
必ずコンパイルエラーになります。
上の例ではnewにsize_t以外にもうひとつ引数をつけましたが
単純にnew(size_t)でオーバーロードしても、そのnewを使うと
「関数が不正な 3 個の実引数をともなって呼び出されました」
となります。
なんか自分のVCがおかしいのかな。
誰かnewのオーバーロードしてもコンパイル通るか試して欲しいっす。
MFC AppWizardでアプリ作ってます。
エディットボックスから、正誤判定つき(0-255)整数を16進数
で入力可能にする簡単な方法はあるのでしょうか?

文字列入力して、int型に変換するしかないのでしょうか?

初心者質問スマソ。
お願いします。
>>826
iがポインタなんだろ
>831 納得しますた
でも直前に for(int i = 0; i < GetSize(); i++){ とか書いてあるのな。
834デフォルトの名無しさん:03/01/27 00:19
MFCのダイアログベースのプログラムで一度ボタンを作成(IDC_BUTTON)して
それを押したときに行う処理をOnButton関数に記述しました。
その後誤ってボタンを削除(正確には切り取り)してしまったので新しいボタンに同じ機能をつけようと
思い同じIDC_BUTTONというボタンを作成しようとしたのですが
「同じIDを持つコントロールがあります」というメッセージがでてきて作成できません。
しかし、一度VCを終了させてしまったので貼り付けもできなくなってしまいました。
どうすればボタンを復活させることができるのでしょうか?
初心者な質問ですみません。
835デフォルトの名無しさん:03/01/27 00:21
>>834
ダイアログでclassウィザード開いてメンバ関数を削除する。
そうしてもう一度最初からやる。
>>834
.rcファイルをメモ帳か何かで開いて(VisualStudioでも開けるが)、
新しいボタンの IDを IDC_BUTTON に書き換える。
>>835 >>835
ありがとうございました。
コンパイルは通るのですがダイアログが開かないという事態が解決できそうです。
838名無しさん:03/01/27 04:58
>>834
リソースエディタで、そのままボタンを追加して、
IDをIDC_BUTTONに変更できないんですかね?
表面的に削除しても *.rc からは削除されないのかな?


839あみ:03/01/27 10:30
>>817
ププッ!図星つかれると
大体そう言うんだよね〜。
なんかかわいそうになってきたよ。
ごめんね〜。24歳素人童貞君!
>>839
ごめんなさい。
ピンフな予感
Visual C++.netだけどF1で範囲選択してヘルプ出したときプラットフォームSDKの英語が優先的に出ちゃうんです。
これを日本語の奴が先に出るように出来ないのかな?ドキュメント検索したら日本語のもしっかりあるみたいなんだけど・・・。
設定もいろいろ見直してみたけど解決せず。どなたかご助言いただけないでしょーか。
843デフォルトの名無しさん:03/01/27 19:16
>>826は解決できました。答えてくれてくださった方ありがとうございます。
で、またエラーが出て、申し訳ないんですがご協力おねがいします。

Microsoft Visual Studio\LeadBall\LeadBallDoc.cpp(142) : error C2601: 'DrawObjects' : ローカル関数の定義が正しくありません。
void CLeadBallDoc::DrawObjects(CDC *pDC)
{                        ←エラーはここを指してました。
if(m_pBall)
m_pBall->Draw(pDC);
m_stocks.DrawAll(pDC);
m_blocks.DrawAll(pDC);
m_bugs.DrawAll(pDC);
}
LeadBallDocクラスのすべてのメンバ関数に上と同じエラーが出てきて、何がいけないのかさっぱりわかりません。
どなたか教えてください。おねがいします。



名前(アルファベット)五人分入力
         ↓
     辞書式に並び替える
         ↓
  "meido.doc"ファイルに書き込む
というプログラムなんですが、お願いします。
>>844
何をお願いするって?
>>844
辞書式ってなーに?
\ / |=) から \ // ̄ に移行したいんですがなにかアドヴァイスプリーズ 
 \/ |=)     \/ |__ 俺はどんくらいで完全に考えがCにうつれたみたいなかんじで
>>847
日本語でしゃべってくれ。
849847:03/01/27 23:19
ン?ナメック語の単位は取ってないんですか?ヤレヤレ

VBからVCに移行したいんですがなにかアドヴァイスプリーズ 
根本的な仕組みの違いがあって、分からん!

具体的に、明確に、VBとVCとの違いを教えてくださいオマイラ
仕組みが違う部分を理解しないと教えようもないんじゃないかな。
851847:03/01/27 23:43
どう理解しろと?
参考文献ないかなぁ(^д^)
>>849
細かい事考えずに 1 から覚えろ。
何で VB と VC との違いを知らないと逝けないと思ったんだ?
853847:03/01/27 23:52
いや、1から覚えるにはCは敷居が高いかなと・・。
VBの知識→応用→VCの知識→(゜д゜;)ウマー
を狙って。

やっぱ無理?一からしないとダメ?
ネタにマジレスが今の流行ですか?
855847:03/01/27 23:54
>>854
バカハダマッテハヤク ネ ロ
>>855
オマエモナー
こんなところで返ってくるかどうかわからない答えを待ってないで、行動しろよ。
857847:03/01/28 00:02
VC勉強しながら書き込んでますがナニカ?
>>857
なら教える事は何も無い。
859デフォルトの名無しさん:03/01/28 05:43
突然失礼しますが,
今c言語の行列演算ライブラリを探しているのですが
どなたかご存知ないでしょうか?
卒業研究のプログラムにいるので必死なんです。
助けてください
>>859
numpackとかそんな名前の有名なやつがあったような記憶。
861860:03/01/28 06:30
LAPACKだった。CはCLAPACK、C++はLAPACK++
862デフォルトの名無しさん:03/01/28 07:18
教えてください!! graphics.hというヘッダファイルが読み込めません。
古いCの本を参考にVCを使って書いているのですが、対応するヘッダファイルがないようなんです。

どうも調べたら今はgraphics.hはOSが提供しているので昔みたいにヘッダファイルを読み込む必要がなくなったから消えたらしいんですが・・
しかしこのヘッダファイルがないと実行できないので非常に困っています。
どなたか解決方法を知っておられたら教えてください!!
863デフォルトの名無しさん:03/01/28 07:51
>>862
コンソールアプリを作ってるの?
864デフォルトの名無しさん:03/01/28 08:02
いやー、そういうつもりではないのですが…
単に本どおりやっているだけなんで…

ちょうどこんな感じのです
http://f1.aaacafe.ne.jp/~pointc/log310.html
>>864
そのページを見てもわからなかったらあきらめたほうがいい
866デフォルトの名無しさん:03/01/28 08:16
>>859
自分で作れよ!卒研にならんぞ!
>>859
その程度もできないようなら卒業すんな
868デフォルトの名無しさん:03/01/28 09:17

いままで気にもしなかったけど、グラフィック系の関数は
削除されていたのか。MSDNみたけど、Platform SDKか
MFCにしかグラフィック関連の関数はないみたい。でも
これはウインドウ向けでコンソール向けじゃないよね?

まあ、練習ならテキスト処理だけでやるのが妥当じゃないのかな。

>>868
MFCっていうか、GDIというAPIに変わっただけだろ
870デフォルトの名無しさん:03/01/28 14:48
>>860
教えてくれてありがとう。
参考になりました
871デフォルトの名無しさん:03/01/28 18:24
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
return (m_wndSplitter.CreateStatic(this,

1,2) // TODO: 行と列の数を調整してください。
&&m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CD2HTreeView),CSize(100,100),pContext)
&&m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(D2HHtmlView),CSize(100,100),pContext));
}

この部分に問題点があれば指摘してくれ
MFC以外でなんかいいクラスライブラリあったら教えてください。
WTL
OWL
VCL
gtk--
QT
クソライブラリばかり
875名無し@沢村:03/01/28 23:59
やねうらおSDK
876アストロ:03/01/29 01:22
Visual Studio.NetでVC++7.0で
プロジェクトにMFCアプリケーションを選択し
Ctrl+F5でビルドしようとすると、
「これらのプロジェクトは古い形式で構成されています」
という警告が出ているんですが、これってなぜなんでしょう?
情けないことに、いつからこのメッセージが出てるか覚えて
いないんです。
どなたかこのメッセージの理由か回避方法知ってる方いた
ら教えてください。
即出だったらごめんなさい。
877デフォルトの名無しさん:03/01/29 05:28
よく使う機能を持たせた class CMyDialog : public CDialog を作って
クラスウィザードから使うことは可能ですか?可能なら方法を教えてください。
>>877
[プロジェクト] → [プロジェクトへ追加] → [ファイル...]
で*.hと*.cpp(クラスウィザードでつくったなら MyDialog.h と MyDialog.cpp)を追加しる
879877:03/01/29 08:00
ありがとうございます。しかし説明が足りなかった様です。
派生元をCMyDialogにしてクラスウィザードに表示される様にしたかったのです。
CAppDialog−CMyDialog−CDialog という継承関係です。
が、なにか方法を間違えているような気がしてきました。
>>879
「クラスの種類」を「Genericクラス」にして派生元をCMyDialogにすればいい。
「MFCクラス」内に表示されるのはMFCのクラスではないからムリだと思う。
カスタムAppWizardは?
ダイアログの背景に画像貼るとかできるの?
>>882
できます
>>876
Ctrl+F5は実行コマンドだから
最後にビルドしてから変更があるから
もういっかいビルドしますってことじゃない?

あらかじめShift+Ctrl+Bでビルドしてから
F5なりCtrl+F5で実行すれば警告はでないよ
885デフォルトの名無しさん:03/01/30 02:36
"BUTTON"ウインドウにWS_TABSTOPを指定しても、TABが効かないのは何故ですか?
親ウインドウにWS_EX_CONTROLPARENTをやってもダメでした。
886デフォルトの名無しさん:03/01/30 10:01
2chLib.cpp 2chLib.h を創ろう
スレとか作って使い勝手のあるモジュール群を作らないか?
887デフォルトの名無しさん:03/01/30 12:33
CString sData = lpvData[0].bstrVal;
を実行するとコンパイルエラーになってしまいます。
lpvDataは、LPVARIANTで宣言しております。

'初期化中' : 'BSTR' から 'ATL::CStringT<BaseType,StringTraits>'
に変換できません。
888TCP/IP:03/01/30 15:42
ちゃ!TCP/IPのクライアントソフト作ってるんですけど、
送信・受信などで悩んでるのでご存知の方がいましたら教えてください。

まずサーバーにログインしたらこっちがサーバーに送信するんですけど、
送信した後に受信するんですけど、普通にやるとブロッキングで受信できないので
今スレッドにしてるんですが、今の状態だと受信したのを確認する前に
次のデータを送信しちゃうんですが、受信完了まで待つにはどうしたらいいですかね?

ループでまわしてうまくいくときもありますが
ちょっと固まった感じになるので
できたらそれも改善したいです。

アドバイスください。

やりたいこと

ログイン  (できました

サーバー ←← クライアント (できました
サーバー →→ クライアント
サーバー ←← クライアント (↑を受信する前に送信してしまう
サーバー →→ クライアント
サーバー ←← クライアント
サーバー →→ クライアント

こんな感じです。

よろしくです。
889888:03/01/30 16:12
すみません。補正と追加です。
↑の()内は現在の状況です。

追加ですが、
この処理の後に
いつサーバーから連絡がきてもいいように
受信のスレッドのようなものを
使って監視したいと思ってます。

それで、必要なときには、こちらからサーバーのほうへも
送信したいと思っています。

それで、さらにできれば通信ログも
データ(構造体など)に入れたいと思っています。

よろしくお願いします。

開発環境
Win2k + SP2 
VC++6.0 ダイアログベース
890デフォルトの名無しさん:03/01/30 16:14
http://www6.ocn.ne.jp/~endou/index2.html
      ★こんなサイト見つけました★
>>888
送信しちゃうって、てめえで勝手に送信してんだろアフォ。

2番目のサーバからの送信を待つ必要があるなら
その時点でクライアントの送信スレッドを作らずに
受信を待てば良いだろ。
892VC++超初心者:03/01/30 19:07
糞みたいな質問でスマソですが教えてください。C++の勉強をしようと思って
VC++.netでとりあえず簡単なC++プログラム(コンソールアプリ)を作ってみたんですが、
デバックで実行して実行結果が表示された瞬間、MS-DOS窓が閉じてしまいます。
普通は「Press any key to continue」と出てMS-DOS窓は閉じないらしいのですが・・・
どうすればいいのか教えてください。ソースは次の通りです。

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
int dt;

cout<<"何か整数を入力してください:";
cin>>dt;

cout<<"def="<<dt<<"\n";
cout<<"8進数="<<oct<<dt<<"\n";
cout<<"16進数="<<hex<<dt<<"\n";
cout<<"16進数(大文字)="<<uppercase<<dt<<"\n";
cout<<"今の書式で表示="<<dt<<"\n";
cout<<"16進数(小文字)="<<nouppercase<<dt<<"\n";
cout<<"10進数="<<dec<<dt<<"\n";

return 0;
}
893VC++超初心者:03/01/30 20:49
だれか・・・
894デフォルトの名無しさん:03/01/30 21:15
>>892
VC++6.0の話だから、.net だとちょっと
違うかもしれないけど、
コンパイラの ビルド -> 実行 で実行してる?
そっちだと、すぐに閉じないと思うんだけど。

>>892
Press any key to continueって出るぞ。
んで、キー押すと終了するが。

ちゃんと、コンソールでプロジェクト作ったのか?
896VC++超初心者:03/01/30 21:24
おぉ〜レスありがとうございます。・゚・(ノД`)・゚・。
実行はまず「ビルド」メニューの「ソリューションのビルド」でビルドして
「デバッグ」メニューの「開始」で実行してます。
結果はきちんと出てるみたいなんですが
1回実行されるとすぐコマンドプロンプトが閉じるんです・・・
897VC++超初心者:03/01/30 21:36
>>895
はい、一応ちゃんと作ったつもりなんですが・・・
新規作成→プロジェクト→Win32プロジェクト→アプリケーションの設定
→コンソールアプリケーションと空のプロジェクトにチェック
でオッケーですよね?
>>897
本当にコンソールアプリケーションってやつちゃんと選んだか?
cin.get(); でも入れておけ。
900VC++超初心者:03/01/30 21:46
>>898
実は昨日「Hello World」と表示するプログラム組んだら
Press any key to continueってちゃんとでたんですが、
今日同じ方法で>>892のプログラム組んで実行したらこの症状が出たんです。
それで昨日組んだやつもやってみたんだけどそれもでなくなっちゃって・・・
901デフォルトの名無しさん:03/01/30 21:56
神降臨! 記念下記子汁!
http://live2.2ch.net/test/read.cgi/news/1043890845/19
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

18 :番組の途中ですが名無しです :03/01/30 10:57 ID:2hKUMfqg
ばばぁひかれるなんて、にちじょうさはんじなわけだ画。
19 :番組の途中ですが名無しです :03/01/30 11:01 ID:QrlbAOxQ
>>18
一応釣られておくけど日常「ちゃはんじ」。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
デバッグを開始じゃなくてただの実行しなさい。
903VC++超初心者:03/01/30 22:55
もうしょうがないからreturn 0のまえにcin.get();いれたんだけど
なぜかきえる・・・・なんでだ〜〜〜〜〜〜〜〜〜〜〜〜〜〜
だからデバッグの実行じゃなくてただの実行をしろと
905VC++超初心者:03/01/30 23:00
ただの実行ってどうやるんですか?
開始ってやつしかみつからなくて・・・
Ctrl+F5
!がめじるし
908VC++超初心者:03/01/30 23:12
デキタ━━━━━━(゚∀゚)━━━━━━!!!!
あなたは神ですか?!!!!
どうして開始からだとだめなんだろう・・・
ちなみにCtrl+F5ってメニューからは無理なんですかね?
カスタマイズ可能
910VC++超初心者:03/01/30 23:44
>>909
あ!ありました!「デバックなしで開始」ってやつですね。
いろいろありがとうございましたm(_ _)m
VC++.NETにはデフォで普通の実行がないのか。
912888:03/01/31 10:07
>>891
受信をループでまわして中身確認してるんだよ。
んで受信してねぇのにループ抜けちまうんだよ。

向こうが送信する前になんでかループ抜けてるかもな。

だから向こうから送信するまで待つ方法はないかや?
>>912
>んで受信してねぇのにループ抜けちまうんだよ。
おまえのミスじゃんか……
>>913
解決策を書かないとこを見ると
タダの口だけのアフォだな。
VC++6.0で、DLLを作成する場合
エクスポートする関数の順番を明示的に指定する方法は
どうやればいいんでしょうか?

#順番がごちゃごちゃになってしまいとてもきもちわるい・・・(*_*)
>>888 は日本語変だよなあ
は、さておき。Listenでエラー出てるのに気付いていないだけと違うか?
前にレシーブをノーウェイトに設定しながら、OSの設定だと言ってる奴が居たなぁ・・
すみません。
最近VisualStudio.Netを買って
VisualC++の勉強をはじめました。
シリアルポートを使った通信プログラムを作るのが目的です。
GUIの作り方とかファイルの入出力とかは参考書などによく載っているので、
それを読みながら進めているのですが、
シリアル通信について言及されたものが見つからず困っております。
VisualBasic向けのならいくつかあったのですが。
VisualC++によるシリアル通信はどのように実現すればよいのでしょうか。
教えていただけると助かります。
>>914
どうやってループまわしてるのかわからんのに解答を書けるはずがないだろう……
>>915
*.defファイルのEXPORTSに
関数名1    @1
関数名2    @2

とか書くんじゃなかったっけ。
>>912
お前はまず日本語勉強して来い。アフォ。
突っ込みたくても突っ込めない人がいますね。
おまえ自身日本語大してわかってなさそっ。
922888:03/01/31 15:19
>>918
すまぬ。わしが悪かった。
以下が受信スレッド(プログラムが汚いという突っ込みはいらぬ)
#defineTIMEOUT10000
CStringstrRecvData;//CTcpDlgクラス
SOCKET TcpSock ;//CTcpDlgクラス

UINT CTcpDlg::RcvThread(LPVOID pParam) {
CTcpDlg *pTcpDlg = (CTcpDlg*)pParam;
CString strSendMsg ;
unsigned int iCnt;
int iTimeOut ;
char chRecvMsg[256] ;

pTcpDlg->strRecvData = "" ;
while(1){
Sleep(50);
memset(chRecvMsg, 0, sizeof(chRecvMsg));//受信メッセージ格納する char を初期化
iCnt = recv(pTcpDlg->TcpSock, chRecvMsg, sizeof(chRecvMsg), 0);//Recv の戻り値を iCnt に代入
if( iCnt == SOCKET_ERROR || iTimeOut == TIMEOUT)//Recvでエラーが返ってきたとき
return -1;
else if(iCnt > 0) {//1文字でも受信できたら
EnterCriticalSection(&g_section);
pTcpDlg->strRecvData += chRecvMsg ;//受信したデータを CString 型に入れる
LeaveCriticalSection(&g_section);
}
if(strstr(chRecvMsg , pTcpDlg->strCRLF) != NULL || iCnt == 0)//改行を含んでいるか、受信文字数が0だったらスレッド終了
return 0;
iTimeOut++ ;
}//総受信メッセージ文字が0より大きかったら繰り返す
return -1;
}
923デフォルトの名無しさん:03/01/31 15:23
921 名前:デフォルトの名無しさん 本日の投稿:03/01/31 15:10
突っ込みたくても突っ込めない人がいますね。
おまえ自身日本語大してわかってなさそっ。
924888:03/01/31 15:27
//続き。んでもってこっちが送信。
//送信はスレッドじゃないので重い(?)。固まりやすい(?)
int CTcpDlg::SubSerSend(CString strSndMsg){

CString strMsg ;
CString strSendMsg ;
unsigned int iStrLenCnt, iCnt;
char *pMsgCnt ;

memset(chSendMsg , 0 , sizeof(chSendMsg) );//char の初期化
strcpy(chSendMsg, strSndMsg );//chSndMsg に送信メッセージを代入
iStrLenCnt = strlen(strSndMsg);//送信メッセージの文字数を代入
pMsgCnt = chSendMsg ;//ポインタにアドレスを代入
do{// 送信終了又は、送信エラーまで繰り返す
iCnt = send(TcpSock, pMsgCnt ,strlen(pMsgCnt) , 0);// 文字列を送信。送信された文字数が返ってくる
if( iCnt == SOCKET_ERROR ){//Sendでエラーが返ってきたとき
MessageBox("送信失敗しました。","1回目で送信失敗",MB_OK|MB_ICONSTOP);//ダイアログ表示
return 0 ;//関数を抜ける
}
if(iCnt > 0){//文字が1文字でも送信できたら
pMsgCnt += iCnt ;//送れた文字数だけポインタをずらす
iStrLenCnt -= iCnt;//総送信メッセージ文字数から送れた分の文字数を引く
}
}while(iStrLenCnt > 0);//まだ送れてない文字があったらループする
strMsg = chSendMsg ;//送信メッセージを CString 型に代入

return 1 ;
}
//続く
925888:03/01/31 15:32
//んで呼び出し方はこんな感じ
//初心者なんでわからんのです。ガムシャラです。
if(SubSerSend("てすとちぅ") != 1){
MessageBox("1回目送信","エラー発生",MB_OK|MB_ICONSTOP);
return ;
}
strRecvData = "" ;//初期化
SubRecvStart();
for(int iLp = 0 ; iLp < 100 ; iLp++){
EnterCriticalSection(&g_section);
if(strstr(strRecvData , strCRLF) != NULL && strstr(strRecvData , "VER") != NULL || bRecvComp == TRUE )
break;
LeaveCriticalSection(&g_section);
if(iLp > 99){
MessageBox("1-受信失敗","タイムアウト",MB_OK|MB_ICONSTOP);
return ;
}
}
while(1){//受信完了まで待つ
Sleep(10);
if ( ::WaitForSingleObject(m_pThread->m_hThread, 200) == WAIT_TIMEOUT || strRecvData.Right(2) == "\r\n")
break;
}
if(SubSerSend("テスト2〜") != 1){
MessageBox("2回目送信","エラー発生",MB_OK|MB_ICONSTOP);
return ;
}
926888:03/01/31 15:37
>>916
日本語は・・・変かもしれん・・というかへんだな〜

通信関係は初めてなんでよくわからんす。

と、まー以上です。
>>926
分からんのにどうやってそこまで作った?
どこからパクってきたんだ?
928デフォルトの名無しさん:03/01/31 15:43
コールバック関数の引数の個数と型の調べ方を教えて下さい。
>928
google
930888:03/01/31 15:45
>>927
パクリです。
最初はWinSockから聞いて
ログインのあとはサンプルなどを見ながら
コピペで張り切ってます。
>>930
パクってきたんなら、そのまま動くはずだべ。
ちゃんと全部コピペしたか?

それと、受信・送信以前のプロセスでエラー出てないか確認してみ。
ちゃんとsocket作成は成功してるとか。
サーバ側でListenやacceptで失敗してるとかないか?
932888:03/01/31 16:06
>>931
送信受信自体はうまくいくんですよ。1文字列を送信して
1文字列を受信してってのをボタンで発動するようにすると
うまくできます。
今回はそれを自動でやれるように関数作ったんだけど
受信を確認する前に次の送信に行っちゃうんですよ。

受信で改行があったら次へ行くようにやってるつもりなんだけどな〜。
while(1){//受信完了まで待つ
Sleep(10);
if ( ::WaitForSingleObject(m_pThread->m_hThread, 200) == WAIT_TIMEOUT || strRecvData.Right(2) == "\r\n")
break;
}
この||になんか違和感がある
単にタイムアウトになってんでは?
935888:03/01/31 16:17
>>933
::WaitForSingleObject(m_pThread->m_hThread, 200) == WAIT_TIMEOUT

これ自体はコピペなんですけど

||はおかしいんですかね?

いまいちよくわからないですけど・・・
>>935
だからさ、そこでタイムアウトになってんだべ?
|| ってorじゃないの?
タイムアウトで抜けてるんじゃない?
||以前を削除してやってみたらどうだろう。

これで抜けるなら、改行じゃない文字で終了にしてみ。
while(1){//受信完了まで待つ
Sleep(10);
if ( ::WaitForSingleObject(m_pThread->m_hThread, 200) == WAIT_TIMEOUT) {
MessageBox("タイムアウトしてんぞゴルァ",MB_OK|MB_ICONSTOP);
break;
} else if (strRecvData.Right(2) == "\r\n") {
MessageBox("改行あり",MB_OK|MB_ICONSTOP);
break;
}
}

おい、プログラムこれに差し替えて今すぐ結果教えろこの野郎。
939888:03/01/31 16:24
>>937
ありがとうございます。
ちょっとやってみます。

でも試すのは家でかな。
所長の視線が痛ひ・・・
>>938
オツ
941937:03/01/31 16:27
>>939

938がソースまで書いてくれたから、それで試してみ。
これではっきりするだろうから。
>>938
943937:03/01/31 16:37
ちなみに漏れは、VCは使ったことない。
これから使おうかと思って覗いていたわけだが。
200ってなんだろうなと思ってぐぐってみた。
200ミリセカンドだってさ・・・
ここの調整がいるんだろうな。
どっちにしろ938のように分岐にしないといけないわけだし、
どういう結果になろうと、これで解決だろう。
944888:03/01/31 16:43
>>938
ども!サンクス!
今すぐ試したいけど所長はがんばれば振り切れる!
けどこの会社でTCP/IP通信すると会社のサーバーから
接続切られてまうので家でしかできないのが本音。
ワラタ

>>919
バッチリできました。ありがとうございました。
946アストロ:03/01/31 18:24
>884
むちゃくちゃ亀レスです。
ありがとうございました。あのあといろいろ当ってみたら
あのメッセージは正常のようですね。
947デフォルトの名無しさん:03/01/31 18:35
C++をダウンロードしたいのですが、ありますか?
やっぱ店に行ってお金払うんですか?
>947
ボーランド
>>948
Visualのスレでその答えは無いだろ?(w

>>947
MSのサイトから.NET Framnework SDKが落とせる。
C++に加えて、C#、VB,NETもコンパイル出来る。
IDEが必要なら、SharpDevelopというアプリもある。検索してみ。
950C++厨:03/01/31 18:40
951ppp1359.va-tyo.hdd.co.jp:03/01/31 18:43
ちょっとテスト
952947:03/01/31 18:58
回答ありがとうございます
953888:03/02/01 10:58
>>938
ん〜。うまくいきませんね〜。
ってか、受信したやつが空になってます。
スレッドなのでこれをどこかで更新みたいのをやらないとだめなような気はしますが・・・
ブレイクポイントを置き、一つずつやるとうまく送信受信ができます。
938はタイムアウトなのか改行なのか知りたいんだろ
俺も気になるがどっちなんだ?
954に同意。タイムアウトしてるから空なんじゃないのか。
200のところをもっと大きくしたらいいんじゃないのか。
956888:03/02/01 16:19
そのままやっても一向に抜けないんですよ。
ループから。なにか受信するまで
待つっていうものはないですかね?
957デフォルトの名無しさん:03/02/01 16:31
あきれたけど
まあ初心者じゃしょうがないか
http://a414s1.it.nanzan-u.ac.jp/seminar/concurr/concurr/node15.html
>>956
つまり、どちらのダイアログもでないということ?
抜けてしまうのが問題だったのではないのですか?
抜けないはずはないでしょう。
結果報告もしないで勝手に話を次に進めないでください。

せっかく938みたいに親切な人がいるのに、
結果報告ぐらいきちんとできないと誰も助けてくれませんよ。
959名無し@沢村:03/02/01 17:08
>>956
ヌヒよ、もうあきらめたらどうだ。
沢村、お前ヌヒとか言うのやめろ。
気持ち悪いんだよ馬鹿が
>>956
おいおい、何矛盾した事言ってるんだ?
ループから抜けちゃうから問題だと言ったのはお前だろう。
ループから抜けないで先に進むなんてあり得ないんだよ。

こりゃあ、想像以上に初心者のようだな・・・。
初心者というか、人との会話方法を知らないのだろう。
本当の初心者でもこんな香具師はいない。
どうせそのうち「釣れた」とか言い出すんだろうな……
VisualC++7.0Professionalまだ出ないんですかね…
>>960
その沢村は偽者だ。相手にするな。
つーか沢村ネタ自体が全くおもしろくない。やってる奴のセンスを疑う。
>>966
放置したくてもできないお前のセンスを疑う。(藁
>>967=沢村
969デフォルトの名無しさん :03/02/02 14:47
MFCでAPIを使うことはできますか?
はい。
971デフォルトの名無しさん:03/02/02 14:49
はん?
972デフォルトの名無しさん:03/02/02 15:12
C++って何でつか?  ( ゚д゚)ポカーン
973デフォルトの名無しさん:03/02/02 15:52
無知なんですが、↓のソースを簡単な改造で
計算精度を上げるにはどうしたいいですか?
ボーランドのBCCやVC++.NETでビルドしたら
小数点20桁目で限界でした。long doubleしても結果は同じだったので・・・

#include "stdio.h"
#include "stdlib.h"
#include "iostream.h"
void main()
{
double a=0.0;
float b=0.0;
unsigned long l=0;
puts("計算機プログラミング宿題3 第1問:級数ごっこ");
for(l=1;l<1000001;l++) {
a+=( (l%2) ? 1.0 : -1.0) / ((double)l*(double)l);
b+=( (l%2) ? 1.0 : -1.0) / ((double)l*(double)l);
}
printf("1..1000000 with double is -> %.30lf\n",a);
printf("1..1000000 with float is -> %.30lf\n",b);
}
doubleって仮数部56bitだっけ?だとするとそのまま
どんなにがんばっても10進16桁しか有効にならないぞ。
>>975
すごい、ソース見つけるなんて・・・
いやただ、数値計算のソース適当に書いたら
変な計算結果になったんで、対策方法いろいろと
検索したら、たまたまそこがでてきただけ

ttp://www.nitoyon.com/vc/tips/multi_precision.htm
にある、多倍長とかいうの使えば精度あがるんかな
でも、めんどそう・・・
ゲタ履かせたら?
ていうか任意桁長の"仮数部","小数部"を表すクラスを用意して、
生のdoubleを直接いじる代わりにそれらの中でdouble値をゲタ履かせた
状態で保持しておいて、結果もそのクラスで出すってのは、どう?

オペレータもオーバライドすれば、さらにそれっぽくなるし。
978デフォルトの名無しさん:03/02/02 18:52
>>972
変数Cの値を1大きくするインクリメント演算子。
979中卒:03/02/02 19:02
>doubleって仮数部56bitだっけ?だとするとそのまま
>どんなにがんばっても10進16桁しか有効にならないぞ。

何でだよ
教えろよ
教えて訓ナイトないちゃうぞ
980デフォルトの名無しさん:03/02/02 19:19
ここ、本当に初心者スレなのか?
VisualC++ 相談室【9】
http://pc2.2ch.net/test/read.cgi/tech/1036897197/l50
これを見つけられないヤツが多いと見た
982デフォルトの名無しさん:03/02/02 19:41
WINUSER.Hに次のような記述があります。

typedef BOOL (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);

typedefの例文を見ると、このような場合、

DLGPROC foo;

BOOL (CALLBACK* foo)(HWND, UINT, WPARAM, LPARAM);
という意味になるらしいんですが、ここで2つ質問。

この関数を呼び出すときは

(*foo) (hwnd, uint, wParam, lParam);

で良いんですかね? つまりfoo は関数のエントリポイントを差すポインタへのポインタ
ってことでいいのでしょうか?

それからもうひとつ。WINUSER.H では何種類か、この方式で定義されていますが、
これってどこで使用しているのでしょううか? *.rc とかは、これなんかな?


983デフォルトの名無しさん:03/02/02 21:12
こんばんは。相談なんですが、
std::
って入力した時点でコード補完の候補にcinとかcoutとかcerrとかが
出てこなくなりました。で、前まで大丈夫だったコードがstd::cout
とか使ってるところでエラーがでるようになりました。どうしたら
いいでしょう。すみませんお願いします
いつも思うのだが、どうしてエラーの内容を書かないのだろうか。
985デフォルトの名無しさん:03/02/02 22:50
Visual C++  ってC言語が理解できない馬鹿がお絵かきツールみたいなのを使ってプログラムするやつなんでしょ?
986983:03/02/02 22:57
すみませんです。
------------------構成: 5_0_0 - Win32 Debug--------------------
リンク中...
5_0_0.obj : error LNK2001: 外部シンボル ""class std::basic_istream<char,struct std::char_traits<char> > & __cdecl read(class
std::basic_istream<char,struct std::char_traits<char> > &,struct
Student_info &)" (?read@@YAAAV?$basic_istream@DU?$char_traits@

D@std@@@std@@AAV12@AAUStudent_info@@@Z)" は未解決です
5_0_0.obj : error LNK2001: 外部シンボル ""double __cdecl grade(struct
Student_info const &)" (?grade@@YANABUStudent_info@@@Z)" は未解決です

Debug/5_0_0.exe : fatal error LNK1120: 外部参照 2 が未解決です。
link.exe の実行エラー

5_0_0.exe - エラー 3、警告 0
987デフォルトの名無しさん:03/02/02 23:01
コンパイル中...
yakyu.c
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x81' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x40' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x81' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x40' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x81' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x40' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x81' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x40' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(107) : fatal error C1004: 予期せぬ EOF が検出されました。
cl.exe の実行エラー

yakyu.exe - エラー 9、警告 0

何度も確認しましたが間違いはないはずなのこうなってしまいます。どうすればいいですか?
988983:03/02/02 23:12
すみませんエラーは勘違いでした。それは解決したのですが、補完されなくなって使いにくいです…
すみません私は馬鹿です
990デフォルトの名無しさん:03/02/02 23:17
めちゃ初歩的な質問です。

ダイアログベースで作成しているのですが、
OKボタン、CANCELボタンを無効にして新しいボタンを2つ作成し、
そのボタンにOK、CANCELボタンの役割を持たせるように
プログラムしました。
その後、エディットボックスを追加したのですが、
IDCが追加されず、2つのボタンだけのIDCだけが表示されます。
どうやったらエディットボックスのIDCを追加することができますか?
>>987
大文字スペースは使えない。
大文字じゃないや、全角文字。
993デフォルトの名無しさん:03/02/02 23:25
>>990
IDCってリソースのIDのこと?
994デフォルトの名無しさん:03/02/02 23:27
>>994
そうです。
クラスウィザードでボタンを追加したときは、
IDC_BUTTON1
という風に追加されるのですが、
エディットボタンは表示されません。
ですから、メンバ変数をそこから追加できないのですが、
どのようにすればよいのでしょうか?
>>993
の誤りです。
995
997
998
>>994
神のみぞ知る
10001000:03/02/02 23:30
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。