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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。

  質問の仕方については次のページが大変参考になります。
  http://www.hyuki.com/writing/techask.html
  http://www.geocities.co.jp/Beautycare/4965/public/template.html

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

【前スレ】
★初心者にVisual C++を教えるスレ★ Part14
http://pc5.2ch.net/test/read.cgi/tech/1093672937/

過去スレ、関連スレなどは>>2-7ぐらい。
0002デフォルトの名無しさんNGNG
【過去スレ】
Part14 http://pc5.2ch.net/test/read.cgi/tech/1093672937/
Part13 http://pc5.2ch.net/test/read.cgi/tech/1089011118/
Part12 http://pc5.2ch.net/test/read.cgi/tech/1083585833/
Part11 http://pc5.2ch.net/test/read.cgi/tech/1077965179/
Part10 http://pc5.2ch.net/test/read.cgi/tech/1074933908/ ※
Part09 http://pc5.2ch.net/test/read.cgi/tech/1068983609/ ※
Part08 http://pc5.2ch.net/tech/kako/1063/10630/1063029371.html
Part07 http://pc5.2ch.net/tech/kako/1056/10562/1056280510.html
Part06 http://pc5.2ch.net/tech/kako/1052/10529/1052931903.html
Part05 http://pc5.2ch.net/tech/kako/1048/10486/1048698321.html
Part04 http://pc5.2ch.net/tech/kako/1044/10441/1044196393.html
Part03 http://pc5.2ch.net/tech/kako/1038/10381/1038160750.html
Part02 http://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part01 http://pc3.2ch.net/tech/kako/1023/10235/1023530449.html

※「いや〜、ごめんなさい」により、紛失の可能性。
0003デフォルトの名無しさんNGNG
【関連スレ】
■ MFC相談室 MFC12.dll■
http://pc5.2ch.net/test/read.cgi/tech/1096848771/l50

Win32API質問箱 Build23
http://pc5.2ch.net/test/read.cgi/tech/1095534704/l50

鬱だ氏のう DirectX (Part 15)
http://pc5.2ch.net/test/read.cgi/tech/1096649788/l50

C言語なら俺に聞け! Part 92
http://pc5.2ch.net/test/read.cgi/tech/1096696253/l50

C++相談室 part36
http://pc5.2ch.net/test/read.cgi/tech/1096304546/l50

ダディクールがC/C++の宿題を片づけます 32代目
http://pc5.2ch.net/test/read.cgi/tech/1097592876/l50

【初心者歓迎】C/C++室 Ver.10【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1097416187/l50
0004デフォルトの名無しさんNGNG
【関連サイト】
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/

MSDN ライブラリ
http://www.microsoft.com/japan/msdn/library/

Platform SDK Update
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

Google
http://www.google.co.jp/

【このスレの前身 VisualC++相談室 過去スレ】
part 1 http://piza.2ch.net/tech/kako/970/970607517.html
part 2 http://piza.2ch.net/tech/kako/981/981630730.html
part 3 http://piza2.2ch.net/tech/kako/993/993186053.html
part 4 http://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 http://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 http://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 http://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 http://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 http://pc5.2ch.net/tech/kako/1036/10368/1036897197.html
0005デフォルトの名無しさんNGNG
>>1
ナイスガイ乙
0006デフォルトの名無しさんNGNG
エディットコントロールに文字を転送して表示してるのですが
なぜかアルファベットが2バイト文字のようにすこし大きくなります。
表示された文字を別のメモ帳にコピペするとふつうの1バイト文字になります。なぜでしょうか?
お願いします。教えてください。お願いします。お願いします。お願いします。
0007デフォルトの名無しさんNGNG
(・∀・)ニヤニヤ
0008デフォルトの名無しさんNGNG
初心者の諸君。
VCなんて辞めておけ。
今ならまだ引き返せる。
BCBマジお勧め。
0009デフォルトの名無しさんNGNG
なにこの定期便>>8
0010デフォルトの名無しさんNGNG
BCBマジお勧め>>9
0011デフォルトの名無しさんNGNG
>>6
お前いい加減荒らしすぎ。通報されたくなきゃさっさとカエレハゲ。
0012デフォルトの名無しさんNGNG
BCBってなんですか?
VCに比べてどこが良くて、どこが悪いんですか?
0013デフォルトの名無しさんNGNG
パチモノじゃね?
値段安いのかも
VCタダで手に入るしどうでもいい
0014デフォルトの名無しさんNGNG
>>13
思いっきり通報しますた。
0015デフォルトの名無しさんNGNG
ダイアログベース上に配置されているコントロールで、
ある特定のエディットコントロールの書体を変更したいのですが、
どのように記述すればよろしいのでしょうか?
宜しくお願いします。m(_ _)m
0016デフォルトの名無しさんNGNG
マルチウザイ
0017デフォルトの名無しさんNGNG
>>15
そんなことはできない。
わかったらあちらへどうぞ        |出口|
0018デフォルトの名無しさんNGNG
  
    |出口|  λ...
0019デフォルトの名無しさんNGNG
初心者で申し訳ないです。
ダイアログ付きDLLなのですが、
ダイアログの背景色を変更したいのです。
検索してみたところOnCtlColorや
InitInstanceでSetDialogBkColorなどを
使用するみたいですが、DLLにはOnCtlColor
やInitInstanceが存在しないので、
その方法ではできませんでした。
ご教授願います。
0020デフォルトの名無しさんNGNG
>>15
SetFont()
0021デフォルトの名無しさんNGNG
あるよ
0022デフォルトの名無しさんNGNG
VS2002を使っています。(MFCアプリ)
あるベンダーが提供するActiveXコントロール、COM(両者の違いが良く分からん)
を利用する際、クラスの追加で
「ActiveXコントロールのMFCクラス」、「TypeLibからのMFCクラス」
のどちらで現プロジェクトに取り込むのでしょうか?
0023デフォルトの名無しさんNGNG
ActiveXコントロールのMFCクラス
002415NGNG
>>20
できました!!
ほんとにどうも!
0025デフォルトの名無しさんNGNG
>>23
TypeLibからのMFCクラスってのはどのようなときに
使うのですか?
0026デフォルトの名無しさんNGNG
超初心者的質問です。
CDocumentから派生したCHogeDocumentクラス内でstd::vectorを使おうと思っています。
そこで、質問です。
どこに、#include <vector>を書けばいいのですか?
CHogeDocument.hでも、stdafx.hのどちらに書いても問題なさそうなんですが
どっちがいいのですか?
0027デフォルトの名無しさんNGNG
>>26
よく使うもんだしstdafx.hの方に入れとけばいいなじゃないかな。
0028デフォルトの名無しさんNGNG
ホントカネー
0029デフォルトの名無しさんNGNG
ホントダヨー
0030デフォルトの名無しさんNGNG
stdafx.hに入れることでのデメリットを説明できないんだねw
0031デフォルトの名無しさんNGNG
↑よい子のみんなはこういう馬鹿に釣られないこと。
0032デフォルトの名無しさんNGNG
コンソールアプリについて質問です。
普通にプログラムを作った場合、実行終了直後にコンソール画面が閉じてしまいます。
今はsystem("PAUSE")を末尾に入れて対処していますが、
デフォルトでコンソール画面を閉じなくする(キー入力待機にする)ことはできないのでしょうか?
0033デフォルトの名無しさんNGNG
>>32
そういうでたらめなことはやめれ
実行終了して閉じないのはバグ
Windowsについてるコンソールアプリ使ってみろ
003432NGNG
>>33
なるほど、確かにその通りですね。
結果確認のために毎回コマンドプロンプトから実行するのも億劫だったので・・・
以後気をつけます。ありがとうございました。
0035デフォルトの名無しさんNGNG
メニュークリック時のハンドラや、View上のイベントハンドラはどのクラスに
書きますか?
どれか一つのクラスにすべて書いたほうがあとあと保守し易いと思うのですが
間違っていますか?
0036デフォルトの名無しさんNGNG
>>35
そういう考えならクラスは使わない方がいい。
0037デフォルトの名無しさんNGNG
最適化云々でどういう変化があるのかをじかに確かめたいのですが
バイナリファイルから直で混合モードを表示するような方法はありますか?

もしくは、実行ファイルをアセンブリで表示してくれるような
お勧めソフトなどがあれば紹介お願いします
0038デフォルトの名無しさんNGNG
-FAでコンパイルすればいいのに
0039デフォルトの名無しさんNGNG
アセンブリで表示するのは簡単だけど
0040デフォルトの名無しさんNGNG
>>39
それお願いします
0041デフォルトの名無しさんNGNG
例
次のコマンドは、ソース コードとマシン語コードを含むリスティング ファイル HELLO.COD を作成します。

CL /FAcs HELLO.CPP

0042デフォルトの名無しさんNGNG
ご教授願います。
MFCで開発を行っております。
一つのスタティックテキストで
1行目と2行目のフォントを変える
みたいなことできますか?
お願いします。
0043デフォルトの名無しさんNGNG
できません
0044デフォルトの名無しさんNGNG
>>43
ありがとうございます。
フォントを変えたい場合は
テキストを幾つも並べるしか
方法はないのでしょうか?
0045デフォルトの名無しさんNGNG
そうです。

ってか、オーナードローって手もあるか。
0046デフォルトの名無しさんNGNG
>>35
普通はユーザからの応答ハンドラはCMainFrameに書くのが普通だよ
0047デフォルトの名無しさんNGNG
>>46
...
0048デフォルトの名無しさんNGNG
VC++でアウトプットウィンドウに文字列を出力する命令なんだっけ?
ど忘れしちゃった
0049デフォルトの名無しさんNGNG
SetOutputText
0050デフォルトの名無しさんNGNG
TRACE
0051デフォルトの名無しさんNGNG
thanx
0052デフォルトの名無しさんNGNG
#include <memory>

struct A { virtual ~A() {} };
class B : public A {};
class C : public A {};

int main(int argc, char* argv[]) {
int i = 0;
std::auto_ptr<A> p(i == 0 ? new B : new C);
return 0;
}

VC++6SP6
このコードをコンパイルすると
error C2446: ':' : 'class C *' 型から 'class B *' 型への変換ができません。指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。
error C2664: '__thiscall std::auto_ptr<struct A>::std::auto_ptr<struct A>(struct A *)' : 1 番目の引数を '' から 'struct A *' に変換できません。
と出ます。理由がわかりません。
もしかしてコンパイラのバグなのでしょうか?
0053デフォルトの名無しさんNGNG
>>52
C++スレで聞いたほうがいい。
0054デフォルトの名無しさんNGNG
それくらい判断できないアホはVC6使うな。
何か引っかかる所ががあるたびにコンパイラの所為にするだろ、おまえは。

VC6は実装も古くて満足にC++として使う事ができない場面も多々あるけど
おまえよりは馬鹿じゃない。
005552NGNG
http://pc5.2ch.net/test/read.cgi/tech/1096304546/855
>コンパイラは x ? y : zという演算の型を,
>yとzの型を元にいくつかの複雑なルールに従って決めようとします.
>そしてyとzの型が関係の無い型のポインタ型であるときには,
>この演算結果の型を決めることが出来ずコンパイルエラーとなります.

ということでした。
この規則を知らなかったためコンパイラを疑ってしまいました。
0056デフォルトの名無しさんNGNG
リソースビューで新規に.rcファイルを作成し
リソースを追加したいのにリソースビューを開いた所で「他のエディタで
使用中」という文が出ていて追加できないのですが
原因は何なんでしょうか。リソースを他のプログラムで使ってるわけでも
ないのですが。。。再起動して試したけどダメでした。
0057デフォルトの名無しさんNGNG
>>56
おもしろい
天然ですか?
0058デフォルトの名無しさんNGNG
新規作成の
スケルトン作成時に設定した
拡張子、最大、最小化ボタン等の有無の変更は
後からできないのでしょうか。
0059デフォルトの名無しさんNGNG
拡張子⇒リソースのString Table
ボタン⇒PreCreateWindow
006058NGNG
ありがとうございます
0061デフォルトの名無しさんNGNG
ダイアログベースプラグラムで、二つのエディットコントロールから数値データをそれぞれ一つずつ、
計二つ読み込み、加算、減算、乗算、除算などを行い、三つ目のエディットコントロールに出力する、
というプログラムを作りたいと思っています(ようは電卓を作りたい)。

一応ヘルプを読みながら頑張ってみたのですが、どうも上手くかけません。
こんなもんこうすりゃいいじゃないか、という点がありましたら突っ込みお願いします。

void CSumDlg::OnBnClickedButton1()
{
// TODO : ここにコントロール通知ハンドラ コードを追加します。
CString ss1,ss2,ss3;
int i;
double a,b;
char ch[30];

Edit1.GetWindowText(ss1);
Edit2.GetWindowText(ss2);
a = atof(ss1);
b = atof(ss2);
b = a+b;
_gcvt(b,10,ch);
ss3 = ch;

i = ss3.GetLength();
if(ss3.GetAt(i-1) == '.') ss3 = ss3.Trim('.');

Edit3.SetWindowText(ss3);
}
006261NGNG
>>60に補足
プログラム自体は一応動いています。
ただもっと綺麗にかけるんじゃないだろうか?
という疑問があったので質問させてもらいました。
0063デフォルトの名無しさんNGNG
>>61
数字なら最初から数字で読めば?
006461NGNG
>>63
レスありがとうございます。
最初から数値で読み込むにはどんな関数などを使えばよいのでしょうか?
エディットコントロールの説明をヘルプで見てもGetWindowText()以外の関数が
見つからなかったので、最初は文字列で読むしかないのかと思っていました・・・
0065デフォルトの名無しさんNGNG
>>61
//関数内部のロジックを整理しただけ。
void CSumDlg::OnBnClickedButton1()
{
CString ss1,ss2,ss3;

Edit1.GetWindowText(ss1);
Edit2.GetWindowText(ss2);
ss3.Format("%g", atof(ss1) + atof(ss2));
Edit3.SetWindowText(ss3);
}
006661NGNG
>>65
どうもありがとうございます!
自分のプログラムに置き換えたところ、ちゃんと動きました。
ヘルプで調べてみたのですがFormat()メソッドは
CStringオブジェクトにatof(ss1) + atof(ss2)というようなデータを書き込んでおくことができる
という解釈でよいのでしょうか?

ああ、なんかヘルプをあんまり使いこなせてないです・・・
0067デフォルトの名無しさんNGNG
>>66
printfみたいに書式付で整形できる。
0068デフォルトの名無しさんNGNG
>>61
なんでそんなプログラムを作成する必要があるの?
電卓使えばよくね?
006961NGNG
>>67
ありがとうございます。
%g以外にも%dや%sなんかのフォーマット指定子を使って、
整数や文字列をオブジェクトに書き込める。
といように、printfと似たようなことをできるということでよいのでしょうか?
なんかこれだけでもすごい前進したような気がします。

>>68
確かに仰るとおりです(笑
まだ初めて1週間も経ってないので勉強の為と思って作ってみました。

すっかりお世話になりました、皆さんどうもありがとうございました。
0070デフォルトの名無しさんNGNG
VS2002で
コマンドラインからコンパイルしたくて
cl.exe hoge.cpp
とタイプしてもなにも出力されません。
どうすればいいのですか?
0071デフォルトの名無しさんNGNG
.netではコマンドラインからコンパイルはできないよ
0072デフォルトの名無しさんNGNG
初心者で申し訳ないです。
スタティックテキストで一番端にいったとき
折り返したいのですが、普通にダイアログに
スタティックテキストをはった状態ですと
折り返しが適用されていません。
なにかいい方法はありませんでしょうか?
0073デフォルトの名無しさんNGNG
読取専用のエディットボックス使うとか。
0074デフォルトの名無しさんNGNG
>>72
ウィンドウスタイルにSS_LEFTを付ける。
0075デフォルトの名無しさんNGNG
>>74
そのやり方もう少し詳しく教えていただいて
よろしいですか?
0076デフォルトの名無しさんNGNG
>>75
開発環境は何だね?
0077デフォルトの名無しさんNGNG
MFC Appwizard(EXE)のダイアログベースのアプリケーションです。
現在単純にダイアログにスタティックテキストを貼り付けている状態で、
このスタティックテキストを端にいったら折り返し表示したいのです。
0078デフォルトの名無しさんNGNG
VC7.1を使ってると勝手に仮定するけど、
スタティックコントロールのプロパティが下のようになってるか確認する。

"No Wrap"=False
"Simple"=False
0079デフォルトの名無しさんNGNG
すみません。
環境はVisual Studio6.0のVisual C++で開発を
行っています。なのでVC6.0かな?
今週VC始めたばかりで、見当外れなこといってたら
ごめんなさい。
0080デフォルトの名無しさんNGNG
いま手元にVC6が無いから答えられない  w

"折り返し"みたいなプロパティがあったと思うけど・・・
0081デフォルトの名無しさんNGNG
>>80
色々とありがとうございました。
プロパティがないっぽいんです・・・。
0082デフォルトの名無しさんNGNG
コンボボックスにtextを表示させるのは、SetWindowTextを使うことは
なんとか分かったのですが、これだと一つしか表示されません。
いくつかを表示させるにはどうすればいいですか?
0083デフォルトの名無しさんNGNG
SendMessage(hcombo , CB_ADDSTRING , 0 , (LPARAM)str);
かな?
0084デフォルトの名無しさんNGNG
CComboBox::AddString()
0085デフォルトの名無しさんNGNG
AddStringを使ってみたものの、何も表示されません。
何か間違ってるでしょうか?
0086デフォルトの名無しさんNGNG
エスパーさん出番ですよ。
0087デフォルトの名無しさんNGNG
コンボボックスの高さが最小で、追加した文字列が見えない。
0088デフォルトの名無しさんNGNG
>>85
上手く行かない部分のコードを晒したら?
0089デフォルトの名無しさんNGNG
>>81
ダイアログエディタでスタティックを右クリックしてプロパティウィンドウを出す。
スタイルタブをクリックすると、「標準」と「ワードラップなし」がチェックされていたら外す。

>>82
>87の状況ならダイアログエディタでコンボボックスの▼をクリックしてポップアップ枠を出す。
枠の下側をドラッグで高さを調整する。
0090デフォルトの名無しさんNGNG
82です。どうもありがとうございました。皆さんのおかげで何とか解決することが
できました。本当に助かりました。
0091デフォルトの名無しさんNGNG
ご教授願います。
MFCで開発を行っているんですが
別のプロセス(EXE)が起動しているか
確認する方法ってありますでしょうか?
その別のEXEが起動した後に自分のEXEを
起動させないといけないんです。
よろしくお願いいたします。
0092デフォルトの名無しさんNGNG
>>91
psapiを使ってプロセス一覧を列挙して
該当するプロセスがあるかを調べる。

別プロセスのアプリがウインドウを出してたりするなら
そのウインドウが存在するかで判断してもいいかも。
0093デフォルトの名無しさんNGNG
>>92
ありがとうございます。
psapiの使い方もう少し詳しく
教えていただいてよろしいでしょうか?
0094デフォルトの名無しさんNGNG
>>93
それくらい検索しろよ
0095デフォルトの名無しさんNGNG
いやです。
ググって下さい。
0096デフォルトの名無しさんNGNG
すみません。
楽しようとしてしまいました。
どうもすみませんでした。
0097デフォルトの名無しさんNGNG
コンボボックスでいくつかのデータを表示して、
その後に何を選らんだか分かるようにするには何を使えばいいですか?
009897NGNG
すみません。
お前らなんかに尋ねるほどのことでもありませんでした。
0099デフォルトの名無しさんNGNG
↑こういうことやめてください。真剣に質問してるのに。
0100デフォルトの名無しさんNGNG
皆さんこんにちは。
弟が席を離れている間に弟のパソコンを覗いてみたら、
ここが表示されていました。
皆さん何やら難しい話をされているようですね。
弟は専門学校でパソコンを使ってるようです。
弟がこちらで質問させていただいてるかもしれませんが、
どうぞよろしくお願いいたします。
それでは。
010197NGNG
ヘルプを見たらすぐに自己解決しました。
お騒がせしました。
0102デフォルトの名無しさんNGNG
101 kisama dareda
010397NGNG
ore ore
0104デフォルトの名無しさんNGNG
うぎゃー!!!
席を離れてる間に・・・おまえら>>100のことは忘れてくれ。
姉にはいたずらしないように言っておく。つーかPCから離れる前にブラウザ閉じておこう・・・

>>97
CBN_SELCHANGE
0105デフォルトの名無しさんNGNG
バカ、むしろ姉を出せ。紹介しろ。
0106デフォルトの名無しさんNGNG
おいおい
0107デフォルトの名無しさんNGNG
100がage、104がsageクキにしても2chブラウザにしても、釣りであることは疑う余地が無い
0108デフォルトの名無しさんNGNG
sageってクッキーに記録されたっけ?
0109デフォルトの名無しさんNGNG
100と104のようなやり取りもっとキボン。(違)
0110デフォルトの名無しさんNGNG
俺もエロ画像掲示板開いたまま寝ちまったことがあるな・・・
0111デフォルトの名無しさんNGNG
TypeLib(Type Library)ってなんですか?
ActiveXコントロールとどう違うの?
0112デフォルトの名無しさんNGNG
>>111
ActiveXコントロールインターフェースの詳細が書かれた物
と理解してるが俺もよくわからん。
0113デフォルトの名無しさんNGNG
キーボードから5つの数字を取り込み、それらのうち最大の数、最小の数を画面表示するプログラムって作れる人いますか?(Visual Basicです)
0114デフォルトの名無しさんNGNG
>>113
おまえ今笑いの神様降りてきてるぞ。
0115デフォルトの名無しさんNGNG
>>113
そんな高度な事できる人はいませんよ
0116デフォルトの名無しさんNGNG
>>114
あなたにも
0117デフォルトの名無しさんNGNG
C***Viewのコンストラクタはどこから呼ばれてるの?
MFCのソース追っかけようとしてるがあまりにも巨大で
自分が何を探してるかわかなくなっちゃったw
0118デフォルトの名無しさんNGNG
>>117
答えてあげようとしたけどwがむかついたのでやめた
0119デフォルトの名無しさんNGNG
うはwwwおkwwwww
0120デフォルトの名無しさんNGNG
>>118は実は知らない。
0121デフォルトの名無しさんNGNG
>>118
しらねーなら口出すなボケ
0122デフォルトの名無しさんNGNG
CMainFrame.cppにC*****View.hを
includeするとビルドできないの?
0123デフォルトの名無しさんNGNG
>>117
ソース追いかける前に基本構造ぐらい知らないと
>>122
できる
0124デフォルトの名無しさんNGNG
ダイアログベースでフラットツールバーの様なボタンを
表現するにはどうすれば良いでしょうか?
マウスカーソルがボタンの上にきた時、
ボタンの背景色を明るくさせたいのです。
このボタンは、バラバラに配置したいので、
ツールバーそのものを使用するのは避けたいのです。
0125デフォルトの名無しさんNGNG
>>124
プロパティでアイコンかビットマップにしてマウスオーバーで絵を差し替えれば
良いんじゃないの?
0126124NGNG
>>125
やはり独自で実装するしかなさそうですね。
MFCの場合だとマウスが上に来た時 CButton::OnMouseMove()
で差替えるとして、マウスがボタンから外れた時は、
どの関数(メッセージ)で差替えれば良いでしょうか?
0127デフォルトの名無しさんNGNG
CRect rct;
GetWindowRect(&rct);
CPoint ScrnPoint = rct.TopLeft() + point;

if(rct.PtInRect(ScrnPoint)){
SetCapture();
SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED));
}
else{
ReleaseCapture();
SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLUE));
}
0128デフォルトの名無しさんNGNG
点滅するのはフラグ判定入れたりして防げば良いかと思う
0129124NGNG
>>127
ありがとうございます。
ばっちりできました!
助かりました。
0130rNGNG
make について質問なのですが
一部のファイルだけオプティマイズしたく
(他は
.c.o:
${CC} -o $@ ${CFLAGS} $< )

