★初心者にVisual C++を教えるスレ★ Part3
1 :
デフォルトの名無しさん :
02/11/25 02:59
2 :
デフォルトの名無しさん :02/11/25 03:04
BorlandC++Builderと比べて簡単ですか?
>>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; }
>>7 やっぱそんな感じが妥当ですかねぇ。
即レス、どうもありがとうございました。
いや、そうとも限らないよ。熟練さんは他にどうやって実装するのか見てみたいなぁ
列挙型のどこで文字列を使うのか問いたい
>>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
配列化
パイレーツ化
>>15-17 フォーループなんかでまわすってことですか?
エディットボックスのプロパティなんかをみると
「グループ」ってチェックボックスがあったんで、これ使ってできるのかななんて思いました。
19 :
デフォルトの名無しさん :02/11/25 17:48
政界
ありがとうございました。 「グループ」のヘルプを読んでも意味がわかんないおいらはおつむが弱いのだろうか。
21 :
デフォルトの名無しさん :02/11/25 18:56
ツールバーなんかの透過色ってパレットで決まるの? BMPリソースで明るい灰色にしたら抜けたけど仕組みがわかりません。 VC関係ないかも。
>6 ふつー、hash
>>4 VC++の方がいいでしょ。
VC++6.0に比べ、VC++.netはまだ関連書籍が少ないけど・・・
>>22 アフォですか?
7 以外にまともな方法あるかよ。
まあ 7 は関数名を atob() にすべきだし、型も bool でいいし、
return strcmp("TRUE",str)==0; で十分だけどな。
>>24 根拠は何よ。
C# は VB ライクにアプリを作れるという話だが。
>>26 デバイスドライバを作るならVCに決まってるやろうが。
PPM形式の画像を表示させたいのですが、どうすればよいのでしょう? BMPなら簡単にできますよね? その要領で他の画像ファイルも表示できるのですか? できないとしたらどうすれば良いのでしょう?
オラクルからダイナセットを取得してからソートってできますか? ORDER BYじゃなくて、ダイナセットをソートしたいんです。 また、ダイナセットの中身を検索することはできますか? ダイナセットにレコードを挿入、削除はできますか? お願い致します
みなさんできました!! 本当にありがとうございました!!
左のウインドウにクラスってありますよね。 今までここに表示されてる内容が 使ってるヘッダーファイルの中身だったんですが いつのまにか使ってるcppファイルの中身になってしまって… どうやって元に戻すのでしょうか?
> 今までここに表示されてる内容が > 使ってるヘッダーファイルの中身だったんですが (゚Д゚)ハァ?
34 :
デフォルトの名無しさん :02/11/26 13:35
>>32 予想だと、定義の表示、宣言位置の表示の違いが
解っていないことと思われ。
今までは左のウインドウにあるクラスっていうタブをクリックすると 現在使ってるライブラリに入っているクラスやクラス関数の 一覧が表示されてダブルクリックで頭出しできたのですが、 今はできなくなってしまったのです。 不便なので元に戻したいのですが…
37 :
デフォルトの名無しさん :02/11/26 23:38
うんこ質問スマソ。 cpp形式でコンソールアプリ作ったとして、 コンパイルしたexeさえ持っていけば、VCの入っていない会社でも実行できますか?
>>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)がわからないから教えてくれ!
char *c[44] = {"C言語のことは漏れに聞け!"}; のスレで聞けばよかった・・・・・ まぁいいや。とりあえず答えろ
>char *hhh[] = {'A','B','C'}; 型エラーにはならんかえ?
46 :
デフォルトの名無しさん :02/11/27 20:22
FOR〜NEXT命令について教えてください あとその活用方法も一緒に
char *hhh[] = {"A","B","C"}; こうだな。 つうかVC++関係ねぇ……
>>45 エラーにはならないはず。
エラーにはね。
>>45 型とかコンパイルエラーとかそんな後で直せるのは無視してくれ。
論理的にポンタの説明あってるかどうかを教えてくれ
(;´Д`)ハァハァ…ポンタ… ぽん太(・∀・)イイ!
ポ・・・ポンタ・・・・ ワラタ
>>50 >>51 だ〜か〜ら、ミスはど〜でもいいから説明を読め!!!ちゅうんじゃ!!
>char *hhh[] = {"A","B","C"}; というか、こんな書き方するか?
char *hhh[3] = {"A","B","C"}; こうだろ
こうして糞スレ化していくのだよ
定数というかリテラルはconst char *ね。 >あとprintf("%c",**hh)がわからないから教えてくれ! hhの宣言・定義はどれだ?
結局どこがあってるのかどこが間違ってるのか誰もキチンと答えん・・・・・・・・鬱
#define hh うんこ;
;は不要だろ
>>56 以外は糞ばっか。お前ら答えなくていいよ。まじで
> intで宣言したらメモリ上の大きさはデフォルトの4バイトcharで宣言した方は1バイトである。 > よって配列で拡大していくとintは4バイト、charは1バイトずつアドレスが増加する。 int で宣言したらメモリ上の大きさはデフォルトの sizeof(int) バイト char で宣言した方は sizeof(char) バイトである。 よって配列で拡大していくと int は sizeof(int) バイト、char は sizeof(char) バイトずつアドレスが増加する。
>>61 面倒見てあげようと思ったけど、その一言でやる気なくした。
頑張ってね。
釣り師だろ
>>43 は間違っている以前に日本語が破綻している
>>62 本にはint=4バイト、char=1バイトと書いてあった。
sizeofで大きさ見るとそのようになるはず
>>66 最後の一行で改めてやる気なくした。
頑張ってね。
ミントたん萌え、と…… ∧_∧ ∧_∧ (´<_` ) ( ´_ゝ`) / ⌒i あの腹黒さがたまらないよな、兄者。 / \ | | / / ̄ ̄ ̄ ̄/ | __(__ニつ/ FMV / .| .|____ \/____/ (u ⊃
答えられない奴は黙ってろ
デバイスコンテキストの「コン」って何?
context 【名】《【複】contexts》 (1) (文章の) 前後関係, 文脈. (2)周囲の状況, 背景の事情. thank you for Roboword!
なんでコンで区切ってるんだろう
conは「一緒に」という意味、と…… ∧_∧ ∧_∧ (´<_` ) ( ´_ゝ`) / ⌒i TOEIC500点だろ、兄者。 / \ | | / / ̄ ̄ ̄ ̄/ | __(__ニつ/ FMV / .| .|____ \/____/ (u ⊃
とりあえず謝っとく。 正直、すまなかった。
>>42 それができたら苦労しないっす。
lintみたいなツールがVCについてないかなーと。
ついてても良さそうだけど。
>>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++を購入してみました。 ですが説明書らしい説明書がついておらずエデイターの開き方とか コンパイル方法が全然分からないんですがどうすればいいでしょう? 誰か持っている方でご存知の方いらっしゃいませんか? やっぱり関係する本を買うのが一番ってとりばやいですよね?
↑Visual basic.netはVisual basicをCとは別に 勉強するために購入しました。
>>80 エディタ ファイルをダブルクリック
コンパイル F7
わたしゃ本買ったけどねー。チュートリアルみたいなやつを。
>>82 レスありがとうございます。
Visual C++の使い方(※自分はあくまでもCをやりたいんですが)
で初心者にも分かりやすい本ってありますか。
82さんはどのような本を買われましたか?
すみません。チュートリアルっていうのが分からないんです。
サイト等も参考にしてやりたいと思っています。
ありがとうございます。レス遅れて申し訳ありません。
教科書というか家庭教師みたいに丁寧に書いてある本ですか。
初心者向けで無いというのがつらいですが参考にさせて頂きます。
先ほどサイトを紹介して頂き恐縮です。
今
http://c-production.com/know/010.html というサイトに従って
操作をしていたのですが最後の一番大事な「コンパイル・ビルド・実行」
のところでビルドまでは上手くいったようなんですが
「デバック開始できません。プログラム’省略’を開始できません。
指定されたファイルがみつかりません」と出てしまうのですが
どうしたらよいのでしょう。教えていただけませんでしょうか。
省略とかいてある部分にプログラム名が入るのですが firstという名前をつけたので 〜プログラム'c:\myproject\first\Debug\first.exe'を開始できません。〜 と出ます。プログラム自体は3行位の一番簡単なものを書きました。
>>87 その指定されたフォルダにプログラムはできてる?
そのプログラムを直に起動できる?
本当に長々とすみません。お時間大丈夫なんでしょうか? 85のサイトも参考にしてみたんですが「プロジェクト名+.cpp」っていうのは ファイルの下に無いです。あるのは「first.ncb」っていうのです。 そこが問題らしいです。だから88に関しては出来てないということでしょうか。 86のサイトでいいますと 「プロジェクト内にソースファイルを追加の部分」が間違ってるっぽいです。 でもそのままやってるんですけど何故だか分かりません。
86の [c]プロジェクト内にソースファイルを追加 の1で[追加]-[現存項目の追加]を選択してください。 とありますがここまでは大丈夫です。 そこでfirst.ncb,first.sln,first.vcprojの3種類が入っている ファイルが開くのですがfirst.cppなんてもともとないので 選びようが無いんですがどうしたらよいのでしょう。
コンパイル待ちのときに見にきてるだけだから大丈夫です。 んで、プロジェクトにファイルがうまく追加されてないんですかねぇ。 追加されるとファイルとかフォルダがツリー構造になって表示されるところにもそのファイルが 表示されるんですが。
レスどうも有難うございました。 >ツリー構造になって表示されるところにもそのファイルが 表示されないです。 ちょっと煮詰まってしまったので やっぱり今日Visual C++.net対応の本買うことにします。 近くの本屋行ったらVisual C++に関する本はあっても.netに関する 本が無かったのでちょっと遠くまで行って買いに行ってきます。 売ってるといいんですが。色々本当に有難うございました。
6.0の時は 【空のプロジェクト】つくった後に 新規作成 C++ソースファイル ファイル名 ***.c プロジェクトに追加[レ] やSouceFile [ファイルをフォルダに追加] で通ったのに・・・(´Д`; 80氏が帰ってきたらBuilder使いになっていませんように――
いえ、あまり金銭的に余裕が無いし取り敢えず今はこれで頭がいっぱいです。
馬鹿野郎!! そんな事したら死んじまうぞ!! 考え直せ!!
誤爆
>>80 あまりお役に立てなかったかも。
でもいろいろ調べてためしながら覚えるのが一番身につくと思うのよ。
だからがんがれ〜。
鬱だ氏のう…
キーボードの「↑」を押したらカーソルを上に移動 みたいなことをするにはどう記述すればいいんでしょう? (まだDOS窓でやってます)
>>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++ しかやったことないので、他のコンパイラは知らん。
ホスト名は "www.2ch.net" に限らずなんにしても 0 が返ってくる。 WSAStartup もしてるし。(←あんま関係ないかもしれんが)
>>107 学ぶだけならフリー。
将来、Windowsプログラミングで稼ぐ or DirectXを使うなら
VS Professional
えー、実を言うとその道を目指してる者です。調べてみたのですが、 Visual Studio .NET Professional(112さんの言ってるのはこれですよね?) Visual C++6.0Professional の2つが候補に上がってきました。今買うなら.NETのほうにした方がいいんでしょうか?
>>109 WSAGetLastError() やってみた?
>>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でいう、ディストリビューションウィザードみたいなのは無いのでしょうか。
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には全く関係ない話でしたとさ。
有難うございました(;´Д`)ハァハァ
有難うございます。 現状は、doubletoaは、 char doubletoa[MAX_SQL]; で、MAX_SQLはヘッダの方で、 #define MAX_SQL 8000 としています。 _gcvtでは、digitsに当たるところに、MAX_SQL-1として 少数点分を考慮しています。 有難うございます。
ハーイ(感謝)(*´∇`)
125 :
デフォルトの名無しさん :02/12/16 00:24
Visual C++.NETインストールして立ち上げたら、 Alert!っていう警戒ダイアログが出まくるんだけど何で? あと、立ち上げるとノートンにも引っかかるんだがそれもなぜだかわからん・・。 どなたか、なぜなのかご存知の人いません?
割れだからだろ
127 :
デフォルトの名無しさん :02/12/16 12:38
死ね犯罪者
128 :
ダイレクトな初心者 :02/12/16 13:23
>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だし・・・・
イベント楽です。
142 :
138=141 :02/12/16 18:17
>>140 納得です。
C++の文法覚えてもVC++になるとコンソールしか取っ付けない。
やっとこさイベントさせますた。
モウちょっとやってみます。
>>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を使おうと思い、 フォームに貼り付けて実行したら 起動してすぐ、フォームが表示される前に終了してしまうのですが、 これは何がいけないのでしょうか?
146 :
bloom :02/12/16 18:33
>>144 Win3.1が出た頃にもAPIの設計をけなしまくってたのがよくいたが
当時の記事を今見てみろよ( ´,_ゝ`)プッの宝庫だぜ
何が言いたいかって?
納得いくまでつきあってないだろ
拒否反応起こしてトンズラこいたへたれは
わかる人にはお見通しってことだよ
ウイルスに感染してしまいました。 学期末のレポートが書けない。 誰か助けて下さい。 070−5655−8718
149 :
デフォルトの名無しさん :02/12/16 18:49
>>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の入門書で一番良いのは何でしょう?
>>152 まさに指摘通りでした(・∀・)
ありがd
156 :
デフォルトの名無しさん :02/12/16 19:39
ShellExecuteEx を使用して自分の作成したアプリから 日付と時刻のプロパティを呼び出しているのですが、 背後のダイアログをクリックすると隠れてしまいます。 このプロパティをDoModalで呼び出す方法は無いでしょうか?
>>157 現状では出来ない仕様になっているということでしょうか?
背後のダイアログが激しく意味不明
要約すると 「[日付と時刻のプロパティ]をモーダルダイアログとして開くにはどうすればよいですか?」
>>158 (ダイアログアプリなんだろうけど)
自分のウィンドウがアクティブになったら日付けと時刻のプロパティのダイアログを探して、
まだ存在していたら非アクティブにするとか。
>>160 ,161さん有難う御座います。
>>161 さんの方法で試してみます。
有難う御座いました。
163 :
デフォルトの名無しさん :02/12/16 23:46
ライブラリのヘルプが英語なんですが、日本語にする方法はないのですか?
>>127 ,130
ひどい・・・。
ちゃんと買ったのに・・・。
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 か !
テキストエディタで 行数表示が出るようにするにはどうしたらいいの?
>174 おれもわからん・・。 おしえて!
174=175 (・∀・)でした
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
だから沢村をかまうな。
125 ??
186 :
デフォルトの名無しさん :02/12/19 17:25
LINK : warning LNK4098: defaultlib "LIBC" は他のライブラリの使用と競合しています; /NODEFAULTLIB:library を使用してください どうしたらいいですか?
>>186 設定→リンクでデフォルトのライブラリを無視。
一体何をやったら 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") 使う。
規模にもよるけど、書き直すときは仕様を洗い上げて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冊くらい片手にやってるんだけど、どれもこういうシンプルな例がないんですよ。
なにか例に今までつくってきたモノを保存とかなのですでに複雑だったりとかで。
まあとにかくありがとです。
質問です。プリントアウトについてですが、 環境「VC++6.0、MFC、CFormView(SDIのなかにDLGがはいっているボタンとか)」 そんでSDIのOnDrawの中身を印刷するのは文字サイズさえかえればいきなりできるのですが、 私がやりたいのはCFormViewの中に「PICT1」というピクチャがはってあって そこにいろいろ処理結果を表示しているのですが、それを印刷しないのです。 そのまま印刷しても当然無反応です。ピクチャの中身を印刷する方法をおしえてください。
ピクチャの中身を印刷って言葉変でした。 ピクチャIDC_PICT1に表示されているものを印刷したいです。 ちなみに計算処理はIDC_BOTTON1関数の中です。
MFCでダイアログボックスを作成したのですが、これはCWndを継承しているようですが、 ダイアログボックス作成時に見えてないけどウィンドウも別に作成されているのでしょうか?
>>218 ダイアログもボタンもスタティックテキストも、みんなウインドウです。
あなたに見えているのがウインドウです。
221 :
デフォルトの名無しさん :02/12/22 11:38
スレちがいかもしれませんが、 Windowsと、LinuxのGUIプログラムってどちらが難しいんでしょう?
>>220 質問の意味も理解できないくせになに答えてるんだ?
ちょっとかじった程度の知識を持ち出してんな。
二度とかきこむんじゃねーよ、糞が。
>>221 GUIを作る開発環境だけをみたらWindowsの方が充実している。
それ以外はどっちもたいしてかわんない。
同じ名前がでてきてるので一応いっておくと
私はプリントアウト質問の
>>216-217 だけです。
ほかの「質問」は別人です。
質問Bがあらわれた!
質問Cは笑っている 冗談はともかくとしてレス番で名乗る程度の知恵もないのかねえ 漏れは2人目の「質問」氏ではないが言いたいことはわかるぜ ネチケだのローカルルールだのいう話じゃない適性の問題だ
227 :
デフォルトの名無しさん :02/12/22 15:53
ToolBar、MenuBarの高さはどのように取得したらいいですか?
手動でソースから消していくしかないのかな・・・
229 :
デフォルトの名無しさん :02/12/22 16:38
メインフレームの幅を 200+2*GetSystemMetrics(SM_CXFRAME); ってしたらViewの大きさは200になるはずですよね?
>>229 view のウィンドウにも WS_EX_CLIENTEDGE で付いた枠(NC領域)が
あるから、200より小さくなるんでは?
あのーなんだか荒れぎみだけど、
僕の
>>216-217 のPICT1をプリントアウトする方法
も忘れないでね。わかるひと教えてくださいまし。
>>235 PICT1のスクリーンショットを印刷する
いい加減教えてもらえないって気付けよ
240 :
デフォルトの名無しさん :02/12/22 20:25
>>1 ┌┬┬┬┐
―――┴┴┴┴┴―――――、
/.  ̄ ̄ ̄//. ̄ ̄| || ̄ ̄ ̄||| ̄ || __________
/. ∧// ∧ ∧| || ||| || /
[/____(゚_//[ ].゚Д゚,,) ||___||| || < こんなサイトがありますた。
||_. * _|_| ̄ ̄ ∪|.|. |ヽ. _|| \__________
lO|o―o|O゜.|二二 東|.|京 精神病院 ||
| ∈口∋ ̄_l__l⌒l_|_____|_l⌒l_||
 ̄ ̄`ー' ̄ `ー' `ー' `ー'
http://freeserver.kakiko.com/hiroyuki/
>>228 従来のバージョンの Visual C++ では、MFC アプリケーションの開発に
ClassWizard とウィザード バーを使用していました。
Visual C++ .NET では、ClassWizard とウィザード バーが削除されています。
>>241 つーかIDEの使い方はMSDNライブラリに載ってないか?
嗚呼・・やっぱPICT1を印刷する方法はないのね? マジで説明書に「印刷機能は未実装なのでSSとって印刷してください」 ってはずかしいこと書くかw・・
244 :
デフォルトの名無しさん :02/12/23 00:44
>>243 GetDlgItem
GetDC
CreateDC
BitBlt
でなんとかならないの?
>>243 ハァ?プログラムからスクリーンショットを撮るコードを書いて印刷機能を実装しろってことだろ。
年末の締めに追われて大変ですね
早くとっとと答えろ! スルーしないで。
>>248 うるせえな。ダイアログを作る時に一緒に作成されてるよ。
OnInitDialogをオーバーライドできるはずだが、それの
CDialog::OnInitDialog();
という行の後だったらコントロール変数なんかにも関連付けが済んでるので、
m_Wnd1とかにアクセスしても問題無しだ。
表示前かつ作成後になんかやりたきゃそこだ。
あうー初心者なんで無理だぁ〜
251 :
名無し@沢村 :02/12/23 10:58
初心者は気楽でいいねえ…♪
沢村あっちいけ
255 :
名無し@沢村 :02/12/23 20:35
ライトウェーブや3DStudioMaxのフォーマットなんてダサくて使えないよ。 せめてバーチャファイターのチェンリーなみのがサクサク動かないと…! PCの3Dはダサいから今のところ手を出していない…。
× ダサくて ○ スキルがたりなくて
俺の質問に答えられたやつはいいエロサイトおしえてあげる。
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とかあるんですか?一体何事??
なんか勘違いしてる気がする。
>>262 レスどうもありがとうございます
DBとして植物図鑑を作ってます
植物1種類につき,パラメータが600(点の座標データ)くらいあって
1つのテーブルだとパラメータが255しか保存できないので
テーブルを[PLANT]とx座標のデータの[X_FEATURE]と
y座標のデータの[Y_FEATURE]とにわけました
こういう使い方にACCESSはむいてないとは思いますが
時間的に他の使い方が無理なのです
>>263 座標って、分布の緯度経度かな?(それとも植物の絵とか?)
座標テーブルは、植物のIDで列一つ、x座標で列一つ、y座標で列一つ、
植物1種類内での座標のIDの列一つ、の計4列、
植物1種類で座標テーブルのレコード数が600くらい、
と作るのが普通だと思います。
・・・元々Accessの話で、VC++は関係無いですな。
>264 座標は花の写真の輪郭上の特徴点です その方法だと植物1種類につき 座標テーブルを作るってことですか? データベースはテーブル3つで作ってしまったので できれば複数のテーブルに同時にアクセスの仕方を教えてもらいたいです select文で複数のテーブルが扱えれば楽なのですが
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
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でコンソールアプリ(DOS窓)でテストコード打てる?
できるなら次のステップだが、選択肢は3つ
1)Win32 Application でWin32APIレベルの
Windowsプログラムを組んでみる。SDKで総称される。
2)MFC AppWizard(exe)でMFC SDIアプリを組んでみる。
3)コンソールアプリ(DOS窓)でC++のテストコードを打ってみる。
1)2)3)並列進行も可だが、3)→1)→2)をお薦めする。
ウィンドウアプリケーションを始めて作るのですが、 ステップアップでなんか作りたいのです。 VC6で基本的なのキボンヌ! あとオススメサイトキボンヌ!
>>277 さん
ありがとうございます。
解決しました。
290 :
デフォルトの名無しさん :02/12/26 11:49
質問させていただきます。 私は最近Cをはじめたばかりのものです。 今は、ボーランドのBCC32でコンパイルしております(無料) しかし、最近Visual C++を使いたくなりました。 Visual C++は沢山種類が出ておりどれをかってよいやら 困っております。値段なども関係しますが、 初心者が使うのに向いているものはどれなんでしょうか? ご教授下さい。
.NETに乗り換えたのですが、C++6だとファイルを個別にウィンドウ表示させて サイズを変えて好きに配置して使えたのですがこのバージョンは 水平か垂直で仕切ることしかできないのですが 前みたいに使うことはできないのでしょうか?
バージョンは何でもいいがエディションは Professional 以上にしる。
アカデミックパックは自動的に却下ですか?
.NETの
ポーランドの PCC
>>291 オプションぐらい、触れや
一番最初の項目だろうが
297 :
デフォルトの名無しさん :02/12/27 15:59
プリントサーバーにprnファイルの内容をドライバに依存せずに、 データのみ流そうとすると、文字化けが印刷されてしまうのですが、 これはprnファイルの読み方に問題があるのでしょうか? それともプログラムに問題が…?
298 :
デフォルトの名無しさん :02/12/27 16:47
ウインドウにビットマップの画像を表示させるにはどうすればよいのですか。 SDKを使っています。
299 :
pussy_sucker ◆GLc2rpKRNM :02/12/27 16:59
>>298 ヌヒよ、LoadBitmapでビットマップのハンドルをゲットできるぞ
300 :
デフォルトの名無しさん :02/12/27 17:11
ビットマップのハンドルって何ですか? 実は私、プログラミング超初心者です。
301 :
デフォルトの名無しさん :02/12/27 17:25
ところで、LoadBitmapってどうやって使うの?
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のヘッダーファイルはどこにあるのでしょうか?
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のバグちゃうか?
似たようなことを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()が実行されません。 なぜなんでしょうか…。
すみません、メッセージマップは ON_MESSAGE(WM_MYMESSAGE, OnMyCommand) の間違いですよね
すみません、制御関数の中を CWnd* hWnd = (CWnd*)pParam; hWnd->SendMessage(WM_MESSAGE, 0, 0); にしたらちゃんといきますた。正しいのかどうかわからないけど…。 すみませんですた。
あ、
>>315 はWM_MESSAGEじゃなくてWM_MYMESSAGEです。
何度もすみません。
>>311 よくわからないけど、いわれたとおり
using std::vector;
をメソッドの前に入れたらコンパイルが通りました。
それで、これっていったいなんですか?
usingってはじめて見ました。
>>311 vector が標準名前空間 std に包まれている事の何がバグなんだ?
あけおめ! きょねんはお世話になりました。 ことしもよろしく。 こっそり
(~ヽ γ~) |ヽJ .あ し' | | (~ヽ .け γ~) | (~ヽー|ヽJ ま し' |ーγ~) |ヽJ | | お .し .| | し' | | | |―| め .て |―| | | ミリ(,,゚Д゚)彡 で ミ(゚Д゚,,)ノ彡 ミUミソ彡ミつ と (/ミソ彡ミU彡 》======《 う 》======《 |_|_|_|_|_|_|_| |_|_|_|_|_|_|_| U~U U~U
>>318 /どうしてもグローバルで/ ってところをバグではないかと言っている
お主が言おうとしているであろうこんなコードが
classmona
{
typedefstd::vector vector;
public:
voidshowList(vector<CString>* title);
};
main()
{
usingstd::vector;
monagiko;
vector<CString>zonu;
giko.showList(&zonu);
}
VCでは通らずBCでは通るのだ
くそーTAB文字が痛い classmona { typedef std::vector vector; public: void showList(vector<CString>* title); }; main() { using std::vector; mona giko; vector<CString> zonu; giko.showList(&zonu); }
鬱駄詩嚢
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
最初に起動する呼び出される作業環境の設定をし直したいんだけど どうすればあれが起動できるのかがわかりません。 どうすりゃいいんでしょうか?
>>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
リリースビルドが出来なくなってしまったのですが、 どうればまた構成にリリースを追加できますか?
質問なのですがMFCのCformViewでの印刷方法について教えてください。 普通のSDI式であればOnDraw関数の中身を印刷してくれますが(文字サイズ修正必要) 私がやっているのはCFormViewの中に「IDC_PICT1」というピクチャにデータを表示 させれいるのですが、この表示を印刷したいのです。 1番てっとり早いのが、そのPICT1部分のスクリーンショットをとってそのまま印刷 という方法があると聞きました。もちろんプリントスクリーンキーを押すという意味ではなく プログラムの中にその機能を産めこむという意味です。やりかたわかりますでしょうか。 それとも他の方法がありますでしょうか
>>340 おまえ何回同じ内容の質問すんねん
つーか「もちろん」と言いながらPrintScreenキー押すのと勘違いしてたのおまえだろうがゴラァ!
342 :
デフォルトの名無しさん :03/01/06 15:24
vc++6.0の2枚目っていつ使うのですか?
えっとつまりはハードコピーをとる方法と言ったほうがいいですかね。
>>341 粘着ですね
345 :
デフォルトの名無しさん :03/01/06 17:26
自作マウスを作ってるんですけど、VC++6.0を使ってマウスのポインタを画面上で動かす関数がわかりません。あれば教えてください。
SetCursorPosでいけるとおもうけど… それってドライバ作ってるってことか?
× まだいたの ○ まだできてないの
>>346 さん、ありがとうございます。一応は自作のマウスと専用ドライバを作る予定になってます。
大体どれくらいの時間で完成するものなのでしょうか、もう期限が半月くらいしかないのですが…
350 :
デフォルトの名無しさん :03/01/06 18:54
VC++で作ったVBには無いコマンドボタンのイベントを 何とかしてVBで使えるようにしたいのですが、出来ます?
>>350 >VBには無いコマンドボタンのイベント
どんなんよ?
>>351 例えが悪かった。
本当は、リストボックスで、リストを追加する時に
例えば上から下へ追加していくのではなく、左から右へ
追加していくという事をしたいんだ。
それをVC++で作って、VBで動かしたい。
そんなの DLL でも作って hWnd 渡せばいくらでもできると思うが、 VB のコントロールとしてシームレスに扱いたいなら ActiveX じゃないか?
355 :
デフォルトの名無しさん :03/01/06 21:01
XPのような外観のコントロールにするには、どうしたらいいのか教えてください。 6.0じゃ無理? また、その外観にしたとしてXP以前のOSで動かしたとき表示は どうなるんですか?
356 :
デフォルトの名無しさん :03/01/06 21:24
MFCを使ってるプログラムに関数を付け加えるときは どこに入れればいいでしょうか?
>>356 多分おひさしぶり。
紹介しておいて放置もなんだかな、と思ったので。
少し質問なんだけど(て、言うか前スレで気になったので)
今作っているプログラムがMFCを使っているかどうかわかる?
359 :
デフォルトの名無しさん :03/01/06 21:33
>>357 わからないのですが・・・。
どうすれば分かります?
>>357 #include <afxwin.h> // MFC のコアおよび標準コンポーネント
#include <afxext.h> // MFC の拡張部分
と書いてあるのでMFCを使ってるっぽいです。
>>356 VC++起動してからMFC AppWizardってもの使った?
ひょっとして、例の市販本の付属のCDなんかのプロジェクト
開いている?
>>361 そうです。
CDの中のプロジェクトファイルを開いています。
MFC AppWizardっていうのは使ってないですけど、 何か関係があるのですか?
重・・・
>>356 んー・・・話聞いているとC++から勉強したほうがいい気もするんだけど。
MFC AppWizardについては市販本に書いてあると思われ。
改造とかやってみたいのにしても、どこにどんなものを書き込めば
いいのか分からない状態だと思うのよね。
とりあえず、付属のCDのを見ても分からないと思うから
一度本見ながら、自分で作るのが一番いいと思う。
気になるのだけど、本のタイトル教えてくれない?
365 :
デフォルトの名無しさん :03/01/06 22:04
VC++初心者ですが、ちと質問させてください。 コマンドボタンやエディットボックスの基本的な性質を 記述しているコードは何処を見れば書いてあるんでしょう? 例えばリストボックスを使えるようにした後、「InsertString」で リストを追加しますが、その命令を受けて、実際にリストボックスに 登録しなさいと命令をしているコードを読みたいです。 何いってるか解ります?
366 :
デフォルトの名無しさん :03/01/06 22:06
サンプルとかなかったか MSDN ライブラリなんかで見つかりそうな気もする
>>365 デバッグ機能で追っかけてみたらどうだろう。
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使えねーなー
>>369 void CTokeiView::OnDraw(CDC* pDC)
でも動くだろ?
>>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アプリはつくれないのですか?
例えばsample.dsp sample.cpp sample.rc sample.clw sapleDoc.cpp sampleView.cpp Stdafx.cpp とこのようなもともとあるファイルで、 どのファイルをいじくれば編集できるのですか?(画像処理で色変換がしたいです) 初心すぎてすみません、教えてください
ティンコ
>>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は普通の型の何と交換すればいいのでしょうか?
414 :
デフォルトの名無しさん :03/01/08 19:35
>>413 typedef BYTE far *LPBYTE;
って出てるのですが、farって何ですか?
>>408 文字列ならstrdup等で複製して後から解放すると言う手も…
>>414 farポインタってのがあるのよ。
32ビットではつかわないけど、Win3.1とかでは使ってた。
今なら無視される(空文字と置き換えられる)はず。
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をつかまえる。
2
422 :
デフォルトの名無しさん :03/01/09 00:13
418です。
>>420 レスさんくすこ。どうにか解決しました。
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
ひろゆき ハァハァ(´Д`;)
うまい棒マズー
ダウンロード板が市んじゃうね
この際だから言わせてもらうか まずニュー速のスレストを殺してほしい 武道板にヲタが流れてきて困るから 格闘技実践者板を作ってほしい
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を保存する?
馬鹿でかまわんからスレ違いの話題は他でやって欲しい
VC++で、VBでいうところのIMEModeプロパティを実現する方法、ご存知の方教えてください。 あ、いや、画面系はVBでやれっつったらそれまでなんだけど。。。VBでできることが VCでできないのが悔しくって。 とりあえず、エディットボックスだけ制御できたらそれ以上は望みません。 お願いします。
435 :
デフォルトの名無しさん :03/01/09 10:58
ImmGetContext ImmSetOpenStatus ImmReleaseContext
>>435 様
ありがとうございます。
IMEのオン、オフのコントロールはできるようになりました。
さらに、IMEMode=3のように、ユーザー側から
オンにすらできないようにしたいのですが、可能でしょうか?
WM_IME_NOTIFYのハンドラを作ってなにもしない、とか。 試してないからできるかどうか不明。
とりあえず、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を想定しています。 何か問題が考えられますか?
そうそう、今作成しているものでは、IMEが必要なところはないから、
ず〜〜〜〜〜〜〜っとIMEがお亡くなりになっていて構わないんです。
とりあえず、このやり方で、1分ほどテストした結果は、
期待通りの動き方。。。。環境が同じであれば。。。。。
エディットボックスごとにコントロールしようと思ったら、
>>438 様のおっしゃるとおりなのかもしれないですね。ヘルプを見る限りでも。
久々に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以上で定義すれば済む話ではないのか。
446 :
tester :03/01/09 23:30
VCで作成したシリアル通信ソフトのソース付きでフリーの良いソフトないですか? ハイパーターミナルの様な感じのソフトを探してます。
TeraTerm
448 :
tester :03/01/09 23:44
449 :
デフォルトの名無しさん :03/01/10 00:00
昔、Turbo-Cで簡単なグラフィックをやってました。 640×480のWindowでタイトルバーと閉じるボタンのみのテンプレート、 どっかにありませんか? exeクリック→いきなりスタートでかまいません。
>>449 猫でも〜にいけ。
WinAPIスレの1にある。
>>540 鑑定スレでお願いしようとして誤爆し・ま・す・た・!
>>450 どうも。
SDK−1の23章に簡単なグラフィックがありました。
昔C++編にざっと目を通してたのですが。
453 :
60cm浮き上がるストレート :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
>>444 名無し@沢村様
ちょっとだけ色々やってみたけど、NT4で思いっきり引っかかっりました。
んで、しゃぁないから、こんな風にしました。
if((immDll=::LoadLibrary("imm32.dll"))!=NULL){
if((ImmDisableIME=(IMMDISABLEIME)::GetProcAddress(immDll,"ImmDisableIME"))!=NULL){
ImmDisableIME(0);
}
}
もっと良いやり方が有るんだろうけど、とりあえず間違ってはいないよね?
98、2K、XPでは、ImmDisableIMEが効いて、NT4だったら、GetProcAddressが
できなくて、ImmDisableIMEが効かなくなるよね?エラー無しに。。。。。。
にげっと
459 :
名無し@沢村 :03/01/10 09:42
>>456 ヌヒよ、MSDNをによるとImmDisableIME()の対応情報は以下のようになっているから、
それで間違いないぞ。
Windows NT/2000:Windows 2000
Windows 95/98:Windows 98
にげっと
>>351 敗訴じゃないじゃん。ウソ書くなよ、名誉毀損になるぞ。
つよししっかりしろよな。
>>455 ログイン時にIP記録してる。
おととしだか、2chで晒された他人のIDとパスワード使って
荒らしをしてた大馬鹿が逮捕された。
人生棒に振っちゃったね、ざまーみろ(ワラ
さんも ええ子やね。。。(ホロリ
IP保存しちゃ匿名性が保たれないだろう。
469 :
デフォルトの名無しさん :03/01/10 22:21
複数のウインドウを表示したとき、それぞれのウインドウで保存している データを操作するにはどうすればよいでしょうか?
>>404 ありがとうございました。環境をろくにかかなくてすみませんでした。
VC6.0で「設定」→「C/C++」→「コード生成」→「プロッセッサ」から設定できました。
本当にありがとうございました。
便所の落書きが、青年の主張に変わるね
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 マジレスすると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;
ごめんなさい。意味分かりませんよね。 自分でもどう説明すればいいのか・・・。 1つのアプリケーションとして保存するにはどうすば・・・? これでも意味分かんないや・・・TT
すいませんTT あ、479さんの言ってることがしたかったんです。 どうもありがとうございます〜。早速やってみます。
皆さん有難うございます。早速やってみたのですが、 warning C4073: 初期化子がライブラリ初期化領域にあります。 error C2065: 'AfxCriticalTerm' : 定義されていない識別子です。 ってでて出来ませんTT 原因は何なんでしょうか?どうすればいいんでしょうか・・・? 又意味分からなかったらすいませんTT
485 :
デフォルトの名無しさん :03/01/11 01:22
>>476 要するに、単体アプリが作れるかって話だったか。
C++判らないなら、いきなりスケルトンは止めた方が良いかも。
まずは、基礎的なコーディングについて書籍等でお勉強をお勧め。
あ、深読みし過ぎた。 単純にexeファイルを作りたかっただけなのね・・・・ それなら「ビルド」だけでいいんだけど。 ちなみにexeファイルは「debug」フォルダの中にできるから。 さらに、errorが出たらexe出来ないから・・・
487 :
デフォルトの名無しさん :03/01/11 01:26
>>476 ヘルプで調べた?
VC使いになるには、ヘルプに慣れるのが重要だよ。
調べても判らなければ、またおいで〜
>>459 誤爆?でなければ私の書き込みが荒らしと取られたということでしょうか?
それでしたら失礼しました・・・出直してきます。
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"
みたいにできなかったっけ?
>>503 やっぱりそれしかないですか。
リソースエディタで作ると、IDの番号とか自動的にインクリメント
してくれるので、自分で勝手に番号作るとずれたりして困るかなと
思ったんですが、やはり自分で記述しないと駄目みたいですね。
ありがとうございました。
普通のことしか書かなければ大丈夫です。
507 :
名無し@沢村 :03/01/11 23:57
>>498 ヌヒよ、リソースエディタでツールバーを作成したのなら、Scriptリソースが開けるだろう?
そこのアイコンを展開してヌヒが作成したツールバーのビットマップのアイコンについている名前を見てごらん?
ヌヒよ、そのアイコンの右横には自動的に名前がつけられているからその名前をそっくりCreateToolberExのビットマップのIDを指定する所にコピペすればOKだよ。
ただヌヒよ、ボロっちいPCだとツールバーの色が色落ちすることがあるから気をつけたほうがいいよ、ヌヒよ。
>>507 ヌエよ、まだスタティックカラーでツールバー作ってるのか?
すみません、質問です。 将来プログラマーになりたいので、今から何か言語を始めたいのです。 いろいろ話を聞くと、VisualC++というのが最もパフォーマンスを出せると 聞きました。どうせやるならVisualC++がいいなと思うのですが、 なんか人口がやや少なそうなのですが、何故パフォーマンスが一番出るのに 人口は少ないのでしょうか?
>>509 誠に失礼ですが、1つ質問させてください。
釣りですか?
>>510 いや、なんでいろいろな言語があり、
みなさんはどういう理由で選んでるのかなぁーと思いまして・・・
単純に効率がいいだけを理由にしたら駄目なのでしょうか?
(将来性とか・・・)
>>511 開発効率と、出来上がったプログラムのパフォーマンスは全く違いますが。
今から覚えても、マスターするまで時間がかかりますので、将来性も大事でしょう。
ユーザー数も、サポートや情報量に影響しますので大事です。
その他、自分の設計思想や趣味趣向に開発環境が合うかどうかとか、
仕事に就けるか・稼げるかどうかとか、自分の得意な分野に広く使われているかとか・・・
とりあえず始めてみては?
>>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
>>516 禿しくネタだ。わけ分からんアニメ見させられるだけだぞ。
遅いんだよ。
いや、最近のニュー速は本当に良くなってきたと思うよ。 ニュース速報板だからね。
・・・横槍。 削除依頼を内容証明以外の方法で行っても有効ですが、条理が根拠ではありません。 意思表示の一般原則であり自明のことです。 免責の対象にはならないから安心してください。
やっとhtml化だ、過去ログが読める がんばってください
522 :
デフォルトの名無しさん :03/01/12 23:34
先日購入したVC++をインストールしました。で、起動しようとするとノートンが 「悪質なスクリプトを検出しました」といってきます。「devenv.exe」 というものなんですが、グーグルで見てみたところ問題は内容なのですが・・・ 気にしないでいいんでしょうか?
READMEなんかにも記載があったりするが インストール時はウイルスチェッカを止めるのがよいです。 VCに限らすアプリインストールではたまに引っかかります
>>523 やっぱ問題ないんですね!ありがとうございました。
>>525 どううまくいかないのか、どういうエラーがでるのか書いてください。
もしくはソースを晒してください。
解決しました。すいませんでした
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
(^^)
4nd・・・天然ですか?>1
>>533 TBN_GETBUTTONINFOについて小一時間調べろ。
(^^)
自作のクラスから派生させた新規クラスを、ソースファイルと共に生成する方法を教えてください。 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()
にコードを書きましょう。
リソースエディタ最初でてたけど、そのウインドウ消したら 二度とでてこなくなった。 どうすればまたひらけれるのですか?
>>545 WM_PAINTのイベントハンドラに書きなされ。
再描画が必要な時、WM_PAINTが発生する。
CMy00000View::OnDraw() にBITMAPINFOHEADERやStretchDIBitsを書くのですか?
>>547 ボタンを押した時に描画した画が、
フォームを最小化したり、他のウインドウが重なったりした時
消えてしまうのが嫌なんでしょ?
CMy00000Viewクラスへ「WM_PAINT」のWindowsメッセージハンドラの追加。
その関数に(CMy00000View::OnPaint()かも?)
とりあえず、OnButton1()と同様のコードを書く。
ボタンが押されなくても描画されちゃうけど、あとは工夫次第。
550 :
デフォルトの名無しさん :03/01/16 00:02
>>549 それでやったら重なったら消えないのですが閉じたり、縮小すると消えました・・
どうしたらよいでしょう?
ウインドウを閉じても消さないって事か?
そうです
555 :
デフォルトの名無しさん :03/01/16 01:45
win32から学びたいのでよい書籍を教えてください。 C++は分かります。
>>550 真っ白いところにボタンをつけたり
テキストを書き出すということでいいのでしょうか?
>>550 確かその本には文字の表示とボタンのつけ方ぐらいは
書いてあったはずです。ダイヤログより先に紹介
してるはずですが?直後かな?
ボタンはコントロールまたは小ウィンドウ
という題目で紹介されてるはずです。テキストも
文字の表示という題目で紹介してたと思います。
ボタンを押した時に描画した画が、 フォームを最小化したり、他のウインドウが重なったりした時 消えてしまうのが嫌なんで 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
>>571 ありがとうございます。
いやね、言い訳しますとMicrosoftのHPが見にくいというか
どうなってるのかよく分からなくて分かりにくいんですよ。
気付いたら別製品のやつ見てたりとか・・・
573 :
デフォルトの名無しさん :03/01/18 00:33
575 :
デフォルトの名無しさん :03/01/18 01:30
>>572 プログラマになったらMicrosoftのサイトはけっこう見るハメに
なるから慣れた方がいいかも。検索も得意になっていた方がいいね。
576 :
デフォルトの名無しさん :03/01/18 01:33
DirectX8ですが、HALデバイスなどが取得できないんですが、どうしたらいいんでしょうか? 以前は、取得できてたんですが。PCを再セットアップしてからできなくなりました。
>572 MSサイトは慣れれば大体何がどこにあるかすぐ分かるようになるが 慣れた頃にリニューアルされる罠(w
MSのサイトはなんかゲームとかの裏面があるような感じになる。
>>576 SDKのサンプルでは取得できるだろ?
参考にしてみたら?
>日本語版において、Visual Studio 6.0 ファミリ製品以外は全て発売中止になっています。 >現在これら以外の製品を新規に購入することはできません。 とMicrosoft社のHPに書いてあったのですが、 今VC++6を購入することはできないのでしょうか? VC++はVisualStdioの一部ですよね?
>>580 VC++5 以下がダメなのだと思われ。
VC++6 は大丈夫じゃない?
売ってるの見かけるし。
日本語も理解できないで日本語版を買おうたぁちゃんちゃらおかしいな!
>>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
>>586 サンクス。
さらっとしか見てないが、基本をつかむにはよさそうだ。
やっぱ、高めの参考書とかに目を通すのが近道かね・・・。
とにかく多謝。がんがってみる。
俺が有名になったらお前のことを語るよ。
588 :
デフォルトの名無しさん :03/01/18 17:27
MFCでプログラムしていますが、ステータスバーのバックカラーを今のシステムカラー(デフォルト)にしたい場合どうすればいいでしょうか? 今のデフォルトの配色を取り出す方法を知りたい。
589 :
デフォルトの名無しさん :03/01/18 17:41
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 知り合いやその子供等をうまく誘ってアカデミックパックを購入するのはどうでしょうか。
確か購入時に学生証などの提示を求められるので。
まあねー 元手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
誰か知ってます? コンパネ内で画面のデザインを変更したら、自分のアプリケーションにも反映される方法。
602 :
デフォルトの名無しさん :03/01/18 20:43
なぜかコンパネの画面のデザインの配色を変更しても、自分のアプリケーションのrebarやstatusbarの色が変わらない。 なぜ??? 問題点がわからん。
>>600 WM_WININICHANGEとは違うことか?
rebarの場合、デザインを変更したら、自分で変更しないと駄目なのかな? システムがそういう処理はしてくれると思ってた。 全てのウィンドウに対し変更イベントメッセージを送れば、それですむはずだと思い込んでいたのかな?
605 :
デフォルトの名無しさん :03/01/18 21:21
VisualC++を買うとアプリの開発が効率がよくなるんですか? それとも簡単に開発できるのですか? もしくわ効率よく学習できるのですか?(学生の場合) よろしくおねがいします。
608 :
デフォルトの名無しさん :03/01/18 21:36
>>605 >VisualC++を買うとアプリの開発が効率がよくなるんですか?
人によっては。
>それとも簡単に開発できるのですか?
これも人による。
>もしくわ効率よく学習できるのですか?(学生の場合)
だから人によるってば。
悪い質問の代表例だな。
>>605 Windowsプログラミングをしたいならビルゲイツには逆らうなということだ。
610 :
デフォルトの名無しさん :03/01/18 21:37
>VisualC++を買うとアプリの開発が効率がよくなるんですか? 何に対して? >それとも簡単に開発できるのですか? 何に対して? >もしくわ効率よく学習できるのですか?(学生の場合) 何に対して?
>>608 >>609 ありがとうございました。
これで買う決心をつけられました。
これってアカデミック版はないのですか?
価格.comで値段を調べたとき、VisualStdioにはあった
アカデミックが見つからなかったのですが。
612 :
デフォルトの名無しさん :03/01/18 21:40
>>612 あるのですか。もう一度MSのHP見てきます。
まだ学生なのでそれを利用してVC++6のアカデミックを買いたいと思います。
最初はスタンダードにしようと思ったけどアカデミックの方が得なので。
614 :
デフォルトの名無しさん :03/01/18 21:51
効率がいいかどうかはしらんが・・・ 俺は、まだプログラミングというものをなにも知らなかったとき、 将来はプログラマになろうと思って、学割版のVC++を買った。 まだprintf("hello,world");も知らなかったころだ。 そんなころに、同梱されていた本に書かれているがままに、 いきなりMFCのウィザードが吐いたコードを読んだりしていた。 こんな普通では考えられないような方法でも、やる気があれば身に付く。 要はその人のやる気次第だ。
やる気はあるんですよ。 別スレにも書いたのですが、今の環境に満足できなくなってしまって。 現在はコード書くときは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 スレに。
621 :
デフォルトの名無しさん :03/01/18 23:39
>>602 これって画面のプロパティのWindowsクラシックとかそう言うやつの事ですよね?
ちゃんと反映されますよよよ?
マルチが且つ宿題丸投げである確率を答えよ。
623 :
VC6+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 ライブラリを探すかだな。
629 :
デフォルトの名無しさん :03/01/19 14:22
今日VC++アカデミック買いにヤマダ電機いったら売ってなかった・・・ スタンダードだけ。コジマに行ってもアカデミックは無く・・・ 通販とかで買えないかなー
VC++6.0のClass Wizardについて質問です。 作成したプログラムの一部のクラスをクラス名を変更したのですが、Class Wizardで流用したクラスだけが認識してくれません。 .clwを削除してVC++に再構築をさせてみたのですが、うまくいきませんでした。 手動で.clwにクラス情報を登録(入力)するしかないのでしょうか。 なぜ作成したプログラムの一部のクラスをクラス名を変更したのかというと、他のプログラムでそのクラスを流用を考えているのですが、たまたま流用先のクラス名と重複してしまっているからです。 よろしくお願いします。
>>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++なんて聞いたことしかないので どこのサイトに行けばいいのかもわからず教えて頂きたく。 どこかのファイルを直せばいいのですか?いろいろインターネット で調べてはみたのですがどうにもジャーゴンばっかで解りません。 初心者に御手解きのほどよろしくお願いいたします。
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円でゲトした。
638様 そうですか。どうも有難うございました。お時間を頂き 申し訳ありません。他サイト等もあたってみます。
>639 エンタープライズが14000円?うそでしょ?
>>632 名前空間も重複してるから困ってんだよ。ヴォケ。
644 :
デフォルトの名無しさん :03/01/19 19:08
VC++アカデミックパックの実売価格ってどれくらいですか? 価格.comにすら載ってなくて困ってるんです。 どなたか、大体でいいので教えていただけないでしょうか?
>>645 そこにもアカデミックは載ってなかったのですが・・・。
そこで商品を購入できるならそこで買っちゃおうかな・・・?
647 :
デフォルトの名無しさん :03/01/19 20:19
648 :
デフォルトの名無しさん :03/01/19 20:26
>>647 にさらに追加。
VisualStudio.NET Pro MSDN DX製品版 126,690 円
VisualStudio.NET Pro MSDN DX優待版 76,600 円
ということは
>>647 の製品にはMSDNが付いてないのか?
MSDNは別所から手に入れることができるのだろうか?
>>647 ええ、実は最初VisualStdio.NETアカデミック買おうとしたのですが
OSが対応してなかったんですよ。うちの9xなので。
で、しぶしぶVC++買おうと思ったらまだ価格が分からないんです。
ヤマダ電機とコジマ電機行ってもありませんでした。
地方なので秋葉原には行けないし・・・。
ソフマップでも見つからない・・・。
うーん、どうすればいいんでしょう?
「Visual C++ 円 アカデミック」で検索かけてみろ
651 :
デフォルトの名無しさん :03/01/19 20:35
>>649 取り寄せればいいかと思うけど。
電話で取り寄せ出来るか、あと価格も聞いて見れば?
ありがとうございました。やっと見つかりました。 いろいろなバージョンのアカデミック版があるようで。 ---パッケージ 推定小売価格--- エンタープライズ エディション 通常パッケージ 163,000円 アカデミックパッケージ 21,200円 プロフェッショナル エディション 通常パッケージ 83,800円 アカデミック パッケージ 13,500円 スタンダード 通常パッケージ 23,800円 アカデミック パッケージ 9,800円 ------------------------------- コストパフォーマンスなどを考えると、プロフェッショナルのアカデミック版が 一番いいかなと思ってます。 でも買う場所がない(笑) これを求めに秋葉原まで200km行くのもいやですし
653 :
デフォルトの名無しさん :03/01/19 20:50
>>652 昔の事だから記憶も曖昧だけど、
スタンダードやラーニングエディションは買うと後悔するって言われてました。
んでもって、エンタープライズ版なんか必要とすることはまずないし。
4種類のエディションがあるけど、プロフェッショナル版に決まり。
>>653 という事はプロフェッショナル版の選択は正しいんですね。
ありがとうございました。
うーん、東京に住んでる姉ちゃんに頼んで女一人で秋葉原行ってもらうかな・・・
あー、でもそれも悪いような・・・。
まだ工房なのでお年玉もらえたから買うお金はあるのに、買えないなんて(笑
>>641 >エンタープライズが14000円?うそでしょ?
これがマジだから笑う。しかも箱等、備品全部付いて。(ちょっと汚れてたけど)
たぶんコレってかなりのレアケース。でも、オークション系も一応見てみたら?
「確実」とも「安全」とも言えないけど。
ポイントは「競りが続いている商品と同じ品目なんだけど見出しが地味な方」に微妙に
入札しておく事....って、この辺は板違い。スマソ。
c++にVBからいこうしたいんだけど無理?
658 :
デフォルトの名無しさん :03/01/19 21:40
無理くない。やる気次第
アカデミック版のライセンスに注意。 ボーランドの製品だとアカデミックでは配布不可だったような。。。
660 :
デフォルトの名無しさん :03/01/20 00:23
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 マルチ
マルチってなんで消えないんだろーなー
がんばってみます ちなみにマルチ場所を教えてください
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か何かで表示する方法無いですか?
ごめん、分かったから事故レス。 OutputDebugStringだった。
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 にしがみつかざるを得ない場合もあるだろうけど・・・
まあ、新しい技術がどんどん出てくるから、基本だけはしっかり
覚えとかないとね。
結局東京にすんでるおねえちゃんに買ってきてくれるよう たのみました。 「VisualC++プロフェッショナル アカデミック版」 って言っておいたけど、類似品が沢山あるから間違わない事を激しく願う。
バージョン言ってない時点でダメダメだと思うがな
お、おねえたん…(*´∀`)ハァハァ
686 :
名無しさん :03/01/20 19:07
>>682 VC++.NETでもMFCは利用されるんですね。
VC++6.0Proを持ってるんですが、新しいバージョンでは
もうMFCは利用されないのかと思ってますた。
おねえたんが間違わないように俺が一緒に付き合ってあげようかハァハァ
もしかして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 を終了します。 ご不便をおかけして申し訳ありません。 というエラーがでてしまった コンパイルエラーはなかったのでたぶんコーディングはあってると思います 実際タブコントロールって不安定なんだろうか、、プロパティシートつかったほうが 安定してるとかありますか?
実際のソースがこれです ダイアログベースでタブコントロールを 貼り付けました リソースも関連付けたし問題もないようなきがします 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 を返すとコントロールに設定したフォーカスは失われません。 }
>>691 随分謙虚なエラーメッセージなんだな。(w
コンパイルエラーがなかったのでコーディングはあってるってすごく強気だな
謙虚にどこがどうまちがっているのかも教えてほしかった、、 あたなのコードはとてもセンスがいいのですが、、、みたいに ところでCTabCtrl::InsertItemにしていする TCITEM構造体がTC_ITEM構造体にするとかかな? 構造体の設定がまちがっているとかかな?
これだろ<&this->m_tc つーかthis->なんて無意味なことするからこんなことに
>>696 this は暗黙で呼ばれるから不要なのかな?
&(this->m_tc) にしたら、どうでつか?
>>692
&m_tcにしなさい。
実はVB房なんです、ですからme.object.,,,なんて癖が this->ってやったらメンバでてくるから便利かなーって >&(this->m_tc) にしたら、どうでつか? これもご不便をおかけして申し訳ありません。ですた 演算子的に括弧がなくてもいけるようなきもします 今日林はるひこの本をみてやったけど実にわかりやすかった
実はWinnyのクローンを目指してるんでし まずは画面のデザインからってことで 次はリストビューに挑戦しようかと、、
インデックスは0から始まるんだが、これもVB厨だからか? m_tcがTC_ITEMなら&m_tcでよい。というかそれをメンバ変数にしなくてもよい。 本当にそんなんで林本を読んだんだろうな。
つーことは、 &this->m_tc は問題ないってことだいね?
>>702 今日みっちり立ち読みした
はじめはメンバ変数にしなかったんですが
だんだん錯誤するうちにメンバにしたほうがいいんじゃないかと不安になって、、
>>703 演算子のゆん鮮度を確認しますた
まつがいないでし
いや、だからインデックスを0にしろって。 それとマスク指定してるならメンバ埋めろよ・・・ つーかネタ認定しそう。
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 を返すとコントロールに設定したフォーカスは失われません。 }
うまくいきました
>それとマスク指定してるならメンバ埋めろよ・・・
>>705 メンバを理解しきれてなかったです
タブのスタイル設定するんだろうなってことは立ち読みしたんですけど
tcm.maskの設定を消しました、そしたら動きました
tcm.pszTextを埋めろ。 はい終了。以後放置決定。
>>708 おかげさまで、タブ名を表示することができました
>>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 ・・・ [パラメータ ヒント] オンにすると、可能な・・・ ・・・・・・ と説明が付いているのでオン/オフの切り替えができそうに見えるんですが 皆さんはオン/オフできるのでしょうか?
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"
--
だそうだ。
>>719 です。先輩にも「そこじゃないの」といわれたんですけど、
[japan][jpn][japanese]すべて駄目でした。wcoutは上手くいくのに。
皆さんのところでは、それで成功するのですか?
ちなみに、ボーランドのC++だとJapaneseでwofstream成功しました。
723 :
デフォルトの名無しさん :03/01/21 21:08
ワイド文字列(Unicode)使うのに ロケールは関係ないんじゃないでしょうか?
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()
で発行されるみたいだけど。
>>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 のような形式で入力された日時を システム時刻に変換したいんですが 使えそうな関数はありますか?
738 :
デフォルトの名無しさん :03/01/22 22:20
一通り、入門書読み終えました。 みなさん、VCで始めに作ったオリジナルアプリは何ですか? 本の例題とか抜きで・・・
>>734 ・デバッグ実行中に見ている場合
まだフラッシュされてないだけの可能性がある。
しかし、endl でフラッシュされるため、
endl がないと思えないので可能性低し。
>> 740 の可能性ももちろんある。
・そうでない場合
ファイル名が間違ってる可能性がある。
もしくは、別アプリからの書き込みを禁止するタイプのエディタで
ファイルを開いているために、
書き込みに失敗している可能性がある。
リダイレクトって、 > NUL とか > CON\CON とかやってないよな。
743 :
デフォルトの名無しさん :03/01/23 05:13
マイクロソフトのC++はXPで作動しないですか?
VC6.0使い始めようと思っています。 printfとかの命令語(?)のヘルプってどのchmファイルで見れますか? 何か作りたいのですが、命令語解らんので何をやればいいのかサパーリ解りません。
>>745 MSDNライブラリがインストールしてあったら
調べたい単語にカーソルを置いて F1 キーを押す
入れてなかったらMSのサイトで検索できる
>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の基底のほうですでに実装済み???
>>749 すごいです。正しく動きました。
正直imbueというのが何なのか理解していませんが、
その辺は自分で勉強しておきます。
有難うございました。
(^^)
>>750 MFCのクラスツリーを見ることを薦める。
コントロールは全てCWndから派生している。
キャスト使えば実際の型が全然別のものでも実は(ry
754 :
デフォルトの名無しさん :03/01/23 23:10
VC++6.0を起動したはいいけど何をやったらいいのかわかりません。 VC++6.0の使い方とか書いてあるHPまたは書籍ってないですか? それからMFCとSDKってなんですか?教えてください。
756 :
マネーの虎 :03/01/23 23:29
>>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 でファイルではなく、ディレクトリを選択 するようにしたいのですが、派生させて大々的に 改造するしかないもんでしょうか? なんとか手軽に実現できないもんですかね。
スレッドの同期とか非同期ってなに? どーいういみあんのぉ?
非同期だと受信と他の作業を別な感じで やってくれるってことでいいのかな? そーいうばーい、送信と受信って いぺーんにできるの?
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
769 :
名無しさん :03/01/24 13:39
>>767 追伸
ディレクトリチェック部分を
if (ff.MatchesMask(FILE_ATTRIBUTE_DIRECTORY)) cout << "これはディレクトリです\n";
else cout << "ERROR!2\n";
に変更しても、やはり同様のエラーでした。
何が問題なんだろう。
for(;;)文で処理を行ってるのですが 閉じるボタンを押しても反応してくれなかったり 閉じれてもエラーメッセージが表示されます。 ウィンドーからのメッセージはどうやって取ればよいのでしょうか。
>>770 MFCを使っているなら、クラスウイザードで
WM_CLOSEをハンドルする関数を作ってはいかがですか?
それともCベースで1から手打ちですか?
>>767 FindNextFileの呼出が抜けてる。
>>772 FindNextFileを実行すると、ファイルへのポインタが
目的のファイルの次にズレてしまわないですか?
ちょっと試してみます。
>>771 さん
クラスウィザードから それっぽいのが追加できそうです。
ありがとうございますm(__)m
>>772 成功しますた!
1回目の呼び出しではポインタずれないんですね。
ちと紛らわしい。
ありがとうございました。
>>774 お互い、がんばりませう。
776 :
デフォルトの名無しさん :03/01/24 19:20
MD5ハッシュのやり方を教えてくれる人を尊敬します。 教えてください。
解決しました。ありがとうございました。
>>770 forループを別スレッドで行う。
WM_CLOSEを処理する部分が呼ばれないのでWM_CLOSEをハンドリングしても無駄。
777ってだれ? 殺すよ?
嘘です
まあとりあえずrfc1321.txtを嫁。
782 :
デフォルトの名無しさん :03/01/24 21:15
>>777 &
>>780 またかよ!!
でも今日は気分がいいからゆるしてあげましょぉ(ニコニコ(怒
783 :
名無しさん :03/01/24 22:05
CD-ROMでいいので、Visual C++で利用できる 関数の日本語完全版ってないもんですかねぇ。 6.0付属のMSDN使ってるんですが、ヤフオクとかに 出ている最近のやつはもう少し充実してるんでしょうか?
#定義 厳密 #引用 <窓.変態> 整数 窓適用業務界面 窓主(例操作 変態操作,例操作 変態操作, 長指示文字列零 長指示文字列零指令, 整数 数値指令表示) { 復帰 零; } ∧∧ ┌────────── ( ´ー`) < シラネーヨ \ < └───/|────── \.\______// \ / ∪∪ ̄∪∪
だれかMD5おしえてよぉ(涙。 VC++の日本語サンプルのあるところでもいいので教えてください。
787 :
デフォルトの名無しさん :03/01/25 00:27
マジでアホな質問なんですけど ワークスペースというウィンドウがいつもでてきます 毎回消していて、それだけですむことですが、 どこを弄ればいつも出ないようになりますか?
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") >} フーン
void なのに return(0); なのか? それとも void ではないのか?
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") } } こっちのよーな
マルチはノーマナー。
795 :
名無し@沢村 :03/01/25 02:31
マルチっつーか、それ以前にスレ違いな。
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);
}
>>785 ハァハァ…
あみたんをrapeしながらMD5…
DirectX9をいれたらVC++6.0がやたら強制終了するようになったのですが 仕様でしょうか?(´・ω・`) OSは98。
手動
9x系ってのがそもそも間違いのような。
色んな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して配置するよりダイアログエディタで置いた方がリソース食いますか?
VC++6.0でMD5のサンプル作ってください。
日本語でお願いします。
>>799 サンプルつくってぇ〜(笑
>>812 ありがと〜!
>>813 そういう考えばっかしてるから
メル友以外で女の子と話できないってことに
気づいた方がいいんじゃない?
電源設定を変更したいのですが 良い方法ありませんか?
>>798 ありがとうございます。
COleDateTimeのヘルプはちらっと見ていたのですが、
DATE→COleDateTime→SYSTEMTIME→CTimeの繋がりに気がつきませんでした。
多謝多謝。
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] という書き方ができるんだ?
んーなんか他の質問とごちゃごちゃになってしまいましたが 私のは独立した質問です。 クラスのnew演算子をオーバーロードしてそれを使おうとすると 必ずコンパイルエラーになります。 上の例ではnewにsize_t以外にもうひとつ引数をつけましたが 単純にnew(size_t)でオーバーロードしても、そのnewを使うと 「関数が不正な 3 個の実引数をともなって呼び出されました」 となります。 なんか自分のVCがおかしいのかな。 誰かnewのオーバーロードしてもコンパイル通るか試して欲しいっす。
MFC AppWizardでアプリ作ってます。 エディットボックスから、正誤判定つき(0-255)整数を16進数 で入力可能にする簡単な方法はあるのでしょうか? 文字列入力して、int型に変換するしかないのでしょうか? 初心者質問スマソ。 お願いします。
>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 からは削除されないのかな?
>>817 ププッ!図星つかれると
大体そう言うんだよね〜。
なんかかわいそうになってきたよ。
ごめんね〜。24歳素人童貞君!
ピンフな予感
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"ファイルに書き込む というプログラムなんですが、お願いします。
\ / |=) から \ // ̄ に移行したいんですがなにかアドヴァイスプリーズ \/ |=) \/ |__ 俺はどんくらいで完全に考えがCにうつれたみたいなかんじで
ン?ナメック語の単位は取ってないんですか?ヤレヤレ VBからVCに移行したいんですがなにかアドヴァイスプリーズ 根本的な仕組みの違いがあって、分からん! 具体的に、明確に、VBとVCとの違いを教えてくださいオマイラ
仕組みが違う部分を理解しないと教えようもないんじゃないかな。
どう理解しろと? 参考文献ないかなぁ(^д^)
>>849 細かい事考えずに 1 から覚えろ。
何で VB と VC との違いを知らないと逝けないと思ったんだ?
いや、1から覚えるにはCは敷居が高いかなと・・。 VBの知識→応用→VCの知識→(゜д゜;)ウマー を狙って。 やっぱ無理?一からしないとダメ?
ネタにマジレスが今の流行ですか?
>>855 オマエモナー
こんなところで返ってくるかどうかわからない答えを待ってないで、行動しろよ。
VC勉強しながら書き込んでますがナニカ?
859 :
デフォルトの名無しさん :03/01/28 05:43
突然失礼しますが, 今c言語の行列演算ライブラリを探しているのですが どなたかご存知ないでしょうか? 卒業研究のプログラムにいるので必死なんです。 助けてください
>>859 numpackとかそんな名前の有名なやつがあったような記憶。
LAPACKだった。CはCLAPACK、C++はLAPACK++
862 :
デフォルトの名無しさん :03/01/28 07:18
教えてください!! graphics.hというヘッダファイルが読み込めません。 古いCの本を参考にVCを使って書いているのですが、対応するヘッダファイルがないようなんです。 どうも調べたら今はgraphics.hはOSが提供しているので昔みたいにヘッダファイルを読み込む必要がなくなったから消えたらしいんですが・・ しかしこのヘッダファイルがないと実行できないので非常に困っています。 どなたか解決方法を知っておられたら教えてください!!
863 :
デフォルトの名無しさん :03/01/28 07:51
864 :
デフォルトの名無しさん :03/01/28 08:02
>>864 そのページを見てもわからなかったらあきらめたほうがいい
866 :
デフォルトの名無しさん :03/01/28 08:16
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
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)を追加しる
ありがとうございます。しかし説明が足りなかった様です。 派生元をCMyDialogにしてクラスウィザードに表示される様にしたかったのです。 CAppDialog−CMyDialog−CDialog という継承関係です。 が、なにか方法を間違えているような気がしてきました。
>>879 「クラスの種類」を「Genericクラス」にして派生元をCMyDialogにすればいい。
「MFCクラス」内に表示されるのはMFCのクラスではないからムリだと思う。
カスタムAppWizardは?
ダイアログの背景に画像貼るとかできるの?
>>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>' に変換できません。
888 :
TCP/IP :03/01/30 15:42
ちゃ!TCP/IPのクライアントソフト作ってるんですけど、 送信・受信などで悩んでるのでご存知の方がいましたら教えてください。 まずサーバーにログインしたらこっちがサーバーに送信するんですけど、 送信した後に受信するんですけど、普通にやるとブロッキングで受信できないので 今スレッドにしてるんですが、今の状態だと受信したのを確認する前に 次のデータを送信しちゃうんですが、受信完了まで待つにはどうしたらいいですかね? ループでまわしてうまくいくときもありますが ちょっと固まった感じになるので できたらそれも改善したいです。 アドバイスください。 やりたいこと ログイン (できました サーバー ←← クライアント (できました サーバー →→ クライアント サーバー ←← クライアント (↑を受信する前に送信してしまう サーバー →→ クライアント サーバー ←← クライアント サーバー →→ クライアント こんな感じです。 よろしくです。
すみません。補正と追加です。 ↑の()内は現在の状況です。 追加ですが、 この処理の後に いつサーバーから連絡がきてもいいように 受信のスレッドのようなものを 使って監視したいと思ってます。 それで、必要なときには、こちらからサーバーのほうへも 送信したいと思っています。 それで、さらにできれば通信ログも データ(構造体など)に入れたいと思っています。 よろしくお願いします。 開発環境 Win2k + SP2 VC++6.0 ダイアログベース
890 :
デフォルトの名無しさん :03/01/30 16:14
>>888 送信しちゃうって、てめえで勝手に送信してんだろアフォ。
2番目のサーバからの送信を待つ必要があるなら
その時点でクライアントの送信スレッドを作らずに
受信を待てば良いだろ。
892 :
VC++超初心者 :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; }
893 :
VC++超初心者 :03/01/30 20:49
だれか・・・
894 :
デフォルトの名無しさん :03/01/30 21:15
>>892 VC++6.0の話だから、.net だとちょっと
違うかもしれないけど、
コンパイラの ビルド -> 実行 で実行してる?
そっちだと、すぐに閉じないと思うんだけど。
>>892 Press any key to continueって出るぞ。
んで、キー押すと終了するが。
ちゃんと、コンソールでプロジェクト作ったのか?
896 :
VC++超初心者 :03/01/30 21:24
おぉ〜レスありがとうございます。・゚・(ノД`)・゚・。 実行はまず「ビルド」メニューの「ソリューションのビルド」でビルドして 「デバッグ」メニューの「開始」で実行してます。 結果はきちんと出てるみたいなんですが 1回実行されるとすぐコマンドプロンプトが閉じるんです・・・
897 :
VC++超初心者 :03/01/30 21:36
>>895 はい、一応ちゃんと作ったつもりなんですが・・・
新規作成→プロジェクト→Win32プロジェクト→アプリケーションの設定
→コンソールアプリケーションと空のプロジェクトにチェック
でオッケーですよね?
>>897 本当にコンソールアプリケーションってやつちゃんと選んだか?
cin.get(); でも入れておけ。
900 :
VC++超初心者 :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 一応釣られておくけど日常「ちゃはんじ」。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
デバッグを開始じゃなくてただの実行しなさい。
903 :
VC++超初心者 :03/01/30 22:55
もうしょうがないからreturn 0のまえにcin.get();いれたんだけど なぜかきえる・・・・なんでだ〜〜〜〜〜〜〜〜〜〜〜〜〜〜
だからデバッグの実行じゃなくてただの実行をしろと
905 :
VC++超初心者 :03/01/30 23:00
ただの実行ってどうやるんですか? 開始ってやつしかみつからなくて・・・
Ctrl+F5
!がめじるし
908 :
VC++超初心者 :03/01/30 23:12
デキタ━━━━━━(゚∀゚)━━━━━━!!!! あなたは神ですか?!!!! どうして開始からだとだめなんだろう・・・ ちなみにCtrl+F5ってメニューからは無理なんですかね?
カスタマイズ可能
910 :
VC++超初心者 :03/01/30 23:44
>>909 あ!ありました!「デバックなしで開始」ってやつですね。
いろいろありがとうございましたm(_ _)m
VC++.NETにはデフォで普通の実行がないのか。
>>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 お前はまず日本語勉強して来い。アフォ。
突っ込みたくても突っ込めない人がいますね。 おまえ自身日本語大してわかってなさそっ。
>>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 突っ込みたくても突っ込めない人がいますね。 おまえ自身日本語大してわかってなさそっ。
//続き。んでもってこっちが送信。 //送信はスレッドじゃないので重い(?)。固まりやすい(?) 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 ; } //続く
//んで呼び出し方はこんな感じ //初心者なんでわからんのです。ガムシャラです。 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 ; }
>>916 日本語は・・・変かもしれん・・というかへんだな〜
通信関係は初めてなんでよくわからんす。
と、まー以上です。
>>926 分からんのにどうやってそこまで作った?
どこからパクってきたんだ?
928 :
デフォルトの名無しさん :03/01/31 15:43
コールバック関数の引数の個数と型の調べ方を教えて下さい。
>928 google
>>927 パクリです。
最初はWinSockから聞いて
ログインのあとはサンプルなどを見ながら
コピペで張り切ってます。
>>930 パクってきたんなら、そのまま動くはずだべ。
ちゃんと全部コピペしたか?
それと、受信・送信以前のプロセスでエラー出てないか確認してみ。
ちゃんとsocket作成は成功してるとか。
サーバ側でListenやacceptで失敗してるとかないか?
>>931 送信受信自体はうまくいくんですよ。1文字列を送信して
1文字列を受信してってのをボタンで発動するようにすると
うまくできます。
今回はそれを自動でやれるように関数作ったんだけど
受信を確認する前に次の送信に行っちゃうんですよ。
受信で改行があったら次へ行くようにやってるつもりなんだけどな〜。
while(1){//受信完了まで待つ Sleep(10); if ( ::WaitForSingleObject(m_pThread->m_hThread, 200) == WAIT_TIMEOUT || strRecvData.Right(2) == "\r\n") break; } この||になんか違和感がある
単にタイムアウトになってんでは?
>>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; } } おい、プログラムこれに差し替えて今すぐ結果教えろこの野郎。
>>937 ありがとうございます。
ちょっとやってみます。
でも試すのは家でかな。
所長の視線が痛ひ・・・
>>939 938がソースまで書いてくれたから、それで試してみ。
これではっきりするだろうから。
ちなみに漏れは、VCは使ったことない。 これから使おうかと思って覗いていたわけだが。 200ってなんだろうなと思ってぐぐってみた。 200ミリセカンドだってさ・・・ ここの調整がいるんだろうな。 どっちにしろ938のように分岐にしないといけないわけだし、 どういう結果になろうと、これで解決だろう。
>>938 ども!サンクス!
今すぐ試したいけど所長はがんばれば振り切れる!
けどこの会社でTCP/IP通信すると会社のサーバーから
接続切られてまうので家でしかできないのが本音。
ワラタ
>>919 バッチリできました。ありがとうございました。
>884 むちゃくちゃ亀レスです。 ありがとうございました。あのあといろいろ当ってみたら あのメッセージは正常のようですね。
947 :
デフォルトの名無しさん :03/01/31 18:35
C++をダウンロードしたいのですが、ありますか? やっぱ店に行ってお金払うんですか?
>947 ボーランド
>>948 Visualのスレでその答えは無いだろ?(w
>>947 MSのサイトから.NET Framnework SDKが落とせる。
C++に加えて、C#、VB,NETもコンパイル出来る。
IDEが必要なら、SharpDevelopというアプリもある。検索してみ。
951 :
ppp1359.va-tyo.hdd.co.jp :03/01/31 18:43
ちょっとテスト
回答ありがとうございます
>>938 ん〜。うまくいきませんね〜。
ってか、受信したやつが空になってます。
スレッドなのでこれをどこかで更新みたいのをやらないとだめなような気はしますが・・・
ブレイクポイントを置き、一つずつやるとうまく送信受信ができます。
938はタイムアウトなのか改行なのか知りたいんだろ 俺も気になるがどっちなんだ?
954に同意。タイムアウトしてるから空なんじゃないのか。 200のところをもっと大きくしたらいいんじゃないのか。
そのままやっても一向に抜けないんですよ。 ループから。なにか受信するまで 待つっていうものはないですかね?
957 :
デフォルトの名無しさん :03/02/01 16:31
>>956 つまり、どちらのダイアログもでないということ?
抜けてしまうのが問題だったのではないのですか?
抜けないはずはないでしょう。
結果報告もしないで勝手に話を次に進めないでください。
せっかく938みたいに親切な人がいるのに、
結果報告ぐらいきちんとできないと誰も助けてくれませんよ。
959 :
名無し@沢村 :03/02/01 17:08
沢村、お前ヌヒとか言うのやめろ。 気持ち悪いんだよ馬鹿が
>>956 おいおい、何矛盾した事言ってるんだ?
ループから抜けちゃうから問題だと言ったのはお前だろう。
ループから抜けないで先に進むなんてあり得ないんだよ。
こりゃあ、想像以上に初心者のようだな・・・。
初心者というか、人との会話方法を知らないのだろう。 本当の初心者でもこんな香具師はいない。
どうせそのうち「釣れた」とか言い出すんだろうな……
VisualC++7.0Professionalまだ出ないんですかね…
つーか沢村ネタ自体が全くおもしろくない。やってる奴のセンスを疑う。
>>966 放置したくてもできないお前のセンスを疑う。(藁
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桁しか有効にならないぞ。
ゲタ履かせたら? ていうか任意桁長の"仮数部","小数部"を表すクラスを用意して、 生のdoubleを直接いじる代わりにそれらの中でdouble値をゲタ履かせた 状態で保持しておいて、結果もそのクラスで出すってのは、どう? オペレータもオーバライドすれば、さらにそれっぽくなるし。
978 :
デフォルトの名無しさん :03/02/02 18:52
>>972 変数Cの値を1大きくするインクリメント演算子。
>doubleって仮数部56bitだっけ?だとするとそのまま >どんなにがんばっても10進16桁しか有効にならないぞ。 何でだよ 教えろよ 教えて訓ナイトないちゃうぞ
980 :
デフォルトの名無しさん :03/02/02 19:19
ここ、本当に初心者スレなのか?
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言語が理解できない馬鹿がお絵かきツールみたいなのを使ってプログラムするやつなんでしょ?
すみませんです。 ------------------構成: 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 何度も確認しましたが間違いはないはずなのこうなってしまいます。どうすればいいですか?
すみませんエラーは勘違いでした。それは解決したのですが、補完されなくなって使いにくいです…
すみません私は馬鹿です
990 :
デフォルトの名無しさん :03/02/02 23:17
めちゃ初歩的な質問です。 ダイアログベースで作成しているのですが、 OKボタン、CANCELボタンを無効にして新しいボタンを2つ作成し、 そのボタンにOK、CANCELボタンの役割を持たせるように プログラムしました。 その後、エディットボックスを追加したのですが、 IDCが追加されず、2つのボタンだけのIDCだけが表示されます。 どうやったらエディットボックスのIDCを追加することができますか?
大文字じゃないや、全角文字。
993 :
デフォルトの名無しさん :03/02/02 23:25
994 :
デフォルトの名無しさん :03/02/02 23:27
>>994 そうです。
クラスウィザードでボタンを追加したときは、
IDC_BUTTON1
という風に追加されるのですが、
エディットボタンは表示されません。
ですから、メンバ変数をそこから追加できないのですが、
どのようにすればよいのでしょうか?
995
997
998
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。