★初心者にVisual C++を教えるスレ★ Part33
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2009/02/22(日) 17:44:23お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
過去スレ、関連スレなどは>>2-5辺り。
0002デフォルトの名無しさん
2009/02/22(日) 17:45:47Part31 ttp://pc11.2ch.net/test/read.cgi/tech/1217494948/
Part30 ttp://pc11.2ch.net/test/read.cgi/tech/1210170833/
Part29 ttp://pc11.2ch.net/test/read.cgi/tech/1203007556/
Part28 ttp://pc11.2ch.net/test/read.cgi/tech/1196430042/
Part27 ttp://pc11.2ch.net/test/read.cgi/tech/1189394427/
Part26 ttp://pc11.2ch.net/test/read.cgi/tech/1176387917/
Part25 ttp://pc11.2ch.net/test/read.cgi/tech/1168354839/
Part24 ttp://pc10.2ch.net/test/read.cgi/tech/1158296664/
Part23 ttp://pc8.2ch.net/test/read.cgi/tech/1140711893/
Part22 ttp://pc8.2ch.net/test/read.cgi/tech/1131443284/
Part21 ttp://pc8.2ch.net/test/read.cgi/tech/1124806288/
Part20 ttp://pc8.2ch.net/test/read.cgi/tech/1120222322/
Part19 ttp://pc8.2ch.net/test/read.cgi/tech/1116209988/
Part18 ttp://pc8.2ch.net/test/read.cgi/tech/1113539594/
Part17 ttp://pc8.2ch.net/test/read.cgi/tech/1107926989/
Part16 ttp://pc8.2ch.net/test/read.cgi/tech/1101022051/
0003デフォルトの名無しさん
2009/02/22(日) 17:46:17Part14 ttp://pc5.2ch.net/test/read.cgi/tech/1093672937/
Part13 ttp://pc5.2ch.net/test/read.cgi/tech/1089011118/
Part12 ttp://pc5.2ch.net/test/read.cgi/tech/1083585833/
Part11 ttp://pc5.2ch.net/test/read.cgi/tech/1077965179/
Part10 ttp://pc5.2ch.net/test/read.cgi/tech/1074933908/ ※
Part09 ttp://pc5.2ch.net/test/read.cgi/tech/1068983609/ ※
Part08 ttp://pc5.2ch.net/tech/kako/1063/10630/1063029371.html
Part07 ttp://pc5.2ch.net/tech/kako/1056/10562/1056280510.html
Part06 ttp://pc5.2ch.net/tech/kako/1052/10529/1052931903.html
Part05 ttp://pc5.2ch.net/tech/kako/1048/10486/1048698321.html
Part04 ttp://pc5.2ch.net/tech/kako/1044/10441/1044196393.html
Part03 ttp://pc5.2ch.net/tech/kako/1038/10381/1038160750.html
Part02 ttp://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part01 ttp://pc3.2ch.net/tech/kako/1023/10235/1023530449.html
0004デフォルトの名無しさん
2009/02/22(日) 17:47:42■MFC相談室 mfc20d.dll■
http://pc11.2ch.net/test/read.cgi/tech/1230219816/
Win32API質問箱 Build76
http://pc11.2ch.net/test/read.cgi/tech/1233622578/
【C++】 DirectX初心者質問スレ Part21 【C】
http://pc11.2ch.net/test/read.cgi/tech/1229078397/
C言語なら俺に聞け(入門篇) Part 45
http://pc11.2ch.net/test/read.cgi/tech/1235044065/
【初心者お断り】ガチ規格準拠C専用スレ Part133
http://pc11.2ch.net/test/read.cgi/tech/1201153965/
C++相談室 part66
http://pc11.2ch.net/test/read.cgi/tech/1234420483/
C/C++の宿題片付けます 122代目
http://pc11.2ch.net/test/read.cgi/tech/1232029287/
【初心者歓迎】C/C++室 Ver.64【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1234193151/
【関連サイト】
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
MSDN ライブラリ ※変更された
http://msdn.microsoft.com/library/ja/
http://msdn2.microsoft.com/ja-jp/library/ (2005のことはこっち)
Platform SDK Update ※変更された
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
http://www.google.co.jp/
0005デフォルトの名無しさん
2009/02/22(日) 17:48:57part 1 ttp://piza.2ch.net/tech/kako/970/970607517.html
part 2 ttp://piza.2ch.net/tech/kako/981/981630730.html
part 3 ttp://piza2.2ch.net/tech/kako/993/993186053.html
part 4 ttp://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 ttp://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 ttp://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 ttp://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 ttp://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 ttp://pc5.2ch.net/tech/kako/1036/10368/1036897197.html
0006デフォルトの名無しさん
2009/02/22(日) 17:49:23Microsoft Windows Server 2003 R2 Platform SDK Web Install
http://www.microsoft.com/downloads/details.aspx?FamilyID=0baf2b35-c656-4969-ace8-e4c0c0716adb&DisplayLang=en
(ISO版などあり)
これ以降、Platform SDK + .NET Framework SDKとして
Windows SDKが公開されていて、その中で一番新しいのはこれ。
Windows SDK for Windows Server 2008 and .NET Framework 3.5
http://www.microsoft.com/downloads/details.aspx?FamilyID=f26b1aa4-741a-433a-9be5-fa919850bdbf&DisplayLang=en
少し前のバージョン(Vista + .NET 3.0の初期版)には日本語版もあったけど、
日本語化されているのは専ら.NET Framework部分だけ。
VC6対応の、最後のPSDKはここ。
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
テンプレ終わり。
0007デフォルトの名無しさん
2009/02/22(日) 17:57:18CRLの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()は何の意味があるのでしょうか?必要なんでしょうか?
0008デフォルトの名無しさん
2009/02/22(日) 19:23:01これも追加で、本当の最新、もちろんβだけど。
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1: BETA
http://www.microsoft.com/downloadS/details.aspx?familyid=A91DC12A-FC94-4027-B67E-46BAB7C5226C&displaylang=en
0009デフォルトの名無しさん
2009/02/22(日) 19:29:16文字列連結は、String同士だけでなく、StringとObjectでも可能。
前者だと+の中に挟まれたint型の変数は
Object型にボックス化されてから連結されるというわけ。
だから、前者でもうまくいくけど、ボックス化は高コストなので
それを避けている後者のほうが望ましい。
0010デフォルトの名無しさん
2009/02/22(日) 22:14:39VBをお勧めする
0011デフォルトの名無しさん
2009/02/22(日) 22:46:540012デフォルトの名無しさん
2009/02/22(日) 23:25:360013デフォルトの名無しさん
2009/02/23(月) 05:25:520014デフォルトの名無しさん
2009/02/23(月) 09:15:44プロジェクトディレクトリをそのまま、別のPCにコピーして作業を再開したら、
「ファイルが移動された」というコンパイルエラーが出て、リリース(デバッグは出来る)
出来なくなってしまいました。
ファイルの位置の再定義はどこで出来ますか?
0015デフォルトの名無しさん
2009/02/23(月) 11:02:24プロジェクトなしでソースのみの場合は新しくプロジェクト作ってそこへソース突っ込むだけだし。
自分が書いた?ソースさえビルドできない状況が全く理解できない。
0016デフォルトの名無しさん
2009/02/23(月) 12:34:39でも・・でも・・(´;ω;`)ブワッ
stdfxだっけか、が移動したとか出て。
確かに、前のPCのディレクトリの名前が参照されてるのですよ
0017デフォルトの名無しさん
2009/02/23(月) 12:38:460018デフォルトの名無しさん
2009/02/23(月) 13:31:06ありがとうございます!
0019デフォルトの名無しさん
2009/02/23(月) 17:31:19印刷する方法が分かりません><
教えてください。
0020デフォルトの名無しさん
2009/02/23(月) 17:55:20ボタンが並んでるウィンドウを印刷したいのか?
0021デフォルトの名無しさん
2009/02/23(月) 18:21:16MFCでこういうことが出来るんだと思ったら、CFormViewにすると
なぜか、印刷機能が付けられなかったんです。
0022デフォルトの名無しさん
2009/02/23(月) 21:32:06>なぜか、印刷機能が付けられなかったんです。
仕様。
0023デフォルトの名無しさん
2009/02/24(火) 09:11:47textBoxとかの中身を抽出して、フォントとか指定して、印刷に出力
するのが一般的?
0024デフォルトの名無しさん
2009/02/25(水) 01:40:33shockwaveflashのocxコンポーネントを追加しますが、
そのときにコントロールに対してInvokeHelper関数で、
swfファイルのオリジナルの幅や高さって取得できるでしょうか?
0025デフォルトの名無しさん
2009/02/25(水) 17:39:490026デフォルトの名無しさん
2009/02/25(水) 17:45:260027デフォルトの名無しさん
2009/02/25(水) 18:04:35パーフェクトマスターシリーズがC#しかないんよ。
「.」が、「::」とか「->」になるだけだよね。
0028デフォルトの名無しさん
2009/02/25(水) 18:23:210029デフォルトの名無しさん
2009/02/25(水) 18:25:18「.」もあるんだが。
0030デフォルトの名無しさん
2009/02/26(木) 11:14:35印刷機能の実装が分からないです。
フォームのtextBox1に計算結果が返されるとして、
例えば、textBox1の中身を印刷するには、
最低限何をすればいいですか?
0031デフォルトの名無しさん
2009/02/26(木) 11:23:16そこらのサンプルコード切り貼りだけでいけるぞ。
0032デフォルトの名無しさん
2009/02/26(木) 11:27:32C++に変換しても、ビルドできません><
0033デフォルトの名無しさん
2009/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 );
}
0034デフォルトの名無しさん
2009/02/26(木) 12:46:38(this, &Form1::document_PrintPage);
↑の部分で
error C2039: 'document_PrintPage' : '印刷2ch::Form1' のメンバではありません。
と、出てしまうんですが・・。
0035デフォルトの名無しさん
2009/02/26(木) 12:52:40void document_PrintPage( Object^ /*sender*/, System::Drawing::Printing::PrintPageEventArgs^ e )
この関数だから、それに合わせればいい。
0036デフォルトの名無しさん
2009/02/26(木) 12:53:27(this, &Form1::printDocument1_PrintPage);
0037デフォルトの名無しさん
2009/02/26(木) 12:53:53メンバー関数だよ、どれも
0038デフォルトの名無しさん
2009/02/26(木) 13:09:120039デフォルトの名無しさん
2009/02/26(木) 13:21:27ありがとうございます!!
0040デフォルトの名無しさん
2009/03/02(月) 00:32:15int main(array<System::String ^> ^args)
いきなり ^ という単項演算子らしき物が出来たのですが、コレはなんですか??
とりあえずarray以下無視しても問題なく動いたのですが。
0041デフォルトの名無しさん
2009/03/02(月) 00:35:040042デフォルトの名無しさん
2009/03/02(月) 00:36:05標準のC++です。
0043デフォルトの名無しさん
2009/03/02(月) 00:39:19#include <iostream.h>
int main()
{
cout << "やぁ、こんちは。" << endl;
return 0;
}
はどこでプログラミングすればいいんですか? 普通に新規作成から何か設定するんですか?warning C4627: '#include <"stdafx.h>': プリコンパイル済みヘッダーの使用を検索中にスキップされました
1> ディレクティブを 'stdafx.h' に追加するか、プリコンパイル済みヘッダーをビルドし直します
が出てきます。
0044デフォルトの名無しさん
2009/03/02(月) 01:28:36なら作ったプロジェクトが間違ってる。
>>40はC++/CLIのプロジェクト。
0045デフォルトの名無しさん
2009/03/02(月) 01:37:36Win32 コンソールアプリケーションのプロジェクトを作れ。
プリコンパイル済みヘッダーを使いたくなければプロジェクトの設定から無効にしろ。
あと、iostream.hは古いヘッダで今のVC++には無い。
0046デフォルトの名無しさん
2009/03/02(月) 04:20:56自動生成されるフォームの中に動的にラベルを複数作成しているのですが、
作成されたラベルのクリック時のイベントハンドラが全て同じイベントを呼び出す場合、
クリックしたボタンを判別し、その名前や座標などを表示させたいのですが、
以下のクリックイベントにどのようなプログラムを入れたら良いでしょうか?
もしよろしければ教えて下さい、お願いします。
private: System::Void node_Click(System::Object^ sender, System::EventArgs^ e)
{
}
また、もし他の方法で良いものがありましたら、教えて下さい。m(__)m
0047デフォルトの名無しさん
2009/03/02(月) 06:37:220048デフォルトの名無しさん
2009/03/02(月) 06:55:040049デフォルトの名無しさん
2009/03/02(月) 10:35:58005040
2009/03/02(月) 20:13:26ありがとうございます。
では標準C++でコンソールアプリケーションを作りたいときは
プロジェクトの種類
をWin32にして
Win32 コンソール アプリケーション
にすれば良いですか?
0051デフォルトの名無しさん
2009/03/02(月) 21:01:100054デフォルトの名無しさん
2009/03/05(木) 00:00:52>クリックしたボタンを判別し、その名前や座標などを表示させたいのですが、
仮引数のsenderにそのクリックされたボタンが参照されてる
0055デフォルトの名無しさん
2009/03/06(金) 03:12:17以下コピペになりますがよろしくお願いします。
ぐぐってもドキュメント見てもわからなかったんで
助言頂けると非常に助かります。
VC++2008ExpressEditionを使用しているので、どこかを変更しなければいけないのか…
質問の内容は…
猫でもわかるプログラミングSDK第123章
ttp://www.kumei.ne.jp/c_lang/sdk2/sdk_123.htm
これと同じプログラムを組んでも、WndProc内でcase IDM_READの
hMapFile2 = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, "Kumei's Object");
のOpenFileMappingがNULLを返してくるんだけど
原因がまったくわかりませんorz
0056デフォルトの名無しさん
2009/03/06(金) 10:37:120057デフォルトの名無しさん
2009/03/06(金) 14:00:07CreateFileMappingは成功してると思います。
if (!hMapFile1)の部分にも引っかからず、GetLastErrorでも0を返してきましたので…
0058デフォルトの名無しさん
2009/03/06(金) 14:39:40OpenFileMappingの後のGetLastErrorは何を返す?
0059デフォルトの名無しさん
2009/03/06(金) 14:48:29CreateFileMappingは0を返して正常だといってるのに
OpenFileMappingの後のGetLastErrorは2を返してきて…
指定されたファイルが見つかりませんと。
006055
2009/03/06(金) 15:25:36自分のタイプミスからマッピングオブジェクトの名前の不一致など疑い
試行錯誤した結果…
CloseHandle(hMapFile1)をコメント化し、無効にすると
OpenFileMappingが成功しました。
たぶん解決の糸口になるのでCloseHandleなどのタイミングなどを
調べていけばいいかなという結果に。。。
アドバイスをくれた>>56,>>58さん、サンクスでした
0061デフォルトの名無しさん
2009/03/06(金) 22:54:180062デフォルトの名無しさん
2009/03/06(金) 23:00:270063デフォルトの名無しさん
2009/03/06(金) 23:03:23普通はどんなものを使うのですか?
手元の本はそれを使った説明ばかりなもので・・・
0064デフォルトの名無しさん
2009/03/06(金) 23:15:40使い方は、その本の最初のほうに書いてある。
書いていなかったら、そんな本は参考にならんから捨てろ。
0065デフォルトの名無しさん
2009/03/06(金) 23:53:50一応捨てずに残しておきたいと思います
0066デフォルトの名無しさん
2009/03/06(金) 23:56:42ウインドウファインダーコントロール
(ドラッグしてディスプレイ上の任意のウインドウを選択するヤツ)
はVC++6.0のActiveXコントロールにないのでしょうか。
またはそれに似たツールなどはどこかにありませんでしょうか
0067デフォルトの名無しさん
2009/03/06(金) 23:59:10ありました、失礼しましたm(_ _)m
0068デフォルトの名無しさん
2009/03/07(土) 00:24:52もし、その本に#include <iostream.h>とか書いてあるんだったら捨てるべき。古本屋でもいいけど。
それは古代のものだからVisual C++ 2008には搭載されていないというだけのこと。
0069デフォルトの名無しさん
2009/03/07(土) 07:04:19WindowFromPoint だけ知ってれば作れる
0070デフォルトの名無しさん
2009/03/07(土) 19:49:30Spy++と同等のウインドウ選択ツールもどきは無事使うことが出来ました。
しかし選択後(ウインドウ上でマウスを放した後も)
選択されたウインドウの周囲には枠の表示が残ってしまうので、
それをなんとか消したいと思っています。
選択されたウインドウハンドルが手にはいるので、
::SendMessage(選択されたハンドル,WM_PAINT,0,0); なり
::SendMessage(選択されたハンドル,WM_ERASEBKGND,0,0); なり
いろいろメッセージを送ってみたのですが、なぜか消えてくれません。
Spy++を利用して選択ウインドウにメッセージが送られていることは確認しているのですが・・・
この原因について見当の付く方教えてください。お願いします。
0071デフォルトの名無しさん
2009/03/07(土) 21:04:170072デフォルトの名無しさん
2009/03/07(土) 21:10:44>::SendMessage(選択されたハンドル,WM_ERASEBKGND,0,0):
どちらもトリガーになるものがないと働かないメッセージだと思うが。
::InvalidateRect() とかのね。
0073デフォルトの名無しさん
2009/03/07(土) 21:42:36で出来ました^^)
どうもありがとう!
0074デフォルトの名無しさん
2009/03/07(土) 22:13:36pSpin->SetRange(-10, 10);
pSpin->SetPos(0);
とやっても、0が表示されないんだけど仕様??
SetPos(1)やSetPos(-1)は表示されるんだけど。。。
0075デフォルトの名無しさん
2009/03/08(日) 18:20:590076デフォルトの名無しさん
2009/03/08(日) 18:24:25敵の弾クラス(cBullet)を用意したのですが、それをうまく活かせません。
敵がそれぞれcBullet Bullet[100]といったように個別に弾を持ったのでは効率が悪い気がします。
一括して管理したいのですが、どういう構造にするとよいのでしょうか。
0077デフォルトの名無しさん
2009/03/08(日) 18:32:16自分がわかりやすいと思ったとこを参考にすればいい。
そこのやりかたが絶対唯一じゃないことさえ認識していればなんとかなるでしょ。
0078デフォルトの名無しさん
2009/03/08(日) 18:36:00自分の思った通りにやってみればいい。
画面上に存在できる弾の数だけグローバルで配列持ってもいいし。
0079デフォルトの名無しさん
2009/03/08(日) 18:45:14なるほど、まずはそれでやってみます。
ありがとうございました
008075
2009/03/08(日) 20:32:46VC++2008EEで説明してるサイト教えてもらえませんか・・・
0081デフォルトの名無しさん
2009/03/08(日) 21:03:39もしかしたらあるかもしれないが初心者用のサイトなんか興味ないから知らん
0082デフォルトの名無しさん
2009/03/09(月) 00:30:43自分が作りたいと思ったものを作ってみるのが一番の勉強法
0083デフォルトの名無しさん
2009/03/09(月) 00:38:45.netフレームワーク使うとこうなんのか?
スタンダード金出せば猫さん家も役に立つが
ソフトに金払う余裕ないだろうなぁ
0084デフォルトの名無しさん
2009/03/09(月) 06:38:38win32なら無料で使えるから猫が全然使えないわけじゃない
ただあそこは古すぎるからコンパイルエラーぐらい自力で解決できないと無理
0085デフォルトの名無しさん
2009/03/09(月) 10:04:00入門探すより、自分であれこれいじってみては。
0086デフォルトの名無しさん
2009/03/09(月) 11:25:22なあ古すぎる癖にシェアウェアとか猫はふざけてるよな
0087デフォルトの名無しさん
2009/03/09(月) 13:16:02#pragma warning(disable : 4996)
や
Unicode
あたりの情報は必須だな
そして、WinAPIでまた引っかかるとw
0088デフォルトの名無しさん
2009/03/09(月) 14:09:590089デフォルトの名無しさん
2009/03/09(月) 14:11:190090デフォルトの名無しさん
2009/03/09(月) 18:33:00親クラスA、子クラスBともに仮想関数func()が実装されているとします
この時Aクラスのポインタ(A* pA)にBクラスのインスタンスのポインタを代入し
pA->func()
を呼び出した場合クラスAとBどちらのfunc()が呼ばれるのでしょうか
会社で実験しようと思ったんですが残業規制のせいで調べられなかったんでご存知の方ご教示くださいm(__)m
0091デフォルトの名無しさん
2009/03/09(月) 18:36:290092デフォルトの名無しさん
2009/03/09(月) 18:40:320094デフォルトの名無しさん
2009/03/09(月) 20:58:33VisualC++.NET(2003)
MFCを使ったアプリケーションを作っています。
フォームにエクセルのような格子で区切られた表のようなコントロールを貼り付けたいのですが
Webで調べてMicrosoft DataGrid Control 6.0とかMSFlexGridを使えばいい野ではないかというところまでは分かったのですが、
・MSFlexGridなんてものが.NET frameworkコンポーネントにもCOMコンポーネントにも存在しない。
・.NET frameworkコンポーネントにDataGridがあるが、そもそも初めからチェックが入っている。
それなのにツールバーには表示されてない。
一旦チェック外して再びチェックしなおすとツールバーにそれらしきものが追加されたが非アクティブになってて使えない。
・そもそも.NET frameworkコンポーネントの中はほぼ全部チェックが入っているのに
ツールバーに一切無いのが理解出来ない。
・一度間違えてデフォルトの「ボタン」のコントロールをツールバーから削除してしまったので、
COMコンポーネントから探したが同じものが無かった(プロパティが別物だった)
アイテムの追加と削除ダイアログでリセットボタンを押して直す事が出来たが、
デフォルトでツールバーにあるアイテムはCOMコンポーネントじゃないなら一体何者なのか?
行き詰っています。どなたか教えていただけないでしょうか?
0095デフォルトの名無しさん
2009/03/09(月) 21:12:11http://noribeat.s38.xrea.com/developer/03031501.html
0096デフォルトの名無しさん
2009/03/09(月) 22:45:10ありがとうございます。
ですがリンク先の指定どおりにActiveXの挿入を行っても、
Microsoft FlexGrid Control, version 6.0が選択肢の中にありません。
0097デフォルトの名無しさん
2009/03/09(月) 22:56:19そこらへんのVBランタイムを入れるとついてくることが多い。
MSFLXGRD.OCX入りのVB6ランタイムを探すんだ。
あとはこれで。
http://support.microsoft.com/kb/318597/ja
009894
2009/03/09(月) 23:10:50あと実行環境でレジストリへの登録が必要になるような面倒な作業をユーザーに強いたくない
(自分ですらめんどくさいのにもっと素人なら嫌気がさしてやめてしまうかもしれない)
のですが、そうなるともう自力でピクチャーボックスに描画するような形で作るしか無くなってしまうのでしょうか?
0099デフォルトの名無しさん
2009/03/09(月) 23:40:090100デフォルトの名無しさん
2009/03/10(火) 01:45:05ソフトのインストール時にREGファイルを食わせてやればいいだけ。
それをユーザに強いたら・・・そりゃダメだよな。
ま、Windowsの文字コード表程度の表なら、自前で作っても手間はそんなにかからないがね。
0101デフォルトの名無しさん
2009/03/10(火) 17:07:09c2059というコンパイルエラーになる。
/clrオプションは使っていないし、
非MFCアプリやstdafx.hをincludeしないとコンパイル通るし
C++/CLIで予約語になってるeventとか他の単語は
使えるから単なるバグですかね?
0102デフォルトの名無しさん
2009/03/10(火) 17:21:37同一人物?
0103デフォルトの名無しさん
2009/03/10(火) 17:29:53COM関係のヘッダのどれかで、#define interface structと定義されている。
0104デフォルトの名無しさん
2009/03/10(火) 19:05:33int main(void)
{
printf("Hello!\n");
return 0;
}
と
#include <iostream>
int main()
{
std::cout <<"Hello!" << std::endl;
return 0;
}
見るサイトによって書き方が違うけど結果は似たようなのがでるんですけど
これはどういう違いがあるんですか?
0105デフォルトの名無しさん
2009/03/10(火) 19:15:370106デフォルトの名無しさん
2009/03/10(火) 19:26:37どっちがCでどっちがC++?
0107デフォルトの名無しさん
2009/03/10(火) 19:31:560108デフォルトの名無しさん
2009/03/10(火) 20:45:52http://pc11.2ch.net/test/read.cgi/tech/1235921779/
0109デフォルトの名無しさん
2009/03/12(木) 14:22:28上がCで下がC++
0110デフォルトの名無しさん
2009/03/12(木) 16:45:276つのピクチャボックスに表示させた6枚の画像
(横3枚の2段)から1枚を選択(ダブルクリック)して、
選択した画像を左上のピクチャボックスの表示し、
選択した以外の画像は消去する、
といったことはどのようにして実現できますでしょうか。
0111デフォルトの名無しさん
2009/03/12(木) 17:33:540112デフォルトの名無しさん
2009/03/12(木) 17:55:36・6つのピクチャボックスに SS_NOTIFY スタイルを付加する。
・あとは STN_DBLCLK メッセージが通知されたときに、親ウィンドウに対して
InvalidateRect( NULL) を投げればいい。
それが 「初期の描画なのか」 「ダブルクリック後の描画なのか」 「どれが選択されたのか」
を判断する仕組みは、当然必要だがね。
0114デフォルトの名無しさん
2009/03/13(金) 20:10:04今まで作ってたソリューションをセカンドマシンでもいじるために
メインマシンの共有フォルダにソリューションのフォルダごとコピー
↓
セカンドマシンにブリーフケース作ってそのフォルダを持ってくる。
という風にしようとしたのですが、メインマシンのソリューションをコピーした段階で
元々正常にビルドできて実行できてたものが正常に動きません。
コピー先ソリューションの動作
�@開始ボタンを押すと毎回「プロジェクトの構成が変更されています。ビルドしますか?」のダイアログが出る。
・�@でいいえを選ぶと何事も無く動く
・�@ではいを選ぶと元々出なかったエラー「ビルドエラーが発生しました。続行しますか?」というダイアログが出る。
・BuildLog.htmを見ると 'CDHtmlDialog' : 定義されていない基本クラスが宣言されています。などを筆頭に
ずらずらとエラーが出ている。
これは元のフォルダでは出ない。
初心者でソリューションの構成ファイルなどのどこかに絶対パスがあるのか、見当も付きません。
プログラム自体は絶対パスを指定するような部分は有りません。
どなたか、解決のヒントでも教えていただけないでしょうか?
また、個人で2PCでプログラム開発する場合VSSのような物(多分有料ソフトですよね?)
を使わずに同期とったりバージョン管理する良い方法があれば教えて頂けないでしょうか?
0115114
2009/03/13(金) 20:48:02何故なのか分かりませんが一回目にやったコピーでファイルがおかしくなっていたのかもしれません。
0116791 + 792
2009/03/13(金) 22:48:32#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個あった。
ソースおかしい?
0117デフォルトの名無しさん
2009/03/13(金) 22:54:19名前空間(namespace)について勉強しろ
0118デフォルトの名無しさん
2009/03/13(金) 23:05:18stdafx.h を開いて
using namespace std;
と書け。
0119デフォルトの名無しさん
2009/03/13(金) 23:15:13それやっちゃうと名前空間を定義してる意味がなくなるので
あまり人にすすめることではないかと…
0120791 + 792
2009/03/14(土) 00:12:02namespaceで何処を囲えば良いのかさっぱり。
どこかで名前が被ってるからnamespace使えってことで合ってるんだよね?
知らない間にエラーが102個に増えた。
何処が駄目で何でnamespaceが必要なのかまだ理解できてない俺・・・
0121デフォルトの名無しさん
2009/03/14(土) 00:22:36stdafx.hなんて捨ててしまえと思わなくもない
0122デフォルトの名無しさん
2009/03/14(土) 00:39:30要は、std という名前空間をどこで使いたいか、だ。
int main() のなかだけで使いたいなら int main() の中に書けばいい。
int main() の書かれている cpp ファイルの中で使いたいなら、#include <iostream> の下あたりに書く。
いつでもどこでも使いたいなら stdafx.h に書く。(このときの注意点は >>119)
0123デフォルトの名無しさん
2009/03/14(土) 05:28:151>.\ex01.cpp(1) : fatal error C1083: include ファイルを開けません。'iostream.h': No such file or directory
というエラーが出ました。これはiostream.hが標準ライブラリにないという事ですよね。
色々、ググってみたんですが、標準ライブラリの宣言で躓くなんてバカな奴はいないのか、
どこでダウンロードするのかどうやって標準ライブラリに追加するのかさっぱりわかりません。
教えていただけると助かります<m(__)m>
0124デフォルトの名無しさん
2009/03/14(土) 06:53:080125デフォルトの名無しさん
2009/03/14(土) 07:21:13<iostream.h>は昔の存在。だから最近のVisual C++には入っていない。
<iostream>をインクルードして、coutとかcinとかはstd::cout、std::cinなどのようにstd::を付けろ。
詳しくは最近の入門書を読め。
0126デフォルトの名無しさん
2009/03/14(土) 07:57:31インクルードファイルは全て.h抜きを覚悟すべきだな
0127デフォルトの名無しさん
2009/03/14(土) 08:24:13猫でも…(ryは、難点として、標準ライブラリのインクルードがおかしいってのがある。
あきらめて書籍買え。その方が実りあるよ。
0128791 + 792
2009/03/14(土) 10:31:41using 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もありがとう,助かったよ。
0129デフォルトの名無しさん
2009/03/14(土) 10:36:04コンソールアプリケーション→main
Windowsアプリケーション→WinMain
※マルチバイト文字セットの場合
0130791 + 792
2009/03/14(土) 10:58:01ありがとう。
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int)
でやってみたけど、デバッグはエラーないけど
デバッグなしで開始しても何も出てこない・・・
これはもう少しC++が分かるようになれば出てくるんだよね?
ちゃんとしたウィンドウとかダイアログが出せるようになるのが楽しみだ
0131デフォルトの名無しさん
2009/03/14(土) 11:13:00Windowsアプリケーションなんだから、ウィンドウを作らないことには何も出てこない。
0132デフォルトの名無しさん
2009/03/14(土) 15:19:49>LIBCMTD.lib(dllcrt0.obj) : error LNK2019: 未解決の外部シンボル __imp__GetCurrentThreadId@0 が関数 __CRT_INIT@12 で参照されました。
PlatoformSDKの関数らしいですが、どのライブラリが足りないかご存じの方いませんか?
0133デフォルトの名無しさん
2009/03/14(土) 15:48:20環境の問題だろ
0134デフォルトの名無しさん
2009/03/14(土) 18:04:29C++ができるかどうかとWindowsプログラミングは全く関係ないぞ。
現に、猫でものWin32編は基本的にCだけでそういうことをやっている。
0135791 + 792
2009/03/14(土) 18:38:52確かにWindow作らなきゃ何も表示されなくて当たり前だった。
>>134
ごめん、まだC++否プログラミング始めて1日くらいしか過ぎてないんだ。すまない
Windowsプログラミングとは関係ないのか、猫でもにはWindowsSDKとかあったな。
if関数に少しだけ感動した,いろいろ応用が利きそうな関数だ。
0136デフォルトの名無しさん
2009/03/14(土) 18:54:150137デフォルトの名無しさん
2009/03/14(土) 19:01:400138132
2009/03/14(土) 19:54:13とパス指定すべきところを、
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64
としてました。。。(笑
こんなんですごい時間かかった(汗
0139123
2009/03/14(土) 22:21:55明日、本屋行って標準ライブラリ集でも買ってきて、猫で続きをやろうと思います。
0140デフォルトの名無しさん
2009/03/16(月) 17:45:39たまに入力候補一覧のリストボックスが出てきたと思っても、
必要なものを探すのにエライ手間がかかります。
どうしたらいいですか。
0141デフォルトの名無しさん
2009/03/16(月) 18:49:280142デフォルトの名無しさん
2009/03/17(火) 00:54:01どこかの設定を無意識に変えてしまったせいなのか
構成の種類をDLLにした場合でも、自動でLIBを作成してくれなくなりました
どこの設定をかえればいいのか教えていただけるとありがたいです。
VC++2008EEを使用しています。
0143デフォルトの名無しさん
2009/03/17(火) 01:40:35EXPORTを書き忘れてましたorz
0144デフォルトの名無しさん
2009/03/18(水) 19:59:370145デフォルトの名無しさん
2009/03/18(水) 20:46:28作れます。初心者を脱出してC++とWinのAPIをめっちゃ勉強すれば。
0146デフォルトの名無しさん
2009/03/20(金) 10:49:08その他WINVER等の定義は任せてしまった方が良いのでしょうか。
0147デフォルトの名無しさん
2009/03/20(金) 11:07:490148デフォルトの名無しさん
2009/03/20(金) 11:16:32いつもwindows.hからインクルードしてたので、順番のことは気にも留めてませんでした。
0149デフォルトの名無しさん
2009/03/20(金) 12:22:34エラーページに飛ばされてダウンロードできません。
同じ症状の方いますか?
Firefoxのエラー文によると
>サイトアドレスは有効なようですが、接続を確立できませんでした。
0150デフォルトの名無しさん
2009/03/20(金) 12:36:09http://pc11.2ch.net/test/read.cgi/tech/1233853864/
0151デフォルトの名無しさん
2009/03/20(金) 12:57:54自分だけ?
0152デフォルトの名無しさん
2009/03/20(金) 13:08:150153デフォルトの名無しさん
2009/03/22(日) 12:56:07その前の関数のグループになってしまいます
コメントがグループの初めになるように任意に修正する方法はないでしょうか
ご存知の方お願いします
0154デフォルトの名無しさん
2009/03/24(火) 21:57:11Console::WriteLine(S"Hello World");
のようにダブルクォートで囲った文字列の前にSが付いていて、それについて
何の説明も書いてないけど、このSって何。
0155デフォルトの名無しさん
2009/03/24(火) 22:04:420156デフォルトの名無しさん
2009/03/25(水) 02:18:26これを改造して自分のほしい機能を付け加えています。
自分で追加した変数やマクロなどとそうではない箇所とで、識別子(関数名、変数名、マクロ名)を明確に分けたいのですが、
新たに追加した部分にルールをつけるだけでなく、
改造元の識別子のすべてに対して、「kaizoumoto_」「KAIZOUMOTO_」のような接頭語をつけたいと考えました。
そのようなことを一括で行うことは可能でしょうか。
改造元から現在の状態までの間の追加は失われてかまいません。(改造元があって、それの識別子を一括で変更したいです。)
というか、Visual Cと全然関係ないですか。すみません。
ご存知でしたら、Helpをお願いします。
0157デフォルトの名無しさん
2009/03/25(水) 10:34:11フォントやエディタの設定項目を調べて見ましたが、うまくできませんので、お願いします。
0158デフォルトの名無しさん
2009/03/26(木) 12:45:11正規表現
0159デフォルトの名無しさん
2009/03/26(木) 12:46:58ひらげるってw
0160デフォルトの名無しさん
2009/03/27(金) 06:41:15これのエディタは見るだけにしたいんだけど
編集禁止状態に出来ない?
0161デフォルトの名無しさん
2009/03/27(金) 09:02:01閉じられるって。
0162デフォルトの名無しさん
2009/03/27(金) 09:14:250163デフォルトの名無しさん
2009/03/28(土) 05:06:11CreateWindowでウィンドウをつくり、さらにCreateWindowでボタンを追加しました。
マウスによる指定とカーソルキーによって、
メインウィンドウのある領域でカーソルが移動するようになっています。
(WM_LBUTTONDOWN, WM_KEYDOWN)
しかし領域外につくったボタンを押すと、
マウスによるカーソルの移動は受け付けるものの、カーソルキーを押しても反応がありません。
一度ウィンドウを非アクティブにし、再びアクティブに戻すと動作は正常に戻ります。
ボタンはWM_COMMANDで処理を行わずとも、押した時点で動作がおかしくなってしまうようです。
ご教示お願い致します。
0164デフォルトの名無しさん
2009/03/28(土) 12:44:290165デフォルトの名無しさん
2009/03/28(土) 15:38:350166デフォルトの名無しさん
2009/03/28(土) 17:19:500167163
2009/03/28(土) 17:57:29case 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;
0168165
2009/03/28(土) 20:13:06何の関数呼べばいいのかわからないけど、ここまでだ。
0169デフォルトの名無しさん
2009/03/28(土) 20:49:470170デフォルトの名無しさん
2009/03/28(土) 20:59:43SetFocus( hWnd ); でした!
解決致しました。ありがとうございます!
0171デフォルトの名無しさん
2009/03/29(日) 13:15:482. マネージC++のシールクラスは、自分の作った知的財産であるクラスを「お前らなんかに
継承してパクらせてやるわけにはいかん」ためにあるのか。
3. マネージC++の例外の__finnallyブロックは、例外の有無に関係なく実行するということ
だが、そんなのなくても、いずれの場合もcatchブロックの次を普通に実行するみたいで、
どのように違いがあるのかよくわからん。
4. 派生クラスで基底クラスのメンバー関数をオーバーライドできるのは、別に仮想関数でな
くても可なのか。
5. 4が正しいと仮定して言う。派生クラスのアドレスを、基底クラスのポインターに代入して、
そのポインターを使って、派生クラスでオーバーライドされたメンバー関数を呼び出した
ときの扱いはどうなのか。非仮想関数なら、基底クラスのメンバー関数を呼び出して、仮想
関数なら、派生クラスのメンバー関数を呼び出すのではないかと思うが、それで正しいか。
0172デフォルトの名無しさん
2009/03/29(日) 13:33:330173デフォルトの名無しさん
2009/03/29(日) 13:48:12邪魔しないでくれ。
0174デフォルトの名無しさん
2009/03/29(日) 13:53:52実行するってことか。何かに書いてあったような記憶が。
0175デフォルトの名無しさん
2009/03/29(日) 13:57:23ちゃんと調べてから書き直します
0176デフォルトの名無しさん
2009/03/29(日) 14:00:47おい、偽者が何やってるんだ。
0177デフォルトの名無しさん
2009/03/29(日) 14:05:07あと、試してみたほうが早い気が
0178デフォルトの名無しさん
2009/03/29(日) 14:05:130179デフォルトの名無しさん
2009/03/29(日) 14:07:30これからは自分で試してから書くことにします
0180デフォルトの名無しさん
2009/03/29(日) 14:09:30こら、いい加減にしろ
0181デフォルトの名無しさん
2009/03/31(火) 14:54:210182デフォルトの名無しさん
2009/03/31(火) 15:03:19行間の空くフォント探してくるとか
0183デフォルトの名無しさん
2009/03/31(火) 19:19:04ただ全然興味ないから完全スルー
0184デフォルトの名無しさん
2009/03/31(火) 22:01:590からのゲームプログラミングというサイトでスケルトンプログラムを
ダウンロードしビルドしたのですが、
1>c:\users\○○○\documents\visual studio 2008\projects\samplestg\source\application.cpp(537) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか?
というエラーが出てしまい実行できません。
Winプロジェクトで空のプロジェクト選択をし、プロジェクトのプロパティで
プリコンパイル済みヘッダーを使用するに設定してもできませんでした。
よろしくお願いします。
0185デフォルトの名無しさん
2009/03/31(火) 22:09:290186184
2009/03/31(火) 22:29:160からのゲームプログラミングというサイトで、
サイト管理人が作ったスケルトンプログラムをダウンロードし、
ビルドしてくださいとあったので流れに従って進めたところ、
エラーが表示され先へ進めなくなったしまったんです。
0187デフォルトの名無しさん
2009/03/31(火) 22:38:300188デフォルトの名無しさん
2009/03/31(火) 22:39:130189デフォルトの名無しさん
2009/03/31(火) 23:29:27今大幅修正しないと使いものにならなくて投げ出したんだろ
0190デフォルトの名無しさん
2009/04/01(水) 09:58:120191デフォルトの名無しさん
2009/04/01(水) 11:26:050192デフォルトの名無しさん
2009/04/01(水) 18:30:28書いた本人のふりして妨害するな。
0193デフォルトの名無しさん
2009/04/01(水) 19:05:59そんな怒ってんなよ
たかが2chにマジになるな。
だいたい派遣を解雇されたヤツは今頃2chなんてやってらんねぇんじゃねぇのかな?
0194デフォルトの名無しさん
2009/04/01(水) 21:49:18その中の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を継承したものです。
リソースエディタ以外で手動で作ったコントロールも自分で削除しなくてもいいのでしょか?
0195デフォルトの名無しさん
2009/04/01(水) 22:19:000196デフォルトの名無しさん
2009/04/01(水) 22:32:38CButtonはCWndの継承ですがディストラクタで勝手に
NCDestroyで勝手にやってはくれないのでしょうか?
私自身もあんまりよく分かっていないのですが。
0197デフォルトの名無しさん
2009/04/01(水) 22:36:180198デフォルトの名無しさん
2009/04/01(水) 22:41:05CWnd のソース読めばわかることだろ。MFC のソースは HDD の肥やしじゃないぞ。
0199デフォルトの名無しさん
2009/04/01(水) 22:46:11んなことしなくても、デバッグモードで実行したら、終了時にメモリーリークがあれば表示される。
ちなみに、CWnd::PostNcDestroy() のソースはこうなっている。
void CWnd::PostNcDestroy()
{
// default to nothing
}
0200デフォルトの名無しさん
2009/04/01(水) 22:55:01そもそもこのふたつには関連性がないだろうに
0201デフォルトの名無しさん
2009/04/01(水) 23:21:50指定されたウィンドウが親ウィンドウやオーナーウィンドウのときは、
その子ウィンドウやオーナー付きウィンドウも自動的に破棄します。
このとき、先に子ウィンドウやオーナー付きウィンドウを破棄してから、
親ウィンドウやオーナーウィンドウを破棄します。
なのでDestroyWindowは不要
ただしクラストやメモリ管理とは別問題
0202デフォルトの名無しさん
2009/04/02(木) 00:12:30確かに別問題ですね。
新Visual C++6.0 シニア編にdelete処理が
載っていないのでおかしいと思ってたのですが
それとWindowの破棄とは直接関係ないですね。
どこかでdelete処理されているのではないかと思って
相談したのですが自分でやらないとダメですね。
0203デフォルトの名無しさん
2009/04/02(木) 00:48:24本格的にWindowsプログラミングを学んではいかがでしょうか。
0204デフォルトの名無しさん
2009/04/02(木) 03:24:54Dominoみたいなのが作れるようになるまでになりたい…。
出来る限りフリーで…。
0205デフォルトの名無しさん
2009/04/02(木) 10:08:38って聞いてどうすんだw
0206デフォルトの名無しさん
2009/04/02(木) 13:04:20だったら最初からスクリプト言語でいいじゃんって思ったんですが
間違ってます?
0207デフォルトの名無しさん
2009/04/02(木) 13:27:08人に聞くことでもないな。
0208デフォルトの名無しさん
2009/04/02(木) 14:35:31現実スクリプト言語が流行ってない事を考えれば自ずと答えは導き出せるのでは
0209デフォルトの名無しさん
2009/04/02(木) 15:08:240210デフォルトの名無しさん
2009/04/02(木) 20:20:29>>206
がスクリプト言語という言葉を理解しているという仮定の下で話すと、
>ライブラリを使うことになり
↓
>スクリプト言語でいいじゃん
ここの論理的な演繹がおかしいと感じるのは俺だけではないはずだ。
0211デフォルトの名無しさん
2009/04/02(木) 22:52:45Console::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));
0212デフォルトの名無しさん
2009/04/02(木) 23:03:53何でだ、だれもプログラムしないのか。
0213デフォルトの名無しさん
2009/04/02(木) 23:22:590214デフォルトの名無しさん
2009/04/03(金) 10:49:55さっぱりどうしたらいいのかわかりません
カバでもわかるように教えていただけませんか
0215デフォルトの名無しさん
2009/04/03(金) 11:11:09おまいには無理
誰か親切な人がコンパイル済みのをうpしてくれるのを待て
0216デフォルトの名無しさん
2009/04/03(金) 11:27:460217デフォルトの名無しさん
2009/04/03(金) 11:31:052ちゃんで一番親切なイケメンがいる板だからな
0218デフォルトの名無しさん
2009/04/03(金) 12:50:220219デフォルトの名無しさん
2009/04/03(金) 13:57:460220デフォルトの名無しさん
2009/04/03(金) 15:24:280221デフォルトの名無しさん
2009/04/03(金) 17:05:17ありがとうございます親切な方
気長に待ってますのでお願いします
0222デフォルトの名無しさん
2009/04/03(金) 22:02:58C#のコードの、ドット演算子をスコープ解決演算子に置き換えたらC++になるのかどうか。
ほかにどう変換すべきか。
0223デフォルトの名無しさん
2009/04/04(土) 00:19:380224デフォルトの名無しさん
2009/04/04(土) 01:21:37組込型の変化、long→long longやchar→wchar_t、byte→unsigned charなど。
参照型にハンドルを付ける。ただしusingを自動変数にする。場合によってはできないので、auto_handleを使用する。
unsafeの消失。hoge*はpin_ptr<hoge>に対応するが、interior_ptr<hoge>やhoge*にできる場合もある。
……いろいろあって挙げていったらきりがない。
0225214
2009/04/04(土) 10:50:52ありがとうございました
0226デフォルトの名無しさん
2009/04/04(土) 22:50:07http://www.amazon.co.jp/gp/product/images/4891002832/ref=dp_image_0?ie=UTF8&n=465392&s=books
C++を使えたら、一番ワイドになれるんだろう。
C++標準ライブラリも.Net framewordもMFCもATLも何でも使えるものは使ってワイドになりたい。
0227デフォルトの名無しさん
2009/04/05(日) 12:03:49新しく変数を追加しようとしても追加されなくて困っています。
同じ構造体の他の変数はマウスカーソル合わせるとunnamed〜と表示されるのですが
新しく追加した変数はintと表示されています。
どなたか原因を教えてくれないでしょうか?
0228デフォルトの名無しさん
2009/04/05(日) 12:37:260229デフォルトの名無しさん
2009/04/05(日) 13:04:04説明不足でした。すみません。
実際はエラーは出てないんですが、
候補一覧に出てこないので、不安になって質問しました。
時間置いたら今は出るようになっていました。
この候補一覧に出るようにするにはビルドする以外にも何かする必要があるのでしょうか?
0230デフォルトの名無しさん
2009/04/05(日) 13:23:50通常は、これがすべて。詳細はヘルプの「IntelliSense の使用方法 」を参照すべし。
0231デフォルトの名無しさん
2009/04/05(日) 14:07:52ありがとうございました。
IntelliSenceの使い方をやっと理解できました
0232デフォルトの名無しさん
2009/04/05(日) 16:52:510233デフォルトの名無しさん
2009/04/06(月) 14:06:310234デフォルトの名無しさん
2009/04/06(月) 16:50:080235233
2009/04/06(月) 19:25:21ありがとうございます。やってみますm(__)m
0236デフォルトの名無しさん
2009/04/06(月) 19:27:400237デフォルトの名無しさん
2009/04/06(月) 19:44:08でもそれならC#にしちゃうか
0238デフォルトの名無しさん
2009/04/07(火) 03:07:46VC++Expressを入れてもMFCは使えるようになりませんか?
0239デフォルトの名無しさん
2009/04/07(火) 04:32:490240デフォルトの名無しさん
2009/04/07(火) 12:27:47ぐぐってみろ。使えるから。
0241デフォルトの名無しさん
2009/04/08(水) 12:51:11使えるようになるけど、Express上でMFC使ったアプリを
作っても配布してはならない。ライセンスでそうなってる。
MFCは無料じゃなくて有料です。勉強なら許すって感じかな。
0242デフォルトの名無しさん
2009/04/08(水) 15:03:31あれで引っかかるような挙動したりして気持ちが悪い
0243デフォルトの名無しさん
2009/04/08(水) 15:09:390244デフォルトの名無しさん
2009/04/08(水) 15:13:46ちょっと探せばわかるけど、EEの場合オプションの全表示のチェック入れてなくて
無いと思い込んでる場合も
0245デフォルトの名無しさん
2009/04/09(木) 00:33:12しかし、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;
・
・
・
}
0246デフォルトの名無しさん
2009/04/09(木) 00:49:51wYear
The year. The valid values for this member are 1601 through 30827.
0247デフォルトの名無しさん
2009/04/09(木) 01:09:26返事ありがとうございます。
1Byteのサイズに2Byte分入れようとしてるから、という事でしょうか?
以下の例で、ちゃんと値が代入できていたので、可能という認識なのですが。
(キャストしなきゃWarningが出るのはおいといて)
あと、私の書き方が悪かったですね・・・Yearだけでなく
年月日時分秒全てがうまく行きませんでした。
char Data1 = 0;
short Data2 = 10;
Data1 = Data2;
0248デフォルトの名無しさん
2009/04/09(木) 01:26:18不可能。
BYTE byte; // typedef unsigned char BYTE;
SYSTEMTIME SysTim;
GetLocalTime(&SysTim);
byte = (BYTE)SysTim.wYear;
で試してごらん。無理だから。
0249デフォルトの名無しさん
2009/04/09(木) 01:46:400250デフォルトの名無しさん
2009/04/09(木) 02:08:11お返事ありがとうございます。
すいません、言いたかったのは代入後の値が0なのは何故かということです。
環境によるのだとは思いますが、普通は下位1byteが入っているはずでは?という認識です。
年以外に関しては、255以下ですし。
>>247に挙げた例で、下位1byteを代入できているので
同じような事をしてるのに、何故うまく行かないのかというところです。
とりあえず、明日もう少し考えてみます。
0251デフォルトの名無しさん
2009/04/09(木) 02:13:09#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;
}
}
0252デフォルトの名無しさん
2009/04/09(木) 07:08:02CSVファイルを読み込む ってのをやって見ようと思って、
using namespace Microsoft::VisualBasic::FileIO;
としてみたのですが、
.\tesuto.cpp(7) : error C2039: 'FileIO' : 'Microsoft::VisualBasic' のメンバではありません。
.\tesuto.cpp(7) : error C2871: 'FileIO' : この名前を指定された名前空間は存在しません。
と言われエラーになります。
何が足りなく、いけないのでしょうか?
さっぱりよく分っていないのですが、よろしくおねがいします。
0253デフォルトの名無しさん
2009/04/09(木) 09:29:24定義してあっても参照できない
0254デフォルトの名無しさん
2009/04/09(木) 10:46:08ソリューションエクスプローラーでプロジェクトを右クリックして参照(F)...を選択
Frameworkと参照が選択されている状態で、[新しい参照の追加(N)...]ボタンを押して
.NETタブから、Microsoft.VisualBasicを選択してOKを押す。
XMLなら別の方法も、、、チュートリアルか何かを参考にしてるのか?
0255デフォルトの名無しさん
2009/04/09(木) 10:46:580256デフォルトの名無しさん
2009/04/09(木) 12:14:57まあわかるとは思うけど念のため。
0257デフォルトの名無しさん
2009/04/09(木) 14:27:350258デフォルトの名無しさん
2009/04/09(木) 18:53:57はずしてるかもだけど、
ループの中身をYearだけ代入するよにしたらどうなる?
期待してる動作は、下位1Byteだけは代入されるだろうってことよね?
0259258
2009/04/09(木) 18:55:20無視してくださいorz
0260252
2009/04/09(木) 23:14:16どうもありがとうです。
0261デフォルトの名無しさん
2009/04/09(木) 23:53:210262デフォルトの名無しさん
2009/04/09(木) 23:55:070263デフォルトの名無しさん
2009/04/10(金) 00:04:32上書きして、同じプログラムをつくれるかな?ってことです。
0264デフォルトの名無しさん
2009/04/10(金) 00:21:330265デフォルトの名無しさん
2009/04/10(金) 01:29:40上書きだとかオーバーライドだとかといった既定の単語を、自分勝手な意味をつけて使っても他人にゃわからんよ。
0266デフォルトの名無しさん
2009/04/10(金) 03:04:350267デフォルトの名無しさん
2009/04/10(金) 06:26:43インスタンスをマウスオーバーすると構造体はちゃんとポップアップ表示されます。
0268デフォルトの名無しさん
2009/04/10(金) 09:41:200269デフォルトの名無しさん
2009/04/10(金) 20:50:13「.」を打ったり消したりを繰り返してれば復活しない?
後は、一回ビルドしなおすとか、ncbファイル消してみるとか・・・
0270デフォルトの名無しさん
2009/04/10(金) 21:41:24文法が間違ってたりすると反応しないから、何度もやって復活しないなら文法ミス
0271デフォルトの名無しさん
2009/04/10(金) 21:48:080272デフォルトの名無しさん
2009/04/10(金) 21:59:240273デフォルトの名無しさん
2009/04/11(土) 00:49:19Windows7でもVC++6.0ってインストールできるのかな・・いまだに結構使ってるから、入れたいんだ。
0274デフォルトの名無しさん
2009/04/11(土) 00:57:22もうサポートも終わった環境なんて捨てろw
0275デフォルトの名無しさん
2009/04/11(土) 01:23:57VC++6.0なんて仕様がイミフだからもうヤダ。。。
0276デフォルトの名無しさん
2009/04/11(土) 09:31:43VMWareで2000動かしてそこにインストールするのがお薦め。
0277デフォルトの名無しさん
2009/04/11(土) 11:05:410278デフォルトの名無しさん
2009/04/11(土) 14:30:08VC9になったところで仕様イミフだろ。
0279デフォルトの名無しさん
2009/04/11(土) 20:22:01こういう感じらしい。decltypeが無いのは痛いと思う。
ttp://www.codeguru.com/forum/showthread.php?t=466893
ttp://d.hatena.ne.jp/faith_and_brave/20081217/1229503972
0280デフォルトの名無しさん
2009/04/13(月) 12:34:48ActiveXとかでエディタコンポーネントってありませんか?
0281デフォルトの名無しさん
2009/04/13(月) 13:56:590282デフォルトの名無しさん
2009/04/13(月) 14:25:130283デフォルトの名無しさん
2009/04/13(月) 18:39:12GUIアプリならC#で作った方が早いじゃんか。
0284デフォルトの名無しさん
2009/04/13(月) 19:29:190285280
2009/04/13(月) 19:58:06はい、ありがとうございます。この際作ろうと思います。
>>282
?私のVCのツールバーにエディットボックスってあるんですが・・普通はないのかな?
で、自作しようと思いますが、CEditクラスを継承しようと思いますが、
自動インデントやらの独自機能を追加しようとおもいます。
その場合、ActiveXという形式で作成するのか、普通のC++クラスとして作成汁のかどっちがいいんでしょうか?
なにぶんVC++はあまり知らないので、おしえてください。
0286デフォルトの名無しさん
2009/04/13(月) 20:53:15上側のウィンドウへフォーカスを切り替えたいとき
キーボードでやるにはどうすればいいの?
0287デフォルトの名無しさん
2009/04/14(火) 09:03:28上側ではないがF6で切り替え
0288デフォルトの名無しさん
2009/04/14(火) 10:12:40できました!ありがとう。
0289デフォルトの名無しさん
2009/04/16(木) 21:57:30VC++.net2003で、VB6.0のTextBoxと思われるもの(spy++によると、"ThunderRT6TextBox")より、
WM_GETTEXTで文字列を取得するアプリを作りました。
ただ、TextBoxの格納上限 > WM_GETTEXT取得上限のようで一定量を超える入力があると
全てを取得することが出来ません。
EM_GETTEXTEXで試したのですが、リッチエディットコントロールではないのか、何も返してきません。
何かいい方法ありませんでしょうか。
(スレあってますよね・・・?)
0290デフォルトの名無しさん
2009/04/19(日) 09:01:230291デフォルトの名無しさん
2009/04/19(日) 15:32:03general error c1010070: Failed to load and parse the manifest.
と出てきて何もできません。どうすればよいのでしょうか?
0292デフォルトの名無しさん
2009/04/19(日) 16:06:38変なファイル指定してない?
0293デフォルトの名無しさん
2009/04/19(日) 16:19:03出力マニフェスト ファイル→$(TargetPath).manifest
となってます^^;
0294デフォルトの名無しさん
2009/04/19(日) 16:23:53あと、新規プロジェクトでゼロから作ってもそれ出る?
0295デフォルトの名無しさん
2009/04/19(日) 16:27:05新規で作っても出ます;;
0296デフォルトの名無しさん
2009/04/19(日) 16:41:320297デフォルトの名無しさん
2009/04/19(日) 17:43:020298デフォルトの名無しさん
2009/04/19(日) 23:24:59すべての設定をリセットしてみてはどうか。
0299デフォルトの名無しさん
2009/04/21(火) 15:48:11マルチディスプレイでプログラムをフルスクリーン表示にしている時に、
セカンダリ画面でクリックなどするとプログラムが最小化してしまいます。
この最小化を抑制する方法があるみたいなのですが、どうすれば可能なのでしょうか。
0300デフォルトの名無しさん
2009/04/21(火) 15:49:180301デフォルトの名無しさん
2009/04/21(火) 16:00:440302デフォルトの名無しさん
2009/04/21(火) 17:08:08要するにお前が作ったプログラムに原因があるのか、
それとも元々OSがそういう仕様なのかぐらいはっきりしろ。
0303デフォルトの名無しさん
2009/04/21(火) 17:48:41大抵の古いWIN32アプリでフルスクリーン時は大抵そうなってしまってます。
最近はそれに対処しているプログラムがあって、
それをどうやってるのかなと質問させて頂きました。
0304デフォルトの名無しさん
2009/04/21(火) 17:55:39[ツール]→[オプション]で
ライブラリパスにC:\Program Files\MySQL\MySQL Server 5.1\lib\opt
インクルードパスにC:\Program Files\MySQL\MySQL Server 5.1\include
を設定し、
#include "mysql.h"をしてコンパイルするとMySQLのヘッダファイルでエラーが出まくります。
プロジェクトの設定が悪いのでしょうか?
0305デフォルトの名無しさん
2009/04/21(火) 18:02:000306304
2009/04/21(火) 18:06:41すみません。
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: 構文エラー : ')' が '*' の前に必要です。
等です。
ttp://www13.plala.or.jp/kmaeda/winc/sqlset.htm
↑ここを参考にしました。
0307304
2009/04/21(火) 18:23:26#include <winsock.h>をしたらエラーが出なくなりました。
ここでwinsockが出てくるとは…。
0308デフォルトの名無しさん
2009/04/21(火) 18:49:05mysql.h をinclude するまえにwindows.hをincludeしては、と書こうとしてた。
0309デフォルトの名無しさん
2009/04/22(水) 03:23:27#include <boost/random.hpp>
を使いたいんですけどこれはブーストをダウンロードした後どうすればいいのですか?
0310デフォルトの名無しさん
2009/04/22(水) 03:31:34今ダウンロードしたやつは忘れて、こっちのインストーラ版をダウンロードする。
http://www.boostpro.com/download
最も、VC++ 2008ならSP1当てれば#include <random>で
名前空間std::tr1にほぼ同じものが存在する。
0311デフォルトの名無しさん
2009/04/22(水) 03:39:06ご親切にありがとうございます。
なるほどー
SP1当ててないのでダウンロードしてみます。
インストール後はもう#include <boost/random.hpp>を使える状態になるのですか?
今環境がないため試せないんです;
0312デフォルトの名無しさん
2009/04/22(水) 10:44:38インストーラーがやってくれるならそのままでいいし、ダメなら自分で設定すればいいだけ
0313デフォルトの名無しさん
2009/04/25(土) 00:03:11今度作成しようとおもっているのは、Alt+Prt Scキーにより、クリップボードにコピーされた
アクティブな画面キャプチャを.jpg形式のファイルで保存しようとおもうんですが、
私のアルゴリズム?では、bmp形式のサイズで保存されてしまうのが予想されます。
私のアルゴリズムは以下です。
1.クリップボードの画像データをビットマップオブジェクトにコピーし、ファイルを保存する。
2.ファイル名の拡張子を.jpgに変換する。
以上です。
以前、Alt+Prt Scキーで取得した画面キャプチャ画像をアクセサリのペイントに貼り付けてjpegファイルに変換しても
画像サイズが変わらなかったので、上に書いたアルゴリズムでは同様のことになってしまうと思います。
jpegファイルの軽さで最初からファイルを保存するようにするにはどうしたらいいでしょうか?
画像関係のソフト制作、VC++は不慣れなものですので、すみませんが教えてください。よろしくお願いします。
0314デフォルトの名無しさん
2009/04/25(土) 00:11:29GDI+
0315デフォルトの名無しさん
2009/04/25(土) 00:19:460316413
2009/04/25(土) 00:52:22どうもありがとうございます。教えていただいた、
キーワードでググってやってみようと思います。ちなみに
MFCですので。。
コンビニいって、立ち読みしてたので、お礼が遅くなりました。すみません。
0317デフォルトの名無しさん
2009/04/25(土) 07:30:440318デフォルトの名無しさん
2009/04/25(土) 08:20:10俺も最初の頃は
xxx.jpg.bmp
なんてファイルがあったな
0319デフォルトの名無しさん
2009/04/25(土) 12:30:50昼飯食ってたらとたんに思いついた
アナログテレビにペンで 「デジタル」 って書くだけじゃ地デジは映らないよ!
0320デフォルトの名無しさん
2009/04/26(日) 10:19:590321デフォルトの名無しさん
2009/04/26(日) 10:21:030322デフォルトの名無しさん
2009/04/26(日) 13:35:30VC++2008 ExpressEditionで、windowsアプリケーションを作成しようとしています。
CreateWindow関数の引数が多く、横に書いていくと見にくいので、途中で改行をしました。
すると、それ以後、コンマを入力するとエラー音(プンッというような音)が鳴ります。
これはどういった問題が起きているのでしょうか。
分かる方、どなたか教えていただけるとありがたいです。
0323デフォルトの名無しさん
2009/04/27(月) 02:18:15ボタンを沢山配置したときに、リソース上で整列させたいのですが、
元々ダイアログに表示されている、ボタン位置の調整が出来る青い枠は
増やせないのでしょうか……?
リソース上で座標だけ見てボタンの微調整をするのはかなり苦痛です。
宜しくお願いします……!
0324デフォルトの名無しさん
2009/04/27(月) 02:36:30rcをテキストエディタで開いてみると
DEFPUSHBUTTON "OK", IDOK, 129, 7, 50, 14, BS_DEFPUSHBUTTON
PUSHBUTTON "キャンセル", IDCANCEL, 129, 24, 50, 14, BS_PUSHBUTTON
こんな感じになってるから手入力でやってもたいした労力じゃないかもしれないよ
0325323
2009/04/27(月) 02:46:51使用しているのはVisualStudio2008のリソースエディタです。
複数ボタンを選択した後に右クリックして、左揃え上揃えがあるのを確認しました。
早とちりしてすみません(汗)
微調整は324さまの仰られた通り、テキストエディタで編集する事にします。
ありがとうございました。
0326デフォルトの名無しさん
2009/04/27(月) 03:01:17騙されたと思って、ダイアログエディタのガイドをクリックしてみろ。
0327デフォルトの名無しさん
2009/04/27(月) 20:26:44ライブラリを追加するのはどこからやればいいのでしょうか?
2005ではプロジェクト→設定…とやっていたのですが。
プログラム自体初心者なのですが回答お願いします。
0328デフォルトの名無しさん
2009/04/27(月) 20:55:090329デフォルトの名無しさん
2009/04/27(月) 20:56:300330デフォルトの名無しさん
2009/04/27(月) 21:29:50>プログラム自体初心者なのですが回答お願いします。
こういうの要らないだろ。
どうしてこういうの付けてくるヤツって耐えないんだろう。
…でもまあスレタイ的には今回は例外的に問題無いのか。
0331デフォルトの名無しさん
2009/04/27(月) 21:42:09それくらい2005とろくに変わっていないだろ。
0332デフォルトの名無しさん
2009/04/27(月) 21:47:050334327
2009/04/28(火) 10:48:062005ではリンクからライブラリの一覧が見れましたが、2008でリンカを選んでもそれらしい項目がありません。
他の項目も見ましたが、どこから追加すればいいのか分かりませんでした。
詳しく教えていただけないでしょうか。
0335デフォルトの名無しさん
2009/04/28(火) 10:53:590336デフォルトの名無しさん
2009/04/28(火) 11:02:00これ、何のこと言ってる?
もしかしてC++/CLIか?
0337デフォルトの名無しさん
2009/04/30(木) 17:44:180338デフォルトの名無しさん
2009/04/30(木) 18:12:08http://www.microsoft.com/downloads/details.aspx?FamilyID=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&displaylang=ja
0339デフォルトの名無しさん
2009/04/30(木) 18:18:04さんくっす
0340デフォルトの名無しさん
2009/04/30(木) 23:01:53一応、VC付属のSDK・MSDNライブラリにもMSXML関連のものは入っていたはず。
望みのバージョンのものかどうかはともかく。
0341デフォルトの名無しさん
2009/05/01(金) 15:15:49洋書でもいいです。近くの大本屋4件くらいまわってもなかったもんで・・
もしあれば、Amazonで買おうと思います。
0342デフォルトの名無しさん
2009/05/01(金) 15:50:480343デフォルトの名無しさん
2009/05/01(金) 21:04:33vcだけじゃ無理で、IEのSDKとかつかうんですかね・・
0344343
2009/05/01(金) 21:10:140345デフォルトの名無しさん
2009/05/01(金) 21:14:16http://www.nitoyon.com/vc/tips/ie_component.htm
0346344
2009/05/01(金) 21:18:50どうもありがとうございます><;そこは詳しく載ってますね><;
私がググって見つけたページよりも実践的なサンプルが載っています。
連休中にタスクバーに常駐するお気に入り管理ツールを作ろうと思いまして・・
ブラウザのお気に入り機能って使いにくいですよね><;
0347デフォルトの名無しさん
2009/05/03(日) 06:20:13メモリ上がなんとかとなってるんですが意味がわかりません
0348デフォルトの名無しさん
2009/05/03(日) 08:43:10StretchBlt: コピー元がHDC
StretchDIBits: コピー元がBITMAPINFO/void*
0349デフォルトの名無しさん
2009/05/03(日) 17:48:53ソースファイルにリンクできてないようで、ビルドするとリンクエラーが出ます。
error LNK 2001:外部シンボル 〜〜〜〜 は未解決です。
fatal error LINK1120: 外部参照4が未解決です。
のメッセージが出ます。
正しくリンクできるように設定するにはどうするんでしょうか。
Visual Studio .NET 2003 Professional
作成したプロジェクトは Visual C++ プロジェクトの「コンソールアプリケーション(.NET)」です。
0350デフォルトの名無しさん
2009/05/03(日) 18:33:040351デフォルトの名無しさん
2009/05/03(日) 18:45:13参照設定してないとかいう落ちとか
0352デフォルトの名無しさん
2009/05/03(日) 19:14:17vectorコンテナを使ってる箇所を直す必要がある。
前に単一のソースに書いてBorland C++ Compilerで正常にコンパイル成功
していたプログラムを拡張しようとしたが、他のファイルで定義したクラスの
変数宣言は問題無いが、
std::vector<class fileman> fman_databox1;
で定義して
fsize1 = fman_databox1[n1].getfsize();
のように、vectorコンテナに添え字演算子で要素を取り出したものから、
メンバー関数を使おうとする箇所があるとエラーが出るということがわかった。
0353デフォルトの名無しさん
2009/05/03(日) 19:19:11実はリンクできてた
直す必要がある
分裂症ですか?
0354デフォルトの名無しさん
2009/05/03(日) 19:44:27としたけど、そうやってもエラーになった。
IDEはちゃんとリスト選択が出てくるのに。
inlineを取ればリンクできた。
そんなことがあるのか、何でインライン関数にすればエラーになるんだ。
0355デフォルトの名無しさん
2009/05/03(日) 20:02:260356デフォルトの名無しさん
2009/05/04(月) 08:31:41>LNK2019: 未解決の外部シンボル
のエラーが出るのですが、どういった風に解決するのが一番でしょうか。
0357デフォルトの名無しさん
2009/05/04(月) 08:36:020358デフォルトの名無しさん
2009/05/04(月) 08:43:27CountingObject : BasicCounting< CountingObject >と継承して、
BasicCountingのコンストラクタ、デストラクタでBasicCounting::countの値を増減しようと考えています。
テンプレートクラスで静的メンバ変数というのは、おかしいのですか?
0359デフォルトの名無しさん
2009/05/04(月) 08:48:510360デフォルトの名無しさん
2009/05/04(月) 11:42:04クラステンプレートでないクラスの場合と同じで、変数の定義が必要。
class Foo
{
static int Hoge;
};
int Foo::Hoge;
tempate<typename T>
class Bar
{
static int Hoge;
};
template<typename T>
int Bar<T>::Hoge;
なお、クラステンプレートの静的変数は実体化させる必要があるので、
クラステンプレートのメンバ関数などと同様、通常はヘッダに定義を書く。
0361デフォルトの名無しさん
2009/05/04(月) 12:56:350362デフォルトの名無しさん
2009/05/04(月) 12:59:30よってアサートは必要。
0363デフォルトの名無しさん
2009/05/04(月) 13:11:44実行時エラーになるととたんに対処が面倒になる。
0364デフォルトの名無しさん
2009/05/04(月) 13:34:070365デフォルトの名無しさん
2009/05/04(月) 13:43:28まあまあ、ココは初心者スレだからいいじゃないか。
0366デフォルトの名無しさん
2009/05/04(月) 19:16:070367デフォルトの名無しさん
2009/05/04(月) 20:03:490368デフォルトの名無しさん
2009/05/05(火) 08:46:18アサートとコンパイルエラーが同レベルで出てくるなんて
初心者だってありえないだろ
0369デフォルトの名無しさん
2009/05/05(火) 08:55:35「ありえない」か?確率0%か?
いや、初心者ならそのくらいありえるのではないか?
およそ、初心者に「ありえない」ことは「ありえない」んでは?
0370デフォルトの名無しさん
2009/05/05(火) 10:04:21当人に聞いてみなけりゃ分からないけど、
ありえないと言えるくらい見当違いなことだよ
0371デフォルトの名無しさん
2009/05/05(火) 10:09:220372デフォルトの名無しさん
2009/05/05(火) 20:20:07サンプルが載ってるページってありますか?自力で作るのもいいんだけど・・お代が無いし。
0373デフォルトの名無しさん
2009/05/05(火) 21:02:580374デフォルトの名無しさん
2009/05/05(火) 22:54:51タスクバーに入れる方法がわからないから、却下でござる。
0375デフォルトの名無しさん
2009/05/05(火) 23:07:59試しに参考書に載ってる簡単な足し算を表示するプログラムを書き写してみたんですが、
どうやってその書いたプログラムが動くのかが分かりません・・・
0376デフォルトの名無しさん
2009/05/05(火) 23:23:29VCの入門本買って読むべし
0377デフォルトの名無しさん
2009/05/05(火) 23:38:49http://msdn.microsoft.com/ja-jp/library/bb384838.aspx
手順の通りにやってみましたがやっぱりすぐ消えますね
分かるように勉強してきます ありがとうございました
0378375
2009/05/05(火) 23:55:05二桁の数字が表示されただけでしたが色々作れそうで楽しいっすね
スレ汚し失礼しました
0379デフォルトの名無しさん
2009/05/06(水) 00:28:51printf("リターン入力で終了\n");
getchar();
0380デフォルトの名無しさん
2009/05/06(水) 00:38:50プログラムはあなたの思ったようには動かなくても
プログラムはあなたの書いたようには動く
という格言がある。
これから先何度も何度も味わい続ける事になるだろうが、
これを忘れないようにね。
んでオススメは、Windows環境限定で良ければ
#include <conio.h>
でgetch();を使うのが良いと思うよ。いかなるキーでも何か入力すれば終了するようになる。
#include <conio.h>
int main()
{
//処理
getch();
return 0;
}
0381デフォルトの名無しさん
2009/05/06(水) 12:09:16main()の最後の } にブレイクポイントを置けばいいよ。
0382デフォルトの名無しさん
2009/05/06(水) 12:17:100383デフォルトの名無しさん
2009/05/06(水) 16:14:48コマンドラインでそれ用のオプションつけてコンパイルしてあれこれして
デバッガー使うことは出来ますか?
0384デフォルトの名無しさん
2009/05/06(水) 16:28:01Cじゃなくてもできるし
0385デフォルトの名無しさん
2009/05/06(水) 16:28:12ごめんなさい
0386デフォルトの名無しさん
2009/05/07(木) 00:03:37どう言ったメリットデメリットがあるんでしょうか?
一文字の文字列を""で囲んでも何の問題もないような気がしますが
メモリの使用量が少ないんでしょうか
0387デフォルトの名無しさん
2009/05/07(木) 00:13:280388デフォルトの名無しさん
2009/05/07(木) 00:20:01VBは型ぐらいなら分かるんですがどうしてもふに落ちないもので
0389デフォルトの名無しさん
2009/05/07(木) 00:32:58char string[] = "ABCDE";
char chararray[] = { 'A', 'B', 'C', 'D', 'E', '\0' };
文字列は文字の配列だよって理解でいいの?
0390デフォルトの名無しさん
2009/05/07(木) 00:56:44読んで字の如し
0391デフォルトの名無しさん
2009/05/07(木) 02:41:38VBやったことあるなら、AscとChr$は知っているだろ。
めちゃくちゃ乱暴に言うと文字リテラル'A'は、Asc("A")と同じ。
Ascの戻り値とChr$の引数、VBではLongとかで扱っていただろうが、
Cではcharという独立した型が与えられていると思えばいい。
0392デフォルトの名無しさん
2009/05/07(木) 08:22:06文字の比較や判定の基本はバイト単位だな
32bitや64bit単位でできないこともないけど
0393デフォルトの名無しさん
2009/05/07(木) 08:38:31文字単位で比較か
0394デフォルトの名無しさん
2009/05/07(木) 11:54:01文字と文字列の理解が怪しいな。
そもそもポインタとか分かってる?
いきなりC++にいくのは自殺級に難しいと思うからC言語から学んだ方が良いと思うよ。
0395デフォルトの名無しさん
2009/05/07(木) 11:57:40> 文字列は文字の配列だよって理解でいいの?
いいんじゃない。文字列は文字型変数の配列ね。
あと実際に文字列は扱えないからその先頭アドレスで扱うことになるってことを理解してくれ。
例えば
"ABCDE"=="ABCDE"
がtrueになるかどうかは処理系依存。
左の"ABCDE"と右の"ABCDE"が別に確保されていればアドレスが異なるから
これはfalseだが、コンパイル時にコンパイラが気付いてメモリ節約のために
同一文字列をマージすればtrueとなる。
> char string[] = "ABCDE";
> char chararray[] = { 'A', 'B', 'C', 'D', 'E', '\0' };
これは全く同じになりますよ。
0396デフォルトの名無しさん
2009/05/07(木) 13:27:080397デフォルトの名無しさん
2009/05/07(木) 13:36:05は?頭おかしいの?
0398デフォルトの名無しさん
2009/05/07(木) 13:44:03メリットは使うときがくれば分かるとしか言いようがないな
使わない人にとっては面倒なだけと言えばデメリットにもなるだろうが、それは何にしてもそうだろう
0399デフォルトの名無しさん
2009/05/07(木) 14:10:36言われるんだよ
Cやったあとはマイコンもやれよ
で電子回路やってFPGAもやれ
そこでやっとプログラマといえる
0400デフォルトの名無しさん
2009/05/07(木) 14:34:58VBは直感でも何となくできるし、プログラマへの足がかりぐらいにはなってると思うよ
偉そうだったらぶっ飛ばしたなくるけどw
0401デフォルトの名無しさん
2009/05/07(木) 14:37:26しかたないさ、何てったってvisualかつbasicだもんなw
そりゃしょーがない
0402デフォルトの名無しさん
2009/05/07(木) 14:42:49ただし
>>396
> で、結局メリットデメリット誰も言えないわけで
全く見当違いな質問に対して答えないだけで
「言えない」発言をする低能を除く!
0403デフォルトの名無しさん
2009/05/07(木) 14:44:30えらそうにしている風習を改めないと。
0404デフォルトの名無しさん
2009/05/07(木) 15:02:350405デフォルトの名無しさん
2009/05/07(木) 21:55:25ビルドしているのですが、ビルド構成やVCのバージョンごとに、
リソースのFILEVERSIONやPRODUCTVERSIONの右端の数字を
違う値にしたいと思っています(どういう構成でビルドされたものかを示すため)。
ビルドするたびに手動で書き換えていると絶対に忘れてしまうことがあるので、
ビルド時にこの数字を自動で書き換えたいのですが、
VC6、VC2005、VC2008に共通の方法はありますでしょうか?
0406デフォルトの名無しさん
2009/05/07(木) 21:59:44#ifdef "文字列"
0407デフォルトの名無しさん
2009/05/07(木) 22:06:43プリプロセスでその値を見て文字列を選ぶ
0408デフォルトの名無しさん
2009/05/07(木) 22:56:01cout<<2++;
で3になると思いましたがエラー出ました
0409デフォルトの名無しさん
2009/05/07(木) 23:16:49C言語の基礎だぞ。
++は変数に対してのみ使える演算子です。
しかも百歩譲ってインクリメントできたとしても
cout<<2++;
では結局2が出力されるだけ。
その上言いたいことは
>エラー出ました
エラーメッセージを100回読め。
0410デフォルトの名無しさん
2009/05/07(木) 23:47:24VB.NETでやるならまだしも、C#みたいな中途半端言語で.NETやってるのか。
C#でやるよりも、C++の標準ライブラリを生かせていいと思わないか。
0411デフォルトの名無しさん
2009/05/07(木) 23:50:370412デフォルトの名無しさん
2009/05/07(木) 23:54:54C#かC++のように極端のほうがいい。
C#でどうしてもスピードが足りないときのみか、C++資産使うときだけ。マネC++
0413デフォルトの名無しさん
2009/05/08(金) 01:45:13値が見れない(デバッグのウィンドウに表示されない)変数があるんですけど、なぜなんでしょう?
その変数はforの{}内で宣言した変数なんですけど関係ありますかね?
0414デフォルトの名無しさん
2009/05/08(金) 02:03:010415デフォルトの名無しさん
2009/05/08(金) 02:34:17forの中なのに見れませんでした。
何か別に原因があるのかなぁ・・・。
0416デフォルトの名無しさん
2009/05/08(金) 11:43:100417デフォルトの名無しさん
2009/05/08(金) 16:02:150418デフォルトの名無しさん
2009/05/09(土) 16:04:31ウォッチウィンドウにぶち込め
0419デフォルトの名無しさん
2009/05/09(土) 16:05:250420デフォルトの名無しさん
2009/05/09(土) 19:36:570421413
2009/05/09(土) 23:00:59>>416
全部のせるのは長くなりそうなので・・・。
>>417
最適化は有効のままでした。
>>418
シンボルが見つかりませんってエラーが出ます。
>>419
見たのは自動変数とローカルです。
>>420
Releaseでビルドしたものをデバッグしてました。
Debugでビルドにしたらちゃんと変数が表示されました。
デバッガ使う時はDebugでビルドしないとだめでしたか。
0422デフォルトの名無しさん
2009/05/10(日) 00:10:17>デバッガ使う時はDebugでビルドしないとだめでしたか
そりゃデバッグモードでしかデバッガは使えないだろw
>>420
ESP乙
0423デフォルトの名無しさん
2009/05/10(日) 12:20:11#include <stdio.h>
int factn(int n);
int main()
{
int n,fact;
for (n = 0; n <= 10; n++)
{
fact = factn(n);
printf("d%! = %d\n",n,fact);
}
while ( true )
{
;
}
}
int factn(int n)
{
int i,fact;
fact = 1;
for (i = 1; i <= n; i++)
{
fact = fact * i;
}
return fact;
}
関数を使って0〜10までの階乗がしたいんですが
表示がd!=1 d!=2…ってなってしまいます。
どこがおかしいんでしょうか?
0424デフォルトの名無しさん
2009/05/10(日) 12:25:43d% → %d
0425デフォルトの名無しさん
2009/05/10(日) 12:31:49ありがとうございます
0426デフォルトの名無しさん
2009/05/10(日) 12:50:11VBみたいにnull=0又は0文字の文字列という扱いには出来ないものでしょうか
0427デフォルトの名無しさん
2009/05/10(日) 12:56:39直接関係しない。
0428デフォルトの名無しさん
2009/05/10(日) 12:57:550429デフォルトの名無しさん
2009/05/10(日) 12:58:50オペランドを説明することが解説だと思ってるようだ。だから初心者にとっては
わかりにくいんだよ。コンピュータの基本がわかってない奴が本を書くように
なってるんじゃないのかって感じる。
0430デフォルトの名無しさん
2009/05/10(日) 13:01:340431デフォルトの名無しさん
2009/05/10(日) 13:04:490432デフォルトの名無しさん
2009/05/10(日) 15:14:080文字の文字列を作るときはnulで初期化であってる
0433デフォルトの名無しさん
2009/05/10(日) 19:35:12ぐぐってもvbばっかり出てきます
0434デフォルトの名無しさん
2009/05/10(日) 19:39:080435デフォルトの名無しさん
2009/05/10(日) 19:47:38配列の名前をpenisとするとだな、
sizeof(penis);で取得できる。
0436デフォルトの名無しさん
2009/05/10(日) 19:53:48penisは動的配列なんだな。
sizeof(penis)が一定値にならないぞ。
0437デフォルトの名無しさん
2009/05/10(日) 19:54:150438デフォルトの名無しさん
2009/05/10(日) 20:02:58sizeof myson;
って括弧なしでかけるんだな
最近知った。
0439デフォルトの名無しさん
2009/05/10(日) 20:03:43いや実際には・・・
・・・もう止めようw
0440デフォルトの名無しさん
2009/05/10(日) 20:07:290441デフォルトの名無しさん
2009/05/10(日) 20:32:43ありがとうございます、合計バイト数は出せました。
あとはデータ型に応じたバイト数で割ればインデックス最大値が出せるのですが、それも分かりません・・
変数penisのデータ型はどうやって調べるんでしょうか
0442デフォルトの名無しさん
2009/05/10(日) 20:35:27?
0443デフォルトの名無しさん
2009/05/10(日) 20:39:21int型は環境によってバイト数が変わると聞いたので・・
LBoundみたいな関数は無いものでしょうか
それとも僕はよほど変なことをしているのでしょうか
0444デフォルトの名無しさん
2009/05/10(日) 20:57:21環境によって変わるからsizeof(int)してるんだよ
変わらなかったら4とか決めうちでいいじゃん
0445デフォルトの名無しさん
2009/05/10(日) 21:02:00変数penisを宣言しているのは誰だ?
0446デフォルトの名無しさん
2009/05/10(日) 21:03:480447デフォルトの名無しさん
2009/05/10(日) 21:06:04その辺理解できない馬鹿だったら自分で固定で数決めとけ
0448デフォルトの名無しさん
2009/05/10(日) 21:08:38成る程!!すいませんでした、気づいてませんでした
0449デフォルトの名無しさん
2009/05/10(日) 21:10:280450デフォルトの名無しさん
2009/05/10(日) 23:35:250451デフォルトの名無しさん
2009/05/10(日) 23:47:390452デフォルトの名無しさん
2009/05/11(月) 00:01:19保存されたファイルを見てコンパイルするから無理じゃね?
VC出身の俺からしたら保存されねぇほうが気持ち悪いけど
他の環境出身者には保存されるのは気持ち悪いもんなのかねw
0453デフォルトの名無しさん
2009/05/11(月) 00:06:09切ることは出来ないのですか、残念です
ちなみにVB・VBA・HSP出身(というほどやってませんが)です
0454デフォルトの名無しさん
2009/05/11(月) 00:13:090455デフォルトの名無しさん
2009/05/12(火) 00:07:15成功した、ハンドル使わない方法でやっとだ。
そこでだ、ものは相談だ。ハンドル使うSendMessage()とか、SetWindowText()
のやりかた教えろや。
0456デフォルトの名無しさん
2009/05/12(火) 00:14:48>変数penisのデータ型はどうやって調べるんでしょうか
0457デフォルトの名無しさん
2009/05/12(火) 00:16:280458デフォルトの名無しさん
2009/05/12(火) 00:19:22それはないでしょう。
ですから、ハンドルの使いかた教えてくれって言ってる意味ととって
くださってもいいです。すみませんです。
0459デフォルトの名無しさん
2009/05/12(火) 00:22:46おおかたリソーススクリプトや(親のハンドル使うけど)SetDlgItemTextでも使ったんだろう。
0460デフォルトの名無しさん
2009/05/12(火) 00:24:28それがわからんから・・・↓こうなってるわけでして。
SetDlgItemText(IDC_STATIC1,"testest");
0461デフォルトの名無しさん
2009/05/12(火) 00:25:27SetWindowText( hWnd, szText);
SendMessage( hWnd, WM_SETTEXT, 0, (LPARAM)szText);
0462デフォルトの名無しさん
2009/05/12(火) 00:26:540464デフォルトの名無しさん
2009/05/12(火) 00:51:42HWND hWnd = GetDlgItem( hDlg, IDC_STATIC1);
hDlg はわかるよな。ダイアログプロシージャの第一引数だ。
0465455
2009/05/12(火) 01:11:47その場合のhDlgは、当然にIDC_STATIC1が貼り付けられたダイアログのハンドル
っていうことですね。その場合、以下の意味がよくわかんですね。
>「ダイアログプロシージャ」(これは、・・・・Dlg.cppって言う意味ですか?)
>「第一引数」(これは意味がわからないです)
(例えば、ワークスペース名が"Rocket"として、例でいくと小生の場合はvs6で、
MFC AppWizard でダイアログモードでワークスペースをを作成したんですが。
RockeDlg.cppが以下になってます。このどこで値が決まってますか?
#include "stdafx.h"
#include "Rocket.h"
#include "RocketDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// アプリケーションのバージョン情報で使われている CAboutDlg ダイアログ
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// ダイアログ データ
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard は仮想関数のオーバーライドを生成します
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV のサポート
//}}AFX_VIRTUAL
・・・・・もっと下ですか?
0466455
2009/05/12(火) 01:16:05ダイアログ内なら無宣言で、どこでも使える定数。
0467デフォルトの名無しさん
2009/05/12(火) 01:17:03MFCはウィンドウハンドルを意識しないでいいように作られているから、HWND型はあまり使わない。
0468455
2009/05/12(火) 01:22:23でも、とにかくハンドルを使わないと、別のプロシージャからは、
別イのダイアログに貼り付けられたコントロールは外部参照できない
わけでしょ。↓のどれを使おうが。
SetWindowText( hWnd, szText);
SendMessage( hWnd, WM_SETTEXT, 0, (LPARAM)szText);
0469デフォルトの名無しさん
2009/05/12(火) 01:25:17「別イのダイアログ」なんつうのが今ごろでてくると、何をやりたいのかわからん
0470455
2009/05/12(火) 01:27:02>ウィンドウハンドルを意識しないでいいように
なら、SetDlgItemText(IDC_STATIC1,"testest");
と同じく、同一ダイアログプロシージャ内なら、SetWindowText()やSendMessage()
も、ハンドル引数(hWnd)は省略していいってことですか?
0471デフォルトの名無しさん
2009/05/12(火) 01:31:15両者のパラメータにウィンドウハンドルはない。
0472デフォルトの名無しさん
2009/05/12(火) 01:35:24pStatic->SetWindowText( _T("文字列"));
0473455
2009/05/12(火) 01:36:24つまり、別のフォームで、RoketDlg.cppで、設定したり計算したデータを、終了前に
hddに保存する場合、別なフォームから参照して保存したり、RoketDlg.cppで計算を
始める前に、RoketDlg.cppのプログラム計算を開始する前に、hddに保存したファイルから
データを読んで別なダイアログでリストアップして、一覧の中から選んでRoketDlg.cppの
各コントロールのテキスト(キャプション)に値を設定する。それを読みながら計算
させる、とかです。
0474455
2009/05/12(火) 01:54:36つまり↓を、vcに移植したいわけです。
MV魔改.bmp
http://freedeai.com/up/index.html
0475455
2009/05/12(火) 01:55:570476455
2009/05/12(火) 02:01:50って北の将軍様や工作員に見せて、「だから日本を脅かしたってビタ一文出さない。
日本を恐喝したって金にならない。早く被拉致者を返せ。」って教えるためです。
0478455
2009/05/12(火) 02:35:46その場合、CWndは、どこで、値が決まってるんですか?
>>471と>>472の連携がわからないです。
↓これは記法ではないっていうことですか?
CWnd::SetWindowText()
つまり、上の記述の意味は、実際の記法は、
「Cwnd:」は、「CWnd* pStatic」の意味で、
「:SetWindowText(_T("文字列"));」は「pStatic->SetWindowText( _T("文字列"));」 である
という意味ですか?
0479455
2009/05/12(火) 02:41:06(IDC_STATIC1は、別なフォームにもあるかもしれないわけで)
CWnd* pStatic = GetDlgItem( IDC_STATIC1);
0480デフォルトの名無しさん
2009/05/12(火) 07:18:510481デフォルトの名無しさん
2009/05/12(火) 08:39:40家にあるのが2005しかないもので困ってます…
0482デフォルトの名無しさん
2009/05/12(火) 08:55:59あなたはクラスを使ったことがありますか?
0483デフォルトの名無しさん
2009/05/12(火) 09:49:30適当なエディタで開いてバージョンあたり
書き換えれば2005でも開ける
0484455
2009/05/12(火) 11:05:05エディトコントロールにせよ)、そのハンドルの値というのは、その、プロシージャに
行った時(そのプロシージャが実行されたとき)しか取得(代入)できないということですか?
(コンパイル時に、実行ファイルが各「ハンドル」を自動的に管理する変数としてバックグランド
で管理、保有するようにはなってない、と。)
だから、他のプロシージャから、他のプロシージャで定義、生成されたコントロールとかを
外部参照したい場合は、前もって、そのプロシージャに行った(実行された)時点で、
プロシージャ間で共有できる変数(パラメーター用の変数に)代入しておいて
、プロシージャ間でパラメータとして渡せ、と。
結局、ダイアログにせよ、メモリにロード(画面に出)されてなきゃ、その中のコントロールは
参照できっこないわけだから。
画面に出てるとか、とにかくその外部参照される他のプロシージャ部がメモリにロードされてる
うちは、ディスティネーション(アドレス、ポインタ)としての「定数」であって「変数」では
ないのだからパラメータになりうるから、プログラマー自身が渡せと。
0486デフォルトの名無しさん
2009/05/12(火) 11:18:37結局、VC++では?
そんな意味不明なまとめだったら
日記かブログにでも書いとけ
0487デフォルトの名無しさん
2009/05/12(火) 11:24:47apiだからVC++は関係ない。
0488デフォルトの名無しさん
2009/05/12(火) 11:27:09そのうちわかるからとりあえず汚くても動くように書いてみな
後で俺ってなんてVB厨だったんだと思うだろうけど仕方ないよ。
0491デフォルトの名無しさん
2009/05/12(火) 11:47:090492455
2009/05/12(火) 11:51:16「PLワン」とかやってたって言ってます。)女房から、「そういうソフト、どうしても造りたい
っていうならVB6でつくったほうが楽ですよ。私もVC++はよくわからない。」って
言われて造ったんであって・・・
0493デフォルトの名無しさん
2009/05/12(火) 11:54:57C++をやってればわかるのにCやってたってすぐにはわからないよ。
0494455
2009/05/12(火) 11:56:13OSファンクションだからっていっても、ファンクションコールの仕方、記法は、
言語別でしょ。MASMとVC++のファンクシションコールの仕方は同じですか?
0496デフォルトの名無しさん
2009/05/12(火) 11:59:300497デフォルトの名無しさん
2009/05/12(火) 12:00:37だったら.net使えばー
0498455
2009/05/12(火) 12:07:52NET使うとVBでもスタック拡大できるわけ?
0499455
2009/05/12(火) 12:09:330500デフォルトの名無しさん
2009/05/12(火) 12:09:590501455
2009/05/12(火) 12:10:170502455
2009/05/12(火) 12:13:36VBについてSTACKでヒットしたことは一度もないな、
0503455
2009/05/12(火) 12:16:47Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Const TOOLTIPS_CLASS = "tooltips_class32"
0504デフォルトの名無しさん
2009/05/12(火) 12:16:490505デフォルトの名無しさん
2009/05/12(火) 12:20:07意味的にまったく同じで何も違いがない
0506デフォルトの名無しさん
2009/05/12(火) 12:22:340507455
2009/05/12(火) 12:30:17中身はそうださ。OSが同じなんだから。
だけどプログラミング(言語としての言葉使い)の実践としては違うでしょ?
っていうことです。
意図する中身が同じだって、言語が違えば話かたは違うのと同じことでね。
例えば、日本で「オリーブ」でも、米語じゃ「あらぶ」なわけで。
中身は同じでも米国人に「オリーブ」って言っても通じない。
日本人に「あらぶ」っていうと「オリーブ」じゃなくアラブ(の国)
って言う意味にとられる。(笑
0508デフォルトの名無しさん
2009/05/12(火) 12:33:550510デフォルトの名無しさん
2009/05/12(火) 12:36:570511455
2009/05/12(火) 12:38:38VC++の入門書、4冊あるけど、どれにもハンドルの変数の代入の仕方、
を系統的には書いてない。ほとんど説明してない。索引にも載ってない。
0512デフォルトの名無しさん
2009/05/12(火) 12:41:330513455
2009/05/12(火) 12:47:26必要はない。計算はC(.DLL)でやって、VBに渡せばいいだけで。若干は、DLLから
直接的にVBのLABELのキャプションに書きこむくらいはしなきゃならないだろうけど。
画面いじるのは、VBのほうがぜんぜん楽でしょ。その場合は開発時間はずいぶん短く
なるよ。
ランタイムシステムがどうのこうのって嫌がらなければ・・・、だけど。
0514デフォルトの名無しさん
2009/05/12(火) 12:50:00たいして変わらんけどな
0515455
2009/05/12(火) 12:54:13ハンドルの理解は難しいってこと?
VS4.0の本はマニュアルまで女房は、廃棄しちまったらしい。
0516デフォルトの名無しさん
2009/05/12(火) 12:58:31http://www7.plala.or.jp/keny01/windows/
とかさらっと読めばわかるっしょ
でC++もわかってればMFCもわかる。
だから>>455が何がわからないのか一般人にはわからない。
0517455
2009/05/12(火) 13:04:05どこにハンドルの型宣言、値の代入の仕方(オペランド)、その値の効力の
範囲が説明してあるの?
文法(記法)だけなら「解説書」は不要だよ。MSDNでいいわけだから。
0518デフォルトの名無しさん
2009/05/12(火) 13:06:120519455
2009/05/12(火) 13:07:30ハンドルの文法は、ウィンドウができたことによるものだから、その基本は
当時の本を読まないと、ダメかもしれん。
女房も当時はUNIXをやってたから、だからVC++は弱いんだわ。
0520デフォルトの名無しさん
2009/05/12(火) 13:07:54MFCはウィンドウハンドルを意識しないと上のほうに書いてあったのに。
0521455
2009/05/12(火) 13:11:38PLIだったし、それ以後はUNIXで育ってるからな。
0522デフォルトの名無しさん
2009/05/12(火) 13:13:400523455
2009/05/12(火) 13:15:58>ハンドルの型宣言にこだわる理由がわからん。
>MFCはウィンドウハンドルを意識しないと上のほうに書いてあったのに。
何度も言ってるが、値の代入の仕方とか、パラメーターとしての扱いかた
がわかりにくいていうのよ。
「型宣言」といったのは「今の解説書は系統的(網羅的)には説明してない。」
という面で言ってる。
0524デフォルトの名無しさん
2009/05/12(火) 13:18:470525455
2009/05/12(火) 13:20:03だって、プログラムは、一字間違っても、コンパイルできないわけでね。
初心者の場合は、文法上の必要な各要素について説明が網羅的な説明でない
場合、省略した要素があれば、省略されたとこは理解できない。
理解できない要素はネックとなって、それ以後は先に進まない。
0526デフォルトの名無しさん
2009/05/12(火) 13:23:050528デフォルトの名無しさん
2009/05/12(火) 13:23:56すべては「オブジェクト」単位で管理する。
Aというダイアログのオブジェクトを DlgA、BというダイアログのオブジェクトをDlgBとすれば、
ダイアログBにある IDC_STATIC1 は、DlgB.GetDlgItem( IDC_STATIC1) でアクセスできる。
テキストを変更したいなら、DlgB.GetDlgItem( IDC_STATIC1)->SetWindowText( _T("テキスト")); だ。
DlgAのメンバ変数としてDlgBのポインタを保持しておけば、DlgAからDlgBにはすぐにアクセスできる。
上記の文中にでてくる用語の意味が不明なら、ここで質問する前にC++について勉強しろ。
0529デフォルトの名無しさん
2009/05/12(火) 13:24:20一般的なハンドルの概念が理解できると思う。
0530デフォルトの名無しさん
2009/05/12(火) 13:28:100531デフォルトの名無しさん
2009/05/12(火) 13:34:250532デフォルトの名無しさん
2009/05/12(火) 13:37:10暇なんだよね。不景気でw
0533455
2009/05/12(火) 13:37:46だって、>>471は、MFCなんだろ?
()の中であろうが外であろうが、CWnd::って、c++として記法だろうが、
とにくハンドルみたいなもんじゃないの?
ハンドルとは呼ばないかもしれんが。
1,で、とにかく、Cwndの実数はどこでどうやって取得するのか?
2,またそのCWndの使いかた(値が代入された後のCWnd)は、どう使用
すればいいのか。
つまり>>471のような記述の仕方なのかどうか?
単に「Cwnd::*****」(>>471)でいいのか?
ってことだよ。>>472では「CWnd::*****」ではないわけだから。
ま、そりゃc++の記法だろうけどさ。
>>472はc++でなかったら、どう記述する?
0534デフォルトの名無しさん
2009/05/12(火) 13:38:400535デフォルトの名無しさん
2009/05/12(火) 13:39:570537455
2009/05/12(火) 13:49:42CWndが「クラス」っていうことはわかったよ。だけど
何にせよ、ディスティネーション(例。コントロールの固有アドレスを示すもの。)値
がなきゃ、他のプロシージャからは、目的のコントロールに、exeファイルは到達できない
わけでしょ。
だから、そのハンドル(つまりはオフセット・アドレスポインタ)の値の取得(代入)
の仕方と、使い方を教えろって言ってるんだよ。
0538デフォルトの名無しさん
2009/05/12(火) 13:52:440539デフォルトの名無しさん
2009/05/12(火) 13:54:420540455
2009/05/12(火) 13:58:00(別なダイアログのコントロールが、同じ”IDC_STATIC1"というID名を持つことはありうるから)
↓これは、やはりスタティックコントロールを持ってる外部プロシージャ(ダイアログ2)から
↓ダイアログ1のIDC_STATIC1を参照したい場合は意味のない記述でしょ。
CWnd* pStatic = GetDlgItem( IDC_STATIC1); >>472
0541デフォルトの名無しさん
2009/05/12(火) 14:00:16本題からどんどん遠ざかってるような気がする。
0542デフォルトの名無しさん
2009/05/12(火) 14:02:470543455
2009/05/12(火) 14:04:27ますますわかんなくなってきた。
0544デフォルトの名無しさん
2009/05/12(火) 14:11:370545デフォルトの名無しさん
2009/05/12(火) 14:14:55やりたいこと
これだけ書いて質問すればすぐにまともな回答もらえたかもな
0546455
2009/05/12(火) 14:15:10()の中でのハンドルの指定はない、ていうことは、うすうすは、わかったような
気がする。うすうすだけど。
では、外部プロシージャから(例えば、ダイアログ2に貼ってあるBUTTONが押されたとき、
ダイアログ1のスタティックコントロールを参照したい場合。
ダイアログ2にもスタティックコントロールは貼ってあって、両方が同じID名の場合。
0547455
2009/05/12(火) 14:17:250548デフォルトの名無しさん
2009/05/12(火) 14:20:06「C++を勉強しろ」というのが回答。
0549455
2009/05/12(火) 14:22:320550デフォルトの名無しさん
2009/05/12(火) 14:23:15ダイアログ1
ダイアログ2
唐突にこんなものが出てきたって誰も関係が理解できない
外人
かばん1
かばん2
これで関係理解できるか?
0551455
2009/05/12(火) 14:25:52↓一流プログラマーのように威張りたいです。」ってしか聞こえない。
548 :デフォルトの名無しさん:2009/05/12(火) 14:20:06
その答を書くにはC++のクラスの基本から書かなくちゃいけない。だから答えない。
「C++を勉強しろ」というのが回答。
0552デフォルトの名無しさん
2009/05/12(火) 14:27:220553455
2009/05/12(火) 14:36:17「プロシージャ」という言葉は許すけど、「外部」がつくとわからん、っていうのは
「++」以前、「C」言語の基本がわかってないというか、それ以前、プログラムの基本
がわかってないとしか言いようがないけどな。
「スタックって何?」とかって聞いてる人が先生ぶってるのと同じでさ。
>hDlg はわかるよな。ダイアログプロシージャの第一引数だ。>>464
>504 :デフォルトの名無しさん:2009/05/12(火) 12:16:49
>スタックってなんだよ
0554455
2009/05/12(火) 14:38:000555デフォルトの名無しさん
2009/05/12(火) 14:39:440556デフォルトの名無しさん
2009/05/12(火) 14:41:28editbin で /STACKオプションつければいい
0558デフォルトの名無しさん
2009/05/12(火) 14:46:02ダイアログ1にスタティックコントロールを公開するメソッドを作る
ダイアログ2からはダイアログ1->そのメソッド()
という形でアクセスする
0559455
2009/05/12(火) 14:46:52>VBでもなんでも、てっとり早くスタックサイズ大きくしたいなら
>editbin で /STACKオプションつければいい
0560455
2009/05/12(火) 14:48:580561デフォルトの名無しさん
2009/05/12(火) 14:58:060562デフォルトの名無しさん
2009/05/12(火) 14:58:57editbin は使ったことあるのか?
0563デフォルトの名無しさん
2009/05/12(火) 15:01:410564563
2009/05/12(火) 15:02:38http://msdn.microsoft.com/ja-jp/library/35yc2tc3(VS.80).aspx
0565デフォルトの名無しさん
2009/05/12(火) 15:02:50AとBが全然関係ないんじゃアクセスしようがない。
0566455
2009/05/12(火) 15:03:31++は記法だけの問題であって。
VBは、やっぱSTACK拡大できないと思うよ。2008でも、STACKをヘルプのキーワードに入れても
ヒットしない、あるなら、こんな基本的で重要なこと抜くわけないもの。
試しにヘルプでやっても、スタックフレームっていうことは出てくるが、メモリ朗域の拡大ではない¥
スタック怖かったから、2008に期待をかけてダウンロードして調べてみたが、
↓のVB2008のヘルプで、"STACK"でヒットしたのは「実行中」の「検査」の話でね。
↓そもそも実行中にスタックメモリ領域(コード領域も意味する)の大きさ変えれるわけないんだから(笑
スタック フレームの検査のサンプル
このサンプルでは、任意のポイントでの呼び出し履歴の情報を、実行中のプログラムのコード内から取得する方法を説明します。呼び出し履歴を使用すると、現在のプロシージャに至るまでにアプリケーションが実行したプロシージャの順番を確認できます。
0567455
2009/05/12(火) 15:07:45Cは「当初>>560」からあったけど、マイクロソフトのVBはないって言ってるんだよ。
そのMSDNに書いてあるのは、CとかMASMの話だよ。
0568デフォルトの名無しさん
2009/05/12(火) 15:09:06馬鹿だよな
0569デフォルトの名無しさん
2009/05/12(火) 15:09:550570デフォルトの名無しさん
2009/05/12(火) 15:11:58コンパイルは関係ない。
リンク後でもEXEのヘッダー書きかえればサイズは変更できる。
そのためのツールがeditbin
0571デフォルトの名無しさん
2009/05/12(火) 15:12:22あれってどれだよ
0572455
2009/05/12(火) 15:13:14569 :デフォルトの名無しさん:2009/05/12(火) 15:09:55
こいつ人の言ったこと何も聞いてないのな。
568 :デフォルトの名無しさん:2009/05/12(火) 15:09:06
だから外部という認識だからアクセスできない
馬鹿だよな
0573デフォルトの名無しさん
2009/05/12(火) 15:13:53これじゃないのがあれだろ
日本語も知らないのか?
0574デフォルトの名無しさん
2009/05/12(火) 15:16:00http://mail2.nara-edu.ac.jp/~asait/visual_cpp/intro_cpp.htm
ここのダイアログベース読めばいいんじゃね?
0575455
2009/05/12(火) 15:16:11570 :デフォルトの名無しさん:2009/05/12(火) 15:11:58
スタックサイズはリンク時に決定される。
コンパイルは関係ない。
リンク後でもEXEのヘッダー書きかえればサイズは変更できる。
そのためのツールがeditbin
0576デフォルトの名無しさん
2009/05/12(火) 15:20:540577455
2009/05/12(火) 15:23:20↓参照できるって言ってるのと同じこと。C++とかなんとかの問題でなくプログラムの基本がわかってないと
↓思うけどね。
GetDlgItem( IDC_STATIC1)
0578455
2009/05/12(火) 15:24:530579デフォルトの名無しさん
2009/05/12(火) 15:29:51一番の近道はMFCを使わないで
CでWindowsプログラミングをすることだと思った。
多少記述は多くなるけど問題ないと思う。
0580455
2009/05/12(火) 15:31:22↓別のダイアログプロシージャ(外部プロシージャ、つまり別のダイアログボックス)
↓のコントロ−ルを参照してることではないだろ。この言ってる意味がわからないかねえええ
GetDlgItem( IDC_STATIC1)
0581デフォルトの名無しさん
2009/05/12(火) 15:34:04使いまわすときにいちいち変えてたら面倒くさくてしょうがない。
0582デフォルトの名無しさん
2009/05/12(火) 15:39:32同じコードで実現できる。
というか同じでやった方がいい。
0583デフォルトの名無しさん
2009/05/12(火) 15:40:18リソースファイルをテキストエディタで開いてみな
0584455
2009/05/12(火) 15:42:27(通常はデフォルトの動作。つまり、カンレント(実行中)のプロシージャで動作するわけでしょ。)
(じゃ別のダイログプロシージャ(別のダイアログボックス)につくられるコントロ−ルには、
どうやって参照するの?って聞いてるのよ。この質問がわからないのかねえええ)
↓はあくまでも実行中のダイアログプロシージャ(ダイアログボックス)が自分に貼られてる
↓コントロールのアドレスに関する値を渡すという関数でしょ。
GetDlgItem( IDC_STATIC1)
0585デフォルトの名無しさん
2009/05/12(火) 15:45:090587デフォルトの名無しさん
2009/05/12(火) 15:51:47あー
もう
考え方がCすぎるんだよ
ダイアログにはクラスがひもづくでしょ
ダイアログを表示するには
そのクラスのインスタンスを作って表示するでしょ
ってことはそのインスタンス内のIDC_STATIC1は一つでしょ
だからダイアログのインスタンス->GetDlgItem()になるの!
0588455
2009/05/12(火) 15:54:52そうか。なんだ。すまん。
>>528
んじゃ、DlgBの値は、どこで、どうやって取得するわけ?
実際の記述は、取得したときにDlgBという変数を使ったら、
そのまま
DlgB.GetDlgItem(IDC_STATIC1)→でいいわけ?
0589デフォルトの名無しさん
2009/05/12(火) 15:58:330590デフォルトの名無しさん
2009/05/12(火) 16:01:36ひしひしと伝わってくる。
Cだけ知ってれば他の言語は全部わかったも同然っていう
感じがする。
0591455
2009/05/12(火) 16:04:53だから、その手法は、>>484で聞いてたんだよな。俺。
DlgB.を先走って「ハンドル」って言ったのは間違いだったかもしれんが。
でもハンドルみたいなもんだろ。とにかく「固有」(結局はアドレスだから)の数値なんだから。
0592デフォルトの名無しさん
2009/05/12(火) 16:09:49別に難しい概念じゃないと思うのだが
それに何で関数のヘルプ読まないの?
芋蔓式にそれに必要な物とやり方がわかると思うんだけど
0593デフォルトの名無しさん
2009/05/12(火) 16:12:180594455
2009/05/12(火) 16:14:17ヘルプに書いてある?
「コントロールのアドレス(又はポインタ)はダイアログが実行中しか取得できません。」
とかって、どっか書いある?
0595455
2009/05/12(火) 16:16:41・・・ダイアログが実行中しか取得できません。」
・・・その親ダイアログが実行中(フォーカス中)しか取得できません。」
0596デフォルトの名無しさん
2009/05/12(火) 16:21:190597594
2009/05/12(火) 16:21:45>>594は取り消し
根本的に質問が間違った。質問の本意は、
「ヘルプには、他のダイアログ(外部プロシージャ)にあるコントロールを
直接参照はできません。」とかって書いてある?
だった。
」
0598デフォルトの名無しさん
2009/05/12(火) 16:27:27だからね。そこはC++を勉強してたらそういう疑問は出ないの。
それが当たり前なの。
他のインスタンスの変数を直接参照できないように設計するのは
オブジェクト指向の初歩の初歩なの。
0599594
2009/05/12(火) 16:30:08とにかく、だから、俺は、そのことを>>484で問い正していたんだよ。
そうしたら日記に書けとかなんとかって・・・・
0600デフォルトの名無しさん
2009/05/12(火) 16:32:31ひょっとしてコード内に固定値でアドレスを書こうとしているのか?
0601デフォルトの名無しさん
2009/05/12(火) 16:44:48「生成中」、または「フーカスになったとき」だな。
vbだと共有変数にいちいち保存しなくても、プロシージャ(ダイアログやコントロール)の
名前だけで、その「擬似ハンドル」みたいなものは自動的に値は持ってるからね。
例えば、
Form2.Label1
って書けば別に、Form2のほうで共有変数(Public)に代入なんかしてなくてもいいわけで。
0602デフォルトの名無しさん
2009/05/12(火) 16:47:34当然にパラメータで渡せばいいんだろ?
0603デフォルトの名無しさん
2009/05/12(火) 16:48:40他の人が質問できない雰囲気になるぞ
0604デフォルトの名無しさん
2009/05/12(火) 16:49:300605デフォルトの名無しさん
2009/05/12(火) 16:51:28だからVBは嫌われるんだよ
0606デフォルトの名無しさん
2009/05/12(火) 16:53:13VBのForm2.Label1をどうやったらいい?
たったこれだけか
0607デフォルトの名無しさん
2009/05/12(火) 16:55:03!!
やっぱりVB厨じゃんww
0608デフォルトの名無しさん
2009/05/12(火) 17:08:290609デフォルトの名無しさん
2009/05/12(火) 18:43:17Form2.Label1みたいにメンバ変数にするのもありだな
0610デフォルトの名無しさん
2009/05/12(火) 18:48:570611デフォルトの名無しさん
2009/05/12(火) 22:30:11Oracleにのっているやり方が2002、2003等でのマニュアルなので開発環境の構築に手間取っています
誰かやりかたのわかるかたいますでしょうか?
ぐぐっても出ないので質問しました
0612デフォルトの名無しさん
2009/05/12(火) 22:44:06わかるけど全部教ええる気にはならん
どこまでできてるんだ?
0613611
2009/05/12(火) 22:54:20実行ファイルのパス追加
インクルードの追加はしました
その後の.pcを追加した時に出るなんたら規則の設定からマニュアルと違う風になっており止まっています
0614デフォルトの名無しさん
2009/05/12(火) 22:58:06すまん。.pcファイルはいつもコマンドプロンプトで
proc hoge.pc
とかやって.cにプリコンパイルしてからVCでコンパイルしてたw
つーわけで、他の人にまかす。
0616デフォルトの名無しさん
2009/05/12(火) 23:57:290617デフォルトの名無しさん
2009/05/13(水) 11:41:41俺はしがない業務系プログラマなのでそんなロジック組んだこと無い。
0618デフォルトの名無しさん
2009/05/13(水) 12:04:42たぶんVBの環境の話だから続きはVBスレでやってくれ
0619デフォルトの名無しさん
2009/05/13(水) 15:11:100620デフォルトの名無しさん
2009/05/14(木) 01:09:21、やったことのないものが「こうすればできるはざずだ。」って権威を傘に
他人に受け売りで言うことを、同じレベルで考える人が多いけどさ、それが、
「未熟」っていうことなんだ。
0621デフォルトの名無しさん
2009/05/14(木) 01:40:30本人は最初から言ってるわけだから、どの程度のレベルか。
↓「引き出した」んじゃなく「忘れてた」んだろ。スレタイと同時に。
>土曜から日曜にかけて1日かかって、スタティックコントロールに文字列出すことに
>成功した、ハンドル使わない方法でやっとだ。
455 :デフォルトの名無しさん:2009/05/12(火) 00:07:15
土曜から日曜にかけて1日かかって、スタティックコントロールに文字列出すことに
成功した、ハンドル使わない方法でやっとだ。
そこでだ、ものは相談だ。ハンドル使うSendMessage()とか、SetWindowText()
のやりかた教えろや。
0622デフォルトの名無しさん
2009/05/14(木) 01:44:33おまえの考えなら
★Visual C++を教えるスレ★ Part01
って別のスレを建てるか、又は、次からスレタイを
★初心者にVisual C++を教えるスレ★ Part33
↓
★Visual C++を教えるスレ★ Part34
にするか、どっちかだわな。
0623デフォルトの名無しさん
2009/05/14(木) 05:22:23単なる初心者相手ならいいが、自己防衛の言い訳だけが多い奴の相手は時間の無駄だな。
0624デフォルトの名無しさん
2009/05/14(木) 09:07:28組んでるのは誰なんだと
尿簿の経歴はどうでもよくて組んでるやつの経歴を
言えっつーのw
0625デフォルトの名無しさん
2009/05/14(木) 14:23:110626デフォルトの名無しさん
2009/05/14(木) 14:25:420627625
2009/05/14(木) 14:32:280628デフォルトの名無しさん
2009/05/14(木) 23:36:070629デフォルトの名無しさん
2009/05/15(金) 13:06:480630デフォルトの名無しさん
2009/05/15(金) 16:34:40お前のつきあった女はみんなマンコがくせえビッチだったのか。
かわいそうすぎるww
0631デフォルトの名無しさん
2009/05/17(日) 19:08:36既存のチェックボックス、ボタン、ラジオボタンを自分の作成したイメージ(画像)に変更したいと思います。
チェックボックスやボタンのイメージを自作して、表示させる方法を教えていただけないでしょうか?
0632デフォルトの名無しさん
2009/05/17(日) 19:11:050634デフォルトの名無しさん
2009/05/19(火) 15:43:360635デフォルトの名無しさん
2009/05/19(火) 16:05:030636デフォルトの名無しさん
2009/05/19(火) 21:13:110637デフォルトの名無しさん
2009/05/19(火) 21:26:570638デフォルトの名無しさん
2009/05/19(火) 22:03:40どうしたら表示出来るんでしょうか?
#include <stdio.h>
#include <math.h>
main()
{
float a, b, c, d;
printf("上底の長さを入力して下さい:");
scanf("%f", &a );
printf("下底の長さを入力して下さい:");
scanf("%f", &b );
printf("高さを入力して下さい:");
scanf("%f", &c );
d = ( (a+b)*c/2 );
printf("上底:%d、下底:%d、高さ:%dの台形の面積は、%fです。\n", a, b, c, d );
}
0639デフォルトの名無しさん
2009/05/19(火) 22:15:030640デフォルトの名無しさん
2009/05/19(火) 22:42:38ありがとうございます。
すごく簡単な事だったんですね・・・半日掛かりきりだったのにorz
0641デフォルトの名無しさん
2009/05/20(水) 00:43:48VC++2008を使っています。
今、エディタの背景色やフォント色を変更しているのですが
ソリューションエクスプローラの背景色やフォント色を変更する場所が見つかりません。
どこから設定するのでしょうか?
0642デフォルトの名無しさん
2009/05/20(水) 21:58:28成功、失敗、エラーなど一行も表示されません
ソースをコピーして新しいファイルに貼り付けたら表示されるようになりましたが・・どこを触ってしまったんでしょうか?
0643デフォルトの名無しさん
2009/05/20(水) 22:19:50はビルド時のメッセージ。
ソースに変更がない限り自動的にビルドされないから必ず出る必要はない。
0644デフォルトの名無しさん
2009/05/20(水) 22:20:27配列[2]の時は1,2
配列[5]の時は1,2,3,4,5
と入りきらない分は単純に切り捨てたいときはどんな風に記述するのがいいでしょうか?
0645デフォルトの名無しさん
2009/05/20(水) 22:31:48俺には全部数値に見えるが。
0646デフォルトの名無しさん
2009/05/20(水) 22:43:22すごい意味不明に見える。
コンパイル時に決定するものとしないものの違いとか分かってます?
0647デフォルトの名無しさん
2009/05/21(木) 19:19:32読込みー>+計算ー>””化 読込みー>+計算ー>””化 読込みー>+計算ー>””化
システムメモリーは、細かい断片化になってしまうのでしょうか?
0648デフォルトの名無しさん
2009/05/21(木) 20:56:12ネット上にあるhtmlファイルを取得して保存とか文字列操作して表示とか
したいのですが、どういうクラスや関数を使ったらいいですか?
イメージ的には2ch専ブラみたいに特定のウェブページを取得して
テキストボックスとかに表示したいです。
0649デフォルトの名無しさん
2009/05/21(木) 20:59:070650648
2009/05/21(木) 21:35:23レスありがとうございます。
wininetについて今ネットで調べてみたのですがこれってwin32APIですよね。
win32APIはプログラミングが面倒だという印象を持っているんですが
C++でもwebページの取得はwininetが常套手段なのでしょうか?
VisualC++で使える便利なクラスみたいのはないのでしょうか?
わがまま言ってスイマセン。
0651デフォルトの名無しさん
2009/05/21(木) 21:39:53便利なMFCのクラスはあるけど、ExpressEditionじゃ使えない。
それに、Windowsプログラミングの基本はやはりWin32APIだから、それが面倒というなら
VBなりC#なり、C++以外でプログラミングすればよろし。
0652デフォルトの名無しさん
2009/05/21(木) 22:39:22boost::asioとかでいいんじゃないの?
0653デフォルトの名無しさん
2009/05/21(木) 23:39:33特に難しい処理はないだろ
やっつけで用が足りる
0654デフォルトの名無しさん
2009/05/22(金) 00:13:42WebClientとかSystem.Net名前空間の中あされ。
CLRアプリならC#スレでそれとなく聞くのがお勧め。
0655648
2009/05/22(金) 00:55:27皆さんありがとうございました。
WebClientよさそうですね。あとWebRequestもいけるかな・・・
とりあえずこの辺りから勉強してみる事にします。
とは言っても正直VCもC++も全く解らなくてまず何から
手をつけていいのか混乱している状態です。
0656デフォルトの名無しさん
2009/05/23(土) 18:20:39をインストールしたのですが、
コマンドラインからコンパイルできません。
clと入力しても
'cl' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と言われてしまいます。
どうすればコマンドラインからコンパイル出来るようになるでしょうか?
0657デフォルトの名無しさん
2009/05/23(土) 18:24:16http://msdn.microsoft.com/ja-jp/library/ms235639(VS.80).aspx
0658デフォルトの名無しさん
2009/05/23(土) 18:25:552005→2008に読み替え
0659デフォルトの名無しさん
2009/05/23(土) 18:31:29普通のコマンドプロンプトからは出来ないのでしょうか?
g++と同じ感覚で使えると便利だと思っているのですが。
0660デフォルトの名無しさん
2009/05/23(土) 18:44:180661デフォルトの名無しさん
2009/05/23(土) 18:58:200662デフォルトの名無しさん
2009/05/23(土) 19:01:110663デフォルトの名無しさん
2009/05/23(土) 19:07:230664デフォルトの名無しさん
2009/05/23(土) 19:34:40確かにいくらでも出てきましたが
実行しても何もおこりません。
0665デフォルトの名無しさん
2009/05/23(土) 20:38:590666デフォルトの名無しさん
2009/05/23(土) 20:51:42今度OSを再起動できるようになったら試してみます。
ありがとうございます。
0667デフォルトの名無しさん
2009/05/23(土) 21:12:09が、アクセサリのほうのcmdからはclは使えなんだ
0668デフォルトの名無しさん
2009/05/23(土) 21:23:52ちゃんとCALLしたのか?
0669デフォルトの名無しさん
2009/05/23(土) 21:25:55「そのコマンドプロンプトで」って >>665 に書いてあるだろ?
アクセサリのコマンドプロンプトで VCVARS32 を実行しなきゃ、アクセサリのコマンドプロンプトでは使えんよ。
0670デフォルトの名無しさん
2009/05/23(土) 21:43:390671667
2009/05/23(土) 22:23:520672666
2009/05/23(土) 23:23:52ありがとうございました。
0673デフォルトの名無しさん
2009/05/24(日) 01:55:55てか、VC6の頃は自動で登録してくれたのになぁ
0674デフォルトの名無しさん
2009/05/24(日) 10:51:09IDEとして、Visual C++を使用したいんですが、
どうもうまくいかない状況です。。
1>Project : error PRJ0019: ツールはエラー コードを返しました : "メイクファイル プロジェクト動作を実行しています。"
http://sourceforge.jp/projects/dxlibp/wiki/チュートリアル
のやり方で、Makefileも作成しています。それに加え、
インクルードの検索パスに
C:\pspsdk\psp\sdk\include
を設定し、
環境変数のPATHに
C:\pspsdk\bin
としています。
ほかに何か不備があるのでしょうか?
よろしくお願いします。
0675デフォルトの名無しさん
2009/05/24(日) 11:06:36ここはそのサイトと関係ないだろ
0676デフォルトの名無しさん
2009/05/24(日) 11:10:21頭がパーだからに決まってるだろw
0677デフォルトの名無しさん
2009/05/24(日) 12:53:20すみませんでした。。
そちらのお世話になってきます。
0678デフォルトの名無しさん
2009/05/24(日) 14:20:46それでコマンドライン引き数をプログラムに渡したいのですが、
スケルトンのままでビルドしてコマンドラインから、
ttt>hogehoge.exe test1(ret)
と実行すると、test1というファイルをさがしに行ってしまい、
ファイルが見つからないというメッセージを出して終了してしまいます。
普通にコマンドラインを渡すにはどこをいじればいいのでしょうか?
0679デフォルトの名無しさん
2009/05/24(日) 14:28:30http://msdn.microsoft.com/ja-jp/library/bss6bxss(VS.80).aspx
0680デフォルトの名無しさん
2009/05/24(日) 14:57:25アドバイスは遠慮する。
0681デフォルトの名無しさん
2009/05/24(日) 15:33:15アンダーバーのついたargとかいうもんがあった希ガス
0682デフォルトの名無しさん
2009/05/24(日) 16:36:13初心者過ぎる質問ですがよろしくお願いします。
0683デフォルトの名無しさん
2009/05/24(日) 16:52:240684デフォルトの名無しさん
2009/05/24(日) 16:56:49表示メニューか右クリックメニュー
0685デフォルトの名無しさん
2009/05/24(日) 17:07:54インターネットオプションで「WEBページのフォントサイズを使用しない」を選択すればよいことがわかりました。
ありがとうございます。
>>684
オンラインのページだと、文字のサイズを変えても、ページ内の文字の大きさが変わりませんでした。
0686デフォルトの名無しさん
2009/05/24(日) 23:09:54CCommandLineInfoでぐぐったら何とかなりました。Thxです。
>>681
それ以前にまったくアプリが立ち上がらなかったので。
0687デフォルトの名無しさん
2009/05/24(日) 23:23:45自分もいつか作ってみたいもんだね
0688デフォルトの名無しさん
2009/05/24(日) 23:50:48ドキュメント/ビュー アーキテクチャを無理に使う必要はないんだぞ。:-)
0689デフォルトの名無しさん
2009/05/25(月) 00:59:35ドキュメントビューアーキテクチャって何を作って欲しいのか不明だよね
0690デフォルトの名無しさん
2009/05/25(月) 11:16:32それは君の経験不足だと思うが。
0691デフォルトの名無しさん
2009/05/25(月) 18:38:21main関数を含む単独のcppプログラムを2つ並行して使っているのですが、
それぞれ1つずつのVC++ウィンドウを開いて、それぞれにソリューションを表示してコンパイル(ビルド?デバッグ?)しています。
この2つを1つのウィンドウで開き、タブを切り替えてそれぞれ個別にコンパイルできるような構成にはできないでしょうか?
1つのソリューションに2つのプロジェクトを作って1つずつソースファイルを入れてCtrl+F5を押しても片方のソースだけが実行されてしまって悩んでいます。
0692デフォルトの名無しさん
2009/05/25(月) 19:19:32どなたか保存場所の指定の仕方わかります?
0693デフォルトの名無しさん
2009/05/25(月) 19:26:33後者の状況で、ソリューションエクスプローラ上のプロジェクトのアイコンを右クリック、
メニューの中の「スタートアッププロジェクトに設定」を選ぶと、
Ctrl+F5などを押したときに起動するのがそっちになる。
あと、ソリューションのプロパティで両方同時になどといった設定もできる。
頻繁に切り替えることを考えた作りに見えないし、
望みどおりになるのは難しいと思う。
本質的に別のなら、最初みたいに別々のソリューションにするほうがいいと思う。
0694デフォルトの名無しさん
2009/05/25(月) 22:16:43配列はとても扱いやすくいので何もかも配列で処理させれば問題なく出来るんですが、
こういう場合はどうすればいいんでしょうか
無理してクラスは使わなくていいんでしょうか?それとも僕はC++に向いてないんでしょうか?
0695デフォルトの名無しさん
2009/05/25(月) 22:52:06その配列に処理するための関数がくっついていれば便利だと思うことはないかね?
0696デフォルトの名無しさん
2009/05/25(月) 22:58:05たくさん作ればそのうちわかる
0697694
2009/05/25(月) 23:03:34>>695
説明では何度も読んでいるんですが、どうしても使いこなせないんですよね。多分理解できてないんでしょう・・
計算はmain関数、データは配列に格納って固定概念がいつまでも離れないんです
>>696
ありがとうございます。とりあえずあまり考えずに何か色々作ってみます。
その内なにかひらめくかもしれませんね
0698デフォルトの名無しさん
2009/05/25(月) 23:09:24本だけの知識で修得できるものじゃない、体で覚える方が大切。
0699デフォルトの名無しさん
2009/05/26(火) 02:48:19大きいのと小さいのは判るんだけど、それを使って何かやろうとすると
ウゼーと思ってオブジェクト化崩しちゃう
最後まで設計するのが面倒でコーディングに走っちゃうのが
駄目なんだろうな
0700デフォルトの名無しさん
2009/05/26(火) 09:26:350701デフォルトの名無しさん
2009/05/26(火) 13:04:20開発環境はVisual C++2005です。
静止画を連続表示してGIFアニメのように見せるソフトを考えています。
今、連続画像AとBがあって、同時に再生スタートして、
ずれないように毎画像(毎フレーム)ごとにお互いの同期を取りながら再生させるには、
どのようにすればよいでしょうか?
よろしくお願いします。
0702デフォルトの名無しさん
2009/05/26(火) 15:18:17すれ違いではあるまいか。
答えは、同期なんかとらなくても、同じスレッドで表示すればいいだけだろ。
0703デフォルトの名無しさん
2009/05/26(火) 19:33:33ギャハハハw
ダッセーw
以下、>>701の発言を正当化する後付け設定の嵐どぞ↓w
0704デフォルトの名無しさん
2009/05/26(火) 19:46:28[二 ] __ 〔/ /
| |/,ー-、ヽ /
/ / _,,| | ./
レ1 | / o └、 ∠/ ∧_∧
.|__| ヽ_/^ ,/ ( ´∀`) ))
__ / /つ( ̄`ヽO_ノ⌒ヽ
[二二_ ] / ノ ) \ ))
// {.. (__丿\ヽ :: ノ:::: )
/ ∠__  ̄フ.. 丿 ,:' ))
∠___ / / (( (___,,.;:-−''"´``'‐'
_ / / \
/ o ヽ/ / /
ヽ__ / \
0705デフォルトの名無しさん
2009/05/26(火) 21:59:51ダイアログにファイルをドロップした時に、
ダイアログ上に設置されたリストコントロール上にドロップされたのと、
それ以外のダイアログ上の場所にドロップされたのとで別の処理をしたいのですが、
どう判別したらいいのかわかりません。
教えてください。
よろしくお願いします。
0706デフォルトの名無しさん
2009/05/26(火) 22:12:35リストコントロールにファイルをドロップした時→リストコントロールにWM_DROPFILESがポストされる。
むろん、ダイアログもリストコントロールも Accept Files を True にしておく。
[別解]
ダイアログだけ Accept Files を True にしておき、ドロップされた時のマウス位置で判別する。
0707デフォルトの名無しさん
2009/05/26(火) 22:19:41こういう流れの図ってなんていうんでしたっけ?
0708デフォルトの名無しさん
2009/05/26(火) 22:21:030709デフォルトの名無しさん
2009/05/26(火) 22:22:28 ̄ヽ、 _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
`'ー '´ ,. -- 、
○ ,' , '⌒,ノ
O .__ i/ ´
o ,,.. '"´ ̄ (__)r'ヽ と
。 / ` ´`ヽ 思
,' ,、 ─- ', う
! 、 ,.i- i ハi,;-ァ!、 i i 神
i i i !,-;!、 ':,_rハiノ| .| .綺
レV!. i.ハ_r! 、 "" i |. | で
i.八" _ ノ |. | あ
l.|ゝ.>,,、__,,.. イノ レハ | っ
レ| l | ,.イ-ーニノト.ー 、i | た
.| l ,.ヘ、ニ_ノノ `ヽ!
| / //不\ヽ `ヽ
0710デフォルトの名無しさん
2009/05/26(火) 22:34:16回答ありがとうございます。
>ダイアログにファイルをドロップした時→ダイアログにWM_DROPFILESがポストされる。
こちらはOKですが、
>リストコントロールにファイルをドロップした時→リストコントロールにWM_DROPFILESがポストされる。
こちらの場合の処理手順がわからないのでマウス位置判別の方法で試してみます。
どうもありがとうございました。
0711デフォルトの名無しさん
2009/05/26(火) 22:50:52CListCtrl の派生クラスを作成して当該リストコントロールに結びつけ、
その派生クラスでWM_DROPFILESメッセージを処理する。
0712710
2009/05/26(火) 23:13:35試行錯誤しながら試したらうまくいきました。
ありがとうございました。
0713デフォルトの名無しさん
2009/05/27(水) 23:39:01「何かキーを入力してください」の画面も出ません
ウォッチ式のところも文字がグレーになってしまいます
ループのところでハマっているかとも思いましたが、そういうわけでもありませんでした
これはどういう状態なのでしょうか?
0714デフォルトの名無しさん
2009/05/28(木) 10:22:580715デフォルトの名無しさん
2009/05/28(木) 12:26:060716デフォルトの名無しさん
2009/05/28(木) 12:35:47オブジェクト残ってて実は終わってないとか
0717デフォルトの名無しさん
2009/05/28(木) 17:26:40WindowsSDKのプログラムを打ちこんだのですがVisual C++ 2008 EEではビルド出来なくて困っています
Visual C++ 2008 EEのアプリケーション開発入門用のサイトで
お勧めなのはありませんか?
0718デフォルトの名無しさん
2009/05/28(木) 18:19:08ユニコード文字セットのせいじゃないの?
0719デフォルトの名無しさん
2009/05/28(木) 18:32:09そしてビルドしたところ以下のようなエラーメッセージが出ました
sample01.cpp(38) : error C2664: 'CreateWindowExW' : 2 番目の引数を 'char [25]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
この他に二つエラーが出ましたが、
そちらは型変更のキャストを入れています
0721デフォルトの名無しさん
2009/05/28(木) 18:42:55まさに>>718
マルチバイトとUNICODEが混在してる。
プロジェクトのプロパティと使用してる文字セットを見直して。
0722デフォルトの名無しさん
2009/05/28(木) 18:57:36助かりました
Unicodeからマルチバイトに変更したら問題なく通りました
半日悩んでたので、ようやくすっきり出来ましたw
0723デフォルトの名無しさん
2009/05/29(金) 02:03:34mFCこそしきょくの現代プログラミングだとおもうんだお(^ω^)
0724デフォルトの名無しさん
2009/05/29(金) 02:17:42あー、わかる
ホント仕事ないよなぁ・・・
っていうか別にこれに限らずプログラム組む仕事ならちょっとなれれば
なんでもできるからどこへでもまわしてくれって思うけどね
0725デフォルトの名無しさん
2009/05/29(金) 08:04:27というレスに対してのレスとしてそれは正しいのか?
仕事がないおじゃなくてMFCの求人がないおだぞ
的外れにもほどがあるお
0726デフォルトの名無しさん
2009/05/29(金) 08:17:32ムスレの話題じゃないなw
0727デフォルトの名無しさん
2009/05/29(金) 16:36:558FFFFFFFU と 1U では
_BitScanForwardした結果を返すスピードは
変わらないのでしょうか?
上位のほうにあろうと下位のほうにあろうと関係ないのでしょうか。
0728デフォルトの名無しさん
2009/05/29(金) 16:52:550729デフォルトの名無しさん
2009/05/29(金) 16:53:31http://homepage1.nifty.com/herumi/diary/0811.html
のページによると_BitScanForwardはアセンブラレベルでは
bsfの1命令に落ちるみたいなので、変わらないんじゃないの
確実な答えがしりたいなら人に聞くんじゃなくて、Intelのサイトとかで
対象CPUの命令のスペックを調べること
0730デフォルトの名無しさん
2009/05/29(金) 19:51:56「関数 'erfc' は定義されていません。」と出てしまいました。
erfc()はmath.hのエラー関数の関数で、
ぐぐったところ、標準ライブラリ(拡張)と出てきました。
どうすればいいでしょうか。お願いします。
0731デフォルトの名無しさん
2009/05/29(金) 20:20:17先生に聞いてみな
0732デフォルトの名無しさん
2009/05/29(金) 20:44:58ないのはしょうがねぇじゃんw
でもそれ以外不可ってのが俺的にネックだなぁ・・・
って感じでレス書いてる内に俺の都合レスになったw
0733デフォルトの名無しさん
2009/05/29(金) 20:58:571命令で収まりそうですね。
ビットを探すためにループ処理はしていませんね。
ありがとうございました。
0734デフォルトの名無しさん
2009/05/29(金) 22:38:59畑違いだとめっちゃしんどいぞ。
0735デフォルトの名無しさん
2009/05/29(金) 22:40:12っていっても俺はじめゲーPGだしw
0736デフォルトの名無しさん
2009/05/30(土) 17:33:07関数に 2 個の引数を指定できません。
と出るんですが、どうすればいいでしょうか
0737デフォルトの名無しさん
2009/05/30(土) 18:00:510738デフォルトの名無しさん
2009/05/30(土) 18:01:23具体的にどうやったのか?
0739デフォルトの名無しさん
2009/05/30(土) 18:49:23分かりました、ありがとうございます
いままで関数のほうばかり見て、
関数プロトタイプの括弧の中を記述し忘れていました
0740デフォルトの名無しさん
2009/05/30(土) 20:01:17include ファイルを開けません。'iostream.h': No such file or directory
って出てコンパイル通らんという状態なんだが
Cygnusでは実行できたからソースコードが悪いわけではないと思うんだが・・・
それとも新規プロジェクトはWin32コンソールアプリケーションじゃあ駄目だったのか?
0741デフォルトの名無しさん
2009/05/30(土) 20:13:080742740
2009/05/30(土) 20:16:25なんか新しい書式だと.hを付けないから古いほうだとエラーになるとかなんとか…?
でも俺らの参照する文献(ネット上も含めて)には旧バージョンもまだまだあるだろ…迷惑な
でも#include <iomanip.h>のほうはエラー吐き続けるんだが・・・
0743デフォルトの名無しさん
2009/05/30(土) 20:32:560744デフォルトの名無しさん
2009/05/30(土) 20:48:24大分、MFCにもなれ、自作アプリを3個くらい手の込んだのを作りました。ある程度のアプリなら
ネットやら書籍で検索しながら作れるような気はしてます。
書籍もオークションやらブックオフで色々あさって技術評論社とかAsCIIのを
12冊くらい持ってます。で、色々お勧め本をみるとハーバートシルトのMFC6.0という分厚いやつがお勧めらしいですが
本屋でぱっと見た限りほとんど知ってる事だと感じました。実際読んでないんでわかりませんが、
それでも含蓄あるから買ったほうがいいとか
そういうことありますか?
0745デフォルトの名無しさん
2009/05/30(土) 21:00:59もっとも、趣味範囲でのプログラミングなら、参考書に載っていない部分を、工夫しながら作っていくのが面白いのだけどな。
0746デフォルトの名無しさん
2009/05/30(土) 21:13:51そんなの全部内容比較しなきゃ誰にもわからんだろ
0747デフォルトの名無しさん
2009/05/31(日) 01:45:45中級向けの本なんて作るの大変なうえに売れないし、作る人いないんじゃないかな。
雑誌でちょっとずつ高度な話を連載して書籍化ってパターンがあるけど雑誌が売れなくて消えてく時代だし。
0748デフォルトの名無しさん
2009/06/03(水) 00:07:40#include <string>
#include <iostream>
using namespace std;
class User
{
private:
public:
User()
{
cout << "デフォコン" << endl;
}
};
int main()
{
User x;
User y();
return 0;
}
User y();でデフォルトコンストラクタが呼ばれないのは何でですか?
0749デフォルトの名無しさん
2009/06/03(水) 00:16:32User型の戻り値を持つ関数yのプロトタイプ宣言とみなされてるとか
0750デフォルトの名無しさん
2009/06/03(水) 00:25:40ありがとうございます
cout << typeid(x).name() << endl;
cout << typeid(y).name() << endl;
してみたら、さらに納得がいきました。
てか、よんでる入門書にそういう記述があったので・・・
本の正誤表に出てるかもしれないですね。
ありがとうございました
0751デフォルトの名無しさん
2009/06/03(水) 00:40:11てか、このパターンはぱっと見関数宣言と変数定義の区別が
つかないような気がするのでコンパイラによっては(VCでもバージョンによっては)
動作が異なるのかも知れない
C++相談室スレとかにいけば、どう解釈するのか正しいのか教えてもらえるかも
0752デフォルトの名無しさん
2009/06/03(水) 01:10:44作り始めてみました。
エディットコントロールの使い方について教えてください。
エディットコントロールの使い方として、
・変数の追加で、カテゴリControlの変数を追加する。
→GetWindowText()で内容を取得する。
・同様にカテゴリValueの変数を追加する。
→UpdateData()で変数を更新して内容を取得する。
・変数を追加しない。
→GetDlgItem()とGetWindowText()を使って内容を取得する。
このようにいくつか方法があると思っています。
それぞれの方法の長所や短所、使い分ける時の基準、みたいなものはありますか?
0753750
2009/06/03(水) 01:18:26こんなの見つけました。
コンパイラによっては警告を出してくれんですね
ちなみに私が使ってたのはVC++ 2008です
ありがとうござました
いろいろ氷解しました
0754デフォルトの名無しさん
2009/06/03(水) 01:26:20リンク先にもあるようにVisual C++は警告を出すコンパイラなんだけど気付かなかった?
そうなら、警告もエラーと同じくらいよく目を通したほうがいいよ。
0755デフォルトの名無しさん
2009/06/03(水) 06:18:35数値の場合はDDX DDVが便利。
ただ複雑なことはできないのとUpdateDataが面倒
文字の場合は直にGetWindowTextが手っ取り早い
毎回GetDlgItemが面倒ならメンバ変数にしておく。
あとCEditのメンバ関数と使い分け
0756デフォルトの名無しさん
2009/06/03(水) 06:21:250757デフォルトの名無しさん
2009/06/03(水) 19:24:40簡単なアプリを作りながらVisualC++の使い方を覚える本をはじめたのですが
最初の方で
String^ msg = now.ToString();
という記述が出てきました。
この^は見た覚えがないのですがなんか演算子なのですか?
今この書き込みかいててちょっと思いついたんですけど
もしかしてクラス名が
String^
ってことはないですよね?
0758デフォルトの名無しさん
2009/06/03(水) 19:39:370759757
2009/06/03(水) 19:41:40すいません。取り除いてコンパイルしてエラー文検索で見つけました。
http://msdn.microsoft.com/ja-jp/library/ms235261(VS.80).aspx
ですね。
0760デフォルトの名無しさん
2009/06/03(水) 19:51:480761デフォルトの名無しさん
2009/06/03(水) 20:08:170762757
2009/06/03(水) 20:51:42C++を選んだのはオブジェクト指向でネイティブアプリが作りたかったんですけど
CLIはネイティブじゃないんですよね。
C++でwindowsのネイティブアプリを作るとなるとVisual Studio 2008 Standard Editionあたりを買って
MFCで作るのですか?
そもそも見た目をグラフィカルに配置して、モデル部分やボタンなどのアクションをC++で書くというのを
イメージしてたのですが、製品版買えば、MFCアプリをフォームエディタでのようにペタペタはって
作れるのですか?
アマゾンでC++ MFCを検索すると2003年から新刊出てないようなのでMFCってもういまさらって感じですか?
何かをプラスでインストールしないと動かないアプリっていうのがいやなんですよね。
いろいろ聞いてすいません・・
0763757
2009/06/03(水) 21:12:16いろいろ見てみたけど
勉強するならWin32APIですかね?
0764デフォルトの名無しさん
2009/06/03(水) 21:13:51俺的考えはビスタ以降は標準で.NETがインストールされてるからそこまで嫌う必要はないと思ってる
0765デフォルトの名無しさん
2009/06/03(水) 21:25:55例えばゲーム作りたいならC++とネイティブとDX、
ブラウザとかのツール系なら.NETのほうが開発しやすいし、
win系OS全部に対応させたいならWin32APIのみで開発するし
目的によって勉強する言語は変わってくるんだがなー
0766デフォルトの名無しさん
2009/06/03(水) 22:25:240767デフォルトの名無しさん
2009/06/03(水) 23:06:100768デフォルトの名無しさん
2009/06/03(水) 23:41:00void aaa()
{
break
;}
int main(){
for(int i=0;i++;i>5)
{
aaa()
;}
return 0;}
のような感じです
0769デフォルトの名無しさん
2009/06/03(水) 23:44:040770デフォルトの名無しさん
2009/06/03(水) 23:52:55ありがとうございます
0771デフォルトの名無しさん
2009/06/04(木) 00:39:32何か設定など必要なのでしょうか?
error C2065: 'CString' : 定義されていない識別子です。
0772デフォルトの名無しさん
2009/06/04(木) 00:48:17#include <atlstr.h>
0773デフォルトの名無しさん
2009/06/04(木) 01:01:37VC++2005eeじゃね?
有料版じゃないとMFCは使えないよ
0775デフォルトの名無しさん
2009/06/04(木) 07:11:090776デフォルトの名無しさん
2009/06/04(木) 07:28:37#include <string>してstd::string使うとか。
C++/CLIならSystem::Stringもあるけどまあ別物か
0777デフォルトの名無しさん
2009/06/04(木) 08:11:08C/C++スレへ行け
0778757
2009/06/04(木) 11:55:50C++と.NETだとC++のランタイムがスタティックリンクができないので
.NETが入ってたとしてもC++のランタイムのインストールが必要って聞いたんですけど
そんなことないですか?
プロジェクトのプロパティでランタイムライブラリを
マルチスレッド デバッグ (/MTd)
に変えてリビルドしたら
コマンド ライン error D8016 : コマンド ライン オプション '/MTd' と '/clr:pure' は同時に指定できません。
と言われました。
マルチスレッド デバッグ (/MT)でも同じ感じです。
>>765
作りたいのは「ブラウザとかのツール系」です。
.NETなのかな〜
まあ、両方ザックリ本読んで考えて見ます。
0779デフォルトの名無しさん
2009/06/04(木) 13:44:07main関数の中でとりあえず作ってみたのですが、
これをそのままクラスにするいい方法はありますか?
コード自体はたいした量ではないので、作り直すのは簡単なのですが
後学のためにも教えてください。
それとも戦闘画面をメインにし、フィールドを歩くときは別フォームを呼び出したりするほうが良いでしょうか
0780デフォルトの名無しさん
2009/06/04(木) 14:11:490781デフォルトの名無しさん
2009/06/04(木) 14:29:42最適化オプションが、
・プログラムサイズ
・実行速度
の時は問題ないのですが、
・無効
・最大限の最適化
・カスタム
にして、リビルドを行うと、Regsvr32で以下のエラーが発生します。
「LoadLibrary("○○.dll")に失敗しました。指定されたモジュールが見つかりません。」
原因が全くわかりません。
どなたか原因をご存知の方教えて下さい。
0782デフォルトの名無しさん
2009/06/04(木) 14:41:48うーん、残念です
ありがとうございました〜
0783デフォルトの名無しさん
2009/06/04(木) 15:18:13Dependency Walker などを使って依存しているライブラリに違いが
ないか調べてみるとか
0784デフォルトの名無しさん
2009/06/04(木) 16:12:100785781
2009/06/04(木) 18:13:26素晴らしいToolの紹介をありがとうございました。
最適化無効でビルドされたDLLと最適化実行速度でビルドされたDLLを
調べてみたところ、Regsvr32が失敗する方(最適化無効)で開けないDLLがあるというようなエラーが出ました。
そのDLLをプロジェクトに配置してみたら、ビルド後イベントのRegsvr32が成功し、エラーはなくなりました。
リビルドではエラーはでなくなったのですが、コマンドでRegsvr32を実行すると、
やはり同様のエラーが出て登録はできません。(リビルド時に登録されたDLLを登録解除もできません。)
0786781
2009/06/04(木) 18:15:00これは何がいけないのでしょうか…?
引き続き、ご存知の方教えてください。
0787デフォルトの名無しさん
2009/06/04(木) 18:55:51{
virtual ~Test1() = 0 {}
};
class Test2
{
virtual ~Test2() = 0 {}
};
class Test3 : virtual public Test1, virtual public Test2
{
virtual ~Test3() = 0 {}
};
これをコンパイルすると、
warning C4505: 'Test3::~Test3' : unreferenced local function has been removed
という警告が出るのですが、何が問題なんでしょうか?
0788デフォルトの名無しさん
2009/06/04(木) 18:58:19気になるのはDLLの配置場所かな
確かDLLのロードは
- 環境変数PATHで指定されたディレクトリ
- exeのある場所
- カレントディレクトル
などを参照したと思うけど、
VC上からビルドして実行すると、たまたまカレントディレクトリが上記の <project>
になるので、DLLは <project> 直下においても読み込んでくれる
しかし、コンソールから実行する場合、カレントディレクトリやPATHに注意しないと
うまくロードされないとか
0789781
2009/06/04(木) 19:25:52まさにその通りでした。配置場所をバイナリファイルと同じ場所に配置することで解消しました。
(一層上のプロジェクトファイルに配置してました。)
本当にありがとうございました。
ただ、最適化オプションの違いでエラーになったり、ならなかったりするのが
不明のままなのが気になりますが…。
0790デフォルトの名無しさん
2009/06/04(木) 19:44:00TextBoxを画面に表示したいんですが上手く作成できません。
プロジェクト作成でWIN32を選択してからテキストボックスを作りたいと思っています。
TextBox textBox1;
textBox1 = gcnew TextBox;
textBox1->Location = Point(100, 16);
Controls->Add(textBox1);
をソースに追加したのですが
error C2065: 'TextBox' : 定義されていない識別子です。
error C2146: 構文エラー : ';' が、識別子 'textBox1' の前に必要です。
error C2065: 'textBox1' : 定義されていない識別子です。
error C2065: 'gcnew' : 定義されていない識別子です。
error C2146: 構文エラー : ';' が、識別子 'TextBox' の前に必要です。
error C2227: '->Location' : 左側がクラス、構造体、共用体、ジェネリック型へのポインタではありません。
型は ''unknown-type'' です。
error C3861: 'Point': 識別子が見つかりませんでした
error C2065: 'Controls' : 定義されていない識別子です。
error C2227: '->Add' : 左側がクラス、構造体、共用体、ジェネリック型へのポインタではありません。
型は ''unknown-type'' です。
というコンパイルエラーが出ます。
テキストボックスはフォームでないと作成できないのでしょうか?
環境はMicrosoft Visual C++ 2005です。
0791デフォルトの名無しさん
2009/06/04(木) 21:02:55とにかく最初から最後まで間違ってる
0792デフォルトの名無しさん
2009/06/04(木) 21:32:30そのTextBoxは.NETのWindows Formsの一部。
CLRプロジェクト以外では使えない。
おとなしく.NET Frameworkの世界にいなさい。
0793デフォルトの名無しさん
2009/06/04(木) 23:08:25情報仕入れたとこに全部書いてるだろ
0794デフォルトの名無しさん
2009/06/04(木) 23:09:200795デフォルトの名無しさん
2009/06/04(木) 23:11:380796デフォルトの名無しさん
2009/06/04(木) 23:17:58変数の値が変更された時にブレークポイントがひっかかるようにする方法って
どのようにすればできるのでしょうか?
0797デフォルトの名無しさん
2009/06/04(木) 23:41:39[ブレークポイント] ダイアログ ボックスで、[データ] タブをクリックします。
[評価される式を入力してください] ボックスに変数名を入力ます。
[OK] をクリックしてブレークポイントを設定します。
0798デフォルトの名無しさん
2009/06/04(木) 23:53:07できました
ありがとうございます
0799デフォルトの名無しさん
2009/06/05(金) 15:50:52forのループ内にブレークポイントを置いてステップアウトしているんですが、
ループの回数が1000単位なので、1回ずつ変数の状態を見るのは手間がかかりすぎてしまいます。
例えば100回に1回だけ変数の状態を見たい場合、いい方法はないですか?
0800デフォルトの名無しさん
2009/06/05(金) 15:55:42>>796-797の応用
0801デフォルトの名無しさん
2009/06/05(金) 17:22:526と2008EEの違いのせいか、>>797の項目が見つからず、
いろいろいじってたらヒットカウントというぴったりの物がありました。
どうもでした。
0802デフォルトの名無しさん
2009/06/05(金) 18:21:37そのライブラリをつかって、C++で書いたアプリケーション(GUIに依存しない部分を記述したもの)myapp があります。
GUI はお手軽に C# で書きたいので、アプリケーション部分 myapp を dll 化して、それを C# から呼び出したいです。
そこで、myapp.dll をつくりたいのですが、いざビルドしてみると、myapp から c.lib の関数を参照している部分でリンカエラーになります。
c.lib をスタティックリンクさせた状態で myapp.dllをつくるにはどうすればよいでしょうか?
c.dll を作るのがめんどくさいので、myapp.dll が c.lib を内包してくれるとありがたいのですが。
0803デフォルトの名無しさん
2009/06/05(金) 20:22:080804デフォルトの名無しさん
2009/06/05(金) 22:17:43{
#include "[c.libの関数のヘッダ]"
}
でもリンクエラーが出る?
0805デフォルトの名無しさん
2009/06/05(金) 22:19:15c.lib をスタティックリンクするのって、もしかして
myapp.dll のソースで #pragma comment(lib, "c.lib")
だけではダメだったりしますか?
(もちろん c.lib のあるディレクトリにパスが通ってるのが前提として)
0806デフォルトの名無しさん
2009/06/05(金) 22:34:56そういえば、そのLIBとDLLでCRTの設定は同じ?
異なっているといるとよくリンカに怒られる。
0807デフォルトの名無しさん
2009/06/05(金) 23:58:52「マルチスレッドデバッグ (/MTd)」で統一してあります。
呼び出し規約が c.lib だとデフォルトの設定のままで __cdecll に、
mydllではDLLのお約束(?)に従って __stdcall になっているのが気になりますが、
これは問題があったとしても実行時にでるものであって、リンカエラーとは関係ないですよね...
書き忘れましたが、リンカエラーというのは
未解決のシンボル "int __stdcall AAA()" (?AAA@@BBB@@CCC@D" が関数 "public: int __thiscall EEE::FFF() (?FFF@EEE@@GGG) で参照されました
というのがつらつらでてくるものです。
myapp(C++)もともと exe として作っていて、そこから c.lib を参照するために、
cライブラリには既に extern "C" が記述してあります。
そしてその exe はきちんとビルドできて、実行できていました。
それでも念のため、ライブラリの #include をさらに extern "C" で囲んでみると、
なぜか Direct3D のヘッダ d3dx9math.h で大量の
"operator *" Cのリンゲージ関数はC++のクラス D3DXVECTOR2を戻せません
メッセージがでました。
もうすこし試してみます。
0808デフォルトの名無しさん
2009/06/06(土) 00:34:480809デフォルトの名無しさん
2009/06/06(土) 00:54:26いちいち書いたほうがいいよ。コンパイラオプションにて一括で指定するのではなく。
0810デフォルトの名無しさん
2009/06/06(土) 02:08:13普通にEditビューじゃタブ形式にならないんだけど、どうすればいいの?
0811デフォルトの名無しさん
2009/06/06(土) 03:03:482008のSP1限定だけど
0812807
2009/06/06(土) 11:32:31いままで呼び出し規約を気にした事はなかったので、良い勉強になりました。どうもありがとう。
0813デフォルトの名無しさん
2009/06/06(土) 12:15:310814デフォルトの名無しさん
2009/06/06(土) 12:30:33VS2008の雛形を元に、DialogBoxを追加しようとしているのですが上手く出来ません。
現在はファイルとヘルプの2個だけです。
やったこと
(1)WndProc()のmessage引数で、WM_CREATEが渡された場合に
DialogBox(hInst, MAKEINTRESOURCE(IDD_XXXBOX), hWnd, Xxx);
と書いた
(2)Xxxは以下のような関数です
INT_PTR CALLBACK Xxx(HWND, UINT, WPARAM, LPARAM);
コンパイルは出来たのですが、DialogBoxは増えませんでした。
どうかやり方を教えてください。
0815デフォルトの名無しさん
2009/06/06(土) 12:46:350816デフォルトの名無しさん
2009/06/06(土) 13:02:130817デフォルトの名無しさん
2009/06/06(土) 13:07:010818デフォルトの名無しさん
2009/06/06(土) 13:21:550819デフォルトの名無しさん
2009/06/06(土) 13:26:23・・・見当違いのことをやろうとしているのではあるまいか?
0820デフォルトの名無しさん
2009/06/06(土) 14:06:02ソース・ヘッダファイルにjpegtranプロジェクトに入ってるもの(transupp等)を足しても、
そっちで宣言されている関数だけ、
ライブラリを呼ぶ側のアプリでリンクエラー(外部参照未解決)が出てしまいます。
その他の標準でlibjpegプロジェクト内で既に宣言されていた関数は(使えるかはともかく)エラー出ません。
ソースはIJGのではなく、VC++のプロジェクトファイルも入ってる高速化版(ソフトウェア工房α)です。
nasmも入れてあり、コンパイル自体はエラー吐くことなく成功します。
ビルドの仕組みを理解できてなくてSource/Header Files に入れるだけでは駄目っぽい以外解らず助言頂けませんでしょうか。
ただし、lib自体の容量は大きくなります。
VC++のバージョンは6.0です。Win32アプリ開発。
0821デフォルトの名無しさん
2009/06/06(土) 14:36:50Vc6の開発者おおいね。。libjpegとかつかったなあ。VC6ってGDI+つかえるんだっけ。。
0822デフォルトの名無しさん
2009/06/06(土) 17:47:150823デフォルトの名無しさん
2009/06/06(土) 18:52:55使える。
0824820
2009/06/06(土) 19:40:49また、ソースコードはほぼIJGそのままで、IJG提供のソースを、調べたnmakeでのコンパイルしても
transupp等の組み込みが出来てないので、同様のエラーを吐きます。
日経ソフトウェアダウンロード からプロジェクトファイルを落として見たものの同様の状況で
jpegtranに使用される関数をライブラリに組み込む事が出来ませんでした。
ただSource/Header Filesに入れるだけではライブラリ作成時にエラーが出なくとも呼び出し側でリンクエラー同じです。
bccでlibjpegライブラリを使ってjpegtranの無劣化回転処理を組み込んでいる方が居たので、
可能な事は確かなのですが・・・。(そのライブラリはVC++からでは使用できず)
0825デフォルトの名無しさん
2009/06/06(土) 20:05:580826デフォルトの名無しさん
2009/06/06(土) 20:08:500827デフォルトの名無しさん
2009/06/07(日) 07:29:11std::cout<<message<<std::endl;
とかやってもどこにもメッセージが出力されません。どうすればよいですか?
0828デフォルトの名無しさん
2009/06/07(日) 08:01:24HWNDをMessageBox()に渡して、メッセージを出すことにしました。
ありがとうございました。
0829デフォルトの名無しさん
2009/06/07(日) 10:41:00コンストラクタとデストラクタをどうやって起動したらいいのでしょ?
class AA { int i1,i2; AA(); ~AA(); }
void func()
{
char dat[100];
AA *dat;
dat = (AA *)dat;
}
0830デフォルトの名無しさん
2009/06/07(日) 10:44:43解放したらまた同じく
0831デフォルトの名無しさん
2009/06/07(日) 10:46:14この場合の実行の仕方を知りたいです。
0832デフォルトの名無しさん
2009/06/07(日) 10:46:350833デフォルトの名無しさん
2009/06/07(日) 10:48:55フォームの使用・非使用
0834デフォルトの名無しさん
2009/06/07(日) 11:46:450835デフォルトの名無しさん
2009/06/07(日) 12:38:05afxwin.hがないとエラーが出たので”Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う”
を見て設定しました。そして、ビルドをしたら
error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
というエラーがでます。ソースは
_AFXWIN_INLINE CMenu::operator==(const CMenu& menu) const
{ return ((HMENU) menu) == m_hMenu; }
_AFXWIN_INLINE CMenu::operator!=(const CMenu& menu) const
{ return ((HMENU) menu) != m_hMenu; }
_AFXWIN_INLINE HMENU CMenu::GetSafeHmenu() const
{ ASSERT(this == NULL || m_hMenu == NULL || ::IsMenu(m_hMenu));
return this == NULL ? NULL : m_hMenu; }
となっており、2行目と4行目でエラーがでます。
どう書き換えればエラーが直るでしょうか。
0836デフォルトの名無しさん
2009/06/07(日) 12:45:370838デフォルトの名無しさん
2009/06/07(日) 13:57:380839デフォルトの名無しさん
2009/06/07(日) 14:10:050840デフォルトの名無しさん
2009/06/07(日) 14:53:27試合後、ニュー速で試合を見て思ったことを、色々書いたら
ぼっこぼこ馬鹿にされたなりよ。やっぱ小生がそこそこ偉い発言できるのはMFCしか無いと思ったなりよ。
0841デフォルトの名無しさん
2009/06/08(月) 10:00:06ソース内のincludeパスの指定どうしてますか?
VC++の場合はProjectDirとSolutionDirの2つがデフォルトで
使えると思いますがこれの使い分けとか気にしてます?
0842デフォルトの名無しさん
2009/06/08(月) 11:21:47コンパイルするかというのは、自分で決められますか?
0843デフォルトの名無しさん
2009/06/08(月) 11:27:48IDE内ならオプションにあるべ。
コマンドラインでも指定できるし、何も指定しないと拡張子から区別される。
0844デフォルトの名無しさん
2009/06/08(月) 12:40:49ありがとうございます。
別ファイルにある
double func();
というのをmain()から呼んでる時、main()のすぐ上でint func();という宣言があるので
C++では呼び出せてたのですが、ふとこれがCだったら呼び出せてなかったっけ、と気になった
ので…。
0845デフォルトの名無しさん
2009/06/08(月) 14:15:290846デフォルトの名無しさん
2009/06/08(月) 14:19:030847デフォルトの名無しさん
2009/06/08(月) 14:36:58ありがとうございます!!
0848デフォルトの名無しさん
2009/06/08(月) 19:17:07ゲーム作成にしか使わないんですがバージョンアップする必要ってあります?
値段とファイルサイズだけがバージョンアップされあまり期待できないのですが
0849デフォルトの名無しさん
2009/06/08(月) 20:00:50VC6はもうC++対応じゃないと思った方がいい。VC6言語だと思った方がいいくらい、標準と違う。
それを踏まえると、標準C++を学びたいわけでもなく、
現状のゲーム作成で困ってないなら変えない方がいいんじゃないかな?
0850デフォルトの名無しさん
2009/06/08(月) 20:02:05無償で公開されているから体験してみるもよかれ!
0851デフォルトの名無しさん
2009/06/08(月) 20:08:53VC6のStandardでしこしこ
アプリ作ってんだけど、
ぷろになりたいと思ってきた。その場合、Proffessional
editionの方がいいのかえ?
0852デフォルトの名無しさん
2009/06/08(月) 20:17:070853デフォルトの名無しさん
2009/06/08(月) 20:18:380854デフォルトの名無しさん
2009/06/08(月) 20:21:19EE版だとMFC動かないんだよね
.netFrameworkは開発者のオナニーがたくさんつまった作品
オナニーたくさんやった挙句なにも便利になっていない
相変わらず細かいことをするにはいつもどおりの苦労を迫られるし
今度はやけにネットの情報が少ない
0855デフォルトの名無しさん
2009/06/08(月) 21:01:31C++でやったら両方の悪いとこ同士が増幅されるだけ。
>>851
VC6の頃だと、Standardでは作ったものの商用利用が認められていなかった気がする。
そういう意味でProfesionalが必要だった。
あと、Stdでは最適化が使えない。
VC2005 (VC8)の辺りから、エディション問わず商用利用可能になっている。
最適化も基本的なものは全エディションで使えるし。
0856デフォルトの名無しさん
2009/06/08(月) 21:05:55(1) boost のダウンロードhttp://www.boost.org/ のWelcome - Download から
boost_1_38_0.zip とboost-jam-3.1.17-1-ntx86.zip をダウンロード
(2) boost_1_38_0.zip を展開し、内容をC:¥develop へ展開する。(他のディレクトリでも可)
(3) boost-jam-3.1.12-1-ntx86.zip を展開し、bjam.exe をC:¥develop¥boost_1_38_0 へコピー
(4) コマンドプロンプトを開き、ディレクトリを移動。
CD C:¥develop¥boost_1_38_0
(5) "C:¥Program Files¥Microsoft Visual Studio 9.0¥Vc¥bin¥vcvars32.bat" を実行
(6) bjam --build-type=complete msvc stage を実行
(7) Visual Studio を起動し、[ツール] > [オプション] を開き[プロジェクトおよびソリューション]>[VC++ディレ
クトリ] を開く。
右上の「ディレクトリを表示するプロジェクト」で「インクルードファイル」を選び、新しい行を作って
"C:¥develop¥boost_1_38_0" を追加する。おなじく「ライブラリファイル」に"C:¥develop¥boost_1_38_0¥
stage¥lib" を追加する。
と手順どおりにしているのですが、
fatal error C1083: include ファイルを開けません。'boost/array.hpp': No such file or directory
というエラーがでてコンパイルができません。
どうしたらいいですか??
0857デフォルトの名無しさん
2009/06/08(月) 21:17:200858デフォルトの名無しさん
2009/06/08(月) 23:39:12main()でInitializeCriticalSection()やって、その後_beginthreadex()します。
その後以下の処理を行うスレッドを100個起動させます。
EnterCriticalSection()
カウンターをインクリメント
LeaveCriticalSection()
そして、main()関数内でWaitForMultipleObjects()で全スレッドの終了を待ちます。
WaitForMultipleObject()の直後にカウンターの数を表示させているのですが、
これが100になりません。(95とか55とか)
クリティカルセクションの使い方が間違ってるのでしょうか?
0859デフォルトの名無しさん
2009/06/08(月) 23:43:400860デフォルトの名無しさん
2009/06/08(月) 23:58:220861デフォルトの名無しさん
2009/06/09(火) 00:12:24それ以前に、そのスレッドちゃんと全部生成されていることを確認したか?
0862デフォルトの名無しさん
2009/06/09(火) 00:21:34確認しました。やっぱりWaitForMultipleObject()がスレッドの完了待ちをしてませんでした。
WaitForMultipleObjects(100, hThreads, TRUE, INFINITE);
この形で呼び出していて、戻り値は-1でした。
0863デフォルトの名無しさん
2009/06/09(火) 00:31:03main()の最後に
while(count!=100)
;
みたいなループを入れると動きました。なんとか動きそうです。
0864デフォルトの名無しさん
2009/06/09(火) 00:39:480865デフォルトの名無しさん
2009/06/09(火) 00:50:56ええーっ、64ですか?
そうか、MAXIMUM_WAIT_OBJECTSですか…
じゃあ65以上のスレッドを待ちたい時はどうすんのかと思ってMSDN見たら、
64個のスレッドを待つまとめスレッドを作って、そのスレッドを待つようにしろ、
と書いてました。そんなの今からかけないよ〜
でもありがとうございました。
0866デフォルトの名無しさん
2009/06/09(火) 08:26:070867デフォルトの名無しさん
2009/06/09(火) 10:37:05スレッドを生成してWorker Threadパターンでやってます。今朝は100個のコネクション
が一挙にキタ場合のテストをやろうとして、ああなってしまいました。
0868デフォルトの名無しさん
2009/06/09(火) 15:53:55分かりやすい例えを教えてください
0869デフォルトの名無しさん
2009/06/09(火) 16:17:33アルゴリズムすなわち解法
問題と答えをつなぐものがアルゴリズム。
たとえば「1〜10の総和はいくら」という問題に
Aさんは 1+2+3+4+5+6+7+8+9+10
Bさんは 11×5
と考えるだろう。
Aさんの解法もBさんの解法も「1〜10の総和はいくら」の答えを求めるアルゴリズム。
0870868
2009/06/09(火) 16:19:35ってかスレ違いだと思われ。
0871デフォルトの名無しさん
2009/06/09(火) 17:44:480872デフォルトの名無しさん
2009/06/09(火) 19:37:15ダイアログ上のボタンを押下したときに、エディットボックスを追加する関数を加えたいのですが、
エディットボックスを追加する関数というのはあるのでしょうか?
また、エディットボックスを追加すると同時にメンバ変数も追加することができるのでしょうか?
0873デフォルトの名無しさん
2009/06/09(火) 20:50:02動的に追加するならCEdit::Create();
動的に追加せずとも、非表示でエディットボックスを作成しておき、ボタンをクリックしたときに表示させる
という手法もある。
>メンバ変数も追加することができるのでしょうか
メンバ変数はあらかじめ用意しておく必要がある。
0874デフォルトの名無しさん
2009/06/09(火) 20:59:320875デフォルトの名無しさん
2009/06/09(火) 21:03:27ありがとうございます。
0876デフォルトの名無しさん
2009/06/09(火) 22:09:10基低クラスの関数を最後に呼び出すかどうかってオーバーライドする関数によって違うみたいなんだけど
初心者じゃそこらへんわからないよね(´・ω・`)
0877デフォルトの名無しさん
2009/06/09(火) 22:12:00めっちゃいっぱい出ていて困っています
0878デフォルトの名無しさん
2009/06/09(火) 22:12:48何を...>>876君、君が何を言っているのか分かんないよ
0879デフォルトの名無しさん
2009/06/09(火) 22:14:44とりあえず再現するソースを公開しろ
0880876
2009/06/09(火) 22:17:22BOOL CMyNaviView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: この位置で CREATESTRUCT cs を修正して Window クラスまたはスタイルを
// 修正してください。
return CView::PreCreateWindow(cs);
}
って、最後にreturn CView::PreCreateWindow(cs);の一文が入るんだけど、
本を読んでるとこれをreturn TRUE;に変更するとか、初心者じゃわからないよね(´・ω・`)
0881デフォルトの名無しさん
2009/06/09(火) 22:30:54で、君がわからないのか、それとも他人がわからないことを嘆いているのか、どっちだ?
0882876
2009/06/09(火) 22:34:360883デフォルトの名無しさん
2009/06/09(火) 22:38:24じゃ、CView::PreCreateWindow() はどういう時に FALSE を返すのか、オーバーライドした関数ではどうすべきか、
なんてなことを勉強していくしかないな。AAAA
0884デフォルトの名無しさん
2009/06/09(火) 22:39:33Shiftキーと同時に押しちまった。
0885876
2009/06/09(火) 22:42:07道は長そうだけど、そういうふうに意識して勉強していきます。
ありがとう。
0886デフォルトの名無しさん
2009/06/10(水) 01:08:54保持させることはできますか?
0887デフォルトの名無しさん
2009/06/10(水) 01:18:39つTlsAlloc, TlsFree 等
0888デフォルトの名無しさん
2009/06/10(水) 01:34:25生成するスレッドにはパラメタを1つ渡せるので、スレッドの単位で作成したクラスや構造体の
インスタンスアドレスを渡せば良い
0889デフォルトの名無しさん
2009/06/11(木) 23:29:45って警告が出るんですけどどういう意味ですか?
0890デフォルトの名無しさん
2009/06/11(木) 23:39:29デバッグ情報にはソースファイル位置などがフルパスで格納されているから
フォルダを移動すると正常にデバッグできない
0891デフォルトの名無しさん
2009/06/11(木) 23:40:12じゃあ、どうすればいいんです?
0892デフォルトの名無しさん
2009/06/11(木) 23:42:490893デフォルトの名無しさん
2009/06/11(木) 23:47:200894デフォルトの名無しさん
2009/06/11(木) 23:52:430895デフォルトの名無しさん
2009/06/12(金) 00:02:50/::::::::::::::::::::::::::::::::::ヾ i i ソ::::::::::::::::: ヽ
/:::::::::::::::::::::::::::::::::::::ゞ ! i ゞ::::::::::::::::::ヽ
/:::::::::::::::::::::──< ̄● ̄>─ | i |─< ̄● ̄>─:::::::ヽ
|:::::::::::::::::::::/  ̄  ̄ ─ 、  ̄  ̄ ヽ::::::::|
. |:::::::::::::::::::/ / ヽ ヽ:::::::|
..|::::::::::::::::::/ i | \:::::|ぶぁぁか
.|:::::::::::::::::/ ヾ 丿 _ \::::|
..|::::::::::::::::/  ̄ ─ _ ` ─ ̄ ' ─ ̄ ヽ:::|
|:::::::::::::::: ─ ー | | ー─ ̄ ヽ:|
ヽ:::::::::::::: | ━ ─ ─ ー ─ - | | ─ ー ⌒ ─ |
ヽ:::::::::::::| _ _─ ─││ ──/ヽ_ヽ |
ヽ::::::::::::| ─ ̄ _─ ̄ ノ /─ |
ヽ:::::::::::| _ _ ─  ̄ / 丿 |
ヽ::::::::::| ヽ ̄ / ̄ - -_ / / /
\:::::::::| \ ノ -_ _ ) / / /
\:::::::| \ ノ ─' ノ /
\:::::| ─ _ __ ー ' /
0896デフォルトの名無しさん
2009/06/12(金) 00:06:230897デフォルトの名無しさん
2009/06/12(金) 02:02:020898デフォルトの名無しさん
2009/06/12(金) 02:03:59学生ならドリスパでタダでVS2008プロを落とせる
0899デフォルトの名無しさん
2009/06/12(金) 09:55:20プロジェクトフォルダで、自分の書いたソースファイルとかプロジェクトの設定が書いてあるファイルなどと、
ビルドした時の中間ファイル?とかビルドファイルとフォルダを変える事ってできますか?
どこでも参照できるように自鯖のサブバージョンに入れてみたんですけど、容量がどんどん肥大化していく・・・
0900デフォルトの名無しさん
2009/06/12(金) 10:01:520901デフォルトの名無しさん
2009/06/12(金) 11:19:530902デフォルトの名無しさん
2009/06/12(金) 13:22:13プロジェクトのプロパティの全般カテゴリに中間ディレクトリ指定できんだろ。
んまーそこで困ってるならsvnの無視プロパティ活用しろよとは思うが。
0903デフォルトの名無しさん
2009/06/12(金) 14:27:59学生じゃない人はどうするんだ?やはりStandardのうpグレード買うと1万5千円かかるだろ・・
まあ、俺様は合法的にStandard+XXXXXXXを取得する方法を知ってるんだがな。
しりたけりゃググルことだ。これはあくまで合法だ。30000円のが12000で買える。むほほ。
0904デフォルトの名無しさん
2009/06/12(金) 20:07:58DreamSpark
0905デフォルトの名無しさん
2009/06/12(金) 20:10:26サンクス
0906デフォルトの名無しさん
2009/06/12(金) 20:12:44タダだお
0907デフォルトの名無しさん
2009/06/12(金) 20:30:010908デフォルトの名無しさん
2009/06/12(金) 21:33:39ProEditionはクリスタルレポートとかOffice開発用の部品というかモジュールが付属する。
StandardはVC++でのMFCというライブラリの利用ができたり、アイコン作成用のソフトが付属する。
0909デフォルトの名無しさん
2009/06/12(金) 21:36:560910デフォルトの名無しさん
2009/06/12(金) 21:39:590911デフォルトの名無しさん
2009/06/12(金) 21:47:310912デフォルトの名無しさん
2009/06/12(金) 22:20:07自分の頭と時間を使わず他人の時間と頭を使わせようとする人間の質問に答えてやるほど
酔狂なヤツはいないだろう。
0913デフォルトの名無しさん
2009/06/12(金) 22:32:400914デフォルトの名無しさん
2009/06/13(土) 15:45:230915デフォルトの名無しさん
2009/06/13(土) 17:20:440916デフォルトの名無しさん
2009/06/13(土) 17:37:180917デフォルトの名無しさん
2009/06/13(土) 21:49:46使い始めたのですが
SDIでフレームサイズを変更の方法を教えてください。
CMainFrame::PreCreateWindow()
の関数内を
if( !CFrameWndEx::PreCreateWindow(cs) )
から
if( !CFrameWnd::PreCreateWindow(cs) )
に変更して
cs.cy
cs.cx
を追加し、ビルドして実行したら起動できませんでした。
vc6では問題なかったのですが、何が変わったのでしょうか?
0918デフォルトの名無しさん
2009/06/13(土) 22:03:23>から
>if( !CFrameWnd::PreCreateWindow(cs) )
>に変更して
CFrameWndEx::PreCreateWindow(cs) の中で CFrameWnd::PreCreateWindow(cs) を呼んでいるので
変更する必要はないと思うが、変更する理由は何?
0919デフォルトの名無しさん
2009/06/13(土) 22:25:10if( !CFrameWndEx::PreCreateWindow(cs) )
でもいいと思うのですが、これだとサイズ指定しても
実際にサイズが変更されません。
if( !CFrameWnd::PreCreateWindow(cs) )にすれば
変更できるのではないかと思いました。
フレームの変更の方法が間違っているのでしょうかね?
ヘルプのサンプルを見ると、if( !CFrameWnd::PreCreateWindow(cs) )を使用しているので、
そのまま見習って使おうとしようと
なぜかvc2008では、使えない状態でした。
0920918
2009/06/13(土) 22:40:48これにはレジストリへのウィンドウ情報の書き込み/読み込みという機能も含まれている。
>これだとサイズ指定しても
>実際にサイズが変更されません。
なのは、このウィンドウ情報の書き込み/読み込み機能が働いているためで、PreCreateWindow() 内で
サイズを変更しても、その後、レジストリに登録されたウィンドウのサイズに再変更されてしまう。
ウィンドウサイズの再変更が実行されないようにするためには CWinAppEx::LoadWindowPlacement() が FALSE を
返すようにすればいい。
マニュアルには、CWinAppEx::EnableLoadWindowPlacement( FALSE) を実行しろと書いてあるのだが、
MFCのソース読んでも実行するタイミングがよくわからんので、とりあえずはこの方法で回避している。
VC6の時代にはこういった機能は当然なかったので、君の言う通り問題は発生しなかったわけだ。
0921デフォルトの名無しさん
2009/06/13(土) 22:44:36おおー
詳しい説明ありがとうございます。
なるほど、助かりました。
0922デフォルトの名無しさん
2009/06/13(土) 23:59:55JavaScriptを無効にしてページを開けるようにしたいと考えています。
Windowsフォームアプリケーションの関数だけで可能でしょうか。
それともCOMなどの知識が必要でしょうか。
環境はVC++2008EEです。
0923デフォルトの名無しさん
2009/06/14(日) 00:28:42拡張子絡みのレジストリは旧OSと同じっぽいけど・・。
ユーザに拡張子ダブルクリックでアプリに関連付けさせるか
インストーラを作るかしないといけないのだろうか。
0924デフォルトの名無しさん
2009/06/14(日) 00:32:55vistaだと従来のやり方じゃダメなんだ?
0925デフォルトの名無しさん
2009/06/14(日) 00:35:04HKCUへの書き込みなら特に問題ないはず。
HKCU\Software\Classesで、アプリを実行しているユーザだけを対象に設定できる。
0926デフォルトの名無しさん
2009/06/14(日) 00:37:47簡単にというならコマンドプロンプトのコマンドにあるからバッチとかsystem関数でできる気がする
assoc
ftype
0927デフォルトの名無しさん
2009/06/14(日) 00:48:480928デフォルトの名無しさん
2009/06/14(日) 00:52:13http://msdn.microsoft.com/ja-jp/library/60k1461a.aspx
0929デフォルトの名無しさん
2009/06/14(日) 00:52:33たしかにvc6のころと変わっててイライラすんだよな
さんざん探した挙句実はできなくなったってのもあるにはあるw
0930デフォルトの名無しさん
2009/06/14(日) 02:03:16メチャメチャサンクス!!!
旧OS用の関連付け処理を HKCU\Software\Classes 用に作り替えて
Windows7上で試したら関連付け、解除ともに問題なくできた!
というか、バカは俺か・・・
今まで HKEY_CLASSES_ROOT を直接いじってたからVistaや7で通らなくなっただけみたいだし・・。
>>924 >>926 もレスサンクス!
ようやう寝れる。
0931デフォルトの名無しさん
2009/06/14(日) 02:05:372002が最悪だったんで、最強のVS98から2003/2005をすっとばして2008に換えたけど
IDEの使いにくさ以上に、MSDNが役立たずで困ってる。
結局、VC絡みだったらVC6のMSDNを使っちゃったり。
つーかVC6で主要部分を組んじゃって、頃合いをみてVS2008に上げたり。
0932デフォルトの名無しさん
2009/06/14(日) 02:11:12念のため言っておくが9xだとHKCUは使えないからな。
0933デフォルトの名無しさん
2009/06/14(日) 02:11:35俺もMSDNは最悪だわ
なんもヒットしねぇ上にたびたびリンク切れみたいになる
しかも、みにくいし遅い、重い
0934デフォルトの名無しさん
2009/06/14(日) 03:36:25function();
何もない括弧書き方なんかかっこわるい。
0935デフォルトの名無しさん
2009/06/14(日) 03:39:38カッコ悪いだろ。
0936デフォルトの名無しさん
2009/06/14(日) 04:19:20俺以外にもいたか
0937デフォルトの名無しさん
2009/06/14(日) 04:30:56もう最近はF1を押すことはまずないな。起動は遅いし変なものばかり引っかかるし。
ググった方がよっぽど早い。
0938デフォルトの名無しさん
2009/06/14(日) 04:39:550939デフォルトの名無しさん
2009/06/14(日) 06:12:25あまりの遅さにイライラする
0940デフォルトの名無しさん
2009/06/14(日) 08:31:37更にサンクス! それじゃOSバージョンで切り替えるように――というか
95/98/SE/Meはいい加減サポートから外しても良いか・・・起動できないようにしちまおう。
0941デフォルトの名無しさん
2009/06/14(日) 10:07:120942デフォルトの名無しさん
2009/06/14(日) 10:26:440943デフォルトの名無しさん
2009/06/14(日) 10:29:21予約語は被らない限りは略せるとかだと楽なのにって思ったことはある。gnuplotみたいな感じで
class -> cl、public: -> pub:、とか
0944デフォルトの名無しさん
2009/06/14(日) 10:32:52その質問の回答には、エスパー能力が必要、それはすなわち、
質問の内容がまったく足りないと言うことだ。
0945デフォルトの名無しさん
2009/06/14(日) 10:34:30エスパーーーーーーーー!!!!!!!!!!!
問い1 足りる
問い2 無くてもいい
0946デフォルトの名無しさん
2009/06/14(日) 10:40:04何の情報が足りませんか?
WebBrowserでウェブサイトを表示できるようにしています。
規定ブラウザはIEの場合です。
IEにあるようなアクティブスクリプトの有効無効の設定をできるようにしたいのです。
0947デフォルトの名無しさん
2009/06/14(日) 11:12:42目的
目標
現在までに行ったこと
考えられる原因
質問の内容
最低でもコレに答えろ
0948デフォルトの名無しさん
2009/06/14(日) 11:39:40目的:
練習
目標:
IEのようなブラウザをVC++ee2008(Windowsフォームアプリケーション)を用いて作る。
現在までに行ったこと:
http://codezine.jp/article/detail/246
を参考にしてみました。
考えられる原因:
バージョンが古かった事、
COMを利用している事、
VB、VC#に限定したソースだった事、
それによりvc++ee2008の環境で書き換える事ができない。
質問の内容:
JavaScriptのOnOffを自由に切り替えられる機能を付けるにはどうすれば良いですか?
見つけたソース、COMを用いて書かれた環境は2003です。
現在のバージョンは2008なのでもっとシンプルに簡単に書く方法はないでしょうか。
0949デフォルトの名無しさん
2009/06/14(日) 12:18:54>それによりvc++ee2008の環境で書き換える事ができない。
書き換えることができないのは君のスキル不足。
http://codezine.jp/article/detail/246 に「IInternetSecurityManagerを実装する」と書いてあるのだから、
この「IInternetSecurityManager」をキーワードにして検索すれば、情報はいくらでも出てくる。
「いろいろと苦労してます」というように見せかけてはいるが、実は何の努力もしていない。
それが感覚的に分かるから、他の人から叩かれるわけだ。
http://www.usefullcode.net/2009/04/50_tabbrowser.html
0950デフォルトの名無しさん
2009/06/14(日) 12:46:26すいません、私のスキル不足です。
新しく参考を紹介いただき有難うございます。
Windowsフォームアプリケーションならフォームを作る事は勿論、
ウェブブラウザを設置する事もツールボックスからドラッグするだけ。
イベントも簡単なプログラムだけで可能なようになっていますよね。
それならアクティブスクリプトの制御くらい、
一行で済むような命令があってもおかしくないと思ったわけです。
IEにも搭載されている機能ですし、
今のバージョンは2008ですし。
それを簡単に実現できないようにされているのはどうしてでしょうか。
0951デフォルトの名無しさん
2009/06/14(日) 12:56:08部品を貼り付けるだけでガワを作れると言ってもなんでも簡単に出来る訳じゃないぞ
IEコンポーネントに不満なら別の物を使う選択肢もある
0952デフォルトの名無しさん
2009/06/14(日) 12:56:23フォームアプリケーションでいうところのフォームの作成等が簡単に実現できるようにされているだけ。
発想が逆。
0953デフォルトの名無しさん
2009/06/14(日) 13:15:06とりあえず、COMの基礎知識を付けようと思います。
今回のようなウェブブラウザのセキュリティに関する操作には、
他にどのような知識も付けておくべきなのでしょうか。
0954デフォルトの名無しさん
2009/06/14(日) 13:19:37一つ、天気のいい日に布団を干すこと
一つ、道を歩く時は車に気をつけること
一つ、他人の力を頼りにしないこと
一つ、土の上をはだしで走り回って遊ぶこと
0955デフォルトの名無しさん
2009/06/14(日) 13:45:33using namespace System::Drawing;
using namespace System::Windows::Forms;
ref class myform:Form{
protected:
virtual void OnPaint(PaintEventArgs^ e) override {
Font^ font2=gcnew Font("MS ゴシック",10);
}
};
void main()
{
Bitmap^ bmp=gcnew Bitmap(100,100);
Font^ font1=gcnew Font("MS ゴシック",10);
}
仮にこうした場合font2の方がエラーになるのは
System::Windows::Formsの方と競合しているからですか?
0956デフォルトの名無しさん
2009/06/14(日) 14:22:32#define cl class
#define pub public
ただし
#define BEGIN {
#define END }
と同レベルだが。
0957デフォルトの名無しさん
2009/06/14(日) 14:24:55MSDN Library for Visual Studio 2008 SP1 (2008年12月更新版)
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=7bbe5eda-5062-4ebb-83c7-d3c5ff92a373
もっとも、上で重い重いと行っている人間の何割かはオフライン版のことを言っているような気もするけど。
0958デフォルトの名無しさん
2009/06/14(日) 16:54:08ヘッダーファイルにフォルダを作ってそこに
hoge/Test.h
とヘッダを作って
mainのcppで
#include "hoge/Test.h"
とやると
No such file or directoryと怒られるのですが
0959デフォルトの名無しさん
2009/06/14(日) 17:02:18ソースと同じ所にあるだろ?
実際にディレクトリ作ってそこに入れればそういう指定もできる。
0960デフォルトの名無しさん
2009/06/14(日) 17:16:31日本語が意味不明なので、質問は 日本語の文法に沿って書いてください。
> ヘッダーファイルにフォルダを作って
ファイルにフォルダを作るって何ですか?
ヘッダーファイルを格納するためのフォルダを用意してってことですか?
> mainのcppで
> #include "hoge/Test.h"
この場合、そのmainのcppファイルからの相対パスを#includeに記述します。
すなわち、そのmainのcppファイルのフルパスが
C:\MY_PROG\TEST\*********\MyDir\main.cpp
とかだったとするなら
C:\MY_PROG\TEST\*********\MyDir\hoge\Test.h
という風にファイルが保存されている時はじめて#include "hoge/Test.h"が有効なパスになります。
0961デフォルトの名無しさん
2009/06/14(日) 17:20:590962デフォルトの名無しさん
2009/06/14(日) 17:28:48IDEあまり使ってないのかな。
0963960
2009/06/14(日) 17:42:49>ヘッダーファイルにフォルダを作って
って左のツリーのアレだったのか。
すまんかった。
0964958
2009/06/14(日) 20:35:11総合するとVC++のソリューションウィンドウの階層は実階層と何の関係もなく
実階層で階層を切れば
#include "hoge/Test.h"
のような指定も出来ると。
VC++側でファイルの完全パスを変更するのは
プロパティとか見たけど無理そうなので
VC++で開発をつづけるのならば
#include "hoge/Test.h"
ような指定をするのは現実的に難しいということですね。
Flashと似てますね。でもあっちは対応するパスを変えられるので、あっちのほうがすぐれてますが。
というか、もしかすると私が使ってるのがeeだからですかね?
製品版買えばリンク先変えられたりするんでしょうか?
0965デフォルトの名無しさん
2009/06/14(日) 20:38:100966958
2009/06/14(日) 20:39:24をすればいいのか
0967デフォルトの名無しさん
2009/06/14(日) 22:31:270968デフォルトの名無しさん
2009/06/14(日) 22:36:000969デフォルトの名無しさん
2009/06/14(日) 22:43:360970デフォルトの名無しさん
2009/06/14(日) 22:45:45Vistaのときもそうだがβ版が随分前から出てたんだが・・・?
0971デフォルトの名無しさん
2009/06/14(日) 22:57:44興味があるならダウンロードしてみ。
http://www.microsoft.com/japan/windows/windows-7/download.aspx
0972デフォルトの名無しさん
2009/06/14(日) 23:08:56面倒くさいからやめとくけど
0973デフォルトの名無しさん
2009/06/15(月) 03:33:38俺はWin32APIのバージョンアップだと思ってる
0974デフォルトの名無しさん
2009/06/15(月) 03:42:22Vistaと変わっていないことを前提にVistaの場合の話を答えた。
もっとも、XPはおろか2000でも同じなんだけど。
もっとも、関連づけのやり方自体は、XP、Vistaで、
新しい方法が増えているみたいなんだけど
(プログラムから開くとか既定のプログラムとか)
自分は追い付けていない。
0975デフォルトの名無しさん
2009/06/15(月) 04:11:43・無料で使用できるのでしょうか
(HPには無料と書いてあるが、
昔は10万とかした製品だったと思うので)
(また、「最新のアップデートを提供します」と書いてあるので、
商品を買った上で、バッチみたいなのではないのでしょうか)
・商用ソフトは作れるのでしょうか(作ったソフトを販売する)
(確かアカデミックではダメとかあった気がします)
(無料版では、ソースが丸見えになってしまうとかもないでしょうか)
0976デフォルトの名無しさん
2009/06/15(月) 04:58:51SPはあくまでもSPなので、ライセンスは君が利用しているVisual Studioによる。
VisualStudioなしで、SPだけダウンロードして使えるかという質問なら、それは無理。
0977975
2009/06/15(月) 05:24:20ありがとうございます。
なるほど、やはりバッチみたいなのなんですね。
VS6SP6の項目があるのに、VS6本体の項目が無いのは
サービスが停止されたみたいだからですね。
ttp://msdn.microsoft.com/ja-jp/subscriptions/dd179309.aspx
新しいVCだと、ソースが筒抜けになったり(C#だから?)、
9x系で操作できなかったりするみたいなので(.net関連?)、
VC6を使いたかったのですが、残念です。
0978デフォルトの名無しさん
2009/06/15(月) 07:16:09どうでもいいけど「パッチ」だからな。patch。
0980デフォルトの名無しさん
2009/06/15(月) 11:29:450981デフォルトの名無しさん
2009/06/15(月) 11:57:05むしろ人に見られることを常に意識してコード書いたほうがいいと思うけどね。
誰も見ないだろうけど。
0982975
2009/06/15(月) 14:39:04メインPCがMeなのと、動作可能環境に9x系もある方が評価も高いかなと。
>>981
PHPやAS3とかは、インタプリタ?なので見られることが前提なんですけど、
Cのは、同じ同人作品やマイライブラリを長年作っているのもあり、
見せたくないと思っていました。
0983デフォルトの名無しさん
2009/06/15(月) 14:59:369x系はマイクロソフトのサポートが終了しているので、仮に不具合がOSに起因していたとしても
君が面倒を見なければならなくなるぞ。
0984デフォルトの名無しさん
2009/06/15(月) 16:16:17まあ「meで動作確認しました。それ以降のOSなら動くはずです」とかですむのかもしれんけど。
0985デフォルトの名無しさん
2009/06/15(月) 16:45:40#include <stdio.h>
main()
{
int n;
printf("西暦年を入力して下さい:");
scanf("%d", &n );
if( n % 400 || n % 100 != 4 ) ←
printf("%d 年は閏年です。\n", n );
else
printf("%d 年は平年です。\n", n );
}
/* end */
矢印の行ですが、「400の倍数の年、または、100の倍数でない4の倍数」とするにはどうすれば良いのか教えてください。
考えれば考えるほど分からなくなってしまいました
0986デフォルトの名無しさん
2009/06/15(月) 16:53:05こうかな?
0987デフォルトの名無しさん
2009/06/15(月) 16:58:51アホはアホなりに地道にやるしかないとアホが言ってみる
0988デフォルトの名無しさん
2009/06/15(月) 20:25:47得られるメリットよりも、パッと見で分かりづらい、ソース読んで考えないと正しいと
判断できない、というデメリットがあるんだよな
一週間後の自分という他人に保守させるのであれば、ダサくて地道なコードくらいが
ちょうどいいのだよね
0989デフォルトの名無しさん
2009/06/15(月) 20:35:18良く笑ってしまうんだけどね...
0990デフォルトの名無しさん
2009/06/15(月) 20:36:01ありがとうございます
できました
0991デフォルトの名無しさん
2009/06/15(月) 21:00:37おお、オフライン版あったのねって
かんじんなところだけ英語orz
レス数が950を超えています。1000を超えると書き込みができなくなります。