OPTOBJS:
${CC} -o $@ -O ${CFLAGS} $<

のように書いているのですが
(OPTOBJSだけオプティマイズ)
うまくいきません

どのようにすればよいでしょうか
0131rNGNG
すみません
書き込む場所間違えました
0132デフォルトの名無しさんNGNG
スレッド関連が APC、CRTで
CreateThread, CreateThreadEx, _beginthread, _beginthreadex
と4系統ぐらいありますが
どれを使えばよいのか悩んでしまいます
それぞれの違いは何ですか?
また 外部よりスレッドをExitさせた時にメモリリークするとか聞きましたが
どうすればよいのでしょうか
エロい人 教えて下さい
0133デフォルトの名無しさんNGNG
知ってるがエロくないので答えない。
0134デフォルトの名無しさんNGNG
132
↓の解説
ttp://www.microsoft.com/japan/developer/library/vccore/_crt__beginthread.2c_._beginthreadex.htm
0135デフォルトの名無しさんNGNG
>>132
基本的に、外部からスレッドを終了させるのは得策ではない。
適当にメッセージでも投げて、終了して貰うのが一般的。
#つまり、スレッド側でメッセージを拾ったら自殺するってことね。
0136デフォルトの名無しさんNGNG
スレッドに練炭渡せば死んでくれるよ
0137デフォルトの名無しさんNGNG
135はエロい人
0138デフォルトの名無しさんNGNG
MFC AppウィザードでSDIを選んだんですが、MDIに変更することは出来ないの?
最初から作り直すしかないのかな?
0139デフォルトの名無しさんNGNG
>>138
知ってればできるけど知らないんじゃできない。
0140デフォルトの名無しさんNGNG
C***App内のメソッドからC***Docのポインタを取得したいのですが
どうすればいいですか?
0141デフォルトの名無しさんNGNG
>>140
CWinApp の m_pDocManager が CDocumentTemplate のリストを持っている。
CDocumentTemplate は自分が作成した CDocument のリストを持っている。
0142デフォルトの名無しさんNGNG
POSITION position;
position = theApp.GetFirstDocTemplatePosition();
CDocTemplate* DocTemplate = theApp.GetNextDocTemplate(position);

position = DocTemplate->GetFirstDocPosition();
C***Doc* doc = (C***Doc*)DocTemplate->GetNextDoc(position);

こんな感じに書いてみましたがOKでしょうか?
0143デフォルトの名無しさんNGNG
ううう、気持ち悪いから"C***Doc"なんて書き方やめようよ。
0144デフォルトの名無しさんNGNG
winmm.lib
をリンクしたいのですがどこで設定するのでしょうか?
VS2002を使っています。
もうそろそろ終電なんです。まじ助けて・・・
0145デフォルトの名無しさんNGNG
#pragma comment( lib, "winmm.lib" )

をコードの好きなところに書く
0146デフォルトの名無しさんNGNG
>>144
泊まればいいじゃねぇか
0147デフォルトの名無しさんNGNG
VS2002でC++って負け犬・・・
0148デフォルトの名無しさんNGNG
>>147
何で?
0149デフォルトの名無しさんNGNG
あ、ごめん、負け組みだ・・
0150デフォルトの名無しさんNGNG
>>147
何で?
0151デフォルトの名無しさんNGNG
>>147
Why not?
0152デフォルトの名無しさんNGNG
2002←負け●
2003←勝ち●

●にお好きな言葉をどうぞ。
0153デフォルトの名無しさんNGNG
C++なんて時代遅れ
今時`ちょべりば'なんて言えないでしょ?
0154デフォルトの名無しさんNGNG
ここは、仕事などなどでVC++を使用せざる得ない奴が集まるスレだろ。
他の言語が優れているのはみんな良く知ってるからよそでやってくれ。
0155デフォルトの名無しさんNGNG
どの言語が優れているのか
ではなく
どの言語がその目的に相応しいか
だ。
0156デフォルトの名無しさんNGNG
>>153の言いたい事は
"新しい"か"古い"かの違いだろ

彼は新しい言語に触って、
自分は時代の流れに乗っている、とご満悦なんでしょうね^^
0157デフォルトの名無しさんNGNG
VC++ってBCBみたいな編集可能なグリッドコントロールってないの?
まさか、自作しなきゃいけないとか、そんなショボイ開発環境じゃないよね
0158デフォルトの名無しさんNGNG
残念ながら、そのしょぼい開発環境なんです。
0159デフォルトの名無しさんNGNG
デザインが開発だと思ってる馬鹿ハケーン
0160デフォルトの名無しさんNGNG
顧客が一番ケチつけやすいのも画面だけどな
0161デフォルトの名無しさんNGNG
>>159
UIがしょぼいとアプリケーション自体ショボイと思われても仕方ない
どんなにすごいアルゴリズムを実装しても客先には見えない
0162デフォルトの名無しさんNGNG
見た目は大事よ
0163デフォルトの名無しさんNGNG
裏を返せば優秀なデザイナーがいればいくらでも金騙し取れるってわけか('A`)
0164デフォルトの名無しさんNGNG
昨日からC++を勉強し始めたのですが、小林健一郎の、「これならわかるC++」に書かれている

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

class Kneko
{
    string name;
public:
    void setname(string n){
    name =n ;
}
    void naku() const {
    cout << "にゃー。俺様は" << name << "だ" <<endl;
}
};
int main()
{
    Kneko x;
    x.naku();

    x.setname("タマ");
    x.naku();
}

を打ち込んだのですがVisual C++でビルドしようとすると

c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\cstdlib(19): error C2143: 構文エラー : '{' が ':' の前にありません。

というメッセージが出てきてエラーとなってしまいます。どこがおかしいのでしょうか?
0165デフォルトの名無しさんNGNG
悪いが、コピペしてやってみたがエラーはでなかったぞ
オリジナル(コンパイルした奴)と、ここに書いたソースと比較するべし

っと、その前にそのエラーメッセージをよく読んでおくように
0166デフォルトの名無しさんNGNG
>>164
あんたの頭。
0167デフォルトの名無しさんNGNG
>>164
#include "stdafx.h"

#include <iostream>
#include <string>
かも
0168デフォルトの名無しさんNGNG
>>164
次からC++スレ行け
お前はここに来なくていいよ
0169164NGNG
>>165
コピペしても同じエラーが出てしまいました。エラーメッセージを見ると" {  "が" : "の前にないのが原因と思われるのですが
本に書かれているプログラムを見ても" {  "の後ろに" : "がある箇所がなくて悩んでます

>>167
プログラムの文頭に#include "stdafx.h"を付け足しても
 fatal error C1083: インクルード ファイルを開けません。'stdafx.h': No such file or directory
というメッセージがでてしまって駄目でした

>>168
スレ違いの質問だったらスマンです
0170デフォルトの名無しさんNGNG
>>169
ファイルの拡張子を .cpp にしてください。
そしたら氏ね。
0171デフォルトの名無しさんNGNG
>>170
なるほど
それは盲点だった

