トップページ⇒tech
1001コメント306KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001987NGNG
タイトルのとおり、
Visual C++ 初心者用スレッドです。

前スレ・関連スレは、>>2 ぐらい。
0576デフォルトの名無しさんNGNG
warning C4805

を出したくないだけでしょ。
0577デフォルトの名無しさんNGNG
>>560

会社だと

bool fHantei = 判定関数;
:
:
:
if(!fHantei){ //←ここ
:
}

こういう書き方はダメなところが多いと思うけど。
C#でもこういう書き方はErrorになるはず。
0578デフォルトの名無しさんNGNG
==TRUEはもっとダメ。
0579デフォルトの名無しさんNGNG
漏れの同僚に

#define NULLPO 0

HANDLE *pHandle = GetHandle();
if(pHandle == NULLPO){
 MessageBox("ぬるぽ!");
 exit(0);
}

ってやるやつがいます。
0580デフォルトの名無しさんNGNG
外出みたいだけどもう一度

BOOL型を返す関数でFALSEがエラー
FALSE以外が正常ってのがあったような気がするから

BOOL B;
...
if(B == TRUE)はやってはいけないと
やるなら
if(B == FALSE)
if(B != FALSE)
みたいに
0581デフォルトの名無しさんNGNG
ガイシュツのものをなぜわざわざもう一度書くのだろうか?
0582デフォルトの名無しさんNGNG
そもそも比較する必要がない
0583デフォルトの名無しさんNGNG
皆それぞれ言いたいことはあるだろうが、ここは一つ>>551は糞ってことで収めないかね。
if(hoge==FALSE)するかどうかはコーディングスタイルや会社の規約に関わってくるから
水掛け論にしかならんだろうし。
0584デフォルトの名無しさんNGNG
もう >>551の顔の火も、鎮火しただろーよ
0585デフォルトの名無しさんNGNG
顔がチンコに?!
0586デフォルトの名無しさんNGNG
>>585
よく読め。「顔の火」がチンコだ。
0587デフォルトの名無しさんNGNG
>>585
どんな生命体だよ・・・
0588デフォルトの名無しさんNGNG
顔の人はチンコだったか
0589デフォルトの名無しさんNGNG
>>587
  /⌒\
 (    )
 |   |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 |   |<  呼んだー?
 ( ・∀・)  \_________
  )   (
 (__Y_)
0590551NGNG
>>589
読んでねーよ、氏ねや



ああ、イライラする
0591デフォルトの名無しさんNGNG
まだフィッシングかよ……
0592デフォルトの名無しさんNGNG
int main(){
if( >>551 == true )
{
cout <<"  /⌒\   "<< endl;
cout <<"  (    ) "<< endl;
cout <<"  |   | "<< endl; 
cout <<"  |   | "<< endl;
cout <<"  ( ・∀・) "<< endl;
cout <<"   )   ( "<< endl;
cout <<"  (__Y_) "<< endl;
return 0;
}

return -1;
}
0593551NGNG
だいたいここ初心者向けのスレなのに
あの程度のミスでなんで糞呼ばわりされなきゃならないんだ?
初心者なんだから仕方ないだろう?
それともあんたらはプログラム初めてそういうミス一度もしたことないのか?
0594デフォルトの名無しさんNGNG
教える側がミスしちゃいかんだろ。
0595デフォルトの名無しさんNGNG
BOOL型==TRUE ってだめなの?
0596デフォルトの名無しさんNGNG
あ〜なるほどねわかった気がした
0597デフォルトの名無しさんNGNG
初心者スレだから叩く
人間叩かれて大きくなるんだYO!
でも変な所を大きくしないでね
0598デフォルトの名無しさんNGNG
>>593
おまえだけが間違うのは勝手だが初心者を巻き込むな
0599デフォルトの名無しさんNGNG
BOOLを使わなければいいのでは?
0600デフォルトの名無しさんNGNG
intでやれよな。
0601デフォルトの名無しさんNGNG
大は小をかねる。
0602デフォルトの名無しさんNGNG
つーかこんな事で喧嘩すんなよ互いに(w
0603デフォルトの名無しさんNGNG
楽しけりゃいいじゃん!!
0604デフォルトの名無しさんNGNG
>>592みたいなのってendlでフラッシュするじゃん
たぶんそこがネックになって速度が落ちると思うのね
もっとフラッシュを抑制する方法ってないかしらん?
0605デフォルトの名無しさんNGNG
嘘を教えちゃいけないよね
0606Are you OK ??NGNG
#include <iostream>
#include <windows.h>

using namespace std;

inline bool BOOL2bool(BOOL f){ return (f == TRUE) ? true : false; }
inline bool bool2BOOL(bool f){ return (f == true) ? TRUE : false; }

int main()
{
   for(int i=0;i<3;i++){
      BOOL fB = (BOOL)i;
      bool fb = (bool)i;
      cout << "(BOOL)" << i << " = " << fB << " , BOOL2bool((BOOL)" << i << ") = " << BOOL2bool(fB) << endl;
      cout << "(bool)" << i << " = " << fb << " , bool2BOOL((bool)" << i << ") = " << bool2BOOL(fb) << endl;
      cout << "\n";
   }
   return 0;
}


(BOOL)0 = 0 , BOOL2bool((BOOL)0) = 0
(bool)0 = 0 , bool2BOOL((bool)0) = 0

(BOOL)1 = 1 , BOOL2bool((BOOL)1) = 1
(bool)1 = 1 , bool2BOOL((bool)1) = 1

(BOOL)2 = 2 , BOOL2bool((BOOL)2) = 0
(bool)2 = 1 , bool2BOOL((bool)2) = 1
0607デフォルトの名無しさんNGNG
まだやってんの(;´Д`)
0608デフォルトの名無しさんNGNG
これで完結じゃないの。実例出たからみんな納得するだろう。
0609デフォルトの名無しさんNGNG
ていうかすでに納得してんのに何を粘着に(ry
0610606NGNG
>>609 いや、個人的に気になったから
普段からBOOLなんて使わんしさ
0611デフォルトの名無しさんNGNG
>>610
なんでWindowsプログラミングをしていないのにこのスレにいるの?
0612デフォルトの名無しさんNGNG
なぜか急にクラスビューに1つのクラスだけが表示されなくなってしまいました。
どうすれば直りますか?
0613デフォルトの名無しさんNGNG
>>612
引っ込み思案な性格を、カウンセリングで直せ。
0614デフォルトの名無しさんNGNG
>>604
endl のかわりに \0 代入して
表示するさいに std::finish とかってどうよ?
0615デフォルトの名無しさんNGNG
>>611
まだCを勉強して間もない初心者なんじゃないの?
0616デフォルトの名無しさんNGNG
初心者を初心者と見抜けないと
(初心者スレで回答を得るのは)難しい。
0617デフォルトの名無しさんNGNG
>>546
>>552
大変遅くなりましたができました。ありがとうございました。ちなみにこのような感じです。

SendMessage(HWND,WM_KEYDOWN,(WPARAM) VK_RETURN, 0);
SetFocus(HWND);
SendMessage(HWND,WM_KEYUP,(WPARAM) VK_RETURN, 0);

0618デフォルトの名無しさんNGNG
>>612
VC終了して拡張子clw,aps,opt,ncbのファイルを消してVC起動して「表示」→「ClassWizard」で
なんか聞いてくるから「はい」選択。変なダイアログ表示されるから「全て選択」ボタン押してからOK。
0619612NGNG
>>618
ありがとうございます。ちゃんと表示されるようになりましたヽ(´ー`)ノ
0620デフォルトの名無しさんNGNG
そんなことしなくても当該クラスのヘッダーファイルを変更すれば
表示されるよ。変更はスペースでもコメントでもOK.そのあと元に戻せばOK
0621デフォルトの名無しさんNGNG
子ウインドウの取得に関しての質問です

メモ帳をスパイで見ると
"無題 - メモ帳" Notepad
 └""Edit
となっており、クラス名Editのハンドル取得は以下のようにして行うことができました。
FindWindowEx(FindWindow("Notepad", NULL),NULL,"Edit",NULL)

ここで質問なのですが、
"Titlehoge" Clshoge
 └""Edit
    └"Edit2"
 └""Edit
    └"Edit3"

の場合、クラス名Edit3のハンドル取得はどのように行えば良いのでしょうか?
0622デフォルトの名無しさんNGNG
hです。
制すうちを入力しshort型の変数に格納した後
この変数の内部表現をビット列で表示するプログラムを作成せよ・・・
という課題がでました。

integer=>1
0000000000000001
integer=>-2
1111111111111110

といった感じで表示するってとこまでは分かったけど・・・
実際のプログラムが分かりません。どうしよう・・・tt
0623デフォルトの名無しさんNGNG
>>622
スレ違いw
0624デフォルトの名無しさんNGNG
ボーランドC++ビルダーコンパイラのインストール手順(readme)内に、

a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。

と記載されているのですが、いきなり意味がわかりません。
これは、どういうことをするのですか?

インストールしたところは、
D¥program files\borland\bcc55
としますた。

0625デフォルトの名無しさんNGNG
>>624
スレ違いw
0626デフォルトの名無しさんNGNG
>>622
氏ね
C/C++の宿題やらせてください。おながいします
http://pc2.2ch.net/test/read.cgi/tech/1045074808/l50

>>624
おまえも氏ね
タダで使えるBorland C++ part2
http://pc2.2ch.net/test/read.cgi/tech/1030493157/l50
0627 NGNG
今日のフラワーCの勝ち馬がわかりません。
誰か教えてください。
0628 NGNG
>>628 スレ違い
0629デフォルトの名無しさんNGNG
>628
0630デフォルトの名無しさんNGNG
>>628
再起関数
0631デフォルトの名無しさんNGNG
Microsoft VisualC++ 6.0 Enterprise
で開発してるんですけど。
ブレークポイントを追加してから、デバッグすると
かなりの確立でフリーズするんですけど・・・
ずっと昔からこの状態が続いているんですよ。同じ現象の方いらっしゃいませんか?

環境は
WindowsXP ProfessionalとWindows Me(どちらでも同じ現象)
CPU AthlonXP1600+
Memory DDR256MB
0632デフォルトの名無しさんNGNG
>>630
再帰関数
0633デフォルトの名無しさんNGNG
>>631
フリーズってOSごと?VCのみ?
0634631NGNG
VCがフリーズ→
Alt + F4で強制終了がきかない→
Alt + Ctrl + Delでタスクマネージャーを呼び出せない→
死亡。
なぜにタスクマネージャーさえも呼び出せないのかが不明!
マウスは動きます。キーボードも動作してます。

あとたまにビルド中でVCのみフリーズすることがあります。
Meのときは、一時その状態にしとくと、OSもフリーズしました。
XPのときは、そのままにしておくと、どうもなりません。
0635デフォルトの名無しさんNGNG
.NETに切り替えろという意味では。
0636631NGNG
>>635
そんな無茶な。
というか、結構前からこの症状でてマシタ。
0637デフォルトの名無しさんNGNG
監査は,女体監査
  しめつけ性,しゃぶなめ性,こしふり性を監査
 上シスは,上級尻刺す
  ゴムがうんこだらけ,でもやみつき
被監査対象  監査持ってるが仕事がない人事教育のオールドミスに食われました。ぐいぐいと。
 しかも,一生懸命奉仕したため,オールドミス仲間や最近ごぶさたの孫持ちおばはんの同僚たちにも回され,徹底的に姦さされました。
 この年ではじめて3Pしましたが,相手2人の合計はぼくの年のほぼ4倍です。
 助けてほしいですが,気持ちよくて,そんな自分が許せないのです。どうしたらいいでしょうか。
監査技法  バイブを使いなさい,伝統的な技法では通用しません。
 上がシースルー を上シスと呼びます
 電算室でSEXすると,いくらはりきっても汗が出ません。
アナルスト  え,まだ前からやってるの?
 坊や,まだまだ子供ね
ぶす
 松嶋奈々子 図体はともかく顔でかすぎ
 田中麗奈  爬虫類?
 広末涼子  あざらし
 藤本美貴  AVエロ顔
こんなので抜けるの?
本上まなみ 地味ぶす
男の方がましかも
最近の女,ぶすばっか
くさいし
ばかだし
すぐやらせちゃって病気もちだし
疥癬だし
腋臭だし
エステ通ってるおばちゃんか,男のほうがいいな
0638デフォルトの名無しさんNGNG
>>636
SPは5?
0639デフォルトの名無しさんNGNG
>>636
その症状が出るようになった頃にインストールしたソフトは何?
0640デフォルトの名無しさんNGNG
>631
ttp://forums.belution.com/ja/vc/000/050/71.shtml
いろいろあるがうちではMS IMEが問題だった。
Win2000 & WinXP & VC6 & VC.NET
この中の組み合わせで確認。
MS IMEを使わないことで解決しました。
参考に。
0641631NGNG
Meの頃も発生していたんで、インストールしたソフトは関係ないと
思われます。
SPはわかりません・・バージョン情報で確認できませんでした。
というか、SPをインストールしたことはないのでSPは入ってないのかな?
Coperight (c) 1994-98 って書いてあるんで、更新されてないと思います。
0642デフォルトの名無しさんNGNG
>>641
SPは入れておこうよ。
まあインストールしたことにより新たな不具合が発生することもあるけど(^^;
0643631NGNG
同じ症状の人いたんですね^^
って喜んでいいのか・・・
Nortonの仕業かもしれません。
Norton2002を入れてるんですが、Norton2003だったときは
正常に動いていた気がします・・・
皆様ありがとうございました。
0644デフォルトの名無しさんNGNG
Nortonは極悪ソフトとして有名
0645642NGNG
>>641
うぃ。ダウンロードしてきます^^
マイクロソフト・・・新たな不具合発生したら意味ないじゃん!
0646643NGNG
>>644
そうなんですか?
少し聞いたことがありますけど・・・
Nortonに代わるものって・・・Nortonをぱくったようなやつが
雑誌に載ってたかも。なんでしたっけ?
0647デフォルトの名無しさんNGNG
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\#・∀・) < ServicePack6まだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       | お茶漬けの素 |/
0648デフォルトの名無しさんNGNG
俺の環境 Windows2000 & (VC++6.0 + SP2 +SP5)でも起こった。
とりあえずSP3&SP4をインストールしたら、デバック時のフリーズはなくなったが、
アプリケーションが不正終了したときに出るダイアログでキャンセルを選ぶとフリーズする現象がまだ直っていない。
そうかIMEが悪さしている可能性があるのか。
試してみるよ。
0649デフォルトの名無しさんNGNG
すいません。ご存知の方がいらっしゃったら、教えていただきたいのですが、
現在、VC++6.0(SP5)を使用してプログラミングをしているんですが、ついさっきまで
出来ていたビルドが急に以下のようなエラーを吐いてできなくなってしまいました。

"ツールを開始できません。
この操作を正しく終了しました。
ツールを開始できません。
'vcspawn.exe' 実行時のエラーです。 ビルドを実行できませんでした。"

海外のメーリングリスト等も辿ってみて、

ttp://www.experts-exchange.com/Programming/Programming_Platforms/Win_Prog/Q_10199148.html

とか、
MSのKBからも対処方法を見つけてきたのですが、

ttp://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q236/0/92.ASP&NoWebContent=1

どの方法を取っても回避できません。そしてもちろん再インストールも行いましたが、
何も変わりません。

どのようにしたらいいんでしょうか。
0650デフォルトの名無しさんNGNG
VC++6.0のプリントアウト機能って拡張できないの?
文字がデカすぎて紙がもったいねー。
いちいち別のエディタでソース開いて印刷するのもメンドイし。
0651649NGNG
あ、書き忘れましたが環境は、
Win2K (5.00.2195) SP2 です。
0652デフォルトの名無しさんNGNG
ソースを印刷するヤツ、素人
0653 NGNG
仕事だとどうしても必要になるときはあるよな>印刷
0654デフォルトの名無しさんNGNG
印刷したほうがコスト面で有利、環境にやさしい、見渡せる範囲が広い、注釈をつけやすい、目にやさしい
0655デフォルトの名無しさんNGNG
>>649
ディスクの空き容量が足りないとかそんなんじゃないのか?
0656デフォルトの名無しさんNGNG
>>649
ためしにソース(*.cpp,*.h,と*.dsp、*.dsw、*.rc等)以外のファイル消してみな。
直ることがあるぞ。
0657デフォルトの名無しさんNGNG
>>621
どなたか教えて頂けないでしょうか?
0658デフォルトの名無しさんNGNG
>>631
XPの仕様と思って諦めれ。
0659649NGNG
>>655-656
ありがとうございます。でも、

> ディスクの空き容量が足りないとかそんなんじゃないのか?

とりあえずドライブは2つあって、システムドライブ側の空きが2GB、もう一つの方
(ページファイルを置いている)は3GB空いているんですが、とても足りないとか言う
感じでは無いです。なので、

> ためしにソース(*.cpp,*.h,と*.dsp、*.dsw、*.rc等)以外のファイル消してみな。

を、試してみる事にします。
0660649NGNG
【解決】結局 MSのKB(236092)にあった

> The ComSpec environment variable may be incorrectly defined.

がポイントだったようです。

[マイコンピュータ]→[プロパティ]→[詳細]→[環境変数]に ComSpec=C:\WINNT\SYSTEM32\CMD.EXE (Cドライブの場合)を
追加して起動→ビルド、また削除して起動→ビルドで動作に違いが現れました。

#でも、これ一度試したんだけど、その時は何も変わらなかったような....なんで今になって?

もし似たような症状が出ている方がいらっしゃいましたら、お試しください。
0661デフォルトの名無しさんNGNG
>>621 >>657
EnumChildWindowsとGetClassNameでどう?
0662デフォルトの名無しさんNGNG
>>661
EnumChildWindowsで検索すると有用な情報をたくさん見つけることができました。
ありがとうございます
0663 ◆bYHudLsQLw NGNG
ツールバーで ボタンの右にくっついていて 「▼」のマークをしているものを
良く見かけるのですが、あれはなんという名前でどのように表示しているのでしょうか?
0664名無し@沢村NGNG
>>663
シェブロン
0665名無し@沢村NGNG
>>664は、IEのツールバーの一番右に出てくる奴だ。
関係なかったな。
0666名無し@沢村NGNG
>>663
BTNS_DROPDOWN
0667動画直リンNGNG
http://homepage.mac.com/hitomi18/
0668デフォルトの名無しさんNGNG
http://homepage3.nifty.com/coco-nut/
0669デフォルトの名無しさんNGNG
VC++で\x1b[とかエスケープシーケンスがまったく
動作しないんですけど、仕様でしょうか?
borand c++ で試しても同じ結果でした。
0670デフォルトの名無しさんNGNG
C++相談室から誘導されてきました…

MSVC++6.0使用中なのですが、DLしたソースをコンパイルしようとしても、
「インクルードファイル「stdafx.h」がありません」エラーが出ます。
で、こいつについて調べ、プリコンパイル済ヘッダってコトまではわかったのですが、
どの資料を見ても、「自動で生成される」と、書いてありました。

で、VC++の設定いじってみて、「プリコンパイル済ヘッダを使用」にチェックも入れてみたのですが、コンパイルできません…
どなたか、対処法を教授ください…
0671デフォルトの名無しさんNGNG
>>669
どうも、DOS窓の仕様のようだな。
0672デフォルトの名無しさんNGNG
>>670
メンドクサイからstdafx.hが無いのなら作成して(中は空っぽでいいと思う)
すべての.cppファイル(または.c)の最初の行に
#include "stdafx.h"
を追加してコンパイルしてみ
0673デフォルトの名無しさんNGNG
ダイアログボックスのタイトルバーをドラッグしても動かせないんですが
どうやれば動くようになりますか?
0674デフォルトの名無しさんNGNG
>669
w2k系と、ANSY.sys(だっけな)がはいってない環境だと動かないらしいよ。
最近DOS窓でリバーシ作ったのでDOS窓で動いてるのは確認しました。(CPPじゃないけど。)
0675デフォルトの名無しさんNGNG
ANSI.sysでした。(名前間違ってただけで動く確証は・・・。)

#define locate(x,y) printf("\x1b[%02d;%02dH",y,x)
上のはリバーシの時に使ったマクロの一部。名前はBASIC使ってたときの名残です。
環境はME。
0676デフォルトの名無しさんNGNG
ウインドウに現れた画像結果の画像をファイルに書き出して
保存したいのですけどどうやってすればいいのでしょうか?

BITMAPINFOHEADERなるものを使うと思いますが
よくわかりません・・・
■ このスレッドは過去ログ倉庫に格納されています