09/02/22 17:44:23
Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
URLリンク(www.hyuki.com)
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
過去スレ、関連スレなどは>>2-5辺り。
2:デフォルトの名無しさん
09/02/22 17:45:47
Part32 スレリンク(tech板)
Part31 スレリンク(tech板)
Part30 スレリンク(tech板)
Part29 スレリンク(tech板)
Part28 スレリンク(tech板)
Part27 スレリンク(tech板)
Part26 スレリンク(tech板)
Part25 スレリンク(tech板)
Part24 スレリンク(tech板)
Part23 スレリンク(tech板)
Part22 スレリンク(tech板)
Part21 スレリンク(tech板)
Part20 スレリンク(tech板)
Part19 スレリンク(tech板)
Part18 スレリンク(tech板)
Part17 スレリンク(tech板)
Part16 スレリンク(tech板)
3:デフォルトの名無しさん
09/02/22 17:46:17
Part15 スレリンク(tech板)
Part14 スレリンク(tech板)
Part13 スレリンク(tech板)
Part12 スレリンク(tech板)
Part11 スレリンク(tech板)
Part10 スレリンク(tech板) ※
Part09 スレリンク(tech板) ※
Part08 URLリンク(pc5.2ch.net)
Part07 URLリンク(pc5.2ch.net)
Part06 URLリンク(pc5.2ch.net)
Part05 URLリンク(pc5.2ch.net)
Part04 URLリンク(pc5.2ch.net)
Part03 URLリンク(pc5.2ch.net)
Part02 URLリンク(pc3.2ch.net)
Part01 URLリンク(pc3.2ch.net)
4:デフォルトの名無しさん
09/02/22 17:47:42
【関連スレ】
■MFC相談室 mfc20d.dll■
スレリンク(tech板)
Win32API質問箱 Build76
スレリンク(tech板)
【C++】 DirectX初心者質問スレ Part21 【C】
スレリンク(tech板)
C言語なら俺に聞け(入門篇) Part 45
スレリンク(tech板)
【初心者お断り】ガチ規格準拠C専用スレ Part133
スレリンク(tech板)
C++相談室 part66
スレリンク(tech板)
C/C++の宿題片付けます 122代目
スレリンク(tech板)
【初心者歓迎】C/C++室 Ver.64【環境依存OK】
スレリンク(tech板)
【関連サイト】
猫でもわかるプログラミング
URLリンク(www.kumei.ne.jp)
MSDN ライブラリ ※変更された
URLリンク(msdn.microsoft.com)
URLリンク(msdn2.microsoft.com) (2005のことはこっち)
Platform SDK Update ※変更された
URLリンク(www.microsoft.com)
URLリンク(www.google.co.jp)
5:デフォルトの名無しさん
09/02/22 17:48:57
【このスレの前身 VisualC++相談室 過去スレ】
part 1 URLリンク(piza.2ch.net)
part 2 URLリンク(piza.2ch.net)
part 3 URLリンク(piza2.2ch.net)
part 4 URLリンク(pc.2ch.net)
part 5 URLリンク(pc.2ch.net)
part 6 URLリンク(pc.2ch.net)
part 7 URLリンク(pc.2ch.net)
part 8 URLリンク(pc.2ch.net)
part 9 URLリンク(pc5.2ch.net)
6:デフォルトの名無しさん
09/02/22 17:49:23
Platform SDKの中で一番新しいのはこっち
Microsoft Windows Server 2003 R2 Platform SDK Web Install
URLリンク(www.microsoft.com)
(ISO版などあり)
これ以降、Platform SDK + .NET Framework SDKとして
Windows SDKが公開されていて、その中で一番新しいのはこれ。
Windows SDK for Windows Server 2008 and .NET Framework 3.5
URLリンク(www.microsoft.com)
少し前のバージョン(Vista + .NET 3.0の初期版)には日本語版もあったけど、
日本語化されているのは専ら.NET Framework部分だけ。
VC6対応の、最後のPSDKはここ。
URLリンク(www.microsoft.com)
テンプレ終わり。
7:デフォルトの名無しさん
09/02/22 17:57:18
はじめまして。
CRLのwindowsフォームアプリケーションで、
年号を入れると西暦で表示されるプログラムを作るのに
int heisei;
heisei=int::Parse(textBox->Text);
int seireki;
seireki=heisei+1988;
label1->Text=L"平成"+heisei+L"年は、西暦"+seireki()+L"年です。";
とやって成功しました。しかし、模範解答は
int heisei;
heisei=int::Parse(textBox->Text);
int seireki;
seireki=heisei+1988;
label1->Text=L"平成"+heisei.ToString()+L"年は、西暦"+seireki.ToString()+L"年です。";
となっていました。
なぜ前者でも成功したのでしょうか。ToString()は何の意味があるのでしょうか?必要なんでしょうか?
8:デフォルトの名無しさん
09/02/22 19:23:01
1乙
これも追加で、本当の最新、もちろんβだけど。
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1: BETA
URLリンク(www.microsoft.com)
9:デフォルトの名無しさん
09/02/22 19:29:16
>>7
文字列連結は、String同士だけでなく、StringとObjectでも可能。
前者だと+の中に挟まれたint型の変数は
Object型にボックス化されてから連結されるというわけ。
だから、前者でもうまくいくけど、ボックス化は高コストなので
それを避けている後者のほうが望ましい。
10:デフォルトの名無しさん
09/02/22 22:14:39
>7
VBをお勧めする
11:デフォルトの名無しさん
09/02/22 22:46:54
ファイルのプロパティで表示される情報を取り込む方法を教えてくれよ。
12:デフォルトの名無しさん
09/02/22 23:25:36
api使う
13:デフォルトの名無しさん
09/02/23 05:25:52
ひまわりの方がいいんじゃね?
14:デフォルトの名無しさん
09/02/23 09:15:44
VC++2008です。
プロジェクトディレクトリをそのまま、別のPCにコピーして作業を再開したら、
「ファイルが移動された」というコンパイルエラーが出て、リリース(デバッグは出来る)
出来なくなってしまいました。
ファイルの位置の再定義はどこで出来ますか?
15:デフォルトの名無しさん
09/02/23 11:02:24
普通は他人が作ったサンプルだってそのままビルドすれば動くし、
プロジェクトなしでソースのみの場合は新しくプロジェクト作ってそこへソース突っ込むだけだし。
自分が書いた?ソースさえビルドできない状況が全く理解できない。
16:デフォルトの名無しさん
09/02/23 12:34:39
>>15
でも・・でも・・(´;ω;`)ブワッ
stdfxだっけか、が移動したとか出て。
確かに、前のPCのディレクトリの名前が参照されてるのですよ
17:デフォルトの名無しさん
09/02/23 12:38:46
一度クリーンしてリビルドしてみ
18:デフォルトの名無しさん
09/02/23 13:31:06
なるほど、クリーンで・・・。
ありがとうございます!
19:デフォルトの名無しさん
09/02/23 17:31:19
フォームアプリケーションで作ったフォームを
印刷する方法が分かりません><
教えてください。
20:デフォルトの名無しさん
09/02/23 17:55:20
どんなフォームよ。
ボタンが並んでるウィンドウを印刷したいのか?
21:デフォルトの名無しさん
09/02/23 18:21:16
そうです。ボタンと、テキストボックスに文字が入っています。
MFCでこういうことが出来るんだと思ったら、CFormViewにすると
なぜか、印刷機能が付けられなかったんです。
22:デフォルトの名無しさん
09/02/23 21:32:06
>CFormViewにすると
>なぜか、印刷機能が付けられなかったんです。
仕様。
23:デフォルトの名無しさん
09/02/24 09:11:47
フォームアプリの場合、計算結果を(参考書がやってるみたいに)
textBoxとかの中身を抽出して、フォントとか指定して、印刷に出力
するのが一般的?
24:デフォルトの名無しさん
09/02/25 01:40:33
VC++ 6.0でFLASHを再生するソフトウエアを作る場合、
shockwaveflashのocxコンポーネントを追加しますが、
そのときにコントロールに対してInvokeHelper関数で、
swfファイルのオリジナルの幅や高さって取得できるでしょうか?
25:デフォルトの名無しさん
09/02/25 17:39:49
visualC#の参考書って、visualC++用に購入してもおk?
26:デフォルトの名無しさん
09/02/25 17:45:26
一つだけというのならやめとけ
27:デフォルトの名無しさん
09/02/25 18:04:35
超入門書はc++の持ってるんだけど、
パーフェクトマスターシリーズがC#しかないんよ。
「.」が、「::」とか「->」になるだけだよね。
28:デフォルトの名無しさん
09/02/25 18:23:21
CLRアプリ作るつもりなら、役に立つと思う。
29:デフォルトの名無しさん
09/02/25 18:25:18
>>27
「.」もあるんだが。
30:デフォルトの名無しさん
09/02/26 11:14:35
visual studio2008 XPです。
印刷機能の実装が分からないです。
フォームのtextBox1に計算結果が返されるとして、
例えば、textBox1の中身を印刷するには、
最低限何をすればいいですか?
31:デフォルトの名無しさん
09/02/26 11:23:16
環境によるけど、文字列をプリンターに出す程度なら
そこらのサンプルコード切り貼りだけでいけるぞ。
32:デフォルトの名無しさん
09/02/26 11:27:32
C#しか無くないですか?
C++に変換しても、ビルドできません><
33:デフォルトの名無しさん
09/02/26 12:07:04
付属のドキュメントのサンプル切り貼りでいけたが。
プロジェクト新規作成してtextBox1とprintDialog1を貼り付けて
↓を適当な位置に入れただけ。
using namespace System::Drawing::Printing;
System::Drawing::Printing::PrintDocument^ docToPrint;
Form1(void)
{
InitializeComponent();
docToPrint = gcnew PrintDocument;
docToPrint->PrintPage += gcnew
System::Drawing::Printing::PrintPageEventHandler
(this, &Form1::document_PrintPage);
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
System::Windows::Forms::DialogResult result;
printDialog1->Document = docToPrint;
result = printDialog1->ShowDialog();
if (result == ::System::Windows::Forms::DialogResult::OK)
{
docToPrint->Print();
}
}
void document_PrintPage( Object^ /*sender*/, System::Drawing::Printing::PrintPageEventArgs^ e )
{
String^ text = textBox1->Text;
System::Drawing::Font^ printFont = gcnew System::Drawing::Font( "Arial",35,System::Drawing::FontStyle::Regular );
e->Graphics->DrawString( text, printFont, System::Drawing::Brushes::Black, 10, 10 );
}
34:デフォルトの名無しさん
09/02/26 12:46:38
ウホッ。ありがとうございます。ただ・・
(this, &Form1::document_PrintPage);
↑の部分で
error C2039: 'document_PrintPage' : '印刷2ch::Form1' のメンバではありません。
と、出てしまうんですが・・。
35:デフォルトの名無しさん
09/02/26 12:52:40
それは
void document_PrintPage( Object^ /*sender*/, System::Drawing::Printing::PrintPageEventArgs^ e )
この関数だから、それに合わせればいい。
36:デフォルトの名無しさん
09/02/26 12:53:27
じゃぁ、こうですね(・∀・)
(this, &Form1::printDocument1_PrintPage);
37:デフォルトの名無しさん
09/02/26 12:53:53
あ、サンプル通りクラス定義内に書いたからクラス名省略されてるけど
メンバー関数だよ、どれも
38:デフォルトの名無しさん
09/02/26 13:09:12
なぜか、ファイルに出力されるんですが・・。
39:デフォルトの名無しさん
09/02/26 13:21:27
あ、いけました。でかいフォントですな。
ありがとうございます!!
40:デフォルトの名無しさん
09/03/02 00:32:15
初めてVisual C++を使ってみました。
int main(array<System::String ^> ^args)
いきなり ^ という単項演算子らしき物が出来たのですが、コレはなんですか??
とりあえずarray以下無視しても問題なく動いたのですが。
41:デフォルトの名無しさん
09/03/02 00:35:04
C++をやりたいのかC++/CLIをやりたいのかで返答は変わる
42:デフォルトの名無しさん
09/03/02 00:36:05
>>41
標準のC++です。
43:デフォルトの名無しさん
09/03/02 00:39:19
VC++2008EEで
#include <iostream.h>
int main()
{
cout << "やぁ、こんちは。" << endl;
return 0;
}
はどこでプログラミングすればいいんですか? 普通に新規作成から何か設定するんですか?warning C4627: '#include <"stdafx.h>': プリコンパイル済みヘッダーの使用を検索中にスキップされました
1> ディレクティブを 'stdafx.h' に追加するか、プリコンパイル済みヘッダーをビルドし直します
が出てきます。
44:デフォルトの名無しさん
09/03/02 01:28:36
>>42
なら作ったプロジェクトが間違ってる。
>>40はC++/CLIのプロジェクト。
45:デフォルトの名無しさん
09/03/02 01:37:36
>>43
Win32 コンソールアプリケーションのプロジェクトを作れ。
プリコンパイル済みヘッダーを使いたくなければプロジェクトの設定から無効にしろ。
あと、iostream.hは古いヘッダで今のVC++には無い。
46:デフォルトの名無しさん
09/03/02 04:20:56
VC++2008でフォームアプリケーションを作成しています。
自動生成されるフォームの中に動的にラベルを複数作成しているのですが、
作成されたラベルのクリック時のイベントハンドラが全て同じイベントを呼び出す場合、
クリックしたボタンを判別し、その名前や座標などを表示させたいのですが、
以下のクリックイベントにどのようなプログラムを入れたら良いでしょうか?
もしよろしければ教えて下さい、お願いします。
private: System::Void node_Click(System::Object^ sender, System::EventArgs^ e)
{
}
また、もし他の方法で良いものがありましたら、教えて下さい。m(__)m
47:デフォルトの名無しさん
09/03/02 06:37:22
>>45わかりました。ありがとうございます。
48:デフォルトの名無しさん
09/03/02 06:55:04
Senderみつおに聞けば教えてくれる
49:デフォルトの名無しさん
09/03/02 10:35:58
ナハナハ
50:40
09/03/02 20:13:26
>>44
ありがとうございます。
では標準C++でコンソールアプリケーションを作りたいときは
プロジェクトの種類
をWin32にして
Win32 コンソール アプリケーション
にすれば良いですか?
51:デフォルトの名無しさん
09/03/02 21:01:10
訊く前にマニュアル読むなり試すなりしなさい
52:40
09/03/02 22:09:19
>>50
とりあえずそれでやってみて問題無いようです。
おそらくコレで良いということですね。
53:40
09/03/02 22:10:02
安価間違えました。
>>51
54:デフォルトの名無しさん
09/03/05 00:00:52
>>46
>クリックしたボタンを判別し、その名前や座標などを表示させたいのですが、
仮引数のsenderにそのクリックされたボタンが参照されてる
55:デフォルトの名無しさん
09/03/06 03:12:17
C++スレで質問したら環境依存だと教えてもらったのでこっちで質問させてください
以下コピペになりますがよろしくお願いします。
ぐぐってもドキュメント見てもわからなかったんで
助言頂けると非常に助かります。
VC++2008ExpressEditionを使用しているので、どこかを変更しなければいけないのか…
質問の内容は…
猫でもわかるプログラミングSDK第123章
URLリンク(www.kumei.ne.jp)
これと同じプログラムを組んでも、WndProc内でcase IDM_READの
hMapFile2 = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, "Kumei's Object");
のOpenFileMappingがNULLを返してくるんだけど
原因がまったくわかりませんorz
56:デフォルトの名無しさん
09/03/06 10:37:12
CreateFileMappingが失敗してるか確かめろ
57:デフォルトの名無しさん
09/03/06 14:00:07
>>56
CreateFileMappingは成功してると思います。
if (!hMapFile1)の部分にも引っかからず、GetLastErrorでも0を返してきましたので…
58:デフォルトの名無しさん
09/03/06 14:39:40
>>57
OpenFileMappingの後のGetLastErrorは何を返す?
59:デフォルトの名無しさん
09/03/06 14:48:29
それが…
CreateFileMappingは0を返して正常だといってるのに
OpenFileMappingの後のGetLastErrorは2を返してきて…
指定されたファイルが見つかりませんと。
60:55
09/03/06 15:25:36
55です。長時間悩み、調べ
自分のタイプミスからマッピングオブジェクトの名前の不一致など疑い
試行錯誤した結果…
CloseHandle(hMapFile1)をコメント化し、無効にすると
OpenFileMappingが成功しました。
たぶん解決の糸口になるのでCloseHandleなどのタイミングなどを
調べていけばいいかなという結果に。。。
アドバイスをくれた>>56,>>58さん、サンクスでした
61:デフォルトの名無しさん
09/03/06 22:54:18
VC++2008EEでcout<<" "<<endlはどうやって使うのでしょうか?
62:デフォルトの名無しさん
09/03/06 23:00:27
普通はそんなの使わない
63:デフォルトの名無しさん
09/03/06 23:03:23
>>62
普通はどんなものを使うのですか?
手元の本はそれを使った説明ばかりなもので・・・
64:デフォルトの名無しさん
09/03/06 23:15:40
>手元の本はそれを使った説明ばかりなもので・・・
使い方は、その本の最初のほうに書いてある。
書いていなかったら、そんな本は参考にならんから捨てろ。
65:デフォルトの名無しさん
09/03/06 23:53:50
>>64ありがとうございました。
一応捨てずに残しておきたいと思います
66:デフォルトの名無しさん
09/03/06 23:56:42
質問です。Visual C++ 6.0のSpy++に付いている
ウインドウファインダーコントロール
(ドラッグしてディスプレイ上の任意のウインドウを選択するヤツ)
はVC++6.0のActiveXコントロールにないのでしょうか。
またはそれに似たツールなどはどこかにありませんでしょうか
67:デフォルトの名無しさん
09/03/06 23:59:10
URLリンク(www.codeguru.com)
ありました、失礼しましたm(_ _)m
68:デフォルトの名無しさん
09/03/07 00:24:52
>>65
もし、その本に#include <iostream.h>とか書いてあるんだったら捨てるべき。古本屋でもいいけど。
それは古代のものだからVisual C++ 2008には搭載されていないというだけのこと。
69:デフォルトの名無しさん
09/03/07 07:04:19
マウスがのってるウインドウ選択するの意外に簡単だな
WindowFromPoint だけ知ってれば作れる
70:デフォルトの名無しさん
09/03/07 19:49:30
>>66-67の者です。
Spy++と同等のウインドウ選択ツールもどきは無事使うことが出来ました。
しかし選択後(ウインドウ上でマウスを放した後も)
選択されたウインドウの周囲には枠の表示が残ってしまうので、
それをなんとか消したいと思っています。
選択されたウインドウハンドルが手にはいるので、
::SendMessage(選択されたハンドル,WM_PAINT,0,0); なり
::SendMessage(選択されたハンドル,WM_ERASEBKGND,0,0); なり
いろいろメッセージを送ってみたのですが、なぜか消えてくれません。
Spy++を利用して選択ウインドウにメッセージが送られていることは確認しているのですが・・・
この原因について見当の付く方教えてください。お願いします。
71:デフォルトの名無しさん
09/03/07 21:04:17
表示ができたものを消せないわけがない
72:デフォルトの名無しさん
09/03/07 21:10:44
>::SendMessage(選択されたハンドル,WM_PAINT,0,0);
>::SendMessage(選択されたハンドル,WM_ERASEBKGND,0,0):
どちらもトリガーになるものがないと働かないメッセージだと思うが。
::InvalidateRect() とかのね。
73:デフォルトの名無しさん
09/03/07 21:42:36
InvalidateRect(ハンドゥル,NULL,TRUE);
で出来ました^^)
どうもありがとう!
74:デフォルトの名無しさん
09/03/07 22:13:36
エディットに関連付けたスピンボタンについて。
pSpin->SetRange(-10, 10);
pSpin->SetPos(0);
とやっても、0が表示されないんだけど仕様??
SetPos(1)やSetPos(-1)は表示されるんだけど。。。
75:デフォルトの名無しさん
09/03/08 18:20:59
C++勉強してみようと思うんですけど取り合えずは猫でも分かる~を全部終わらせてみるってのが良いでしょうか?
76:デフォルトの名無しさん
09/03/08 18:24:25
2Dシューティングゲームを作っているのですが、クラスの扱いに困っています。
敵の弾クラス(cBullet)を用意したのですが、それをうまく活かせません。
敵がそれぞれcBullet Bullet[100]といったように個別に弾を持ったのでは効率が悪い気がします。
一括して管理したいのですが、どういう構造にするとよいのでしょうか。
77:デフォルトの名無しさん
09/03/08 18:32:16
>>75
自分がわかりやすいと思ったとこを参考にすればいい。
そこのやりかたが絶対唯一じゃないことさえ認識していればなんとかなるでしょ。
78:デフォルトの名無しさん
09/03/08 18:36:00
>>76
自分の思った通りにやってみればいい。
画面上に存在できる弾の数だけグローバルで配列持ってもいいし。
79:デフォルトの名無しさん
09/03/08 18:45:14
>>78
なるほど、まずはそれでやってみます。
ありがとうございました
80:75
09/03/08 20:32:46
猫でも分かるー見てやってみたら最初っからつまづいた
VC++2008EEで説明してるサイト教えてもらえませんか・・・
81:デフォルトの名無しさん
09/03/08 21:03:39
VCは初心者向けの情報は少ないし、あっても古い。
もしかしたらあるかもしれないが初心者用のサイトなんか興味ないから知らん
82:デフォルトの名無しさん
09/03/09 00:30:43
>>75
自分が作りたいと思ったものを作ってみるのが一番の勉強法
83:デフォルトの名無しさん
09/03/09 00:38:45
いや、それよりvc2008eeは入門サイトほとんど駄目だからつらいな
.netフレームワーク使うとこうなんのか?
スタンダード金出せば猫さん家も役に立つが
ソフトに金払う余裕ないだろうなぁ
84:デフォルトの名無しさん
09/03/09 06:38:38
スタンダード金出さないと使えないのはMFCとリソースエディタ
win32なら無料で使えるから猫が全然使えないわけじゃない
ただあそこは古すぎるからコンパイルエラーぐらい自力で解決できないと無理
85:デフォルトの名無しさん
09/03/09 10:04:00
ダイアログエディタが使えないのはちときついかな。
入門探すより、自分であれこれいじってみては。
86:デフォルトの名無しさん
09/03/09 11:25:22
>>84
なあ古すぎる癖にシェアウェアとか猫はふざけてるよな
87:デフォルトの名無しさん
09/03/09 13:16:02
VCEEで勉強するときは
#pragma warning(disable : 4996)
や
Unicode
あたりの情報は必須だな
そして、WinAPIでまた引っかかるとw
88:デフォルトの名無しさん
09/03/09 14:09:59
VCEEって、セキュリティが強化された関数は使えないのか?
89:デフォルトの名無しさん
09/03/09 14:11:19
使えるけどその関数を使った例題がほとんどないからでしょう
90:デフォルトの名無しさん
09/03/09 18:33:00
すみません、どなたか教えてください
親クラスA、子クラスBともに仮想関数func()が実装されているとします
この時Aクラスのポインタ(A* pA)にBクラスのインスタンスのポインタを代入し
pA->func()
を呼び出した場合クラスAとBどちらのfunc()が呼ばれるのでしょうか
会社で実験しようと思ったんですが残業規制のせいで調べられなかったんでご存知の方ご教示くださいm(__)m
91:デフォルトの名無しさん
09/03/09 18:36:29
C++の質問ならC++スレでした方がいい
92:デフォルトの名無しさん
09/03/09 18:40:32
クラスA
93:90
09/03/09 18:43:24
自己解決しました
クラスBですね
>>91
すみませんでした
94:デフォルトの名無しさん
09/03/09 20:58:33
環境
VisualC++.NET(2003)
MFCを使ったアプリケーションを作っています。
フォームにエクセルのような格子で区切られた表のようなコントロールを貼り付けたいのですが
Webで調べてMicrosoft DataGrid Control 6.0とかMSFlexGridを使えばいい野ではないかというところまでは分かったのですが、
・MSFlexGridなんてものが.NET frameworkコンポーネントにもCOMコンポーネントにも存在しない。
・.NET frameworkコンポーネントにDataGridがあるが、そもそも初めからチェックが入っている。
それなのにツールバーには表示されてない。
一旦チェック外して再びチェックしなおすとツールバーにそれらしきものが追加されたが非アクティブになってて使えない。
・そもそも.NET frameworkコンポーネントの中はほぼ全部チェックが入っているのに
ツールバーに一切無いのが理解出来ない。
・一度間違えてデフォルトの「ボタン」のコントロールをツールバーから削除してしまったので、
COMコンポーネントから探したが同じものが無かった(プロパティが別物だった)
アイテムの追加と削除ダイアログでリセットボタンを押して直す事が出来たが、
デフォルトでツールバーにあるアイテムはCOMコンポーネントじゃないなら一体何者なのか?
行き詰っています。どなたか教えていただけないでしょうか?
95:デフォルトの名無しさん
09/03/09 21:12:11
>>94
URLリンク(noribeat.s38.xrea.com)
96:デフォルトの名無しさん
09/03/09 22:45:10
>>95
ありがとうございます。
ですがリンク先の指定どおりにActiveXの挿入を行っても、
Microsoft FlexGrid Control, version 6.0が選択肢の中にありません。
97:デフォルトの名無しさん
09/03/09 22:56:19
>>94
そこらへんのVBランタイムを入れるとついてくることが多い。
MSFLXGRD.OCX入りのVB6ランタイムを探すんだ。
あとはこれで。
URLリンク(support.microsoft.com)
98:94
09/03/09 23:10:50
自分のPCを検索して見ましたがMSFLXGRD.OCXは存在しないようです。
あと実行環境でレジストリへの登録が必要になるような面倒な作業をユーザーに強いたくない
(自分ですらめんどくさいのにもっと素人なら嫌気がさしてやめてしまうかもしれない)
のですが、そうなるともう自力でピクチャーボックスに描画するような形で作るしか無くなってしまうのでしょうか?
99:デフォルトの名無しさん
09/03/09 23:40:09
ブラウザのActiveXコントロールと同じだからインストールは楽だよ
100:デフォルトの名無しさん
09/03/10 01:45:05
>実行環境でレジストリへの登録が必要になるような面倒な作業をユーザーに強いたくない
ソフトのインストール時にREGファイルを食わせてやればいいだけ。
それをユーザに強いたら・・・そりゃダメだよな。
ま、Windowsの文字コード表程度の表なら、自前で作っても手間はそんなにかからないがね。
101:デフォルトの名無しさん
09/03/10 17:07:09
VC++2005でMFCアプリに名前空間名に"interface"って使えない?
c2059というコンパイルエラーになる。
/clrオプションは使っていないし、
非MFCアプリやstdafx.hをincludeしないとコンパイル通るし
C++/CLIで予約語になってるeventとか他の単語は
使えるから単なるバグですかね?
102:デフォルトの名無しさん
09/03/10 17:21:37
最近変なやつ多いな
同一人物?
103:デフォルトの名無しさん
09/03/10 17:29:53
>>101
COM関係のヘッダのどれかで、#define interface structと定義されている。
104:デフォルトの名無しさん
09/03/10 19:05:33
#include <stdio.h>
int main(void)
{
printf("Hello!\n");
return 0;
}
と
#include <iostream>
int main()
{
std::cout <<"Hello!" << std::endl;
return 0;
}
見るサイトによって書き方が違うけど結果は似たようなのがでるんですけど
これはどういう違いがあるんですか?
105:デフォルトの名無しさん
09/03/10 19:15:37
C/C++
106:デフォルトの名無しさん
09/03/10 19:26:37
>>105
どっちがCでどっちがC++?
107:デフォルトの名無しさん
09/03/10 19:31:56
ggrks
108:デフォルトの名無しさん
09/03/10 20:45:52
スレを勃てるまでもないC/C++の質問はここで 8
スレリンク(tech板)
109:デフォルトの名無しさん
09/03/12 14:22:28
>>106
上がCで下がC++
110:デフォルトの名無しさん
09/03/12 16:45:27
Visual Studio 2005 Vistaです。
6つのピクチャボックスに表示させた6枚の画像
(横3枚の2段)から1枚を選択(ダブルクリック)して、
選択した画像を左上のピクチャボックスの表示し、
選択した以外の画像は消去する、
といったことはどのようにして実現できますでしょうか。
111:デフォルトの名無しさん
09/03/12 17:33:54
表示と消去ができるならクリックしたタイミングで好きなようにやればいい
112:デフォルトの名無しさん
09/03/12 17:55:36
>>110
・6つのピクチャボックスに SS_NOTIFY スタイルを付加する。
・あとは STN_DBLCLK メッセージが通知されたときに、親ウィンドウに対して
InvalidateRect( NULL) を投げればいい。
それが 「初期の描画なのか」 「ダブルクリック後の描画なのか」 「どれが選択されたのか」
を判断する仕組みは、当然必要だがね。
113:110
09/03/12 18:40:15
>>111 >>112
アドバイスありがとうございます。
なんとかできました。
114:デフォルトの名無しさん
09/03/13 20:10:04
VisualC++.NET(2003)を使ってます。
今まで作ってたソリューションをセカンドマシンでもいじるために
メインマシンの共有フォルダにソリューションのフォルダごとコピー
↓
セカンドマシンにブリーフケース作ってそのフォルダを持ってくる。
という風にしようとしたのですが、メインマシンのソリューションをコピーした段階で
元々正常にビルドできて実行できてたものが正常に動きません。
コピー先ソリューションの動作
①開始ボタンを押すと毎回「プロジェクトの構成が変更されています。ビルドしますか?」のダイアログが出る。
・①でいいえを選ぶと何事も無く動く
・①ではいを選ぶと元々出なかったエラー「ビルドエラーが発生しました。続行しますか?」というダイアログが出る。
・BuildLog.htmを見ると 'CDHtmlDialog' : 定義されていない基本クラスが宣言されています。などを筆頭に
ずらずらとエラーが出ている。
これは元のフォルダでは出ない。
初心者でソリューションの構成ファイルなどのどこかに絶対パスがあるのか、見当も付きません。
プログラム自体は絶対パスを指定するような部分は有りません。
どなたか、解決のヒントでも教えていただけないでしょうか?
また、個人で2PCでプログラム開発する場合VSSのような物(多分有料ソフトですよね?)
を使わずに同期とったりバージョン管理する良い方法があれば教えて頂けないでしょうか?
115:114
09/03/13 20:48:02
もう一度やってみたら上手くいきました。
何故なのか分かりませんが一回目にやったコピーでファイルがおかしくなっていたのかもしれません。
116:791 + 792
09/03/13 22:48:32
エラーUZEEEEEEな状態助けてくださいな。
#include "stdafx.h"
#include <iostream>
int main()
{
int a;
int b;
int r;
cout << "割られる数は?(整数)";
cin >> a; // ここで数値を読み取っている
cout << "割る数は?(整数)";
cin >> b; // ここで数値を読み取っている
r = a % b;
cout << "割った余りは" << r << "だよ" << endl;
}
エラーはrror C2065: 'cout' : 定義されていない識別子です。
こんなのが endlだったりcinだったり6個あった。
ソースおかしい?
117:デフォルトの名無しさん
09/03/13 22:54:19
>>116
名前空間(namespace)について勉強しろ
118:デフォルトの名無しさん
09/03/13 23:05:18
>>116
stdafx.h を開いて
using namespace std;
と書け。
119:デフォルトの名無しさん
09/03/13 23:15:13
>>118
それやっちゃうと名前空間を定義してる意味がなくなるので
あまり人にすすめることではないかと…
120:791 + 792
09/03/14 00:12:02
ますます訳が分からなくなった。
namespaceで何処を囲えば良いのかさっぱり。
どこかで名前が被ってるからnamespace使えってことで合ってるんだよね?
知らない間にエラーが102個に増えた。
何処が駄目で何でnamespaceが必要なのかまだ理解できてない俺・・・
121:デフォルトの名無しさん
09/03/14 00:22:36
URLリンク(homepage2.nifty.com)
stdafx.hなんて捨ててしまえと思わなくもない
122:デフォルトの名無しさん
09/03/14 00:39:30
>>120
要は、std という名前空間をどこで使いたいか、だ。
int main() のなかだけで使いたいなら int main() の中に書けばいい。
int main() の書かれている cpp ファイルの中で使いたいなら、#include <iostream> の下あたりに書く。
いつでもどこでも使いたいなら stdafx.h に書く。(このときの注意点は >>119)
123:デフォルトの名無しさん
09/03/14 05:28:15
バカみたいな質問で申し訳ありません。猫でもで勉強してて今まで、VC++2008でCの勉強をやってたんですが、C++をやり始め、
1>.\ex01.cpp(1) : fatal error C1083: include ファイルを開けません。'iostream.h': No such file or directory
というエラーが出ました。これはiostream.hが標準ライブラリにないという事ですよね。
色々、ググってみたんですが、標準ライブラリの宣言で躓くなんてバカな奴はいないのか、
どこでダウンロードするのかどうやって標準ライブラリに追加するのかさっぱりわかりません。
教えていただけると助かります<m(__)m>
124:デフォルトの名無しさん
09/03/14 06:53:08
C++初心者用のスレへ行った方がいい
125:デフォルトの名無しさん
09/03/14 07:21:13
>>123
<iostream.h>は昔の存在。だから最近のVisual C++には入っていない。
<iostream>をインクルードして、coutとかcinとかはstd::cout、std::cinなどのようにstd::を付けろ。
詳しくは最近の入門書を読め。
126:デフォルトの名無しさん
09/03/14 07:57:31
拡張子を.cppにしたときから
インクルードファイルは全て.h抜きを覚悟すべきだな
127:デフォルトの名無しさん
09/03/14 08:24:13
>>123
猫でも…(ryは、難点として、標準ライブラリのインクルードがおかしいってのがある。
あきらめて書籍買え。その方が実りあるよ。
128:791 + 792
09/03/14 10:31:41
int main(){
using namespace std;にしたら下のエラーが出たけど、ググったら解決した。
コンソールアプリケーションでプロジェクトを作らないと下のエラーが出る見たいだから
プロジェクトを作り直してやったらすんなり。
MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。
C:\Documents and Settings\Nanashi\My Documents\Visual Studio 2008\Projects\null1\Debug\null1.exe : fatal error LNK1120: 外部参照 1 が未解決です。
まだnamespaceの意味プーだけど、>>121が教えてくれたサイトを見たりして
理解できるようにがんばる
>>122もありがとう,助かったよ。
129:デフォルトの名無しさん
09/03/14 10:36:04
デフォルトエントリポイント
コンソールアプリケーション→main
Windowsアプリケーション→WinMain
※マルチバイト文字セットの場合
130:791 + 792
09/03/14 10:58:01
>>129
ありがとう。
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int)
でやってみたけど、デバッグはエラーないけど
デバッグなしで開始しても何も出てこない・・・
これはもう少しC++が分かるようになれば出てくるんだよね?
ちゃんとしたウィンドウとかダイアログが出せるようになるのが楽しみだ
131:デフォルトの名無しさん
09/03/14 11:13:00
>デバッグなしで開始しても何も出てこない・・・
Windowsアプリケーションなんだから、ウィンドウを作らないことには何も出てこない。
132:デフォルトの名無しさん
09/03/14 15:19:49
ある環境をリンク中に、下記エラーが出るようになってしまいました。
>LIBCMTD.lib(dllcrt0.obj) : error LNK2019: 未解決の外部シンボル __imp__GetCurrentThreadId@0 が関数 __CRT_INIT@12 で参照されました。
PlatoformSDKの関数らしいですが、どのライブラリが足りないかご存じの方いませんか?
133:デフォルトの名無しさん
09/03/14 15:48:20
CRT_INITで参照するものが不足するか?
環境の問題だろ
134:デフォルトの名無しさん
09/03/14 18:04:29
>>130
C++ができるかどうかとWindowsプログラミングは全く関係ないぞ。
現に、猫でものWin32編は基本的にCだけでそういうことをやっている。
135:791 + 792
09/03/14 18:38:52
>>131
確かにWindow作らなきゃ何も表示されなくて当たり前だった。
>>134
ごめん、まだC++否プログラミング始めて1日くらいしか過ぎてないんだ。すまない
Windowsプログラミングとは関係ないのか、猫でもにはWindowsSDKとかあったな。
if関数に少しだけ感動した,いろいろ応用が利きそうな関数だ。
136:デフォルトの名無しさん
09/03/14 18:54:15
if関数は初めて聞いた
137:デフォルトの名無しさん
09/03/14 19:01:40
VBAにiif関数があってそれのことかと思た
138:132
09/03/14 19:54:13
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
とパス指定すべきところを、
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64
としてました。。。(笑
こんなんですごい時間かかった(汗
139:123
09/03/14 22:21:55
ありがとうございますm(__)m
明日、本屋行って標準ライブラリ集でも買ってきて、猫で続きをやろうと思います。
140:デフォルトの名無しさん
09/03/16 17:45:39
入力支援がちっとも支援してくれません。
たまに入力候補一覧のリストボックスが出てきたと思っても、
必要なものを探すのにエライ手間がかかります。
どうしたらいいですか。
141:デフォルトの名無しさん
09/03/16 18:49:28
あれはMFCのためにある
142:デフォルトの名無しさん
09/03/17 00:54:01
初歩的な質問ですが、
どこかの設定を無意識に変えてしまったせいなのか
構成の種類をDLLにした場合でも、自動でLIBを作成してくれなくなりました
どこの設定をかえればいいのか教えていただけるとありがたいです。
VC++2008EEを使用しています。
143:デフォルトの名無しさん
09/03/17 01:40:35
自己解決しました
EXPORTを書き忘れてましたorz
144:デフォルトの名無しさん
09/03/18 19:59:37
窓の杜にあるようなソフトもvc++で作れますか?
145:デフォルトの名無しさん
09/03/18 20:46:28
>>144
作れます。初心者を脱出してC++とWinのAPIをめっちゃ勉強すれば。
146:デフォルトの名無しさん
09/03/20 10:49:08
sdkddkver.hを見る限り、_WIN32_WINNTを適当な値に設定して、
その他WINVER等の定義は任せてしまった方が良いのでしょうか。
147:デフォルトの名無しさん
09/03/20 11:07:49
ヘッダファイルの読み込み順序による。
148:デフォルトの名無しさん
09/03/20 11:16:32
ありがとうございます。たしかにそうかもしれませんね。
いつもwindows.hからインクルードしてたので、順番のことは気にも留めてませんでした。
149:デフォルトの名無しさん
09/03/20 12:22:34
始めようと思うんですが、公式ページの「Web インストール (ダウンロード)」をクリックしても
エラーページに飛ばされてダウンロードできません。
同じ症状の方いますか?
Firefoxのエラー文によると
>サイトアドレスは有効なようですが、接続を確立できませんでした。
150:デフォルトの名無しさん
09/03/20 12:36:09
Visual Studio 2008 Part 15
スレリンク(tech板)
151:デフォルトの名無しさん
09/03/20 12:57:54
download.microsoft.comに繋がらないようです。
自分だけ?
152:デフォルトの名無しさん
09/03/20 13:08:15
と今日の日記に書いておこう
153:デフォルトの名無しさん
09/03/22 12:56:07
コメントを関数の前に書くと
その前の関数のグループになってしまいます
コメントがグループの初めになるように任意に修正する方法はないでしょうか
ご存知の方お願いします
154:デフォルトの名無しさん
09/03/24 21:57:11
Microsoft PressのVisual C++.NET実践講座 Vol.1基礎編の本には、
Console::WriteLine(S"Hello World");
のようにダブルクォートで囲った文字列の前にSが付いていて、それについて
何の説明も書いてないけど、このSって何。
155:デフォルトの名無しさん
09/03/24 22:04:42
わかったSystem::String*だ
156:デフォルトの名無しさん
09/03/25 02:18:26
visual cで作られたアプリケーションがあるのですが、
これを改造して自分のほしい機能を付け加えています。
自分で追加した変数やマクロなどとそうではない箇所とで、識別子(関数名、変数名、マクロ名)を明確に分けたいのですが、
新たに追加した部分にルールをつけるだけでなく、
改造元の識別子のすべてに対して、「kaizoumoto_」「KAIZOUMOTO_」のような接頭語をつけたいと考えました。
そのようなことを一括で行うことは可能でしょうか。
改造元から現在の状態までの間の追加は失われてかまいません。(改造元があって、それの識別子を一括で変更したいです。)
というか、Visual Cと全然関係ないですか。すみません。
ご存知でしたら、Helpをお願いします。
157:デフォルトの名無しさん
09/03/25 10:34:11
VC++のエディタウィンドウの行間をひらげることってできますか?
フォントやエディタの設定項目を調べて見ましたが、うまくできませんので、お願いします。
158:デフォルトの名無しさん
09/03/26 12:45:11
>>156
正規表現
159:デフォルトの名無しさん
09/03/26 12:46:58
>>157
ひらげるってw
160:デフォルトの名無しさん
09/03/27 06:41:15
2008 Express Edition使ってて外部エディタで編集してるから
これのエディタは見るだけにしたいんだけど
編集禁止状態に出来ない?
161:デフォルトの名無しさん
09/03/27 09:02:01
>>160
閉じられるって。
162:デフォルトの名無しさん
09/03/27 09:14:25
俺が思うに閉じたら見られないのではなかろうか
163:デフォルトの名無しさん
09/03/28 05:06:11
VS2005, XPでWin32プロジェクトを作成中です。
CreateWindowでウィンドウをつくり、さらにCreateWindowでボタンを追加しました。
マウスによる指定とカーソルキーによって、
メインウィンドウのある領域でカーソルが移動するようになっています。
(WM_LBUTTONDOWN, WM_KEYDOWN)
しかし領域外につくったボタンを押すと、
マウスによるカーソルの移動は受け付けるものの、カーソルキーを押しても反応がありません。
一度ウィンドウを非アクティブにし、再びアクティブに戻すと動作は正常に戻ります。
ボタンはWM_COMMANDで処理を行わずとも、押した時点で動作がおかしくなってしまうようです。
ご教示お願い致します。
164:デフォルトの名無しさん
09/03/28 12:44:29
カメラ目線
165:デフォルトの名無しさん
09/03/28 15:38:35
一応、ソースプログラム出さない?
166:デフォルトの名無しさん
09/03/28 17:19:50
ソースもなにもカーソル戻すだけだろ
167:163
09/03/28 17:57:29
全体を添付した方が望ましいのでしょうか 宜しくお願い致します
case WM_COMMAND:
switch (LOWORD(wParam)){
case Button25: break;
default: return DefWindowProc(hWnd, message, wParam, lParam);
}break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
Rectangle(hdc,xwidth*(xx+1),ywidth*(yy+1),xwidth*(xx+2),ywidth*(yy+2));
EndPaint(hWnd, &ps);
break;
case WM_LBUTTONDOWN:
x = LOWORD(lParam); y = HIWORD(lParam);
if(x>xwidth && x<xwidth*(member+1) && y>ywidth && y<ywidth*(member+1)){
xx = x/xwidth-1; yy = y/ywidth-1;
InvalidateRect(hWnd, NULL, TRUE); UpdateWindow(hWnd);
}break;
case WM_KEYDOWN:
switch(wParam){
case VK_RIGHT: if(xx<member-1) xx++; break;
case VK_LEFT: if(xx>0) xx--; break;
case VK_DOWN: if(yy<member-1) yy++; break;
case VK_UP: if(yy>0) yy--; break;
}
InvalidateRect(hWnd, NULL, TRUE); UpdateWindow(hWnd);
break;
168:165
09/03/28 20:13:06
case Button25: を押したら、break; の前にコントロールを戻すために何かするんじゃないか。
何の関数呼べばいいのかわからないけど、ここまでだ。
169:デフォルトの名無しさん
09/03/28 20:49:47
ソース見る必要あったのか?
170:デフォルトの名無しさん
09/03/28 20:59:43
>>163です
SetFocus( hWnd ); でした!
解決致しました。ありがとうございます!
171:デフォルトの名無しさん
09/03/29 13:15:48
1. マネージC++のインターフェイスは、純粋仮想関数だけを持つ抽象クラスみたいなものか。
2. マネージC++のシールクラスは、自分の作った知的財産であるクラスを「お前らなんかに
継承してパクらせてやるわけにはいかん」ためにあるのか。
3. マネージC++の例外の__finnallyブロックは、例外の有無に関係なく実行するということ
だが、そんなのなくても、いずれの場合もcatchブロックの次を普通に実行するみたいで、
どのように違いがあるのかよくわからん。
4. 派生クラスで基底クラスのメンバー関数をオーバーライドできるのは、別に仮想関数でな
くても可なのか。
5. 4が正しいと仮定して言う。派生クラスのアドレスを、基底クラスのポインターに代入して、
そのポインターを使って、派生クラスでオーバーライドされたメンバー関数を呼び出した
ときの扱いはどうなのか。非仮想関数なら、基底クラスのメンバー関数を呼び出して、仮想
関数なら、派生クラスのメンバー関数を呼び出すのではないかと思うが、それで正しいか。
172:デフォルトの名無しさん
09/03/29 13:33:33
誤爆です
173:デフォルトの名無しさん
09/03/29 13:48:12
違う誤爆ではない。
邪魔しないでくれ。
174:デフォルトの名無しさん
09/03/29 13:53:52
あっ、確か__finayllyはreturnされると呼び出し元に戻る前に、そのブロックが
実行するってことか。何かに書いてあったような記憶が。
175:デフォルトの名無しさん
09/03/29 13:57:23
あっ、良く確かめずに書いてすみません
ちゃんと調べてから書き直します
176:デフォルトの名無しさん
09/03/29 14:00:47
>>172 >>175
おい、偽者が何やってるんだ。
177:デフォルトの名無しさん
09/03/29 14:05:07
C++/CLIスレのがよさげ
あと、試してみたほうが早い気が
178:デフォルトの名無しさん
09/03/29 14:05:13
以上すべて自演でした
179:デフォルトの名無しさん
09/03/29 14:07:30
どうも失礼しました
これからは自分で試してから書くことにします
180:デフォルトの名無しさん
09/03/29 14:09:30
>>178 >>179
こら、いい加減にしろ
181:デフォルトの名無しさん
09/03/31 14:54:21
どなたか>>157について、よろしくお願いしますm(_ _)m
182:デフォルトの名無しさん
09/03/31 15:03:19
無理じゃない?
行間の空くフォント探してくるとか
183:デフォルトの名無しさん
09/03/31 19:19:04
できないことはないな
ただ全然興味ないから完全スルー
184:デフォルトの名無しさん
09/03/31 22:01:59
VC++ 2008 EE
0からのゲームプログラミングというサイトでスケルトンプログラムを
ダウンロードしビルドしたのですが、
1>c:\users\○○○\documents\visual studio 2008\projects\samplestg\source\application.cpp(537) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか?
というエラーが出てしまい実行できません。
Winプロジェクトで空のプロジェクト選択をし、プロジェクトのプロパティで
プリコンパイル済みヘッダーを使用するに設定してもできませんでした。
よろしくお願いします。
185:デフォルトの名無しさん
09/03/31 22:09:29
スケルトンだったら自分で作ったスケルトンとくらべてみればわかるだろ
186:184
09/03/31 22:29:16
私自身はスケルトンプログラムは作っていません。
0からのゲームプログラミングというサイトで、
サイト管理人が作ったスケルトンプログラムをダウンロードし、
ビルドしてくださいとあったので流れに従って進めたところ、
エラーが表示され先へ進めなくなったしまったんです。
187:デフォルトの名無しさん
09/03/31 22:38:30
そこのサイト管理人にビルドできないと言ってやればいいだけ
188:デフォルトの名無しさん
09/03/31 22:39:13
stdafx.cpp→プリコンパイル済みヘッダーを作成する
189:デフォルトの名無しさん
09/03/31 23:29:27
2004年ごろから放棄されてるサイトのようだから
今大幅修正しないと使いものにならなくて投げ出したんだろ
190:デフォルトの名無しさん
09/04/01 09:58:12
「プリコンパイルヘッダーを使用しない」にしてみるという知恵は回らんのかw
191:デフォルトの名無しさん
09/04/01 11:26:05
一行追加すればいいじゃん
192:デフォルトの名無しさん
09/04/01 18:30:28
>>172 >>175 >>178 >>179 は、派遣を解雇されたからって、最低な書き込みするな。
書いた本人のふりして妨害するな。
193:デフォルトの名無しさん
09/04/01 19:05:59
>>192
そんな怒ってんなよ
たかが2chにマジになるな。
だいたい派遣を解雇されたヤツは今頃2chなんてやってらんねぇんじゃねぇのかな?
194:デフォルトの名無しさん
09/04/01 21:49:18
10年ほど前に買った新Visual C++6.0 シニア編ですが
その中のchapter 26コントロールをコードで配置するで
CButton* myBTN = new CButton();
myBTN->Create("実行", BS_PUSHBUTTON | WS_VISIBLE , CRect(10, 10, 100. 40), this, IDC_BUTTON1);
などとありますがnewを使っているのにDestroyWindowを使っている形跡がありません。
CFramewndなどでは勝手にdelete this などとしているようですがCButtonとかは何もする必要はないのでしょうか。
このサンプルプログラムではCDialogを継承したものです。
リソースエディタ以外で手動で作ったコントロールも自分で削除しなくてもいいのでしょか?
195:デフォルトの名無しさん
09/04/01 22:19:00
new したものは delete しなきゃダメ
196:デフォルトの名無しさん
09/04/01 22:32:38
>195
CButtonはCWndの継承ですがディストラクタで勝手に
NCDestroyで勝手にやってはくれないのでしょうか?
私自身もあんまりよく分かっていないのですが。
197:デフォルトの名無しさん
09/04/01 22:36:18
CButtonのデストラクタにブレイクポイント置いて、デバッグ開始したらわかるんじゃね?
198:デフォルトの名無しさん
09/04/01 22:41:05
>>196
CWnd のソース読めばわかることだろ。MFC のソースは HDD の肥やしじゃないぞ。
199:デフォルトの名無しさん
09/04/01 22:46:11
>>197
んなことしなくても、デバッグモードで実行したら、終了時にメモリーリークがあれば表示される。
ちなみに、CWnd::PostNcDestroy() のソースはこうなっている。
void CWnd::PostNcDestroy()
{
// default to nothing
}
200:デフォルトの名無しさん
09/04/01 22:55:01
>newを使っているのにDestroyWindowを使っている形跡がありません
そもそもこのふたつには関連性がないだろうに
201:デフォルトの名無しさん
09/04/01 23:21:50
DestroyWindow
指定されたウィンドウが親ウィンドウやオーナーウィンドウのときは、
その子ウィンドウやオーナー付きウィンドウも自動的に破棄します。
このとき、先に子ウィンドウやオーナー付きウィンドウを破棄してから、
親ウィンドウやオーナーウィンドウを破棄します。
なのでDestroyWindowは不要
ただしクラストやメモリ管理とは別問題
202:デフォルトの名無しさん
09/04/02 00:12:30
>ただしクラストやメモリ管理とは別問題
確かに別問題ですね。
新Visual C++6.0 シニア編にdelete処理が
載っていないのでおかしいと思ってたのですが
それとWindowの破棄とは直接関係ないですね。
どこかでdelete処理されているのではないかと思って
相談したのですが自分でやらないとダメですね。
203:デフォルトの名無しさん
09/04/02 00:48:24
そろそろ、新Visual C++6.0 シニア編を燃やして
本格的にWindowsプログラミングを学んではいかがでしょうか。
204:デフォルトの名無しさん
09/04/02 03:24:54
C++でDTM支援ソフトを作ったことがある人はいませんか?
Dominoみたいなのが作れるようになるまでになりたい…。
出来る限りフリーで…。
205:デフォルトの名無しさん
09/04/02 10:08:38
16bitのころシーケンサ書いたけどな、、、最近はそっち方面やってないな
って聞いてどうすんだw
206:デフォルトの名無しさん
09/04/02 13:04:20
ぶっちゃけCでも何でも余程技術がない限りライブラリを使うことになりますよね
だったら最初からスクリプト言語でいいじゃんって思ったんですが
間違ってます?
207:デフォルトの名無しさん
09/04/02 13:27:08
それでいいと思うならそれでいいだろ。
人に聞くことでもないな。
208:デフォルトの名無しさん
09/04/02 14:35:31
>>206
現実スクリプト言語が流行ってない事を考えれば自ずと答えは導き出せるのでは
209:デフォルトの名無しさん
09/04/02 15:08:24
スクリプトキディってことじゃね?
210:デフォルトの名無しさん
09/04/02 20:20:29
でもスクリプト言語ってはっきり言っているような。
>>206
がスクリプト言語という言葉を理解しているという仮定の下で話すと、
>ライブラリを使うことになり
↓
>スクリプト言語でいいじゃん
ここの論理的な演繹がおかしいと感じるのは俺だけではないはずだ。
211:デフォルトの名無しさん
09/04/02 22:52:45
Console::WriteLine(S"柔道や剣道や空手ではなく、ボクシングをしないとコンパイルできないのか。");
Console::WriteLine(S"スーパーヘビー級: {0}kg以上", __box(91));
Console::WriteLine(S"ヘビー級: {0}-{1}kg", __box(81), __box(91));
Console::WriteLine(S"ライトヘビー級: {0}-{1}kg", __box(75), __box(81));
212:デフォルトの名無しさん
09/04/02 23:03:53
そう言えば、このスレにConsole::WriteLineのソースが無いじゃないか。
何でだ、だれもプログラムしないのか。
213:デフォルトの名無しさん
09/04/02 23:22:59
Console使う人は珍しいと思う
214:デフォルトの名無しさん
09/04/03 10:49:55
オメガチャートをリアルタイムもしくは20分遅れでデータ取得したいのですが、
さっぱりどうしたらいいのかわかりません
カバでもわかるように教えていただけませんか
215:デフォルトの名無しさん
09/04/03 11:11:09
>>214
おまいには無理
誰か親切な人がコンパイル済みのをうpしてくれるのを待て
216:デフォルトの名無しさん
09/04/03 11:27:46
そんな奇特なお方おらんやろ~
217:デフォルトの名無しさん
09/04/03 11:31:05
いやわからんぞ
2ちゃんで一番親切なイケメンがいる板だからな
218:デフォルトの名無しさん
09/04/03 12:50:22
俺の出番が来ましたね。しばらくお待ちを。
219:デフォルトの名無しさん
09/04/03 13:57:46
この板にイケメンなんかいたのか
220:デフォルトの名無しさん
09/04/03 15:24:28
イケてるとはかぎらないじゃない
221:デフォルトの名無しさん
09/04/03 17:05:17
>>218
ありがとうございます親切な方
気長に待ってますのでお願いします
222:デフォルトの名無しさん
09/04/03 22:02:58
.NET Frameworkのサンプルコードは、VB.NETとC#でコード書かれてて、C++が無い。
C#のコードの、ドット演算子をスコープ解決演算子に置き換えたらC++になるのかどうか。
ほかにどう変換すべきか。
223:デフォルトの名無しさん
09/04/04 00:19:38
場合による
224:デフォルトの名無しさん
09/04/04 01:21:37
クラス・構造体にref/valueを付ける。
組込型の変化、long→long longやchar→wchar_t、byte→unsigned charなど。
参照型にハンドルを付ける。ただしusingを自動変数にする。場合によってはできないので、auto_handleを使用する。
unsafeの消失。hoge*はpin_ptr<hoge>に対応するが、interior_ptr<hoge>やhoge*にできる場合もある。
……いろいろあって挙げていったらきりがない。
225:214
09/04/04 10:50:52
何とか自分でできました
ありがとうございました
226:デフォルトの名無しさん
09/04/04 22:50:07
今日はこの本で1冊の学習を終えた。
URLリンク(www.amazon.co.jp)
C++を使えたら、一番ワイドになれるんだろう。
C++標準ライブラリも.Net framewordもMFCもATLも何でも使えるものは使ってワイドになりたい。
227:デフォルトの名無しさん
09/04/05 12:03:49
typedef structで構造体を定義してるんですが、
新しく変数を追加しようとしても追加されなくて困っています。
同じ構造体の他の変数はマウスカーソル合わせるとunnamed~と表示されるのですが
新しく追加した変数はintと表示されています。
どなたか原因を教えてくれないでしょうか?
228:デフォルトの名無しさん
09/04/05 12:37:26
「追加されない」って、IntelliSence に追加されないってだけの話じゃないのか?
229:デフォルトの名無しさん
09/04/05 13:04:04
>>228
説明不足でした。すみません。
実際はエラーは出てないんですが、
候補一覧に出てこないので、不安になって質問しました。
時間置いたら今は出るようになっていました。
この候補一覧に出るようにするにはビルドする以外にも何かする必要があるのでしょうか?
230:デフォルトの名無しさん
09/04/05 13:23:50
>時間置いたら今は出るようになっていました。
通常は、これがすべて。詳細はヘルプの「IntelliSense の使用方法 」を参照すべし。
231:デフォルトの名無しさん
09/04/05 14:07:52
>>230
ありがとうございました。
IntelliSenceの使い方をやっと理解できました
232:デフォルトの名無しさん
09/04/05 16:52:51
ははは
233:デフォルトの名無しさん
09/04/06 14:06:31
エクセルのデータで、1の列が文字列、2~をint型で読み込んで構造体に入れたいんですが、どうしたらいいでしょうか?
234:デフォルトの名無しさん
09/04/06 16:50:08
CSVファイルに、カンマ区切りかタブ区切り形式で先ずテキスト化する。
235:233
09/04/06 19:25:21
エクセルのマクロ使ってという事ですよね。
ありがとうございます。やってみますm(__)m
236:デフォルトの名無しさん
09/04/06 19:27:40
すでにエクセルのデータではなくなっている。^-^;
237:デフォルトの名無しさん
09/04/06 19:44:08
そっち方面ならC++/CLIで.NETのが楽かも
でもそれならC#にしちゃうか
238:デフォルトの名無しさん
09/04/07 03:07:46
体験版のVC++Proを入れた後に
VC++Expressを入れてもMFCは使えるようになりませんか?
239:デフォルトの名無しさん
09/04/07 04:32:49
ヘッダやライブラリが揃っていればコンパイルはいけるんじゃね
240:デフォルトの名無しさん
09/04/07 12:27:47
>>238
ぐぐってみろ。使えるから。
241:デフォルトの名無しさん
09/04/08 12:51:11
>>238
使えるようになるけど、Express上でMFC使ったアプリを
作っても配布してはならない。ライセンスでそうなってる。
MFCは無料じゃなくて有料です。勉強なら許すって感じかな。
242:デフォルトの名無しさん
09/04/08 15:03:31
スタートページのニュースヘッダーみたいなのって出なくできますか?
あれで引っかかるような挙動したりして気持ちが悪い
243:デフォルトの名無しさん
09/04/08 15:09:39
オプションで設定できるのに、何でそれくらい自分でできないの?
244:デフォルトの名無しさん
09/04/08 15:13:46
FAQだな。
ちょっと探せばわかるけど、EEの場合オプションの全表示のチェック入れてなくて
無いと思い込んでる場合も
245:デフォルトの名無しさん
09/04/09 00:33:12
VS2005、MFCで以下の様なプログラムを作っています。
しかし、for文の中の代入がうまく行かず困っています。
例えば、SysTim.wYearには2009が入っているのに、
MyDataのYearには0が入っているという感じです。
何が原因なのでしょうか?
SYSTEMTIMEのメンバがWORDな所為かとも思いましたが、
結局解決策を見つけられずにいます。
struct MY_DATA {
unsigned char Year;
unsigend char Month;
unsigend char Day;
unsigend char Hour;
unsigend char Minute;
unsigend char Second;
unsigend char Data[8];
};
MY_DATA MyData[10];
SYSTEMTIME SysTim;
GetLocalTime(&SysTim);
int i;
for (i = 0; i < 10; i++) {
MyData[i].Year = SysTim.wYear;
・
・
・
}
246:デフォルトの名無しさん
09/04/09 00:49:51
charに入らないから。
wYear
The year. The valid values for this member are 1601 through 30827.
247:デフォルトの名無しさん
09/04/09 01:09:26
>>246
返事ありがとうございます。
1Byteのサイズに2Byte分入れようとしてるから、という事でしょうか?
以下の例で、ちゃんと値が代入できていたので、可能という認識なのですが。
(キャストしなきゃWarningが出るのはおいといて)
あと、私の書き方が悪かったですね・・・Yearだけでなく
年月日時分秒全てがうまく行きませんでした。
char Data1 = 0;
short Data2 = 10;
Data1 = Data2;
248:デフォルトの名無しさん
09/04/09 01:26:18
>>247
不可能。
BYTE byte; // typedef unsigned char BYTE;
SYSTEMTIME SysTim;
GetLocalTime(&SysTim);
byte = (BYTE)SysTim.wYear;
で試してごらん。無理だから。
249:デフォルトの名無しさん
09/04/09 01:46:40
1Byte = 8 Bit = 2 ^ 8 = 256 < 2009;
250:デフォルトの名無しさん
09/04/09 02:08:11
>>248,249
お返事ありがとうございます。
すいません、言いたかったのは代入後の値が0なのは何故かということです。
環境によるのだとは思いますが、普通は下位1byteが入っているはずでは?という認識です。
年以外に関しては、255以下ですし。
>>247に挙げた例で、下位1byteを代入できているので
同じような事をしてるのに、何故うまく行かないのかというところです。
とりあえず、明日もう少し考えてみます。
251:デフォルトの名無しさん
09/04/09 02:13:09
>>245 unsigendだから?綴りが違う。
#include <stdio.h>
#include <time.h>
#include <windows.h>
#include <winbase.h>
int main(void)
{
struct MY_DATA {
unsigned char Year;
unsigned char Month;
unsigned char Day;
unsigned char Hour;
unsigned char Minute;
unsigned char Second;
unsigned char Data[8];
};
MY_DATA MyData[10];
SYSTEMTIME SysTim;
GetLocalTime(&SysTim);
for (int i = 0; i < 10; i++) {
MyData[i].Year = SysTim.wYear;
MyData[i].Month = SysTim.wMonth;
MyData[i].Day = SysTim.wDay;
MyData[i].Hour = SysTim.wHour;
MyData[i].Minute = SysTim.wMinute;
MyData[i].Second = SysTim.wSecond;
}
}
252:デフォルトの名無しさん
09/04/09 07:08:02
VC++2005、.net framework2.0を使っています。
CSVファイルを読み込む ってのをやって見ようと思って、
using namespace Microsoft::VisualBasic::FileIO;
としてみたのですが、
.\tesuto.cpp(7) : error C2039: 'FileIO' : 'Microsoft::VisualBasic' のメンバではありません。
.\tesuto.cpp(7) : error C2871: 'FileIO' : この名前を指定された名前空間は存在しません。
と言われエラーになります。
何が足りなく、いけないのでしょうか?
さっぱりよく分っていないのですが、よろしくおねがいします。
253:デフォルトの名無しさん
09/04/09 09:29:24
Microsoft::VisualBasic::FileIOというのを定義してないか
定義してあっても参照できない
254:デフォルトの名無しさん
09/04/09 10:46:08
>>252
ソリューションエクスプローラーでプロジェクトを右クリックして参照(F)...を選択
Frameworkと参照が選択されている状態で、[新しい参照の追加(N)...]ボタンを押して
.NETタブから、Microsoft.VisualBasicを選択してOKを押す。
XMLなら別の方法も、、、チュートリアルか何かを参考にしてるのか?
255:デフォルトの名無しさん
09/04/09 10:46:58
ってXMLじゃなくてCSVか
256:デフォルトの名無しさん
09/04/09 12:14:57
>>254は2008での話で2005で確認したら[Frameworkと参照]の部分は[参照設定]だった
まあわかるとは思うけど念のため。
257:デフォルトの名無しさん
09/04/09 14:27:35
ははは
258:デフォルトの名無しさん
09/04/09 18:53:57
>>250
はずしてるかもだけど、
ループの中身をYearだけ代入するよにしたらどうなる?
期待してる動作は、下位1Byteだけは代入されるだろうってことよね?
259:258
09/04/09 18:55:20
ごめん、後半は書いてたね
無視してくださいorz
260:252
09/04/09 23:14:16
書かれた通りにやったら、出来た感じです。
どうもありがとうです。
261:デフォルトの名無しさん
09/04/09 23:53:21
MFCでVisualBasicをオーバーライトできます?
262:デフォルトの名無しさん
09/04/09 23:55:07
日本語で言ってくれ
263:デフォルトの名無しさん
09/04/10 00:04:32
だから、MFCでVB7のプログラムをアルゴリズムから設計までそっくりそのままで
上書きして、同じプログラムをつくれるかな?ってことです。
264:デフォルトの名無しさん
09/04/10 00:21:33
VB7って何だ?
265:デフォルトの名無しさん
09/04/10 01:29:40
Visual Basic で作ったプログラムと同じ動作をするものを VisualC++ で作れるか? という問いなら YES。
上書きだとかオーバーライドだとかといった既定の単語を、自分勝手な意味をつけて使っても他人にゃわからんよ。
266:デフォルトの名無しさん
09/04/10 03:04:35
だってプラグインしながらコンバートする感じでつくりたいんです
267:デフォルトの名無しさん
09/04/10 06:26:43
構造体やクラスを作って実際に使おうとすると、インスタンス.と打つとメンバがズラッと出てくるはずですけど表示されなくなってしまいました。原因わかりますか?
インスタンスをマウスオーバーすると構造体はちゃんとポップアップ表示されます。
268:デフォルトの名無しさん
09/04/10 09:41:20
よくあることなので諦めましょう
269:デフォルトの名無しさん
09/04/10 20:50:13
>>267
「.」を打ったり消したりを繰り返してれば復活しない?
後は、一回ビルドしなおすとか、ncbファイル消してみるとか・・・
270:デフォルトの名無しさん
09/04/10 21:41:24
何度かやってると復活するな
文法が間違ってたりすると反応しないから、何度もやって復活しないなら文法ミス
271:デフォルトの名無しさん
09/04/10 21:48:08
テンプレートかインクルードファイルが多すぎると、バグか知らないけど認識してくれないことが多い気がする。
272:デフォルトの名無しさん
09/04/10 21:59:24
2005/2008的には、仕様です。って感じだな。
273:デフォルトの名無しさん
09/04/11 00:49:19
Windows7でたら、パソコン買おうとおもうんだけど、今のWin2000じゃスペック的にも無理があるから・・
Windows7でもVC++6.0ってインストールできるのかな・・いまだに結構使ってるから、入れたいんだ。
274:デフォルトの名無しさん
09/04/11 00:57:22
>273
もうサポートも終わった環境なんて捨てろw
275:デフォルトの名無しさん
09/04/11 01:23:57
>>273
VC++6.0なんて仕様がイミフだからもうヤダ。。。
276:デフォルトの名無しさん
09/04/11 09:31:43
>>273
VMWareで2000動かしてそこにインストールするのがお薦め。
277:デフォルトの名無しさん
09/04/11 11:05:41
次期モデルC++0xはどれだけ対応しているのか期待したい
278:デフォルトの名無しさん
09/04/11 14:30:08
>>275
VC9になったところで仕様イミフだろ。
279:デフォルトの名無しさん
09/04/11 20:22:01
>>277
こういう感じらしい。decltypeが無いのは痛いと思う。
URLリンク(www.codeguru.com)
URLリンク(d.hatena.ne.jp)
280:デフォルトの名無しさん
09/04/13 12:34:48
エディットボックスコントロールや、立地エディットコントロール以外に
ActiveXとかでエディタコンポーネントってありませんか?
281:デフォルトの名無しさん
09/04/13 13:56:59
作れば何でもある
282:デフォルトの名無しさん
09/04/13 14:25:13
エディットボックスというのは初めて聞いた
283:デフォルトの名無しさん
09/04/13 18:39:12
VC++の得意分野って何?みんな何作るの?
GUIアプリならC#で作った方が早いじゃんか。
284:デフォルトの名無しさん
09/04/13 19:29:19
.NET Frameworkなんて死んでも入れないという人のためのアプリを作るためとか。
285:280
09/04/13 19:58:06
>>281
はい、ありがとうございます。この際作ろうと思います。
>>282
?私のVCのツールバーにエディットボックスってあるんですが・・普通はないのかな?
で、自作しようと思いますが、CEditクラスを継承しようと思いますが、
自動インデントやらの独自機能を追加しようとおもいます。
その場合、ActiveXという形式で作成するのか、普通のC++クラスとして作成汁のかどっちがいいんでしょうか?
なにぶんVC++はあまり知らないので、おしえてください。
286:デフォルトの名無しさん
09/04/13 20:53:15
vc++2008のエディタをウィンドウ分割したときに
上側のウィンドウへフォーカスを切り替えたいとき
キーボードでやるにはどうすればいいの?
287:デフォルトの名無しさん
09/04/14 09:03:28
>>286
上側ではないがF6で切り替え
288:デフォルトの名無しさん
09/04/14 10:12:40
>>287
できました!ありがとう。
289:デフォルトの名無しさん
09/04/16 21:57:30
質問です。
VC++.net2003で、VB6.0のTextBoxと思われるもの(spy++によると、"ThunderRT6TextBox")より、
WM_GETTEXTで文字列を取得するアプリを作りました。
ただ、TextBoxの格納上限 > WM_GETTEXT取得上限のようで一定量を超える入力があると
全てを取得することが出来ません。
EM_GETTEXTEXで試したのですが、リッチエディットコントロールではないのか、何も返してきません。
何かいい方法ありませんでしょうか。
(スレあってますよね・・・?)
290:デフォルトの名無しさん
09/04/19 09:01:23
MFCのクラス階層図を網羅したExcelファイルはどこかにないかね。
291:デフォルトの名無しさん
09/04/19 15:32:03
VC++2008EEなのですがビルドしようとすると
general error c1010070: Failed to load and parse the manifest.
と出てきて何もできません。どうすればよいのでしょうか?
292:デフォルトの名無しさん
09/04/19 16:06:38
プロジェクトのプロパティの構成プロパティのマニフェストツールの入力と出力に
変なファイル指定してない?
293:デフォルトの名無しさん
09/04/19 16:19:03
入力リソースマニフェスト→指定なし
出力マニフェスト ファイル→$(TargetPath).manifest
となってます^^;
294:デフォルトの名無しさん
09/04/19 16:23:53
それ消すか、埋め込みマニフェストにしてみては
あと、新規プロジェクトでゼロから作ってもそれ出る?
295:デフォルトの名無しさん
09/04/19 16:27:05
消しても埋め込みマニフェストにしても無理でしたorz
新規で作っても出ます;;
296:デフォルトの名無しさん
09/04/19 16:41:32
むむむ、、、、再インストール・・・かなあ
297:デフォルトの名無しさん
09/04/19 17:43:02
再インストールしても無理でしたorz
298:デフォルトの名無しさん
09/04/19 23:24:59
ためしに、[ツール]-[設定のインポートとエクスポート]から
すべての設定をリセットしてみてはどうか。
299:デフォルトの名無しさん
09/04/21 15:48:11
WIN32アプリケーションで、
マルチディスプレイでプログラムをフルスクリーン表示にしている時に、
セカンダリ画面でクリックなどするとプログラムが最小化してしまいます。
この最小化を抑制する方法があるみたいなのですが、どうすれば可能なのでしょうか。
300:デフォルトの名無しさん
09/04/21 15:49:18
最小化するか?
301:デフォルトの名無しさん
09/04/21 16:00:44
はい、Winキーを押した時の様になります。
302:デフォルトの名無しさん
09/04/21 17:08:08
それはお前の作ったプログラムでしか起きない問題なのか?
要するにお前が作ったプログラムに原因があるのか、
それとも元々OSがそういう仕様なのかぐらいはっきりしろ。
303:デフォルトの名無しさん
09/04/21 17:48:41
元々OSがそういう仕様なのだと思います。
大抵の古いWIN32アプリでフルスクリーン時は大抵そうなってしまってます。
最近はそれに対処しているプログラムがあって、
それをどうやってるのかなと質問させて頂きました。
304:デフォルトの名無しさん
09/04/21 17:55:39
Visual Studio 6.0を使ってC言語+MySQLのアプリを作りたいのですが、
[ツール]→[オプション]で
ライブラリパスにC:\Program Files\MySQL\MySQL Server 5.1\lib\opt
インクルードパスにC:\Program Files\MySQL\MySQL Server 5.1\include
を設定し、
#include "mysql.h"をしてコンパイルするとMySQLのヘッダファイルでエラーが出まくります。
プロジェクトの設定が悪いのでしょうか?
305:デフォルトの名無しさん
09/04/21 18:02:00
どういうエラーよ
306:304
09/04/21 18:06:41
>>305
すみません。
c:\program files\mysql\mysql server 5.1\include\mysql_com.h(243) : error C2061: 構文エラー : 識別子 'SOCKET' がシンタックスエラーを起こしました。
c:\program files\mysql\mysql server 5.1\include\mysql_com.h(280) : error C2059: 構文エラー : '}'
c:\program files\mysql\mysql server 5.1\include\mysql_com.h(394) : error C2143: 構文エラー : ')' が '*' の前に必要です。
等です。
URLリンク(www13.plala.or.jp)
↑ここを参考にしました。
307:304
09/04/21 18:23:26
すいません!自己解決しました。
#include <winsock.h>をしたらエラーが出なくなりました。
ここでwinsockが出てくるとは…。
308:デフォルトの名無しさん
09/04/21 18:49:05
ああ、そういえばmysql.h見てて書こうと思ってて他の作業入ってて書きそびれたわ
mysql.h をinclude するまえにwindows.hをincludeしては、と書こうとしてた。
309:デフォルトの名無しさん
09/04/22 03:23:27
Visual Studio C++ 2008で
#include <boost/random.hpp>
を使いたいんですけどこれはブーストをダウンロードした後どうすればいいのですか?
310:デフォルトの名無しさん
09/04/22 03:31:34
>>309
今ダウンロードしたやつは忘れて、こっちのインストーラ版をダウンロードする。
URLリンク(www.boostpro.com)
最も、VC++ 2008ならSP1当てれば#include <random>で
名前空間std::tr1にほぼ同じものが存在する。
311:デフォルトの名無しさん
09/04/22 03:39:06
>>310
ご親切にありがとうございます。
なるほどー
SP1当ててないのでダウンロードしてみます。
インストール後はもう#include <boost/random.hpp>を使える状態になるのですか?
今環境がないため試せないんです;
312:デフォルトの名無しさん
09/04/22 10:44:38
インクルードディレクトリの設定やったことないのか?
インストーラーがやってくれるならそのままでいいし、ダメなら自分で設定すればいいだけ
313:デフォルトの名無しさん
09/04/25 00:03:11
すみません。一般的に画像を保存する際、.bmp形式より.jpg形式の方が画像サイズが小さくなります。
今度作成しようとおもっているのは、Alt+Prt Scキーにより、クリップボードにコピーされた
アクティブな画面キャプチャを.jpg形式のファイルで保存しようとおもうんですが、
私のアルゴリズム?では、bmp形式のサイズで保存されてしまうのが予想されます。
私のアルゴリズムは以下です。
1.クリップボードの画像データをビットマップオブジェクトにコピーし、ファイルを保存する。
2.ファイル名の拡張子を.jpgに変換する。
以上です。
以前、Alt+Prt Scキーで取得した画面キャプチャ画像をアクセサリのペイントに貼り付けてjpegファイルに変換しても
画像サイズが変わらなかったので、上に書いたアルゴリズムでは同様のことになってしまうと思います。
jpegファイルの軽さで最初からファイルを保存するようにするにはどうしたらいいでしょうか?
画像関係のソフト制作、VC++は不慣れなものですので、すみませんが教えてください。よろしくお願いします。
314:デフォルトの名無しさん
09/04/25 00:11:29
>>313
GDI+
315:デフォルトの名無しさん
09/04/25 00:19:46
Express以外を使っているなら、ATL::CImageもおすすめ。
316:413
09/04/25 00:52:22
>>314さん、>>315さん。
どうもありがとうございます。教えていただいた、
キーワードでググってやってみようと思います。ちなみに
MFCですので。。
コンビニいって、立ち読みしてたので、お礼が遅くなりました。すみません。
317:デフォルトの名無しさん
09/04/25 07:30:44
とりあえずファイルの拡張子変えただけじゃjpgにはならんよ…
318:デフォルトの名無しさん
09/04/25 08:20:10
>>317
俺も最初の頃は
xxx.jpg.bmp
なんてファイルがあったな
319:デフォルトの名無しさん
09/04/25 12:30:50
いい例えが思いつかなくて放置してたんだけど
昼飯食ってたらとたんに思いついた
アナログテレビにペンで 「デジタル」 って書くだけじゃ地デジは映らないよ!
320:デフォルトの名無しさん
09/04/26 10:19:59
ペイントブラシは拡張子変えるだけでファイルフォーマットも変えるからなあw
321:デフォルトの名無しさん
09/04/26 10:21:03
ペイントブラシじゃなくてペイントか
322:デフォルトの名無しさん
09/04/26 13:35:30
いきなりですが、質問させてください。
VC++2008 ExpressEditionで、windowsアプリケーションを作成しようとしています。
CreateWindow関数の引数が多く、横に書いていくと見にくいので、途中で改行をしました。
すると、それ以後、コンマを入力するとエラー音(プンッというような音)が鳴ります。
これはどういった問題が起きているのでしょうか。
分かる方、どなたか教えていただけるとありがたいです。
323:デフォルトの名無しさん
09/04/27 02:18:15
すみません。物凄く素人な質問で恐縮なのですが。
ボタンを沢山配置したときに、リソース上で整列させたいのですが、
元々ダイアログに表示されている、ボタン位置の調整が出来る青い枠は
増やせないのでしょうか……?
リソース上で座標だけ見てボタンの微調整をするのはかなり苦痛です。
宜しくお願いします……!
324:デフォルトの名無しさん
09/04/27 02:36:30
どのリソースエディタかしらないけどコントロールの整列ボタンとかないの?
rcをテキストエディタで開いてみると
DEFPUSHBUTTON "OK", IDOK, 129, 7, 50, 14, BS_DEFPUSHBUTTON
PUSHBUTTON "キャンセル", IDCANCEL, 129, 24, 50, 14, BS_PUSHBUTTON
こんな感じになってるから手入力でやってもたいした労力じゃないかもしれないよ
325:323
09/04/27 02:46:51
>324さま
使用しているのはVisualStudio2008のリソースエディタです。
複数ボタンを選択した後に右クリックして、左揃え上揃えがあるのを確認しました。
早とちりしてすみません(汗)
微調整は324さまの仰られた通り、テキストエディタで編集する事にします。
ありがとうございました。
326:デフォルトの名無しさん
09/04/27 03:01:17
>>325
騙されたと思って、ダイアログエディタのガイドをクリックしてみろ。
327:デフォルトの名無しさん
09/04/27 20:26:44
先日からVC++2008を使い始めましたが、基本的な操作方法が分かりません。
ライブラリを追加するのはどこからやればいいのでしょうか?
2005ではプロジェクト→設定…とやっていたのですが。
プログラム自体初心者なのですが回答お願いします。
328:デフォルトの名無しさん
09/04/27 20:55:09
プロジェクト→設定…とやればいい
329:デフォルトの名無しさん
09/04/27 20:56:30
プロジェクト→プロパティだった
330:デフォルトの名無しさん
09/04/27 21:29:50
>>327
>プログラム自体初心者なのですが回答お願いします。
こういうの要らないだろ。
どうしてこういうの付けてくるヤツって耐えないんだろう。
…でもまあスレタイ的には今回は例外的に問題無いのか。
331:デフォルトの名無しさん
09/04/27 21:42:09
>>327
それくらい2005とろくに変わっていないだろ。
332:デフォルトの名無しさん
09/04/27 21:47:05
図解つきのマニュアルで1ステップずつ解説みないと使えないレベルなんじゃないか?
333:323
09/04/28 01:45:05
>>326さま
位置調整用の青点線増えました。助かりました。ありがとう。
334:327
09/04/28 10:48:06
プロジェクト→プロパティと開いたのですが、その後の項目で何を選べばいいのか分かりません。
2005ではリンクからライブラリの一覧が見れましたが、2008でリンカを選んでもそれらしい項目がありません。
他の項目も見ましたが、どこから追加すればいいのか分かりませんでした。
詳しく教えていただけないでしょうか。
335:デフォルトの名無しさん
09/04/28 10:53:59
詳しくも何もヘルプに書いてあるだろ。探せなきゃ「リンカ入力としての .lib ファイル」でググれ
336:デフォルトの名無しさん
09/04/28 11:02:00
>2005ではリンクからライブラリの一覧
これ、何のこと言ってる?
もしかしてC++/CLIか?
337:デフォルトの名無しさん
09/04/30 17:44:18
VC++用のXML SDKってどこからダウンロードすればいいでしょうか?
338:デフォルトの名無しさん
09/04/30 18:12:08
>>337
URLリンク(www.microsoft.com)
339:デフォルトの名無しさん
09/04/30 18:18:04
>>338
さんくっす
340:デフォルトの名無しさん
09/04/30 23:01:53
>>337
一応、VC付属のSDK・MSDNライブラリにもMSXML関連のものは入っていたはず。
望みのバージョンのものかどうかはともかく。
341:デフォルトの名無しさん
09/05/01 15:15:49
MFCやWin32APIでつかうGDI+について、書かれてる本ってないですか?割とくわしめに書いてある本。。
洋書でもいいです。近くの大本屋4件くらいまわってもなかったもんで・・
もしあれば、Amazonで買おうと思います。
342:デフォルトの名無しさん
09/05/01 15:50:48
またお前か
343:デフォルトの名無しさん
09/05/01 21:04:33
すみません。IEの現在表示してるアドレスを取得する事って可能ですか?
vcだけじゃ無理で、IEのSDKとかつかうんですかね・・
344:343
09/05/01 21:10:14
事故解決しました。ググッたら色々でてきました。うへぇ~。
345:デフォルトの名無しさん
09/05/01 21:14:16
この辺見ればできると思う
URLリンク(www.nitoyon.com)
346:344
09/05/01 21:18:50
>>345
どうもありがとうございます><;そこは詳しく載ってますね><;
私がググって見つけたページよりも実践的なサンプルが載っています。
連休中にタスクバーに常駐するお気に入り管理ツールを作ろうと思いまして・・
ブラウザのお気に入り機能って使いにくいですよね><;
347:デフォルトの名無しさん
09/05/03 06:20:13
StretchDIBitsとStretchBltの違いってなんですか?
メモリ上がなんとかとなってるんですが意味がわかりません
348:デフォルトの名無しさん
09/05/03 08:43:10
>>347
StretchBlt: コピー元がHDC
StretchDIBits: コピー元がBITMAPINFO/void*
349:デフォルトの名無しさん
09/05/03 17:48:53
main()関数のソースファイルが、同じソリューションかつプロジェクト内の他の
ソースファイルにリンクできてないようで、ビルドするとリンクエラーが出ます。
error LNK 2001:外部シンボル ~~~~ は未解決です。
fatal error LINK1120: 外部参照4が未解決です。
のメッセージが出ます。
正しくリンクできるように設定するにはどうするんでしょうか。
Visual Studio .NET 2003 Professional
作成したプロジェクトは Visual C++ プロジェクトの「コンソールアプリケーション(.NET)」です。
350:デフォルトの名無しさん
09/05/03 18:33:04
インクルードしてないとかいう落ちだろ
351:デフォルトの名無しさん
09/05/03 18:45:13
CLRならC++のみだし、、、Cリンケージの問題でもなさそうか?
参照設定してないとかいう落ちとか
352:デフォルトの名無しさん
09/05/03 19:14:17
原因わかった。ファイルは実はリンクできてた。
vectorコンテナを使ってる箇所を直す必要がある。
前に単一のソースに書いてBorland C++ Compilerで正常にコンパイル成功
していたプログラムを拡張しようとしたが、他のファイルで定義したクラスの
変数宣言は問題無いが、
std::vector<class fileman> fman_databox1;
で定義して
fsize1 = fman_databox1[n1].getfsize();
のように、vectorコンテナに添え字演算子で要素を取り出したものから、
メンバー関数を使おうとする箇所があるとエラーが出るということがわかった。
353:デフォルトの名無しさん
09/05/03 19:19:11
fatal error
実はリンクできてた
直す必要がある
分裂症ですか?
354:デフォルトの名無しさん
09/05/03 19:44:27
一度ポインターにアドレスを代入してからメンバー関数を呼ぶように変更しよう
としたけど、そうやってもエラーになった。
IDEはちゃんとリスト選択が出てくるのに。
inlineを取ればリンクできた。
そんなことがあるのか、何でインライン関数にすればエラーになるんだ。
355:デフォルトの名無しさん
09/05/03 20:02:26
インライン関数の展開って、コンパイル時に行われるからじゃないのか?
356:デフォルトの名無しさん
09/05/04 08:31:41
テンプレートクラスで静的メンバ変数を使おうとすると、
>LNK2019: 未解決の外部シンボル
のエラーが出るのですが、どういった風に解決するのが一番でしょうか。
357:デフォルトの名無しさん
09/05/04 08:36:02
テンプレートなのに何で静的なんだよ
358:デフォルトの名無しさん
09/05/04 08:43:27
クラスごとにインスタンス数を数えたいのですが、
CountingObject : BasicCounting< CountingObject >と継承して、
BasicCountingのコンストラクタ、デストラクタでBasicCounting::countの値を増減しようと考えています。
テンプレートクラスで静的メンバ変数というのは、おかしいのですか?
359:デフォルトの名無しさん
09/05/04 08:48:51
そんなくだらない話はC++スレでやれ
360:デフォルトの名無しさん
09/05/04 11:42:04
>>356
クラステンプレートでないクラスの場合と同じで、変数の定義が必要。
class Foo
{
static int Hoge;
};
int Foo::Hoge;
tempate<typename T>
class Bar
{
static int Hoge;
};
template<typename T>
int Bar<T>::Hoge;
なお、クラステンプレートの静的変数は実体化させる必要があるので、
クラステンプレートのメンバ関数などと同様、通常はヘッダに定義を書く。
361:デフォルトの名無しさん
09/05/04 12:56:35
コンパイル時にエラーがあるとVSでエラー箇所教えてくれるしエラーメッセージも出るからアサートって書く必要ないですよね
362:デフォルトの名無しさん
09/05/04 12:59:30
構文エラー等ならコンパイル時にエラーになるが、0 division 等はエラーにならない。
よってアサートは必要。
363:デフォルトの名無しさん
09/05/04 13:11:44
コンパイルエラーが出るうちはデバッグは楽だ。
実行時エラーになるととたんに対処が面倒になる。
364:デフォルトの名無しさん
09/05/04 13:34:07
コンパイルエラーとアサートと同次元で語るやつが理解できない。
365:デフォルトの名無しさん
09/05/04 13:43:28
>>364
まあまあ、ココは初心者スレだからいいじゃないか。
366:デフォルトの名無しさん
09/05/04 19:16:07
実行時エラーと言いたかったんじゃないかなあ
367:デフォルトの名無しさん
09/05/04 20:03:49
それは違くね?
368:デフォルトの名無しさん
09/05/05 08:46:18
そうか?
アサートとコンパイルエラーが同レベルで出てくるなんて
初心者だってありえないだろ
369:デフォルトの名無しさん
09/05/05 08:55:35
>>368
「ありえない」か?確率0%か?
いや、初心者ならそのくらいありえるのではないか?
およそ、初心者に「ありえない」ことは「ありえない」んでは?
370:デフォルトの名無しさん
09/05/05 10:04:21
アサートという言葉を知ってるのにか?
当人に聞いてみなけりゃ分からないけど、
ありえないと言えるくらい見当違いなことだよ
371:デフォルトの名無しさん
09/05/05 10:09:22
たぶん釣りじゃないのかw
372:デフォルトの名無しさん
09/05/05 20:20:07
MFCでなんか面白いもの作りたいんだけど、思いつかない。
サンプルが載ってるページってありますか?自力で作るのもいいんだけど・・お代が無いし。
373:デフォルトの名無しさん
09/05/05 21:02:58
じゃ、タスクマネージャでも作ってみろ
374:デフォルトの名無しさん
09/05/05 22:54:51
>>373
タスクバーに入れる方法がわからないから、却下でござる。
375:デフォルトの名無しさん
09/05/05 23:07:59
C言語始めようかと思って先ほどマイクロソフトのVisual C++ Express Editionってのをダウンロードしました
試しに参考書に載ってる簡単な足し算を表示するプログラムを書き写してみたんですが、
どうやってその書いたプログラムが動くのかが分かりません・・・
376:デフォルトの名無しさん
09/05/05 23:23:29
F6でコンパイル F5で実行、だが・・・多分出てすぐ消ええる。
VCの入門本買って読むべし
377:デフォルトの名無しさん
09/05/05 23:38:49
コンパイルで調べたら↓ヒットしました
URLリンク(msdn.microsoft.com)
手順の通りにやってみましたがやっぱりすぐ消えますね
分かるように勉強してきます ありがとうございました
378:375
09/05/05 23:55:05
[新しいプロジェクト]のとこから色々弄ったら実行出来ました!
二桁の数字が表示されただけでしたが色々作れそうで楽しいっすね
スレ汚し失礼しました
379:デフォルトの名無しさん
09/05/06 00:28:51
以下の2行をmainの最後に入れれば、実行後終了前にリーターンキー入力を待つ
printf("リターン入力で終了\n");
getchar();
380:デフォルトの名無しさん
09/05/06 00:38:50
>>377
プログラムはあなたの思ったようには動かなくても
プログラムはあなたの書いたようには動く
という格言がある。
これから先何度も何度も味わい続ける事になるだろうが、
これを忘れないようにね。
んでオススメは、Windows環境限定で良ければ
#include <conio.h>
でgetch();を使うのが良いと思うよ。いかなるキーでも何か入力すれば終了するようになる。
#include <conio.h>
int main()
{
//処理
getch();
return 0;
}
381:デフォルトの名無しさん
09/05/06 12:09:16
>>377
main()の最後の } にブレイクポイントを置けばいいよ。
382:デフォルトの名無しさん
09/05/06 12:17:10
Ctrl+F5でいいよ
383:デフォルトの名無しさん
09/05/06 16:14:48
VSとかでプログラムを作らないとデバッグって出来ないのですか
コマンドラインでそれ用のオプションつけてコンパイルしてあれこれして
デバッガー使うことは出来ますか?
384:デフォルトの名無しさん
09/05/06 16:28:01
デバッグ自体はコンパイル方法関係ないよ
Cじゃなくてもできるし
385:デフォルトの名無しさん
09/05/06 16:28:12
↑追加で実行ファイル開いたら問題なく出来ました
ごめんなさい
386:デフォルトの名無しさん
09/05/07 00:03:37
文字リテラルと文字列リテラルが分かれていますが、
どう言ったメリットデメリットがあるんでしょうか?
一文字の文字列を""で囲んでも何の問題もないような気がしますが
メモリの使用量が少ないんでしょうか
387:デフォルトの名無しさん
09/05/07 00:13:28
C言語からやり直せw
388:デフォルトの名無しさん
09/05/07 00:20:01
すいません、今日C++始めたばっかりなんです
VBは型ぐらいなら分かるんですがどうしてもふに落ちないもので
389:デフォルトの名無しさん
09/05/07 00:32:58
自分もC始めたばっかりなんだけど
char string[] = "ABCDE";
char chararray[] = { 'A', 'B', 'C', 'D', 'E', '\0' };
文字列は文字の配列だよって理解でいいの?
390:デフォルトの名無しさん
09/05/07 00:56:44
>文字列は文字の配列
読んで字の如し
391:デフォルトの名無しさん
09/05/07 02:41:38
>>388
VBやったことあるなら、AscとChr$は知っているだろ。
めちゃくちゃ乱暴に言うと文字リテラル'A'は、Asc("A")と同じ。
Ascの戻り値とChr$の引数、VBではLongとかで扱っていただろうが、
Cではcharという独立した型が与えられていると思えばいい。
392:デフォルトの名無しさん
09/05/07 08:22:06
n文字型があれば1文字型は不要ではという質問だと思うが、
文字の比較や判定の基本はバイト単位だな
32bitや64bit単位でできないこともないけど
393:デフォルトの名無しさん
09/05/07 08:38:31
ああunicodeもあるから
文字単位で比較か
394:デフォルトの名無しさん
09/05/07 11:54:01
>>386
文字と文字列の理解が怪しいな。
そもそもポインタとか分かってる?
いきなりC++にいくのは自殺級に難しいと思うからC言語から学んだ方が良いと思うよ。
395:デフォルトの名無しさん
09/05/07 11:57:40
>>389
> 文字列は文字の配列だよって理解でいいの?
いいんじゃない。文字列は文字型変数の配列ね。
あと実際に文字列は扱えないからその先頭アドレスで扱うことになるってことを理解してくれ。
例えば
"ABCDE"=="ABCDE"
がtrueになるかどうかは処理系依存。
左の"ABCDE"と右の"ABCDE"が別に確保されていればアドレスが異なるから
これはfalseだが、コンパイル時にコンパイラが気付いてメモリ節約のために
同一文字列をマージすればtrueとなる。
> char string[] = "ABCDE";
> char chararray[] = { 'A', 'B', 'C', 'D', 'E', '\0' };
これは全く同じになりますよ。
396:デフォルトの名無しさん
09/05/07 13:27:08
で、結局メリットデメリット誰も言えないわけで
397:デフォルトの名無しさん
09/05/07 13:36:05
>>396
は?頭おかしいの?
398:デフォルトの名無しさん
09/05/07 13:44:03
データ型が違うという事実があるだけで、メリットもデメリットもない
メリットは使うときがくれば分かるとしか言いようがないな
使わない人にとっては面倒なだけと言えばデメリットにもなるだろうが、それは何にしてもそうだろう
399:デフォルトの名無しさん
09/05/07 14:10:36
これだからVB厨はコンピュータのこと何もわかってないと
言われるんだよ
Cやったあとはマイコンもやれよ
で電子回路やってFPGAもやれ
そこでやっとプログラマといえる
400:デフォルトの名無しさん
09/05/07 14:34:58
まぁ、いいんじゃないの一つずつ覚えていけば
VBは直感でも何となくできるし、プログラマへの足がかりぐらいにはなってると思うよ
偉そうだったらぶっ飛ばしたなくるけどw
401:デフォルトの名無しさん
09/05/07 14:37:26
>>399
しかたないさ、何てったってvisualかつbasicだもんなw
そりゃしょーがない
402:デフォルトの名無しさん
09/05/07 14:42:49
別にVBでもいいじゃん。
ただし
>>396
> で、結局メリットデメリット誰も言えないわけで
全く見当違いな質問に対して答えないだけで
「言えない」発言をする低能を除く!