>>169
【初心者歓迎】C/C++室 Ver.10【環境依存OK】
ttp://pc5.2ch.net/test/read.cgi/tech/1097416187/l50
ベストはここかな?
0172164NGNG
>>170
.cppにしたら無事にできました。
お手数かけてすみません、氏んできます。
0173デフォルトの名無しさんNGNG
>>164さんいますか?
0174デフォルトの名無しさんNGNG
        ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!出てこい>>164
     「 ⌒ ̄ |   |    ||   (´Д` )    \___________
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | | >>173
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |
0175デフォルトの名無しさんNGNG
>>161
VCじゃろくなUI作れないよね
0176デフォルトの名無しさんNGNG
>>175
いいえ。
0177デフォルトの名無しさんNGNG
>>175が言ってる「作る」はポトペタのことだろうな
0178デフォルトの名無しさんNGNG
というか「簡単に作れない」といいたいのでしょう。
それには同意する。
0179デフォルトの名無しさんNGNG
まぁ、私もGTK+でのGUI作りでもglade使ってるしなぁ…
0180デフォルトの名無しさんNGNG
VC++6.0を使っているのですが、template classを使うと
コンパイルエラーを吐かないのですが、なぜですか?
tempalte <class T>
class CHoge
{
T m_value;
public:
CHoge():m_valueeeeee(0);{}
};
なんてのでエラーが出ないんです。
0181デフォルトの名無しさんNGNG
>>180
テンプレートをインスタンス化して使うときに出るんでは?
VC6 の template は、宣言だけではエラー出さないことがあったと思う。
0182デフォルトの名無しさんNGNG
>>181
あっそうなんですか、アドバイスthanx
0183デフォルトの名無しさんNGNG
すいません。もう一つ質問です.
template class の SerializeのIMPLEMENT_SERIALはどう書けばいいのですか?

IMPLEMENT_SERIAL(CData, CObject, 1)
なんて書いたら怒られました。

CDataがtemplate classです。
0184デフォルトの名無しさんNGNG
>>180
さすがにそこまでひどいのはエラーになると思うが・・・
(エラーにしないほうが難しい)
0185デフォルトの名無しさんNGNG
>>183
MFCのマクロはほとんどtemplateに対応していない。
自分で作るか、template をインスタンス化(だっけ?言葉忘れた)した個別のクラスごとにIMPLEMENTするよろし。
0186デフォルトの名無しさんNGNG
CFileDialogでダイアログ出して関連ファイルを表示
する処理(例えばファイル名*.bmpだけ表示)
をCFileDialogダイアログ出さないでファイル名と
ファイルのパスを取得するにはどうすればいいですか?
0187デフォルトの名無しさんNGNG
>>186
CFileFind
0188デフォルトの名無しさんNGNG
>>186
ダイアログも出ないのにユーザーはどうやってファイルを指定すればいいのですか?
0189デフォルトの名無しさんNGNG
CFileDialogでダイアログを表示させないで
関係する拡張子のファイルの名前とパスを取得
するにはどうしたらいいのでしょうか?
0190デフォルトの名無しさんNGNG
>>189
CFileDialogでは無理
0191デフォルトの名無しさんNGNG
189と189は重複。
CFileFindでいけそうです。さんくす
>188 ファイル名表示してキーボードで選択を考えてます。
0192デフォルトの名無しさんNGNG
>>188
エクスプローラからファイルをDrag&Drop
0193デフォルトの名無しさんNGNG
メモ帳とかって矢印を右に動かすと1文字ずつカーソルがずれていきますよね。
これを決まったバイト数ごとにずれるようにできませんか?
0194193NGNG
すいません、上の質問はもういいです。メモ帳って何も
表示されてないところはカーソルの操作ができませんよね。
あんな感じで特定の文字に対してだけ操作できなくしたいのですがどうすればいいでしょうか
0195デフォルトの名無しさんNGNG
>>194
それはエディタを作ろうとする上での話か?
どんなソフトを作ろうとしてるのか分からないと答えようがない
0196デフォルトの名無しさんNGNG
神様、出番ですよ
0197193NGNG
そうです、エディタです
0198デフォルトの名無しさんNGNG
そういうふうに作ればできる
0199193NGNG
>>198
知らないのなら黙ってて下さい
0200デフォルトの名無しさんNGNG
つーか何がわらないのか具体的に説明しないと
>>198のような説明しか出来ないと思うけど。
0201193NGNG
>>199は偽者ですので。何がわからないというか
マウスカーソルとかメモ帳としての機能みたいなのは
エディットコントロールが処理してくれてるので具体的に
何がわからないのかもわかりません。ただエディットコントロールに
表示されてる特定の文字だけにマウスカーソルのポインターが移動しないようにしたいのです。
0202デフォルトの名無しさんNGNG
あんまり特殊な機能はEdit自体を自作するしかないかもめ
0203199NGNG
>>201
EN_SELCHANGEをキャッチして、特定の文字にキャレットが来たかどうかを判定する
0204デフォルトの名無しさんNGNG
>>193
だから、具体的に何がやりたいのか書いてみ。
場合によってはそれをEditで実現すると言う設計そのものが拙いかも知らんし。
0205193NGNG
( ´,_ゝ`)プッ、こんだけ説明してまだ説明求めるのかよ。もう自分で考えるからいいですよ(プゲラッチョ
0206デフォルトの名無しさんNGNG
自作すればできるよ
0207193NGNG
やっぱり、ここの人たちはレベル低いですね。
初心者の質問にも答えられないくせに偉そうにしているし。
もう来ません。
0208199NGNG
>>205 >>207
EN_SELCHANGEをキャッチして、特定の文字にキャレットが来たかどうかを判定する
0209デフォルトの名無しさんNGNG
EN_SELCHANGEがあるのはリッチ・エディットでは?

それをエディットでやるならKeyUpおよびLButtonUpで呼んで判定すればできるけど
0210デフォルトの名無しさんNGNG
>>207
初心者の質問の方が難しいだろ。
パソコン始めて使う人間に教えるとしたら、
電源の入れ方、マウスの使い方から始まって
延々と説明しなきゃならん。
0211デフォルトの名無しさんNGNG
EN_CHANGEだろ。

おまえらいい加減にレスしすぎ。
0212デフォルトの名無しさんNGNG
どっちみちCEditじゃ無理
0213デフォルトの名無しさんNGNG
>>212 ウソツクナ
0214デフォルトの名無しさんNGNG
盛り上がってまいりますた(`・ω・´)
0215デフォルトの名無しさんNGNG
自作自演乙
0216デフォルトの名無しさんNGNG
>>211
EN_CHANGEでは意味が違うだろ
0217デフォルトの名無しさんNGNG
>>215
具体的にどれが?
0218デフォルトの名無しさんNGNG
209から211は全部俺が書いた
0219デフォルトの名無しさんNGNG
ちょっと前にこちらか、別のC++初心者系スレで紹介されていたHPを探しています。
確か「本も出してるし、わかりやすそうじゃないの?」的な感じで紹介されていたと思います。
死ぬほどログ漁ってますが、さっぱり見つかりません。どなたかご存じの方
いらっしゃいましたら、教えてください。よろしくお願い致します。
0220デフォルトの名無しさんNGNG
>>219
もそっと具体的に。
#まさか猫じゃないだろうな。
0221デフォルトの名無しさんNGNG
VC++.net2002
でビルドすると出力ウィンドがアクティブになるじゃないですか
いちいちマウスでエディタ部分をクリックするのが面倒なんですが
キーボードできませんか?
0222デフォルトの名無しさんNGNG
>>193
決まったバイト数ごとにずれるようにするのは作ったらできた。
特定の文字に対してだけ操作できなくも作ればできる。
方法は教えない。
0223デフォルトの名無しさんNGNG
>>221
Ctrl+Tab
Ctrl+Tab
0224デフォルトの名無しさんNGNG
>>223
うそつくなよ
0225デフォルトの名無しさんNGNG
>>220
レスサンクスですm(._.)mペコ
猫の所じゃないです。もうちっとこぎれいな感じで(失礼>猫さん)、
最初ちらっと見たところでは、トップページの上半分に各ページへのリンク、
下に本の写真が載っていた気が。「○○出版から発売中」みたいな感じで。
0226デフォルトの名無しさんNGNG
>>224
現物のプログラムあるぞ
0227デフォルトの名無しさんNGNG
>>221
Escをおしなよ
0228219=225NGNG
みつかりました。
ご協力いただきまして、ありがとうございました。
自宅に帰ってキャッシュ漁ったら、発見できました。

http://pc5.2ch.net/test/read.cgi/tech/1097416187/47
信じられないくらい初心者向けに書いてある(気がする)ので参考にしようと
思っておりました。
ありがとうございました。
0229デフォルトの名無しさんNGNG
親ウィンドウの下にコントロールを配置して、コントロール内で左クリックしたら
処理を実行するようにしたいのですが、コントロールと親ウィンドウを区別できないので
親ウィンドウ上でクリックした場合しか処理が実行されません。↓これ

case WM_LBUTTONDOWN:
〜処理〜
break;

これをコントロール内でクリックした場合のみ、処理を実行できるようにしてください。お願いします
0230デフォルトの名無しさんNGNG
WM_NOTIFY
を処理しましょう
0231デフォルトの名無しさんNGNG
初心者で申し訳ないです。
Visual C++6.0のMFCで開発を行っております。
サーバからローカルへファイルをコピーしたい
のですが、CopyFile関数を使用してもうまくいき
ません。ユーザ名やパスワードも必要になってくる
と思います。なにかいい方法はありませんでしょうか?
0232デフォルトの名無しさんNGNG
初心者で申し訳ないです。
Visual C++6.0のMFCで開発を行っております。
メニューをクリックした際のイベントハンドラはどのクラスに実装するのが
普通なのでしょうか?
どのクラスにも実装できるので迷っています。
おそらく状況によるなんて回答が来そうですが
であれば何を基準に判断するのでしょうか?
0233デフォルトの名無しさんNGNG
>>232
そのメニューコマンドの処理内容で。
例えばペイントソフトで「拡大表示」ならビューの仕事。
0234デフォルトの名無しさんNGNG
例えば「閉じる」ならダイアログクラスで。
0235デフォルトの名無しさんNGNG
>>233
確かに拡大表示自体はViewの仕事ですが、ユーザーからの拡大指示を受け付けるのは
AppもしくはFrameの仕事と言ってもいいのでは?
0236デフォルトの名無しさんNGNG
>>235
電話で注文受ける人と配達する人は別だろ
ひとりしかいなきゃしょうがないけど
0237デフォルトの名無しさんNGNG
VC++でインターネットに公開しても恥ずかしくない程度の
Windowsアプリケーションをかける人ってどの位いるの?

テキストエディタ一つにしたってインターネットに公開して
使ってもらう為には秀丸、QX、ViVi等の有力テキストエディタと
勝負するには相当の知識が必要だよね

この板やMLで偉そうにしてる人、そこんとこ
どうよ?
0238デフォルトの名無しさんNGNG
>勝負するには相当の知識が必要だよね
なんで?

相当の時間なら必要だけど
0239デフォルトの名無しさんNGNG
じゃ、おまいは時間さえあれば勝負できるようなものが
作れるのかと・・・

だったら、2chやってねーで、シェアウェア書いたほうが得だぞ
0240デフォルトの名無しさんNGNG
>>237
技術力があったらテキストエディタ作らんといかんのか?
そんなすでにあるものより他に役に立ちそうなもの作った方がいいと思う。
0241デフォルトの名無しさんNGNG
>>239
時間さえあればなんて言ってない。
『相当』の知識は必要は必要ない。

そうとう(サウタウ‥)【相当】
程度・度合がかなりであること。はなはだしいさま。
0242デフォルトの名無しさんNGNG
アア~ン、香ばしいわ
0243デフォルトの名無しさんNGNG
>>240
テキストエディタ一つにしたって
~~~~~~~~~~~~~~~~
0244デフォルトの名無しさんNGNG
>>240
こういう馬鹿って必ずいるよねw
テキストエディタは例で出しただけじゃないの?
0245デフォルトの名無しさんNGNG
>>241
じゃあ、結局は作れないんですねw

それなら偉そうにすんなよ
0246デフォルトの名無しさんNGNG
>>237
趣味で作るとしたら秀丸みたいに使いにくい代物じゃなくて自分にとって使いやすいものになる。
そうしてそれは、既にXyzzyで粗方実現されているので敢えて作る必然性が無い。
#残りはlispで書けば事が足りるしね。

仕事で作るとしたらPeggyProのように連携能力の高いものになる。
それを安定して販売できるような環境がないので敢えて作る必然性が無い。

テキストエディタに限定しないなら、バイナリエディタや簡単な画像加工ツールくらいは作ったよ。
#あ、前者はWindowsアプリではないや。
自分の必要や仕事上の目算があれば、それ相応のものを作れる自信はあるが、
相当の知識はもっていないと自覚している。
そんなものは、必要なときに必要なだけ得ればいい種類のものだという認識なので、
私にはそれをひけらかすようなことはできないししたくもない。
0247デフォルトの名無しさんNGNG
>>246
たしかに相当の知識はいらないと思う。
必要なのはむしろ別の、構成力とか管理能力とか、
当然やる気とか、モチベーションとか、そういう精神的な部分だと思うね。
0248デフォルトの名無しさんNGNG
要は>>237は,「秀丸やviなどの有名なエディタを作った」という
ステータスのある人からじゃないと教えを請いたくないって言ってるんだろ

まぁ頑張って偉い人探せやw
0249デフォルトの名無しさんNGNG
言い訳ばっかだね

どのジャンルでもいいが、結局は現在公開されてる
ものと張り合えるようなものは作れないわけでしょ?

それなのに妙に偉そうだよね。
変てこなスレ立てられてるみたいだけどエピ氏は凄そうだから
イイとしても他は質問してる人と大して変わらないわけでしょw
0250!= 246NGNG
>>249
作れないと作らないは違うと思うよ。

プログラミングってさ、初心者が思っているほど頭使うものじゃないんだよね。
知識と呼べるような知識もたいしていらない。

だいたいね、プログラマには2種類いてね、
(1) モノ作りが好きな人 (2) 理論 (新しいもの) が好きな人

(1) のような人はとにかく作るのが好きで、テキストエディタみたいな
つまらないものでも楽しんで作ることができて、
ユーザーからの評価も高い。

翻って (2) は、あまり目に見えるものを作ることはない、
頭の中で「こうやってこうやれば作れるんだし、特に高いモチベがないし、
わざわざ手を動かして作るまでもない」ってな発想になる。

こういう人はあまりユーザーからの評価は得られないし、
「ふつう」の企業内でも評価はよくない。

できないわけじゃない、やるだけの知的興味が湧かないだけ。
0251デフォルトの名無しさんNGNG
偉人が発信した情報は全て正しく
凡人が発信した情報は全て間違ってる

誇張してみますた(`・ω・´)
#誰が発言しようが、正しい情報は正しく、間違ってる情報は間違ってる
#ブランド志向で、選り好みしてたら勿体無いぞ
0252250NGNG
ちなみに私も (2) のタイプ。
0253デフォルトの名無しさんNGNG
まぁいいじゃねぇか
一番損するのは>>237って目に見えてるんだしw
0254デフォルトの名無しさんNGNG
>>250
コンピュータサイエンスを学んでるわけじゃないくせに偉そうに
何が(2)理論 (新しいもの) が好きな人
だよ笑わせんなよ
0255250NGNG
>>254
いや当然まなんでいるよ。
そんなのは基礎知識だよ。
0256デフォルトの名無しさんNGNG
>>237
使われるテキストエディタって作るのめちゃむずいよ。
まず、普段愛用しているエディタを代えるには相当な理由が無いといけない。
しかし、たいていのユーザーはすでに現状に満足しているので、すごいエディタが出ても乗り換えようとは思わない。
秀丸程度のものなら誰でも作れるけど、秀丸から乗り換えさせるようなものを作るのは至難の業。
まず、新しいソフトの名前を聞いても試用してもみないからね。
0257250NGNG
>>256
>秀丸程度のものなら誰でも作れるけど、秀丸から乗り換えさせるようなものを作るのは至難の業。
なるほど、それは説得力あるな。
0258デフォルトの名無しさんNGNG
>>256
>秀丸程度のものなら誰でも作れるけど、
なんですか?
C++を始めて3日程度経つが作れそうな気がしないんですけど・・・
0259250NGNG
>>258
Cで3年やってれば十分作れる。
0260デフォルトの名無しさんNGNG
>>258
力の差が分かるようになったとき、君はすでに相当な力をつけているのだ。
糞HSP中を見たまえ、無謀にも大作に挑んで自ら破滅していくよ・・・。
0261デフォルトの名無しさんNGNG
ここの人たち結局作れないのに随分大口叩くよね

だったらおまいらが作ったソフト見せてみろって話だよねw
0262デフォルトの名無しさんNGNG
漏れは>>237が一番大口たたいてると思います(=゚ω゚)ノ
0263デフォルトの名無しさんNGNG
>>261
アマグラマの方でつか?
すみませんがプログラマはそうそう自分の作ったもの晒せないんでつよ。
0264デフォルトの名無しさんNGNG
漏れが仕事で作ったソフトなら多くの人が目にしてるよw
いや、正しくは「利用している」若しくは「目の当たりにしている」。
0265デフォルトの名無しさんNGNG
>>264
多くの人が目にしてるんですよね
だったら、見せて
0266デフォルトの名無しさんNGNG
乙
0267デフォルトの名無しさんNGNG
>>264
いたいなー。仕事だったら全部一人で作ったわけ無いんでしょ。
UI周りをちょっと触らせてもらっただけでも
「目の当たりにしている」
んでしょ。
0268デフォルトの名無しさんNGNG
[256]' から 'char [260]' に変換できません。

どうすればいいですか?
0269デフォルトの名無しさんNGNG
>>268
配列から配列へコピーしようとしてるの?
ならmemcpy
0270デフォルトの名無しさんNGNG
>>268
スタート→シャットダウン(&U)でシャットダウンを選択してOK(&O)をクリックしてください
0271デフォルトの名無しさんNGNG
>>267
ここの人がそうなのかどうかは分からないが、それでも十分いいとおもうが。
例えばグラツーの開発チームだって、「俺が作った!」と言い切っちゃうバカは
おそらくチームにはいない。みんなで協力して作り上げるもんだろ。特に大作は。
チームの一員として使ってもらえるようなコードを書けるのも立派な能力。
というか、それが相応のレベルでできるにはかなりのスキルがいる。
しかもそれを当然の行為として、さらにチームでの作業という状況で、
コンピュータ外の事まで気を配りながらできるんだから、大したもんだとおもうが。

一人よがりで8のレベルのものを作れるのも偉いが、
一人一人は5のスキルだがチームで10のレベルに達するならそれもまた偉い。
ただし、ユーザ側は一人で作った8よりも、チームで作った10を選ぶ。
これは真実。

と初心者の俺は思いますが。
0272デフォルトの名無しさんNGNG
>>271
このばかはなんでつか?
0273デフォルトの名無しさんNGNG
マ板でやってね。
0274デフォルトの名無しさんNGNG
大量でしたねw
核心突かれてよほど痛かったみたいだね
0275デフォルトの名無しさんNGNG
(・∀・)ニヤニヤ
0276デフォルトの名無しさんNGNG
釣られる香具師大杉
0277デフォルトの名無しさんNGNG
www.codeproject.com
で凄いコンロールたくさんありますよね
あれってどうやってダイアログ上に配置するのですか?

http://www.codeproject.com/miscctrl/gridtreectrl.asp
を使おうとしています。
0278デフォルトの名無しさんNGNG
まああれだ、時間があればとりあえず秀丸程度のものは作ってやるから
「時間をくれ」、と。
0279デフォルトの名無しさんNGNG
たぶん質問してもまともな答えが返ってこないから
このスレには自分よりレベルが低いやつしか思ってるとか?

でも馬鹿な回答にはつっこみが入るから
馬鹿が入り込む余地は少ないと思うぞ。
0280デフォルトの名無しさんNGNG
>>277
英語よめないのか?
説明書いてあるじゃん
0281デフォルトの名無しさんNGNG
>>280
よめねーからきいてんじゃん
ばかかおめー
0282デフォルトの名無しさんNGNG
>>281
高卒?
0283デフォルトの名無しさんNGNG
>>282
中卒ですが、なにか?
0284デフォルトの名無しさんNGNG
今日はいろんなのが湧いて楽しいねヾ(´∇`)シ
0285デフォルトの名無しさんNGNG
>>277
それ入れる前にMFC Grid controlが使えないとだめだろ
0286デフォルトの名無しさんNGNG
英語版のXPにvisual C++をインストールしたいんですが、「16bit windows system」 エラーと表示され
、インストールできません。どなたかわかりますでしょうか?なぜXPで16bitと表示されるのかわかりません。
0287デフォルトの名無しさんNGNG
おまえのXPは16bit版だからな
0288デフォルトの名無しさんNGNG
>>286
正規品ならサポートに電話しる!
買う前にパッケージに書いてある動作条件確認したか?
0289デフォルトの名無しさんNGNG
>>288
はい。MSDNです。動作条件などは調べることができません。
サポートに電話すべきなのか・・
0290デフォルトの名無しさんNGNG
空のドキュメントの作成に失敗しました
0291デフォルトの名無しさんNGNG
wcharをchar*に入れるにはどうしたらいいですか?
0292250NGNG
>>291
char buf[256];
wchar_t wch = L'A';
((wchar_t*)(buf))[0] = wch;
0293デフォルトの名無しさんNGNG
>>291
ワイド文字バージョンの関数ないのか?
0294デフォルトの名無しさんNGNG
ありがとうございます。
あと、一つ教えてください。
char*からwcharにするにはどうすればいいですか?
0295デフォルトの名無しさんNGNG
スタート→シャットダウン(&U)でシャットダウンを選択してOK(&O)をクリックしてください
0296250NGNG
>>294
まずは C の基本を勉強したほうがいいよ。
char buf[256];
wchar_t wch;
wch = ((wchar_t*)(buf))[0];
0297デフォルトの名無しさんNGNG
質問の意図がよくわからんが
単純にキャストすりゃいいという問題か?
0298デフォルトの名無しさんNGNG
>>297
>>291が言ってる用件は満たしてはいるな。
0299デフォルトの名無しさんNGNG
3桁毎の区切りカンマを入れられないVCなんて糞
0300デフォルトの名無しさんNGNG
激しくDQNの香り

0301デフォルトの名無しさんNGNG
つか、VCは糞だよ
BCBならコード書かなくてもいいことがVCだと数百行書かなくてはいけない
まったく糞
0302デフォルトの名無しさんNGNG
>>301
は?
0303デフォルトの名無しさんNGNG
糞の基準がDQN
0304250NGNG
>>301
たしかに同意するよ。
ある程度の実用的なライブラリを用意しておいてくれるのは
何かとありがたいよ。
0305デフォルトの名無しさんNGNG
MS が Borland 買収すればいいのに。
0306デフォルトの名無しさんNGNG
それは無理だ
独占禁止法とかひっかかったら面倒だろうし。
某ランドはアップルと同じく、
生かさず殺さずというところだろう
0307デフォルトの名無しさんNGNG
BCBって何?
0308デフォルトの名無しさんNGNG
>>307
Borland C++ Builder っていう、Windows 最強の開発環境だよ。
0309デフォルトの名無しさんNGNG
とっつき易いかどうかは別として
Windows 最強はVCだと思うよ
0310デフォルトの名無しさんNGNG
ボーランド?
でるふぁいなら名前は知ってるけどBCBは知らない。
0311デフォルトの名無しさんNGNG
>>301は定期的に現れてるのか
0312デフォルトの名無しさんNGNG
数字を文字列に変換するのに、
sprintfを使っているのですが、
数字の型が__int64になると、sprintfでは対応できません
__int64型の数字を文字列に変換するには
どうしたら良いですか?
0313デフォルトの名無しさんNGNG
>>312
詳しく知らないけど、sprintfで出来るらしいよ?
0314デフォルトの名無しさんNGNG
>>312
%I64d
0315312NGNG
>>313
>>314
即レス感謝です。
できました!
0316デフォルトの名無しさんNGNG
自作コントロールってどうやって作るの?
よさげなHPない?
コードプロジェクトだとレベルが高すぎて・・・
0317デフォルトの名無しさんNGNG
visual c++で使えるgmpの様なライブラリをご存じの人いませんか?
gmpが使えるのならそれが一番なのですが、問題が多いようなので
0318デフォルトの名無しさんNGNG
>>316
MFC/WTLなら相応の親クラスを継承する。
Win32生ならウィンドウプロシージャを作ってウィンドウクラスを登録する。
0319デフォルトの名無しさんNGNG
>>318
それをどうやってダイアログに貼り付けるなり
CViewに配置するのですか?
0320デフォルトの名無しさんNGNG
>>319
Createするなりなんなりして勝手に貼り付けてください。
手元のVC7.1にはCustom Controlとか言うのがあってぽとっと落とせるようになってるのかもしれないが試したことない。
0321デフォルトの名無しさんNGNG
なんだつくったことないんだ
それなのにあたかも作ったことあるようなレスだねw
0322デフォルトの名無しさんNGNG
>>321
すげぇむかついたw
0323デフォルトの名無しさんNGNG
まだネバってるのか…w
0324デフォルトの名無しさんNGNG
Deleteキーの押下を検出したいんですけど、
PreTranslateMessage()
では検出できません・・・
どなたかご教授お願いします
0325デフォルトの名無しさんNGNG
Visual C++6.0 MFCで開発を行っています。
サーバからデータ(ファイルなど)を取得するEXEを作成しています。
それでVCでサーバにログインしたいのですがいい方法はありますでしょうか?
0326デフォルトの名無しさんNGNG
>>324
PreTranslateMessage()で検出できたぞ
0327デフォルトの名無しさんNGNG
>>325
ファイルにアクセスする関数名とかネットワークとか
適当なキーワードでぐぐればでてきそうなもんだが
0328デフォルトの名無しさんNGNG
>>324
他のキーは取れてるの?
取れるキーのコードとDeleteキーのコード晒してみ。
0329デフォルトの名無しさんNGNG
ご教授願います。VC6.0MFCです。
あるプロセス(他EXE)が起動している間
待ち状態にしたいのですが、待ち状態にする
いい方法はありますでしょうか?
0330デフォルトの名無しさんNGNG
WaitForSingleObject()
0331デフォルトの名無しさんNGNG
>>330
ありがとうございます。
MSDNで使用方法調べてみます。
0332324NGNG
他のキーは取れてます

if (pMsg->message == WM_CHAR)
もしかして、これがダメ?

0333デフォルトの名無しさんNGNG
VisualStudio.NET起動時にスタートページが
表示されなくなってしまいました。
起動時に自動的にスタートページを表示させるには
どうしたらいいでしょうか?
0334デフォルトの名無しさんNGNG
そのくらい自分で探さないといつまでたっても宝の持ち腐れだぞ
ちなみに探したら1分も掛からんかった
0335デフォルトの名無しさんNGNG
>>332=324
WM_KEYDOWNではどう?
それと、キーコード(wParam)は何と比較している?
0336324NGNG
>>335
wParamはVK_DELETEと比較してます
WM_KEYDOWNで捕まえたら取れました!
ありがとうございます
0337デフォルトの名無しさんNGNG
現在、VC6を使っています。

どこのスレだったかは失念しましたが、
上位バージョンはインテリセンスがかなり賢くなっていると聞きました。
具体的にはどの程度なのでしょうか?

…#defineやenumでもコード補完が使えるとか?
0338デフォルトの名無しさんNGNG
インテリ確かに賢くなってるけど、
WTLに対してはほとんど全滅orz
0339デフォルトの名無しさんNGNG
漢ならインテリセンスなんかに頼るな。
0340デフォルトの名無しさんNGNG
ロッキーのテーマをこんなに長く聞いたの初めてだ。
0341デフォルトの名無しさんNGNG
すまん。間違えました。
0342デフォルトの名無しさんNGNG
NeoPlanetのように、ウィンドウの枠にビットマップ貼り付ける
方法を教えてくだちい
0343デフォルトの名無しさんNGNG
>>342
枠なしにして自分で枠を書く
0344デフォルトの名無しさんNGNG
WM_NCPAINT
0345デフォルトの名無しさんNGNG

ソースファイルは  Source フォルダ
ヘッダーファイルは Header フォルダ

とプロジェクト内にフォルダを作り、各ファイルごとにまとめた後、
Source フォルダにあるソースファイルに Header フォルダにあるヘッダーファイルを
インクルードしようと #include "../Header/***.h" としたらインクルードファイル
がオープンできないとエラーを返されました。 #include "..\Header\***.h" でも同じ
結果でした。ヘッダーファイル内にはインクルード宣言はありません。
パスの指定の仕方に問題があると思うのですが。解決法を教えてください。

0346デフォルトの名無しさんNGNG
../Header/じゃなくて、Header/じゃね?
0347デフォルトの名無しさんNGNG
シリアライズ機能のみから作成します。
ってなに?
はぁ?って感じ
0348デフォルトの名無しさんNGNG
>>345
そういうふうにフォルダわけてみたけど
コンパイル通ったよ
0349デフォルトの名無しさんNGNG
>>345
VC++上でのフォルダは実際のファイルシステム上のフォルダじゃないよ
0350デフォルトの名無しさんNGNG
がーん、そういうレベルの質問が来ると言う可能性を忘れていた。
そう言えばパスに関係ないもんなぁ。
0351デフォルトの名無しさんNGNG
ファイルシステム上にフォルダなんて概念はありません
0352デフォルトの名無しさんNGNG
>>338
ちょっぴり気になってはいるんですが、
実際、それだけのために乗り換えるにはリスクが大きいですし…
うーむ。

>>339
分かりました! 俺も先生みたいな男になりますッ!
0353345NGNG
もう一度同じ様に作ったところコンパイル通りました。
御騒がわせして申し訳ありませんでした。

>>346
>>348 
>>349
>>350
>>351

皆さんありがとうございました。_| ̄|○ ペコ
0354デフォルトの名無しさんNGNG
二次元配列をポインタで参照するスマートな方法はありませんか?

int** test[;
//10 * 10とかでメモリ確保(省略)
cout << *(*(test + 3) + 4) << endl; //test[3][4]が見たいとき

↑こんな感じだとちょっと見づらいので、
もっと素敵な表記方法ありませんか?
0355デフォルトの名無しさんNGNG
test[3][4]
0356デフォルトの名無しさんNGNG
>>339 ウワァッ 新機能についていけない哀れなロートル
0357デフォルトの名無しさんNGNG
VC++2002だけど、クラスビューのクラス階層にfriend関数が表示されません。
まっ、クラスの面罵関数じゃないから同然なのかしらん?
0358デフォルトの名無しさんNGNG
そうだね
0359デフォルトの名無しさんNGNG
【新潟地震で死者がもっと増えるのを祈るスレ】
http://live14.2ch.net/test/read.cgi/liveplus/1098881272/385
↑ここの1はバカ
只今祭り中。385を参照


おまいら2ちゃんの厳しさをこいつに教えたげてください
0360デフォルトの名無しさんNGNG
なんで?
特に新潟県人なんて全滅してください
吐き気がする
0361デフォルトの名無しさんNGNG
visual studio .netでプロジェクトを
win32コンソールアプリケーションって設定して
ソースを新しい項目の追加で作って
アプリケーションの設定で空のプロジェクトにチェック入れて

#include <stdio.h>
void main() { printf("Hello World"); }

でビルドして開始すると一瞬だけ表示されて消える
ずっと表示させるにはどうすればいいの?
0362デフォルトの名無しさんNGNG
ずっと表示させるようにプログラム書けばいい
0363デフォルトの名無しさんNGNG
#include <stdio.h>
void main() { printf("Hello World"); while(1); }
0364デフォルトの名無しさんNGNG
最後に、scanf()でとめておいたらいいよ。
0365デフォルトの名無しさんNGNG
>>361
CTRL+F5
>>362-364
雑魚め
0366デフォルトの名無しさんNGNG
>>354
#include <vector>
#include <iterator>
using namespace std;

std::vector< vector > test;
test.resize(10);
for( i=0; i<10; i++)
test(i).resize(10);

・・・

test[3][4]

0367デフォルトの名無しさんNGNG
>>354
便乗して

int** test;

test = new int*[10]; //縦10行分のint*確保
for(int i=0;i<10;i++)
test[i]=new int[10]; //横10列分のint確保

と確保すれば普通の2次元配列の記述方法(test[3][4]とか)で使えるけど
それは既にやってるのかな?
0368デフォルトの名無しさんNGNG
C++を覚えたいと思ってます。知り合いに、テキストエディタを使うといいよと言われました。
ソースを書く上で必要になるとか・・・ 具体的にテキストエディタはどういう使い方をすればいいのですか?


0369デフォルトの名無しさんNGNG
>>368
釣りだよね?
0370デフォルトの名無しさんNGNG
>>369
釣りじゃないです。
真面目に覚えたいと思っているので 良ければ教えてもらえると嬉しいです。


0371デフォルトの名無しさんNGNG
>>370
マジレスすると、
テキストエディタでソースコードを書いて
コンパイラでコンパイルすると実行ファイルができる。
0372デフォルトの名無しさんNGNG
>>371
リンクは?
0373368 ◆TmK8dn3Gxg NGNG
釣りじゃないことを証明するため 今のうちにトリップ付けます。
0374368 ◆TmK8dn3Gxg NGNG
>>371
ありがとうございます。

テキストエディタで ソースを書く際に一度使ったコードを使いまわしたいときや
良く使うコードとかの登録は可能ですか?



0375デフォルトの名無しさんNGNG
自分で管理すれば可能
0376デフォルトの名無しさんNGNG
>>374
ここはC++スレじゃない。VisualC++スレ
0377デフォルトの名無しさんNGNG
ダイアログベースの新規プロジェクト立ち上げると
ダイアログにOKとキャンセルのボタンが出ますが
この2つを削除したい場合ボタンを削除するだけで
問題ないでしょうか?
0378デフォルトの名無しさんNGNG
ない
0379377NGNG
>>378 ボタン消してもIDOKとIDCANCELと書かれたコード
が残るんだよね。下のコードは残っても動作するんだけど
他に不具合あるかな?

if (nResponse == IDOK)
{
// TODO: ダイアログが <OK> で消された時のコードを
// 記述してください。
}
else if (nResponse == IDCANCEL)
{
// TODO: ダイアログが <キャンセル> で消された時のコードを
// 記述してください。
}
0380デフォルトの名無しさんNGNG
>>379
enterとescキーでそこを使う
0381デフォルトの名無しさんNGNG
開発したプログラムで、アプリケーション例外が出て困っています。
頻度は、一日に一回程度なので、タイミングよく再現させることが困難です。
そこで、イベントビューアで不具合発生時のログを確認するのですが、
見方が分からなくて不具合個所の特定が出来ません。
イベントログから不具合個所を特定することはできるのでしょうか。
Releaseモードでコンパイルしたプログラムでは、場所の特定は出来ない
のでしょうか。

ちなみに、開発環境はVC++6.0SP5、WindowsNT4.0です。
0382デフォルトの名無しさんNGNG
ぬるぽが原因に一朝鮮人
0383デフォルトの名無しさんNGNG
値を入れる配列のサイズが小さくてそのサイズを超える
インデックスの要素を参照することがあるとか。
大抵はそんなことが原因に一在日
0384デフォルトの名無しさんNGNG
>>382,383
ありがとうございました
0385デフォルトの名無しさんNGNG
>>384
どちら様?

>>382,383
ありがとうございました。ご指摘の通り、リストのサイズが場合に
よっては足りなくなることがあり、これを直したら
良さそうです。
0386デフォルトの名無しさんNGNG
リソースビューで、いつの間にか「他のエディタで使用中」
という表示がでて、元に戻らなくなってしまいました・・・
実際に、他のアプリが該当ファイルを開いているという事はありません。
助けて下さい・・・
0387デフォルトの名無しさんNGNG
>>386
他のアプリじゃなくてVC自身のほかのエディタが開いてんだよ
0388デフォルトの名無しさんNGNG
VC6 MFC SDI で作成したスケルトンに
新規にダイアログを追加しました。
そのダイアログにはスライダーやエディットボックスを
追加してデータの更新をしていきたいと思っています。
(ちょうどペイントアプリなどのカラー調整ダイアログみたいな
 感じです)

現在の状況ですが、モーダルで開いたときは、スライダーに伴って
エディットボックスの値を変更することが出来たのですが、
モードレスだと更新が出来ません。

OnHScroll() に UpdateData(FALSE) などを追加してみましたが、
解決できませんでした。

そこで質問なのですが、ビューの更新に使うInvalidate 関数のような
ダイアログを更新させる関数は何でしょうか?
アドバイスをお願いします。
0389デフォルトの名無しさんNGNG
Invalidate
0390388NGNG
>>389
レスありがとうございます。
確かにそのとおりでした。
そんなことも気がつかない初心者ですのでお許しください。

実際やってみましたが、できませんでした。
描画ちらつくカンジになってしまいます。
(描画が追いつかないみたいなカンジです。)
何とも、もっとスムーズな描画更新できないないものか
と思っています。
スライダーとその対応するエディットボックスのみの再描画
という感じですかね?
0391388NGNG
(続き)
各メンバ変数の初期化は終わっているとして、
OnHScroll()はこのようなカンジになっています。
(今作っているアプリのダイアログを"色変更ダイアログ"
に置き換えてみました。)
void CColorDialog::OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar )
{
CString value;
switch( ((CSliderCtrl*)pScrollBar)->GetDlgCtrlID() )
{
case IDC_SLIDER_RED:
value.Format( "%d", m_pSliderRed->GetPos() );
m_pEditRed->SetWindowText( value );
break;
case IDC_SLIDER_GREEN:
...
case IDC_SLIDER_BLUE:
...
}
// ここにいれてみました。
//Invalidate();
CDialog::OnHScroll( nSBCode, nPos, pScrollBar );
}

そもそも、この関数には関係ないところで問題があるのでしょうか?
0392デフォルトの名無しさんNGNG
CString value;
if(((CSliderCtrl*)pScrollBar==&m_pSliderRed){
value.Format( "%d", m_pSliderRed->GetPos() );
m_pEditRed->SetWindowText( value );
break;
}
else if(...){
...
}

0393デフォルトの名無しさんNGNG
breakはいらないなorz
0394デフォルトの名無しさんNGNG
コンソールプログラムで、
変数の値を画面に表示しようとすると

int homerun = 38;
printf("ホームランは%d本", homerun);

ですが、
これをwinアプリでやろうとするにはどうしたらよいでしょうか。
なんか下のようなのをごちゃごちゃ書いているんですが、まったくだめです。
int homerunの値をstrの中に文字列として代入したいのです。

int homerun = 38;
LPCTSTR bunsyo = "ホームランはhomerun";
RECT rect = { 0, 0, 100, 100};
HDC hdc;
DrawText(hdc, bunsyo, -1, &rect, NULL);
0395デフォルトの名無しさんNGNG
>>394
予め、文字列を組み立てておけばいい。
int homerun = 38;
char buf[40]; // ↓が格納できる充分な長さ
sprintf(buf, "ホームランは%d本", homerun);
RECT rect = {0, 0, 100, 100};
HDC hdc;
DrawText(hdc, buf, -1, &rect, NULL);
0396デフォルトの名無しさんNGNG
どこに表示させたいんだ?
ダイアログ?ビュー?エディットボックス?
0397デフォルトの名無しさんNGNG
>>395
wsprintf使おうぜ
0398394NGNG
うまくいきました
今まで
class Mojiretsu{
LPCTSTR str
}:

void ShowHomerun(HDC hdc, Mojiretsu *Mojiretsu, int homerun)
{
 RECT rect = {400, 500, 800, 600};
 wsprintf(Mojiretsu->str, "ホームランは%d本",homerun);
 DrawText(pdc, Mojiretsu->str, -1, &rect, NULL);
}


でエラーが出ていました。
これを
void ShowHomerun(HDC hdc, Mojiretsu *Mojiretsu, int homerun)
{
 RECT rect = {400, 500, 800, 600};
 char buf[40];
 wsprintf(buf, "%s%d本",Mojiretsu->str, homerun);
 DrawText(hdc, buf, -1, &rect, NULL);
}

で表示されました。とても助かりました。
上のコードにおかしい点などあれば、また指摘ください。 
0399デフォルトの名無しさんNGNG
>>397
なんでですか?
0400デフォルトの名無しさんNGNG
ワイド文字
0401デフォルトの名無しさんNGNG
stdio.hを使わない方が、容量が少なくなるからでは?
0402デフォルトの名無しさんNGNG
wsprintfは浮動小数点が使えなかったりするので注意
0403デフォルトの名無しさんNGNG
>>400-401
なら_ts(n)printf
0404デフォルトの名無しさんNGNG
結局、sprintfをwsprintfに置き換える積極的な理由は無さそうですね。
0405デフォルトの名無しさんNGNG
mspaintでは表示倍率を変更できますよね
この表示倍率をどのクラスのメンバにするのが普通ですかね?
Document変更が無く見せ方を変えるだけなので、やはりViewの
メンバでしょうか?
0406デフォルトの名無しさんNGNG
そうね
0407デフォルトの名無しさんNGNG
そうよ
0408デフォルトの名無しさんNGNG
>>405
マルチ
0409デフォルトの名無しさんNGNG
>>408
クロスポストですが、なにか?
0410デフォルトの名無しさんNGNG
VC6で*.cと*.cppファイルの混在プロジェクトを作ってC++でコンパイルしたんだけど、
そのままだと*.cファイルはC言語でコンパイルされてしまいます。
*.cファイルを拡張子はそのままでC++でコンパイルする方法はないでしょうか?
0411デフォルトの名無しさんNGNG
>>410
コンパイラのマニュアルに書いてある
0412マイク ◆yrBrqfF1Ew NGNG
>>404
CString::Formatを使用することで
ウザイ固定バッファを管理しなくて済む。
0413デフォルトの名無しさんNGNG
>>410
#pragma
0414デフォルトの名無しさんNGNG
#pragmaってcommentとかhdrstopとかを付けて使うやつだよね。
#pragmaのところを見てるんだけどどのオプション(?)かわからないです・・・
0415デフォルトの名無しさんNGNG
>>410
ソースを右クリックして [設定] を押し、[常にカスタムビルド...] にチェックを入れると、
できんことはないと思う。だけど拡張子変えるのが無難だと思うよ。
0416デフォルトの名無しさんNGNG
>>413
#pragma でそんなことできたっけ?
0417デフォルトの名無しさんNGNG
リソースエディタでプロパティのウィンドウを表示した時
設定する項目が何も表示されなくなったのですが、バグなんでしょうか?
表示されるのはウィンドウのタイトル「プロパティ」のみです。。。
0418デフォルトの名無しさんNGNG
>>416
#pragma option
0419417NGNG
プロジェクトを新たに作成し、解決しました。。。
0420デフォルトの名無しさんNGNG
>>418
BCC にはあるけど、VC6 にはなさげですが。。。
0421デフォルトの名無しさんNGNG
>>420
VC7.1 にもなさげ。
0422デフォルトの名無しさんNGNG
>>410
コンパイラオプションに /TP 追加でどうか
0423デフォルトの名無しさんNGNG
>>422
それいいね。それがベスト解だね。たぶん。
0424デフォルトの名無しさんNGNG
BCCってなに?
0425デフォルトの名無しさんNGNG
>>424
Borland C++ Compiler だよ。
BCC に関することは BCB (Borland C++ Builder) にもたいていあてはまる。
0426デフォルトの名無しさんNGNG
>>425
んなこたーない
0427デフォルトの名無しさんNGNG
>>426
え、そう?どこらへんがあてはまらないかな。
0428デフォルトの名無しさんNGNG
もまいらこんばんわ。
VCの例外で教えてほしいのですが、リリースビルドだと
ちゃんとキャッチされるのに、デバッグだと「ハンドルされていない云々」
のMSGが出るのですが、なにか考えられる原因はありまつか?
0429デフォルトの名無しさんNGNG
あるよ。
0430デフォルトの名無しさんNGNG
>>428
キャッチするコードがデバッグビルドで削除されるようになってるとか、
そういうことしか思いつかない。
コードみせてくれるのが早いと思う。
0431428NGNG
>>430
ありやとさんした
0432428NGNG
>>431
誰だYOw

>>429
簡単でいいので教えてくだちいm(__)m

>>430
すみません。関数のネストが深くて(10つぐらい)
そこから投げられてるのでコード掲載キツイでつ(TT
でも#ifdefとか全く使ってない何のへんてつもない
コードなのでつが。。。
0433デフォルトの名無しさんNGNG
>>432
とりあえず、投げてる部分のコード片と、
キャッチしている部分のコード片をみせて。
それと VC のバージョンも書いて。
0434デフォルトの名無しさんNGNG
>>433
30万行以上もあるのに見せれるかよ、ぼけ
0435433NGNG
>>434
キミ は >>431 の偽者だね。
全部見せてなんていってない。
「コード片」だ。
0436デフォルトの名無しさんNGNG
>>432
最近VC++スレ付近に質問者を騙って勝手に礼を言ったり回答者を煽る奴がうろついてるよ
C#スレのほうにも足を伸ばしてるみたい
0437デフォルトの名無しさんNGNG
まあ騙られるのは大概くだらん質問者だからな。
まったく実害無しだな。
0438433NGNG
>>437
そんなことないよ。頼むからやめてくれ。
0439428NGNG
レスどうもありがとうございますm(__)m
なんか荒れてて申し訳ないでつ。
会社のコードで今は自宅なのでうろ覚えなのでつが
下のCOMポートに出力するWriteSerial()中から、
スローしています。
受けるのはCOMポートでつながっている測定機器
に命令を送るMeasureData()中です。
MeasureData()とWriteSerial()間には10個ほどの
関数がはさまっています。
みづらいコードで申し訳ないです。
環境はVC6 WinXPです。


0440428つづきNGNG
// 例外をスローしている部分

void WriteSerial(UINT addr, BYTE data)
{
// COMポートが接続されているかのチェック
BYTE ret = ReadSerial(addr);

if (ret == 0xFFFF) {
CNonConnectException *p = new CNonConnectException();
throw p;
}

....省略
}
0441428さいごNGNG
// 例外をキャッチしている部分

void MeasureData()
{
try
{
WriteData(data);
}
catch (CNonConnectException *p)
{
MessageBox(p->ErrorMessage, NULL, MB_OK | MB_ICONERROR);
return;
}
catch (...)
{
ASSERT(FALSE);
throw;
}

...省略
}
0442デフォルトの名無しさんNGNG
単にデバッグビルドとリリースビルドで例外に関するコンパイラオプションが違うだけと想像
0443433NGNG
デバッグビルドででる例外メッセージを一字一句正確に教えてくれる?
0444428NGNG
長くて無理っす
0445433NGNG
>>444
とにかくね、上記の C++ 例外のキャッチ忘れなのか、
上記のコードとはまったく別の例外なのか (たとえば SEH 例外)。
これは確認しておきたい。
0446428NGNG
>>444
いい加減にしてくだちい

>>443
>>デバッグビルドででる例外メッセージを一字一句正確に教えてくれる?

VCのアサーション画面(赤い×のやつです)が出て、そのあと
「ハンドルされていない例外は○○にあります」というよくみるMSGボックス
がでます。
と、今書いてて思ったのですが、アサーション画面が出るのはおかしい
んですかね。もしかしたらデバッグコード中のASSERT中で例外が
投入されたら、本来のハンドラでキャッチできないとか。。。
もしそうならリリースだとちゃんと動くのが説明がつくのですが。。。
0447デフォルトの名無しさんNGNG
>>446
・・・VCのデバッガは例外のスローを捕捉してダイアログを出す機能があるけど、
それだったら殺すよ。
0448433NGNG
>>446
それは例外じゃなくって、ASSERT エラーじゃんか。

ASSERT は例外なんかスローしないよ。
ASSERT にひっかかったら、その場で強制終了したはず。

それから、ASSERT にひっかかってるんなら、
リリースモードでは正常に動作しているように「見えている」だけだから、
それをリリースするのは危険だよ。
0449428NGNG
>>447
>>VCのデバッガは例外のスローを捕捉してダイアログを出す機能があるけど
そうなのですが、ちゃんとハンドリングしているので本来出るはずがない
と思うのですが。。。

>>448
>>それは例外じゃなくって、ASSERT エラーじゃんか。
アサートならそのまま終了だと思うのですが、その後「ハンドルされていない例外は...」
が出ました。コールスタックを見てもスタックが巻き戻されていなかったと
記憶しているのですが、ちょっと記憶があやしくなってきたので
明日会社で確認してみまつ。何かわかったらまた報告しまつね。
夜分お騒がせしますた。みなさんどうもありがとう。。。
0450デフォルトの名無しさんNGNG
>>447
殺せるもんなら殺しえてみろよ、ぼけ
いくらオドレのチンケナ人生ゆうても棒に振るんは
痛いんちゃうんかい?
0451デフォルトの名無しさんNGNG
>>450
雑魚は黙ってろ!
己の人生棒に振ってまでも花道飾りてーっつってんだよ
素直に飾らせろや!
0452デフォルトの名無しさんNGNG
自作自演乙
0453428NGNG
...
0454デフォルトの名無しさんNGNG
なんかもう必死ですねw
0455デフォルトの名無しさんNGNG
450==451==452==453
0456デフォルトの名無しさんNGNG
VC++2002の環境設定をVC++2003にごっそり移行したいのですが
どうすればいいの?
0457デフォルトの名無しさんNGNG
またこの手の質問か。。。
0458デフォルトの名無しさんNGNG
>>456
環境設定をメモに取る
↓
VC++2002をアンインストール
↓
VC++2003をインストール
↓
(゚д゚)ウマー
0459デフォルトの名無しさんNGNG
( ´_ゝ`)フーン
0460デフォルトの名無しさんNGNG
>>457
ヘビーな質問だったら答えらんねーくせにw
0461デフォルトの名無しさんNGNG
( ´_ゝ`)フーン
0462デフォルトの名無しさんNGNG
>ヘビーな質問
0463mageNGNG
素敵だ…
0464デフォルトの名無しさんNGNG
さてさて、次のおてがきいってみましょ!
↓
0465デフォルトの名無しさんNGNG
VC++2002の環境設定をVC++2003にごっそり移行したいのですが
どうすればいいの?
0466デフォルトの名無しさんNGNG
こっそりとフォルダ名を2002から2003へと変えてみる
0467デフォルトの名無しさんNGNG
MSDN:
Visual Studio .NET 2003 の新機能
・・・
Studio .NET をインストールすると、新しい方のバージョンを初めて起動
するときにダイアログ ボックスが表示され、既存の設定を移行するかどうかを
選択できます。・・・
0468デフォルトの名無しさんNGNG
入力した文字を逆転表示して表示させるにはどうしればいいのでしょうか・・・?

例
こんにちは

はちにんこ

と言った具合です。
0469デフォルトの名無しさんNGNG
<algorithm>のreverseあたりを。
0470デフォルトの名無しさんNGNG
>>468
自分で文字列を逆転させてからTextOut()すればよい。
0471デフォルトの名無しさんNGNG
MFCなら

CString ss = "こんにちは";
ss.MakeReverse();
0472デフォルトの名無しさんNGNG
>>469
ありがとうございます。
reverseを使うということですね。
サンプルソースなどお願いできませんでしょうか?
0473デフォルトの名無しさんNGNG
>>471
なるほど参考になります。
任意に逆転したい文字を選びたいのですがこの場合はどうすればよいのでしょうか?
0474デフォルトの名無しさんNGNG
宿題スレに回答が出ているよ
0475デフォルトの名無しさんNGNG
>>474
アドレスお願いします。
0476デフォルトの名無しさんNGNG
>>475
http://pc5.2ch.net/test/read.cgi/tech/1090324689/l50
0477デフォルトの名無しさんNGNG
#include <locale.h>
#include <iostream>
#include <string>
#include <algorithm>

setlocale(LC_ALL, "Japanese");
using namespace std;
wstring wstr= L"あいうえお";
reverse( &wstr[1], &wstr[3] );
wcout << wstr<<endl;
//質問小出しはするな
0478デフォルトの名無しさんNGNG
>>477
それビルドエラーになります。
0479デフォルトの名無しさんNGNG
win32 Consloe アプリか?(hellow world アプリとか)
MFCアプリならばwoutの代わりとしW2Aマクロ等を使う。
0480デフォルトの名無しさんNGNG
偉そうに回答してる連中の中で超有名ソフトの開発者っている?
例えばMayaの開発チームのメンバーだよみたいな。
MayaはVC++で作られているわけじゃないが・・・
0481デフォルトの名無しさんNGNG
>>480
いたとしても態々言うと思うか?
馬鹿かお前は。
0482マイク ◆yrBrqfF1Ew NGNG
>>480
いたとしても雑用コーダーみたいな奴じゃないか。
こんなところに来るのは
0483デフォルトの名無しさんNGNG
任意に入力した 文字を逆転させるプログラムが欲しい・・・・
0484デフォルトの名無しさんNGNG
AIUEO
∀I∩ヨO
こんな感じでつか?
0485デフォルトの名無しさんNGNG
>>484
「こういう感じ」と入力すると

じ感ういうこ

にするプログラムです。
0486デフォルトの名無しさんNGNG
金子はdown板だっけ
0487デフォルトの名無しさんNGNG
>>485
>>477
0488デフォルトの名無しさんNGNG
>>487
>>478
0489デフォルトの名無しさんNGNG
akasaka と入力すると結果が同じになってしまいます
0490デフォルトの名無しさんNGNG
>>489
当たり前。
0491デフォルトの名無しさんNGNG
ところで、唐突に出された質問にスパッと答えるかっこいいお前らに聞きたいんだが
何歳なんだ?
10歳さばよんで答えてくれ。
0492デフォルトの名無しさんNGNG
>>491
real - 10 = 17
0493デフォルトの名無しさんNGNG
>>491
12
0494468NGNG
まだ分かりません・・・誰か教えてください。
0495デフォルトの名無しさんNGNG
>>491
30
0496デフォルトの名無しさんNGNG
>>491
20
0497デフォルトの名無しさんNGNG
>>494
いい加減うぜー
0498デフォルトの名無しさんNGNG
>>494
さっくり作ってみたけど簡単すぎた。

この程度のが作れないなら、
逆にしないでそのままコピペすら作れないだろ(w
0499デフォルトの名無しさんNGNG
じゃあ、ブートローダを書いてみてください
0500デフォルトの名無しさんNGNG
さくらが書いたCマガの記事に出ていたような。
0501デフォルトの名無しさんNGNG
>>491
6歳
0502デフォルトの名無しさんNGNG
>>491
4歳
0503デフォルトの名無しさんNGNG
-9
0504デフォルトの名無しさんNGNG
Edit ControlでFocusを受け取ったときに文字列が選択されるように
するにはどうすればいいのですか?
0505デフォルトの名無しさんNGNG
>>504
m_edit.SetSel(0, -1)

マウスで選択した時は駄目なんだけどね・・・
0506デフォルトの名無しさんNGNG
EM_SETSELを::SendMessageでOKでは?
0507デフォルトの名無しさんNGNG
それをすると今度はマウスで範囲選択できなくなる
0508デフォルトの名無しさんNGNG
はぁ?
0509デフォルトの名無しさんNGNG
>>504
EN_SETFOCUSをキャッチしてEM_SETSELだな。
0510デフォルトの名無しさんNGNG
コンソールアプリケーションからクリップボードを使いたい(読み、書き)と思います。
調べたところ、ウィンドウハンドルが必要なのですが、コンソールアプリからはどうやって取得すればよいのでしょうか?
0511デフォルトの名無しさんNGNG
先輩方!助けて下さい。
ダイアログをFormViewベースで追加しました。
このタイトルバーの左端のアイコンを非表示に
したいのですが、どのようにすればよいのですか?
0512デフォルトの名無しさんNGNG
>>510
GetDesktopWindow()でもしとけば?
0513デフォルトの名無しさんNGNG
>>511
アイコンじゃなくてシステムメニューの表示をやめる
0514513NGNG
>>511
と思ったけど、アイコンを設定してるところをコメントにする。
0515デフォルトの名無しさんNGNG
ws.Style &= ~WS_SYSMENU;
0516デフォルトの名無しさんNGNG
>>514
ダイアログベースから呼び出してるダイアログ(FormView)でして、
どこでアイコンがセットされているのか隠れていて分かりません・・・

>>515
システムメニューを消してしまうと、
最大化や閉じるボタンもろとも無くなってしまうので、
できれば避けたいのです。
0517デフォルトの名無しさんNGNG
>>516
MFC?
ウインドウクラスのアイコンが表示されてるかもしれない。
どうやってウインドウ出してるとか肝心なことが書いてないから答えようがない。
0518511NGNG
>>517
失礼しました。MFCです。
親はダイアログベースで作成し、
これから表示したいウインドウは、
リソースでDialogを新規作成し、クラスの追加で
基本クラスをFormViewとしたものです。
親からはDoModal()で開いています。
0519デフォルトの名無しさんNGNG
>>518
http://www.expertmg.co.jp/html/cti/vctips/
たしかこの本にやり方書いてあったと思う。
いま本が手元にない。
0520デフォルトの名無しさんNGNG
すいません。
今日最近VC++.NETを使い始めた者ですが、ビルドの際に

LINK : warning LNK4098: defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
LINK : warning LNK4098: defaultlib 'LIBC' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
Debug/julian.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。

ということでリンクプロパティ→特定のライブラリ無視で /NODEFAULT LIBCとMSVCRTDを
実行したところ今度は
「juliuslib.lib(rddfa.obj) : error LNK2019: 未解決の外部シンボル __imp__sscanf が関数 _rddfa_line で参照されました。」
と表示されました。何かこれらのエラーを回避する方法ありましたら
教えていただけますでしょうか。お願いします。
0521デフォルトの名無しさんNGNG
まさにシンボルが解決されていない。
ライブラリをリンクする必要がある。

0522デフォルトの名無しさんNGNG
>>520
ReleaseビルドのライブラリとDebugビルドのアプリケーションはリンクできない(事が多い)。
0523 NGNG
インターネットエクスプローラ上で右クリックしたときのメニューに独自コマンド組み込んで
それを選択するとIEで表示されてるページのURLとタイトルとかを得たいんです。
どうすれば実現できますか?
0524デフォルトの名無しさんNGNG
無理。MSからIEカスタマイズ用のライセンスを取得する
必要がある。
0525デフォルトの名無しさんNGNG
>>523
ieコンテキストメニュー
0526デフォルトの名無しさんNGNG
>>523
できるけど、ひとことじゃ説明できないし
ここで質問してるようじゃ無理
0527デフォルトの名無しさんNGNG
>>526
まぁそういわずいくつかキーワードだけでも教えてやってくれ。
漏れも知りたいし。
0528デフォルトの名無しさんNGNG
>>527
>>525
0529デフォルトの名無しさんNGNG
http://support.microsoft.com/default.aspx?scid=kb;ja;177241
しかしHTML(の中に書けるVB/JScript)しか実行できないようだ。
0530デフォルトの名無しさんNGNG
>>529
おお、出来た!多謝。
0531デフォルトの名無しさんNGNG
VC++でUSB接続のカメラからの画像を処理するようなソフト作成を目指しているのですが参考になる書籍サイトなどありましたら教えていただけませんでしょうか。
0532デフォルトの名無しさんNGNG
>531 VC++.netでしたすみませんがご教授くださいよろしく追い願いいたします。
0533デフォルトの名無しさんNGNG
動画?
0534デフォルトの名無しさんNGNG
>>531
トラ技に載ってたなぁ
トラ技のバックナンバーでも検索して図書館ででも借りれば?
0535デフォルトの名無しさんNGNG
Visual Studio.net にてvc++をやり始めているのですが、質問させてください。

// sample.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
cout << "開始\n";
double b = 0x0, c = 0x0;
while (b < 0xffffffff){
for(double a=0x0;a < b;a++){
c = a * b;
if (c == 0x99BA4A95){
cout << "10進数" << "a:" << a << "b:" << b << "c:" << c << "\n";
break;
}
}
b++;
if (c == 0x99BA4A95){
break;
}
}
cout << "終り\n";
return 0;
}
0536デフォルトの名無しさんNGNG
連貼り失礼します。

このようにaとbを掛けて0x99BA4A95になれば正解というちょっとした
総当りプログラムを書いたつもりなのですが、コンパイルしたものを実行すると
開始
10進数a:42197b:61121c:2.57912e+009
終り
こういう結果になってしまいます。望んでいる結果は
開始
10進数a:42197b:61121c:2579122837
終り
なのですが・・
手持ちの本にはdoubleは15桁までOKのようなことがかいてあるのですが
これは多倍長整数計算というものなのでしょうか?
巨大整数計算や多倍長整数計算などで検索したのですが
全て理解したわけではありませんがイマイチ違うようなきがします。
アドバイスなど頂ければ幸いです。よろしくお願いします。
0537デフォルトの名無しさんNGNG
doubleは浮動小数点数計算
多倍長整数計算がしたければ自分でライブラリ作れ
0538デフォルトの名無しさんNGNG
>>534
アドバイスできねーなら口出すなよ
本見ろなんて誰でも言えんじゃんw
0539535NGNG
>>537
レスありがとうございます。
longだと桁あふれしてしまうのでdoubleにしました。

私のやろうとしていることは多倍長整数計算になるのでしょうか?
0540デフォルトの名無しさんNGNG
>>535-536, 539
double じゃなくて int ですな。それで不十分なら__int64なんてのもある。
多倍長整数のライブラリならCodeGuru当たりにあったような希ガス。

>>538
がんがれ、若いの。
0541デフォルトの名無しさんNGNG
配列の要素数の限界ってあるの?
0542デフォルトの名無しさんNGNG
>>537
倍精度ね。
0543デフォルトの名無しさんNGNG
カスタムコントールってどうやって作るの?
とりあえず、CEditから派生させてCEditExを作りました。
(1)どうやってCEditViewに結びつけるの?
(2)どうやってダイアログに貼り付けるの?
0544535NGNG
>>540
__int64でばっちりイケました。ありがとうございます。
c++を勉強し始めたばかりでライブラリなどは未だ敷居が高く助かりました。
0545デフォルトの名無しさんNGNG
>>541
要素数の限界は決まっていないが、スタック領域の限界要領は決まっています。
それはコンパイラのオプションで変えられることができます。
(本当は実行中に変えることもできます)
参考までに、VC++でのスタック領域はデフォルトで1MBです。
0546デフォルトの名無しさんNGNG
× 要領
○ 容量
0547デフォルトの名無しさんNGNG
VusialC++と関係ないと思うのですが

InternetExpolorで、描写範囲外の部分の表示は
OSはどのような処理をしてるのでしょうか?

スクロールすつ毎に書き足してるのでしょうか?
それとも、描写されてない部分も一度、メモリーに
画像として作っておいて、それを描写してるのでしょうか?

1)スクロール毎に新しく描写する部分を書き足してる
2)一度、全部、画像としてメモリーに保持しといて
 描写範囲だけ、VRAMに落として描写している

この二つぐらいしか思いつかないのですが
もし宜しかったらお願いします。
0548デフォルトの名無しさんNGNG
スクロール毎に新しく描写する部分を書き足してる
遅い機種で実行してみれば様子が分かる
0549デフォルトの名無しさんNGNG
javascriptで使用するオブジェクトについて考えると、
描画されてない部分でもオブジェクト自体は存在しなければならない。
つまり全部「オブジェクトとして」メモリーに展開されている。
0550520NGNG
>>522
レスありがとうございます。色々と試していたらエラーを残り1つまで解決できました。
特定のライブラリを無視にエラーで表示されていたlib以外をぶち込んだらどうにか。
で、最終的に下記ソースファイルを新たに追加したらエラーを残り1つまで漕ぎ着け
ました。

extern "C"
{
int __mb_cur_max;
int errno;
}

ところが、最後のエラーが・・

anew.c
c:\anew.c(2) : error C2059: 構文エラー : '文字列'
julian - エラー 1、警告 0

あまりの眠さにやっと書いてますが、どなたか分かる方いましたら
お願いします。
0551デフォルトの名無しさんNGNG
source だせー
0552デフォルトの名無しさんNGNG
-------------------------------
| Main Window              |
-------------------------------
|ファイル 編集 表示_______________________  | --------------
|----------| ・デバッグウィンドウ表示| | | Debug Window |
|        | ・・・          | | |-------------|
|        | ・・・          | | |          |
|        -----------------  | |          |
|                      | |          |
|                      | --------------
-------------------------------

こんな風な、常に開いておけるデバッグ情報出力画面を作りたいのですが、
SDIでモードレスダイアログを使用せずに作れますか?
0553デフォルトの名無しさんNGNG
はい
0554デフォルトの名無しさんNGNG
>>550
それは自分で作ったのか?
本見てるとかどっかで拾ってきたんだろうか?
0555デフォルトの名無しさんNGNG
初歩の質問ですみませんがお願いします
クラスのメンバ変数は暗黙的に初期化されていると何かで読んだ気がするのですが
VC++では初期化されていないようです
これはコンパイラによって違うものなのでしょうか?
0556 NGNG
>>525 >>529
プロバイダがアク禁くらって書き込めなかった。
どうもありがとう。
0557デフォルトの名無しさんNGNG
>>555
普通はコンストラクタで初期化すると思うけど
そういう学問的な話はC++スレ向きだと思う。
0558デフォルトの名無しさんNGNG
カスタムコントールってどうやって作るの?
とりあえず、CEditから派生させてCEditExを作りました。
(1)どうやってCEditViewに結びつけるの?
(2)どうやってダイアログに貼り付けるの?
0559デフォルトの名無しさんNGNG
>>558
Edit Controlを配置
コントロール変数を「変数の種類 : CEditEx」で作成
0560デフォルトの名無しさんNGNG
わからないひとは黙ってください
0561デフォルトの名無しさんNGNG
>>559
>>543
0562デフォルトの名無しさんNGNG
>>558
>>543
0563デフォルトの名無しさんNGNG
>>558 はマルチ
0564デフォルトの名無しさんNGNG
>>563
それがどうした
0565デフォルトの名無しさんNGNG
>>564
逆切れか?w
みんな>>558には答えるなよw
0566デフォルトの名無しさんNGNG
>>558
CEditの派生なら、カスタムコントロールではないよ。
0567デフォルトの名無しさんNGNG
>>565
無能な人に答えていただく必要はありません
0568デフォルトの名無しさんNGNG
>>558 >>560 >>564 >>567
釣りなんだろうな、と釣られてみる(w
0569デフォルトの名無しさんNGNG
( ゚Д゚)ハァ?
0570デフォルトの名無しさんNGNG
はぁ…
0571541NGNG
>>545
詳しい説明ありがとうございました。
0572デフォルトの名無しさんNGNG
VC++2002
ダイアログボックスに配置されてたエディットコントロールから値を取得しようと
下記コードを書いたのですが、アサーションがでます。
どこがマズイのですか?

void CxxxView::OnMenu1Click()
{
CTestDlg TestDlg;
if(IDOK == TestDlg.DoModal())
{
CString buffer;
TestDlg.GetDlgItemText(IDC_EDIT1,buffer);
TRACE("%s\n",buffer);
}
}
0573デフォルトの名無しさんNGNG
>>572
DoModalから返ってきたときは
ダイアログ自体はすでに破棄されているので、
そのあとのGetDlgItemTextに失敗する。

例えばCTestDlgのOnOKとかで、
CTestDlgのメンバ変数にでも
エディットコントロールの値を記憶しておき、
それを取得するようにすればいい。
0574デフォルトの名無しさんNGNG
>>572
アサーションの内容を読もうともしない英語恐怖症のお前。
0575デフォルトの名無しさんNGNG
>>573
テメェに聞いてねーんだよリアル精神障害者が。
チンカスでも掃除してろw
0576デフォルトの名無しさんNGNG
(;´Д`)
0577デフォルトの名無しさんNGNG
>>575
女にはチンカスはありません。
0578デフォルトの名無しさんNGNG
>>567
>>575
0579デフォルトの名無しさんNGNG
少し前から変なのがいついてるな。
0580デフォルトの名無しさんNGNG
VCにイヤな思い出でもあるんだろ。
0581デフォルトの名無しさんNGNG
教えてもらってるのにあんな態度ってのは....
考えられないよな、普通
0582デフォルトの名無しさんNGNG
確かにVC++に相当なコンプレックスをお持ちのようですな。
言語仕様的にはJavaやC#と似たようなもんだし
コンソールアプリとかの基礎からコツコツやりましょうぜ > 若い人
0583デフォルトの名無しさんNGNG
VC++はソースとかぐっちゃぐちゃになってそう。
もう後から後からいろんなもの付け足してよく問題でないな。
感心するよ。
0584デフォルトの名無しさんNGNG
問題出す椰子はどの開発環境でも出すかと
VCは開発環境としては結構使い勝手いいと思うけどな

けど、問題出さないよう、手間かけてきちんとまとめたものより
問題出てでも、早くものを作り出したほうが評価されるのはなんとも…



ごめん、メモ帳にしちゃった(´・ω・`)
0585デフォルトの名無しさんNGNG
いやVisualStudioのファミリーのツール類だよ。

0586デフォルトの名無しさんNGNG
秋葉チックなVisual系がいっぱい居るStudioはここですか?
0587デフォルトの名無しさんNGNG
就職もせずにぷらぷらしてます。
0588デフォルトの名無しさんNGNG
> 就職もせずにぷらぷら
Visual 就++ ってことですね
0589デフォルトの名無しさんNGNG
ここはおもしろくないスレですね
0590デフォルトの名無しさんNGNG
就++だと讐になるぞ
0591デフォルトの名無しさんNGNG
>>573
CTestDlg にpublicなコントロール変数m_Editを定義して
下記のように書き直してみましたがまだアサーションが
でます。

void CxxxView::OnMenu1Click()
{
CTestDlg TestDlg;
if(IDOK == TestDlg.DoModal())
{
char buffer[100] = {0};
TestDlg.m_Edit.GetLine(0,buffer);
TRACE("%s\n",buffer);
}
}
0592デフォルトの名無しさんNGNG
>>591
そりゃ出るだろうな。>>573の言う通りにしてないんだから。
0593デフォルトの名無しさんNGNG
醜++
0594デフォルトの名無しさんNGNG
もういいよ
おまえらに聞いてもなんも解決しねー

結局、質問者となんら変わらないんだね

その割には偉そうだが www
0595デフォルトの名無しさんNGNG
>>573で解決してるじゃん。
0596デフォルトの名無しさんNGNG
IDOK == TestDlg.DoModal()
だからIDOKに値が入る時にはもうダイアログが閉じてるんだろ
0597デフォルトの名無しさんNGNG
>>569
釣り乙。
0598596NGNG
あ、代入じゃなくて比較だ
0599デフォルトの名無しさんNGNG
挿入
0600デフォルトの名無しさんNGNG
VC7.1 のカーソル操作を Emacs 風にすることって出来ないんですか?
0601デフォルトの名無しさんNGNG
>>600
自分でカスタマイズすればいいんじゃないの?
0602デフォルトの名無しさんNGNG
Visual C++でCのコンパイルってできるんですか?
0603デフォルトの名無しさんNGNG
>>602
できます。拡張子が'.c'ならCとしてコンパイルします。
0604デフォルトの名無しさんNGNG
>>603 房丸出しの質問なのに答えていただいてありがとうございます。
0605デフォルトの名無しさんNGNG
>>601
カーソル操作のカスタマイズなんか出来るんですか?
ググっても情報が出てこないんですが…
0606デフォルトの名無しさんNGNG
>605
ttp://www.greenwood.co.jp/~k-aki/soft/vs_emacs_key/
ttp://www.hh.iij4u.or.jp/~peto/Emacs/emacs.html

この辺りが参考にならないか?
0607デフォルトの名無しさんNGNG
char *filename[14] = {"1.txt","2.txt","3.txt",〜"100.txt"};

こういうの100.txtまで書かずにfor文等で楽にする事出来ませんか?
0608デフォルトの名無しさんNGNG
http://www.codeguru.com/dbfiles/get_file/CBuildPacket.zip?id=6861&lbl=CBUILDPACKET_ZIP&ds=20040331
を利用してパケットを自作するプログラムをMFCで作りたいのですが、
このCBuildPacketクラスを利用するためにはどのように設定すればいいでしょうか?
コンパイルがうまくできなくて困っています。




0609デフォルトの名無しさんNGNG
for(i=1;i<=100;i++){
sprintf(filename, "%d.txt", i);
}
0610デフォルトの名無しさんNGNG
どうでもいいが、>607のfilename[14]の14ってのはどこから出てきた数字なんだ。
0611デフォルトの名無しさんNGNG
>609
char filename[100][10];
for(int i=0;i<100;i++){
 sprintf(filename[i],"%d.txt",i+1);
}

の方が良くないか?
0612デフォルトの名無しさんNGNG
>>608
どっかに説明あるはずだけど、
それだとzipしか落ちてこないし、中はソースしか入ってない。
0613デフォルトの名無しさんNGNG
>>608はマルチだ
MFCスレにもいた
0614デフォルトの名無しさんNGNG
使い方はこにある。少しヘンだけど。

http://www.codeguru.com/Cpp/I-N/network/basicnetworkoperations/article.php/c6861/
0615デフォルトの名無しさんNGNG
>>614
おーい、マチルだ〜〜〜!
0616デフォルトの名無しさんNGNG
>>612さん、614さん
回答有難うございます。
このクラスを使って自分で新しい物を作りたいのですが、
どのように設定(MFCの雛形ファイルのどのファイルにインクルード)などすればいいのでしょうか?
0617デフォルトの名無しさんNGNG
>>615
だから何?
0618607NGNG
>>609>>611
ありがとうございます。
そんな方法ががあるんですね。

>>610
14ファイルでtestしてた名残です。
0619デフォルトの名無しさんNGNG
初歩的な質問ですいません。
c:\hogehoge\libsent\src\util\j_printf.cpp(14) : fatal error C1083: include ファイルを開けません。
'sp/spKanji.h': No such file or directory

というエラーが表示されました。ちゃんとj_printf.cppのプロパティから
sp/spKanji.hをインクルードしているのですが何が問題でしょうか。
よろしくお願いします。
0620デフォルトの名無しさんNGNG
>619
>345-353
0621デフォルトの名無しさんNGNG
AfxMessageBox(IDS_*****);
のIDS_****というのが、定義されていない識別子としてエラーになるのですが・・・
0622619NGNG
>>620
早速の返答ありがとうございました。345-353を拝見させていただきました。
そこに記載されている間違い易い事例を参照にしながら継続していましたが
やはり間違いは無いようです。

j_printf.cppの冒頭のソースは
#include <sent/stddefs.h>
#include <stdarg.h>
#include <sp/spKanji.h>
#if (defined(_WIN32) && defined(USE_SPLIB))
#endif

となります。j_printf.cppのプロパティから「インクルードするディレクトリ」で
sp/spKanji.hを設定していますが問題はないと思うのですが・・。
他のcppのインクルードではエラーが出ないのですが。。

もし分かる方いましたらよろしくお願いします。
0623デフォルトの名無しさんNGNG
>>621
#include "resource.h"
0624デフォルトの名無しさんNGNG
>>622
どうでもいいけど、ディレクトリの指定にファイル名を入れたのか?
0625デフォルトの名無しさんNGNG
>>623
インクルードしてみたのですが、だめでした。
0626デフォルトの名無しさんNGNG
sp/spKanji.h
このファイルはどこにあるんだ?
0627619NGNG
>>624
有難うございます。ディレクトリ指定にファイル名入ってますが
他に重複していたらしく削除したら動きました。
本当に有難うございました!!
0628デフォルトの名無しさんNGNG
XP+VC6.0です。
ファイルを保存しようとすると
「保存できません。他のアプリケーションで使用中」
とのメッセージがたまに出ます。
翌日、プロジェクトに登録していたファイルも消えました。
Nortonが悪さしているようなんですが、どうすればいいのでしょうか?
0629デフォルトの名無しさんNGNG
祈りなさい
0630デフォルトの名無しさんNGNG
VBCommenter の C++ 版ってありますか?
もしあるのなら、どこにあるか教えてください。m(_ _)m
0631デフォルトの名無しさんNGNG
>>628
> Nortonが悪さしているようなんですが、どうすればいいのでしょうか?

そこまで分かってるんならとりあえずNorton停めてテストすれば?
0632コピペ推奨NGNG
生活保護人員数(厚生統計要覧 平成13年度)では日本人114万人に対し、
人口比では圧倒的に少ないはずの外国人が42万人も
生活保護を不正受給・違憲受給しています。
http://www.geocities.co.jp/WallStreet-Bull/2487/
在日韓国朝鮮人の5人に一人は違憲な生活保護不正受給者であり
彼らの生活費は日本人の税金によってまかなわれています。


外国人が日本国内で 生活に困窮したり 行き倒れになりそうになれば
その国の大使館に救いを求めたり帰国すのが道理であり、
日本国に生活保護を求めるべきものではありません。
この日本に寄生し日本国民の税金を吸血する外国人への
生活保護不正受給・違憲受給を停止すべきだ。
http://news17.2ch.net/test/read.cgi/news2/1093261927/
http://news17.2ch.net/news2/kako/1093/10932/1093261927.html
0633コピペ推奨NGNG
http://www.geocities.com/naverchat/CyberTerrorism01/
特にヨーロッパ・アメリカ・オーストラリアなど先進国たちの一部ネチズンたちはチャット空間で韓国人だと明らかにすれば弾き出す
とか集団的に退場して捨てるなど韓国人に対して反感を持っていることで現われた.
バンクフェワンドルの海外ペンパル(http://www.prkorea.com/vankop10_5.html)と海外チャットサイト訪問経験(http://www.prkorea.com/vankop10_4.html)
を打ち明けた掲示板には外国ネチズンたちに ‘門前薄待’当ぎりネチズンたちの事情が並んでいる.
海外チャットを始めてからひと月頃なったと言うバンクフェワン精米領さんは
“韓国出身だと言えば有り難がらない場合が 70%ほどされた”と “その時ごとに気持ちが悪かった”と打ち明けた
0634デフォルトの名無しさんNGNG
VC++.net(MFC)で他のアプリケーションのテキストボックスなどに
文字を入力したりするアプリケーションをつくりたいのですが、
どのようにすれば他のアプリケーションへキー入力のメッセージを
送れるのかわかりません。

目的のテキストボックスへフォーカスを持って行くのは
手動でマウスで行う方法でもよいとおもっております。

是非助けて下さい。 よろしくお願いいたします。
0635デフォルトの名無しさんNGNG
>>634
http://www.0ban.com/araken/qxhelp/m_sendkey.htm
SendKeyでいけると思う。
0636628NGNG
無宗教です。
Xp+Vc6+Nortonで使われているかたおれないでしょうか
0637634NGNG
>>635 様
レスありがとうございます。
紹介していただいたSendKeyというのはQXエディタのマクロですか?
やりたいことはまさに紹介していただいたURL通り
(出来ればウィンドウ・コントロールをアプリケーションで指定したいが・・・)
なのですが、 VCやVBなどからそれをおこないたいのです。
0638デフォルトの名無しさんNGNG
WSH
0639syoNGNG
今年の夏からプログラマーになりましたsyoです。
現在派遣に出てeMbedded4.0、WindowsCEで開発しています。
NEC製Pocket@i用のSDKを探しているのですが、ダウンロード
できるところを誰かご存知ではないでしょうか?
0640デフォルトの名無しさんNGNG
http://www.wince.ne.jp/
0641デフォルトの名無しさんNGNG
>>636
ノートンをあぼーんさせるか、そのメッセージ出ても無視して再保存すれば保存できる
特に実害は無い
0642デフォルトの名無しさんNGNG
http://www.codeguru.com/dbfiles/get_file/CBuildPacket.zip?id=6861&lbl=CBUILDPACKET_ZIP&ds=20040331
を利用してパケットを自作するプログラムをMFCで作りたいのですが、
このCBuildPacketクラスを利用するためにはどのように設定すればいいでしょうか?
コンパイルがうまくできなくて困っています。

0643デフォルトの名無しさんNGNG
>>642
しつこいぞマルチ野郎
0644デフォルトの名無しさんNGNG
プロモ第2段 既出?

ttp://www.videogamerx.net/bbs/view.php?id=vx01&no=8088

これ見る限り期待していいかと!
0645デフォルトの名無しさんNGNG
クラスAを用意し、メンバー関数(a,b,c)を3つほど作りました。
派生クラスはありません。

そのメンバ関数aの中で、動的変数を配列で定義したのですが、
b,cで認識してくれません。

これは常識なのでしょうか。
0646デフォルトの名無しさんNGNG
>>645
C++の質問ならC++スレへ
0647デフォルトの名無しさんNGNG
>645
http://www.google.com/search?num=50&hl=ja&c2coff=1&q=%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E5%A4%89%E6%95%B0+%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97+C%2B%2B&lr=lang_ja
0648デフォルトの名無しさんNGNG
>>645
つーか、マルチすなや。
0649デフォルトの名無しさんNGNG
http://www.geocities.jp/chiakifujimon/text/text.html の↓ってどこにコーディングすればいいんでしょうか?
初心者なんで全く分かりません。

void CNotePadView::OnViewFont()
{
LOGFONTlf;// LOGFONT構造体の宣言
m_Font.GetLogFont(&lf);// 現在のフォント情報を取得

// コモンフォントダイアログの作成
CFontDialogdlg(&lf, CF_SCREENFONTS|CF_INITTOLOGFONTSTRUCT);

// ダイアログを開く
if (dlg.DoModal() == IDOK)
{
m_Font.DeleteObject();
if(m_Font.CreateFontIndirect(&lf))
SetFont(&m_Font);
}
}
0650デフォルトの名無しさんNGNG
>>648
うるさいんじゃ、カスが。死ねや。テメェのドタマ切り飛ばすぞ。糞が。死ねや。
0651649NGNG
自己解決しました。すいません。
0652デフォルトの名無しさんNGNG
ディレクトリを選択するダイアログボックスはどうやってつくればいいですが?
(ファイルは選択しない)
0653デフォルトの名無しさんNGNG
>>652
ツリーが出てくるあれ?
0654デフォルトの名無しさんNGNG
ツリーがでてくるあれです。
0655デフォルトの名無しさんNGNG
SHBrowseForFolder
0656デフォルトの名無しさんNGNG
ありがとうございます。
0657デフォルトの名無しさんNGNG
コンソールプログラムを作っているのですが
ある特定のフォルダにあるファイルの一覧を
配列なりに取得するにはどうしたらいいのでしょうか?
0658デフォルトの名無しさんNGNG
<<655
ルートからのパスを取得するにはどうしたらいいでしょうか?
0659デフォルトの名無しさんNGNG
>>657
FindFirstFileとか。
配列に入れたいなら結果をstd::vectorにpush_backしていけばいいんじゃない?
0660デフォルトの名無しさんNGNG
BROWSEINFO bi = { 0 };
//bi.lpszTitle = _T("必要ならタイトルを付ける");
LPITEMIDLIST pidl = SHBrowseForFolder ( &bi );
if ( pidl != 0 )
{
// get the name of the folder
TCHAR path[_MAX_PATH];
if ( SHGetPathFromIDList ( pidl, path ) )
{
//pathを使って処理
}

// free memory used
IMalloc * imalloc = 0;
if ( SUCCEEDED( SHGetMalloc ( &imalloc )) )
{
imalloc->Free ( pidl );
imalloc->Release ( );
}
}
0661657NGNG
>>659
ありがとうございます
試してみてなんとか取得できているのですが

WIN32_FIND_DATA tmp;
HANDLE Handle; BOOL h=1;
vector<string> filename(MAX_PATH); int i=0;

Handle = FindFirstFile("*", &tmp);
if (Handle==INVALID_HANDLE_VALUE){
  cout << "can't" << endl;
} else{
  while (h){
    filename.push_back((string)tmp.cFileName);
    h = FindNextFile(Handle, &tmp);
    i++;
    cout << i << tmp.cFileName << endl;
    cout << filename[i] << endl;
}
}

としたところリストに追加できているようなんですが
データ型が違うのかリスト内では文字になってないみたいなんですが
何型にキャストすればいいでしょうか?
0662デフォルトの名無しさんNGNG
ありがとうございます。
無事にできました。
0663デフォルトの名無しさんNGNG
できたといっているが一応。
#include <iostream>
#include <string>
#include <vector>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[]) {
  int i = 0;
  WIN32_FIND_DATA FindData;
  vector<string> FileName; //本当はvector<basic_string<TCHAR> > FileName;の方が良い。
  HANDLE Handle = FindFirstFile(argv[1], &FindData);
  if (Handle == INVALID_HANDLE_VALUE) {
    cout << "can't" << endl;
  } else {
    do {
      FileName.push_back(FindData.cFileName);
      cout << Filename[i] << endl;
      i++;
      cout << i << FindData.cFileName << endl;
    } while (FindNextFile(Handle, &FindData));
  }
  return 0;
}
0664デフォルトの名無しさんNGNG
PostMessage()で float型のデータを送るには、どうしたらよいのでしょうか?

void Sender()
{
 float a;
 PostMessage(aの値);
 ・・・
}

LRESULT CALLBACK WindowProc( ... , WPARAM wParam, LPARAM lParam)
{
 float b = Sender()で送った値;
 ・・・
}
PostMessage( ... , a ) で送って b=(float)lParam; では整数に切り詰まるし、
かといって aのポインタ送るのもNGでしょうし...
0665デフォルトの名無しさんNGNG
>>664
void Sender()
{
 float a;
 PostMessage(..., *(LPARAM*)&a);
}

LRESULT CALLBACK WindowProc( ... , WPARAM wParam, LPARAM lParam)
{
 float b = *(float*)&lParam;
}
0666657NGNG
>>663
助かりました
i++が先に来ていて普通に読み込めてないところ参照していたんですね
ずっと見当違いなところばっかり見てました
ありがとうございましたっ
0667664NGNG
>>665 うーむ、ありがとう
0668デフォルトの名無しさんNGNG
>>665 ネタだよな・・・ (;´Д`)
0669デフォルトの名無しさんNGNG
floatならlongとサイズが同じだから、
typedef union {
float f;
long l;
} MockFloat_t;
MockFloat_t a;
a.f = 1.2;
PostMessage(..., a.l);
}
{
MockFloat_t b;
b.l = lParam;
printf("%g\n", b.f);
}
0670デフォルトの名無しさんNGNG
せめてFLOAT...
0671デフォルトの名無しさんNGNG
フォームビューの背景色を変更するにはどうしたらいいでしょうか
ttp://www.ksskk.co.jp/tech/DialogBackColor.html
の方法をCMyDialogをC***Viewにおきかえて
CMyDialog::OnInitDialog()のところはC***View::OnIntialUpdateにおきかえて
ためしてみたのですがうまくいきませんでした。
0672デフォルトの名無しさんNGNG
>>671
それは「CFormView 背景色 変更」でググった上での質問かね?
0673デフォルトの名無しさんNGNG
ググってみましたが、
上のアドレスの内容とほとんど同じものでした。
アプリがMDIなのですが、なにか関係があるのでしょうか?
0674デフォルトの名無しさんNGNG
ウィンドウを最大化するとタスクバーが隠れてしまう現象を直すには
どうしたらいいのでしょう?
0675デフォルトの名無しさんNGNG
>>674
タスクバーのプロパティから「常に手前に表示」や「自動的に隠す」をいじってみろ。
0676デフォルトの名無しさんNGNG
解決しました。
コンストラクタとデストラクタをまちがえてました。
0677デフォルトの名無しさんNGNG
>675
一応常に手前に表示になってます。競合の問題ですかね。
とりあえずSetWindowPosでNOTOPMOSTにしてみます
0678674NGNG
解決しました。WM_SIZE時に

GetClientRect(親ウィンドウハンドル, &rect);
SetWindowPos(親ウィンドウハンドル, NULL
NULL
NULL
rect.right,
rect.bottom-1,
SWP_NOMOVE );
というふうに、最大化時のクライアントの高さから1引けば
タスクバーが前に表示されるようです
0679674NGNG
と思ったら解決してないですね
こんどはタスクバーを非表示にしたり縦にすると問題が出てしまいます
タスクバーの位置と大きさを取得して計算でFAですかね
0680674NGNG
今度こそ解決しました。
ウィンドウが最大化の状態において、タスクバーのサイズが変更されたときに
SystemParametersInfoでタスクバー以外の矩形領域のサイズを得た後、
親ウィンドウをSetWindowPosでサイズ変更すれば、タスクバーが移動しまくったり
サイズ変更しまくっても、常にウィンドウがタスクバー以外の最大領域にサイズ変更されます。
というかWin32APIなんでスレ違いですね。
お騒がせしました。
0681デフォルトの名無しさんNGNG
初めまして、
 以下の環境にてプログラムを製作し、実行したところ、値を入力してenterを入力
したところでプログラムが終了してしまいました。
 値を入力し表示させて画面を保つにはどのようにすればよいのでしょうか。
 御教授頂ければ幸いです。
[環境]WindowsXP home(SP2) Visual C++.net (ver 1.1.4322 SP1)
[コード]
#include <iostream>
using namespace std;

int main()
{
 int num;
  cin>>num;
cout<<num+2<<endl;
cin.ignore();
return 0;
}
0682デフォルトの名無しさんNGNG
>>681
ちょっと前にも同じ質問見た気がするなぁ
0683デフォルトの名無しさんNGNG
コンパイルオプションで、xeon 用に最適化することって出来ますか?
/G で良いのでしょうか?
0684デフォルトの名無しさんNGNG
>>681
http://pc5.2ch.net/test/read.cgi/tech/1098912550/398-
0685デフォルトの名無しさんNGNG
再描画がうまくいきません

ファイルをダウンロードするhttpクライアントを作っています。
全体の何%ダウンロードしたかをリアルタイムで表示させたいの
ですが、再描画がうまくいかないのでできないです。
100%ダウンロードした後にのみ再描画が起きるだけです。

recv関数(サーバからデータを受け取る関数)を呼び出すたびに、
UpdateAllViews(NULL)を呼び出しているのですが、再描画ができないです。

プログラムが何か作業をしているときは、再描画はできないのでしょうか?
0686デフォルトの名無しさんNGNG
俺だったら通信部分を別スレッドに分けると思う。
0687デフォルトの名無しさんNGNG
メッセージが飛べない状況では描画はできない。
0688デフォルトの名無しさんNGNG
UpdateAllViewのあと
viewにWM_PAINTを送った?
0689デフォルトの名無しさんNGNG
>>688
おいおい、自分でWM_PAINTを送信したら駄目だろ。

InvalidateRect(NULL);
UpdateWindow();

とすべき。
0690685NGNG
>>689
試していますが、コンパイルが通らないです。
MFCを使って組んでて、documentクラスの関数内では使えないのかな?
0691685NGNG
>>689
VIEWクラスにontimer関数を作ってそこから、
InvalidateRect(NULL);
UpdateWindow();
を実行したけど、症状は変わらないです。
0692685NGNG
>>686
マルチスレッドって奴ですか?
なんか難しそうだな。
0693デフォルトの名無しさんNGNG
関数{
 ループ{
  recv();
  UpdateAllViews();
 }
}

こんな感じでやってるんでしょ?
0694685NGNG
>>693
そうです。

またそれとは別にVIEWクラスにsettimerを作って
一秒おきにontimerを実行させて
>>691のようなこともやってみましたが、無理でした。
0695デフォルトの名無しさんNGNG
>>694
うん、関数の中にいる間は更新されないよ。
通信を非同期にするとか別スレッドにするとかしないと。
0696685NGNG
>>695
ありがとうございます。スレッドについて勉強してみます。
出直しますわ。みなさん、どうもありがとね。
0697デフォルトの名無しさんNGNG
微妙にすれ違いかもしれない質問をさせてください。

 VisualC++2003を買ってきてオンラインでユーザー登録をしようとしたんですが製品IDが違うって言われちゃうんですよ。
 この製品IDというのは、VC++のバージョン情報を表示させて、「情報のコピー」ボタンでコピーしてから
数字と-だけを貼り付ければ良いんですよね。
 もしかして、ぜんぜん違うことやっちゃってますかね。
0698デフォルトの名無しさんNGNG
>>697
サポートへ電話
0699697NGNG
平日は忙しいんだ…
土日もやってくれよ〜>電話サポート
0700デフォルトの名無しさんNGNG
>>699
土日くらい休ませて呉よ
0701デフォルトの名無しさんNGNG
休むのは火木にでもしろ。
つーか、昼休みとか取るんじゃねぇ、市役所かてめぇら。
0702デフォルトの名無しさんNGNG
>>701
お前が火木にでも休んで電話しろ。
0703デフォルトの名無しさんNGNG
ぜんぜん違うことやっちゃってます
0704681NGNG
 大変失礼致しました。
注意力散漫になっていて、見落としていたようです。
>684様
参考にさせて頂きます。
有難う御座います。
0705685NGNG
AfxBeginThread()使ってみたが、症状は変わらないわ。
一体なんなんだ?
0706685NGNG
こんな感じで、マルチスレッドな感じに組んだつもりなのですが、ダメです。

int CHctestwin2View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: この位置に固有の作成用コードを追加してください
AfxBeginThread(Thread_byoga, this);

return 0;
}

UINT Thread_byoga(LPVOID pParm)
{
while(TRUE){
Sleep(1000);
my_pView->InvalidateRect(NULL);
my_pView->UpdateWindow();
}

return 0;
}
0707685NGNG
>>686
>>695
今、読み返してみたのだが描画を別スレッドにするのではなく、あくまで通信を別スレッドに
しろということなのか・・・
0708デフォルトの名無しさんNGNG
コンパイルエラーにはならない?
my_pViewというのは外部変数?
それと、無限ループを抜け出す条件が無いようだけど
カキコするために省略したの?
0709685NGNG
>>708
コンパイルエラーにはならないです。
my_pViewは外部変数です。
無限ループを抜け出す条件が無いですが、省略ではありません。
0710デフォルトの名無しさんNGNG
もし my_pView が MFC のクラスなら
スレッドを超えてのインスタンスの使用はできないはず。
ナマのウィンドウハンドルを持つべきだね。
0711デフォルトの名無しさんNGNG
すみません、質問させてください。
win2kで Visual Studio.NET を使っています。
// sample.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
cout << "開始\n";

__int64 b = 0x0;
char a[30];
cin >> a;
for(int c = 0;c < strlen(a);c++ ){
b = b + a[c];
b = b * b;
//printf("%I64d8",b);
cout << b << "\n";
//ここでbが9桁以上なら先頭から8桁までをbに入れたい。
//b が 1234567890 なら b に 12345678までを入れたい。
}


cout << "終り\n";

return 0;
}
0712711NGNG

dosから入力した文字を16進数として二乗し、9桁以上なら先頭から8桁を
残し、この結果と次の文字の16進数を足し合わせて二乗するというような
ものを作りたいのですが、ここからどうやればいいのか困っています。
入門書の最初に文字列の配列のことがかかれていましたので
bの__int64型をchar型配列に入れられれば配列の数から桁数を
操作できると考えてchar d[30] = (char) b;
などといろいろ他にもやってみたのですが色々なエラーがでて
頭がゴチャゴチャになって解決できません。
sample.cpp(15): warning C4018: '<' : signed と unsigned の数値を比較しようとしました。
等です。どのようにしたらよいかアドバイスいただけないでしょうか。お願いします。
0713デフォルトの名無しさんNGNG
>>711-712
それってVisualCなの?
DOSプロミングのスレがあったような
もしくはCか?
0714711NGNG
>>713
レスありがとうございます。
開発環境はVisual Studio.NETの中のVC++です。
本もVC++の入門書です。
perlとmysql、アセンブラの経験は少々あるのですが
c関係はまったくありません。

最初はまだコントロールボックスなどを作っていろいろしてみたりではなく
文法的なところから学びたいと思ってdosで動くような簡単なものから
やっています。
0715デフォルトの名無しさんNGNG
>>711
strlenを使ってるのならその数字が桁数だろうから
その
a = strlen(b);
a = a - 8;
c = 1;
for(i=0;i<a; i+){
c = c * 10;
}

bを数字に置き換えて

d = b / c;
で
d が8桁になるんじゃね

違ったらゴメン
0716デフォルトの名無しさんNGNG
while( b>=100000000 ) {
  b /= 10;
}
0717715NGNG
>>716
この方が簡単だね・・
0718デフォルトの名無しさんNGNG
a[8] = '\0';
int b = atoi(a);
0719デフォルトの名無しさんNGNG
if(name=="")って書くと、'const char [1]' から 'TCHAR [256]'
に変換できません。
と怒られます。nameがTCHARです。
charは == が使えないんでしたっけ?どうすればいいのか教えてください
0720デフォルトの名無しさんNGNG
_T("")
0721デフォルトの名無しさんNGNG
教えてください。
VC6++ windows2000で、

#include <fstream.h>

void main( void ){
ofstream fp;
fp.open( "test.txt", ios::out);
__int64 a;
a=9223372036854775807;
cout << a <<endl;
fp << a << endl;
}

とやると、
error C2593: 'operator <<' があいまいです。
とエラーになってしまいます。
cout << とか
fp << を使うにはどうすればよいかおしえてください。
0722デフォルトの名無しさんNGNG
>>721
お前は大学の数学の授業で小学校の算数の質問するか?
0723デフォルトの名無しさんNGNG
2ちゃんねる=大学
0724デフォルトの名無しさんNGNG
>>722

黙れボケ。お前には聞いてねぇんだよ。
0725デフォルトの名無しさんNGNG
>>724
そういう仕様
マニュアルに書いてある
0726デフォルトの名無しさんNGNG
cout << (int)a <<endl;
fp << (int)a << endl;
0727デフォルトの名無しさんNGNG
cout << _i64toa(a,buf,10) <<endl;
fp << _i64toa(a,buf,10) << endl;
0728デフォルトの名無しさんNGNG
エディットコントロールに文字が入ってるかどうか、
もしくは何文字入ってるか調べる関数はありますか?
0729デフォルトの名無しさんNGNG
GetWindowTextLength
0730sageNGNG
ありますますます。
0731デフォルトの名無しさんNGNG
あります
0732デフォルトの名無しさんNGNG
VC7 です.

スレッド内の処理のところで
ブレークポイントを置いて,
そこにひっかけようとすると
VS ごと固まるんですが,これは仕様なんですか?
0733デフォルトの名無しさんNGNG
Visual C++6.0 にいきなり挑戦は大丈夫でしょうか?
今少しやってるんですけど意味が全然分かりましぇん。
0734デフォルトの名無しさんNGNG
初歩的なことですいません。テキストを読み上げるサンプルプログラムを
外部dllを利用してVC++.NETで作っています。
win関連はMSDNライブラリーを参照することで関数の書き方と意味が
分かりますが、外部dll内の関数の書き方と意味がわかりません。
(例:数字の読み上げを実行する関数)
それらの関数や定義は、どこかのリソースに記述されているもの
なのでしょうか。Cの基礎は学習しましたがVCは購入してから
マニュアル半分で使っているので・・。

先輩方すいませんが教えてください。
0735デフォルトの名無しさんNGNG
>>733
VisualC++はソフト名
VisualC++という言語はないが、VisualC++関連の書籍はある
その書籍は大体WindowsAPIに関しての話
WindowsAPIに触れるなら最低C言語、できればC++を理解していないと
まともにやりたいことはできん

>>734
dllが含まれてたものに*.hはなかった?
0736デフォルトの名無しさんNGNG
VC++向けの本でAPIやってるのは少数派だよ・・・・。
0737デフォルトの名無しさんNGNG
MFCか…^^;

まぁどっちにしろC/C++言語理解せんと無理
0738デフォルトの名無しさんNGNG
>>734
SDKのドキュメント持ってないの?
http://www.microsoft.com/japan/msdn/accessibility/speech/techinfo/default.asp
0739デフォルトの名無しさんNGNG
>>736
http://ja.wikipedia.org/wiki/Application_Programming_Interface
0740デフォルトの名無しさんNGNG
ビルド回数をバージョン情報用のダイアログに表示したいのですが
ビルド回数の取得はどうやったら良いのでしょうか?

今の所、リリースビルドする前に手動でビルド回数を書き換え
ています。面倒なので、それを自動化したいです。
0741デフォルトの名無しさんNGNG
>>735 そうですか。ありがとうございます。どれくらいCの勉強すればいいんでしょうか?C言語の入門書1冊読んだぐらいでは甘すぎますよね?
0742デフォルトの名無しさんNGNG
>>740
ビルド番号でぐぐれ
0743デフォルトの名無しさんNGNG
>>741
C→WinAPI→C++→MFC
0744デフォルトの名無しさんNGNG
>>741
漏れは
C->C++->MFC->WinAPI
を薦める

C++の入れる場所はもう少し後でも構わんが
C言語の入門1冊がどの程度か知らないけど
完全に理解できたのなら進めなくもない
けど、実際「言語」の理解だけじゃ難しいと思うので、不十分だと思う

>>743
APIよりMFCの方が入門じゃねぇの?
0745685NGNG
>>710
こうやって見たけど、動作は変わらないです。なんか俺場違いな気がしてきた。
こういうのはネットワーク関連で聞くべきかな。

UINT CHctestwin2View::Thread_byoga(LPVOID pParm)
{
while(TRUE){
Sleep(1000);
((CHctestwin2View*)pParm)->InvalidateRect(NULL);
((CHctestwin2View*)pParm)->UpdateWindow();
}

return 0;
}
0746デフォルトの名無しさんNGNG
しかし、Visual C++6.0を始めたばかりですとか言う人多いけど、
販売されなくなってから結構経つのに何で?
オークションとかで買っているのか?

0747デフォルトの名無しさんNGNG
VC++6.0・SDKで質問です。
タブコントロールにツールチップをつけるとき、
TOOLINFO構造体のuIdメンバはどう設定すればいいのでしょうか。
ボタンのようにIDを指定するわけにもいかず、立往生しています。
0748デフォルトの名無しさんNGNG
>>744
MFCはゴミだから要らない
0749デフォルトの名無しさんNGNG
ゴミとまでは言わないが、学習用途には向かない。
隠蔽されすぎて混乱するだけだろう。

俺的には
C -> C++ -> WinAPI -> ..... -> MFC

MFCはツール製作用に限定した方が無難かも知れない
0750デフォルトの名無しさんNGNG
激安で買えるVisual Stdio.NET theSpoke Disc.8
http://pc5.2ch.net/test/read.cgi/tech/1095325802/

激安で買えるんだ
4000円くらい
0751デフォルトの名無しさんNGNG
そういう話ではなく
Visual Studio「6.0」がなぜいまさら出回ってるのか
という話なのでは?

ってか、
>激安で買えるVisual Stdio.NET theSpoke Disc.8
Stdio… 職業病ですか?w
0752デフォルトの名無しさんNGNG
>>746
やぼな質問するんじゃねーよ
0753デフォルトの名無しさんNGNG
一度あきらめたんだろうね。
0754デフォルトの名無しさんNGNG
ちょっと調べた限りじゃ2003のほうが容易に(ny
0755デフォルトの名無しさんNGNG
2003に乗り換えた人から貰ったとか
0756デフォルトの名無しさんNGNG
>>719
if(name=='')
0757デフォルトの名無しさんNGNG
>>756
何かと思ったらシングルクォートが2つ続いているのね。
でもそれ、コンパイル通らないような…

>>719がやりたいのは name=='\0' かな?
0758685NGNG
別のスレで聞いてみるわ
0759デフォルトの名無しさんNGNG
if(strcmp(name,"")==0)
0760デフォルトの名無しさんNGNG
>>758
http://pc5.2ch.net/test/read.cgi/tech/1096187183/623-
0761デフォルトの名無しさんNGNG
開発環境win2000,VC++5.0です。
早速ですが質問です。
TransparentBlt()関数が定義されていない識別子として認識されます。
関数名で検索したところ、「wingdi.hと、msimg32.libが必要」
ということが分かりました。

さらに「msimg32.lib」で検索し
プロジェクト→設定→リンク→オブジェクト/ライブラリモジュール
に追記すれば良いと分かりました。実際に
オブジェクト/ライブラリモジュールの欄の末尾に半角スペースを挟んでmsimg32.libと追記し、
#include <wingdi.h>
の一文を、
#include <windows.h>
の次に記述したのですがうまくいきません。

解決法が有りましたら教えてください。
0762デフォルトの名無しさんNGNG
そういうときはな、wingdi.hを開いてTransparentBltを検索するんじゃ。
するとその見つかった上のほうに、#if (WINVER >= 0x0400)
ってあるからWINVERを0x400以上にしてやればOKなんじゃ。
0763761NGNG
ご指摘の通り、wingdi.h内に以下のような部分がありました。

#if(WINVER >= 0x0500)
      …
#define EMR_TRANSPARENTBLT 116
      …
#endif /* WINVER >= 0x0500 */

MSDNを参照して
#define WINVER 0x500
という記述を先頭に加えることより、WINVERを0x0500以上にしたのですが
認識がされません。

そもそも、ヘッダ内で#if(WINVER >= 0x0500)
となっている時点でおかしいということでしょうか?
0764デフォルトの名無しさんNGNG
>>746 漏れは2年前にプログラムの練習しようとして二日ぐらいで挫折。
24歳無職で就職への足がかりのためになればと近日再開。
0765デフォルトの名無しさんNGNG
if( )の中に条件を二つ入れたいのですがどう書けばいいんでしょうか?
0766デフォルトの名無しさんNGNG
>>765 御免。ルール違反だが空行省略して書く。
formula
::= logical_and_expression logical_or_list
logical_or_list
::= logical_or *
logical_or
::= "||" logical_and_expression
logical_and_expression
::= logical_not_expression logical_and_list
logical_and_list
::= logical_and *
logical_and
::= "&&" logical_not_expression
logical_not_expression
::= primary_formula
||= logical_not
logical_not
::= "!" primary_formula
primary_formula
::= formula_element
||= "(" formula ")"
formula_element
::= relational_expression
||= "True"
||= "False"
0767デフォルトの名無しさんNGNG
馬鹿ばっかり
0768デフォルトの名無しさんNGNG
>>764
2年前ってすでに6.0は店に並んでなかったような・・・・。
0769デフォルトの名無しさんNGNG
>>768
そりゃ店によるだろ
今でもあるところにはあるよ
0770デフォルトの名無しさんNGNG
初歩的な質問ですいません。
VisualStudio.net2003(VisualC++,net)で作ったアプリをビルドして98/ME系マシーンで動かしたら
文字化けしてしまったのですが、どうやったら解決できますか?
マネージ拡張ってところは「いいえ」にして、98/MEでも動くようになったんですが・・・
文字化けが・・文字セットっての弄って直るかと思ったら、状況変わらず・・・
98/Meだと動かないと思って諦めたほうがいいんですか?
0771デフォルトの名無しさんNGNG
>>770
・どういうアプリを作ったのか?
・それのどこの部分が化けているのか?

を具体的に
0772デフォルトの名無しさんNGNG
>>771
えっと、ダイアログベース?で、ダイアログのエディットボックスに数字を入力して、その合計を計算するアプリです。
早く言えば計算機ですね。
その計算ってボタンが文字化けしてるみたいです。
英語は問題なく表示されてるそうです。
日本語文字が、アラビア語みたいな文字になる言ってたかな・・
0773デフォルトの名無しさんNGNG
日本語対応のランタイムがない悪寒。
0774デフォルトの名無しさんNGNG
初歩的な質問で申し訳ありません。

データベース(Oracle)との連携アプリを作りたいのですが、
VC++でどのようにやればよいのかわからずにおります。
書籍などをあたるとUnix系のものは見かけるのですが、
VC++ではどうやるのかがわかりません。

開発環境は
OS:Windows XP Soft:VisualC++.NET
DataBase:Oracle9i
となります。
※実際に作るのは、C++ではなくCが中心となります。

やりたい処理は、
Oracleへの値の挿入と検索で
挿入、検索はプログラム内でFileから読み込んだものや
Oracleから検索した値をもとに実行します。
0775デフォルトの名無しさんNGNG
>>774
Oracleには優秀な教材が揃っているので是非教育を受けてください。
#つーか、個人なら検索し捲くれ、法人なら金を惜しむな。
0776デフォルトの名無しさんNGNG
>>772
1.リソースビューからそのダイアログを開く
2.ダイアログの外枠を選択してプロパティを開く
3.フォントの設定を確認する

or

必要なDLL等が実行環境にコピーされているか確認する
0777デフォルトの名無しさんNGNG
フォントは
Font(size) MS Shell Dlg(8)
UseSystemFont True
になってます。
必要DLLってなんだろ・・・
DLLが無かったら起動できない気もしますが。
0778773NGNG
>777
MFCのランタイムには日本語対応のものとそうでないものとがあったはず。
後者でも動くが文字化けする。
0779デフォルトの名無しさんNGNG
>>774
関係あるかな?
ttp://www.athomejp.com/goldfish/mfc/
0780デフォルトの名無しさんNGNG
>>779
そこのoo4oの記事は古いような…
まぁいいか。
0781デフォルトの名無しさんNGNG
実はユニコードという落ちでは
0782デフォルトの名無しさんNGNG
VC6.0、MFCで開発を行っております。
レジストリでIMEをローマ字入力からかな入力に
書き換えたのですが有効になってくれません。
マシンを再起動すれば有効になります。
再起動しなくてもレジストリを有効にする
いい方法はありませんでしょうか?
0783デフォルトの名無しさんNGNG
>>782
>VC6.0、MFCで開発を行っております。
何の関係があるんだw
というよりスレ違い言うかなんでレジストリを弄る必要があるんだ?w
0784デフォルトの名無しさんNGNG
>>782
レジストリは有効なんだろ
プログラムが読みに行ってないだけ
IMEが必用もないのにレジストリ読んでたら遅すぎて使い物にならんだろ
0785デフォルトの名無しさんNGNG
>>783
>>784
VC始めて1ヶ月なので馬鹿な事いってたらすみません。
最初はImmSetConversionStatus関数でIME設定を行おうと
していたのですが、IME2000では不可能らしいのです。
ttp://forums.belution.com/ja/vc/000/170/31.shtml
それでどうしようかと悩んでいたのですが、レジストリに
IMEを設定する個所がありました。
HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Ime\Japan\IMEJP\MSIME
(上記レジストリはWin2000Proの自分の環境です)
ここを変更するとIMEが変更されるのですが、有効に
するには再起動が必要になりました。
それでマシンを再起動しなくてもレジストリを
有効にする手段はないかと思い質問した次第です。
長文すみません。よくわかってないので馬鹿な質問で
気分を害されたのであれば重ねておわびします。
0786sageNGNG
ImmSetConversionStatusはIME2000で使える。
コードは猫でもを見てくれ。
0787デフォルトの名無しさんNGNG
IMEで設定したいのはひらがなや全角カタカナなどの
入力モードではなく、IMEプロパティの以下の項目なのです。
●IMEプロパティ→全般→キー/ローマ字/色設定→キー設定・色設定
 MS-IME97⇔MS-IME2000⇔ATOK⇔VJE⇔WX
●IMEプロパティ→全般→入力設定→ローマ字入力/かな入力
 ローマ字入力⇔かな入力
●IMEプロパティ→辞書/学習→学習
 なし⇔最適⇔過剰
上記項目もImmSetConversionStatus関数から
設定できるのでしょうか?
0788デフォルトの名無しさんNGNG
自分で碌に調べもしないで質問する辺り、先ほどの謝罪も誠意のない逃げ口上に見えるな。
0789デフォルトの名無しさんNGNG
OnInitialUpdate()で
this->GetClientRect(&pRect);

int cright = pRect.right;
int cbottom = pRect.bottom;

pWnd.Create(_T("STATIC"), "Hello", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL,
CRect(cright / 4, 0, cright, cbottom), this, 1234);
として、OnSize()で
   CView::OnSize(nType, cx, cy);
// Resize list to fill the whole view.
pWnd.MoveWindow (cx / 4, 0, cx, cy);
としているのですが、スクロールバーつきのpWndが
親ウインドウのサイズをかえてもサイズがかわりません。
他にもOnSizeをOnDrawにかえてみたりしてみたのですが、だめでした。
どうしたらいいでしょうか?
0790デフォルトの名無しさんNGNG
スクロールバーなんですが、

sitileh.cbSize = sizeof(SCROLLINFO);
sitileh.fMask = SIF_POS | SIF_RANGE | SIF_PAGE | SIF_DISABLENOSCROLL;
sitileh.nMin = 0;
sitileh.nMax = 27;
sitileh.nPage = 16;
sitileh.nPos = 0;
SetScrollInfo(hTEWnd, SB_HORZ, &sitileh, TRUE);

このようにセットして使ってるのですが、つまみの大きさと移動が
nMax - nPageとなってしまっているようなのです。
更にスクロールが終了してるように見えて更に下方にnMax分進めてしまえます。
普通にnMax分のスクロール量で、nPage飛ばせるようにしたいのですがどこかで記述を間違えているのでしょうか?
原因が分かる方いたら教えてください。
0791デフォルトの名無しさんNGNG
全部で27行で1ページに16行表示できるから
あと11行分スクロールできる。
0792デフォルトの名無しさんNGNG
>>791
なるほど、1ページの表示行数ってことだったんですか。
単なるスキップ量だと思ってました。

スクロールが終わる位置に来てもスクロールしてたのは後の判定でnMaxだけでやっていたため、
一番下にスクロールした後もカウントしてしまったようです。
判定部分もnMax-nPageと直した後は正常に動きました。
どうもありがとうございました。
0793しんNGNG
しんと申します。
VisualC++6.0を使っているのですが
エクセルみたいなコントロールの仕方を教えてください。
0794デフォルトの名無しさんNGNG
>>793がコントロール不能になりますた
0795しんNGNG
ごめんなさい。
エクセルみたいなセルがたくさんあるコントロールを貼り付けたいのです。
エディットコントロールをたくさん貼り付けるとめんどくさいです。
0796デフォルトの名無しさんNGNG
>>795
コンポーネント一覧にFlexGridがあるはずだからそれでもはっつけてください。
いっそ、Excelコンポーネントをはっつけてもいいかもしれません。
0797デフォルトの名無しさんNGNG
CEdit::Createを使用し、エディットコントロール作成しようと思うのですが
どこのセクションのソースに記述するばいいのでしょうか?
0798797NGNG
VC++6を使ってます。
MFCのダイアログスタイルでまず画面作成し、
ソースでCEdit::Createでコントロールを作成したいのです。
左側(ソースツリー)にクラスやソースなどたくさんありますが
初期時にコントロールを作成するファイルはどれにあたるのでしょうか?
0799デフォルトの名無しさんNGNG
>>798
<プロジェクト名>Dlg.{cpp,h}
0800質問ですNGNG
すいません、質問です。
計算した結果がvisualC++だど、exeで出力されるんですが、それを ○○.dat ファイルにしてPCに保存するにはどうすればよいでしょうか? 
0801エスパーNGNG
>>800
hoge.exe>○○.dat
0802800NGNG
レスありがとうございます。
それはwindows上でmuleの環境を作らないといけないということでしょうか?
0803デフォルトの名無しさんNGNG
ん?exeで出力?
0804デフォルトの名無しさんNGNG
>>800
[プロジェクト]-[設定]-[リンク]-[出力名]
0805804NGNG
ん?計算した結果?
0806804NGNG
>>802
リダイレクトはWIN標準でおっけー。
だが、貴方の知りたい答えかどうかは極めて怪しい。
0807800NGNG
できました
ありがとうございます。

でも文字化けしてるんですが、何かいいファイル拡張子はないでしょうか?
windows2000です
0808804NGNG
コンパイラの出力は、テキストエディタでは読めないことが多いです。
申し訳ないですが、掲示板での説明でわかってもらえる自信がありません。
誰か身近な人に聞いてみる事をおすすめします。
0809デフォルトの名無しさんNGNG
c言語で関数を作っておいて、
コマンドボタンを押したらその関数を実行
こんな感じのことはできますよね?

cのコードをVCでデバッグってどうやったらできるんでしょうか?
コマンドラインからコンパイルはできるのですが、
デバッグの仕方が分からなくて困っています。
検索用語だけでもいいので教えていただけませんか?
0810804NGNG
デバッガは激しく環境依存ですが、「コマンドボタン」ということは、winですか?
ならば、http://www.google.co.jp/search?hl=ja&q=vc+%E3%83%87%E3%83%90%E3%83%83%E3%82%AC&lr=
0811デフォルトの名無しさんNGNG
>>808
そうですか、丁寧なレスありがとうございました。
助かります。
0812デフォルトの名無しさんNGNG
MDIの子ウインドウ(FormView)の***View.cppのOnInitialUpdate()で

TCHAR ChildName[] = TEXT("WavView");

WNDCLASS wndclass;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = AfxWndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = ChildName;

if (!RegisterClass(&wndclass))
{
MessageBox(NULL, TEXT("This Program reauires Windows NT!"),
MB_ICONERROR);
}

pWnd.Create(ChildName, "Hello", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL,
CRect(cright / 3, 0, cright, cbottom), this, 1234);
pWnd.ShowWindow(SW_SHOW);
としているのですが、フォームヴューの中に新しいウインドウが描写されません。
どこがまちがっているのでしょうか?
0813デフォルトの名無しさんNGNG
>812
レス来ませんね。申し訳ないけど、私も試してみる気になれないです。
MSDSでWNDCLASSとRegisterClass()を調べれば(もう一回じっくり読めば)
解決する問題だからスルーされてるのだと思います。
0814デフォルトの名無しさんNGNG
> MSDS
( ´д)ヒソ(´д`)ヒソ(д` )
0815デフォルトの名無しさんNGNG
http://haiiro.info/up2/file/2360.jpg

リソースエディタ使ってタブコントロールを作ってみたんですが、
良く見るタブコントロールとなんか違うのができちゃって、なんか変です。
スタイルとか色々いじってみたんですが、うまくできなかったので、どう直したらいいか教えて下さい
0816デフォルトの名無しさんNGNG
>>815
・よくそんなきもい配色で使えるな。
・キャプチャ画像を縮小したら見せたいものも見えないだろうが、ボケ。
・TabCtrlのプロパティで境界線か何かに余計なチェック入れただろ。判らなきゃ一度消して作り直せ。
0817デフォルトの名無しさんNGNG
>>815
簡単に出来たぞ
http://v.isp.2ch.net/up/b8bd51e12404.gif
0818デフォルトの名無しさんNGNG
Windowsはなぜキモイ配色が出来るようになっているのだろう?
世の中には色を正確に把握出来ない人もいる。そういう人たちには
色の違いでボタンの状態を示したり、テキストを強調したりしても
色の違いは認識出来ないので意味が無いことになる。そこで
マイクロソフト社はWindowsロゴを搭載するソフトウェア製品は、
キモイ配色が可能であることが必須にしており、また、これを
満たしていないものはWindowsロゴを取得することが出来ない。
そして色の変更だけで情報の変更を伝えるのではなく、それ以外の情報、
例えば、テキストならフォントの大きさを変えるなど、も併用して
色の認識を正確に出来ない人たちにもきちんと伝わるようにすることを
推奨しているのである。
0819デフォルトの名無しさんNGNG
>>818
で?
0820デフォルトの名無しさんNGNG
ITEM name;
このときのITEMってなんですか?
0821デフォルトの名無しさんNGNG
型名
0822デフォルトの名無しさんNGNG
820です。
>>821さんありがとうございます。
int や char とはどう違うんですか?
0823デフォルトの名無しさんNGNG
>>822=820
マルチすなや。

ITEMという名前の型がどこかで定義されているはずだからマニュアルでもなんでも好きなもん検索しろ。
VisualStudio使っているなら簡単に定義が見つかるはずだ。
0824デフォルトの名無しさんNGNG
つまり、816=819は人間としての配慮が欠如しているということ
0825デフォルトの名無しさんNGNG
は?
0826デフォルトの名無しさんNGNG
%dと%fはどう違うのですか?
0827デフォルトの名無しさんNGNG
10進法と小数点だよ。
0828デフォルトの名無しさんNGNG
>>826
%dはint型(整数)。10進数での入出力。
%fはprintf系ではdouble型、scanf系ではfloat型(共に浮動小数点数)。
0829デフォルトの名無しさんNGNG
>>826
Cの勉強してんの?

【初心者歓迎】C/C++室 Ver.11【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1099190154/l50
C言語なら俺に聞け! Part 94
http://pc5.2ch.net/test/read.cgi/tech/1099212476/l50
暇な人がエレガントにC/C++の宿題片づけます 33代目
http://pc5.2ch.net/test/read.cgi/tech/1097932699/l50
C統合・質問スレッド
http://pc5.2ch.net/test/read.cgi/tech/1068359871/l50
C/C++ 超超初心者
http://pc5.2ch.net/test/read.cgi/tech/1099922209/l50
C++相談室 part37
http://pc5.2ch.net/test/read.cgi/tech/1098543578/l50
C言語教室
http://pc5.2ch.net/test/read.cgi/tech/1099552998/l50
C言語なら俺俺に聞け! Part 87
http://pc5.2ch.net/test/read.cgi/tech/1090652323/l50
0830デフォルトの名無しさんNGNG
>>827
ありがとうございます。

>>828
なるほど、よくわかりました。

>>829
はい、そうです。大学で勉強してます。
まだ始めたばかりでよく分からないんです・・・

スレ違いでしたか。すいません。
0831デフォルトの名無しさんNGNG
大学でVisual C++使うのか・・・
うちの学科じゃLinux+gccだよ
しかも使いこなせてない。
0832デフォルトの名無しさんNGNG
>>823
ウルセー死ねや。テメェは消えてろ。ノータリンが。
0833デフォルトの名無しさんNGNG
>>832
何起こってんの?
0834デフォルトの名無しさんNGNG
VCは、そこそこの値段でまずまず速いからね。
理化学系で速度が要求される場合はVC多いんじゃないかな。
0835デフォルトの名無しさんNGNG
まずまず?

なんだそりゃ。
0836デフォルトの名無しさんNGNG
>>834
FORTRANより速いの?
0837デフォルトの名無しさんNGNG
Vitamin C++
0838デフォルトの名無しさんNGNG
>>836
どの分野で?
使い方如何で違う。
0839デフォルトの名無しさんNGNG
>>838
いや、理学系の話なんでしょ?
0840デフォルトの名無しさんNGNG
すいません。
つい最近VC++.NETを使い始めた者ですが、ビルドの際に

c:\VC++.NET\Chapter1\HelloWorld\HelloWorld.cpp(9): fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。

蒸気のようなメッセージが出てコンパイルが通りません。なんともインすと^るしなおして衣類ので環境のもんぢとも思えないのですがどのような原因が考えられるでしょうか?
ご教授ください よろしくお願いいたします。
0841840NGNG
ソースは以下のとおりです

#include<iostram>
using namespace std;

int maint()
{
cout << "HelloWoeld" <<endl;
return0;
}
0842デフォルトの名無しさんNGNG
>>840
お前の書いた文から判断すると
誤字脱字だな
0843デフォルトの名無しさんNGNG
>>841
#include "stdafx.h"
0844デフォルトの名無しさんNGNG
#include<iostream>      ←訂正いたしましたが結果は変わりませんでした
using namespace std;

int maint()
{
cout << "HelloWoeld!" <<endl;
return 0;             ←左辺も訂正 
}
0845デフォルトの名無しさんNGNG
#include<iostream>
#include "stdafx.h"

using namespace std;

int maint()
{
cout << "HelloWoeld!" <<endl;
return 0;
}

指摘していただいたとおりに上記の用にコードを区j見直すと
"stld" このの名前をもつ名前空間は存在しません c:\VC++.NET.Chapter\HelloWorld\HelloWorld.cpp
"cout" このの名前をもつ名前空間は存在しません c:\VC++.NET.Chapter\HelloWorld\HelloWorld.cpp
"endl" このの名前をもつ名前空間は存在しません c:\VC++.NET.Chapter\HelloWorld\HelloWorld.cpp

上記のようなエラーメッセージが出てきました 多少進展したと考えてよいのでしょうか
上起3点の指摘についてもアドバイスいただけたりと思えます
0846デフォルトの名無しさんNGNG
maint ?
0847デフォルトの名無しさんNGNG
#include<iostream>
#include "stdafx.h"

using namespace std;

int main()
{
cout << "HelloWorld!" <<endl;
return 0;
}

mainに変更いたしましたが結果は何も変わりませんでした。
0848デフォルトの名無しさんNGNG
846さんの環境ではこのコードで通りますでしょうか
その点についても教えていただけたらと思います。
0849840NGNG
関数が通らないということは何らかのincludeが足りないのでしょうか。
ご教授いただけら太思います。
0850デフォルトの名無しさんNGNG
>>845
> "stld" このの名前をもつ名前空間は存在しません c:\VC++.NET.Chapter\HelloWorld\HelloWorld.cpp
stld?
0851デフォルトの名無しさんNGNG
#include "stdafx.h"
#include <iostream>
0852デフォルトの名無しさんNGNG
>>847
お前向いてないからあきらめろ
話にならん
0853デフォルトの名無しさんNGNG
>>852
黙れ。ぶっ殺すぞ。
0854デフォルトの名無しさんNGNG
>>853
なんだと
0855デフォルトの名無しさんNGNG
HelloWorld!すら作れないなんて初心者にもなれないよ
0856デフォルトの名無しさんNGNG
最低限のC++の基礎ぐらいは知らないとVisualC++は無理
0857デフォルトの名無しさんNGNG
>>847 Cの入門書の本買って1から勉強した方がいいよ。
0858デフォルトの名無しさんNGNG
>>813
ありがとうございます。
MSDNで調べて、AfxRegisterWndClassをつかうとうまくいきました。
0859デフォルトの名無しさんNGNG
エディットコントロールを利用して、スロットマシーンを作ったんですが
数字が、1発で表示されてします。ドラムが回ってるような、感じに1 5 6 4 2 6っとドラムが回ってるような
感じのパチンコの中央のスロットみたいなのを予定してるんですが

for ( i = 1; i < 10; j++) {
乱数処理(rand)
その乱数を表示(SetDlgItemInt)
}
こういう処理を書いたんですが、回ってるように見えないんですが、どうしたらいいですか?
0860デフォルトの名無しさんNGNG
for ( i = 1; i < 最大値; i++) {
i を表示(SetDlgItemInt)
}
乱数処理(rand)
for ( i = 1; i < その乱数; i++) {
iを表示(SetDlgItemInt)
}
あと、ループ内にSleepとかを置いてスピードを調整させた方がいいと思う。
0861デフォルトの名無しさんNGNG
dosのプログラムじゃないんだからさ
イベントが発生するまで更新されないよ
0862デフォルトの名無しさんNGNG
>>861
黙ってろ馬鹿。
0863デフォルトの名無しさんNGNG
>>860
馬鹿ですか?
0864デフォルトの名無しさんNGNG
そいう自前のループで表示までやりたかったら
描画も自分でやらなきゃダメ
0865デフォルトの名無しさんNGNG
でもループの中で描画すると、ループ回してる間は他の操作受け付けなくなるな
0866デフォルトの名無しさんNGNG
>>865
プログラミング言語SCHEME エンジンによるマルチタスキング
を参照。
自分でマルチスレッド実装すれば?
0867デフォルトの名無しさんNGNG
>>866
あくまでループの中でできるか念のため確認してみただけ。
普通はそんなことやらない。
0868デフォルトの名無しさんNGNG
数字を切り替えただけじゃ「回転」にならないだろ?
1ピクセルごとにスクロールさせろや
0869デフォルトの名無しさんNGNG
嫌です
0870デフォルトの名無しさんNGNG
>>868

お前には聞いてないしwwwwwww

消えろやwwwwwwwwwwww


0871デフォルトの名無しさんNGNG
Shell_NotifyIconのバルーンチップにURLリンクとか画像とか表示することはできますか?

VC6です。
0872デフォルトの名無しさんNGNG
Visual C++ で、Windows API入門に書いてあることを勉強しています。
勉強をする上で困っています。ご助力お願いします。

根本的なのですが、Windows Message? でしたっけ
WM_LBUTTONUPとか、WM_QUITとかの一覧がある場所は、
MSDNライブラリ、あるいは、Visual Studioのどこなのでしょう?

1週間調べたのですが、いまだに一覧がどこにあるのかわかりません。

マウスイベントを捕らえたいのですが、メッセージの名前を知らないので、
どのようなメッセージがあるのか、知りたいのです。
0873デフォルトの名無しさんNGNG
c言語で作ったコードをvisual c++で流用することは可能でしょうか?
たとえば

int heikin(int a, int b)
{
   return (a+b)/2;
}

こんな関数の引数をテキストボックスa,bからもらって
ラベルcに数値として表示する
↑こんな感じのことをcのコードをそのまま使ってしたいのです。
0874デフォルトの名無しさんNGNG
>>872
簡単にみつかるけど
どこ探したの?
ぜひ知りたい
0875デフォルトの名無しさんNGNG
>>872
VC5/6系で言えばClassWizardとか関数追加するダイアログの中で
適切なメッセージのリストが出るし、簡易説明も付いてくるんだけど
そういうのとは違うのかな?
0876デフォルトの名無しさんNGNG
>>873
できる。
0877デフォルトの名無しさんNGNG
>>873
できない
0878デフォルトの名無しさんNGNG
ヽ(`Д´)ノ
0879デフォルトの名無しさんNGNG
金出せば買えるだろうけど豚に真珠、猫に小判だな
0880デフォルトの名無しさんNGNG
>>873
>使ってしたいのです。
出来るな。
0881873NGNG
>>873ですが、MSDNでの検索ワードを教えていただけませんか?
0882873NGNG
↑cのコードをそのまま使ってこんな感じのことをしたいのです。
0883デフォルトの名無しさんNGNG
>>881
WM_LBUTTONUP
0884デフォルトの名無しさんNGNG
>>872
WM_LBUTTONUP
まぎらわしいな
0885デフォルトの名無しさんNGNG
>>873
わかるまでCかC++の入門書でも読んでろ
0886872NGNG
で・・・、検索ワードは教えてくれないんですか?
0887デフォルトの名無しさんNGNG
>>872
>>886
WM_LBUTTONUP
0888872NGNG
http://search.microsoft.com/search/results.aspx?st=b&qu=WM+LBUTTONUP&view=ja-jp

日本語じゃだめとか・・・・なんでしょうか??
0889デフォルトの名無しさんNGNG
>>WM LBUTTONUP

WM_LBUTTONUP
アンダースコアが抜けている
0890デフォルトの名無しさんNGNG
http://www.google.co.jp/search?hl=ja&q=msdn+WM_LBUTTONUP
これの1番目
0891デフォルトの名無しさんNGNG
MSDN Home > MSDN Library > Win32 and COM Development > User Interface > Windows User Interface > User Input > Mouse Input
0892872NGNG
http://search.microsoft.com/search/results.aspx?view=ja-jp&st=b&na=82&qu=WM_LBUTTONUP
ここが入り口でいいんでしょうか。

しかし、いっぱいでてくるのですが、リンクをめぐっていても、私には
メッセージに対する全体的な説明と、WM_LBUTTONUPに関するエラー、
WM_LBUTTONUPに関連したクラスの説明などしか、見つけることが出来なくて、
困っています。(それを読むので1週間かかってしまいました)
0893872NGNG
お礼が遅くなりましたが、
みなさま、お答えいただいて、ありがとうございます。
0894872NGNG
891さん ありがとうございます。
891さんにご指摘いただいた場所は、ツリー表示で
MSDN Home > MSDN Library > Win32 and COM Development > User Interface >
Windows User Experience > Windows Management > Windows User Interface >
User Input > Mouse Input

にて、確認できました。 また、英語版でしたら、単純に調べることが出来るようですね。
日本語版しか調べていなかったのは浅はかでした。

これからは、本家のMSDNライブラリで調べるようにします。ありがとうございました。
0895デフォルトの名無しさんNGNG
>>894
出来ない
0896872NGNG
>>875
「クラスビュー」「関数の追加」 のキーワードありがとうございました。  
賢くなりました。
(私は C++/MFCではなく、C/W32API の方式で書いていたようです)

連続投稿しすぎで申し訳ありません。これで消えます。
0897デフォルトの名無しさんNGNG
卒業おめでとう
0898デフォルトの名無しさんNGNG
>>872が何から卒業したのか答えよ
0899871NGNG
871ですが、Shell_NotifyIconのバルーンチップではテキスト以外は無理でしょうか?
0900873NGNG
このスレのみんな|||||||||||||||||||||||873||||||||||||||||||||||||||||このスレのみんな

破ることのできない厚い壁がある。
0901デフォルトの名無しさんNGNG
>>899
出来ない
0902デフォルトの名無しさんNGNG
Xp+VC6で,Cのプログラムをデバックしています。
ある時から次のようなメッセージが出てDOS窓が閉じてしまいます。
なにがおこっているのでしょうか?
*** ここから ***
'ntdll.dll' をロードしました、合致するシンボル情報は見つかりませんでした。
'D:\WINDOWS\system32\kernel32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。
スレッド 0xC08 終了、終了コード 18 (0x12)。
プログラム hoge.exe' はコード 18 (0x12) で終了しました。
0903デフォルトの名無しさんNGNG
>>902
DOSはスレ違い
0904デフォルトの名無しさんNGNG
>>903
なんでやねん。

>>902
情報不足。
DOS窓が閉じなかった頃と閉じるようになってからで何が変わってるか調べてみ。
0905デフォルトの名無しさんNGNG
>1 :デフォルトの名無しさん :04/10/16 07:44:25
>Visual C++入門者・初心者からの質問を、
>お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

>>904
Windowsのプログラムを作ろうとしてなくても
Visual C++使い始めたら入門者・初心者なのか?
0906デフォルトの名無しさんNGNG
Visual C++でもコンソールアプリは作れるようになっているから
Windowsのプログラムを作ろうとしてなくても
Visual C++使い始めたら入門者・初心者で良いのでは?
0907デフォルトの名無しさんNGNG
だれか >>873 の相手してやれよ
0908デフォルトの名無しさんNGNG
Visual C++で作ったコンソールアプリは
DOSモード(≠DOS窓)で起動したときには動きません。
0909デフォルトの名無しさんNGNG
>>906
そういうのはC/C++のスレの方がにぎわってるから、
コンソールアプリ初心者ならそっちの方がいいだろう。
ここに来ても期待はずれだと思う。
0910デフォルトの名無しさんNGNG
>>908
32ビットのコンパイラはみんなそう。
Visual C++に限ったことじゃない
0911デフォルトの名無しさんNGNG
>>902は
DOS窓で動かしたいだけなんでしょ?
0912デフォルトの名無しさんNGNG
>>873
>>876
0913902NGNG
C言語の勉強で開発環境として、VC6を使っています。

main.c(){
printf("Hello\n");
}
をmain.cの名前で作成しそれをVC6で開き、コンパイル実行していました。
上手くいってたときは、
"Please Any key"
みたいなメッセージが出て、何かキーを押すとDOS窓が閉じていました。
それがあるときから、さっき書いたメッセージが出力されていきなり閉じるんです。
0914デフォルトの名無しさんNGNG
>>913
それってデバッグモードとリリースモードの動作の違いのことを言ってるだけじゃん
0915デフォルトの名無しさんNGNG
>>913
Ctrl+F5かな?
0916デフォルトの名無しさんNGNG
>>914
いや全然違うから。
0917デフォルトの名無しさんNGNG
コード全部晒せ
0918902,913NGNG
>>915
そうです。黒い画面のことです。
てっきり、DOS窓だと思っていたんですが。
0919デフォルトの名無しさんNGNG
>>902
すべて正常です
0920デフォルトの名無しさんNGNG
動きは正常

きみのエラーは

> 'ntdll.dll' をロードしました、合致するシンボル情報は見つかりませんでした。
> 'D:\WINDOWS\system32\kernel32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。
> スレッド 0xC08 終了、終了コード 18 (0x12)。
> プログラム hoge.exe' はコード 18 (0x12) で終了しました。

なんだから、プログラム中にバグがあるだけ。
0921873NGNG
>>912さん
どうやったらできるんでしょうか?
MSDNの検索ワードを教えてください。
0922デフォルトの名無しさんNGNG
>>921
出来ない
0923873NGNG
。・゚・(ノД`)ヽどっちを信じたらいいのかわからないよ
0924デフォルトの名無しさんNGNG
どっちも信じるな
0925デフォルトの名無しさんNGNG
どっちも信じろ
0926デフォルトの名無しさんNGNG
>>923
そんなので悩むやついないし
0927デフォルトの名無しさんNGNG
>>873
質問が曖昧だから、できるともできないともいえる。
何がしたいのかをもっとちゃんと説明できない限り、このまま玩具扱いだよ。
0928デフォルトの名無しさんNGNG
あんまいじめるな。w
heikinの引数a,bは整数型になっているが、これはテキストボックスから
取得した文字列を整数に直したものと見なして良いのか?
No->煎ってよし
Yes->ラベルcにセットする値はreturnの戻り値なんだな?
No->市ね
Yes->ラベルと言っているからにはVC++.NETでマネージドなんだな?
Yes->.NETの質問スレに行け
No->回答
char buf[20];
itoa(heikin(a,b),buf,10);
static->SetWindowText((LPCTSTR)buf);
のような感じ
0929873NGNG
>>928
thx!
出来ますた。m(_ _)m
0930873NGNG
>>929さん私のドッペルゲンガーですか?

質問したかったことは>>928さんが上三行でおっしゃっていることであってます。

>>928さんのレスを見た感じでは
テキストボックスに入力された値を配列ssに渡す方法もありそうなので、

txbx_aに数字を入力->vcのなんらかの関数を使ってtxbx_aのasciiを配列ss_aに渡す
->num_a=atoi(ss);
Cコードで書いた色々な処理・・・

こんな風にすればCのコードをそのまま使えそうですね。

ありがとうございました。
これで心置きなくCの関数を作ることができます。
0931デフォルトの名無しさんNGNG
まあコンパイラは通るだろうから後はその関数までの道程をどうするかだよ。
0932デフォルトの名無しさんNGNG
>>930
テキストボックスと直接整数をやり取りするGet/SetDlgItemIntもよろしく。
0933デフォルトの名無しさんNGNG
>>930
出来ない
0934デフォルトの名無しさんNGNG
質問させてください。VC++.netの_rotl、_rotl64、_rotr_rotr64のヘルプを見たのですが
例
/* ROT.C: This program shifts values
* to rotate an integer.
*/

#include <stdlib.h>
#include <stdio.h>

void main( void )
{
unsigned val = 0x0fd93;
__int64 val2 = 0x0101010101010101;

printf( "0x%4.4x rotated left three times is 0x%4.4x\n",
val, _rotl( val, 3 ) );
printf( "0x%4.4x rotated right four times is 0x%4.4x\n",
val, _rotr( val, 4 ) );

printf( "%I64x rotated left three times is %I64x\n",
val2, _rotl64( val2, 3 ) );
printf( "%I64x rotated right four times is %I64x\n",
val2, _rotr64( val2, 4 ) );
}

出力
0xfd93 rotated left three times is 0x7ec98
0xfd93 rotated right four times is 0x30000fd9
101010101010101 rotated left three times is 808080808080808
101010101010101 rotated right four times is 1010101010101010

0935934NGNG
こう書いています。
なんとかわからないながらも必死こいて
0xfd93 rotated left three times is 0x7ec98
は理解しました。
0xfd93が二進数で
1111110110010011 これに3回0を継ぎ足すと
1111110110010011000 で 16進数で0x7ec98になります。
ですが
0xfd93 rotated right four times is 0x30000fd9
について全然理解できません。
0x30000fd9 は 2進数で
110000000000000000111111011001
ですが、何処をどうしたらこんな2進数になるのかがわかりません。
どなたか教えていただけないでしょうか。よろしくお願いします。
0936デフォルトの名無しさんNGNG
>>935
shiftじゃなく、rotateだから
右へあふれた桁(キャリー)が左から現れる。
110000000000000000111111011001
        ↓
111000000000000000011111101100
        ↓
011100000000000000001111110110
0937デフォルトの名無しさんNGNG
そのうち shift のときの alithmetic と logical の違いも質問されそう
0938デフォルトの名無しさんNGNG
変なやつがいるな
アセンブラのスレにでも消えろよ
0939964NGNG
>>936
レスありがとうございます。
0xfd93 rotated right four times is 0x30000fd9
についてですがローテートライトだと
0xfd93 = 1111110110010011
これが
00001111110110010011
こうなるのではないかと考えたのです。
unsigned int型が0〜4294967295
ですから桁あふれしているようにもみえませんし・・

0xfd93 = 1111110110010011
を4ビットローテートして何故
0x30000fd9 = 110000000000000000111111011001
こんな桁外れというかわけわかんない2進数になるんでしょうか?

936さんがレスしてくださっている意味がわかんなくてもう一度細かく書いてみました。
・・何かとてつもなくバカな事かいてるような気が。
0940デフォルトの名無しさんNGNG
>>939
何か勘違いしてない?
確かに初期状態が32bitで
11111101100100110000000000000000
なら、RRで
00001111110110010011000000000000

になるけど、32bitで0xfd93は
00000000000000001111110110010011
だから、RRで
00110000000000000000111111011001
になるってだけの話
0941964NGNG
>>940
あ!そう言うことか。やっとわかりました。ありがとうございます。
0942デフォルトの名無しさんNGNG
頭に _ がついてる関数は環境依存で非推奨だろ。
使い方も知らない初心者が無理に使う必用ない。
0943デフォルトの名無しさんNGNG
もはや手段が目的
0944デフォルトの名無しさんNGNG
>>942

指図すんな蛸。
0945デフォルトの名無しさんNGNG
>>942
何で非推奨なんだよ。バーカ。
0946デフォルトの名無しさんNGNG
子供電話相談室ですよー
わかったかな
はい次のお友達どうぞ
0947デフォルトの名無しさんNGNG
大人にはくだらない質問でも優しく答えてあげてね。
0948デフォルトの名無しさんNGNG
すみません、子供ってどうやってうまれてくるの?
おしえてください
0949デフォルトの名無しさんNGNG
31歳の日記が更新ですよ
http://psyclone.m78.com/diary/new.html

フジの謝罪マダー?(・∀・ )っ/凵⌒☆チンチン

0950デフォルトの名無しさんNGNG
>>948
コウノトリが卵を運んでくるんだよー にゃんにゃん

教えて上げたので受講料**万円、いますぐ払い込んでください。
0951デフォルトの名無しさんNGNG
>>950
異物プレイ?
0952デフォルトの名無しさんNGNG
vc++.netにて入門書を片手に先ずは簡単なDOSプログラムなんかを
作って動かしているのですがデータ型でどうしても躓いてしまいます。

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
cout << "開始 ユーザー名を入力してください。\n";

char name[30];
int eax = 0,ecx = 0;
cin >> name;
for(int i = 0;name[i] != '\n';i++){
ecx = name[i] ^ 0x3dcb7c5b;
ecx = ecx + 0x6fd76ef5;
ecx = _lrotl(ecx,7);
eax = eax + ecx;
}
int pushEax = eax;
const char *seed = "S1AC4QM5EGOU8IKZRG6WXPD7NT9BV2HJ";
//char result;
for(i = 0;eax > 0;i++){
eax = eax + 0x0f;
char result = *(seed+eax);
*result++;
}
cout << "終り\n";

return 0;
}
0953デフォルトの名無しさんNGNG
よくもわからず、こんなものを書いたりするのですがコンパイルエラーで起こられてしまいます。
違うデータ型への変換というかキャストというんでしょうか、それがうまく理解できていないようです。
具体的には数字型を文字列型に代入したりその逆をしようとしたりするときにコンパイルエラーがでます。
他の人の全然違うプログラムのソースなんかを見ると型変換を意識することなく書かれていたりするのですが
インクルードするライブラリを変えるとうまくいったりするのでしょうか?
4をみて猫でもわかるプログラミングを見たのですが違うデータ型への変換のことがうまくわかりません。
perlを少しかじった事があるのですが変な勘違いや癖がついてしまっているのでしょうか・・
どなたか助言頂ければ幸いです。
0954デフォルトの名無しさんNGNG
どっから突っ込みいれたもんか。
0955デフォルトの名無しさんNGNG
またこいつか
頭おかしいからほっとけよ
0956デフォルトの名無しさんNGNG
いつもバグに困っていた会社に勤めている仲間がやって来ました。
以前、そこのプログラムを見たとき、「えっ、これがC!」というようなリストだったので、

「こんなもの、さっさと捨てれば、問題は解決するよ」

と忠告してあげたのですが、その親切な忠告を無視して、汚いCをいじり回していました。
当然、バグに悩まされ続けていたようでした。
0957デフォルトの名無しさんNGNG
よくもわからず、こんなものを書いたりするのですがコンパイルエラーで起こられてしまいます。
違うデータ型への変換というかキャストというんでしょうか、それがうまく理解できていないようです。
具体的には数字型を文字列型に代入したりその逆をしようとしたりするときにコンパイルエラーがでます。
他の人の全然違うプログラムのソースなんかを見ると型変換を意識することなく書かれていたりするのですが
インクルードするライブラリを変えるとうまくいったりするのでしょうか?
4をみて猫でもわかるプログラミングを見たのですが違うデータ型への変換のことがうまくわかりません。
perlを少しかじった事があるのですが変な勘違いや癖がついてしまっているのでしょうか・・
どなたか助言頂ければ幸いです。
0958デフォルトの名無しさんNGNG
当然のことですが、C言語のプログラムを書く以上、
C言語の作法から極度に逸脱してしまうと、
世のCプログラマから一切相手にされなくなります。
「村八分」になってしまいます。
自分の作ったプログラムは永久に自分しか見ないような場合には、
どんなコーディングをしようと勝手ですが、
仕事で作るプログラムでは、そんな身勝手は許されません。
0959953NGNG
みなさんレスありがとうござます。
これからは改めてさせて頂き、出直してきます。
0960デフォルトの名無しさんNGNG
なんで初心者質問スレを必死に荒らすんだ?
言語習得に挫折した恨みとか?
0961953NGNG
>>960
私のことでしょうか?申し訳ありません。荒らすつもりは無かったのですが心得違いをしていてようです。
今後このようなことのない様に気をつけます。
0962デフォルトの名無しさんNGNG
>>961
早くどっか逝けよ
0963デフォルトの名無しさんNGNG
>>961
このスレに張り付いて一々レス監視しなくていいから基礎から勉強しなおしてこいや。
「よくもわからず」書くんじゃなくて、理解してから書くようにすればこんな頓珍漢なことしないだろ。
0964デフォルトの名無しさんNGNG
>>952
インラインアセンブラにしちまえ。
0965telnesNGNG
VC++6.0でWinsockを使ったソケット通信プログラム(クライアント/サーバ両方)を作成しようとしています。
TCPサーバの作成パターンをいくつか考えたのでどれが安定して動作しそうかなど意見を下さい。


▼条件と環境
・作成したTCPサーバ、TCPクライアントは24時間あげっぱなし
・TCPクライアントとコネクション確立しっぱなし
・接続、切断はボタンをダイアログに実装して行うかコマンドプロンプトから入力してできるようにする。
・非同期通信に対応する(selectかWSAAsyncSelectを使用する)
・実装形式は自由(COM、EXE、DLLなんでもOK)
・MFCを使用しなくてはならない
・Winsock2.0
・OSはWindows XP

▼選んでください
(1) TCPサーバをMFC AppWizardで作成する(起動はEXEダブクリ、インターフェースはダイアログ)
(2) TCPサーバをConsole Applicationで作成する(起動はEXEダブクリ、インターフェースもコマンドライン)
(3) TCPサーバをATLプロジェクトで作成する(サービスとして動作、OS起動時に自動実行)
(4) それ以外(作り方を教えてください)
0966953NGNG
>>962-963

黙れや糞が。殺すぞ。
0967デフォルトの名無しさんNGNG
>・MFCを使用しなくてはならない

じゃあ(1)しかないだろ。
0968デフォルトの名無しさんNGNG
>>965

テメェ馬鹿か。すべて他人にやってもらおうとスンナ糞が。

テメェで考えろボケ。そして二度とここにクンな。

テメェのドタマには脳みそがないんか?オッ?ワレ!
0969telnesNGNG
>>967
すみません間違いました。
MFCは使用しなくてOKです。

▼条件と環境
・MFCを使用しなくてもいい
0970デフォルトの名無しさんNGNG
じゃあ好きなの選んで。安定とかおまえの腕次第だから。
0971デフォルトの名無しさんNGNG
>>969

マルチすなや。

http://pc5.2ch.net/test/read.cgi/tech/1096848771/
0972telnesNGNG
ID無いのをいいことに勝手に人の名前語って
マルチ捏造するなよ
0973デフォルトの名無しさんNGNG
>>972
だったら余計なコテハン名乗るなよ。
名乗るくらいならトリップつけろや。

で、お勧めは自分の馴れてる方法で開発。兎に角デバッグを済ませてしまうこと。
それから改めてモデルを決めても基本部分は無駄にはならないだろうから。
0974デフォルトの名無しさんNGNG
Visual C++ NETでWinsock使ってみたいのだが
参照の追加でWS2_32.dllを追加しようとしても
エラーが発生しましたとかいって、できない。
dllが違うのでしょうか?ちなみにXPです。
0975デフォルトの名無しさんNGNG
うそーん。そんな事無いと思う出。
0976974NGNG
今試しにVC++6.0 でやってみたら、
ビルド時にこんなこと言われました。

リンク中...
LINK : fatal error LNK1104: ファイル "ws2_32.dll" を開けません。
link.exe の実行エラー

なんかおかしいみたいです
0977974NGNG
ws2_32.dllのバージョンが古いのかも。
5.1.2600.0

でもどうやったら新しくできるのか・・
0978デフォルトの名無しさんNGNG
>>966
予告キタ──────────────
タイ────────────────ホ
0979デフォルトの名無しさんNGNG
ws2_32.libじゃ。

0980974NGNG
こっちかー。libで追加できました。。。ありがとうございました。

でもビルドすると相変わらずLNK1120 外部参照未解決が出てまう・・
0981デフォルトの名無しさんNGNG
ライブラリ使ったことないのか?
ちゃんとヘッダをインクルードせれ。
0982デフォルトの名無しさんNGNG
Visual C++6.0MFCで開発を行っています。
エディットボックスでドラッグ&ドロップをしたいと思い
エディットボックスをサブクラス化しました。
ttp://www.ne.jp/asahi/hishidama/home/tech/vcpp/subclsi.html
上記方法でうまくいきましたが、エディットボックスを
メンバ変数として割り当てた場合、SubclassDlgItemの時に
Debug Assertion Feiledエラーが発生してしまいました。
メンバ変数として割り当てているコントロールではサブクラス化
はできないのでしょうか?
0983デフォルトの名無しさんNGNG
その例だったらm_MyEditをダイアログのメンバ変数として使ってる。

// TODO: 特別な初期化を行う時はこの場所に追加してください。
m_MyEdit.SubclassDlgItem(IDC_MY_EDIT,this);//この行を追加
0984デフォルトの名無しさんNGNG
Visual C++6.0で席の予約システムみたいなのを作っています。
プログラムを勉強し始めて7日目です。

ダイアログベースで作って、Staticをクリックすると氏名を入力する
ウインドを呼び出し、それに氏名を入力してOKを押すとStaticに氏名
が入るというものです。

DDX変数を使うのかな?というのは判るのですがそのデータの受け渡し
GetとかSetとか?どう書けばいいのでしょうか?
0985デフォルトの名無しさんNGNG
>>984
UpdateData
0986デフォルトの名無しさんNGNG
>>985
トンクス
やってみます。明日。
0987デフォルトの名無しさんNGNG
ちょいと質問よろしいですか?
メニューバーの項目を変更するのにModifyMenu()を使っているんですが
フォームが立ち上がったときは修正前のままで
カーソルを持っていくと修正後に変わるという不自然な状態になってしまいます。
一応ModifyMenu()実行後にDrawMenuBar()もやってるんですが状況は変わりません。
ちなみにOnInitalUpdate()内でやってます。
なにかアドバイスありましたらお願いします。
0988デフォルトの名無しさんNGNG
>>987
CView::OnInitialUpdate()ではなくて
CFrameWnd::OnUpdateFrameMenu()ではどう?
0989デフォルトの名無しさんNGNG
どこで聞けばいいのかわからないけど vc 絡みなのでここで。

プログラムじゃなく、コンパイラのコード生成について
ちょっと確認したいことが(漏れは vc 4.0 以降は使ってないから)。
環境は Win32/x86/vc++

switch/case で多分岐したときに、次のようなコードになることがあると思う。

  mov  eax, dword ptr [value]        ; なんか変数
  jmp  dword ptr [JumpTable + eax * 4] ; 表を読んであちこちへ分岐

昔のvcは上記のJumpTableに該当するデータをコードセクションに置いていたけど、
昨今のvcはどうなってるのか、
相変わらずコードにデータを紛れ込ませているのか、ということなんですが。
もってる人は教えてほすい。
(コンパイラを作っていて、vc のコード生成を参考にしたいから)
0990デフォルトの名無しさんNGNG
>>988
さっそく試してみようと思ったんですが、クラスウィザードではOnUpdateFrameMenu()は追加できないのでしょうか?
どうもCFrameWndクラスイベントではなくCMDIChildWndクラスイベントのようなのは分かったのですが。
一応MDIChildWndクラスを作っていざイベントを追加しようと思ったらできなかったもので・・・。すみません。
0991デフォルトの名無しさんNGNG
.NETプログラム(__gcのついたクラス内)で、STLとか、
CのファイルAPIとか(FILE*とか)使うには
どうするんですか?
String*はwchar_tに変換できるみたいですが、
デフォルトでwide characterを使用するんですかね?
0992デフォルトの名無しさんNGNG
>>989
VC7.1だけど、そのままコードセクションの末尾にジャンプテーブルが付加されてる
0993デフォルトの名無しさんNGNG
>>989
ジャンプ先を無闇と書き換えさせないためにもコードセクションに入れるべきでは?
0994デフォルトの名無しさんNGNG
>>992-993
お手数かけますた。

「実行可能」という意味では、コードセクションの本来の用途とはちょっと違うし、
読取専用の(Cで言えばconst)セクションにでも置こうかと思ってた。
でも const はただの文法上の細工で、vc では実際には変更できるし・・・。

最近ではDEPのせいで、データセクションを実行するのは違法。
この流れで行くと、コードセクションを不用意に読み取ることさえも
違法になる日も来るんじゃないか、と変なことまで勘ぐってみるテストw

・・・と、いろいろ悩んでいたところ。
ともかく、情報アリガ�d。
0995デフォルトの名無しさんNGNG
やめてくださいよ!殺すぞ。ムカつくんじゃ!!
0996デフォルトの名無しさんNGNG
VCのコンパイラは誰でも入手可能なのに何故ここで聞くんだろう?
例の自作自演の荒らし?
0997デフォルトの名無しさんNGNG
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
0998WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNGNG
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l ftp://l.l
0999デフォルトの名無しさんNGNG
tr7krr75r
1000デフォルトの名無しさんNGNG
壊れすぎ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。