★初心者にVisual C++を教えるスレ★ Part32
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/10/31(金) 12:16:11お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
過去スレ、関連スレなどは>>2-5辺り。
0002デフォルトの名無しさん
2008/10/31(金) 12:17:44Part30 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/
Part15 ttp://pc5.2ch.net/test/read.cgi/tech/1097880265/
Part14 ttp://pc5.2ch.net/test/read.cgi/tech/1093672937/
Part13 ttp://pc5.2ch.net/test/read.cgi/tech/1089011118/
0003デフォルトの名無しさん
2008/10/31(金) 12:18:33Part11 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デフォルトの名無しさん
2008/10/31(金) 12:21:50■MFC相談室 mfc19d.dll■
http://pc11.2ch.net/test/read.cgi/tech/1207301867/
Win32API質問箱 Build71
http://pc11.2ch.net/test/read.cgi/tech/1224745158/
【C++】 DirectX初心者質問スレ Part19 【C】
http://pc11.2ch.net/test/read.cgi/tech/1224942911/
C言語なら俺に聞け(入門篇) Part 37
http://pc11.2ch.net/test/read.cgi/tech/1224000127/
【初心者お断り】ガチ規格準拠C専用スレ Part133
http://pc11.2ch.net/test/read.cgi/tech/1201153965/
C++相談室 part63
http://pc11.2ch.net/test/read.cgi/tech/1221144557/
C/C++の宿題を片付けます 117代目
http://pc11.2ch.net/test/read.cgi/tech/1225320579/
【初心者歓迎】C/C++室 Ver.60【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1224057986/
【関連サイト】
猫でもわかるプログラミング
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デフォルトの名無しさん
2008/10/31(金) 12:24:05part 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デフォルトの名無しさん
2008/10/31(金) 12:26:49Microsoft 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デフォルトの名無しさん
2008/10/31(金) 12:54:44CPaneDialog::Createのパラメータ、nIDは何を入れればいいんですか?
0008デフォルトの名無しさん
2008/10/31(金) 13:52:30>>7
自分で決めたID
同じ親をもつ同士でかぶらなければいい。
0009デフォルトの名無しさん
2008/10/31(金) 15:19:50乙です
0010デフォルトの名無しさん
2008/10/31(金) 15:57:19thx
0011デフォルトの名無しさん
2008/10/31(金) 18:52:060012デフォルトの名無しさん
2008/10/31(金) 18:59:01でも通常関数内で宣言したら消しようがないべ?
スコープ抜けるときに消えるし、ちゃんとデストラクタも呼ばれる。
ただし、newで作ったら、delete必要。
0013デフォルトの名無しさん
2008/10/31(金) 19:20:22何度も同じオブジェクトを繰り返し作るのは速度的な問題以外に何かまずいことはありますか?
0014デフォルトの名無しさん
2008/10/31(金) 22:14:57これはTree Controlで頑張るしかないんですか?
0015デフォルトの名無しさん
2008/11/01(土) 01:12:35newして作ったのなら開放が必要。auto変数なら無用。
>>13
シングルスレッドに限定すれば速度以外は問題ない。
マルチスレッドの場合に関しては情報不足。
0016デフォルトの名無しさん
2008/11/01(土) 09:50:19コンソール上で出力するにはどうすればよろしいでしょうか?
0017デフォルトの名無しさん
2008/11/01(土) 10:08:25やっとインストール終わったと思ったら20008があると知って変更したほうがいいか調べてます
エディタの使いやすさは変わったでしょうか?
0018デフォルトの名無しさん
2008/11/01(土) 10:23:05ありがとうございます。メモリが壊れやすくなるからなるべく無駄のないように作るのが普通だとかそういうルールがあるのかとおもいました。
newの意味がやっとわかりました。関数を抜けても消滅させないためにあるんですね。
0019デフォルトの名無しさん
2008/11/01(土) 10:32:32printfでワイド文字列の書式指定するとか、wprintfみたいなワイド版の関数をつかう。
あとロケールを設定しないと正常に表示されない。
0020デフォルトの名無しさん
2008/11/01(土) 10:46:06UTF-8なら出来るけど
002116
2008/11/01(土) 10:54:57どうもありがとうございました。以下の内容でできました。
setlocale(LC_ALL, "");
printf("%S", LPTSTR);
0022デフォルトの名無しさん
2008/11/01(土) 13:26:170023デフォルトの名無しさん
2008/11/01(土) 13:50:40・開発環境・・WindowsForm・windowsXP
プログラムを作ろう!という本を見ながらプログラムを組んでいるんですが、
// dicegame.cpp : メイン プロジェクト ファイルです。
#include "stdafx.h"
#include "Form1.h"
using namespace dicegame;
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
// コントロールが作成される前に、Windows XP ビジュアル効果を有効にします
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
// メイン ウィンドウを作成して、実行します
Application::Run(gcnew Form1());
return 0;
}
この箇所で
1>.\dicegame.cpp(6) : error C2059: 構文エラー : 'namespace'
1>.\dicegame.cpp(6) : error C2238: ';' の前に無効なトークンがあります。
1>.\dicegame.cpp(20) : fatal error C1075: 左側 中かっこ '{' に対応するものが 'c:\documents and settings\user\my documents\visual studio 2008\projects\dicegame\dicegame\Form1.h(4)' で見つかる前に EOF が検出されました。
と言うエラーが出てデザインが表示できないんですが、どなたか原因がわかりますか??
0024デフォルトの名無しさん
2008/11/01(土) 14:51:08Form1.h側に問題があるんだろ
0025デフォルトの名無しさん
2008/11/01(土) 15:00:24VS2008を再起動して見てみるとリストにあるんですけど、再起動なしで出てくるようにするにはどうすればいいんですか?一度ビルドしてもだめでした。
0026デフォルトの名無しさん
2008/11/01(土) 21:55:04インスコした時の設定のままだとコンパイル等がC++基準になってるじゃないですか
それをC基準にするには設定のコンパイル言語の選択をCにする以外に変えるところはありますか?
あとその設定を既定値にするにはどうしたらいいですか?
よろしくお願いします。
0027デフォルトの名無しさん
2008/11/02(日) 03:30:060028デフォルトの名無しさん
2008/11/02(日) 16:57:12SQL Serverに接続することは可能ですか?
0029デフォルトの名無しさん
2008/11/02(日) 20:08:59VC++ 2008 EEで.NETやるときはC++/CLIという言語で書くことになる。
SQLConnectionで検索してみ。
0030デフォルトの名無しさん
2008/11/02(日) 20:33:08ありがとうございます。
さっそく検索してみますね。
0031デフォルトの名無しさん
2008/11/03(月) 15:28:47ttp://homepage2.nifty.com/natupaji/DxLib/program/ActionSample.cpp
を参考にしてアクションゲームを作っているのですが
// マップの描画
{
int i, j ;
for( i = 0 ; i < MAP_HEIGHT ; i ++ )
{
for( j = 0 ; j < MAP_WIDTH ; j ++ )
{
// 1は当たり判定チップを表しているので1のところだけ描画
if( MapData[i][j] == 1 )
{
DrawBox( j * CHIP_SIZE, i * CHIP_SIZE,
j * CHIP_SIZE + CHIP_SIZE, i * CHIP_SIZE + CHIP_SIZE,
GetColor( 255, 255, 255 ), TRUE ) ;
}
}
}
}
// キャラクタの描画
DrawBox( ( int )( PlX - CHAR_SIZE * 0.5F ), ( int )( PlY - CHAR_SIZE * 0.5F ),
( int )( PlX + CHAR_SIZE * 0.5F ) + 1, ( int )( PlY + CHAR_SIZE * 0.5F ) + 1,
GetColor( 255, 0, 0 ), TRUE ) ;
のところを自分で書いた画像に置き換えようとしているのですが、なかなかうまくいきません・・・。
どのようにすればいいのか教えてもらえないでしょうか?
0032デフォルトの名無しさん
2008/11/03(月) 21:11:350033デフォルトの名無しさん
2008/11/03(月) 22:45:250034デフォルトの名無しさん
2008/11/03(月) 22:48:14003531
2008/11/03(月) 22:59:47どうしてもキャラクタの描写を自分の書いた画像に置き換えることができない状態です・・・。
0036デフォルトの名無しさん
2008/11/04(火) 09:47:100037デフォルトの名無しさん
2008/11/04(火) 09:59:15間違ってるところも指摘できないじゃないか。
0038デフォルトの名無しさん
2008/11/04(火) 10:17:240039デフォルトの名無しさん
2008/11/04(火) 11:06:580040デフォルトの名無しさん
2008/11/04(火) 13:38:47loadgraphが全部小文字なのはおかしいな
0041デフォルトの名無しさん
2008/11/04(火) 13:41:54どこが引っ掛かってるのだろうか。一応絵は出るらしいからパス設定じゃなさそうだし。
0042デフォルトの名無しさん
2008/11/04(火) 20:33:37PC初期化したのでVC++を再インスコしたんですが
プログラム書いてもビルドできません。
2〜3秒フリーズして「応答なし」
となってしまいます。
これはスペックの問題なんですかね?
OS vista
CPU celeron M
メモリ 2G
のノートPCです。
0043デフォルトの名無しさん
2008/11/04(火) 20:39:57HCURSOR hCursor;
hCursor = AfxGetApp()->LoadCursor(IDC_WAIT);
SetCursor( hCursor );
hCursorがNULLになるんです
0044デフォルトの名無しさん
2008/11/04(火) 23:01:290045デフォルトの名無しさん
2008/11/05(水) 01:05:52たとえばグローバル変数を使って
// グローバル変数
int g_count;
// ボタン1押下時処理
void OnButton1()
{
g_count++;
}
// ボタン2押下時処理
void OnButton2()
{
g_count++;
}
のようにやることができますが、
同様のことをグローバル変数を使わずにやる方法はないでしょうか?
0046デフォルトの名無しさん
2008/11/05(水) 01:09:440047デフォルトの名無しさん
2008/11/05(水) 02:47:470048デフォルトの名無しさん
2008/11/05(水) 09:38:48言語とか環境は何?
まあWM_SETFONTで。
0049デフォルトの名無しさん
2008/11/05(水) 09:39:230050デフォルトの名無しさん
2008/11/05(水) 10:20:330051デフォルトの名無しさん
2008/11/05(水) 10:39:420052デフォルトの名無しさん
2008/11/05(水) 15:46:31フォントが変わりませんと、また質問が来る・・・と
0053デフォルトの名無しさん
2008/11/05(水) 21:45:030054デフォルトの名無しさん
2008/11/05(水) 21:52:45m_Btn1.EnableWindow(TRUE);
でも
m_Btn1.SetCheck(BST_UNCHECKED);
でも出来ません。起動後一瞬黒くなるんですが、すぐ灰色になります。どういうことですか?
0055デフォルトの名無しさん
2008/11/05(水) 22:38:10あるいはどこのフォルダに格納されているのでしょうか?
iostreamを用いたプログラミングがしたいのですが…
0056デフォルトの名無しさん
2008/11/05(水) 22:43:530057デフォルトの名無しさん
2008/11/05(水) 22:44:03コントロールのクラスを作って、その中でメッセージ対応の処理を書く以外で、クラスを作らずに親ウィンドウでメッセージ処理をするにはどうすればいいんですか?
0058デフォルトの名無しさん
2008/11/05(水) 22:45:59それででますね…
再インストールしたほうがよさそうですね
0059デフォルトの名無しさん
2008/11/05(水) 22:54:51あ、違います。
#include <iostream>
じゃなくて
#include <unistd.h>がエラー出てました
unistd.hというヘッダファイルはどうやって登録すればいいんでしょうか?
unistd.hというファイルをどこからかダウンロードして#include ""の絶対パスで指定するんですか?
0060デフォルトの名無しさん
2008/11/05(水) 23:06:59Windowsでいうとこの<windows.h>みたいなもの。
当然VC++用の<unistd.h>なんてない。
ようするに、VC++でそれをコンパイルさせないといけないのなら、
<unistd.h>なしでコンパイルできるようにすることこそがWindowsへの移植という君の仕事。
趣味ならCygwinでGCCでも使っておけ。
0061デフォルトの名無しさん
2008/11/06(木) 06:14:00とりあえず、エラーが出た
#include <unistd.h>
をコメント行(//)に変えた状態でコンパイルしてみれば、<unistd.h>内で
宣言・定義された関数や定数のうち、実際にプログラム中で使われている
ものだけが未定義エラー等で出力されると思うので、それらの機能や値の
意味を調べて、Windows APIや、Windowsの定数に置き換えてやればよい。
ソース内で使われている場所は、コンパイルエラーや警告が出た行。
エラーとして出ない関数や定数は、今回のプログラム中では使われて
いないので、放置してよい。
バカ正直にUnix互換のライブラリを用意する必要はない。
0062デフォルトの名無しさん
2008/11/06(木) 10:01:10状況がわからんけど、ハンドラは書いた?
0063デフォルトの名無しさん
2008/11/06(木) 16:01:05ハンドラはこれだけではダメなんでしょうか?
ボタンが灰色なだけでなく、メッセージも受け取れません。
ヘルプを見れば全てわかるように書いてあるそうですが、仕組みがわからず読み取ることもできません
おしえてください。お願いします。
//FileView.h
CMFCButton m_Btn;
afx_msg void LButtonDown();
//FileView.ccp
BEGIN_MESSAGE_MAP(CFileView, CDockablePane)
ON_BN_CLICKED(7, LButton)
END_MESSAGE_MAP()
CFileView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
m_Btn.Create(_T("OK"), WS_VISIBLE | WS_CHILD, rectDummy, this, 7)
m_Btn.EnableWindow(TRUE);
}
void CFileView::LButton()
{
TRACE0("OK\n");
}
0064デフォルトの名無しさん
2008/11/06(木) 17:20:53せめてIDは、、リソースをアクティブにした状態で編集メニューから
リソースシンボル→新規作成で作ってそれ使ったほうがいいぞ・・
今までのViewにそのやり方でボタン貼り付けたら機能するから
CDockablePaneの仕様によるのかもね。
0065デフォルトの名無しさん
2008/11/06(木) 17:43:29CSplitterWndクラスで作成する分割ウィンドウみたいなやつなら、ペイン
自体はCFrameWndみたいな枠だけじゃないのかな?
何がやりたいのか判らんが、CReBarとCDialogBarとかを使う方が簡単じゃ
ないのかな?
慣れていれば、シンボルはresource.hを直接編集してもいいと思うけど、
とりあえずマジックナンバーはやめようよ。
VC6ではできたのに、2003以降、IDE内で開いているプロジェクトのリソ
ースペインに、他のリソースを開いてドラッグ&ドロップでコピーしたり、
カット(CTRL-X)⇒ペースト(CTRL-V)できないけど、2008って直ってるの
かな? リソース編集しててると、突然IDEが落ちるなんてこともある。
0066デフォルトの名無しさん
2008/11/06(木) 18:35:38ボタンではなくてドックパネルを徹底的に調べてみます。
他のコントロールは継承クラスを作ってそこでメッセージ処理をしていたのですが、
さすがにボタン1つのメッセージ処理のためにクラス作成は酷いんじゃないかと思い、、、が、うまくいかずはまりこんでしまいました。
マジックナンバーはアプリウィザードで作られたひな形がCreateのなかで連番を使っていたので
そのまま続きの数字を使って追加してしまいました。いつかはIDSの登録物と重なるし、オブジェクトが判別しづらいのでは?とは思ったのですが
全て修正しないと気持ちよくないし、ひな形の流れに負けて連番にしてしまいました。
0067デフォルトの名無しさん
2008/11/07(金) 00:00:290068デフォルトの名無しさん
2008/11/07(金) 02:44:590069デフォルトの名無しさん
2008/11/07(金) 13:01:28変更することもできるけれど、気にせずにそのまま使うのが普通なんでしょうか。
0070デフォルトの名無しさん
2008/11/07(金) 20:45:090071デフォルトの名無しさん
2008/11/08(土) 02:29:25VC++2008で簡単なコンソールアプリを作ってみたのですが、
これをビルドして他人に渡してもエラーが出て実行できません。
他人のWindows環境で動作させるにはどのようにビルドすればよいのでしょうか?
0072デフォルトの名無しさん
2008/11/08(土) 03:38:220073デフォルトの名無しさん
2008/11/08(土) 04:42:30VC++2008ExpressEditionで、Formでプログラムを作り始めて、
スクロールバーを縦横で表示・非表示を切り替えたい時、
ツールからフォームに貼り付けるとこうなります。
↑
← →↓
のように右下に小さい四角が出来ません。
↑
↓
← →□
こんな風にしたい
上手いことスクロールバーを表示するにはどこをいじればよいでしょう?
0074デフォルトの名無しさん
2008/11/08(土) 18:01:28内蔵しているメンバを弄るの。
this->HorizontalScroll->Visible = true;
this->VerticalScroll->Visible = true;
とか何とか
0075デフォルトの名無しさん
2008/11/08(土) 23:48:18SystemTimeToVariantTime
関数をを使いたいのですが、使用すると以下のエラーが発生します
error LNK2001: 外部シンボル ""extern "C" int __stdcall SystemTimeToVariantTime(struct _SYSTEMTIME *,double *)" (?SystemTimeToVariantTime@@$$J18YGHPAU_SYSTEMTIME@@PAN@Z)" は未解決
です。
調べたところ、SystemTimeToVariantTimeを使うにはole32aut.lib
が必要そうなのですが、どうやって ole32aut.lib を手に入れればよいか
わかりません。(そもそもole32aut.libがないのかエラーの原因
なのかも微妙なのですが)
環境は Visual C++ 2005 Express です。
0076デフォルトの名無しさん
2008/11/08(土) 23:51:39Windows SDKをインストールしろ。
インストールしたら、スタートメニューのMicrosoft Windows SDKの中のどっかにVisual Studioとの統合みたいな項目があるからそれを叩け。
007775
2008/11/09(日) 00:16:120078デフォルトの名無しさん
2008/11/09(日) 06:00:14・ダイアログリソースを作成
・スタイルを子に設定
・ウィンドウのOnCreate関数に
CDialog m_Dialog1;
m_Dialog1.Create(IDD_DIALOG1, this);
と
CRect rectClient;
GetClientRect(rectClient);
m_Dialog1.SetWindowPos(NULL, rectClient.left + 1, rectClient.top + 1, rectClient.Width() - 2, rectClient.Height() - 2, SWP_NOACTIVATE | SWP_NOZORDER);
を追加
これ以外になにをすればいいんですか?
これでコンパイルできるのですが、向こう側が透けて見えてダイアログが表示されないんです。教えてください。お願いします
0079デフォルトの名無しさん
2008/11/09(日) 09:10:18MFC ライブラリ リファレンス
CDialog::Create
リソースからダイアログ ボックス テンプレートを使ってモードレス ダイアログ ボックスを作成します。
親ウィンドウを作成したときにダイアログ ボックスを表示する場合は、
ダイアログ ボックス テンプレートで WS_VISIBLE スタイルを使用します。
それ以外の場合は、ShowWindow 関数を呼び出す必要があります。
0080デフォルトの名無しさん
2008/11/09(日) 09:49:37できました。ありがとうございました!
0082デフォルトの名無しさん
2008/11/09(日) 20:09:18引数の型とかを教えてくれるのが感動した
0083デフォルトの名無しさん
2008/11/11(火) 07:41:54確保するのはすぐに判ったのですが、変更方法がさっぱりです。
0084デフォルトの名無しさん
2008/11/11(火) 08:00:290085デフォルトの名無しさん
2008/11/11(火) 11:39:36VC++2008WindowsXP
実は他の方のサンプルを試してみたいのですが
サンプルの使い方もわかりません
手持ちの解説書にはそういうことは書いてありませんのでどなたかお力貸してください
下記は先人の方が質問されて、大先輩の方がサンプル付きで解答されています
上のアドレスが最初の質問で下のアドレスが2回目の質問のようです
最終的にはサンプルの全角空白(書いた方がわざとそうしています)を半角空白にして
SendInput()関数を入れると問題なく動いているようです
質問「キーの自動入力」
ttp://okwave.jp/qa4023937.html?ans_count_asc=2
ttp://soudan1.biglobe.ne.jp/qa4027968.html
質問者の方と私は環境が似ているので
このサンプルを動かしてみたいのですが
VC++の開き方すらよくわからない状態ですので
どなたかわかるように説明していただけないでしょうか?
私がやったこと
サンプルの全角空白を半角空白に8箇所直した
VC++2008を起動する→ファイル→新規作成→プロジェクト→Win32→
Win32プロジェクト→プロジェクト名入力→OK
(Win32アプリケーションウィザード)次へ→何も変更しないで完了
出てきた”(グローバルスコープ)”というソースコードのページの
どこに上記のサンプルを貼り付ければいいでしょうか?
”// TODO: ここにコードを挿入してください。”の部分へ貼り付けたり
・このときエラーはいっぱい出ました
わからないので全てを削除して貼り付けてみたりしましたがビルドできません
・この時のエラーは下記の1つでした
fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか?
VC++2008の開き方、サンプルの張り方教えてくださいm( _ _ )m
0086デフォルトの名無しさん
2008/11/11(火) 11:50:54もっと初歩的なことやったほうがいいと思うよ。
0087デフォルトの名無しさん
2008/11/11(火) 11:53:48そこをなんとか教えていただけないでしょうか?
よろしくお願いします
取りあえずサンプルの全角空白を半角空白に直した後どうすればよいのか教えてください
お願いします
0088デフォルトの名無しさん
2008/11/11(火) 12:00:55{
・
・
}
これが関数だよ。
適当に最後にでも置いて、
VOID setKeybrd( LPINPUT lpKey, WORD wVKey, BOOL bKeyDown );
の1行を先頭のほうの
// このコード モジュールに含まれる関数の宣言を転送します:
のあたりにでも置いておく。
INPUT Key[ 2 ];
・
・
・
if ( SendInput((UINT)(lpKey - Key),Key,sizeof(INPUT)) == (UINT)(lpKey - Key) ){
//”S”を押すと実行する既存のプログラム
}
これが本体だ。
自分が使いたいとこに置けばいい。
この使いたいところ、ができないうちは何もできんからあきらめろ。
{} でくくって case IDM_ABOUT: の次あたりに放り込んでもいいけどな。
0089デフォルトの名無しさん
2008/11/11(火) 12:10:40マジでありがとう(;´д⊂ヽ
どうしていいのかわかんなくて困ってたんです
使いたいところってのはまだ(ソースコード作って)ないんです
取りあえずこのサンプルだけで自分の環境でも動かせないのか知りたかったんです
詳しく本当にありがとうございました
助かりました心から感謝してます
ありがとうございましたm( _ _ )m
0090デフォルトの名無しさん
2008/11/11(火) 16:54:06VC++とC++の違い教えてください
C++のサンプルコードはVC++でコンパイルできますか?
先ほど1時間かけてこの地方で一番大きな本屋さんへ行って解説本を2冊購入したのですが
なんと!
帰りの電車の中で気づいたのですが1冊はVC++ではなくC++用だったんですorz
まだレシート持ってるから電話して交換してもらった方がいい?
自分としては応用できそうならこのままこの本で勉強したいです
その本は「○○の絵本」シリーズでちょっと有名な本です
挫折はしましたがJAVAやPHPの時も購入して良本というイメージがあったんです
それで「VisualC++500の極意」と「C++の絵本」を持ってレジに行って買ったんです
内容的にはCを知っている方にC++とはこういうものですって感じです
私はCを習得したわけじゃないですけど
なんとなくわかります
Cで使ったPrintfのソースをそのまま使えるけどエラーが出ます、それは戻り値がないからで
そのままでも問題はありませんが気になるのならmainの前に型intを付けて最後にリザルト0をつければいい
こんな感じでわかりやすいんです
私が実際に使っていこうとしてるのはVC++EEなのでC++との違いが気になります
前置き長くなり申し訳ないです
C++のサンプルはVC++で使えますか?
よろしくお願いいたします
0091デフォルトの名無しさん
2008/11/11(火) 16:59:22C++は言語の名前、VC++はC++で開発するための製品、の名前。
0092デフォルトの名無しさん
2008/11/11(火) 17:03:05即レスどもありがとです!
ということは問題無しですね
ドキドキしちゃったよ
教えてくれてありがとうですm( _ _ )m
0093デフォルトの名無しさん
2008/11/12(水) 14:44:550094デフォルトの名無しさん
2008/11/14(金) 00:54:01VC++とC++で迷うのは想定外だったけど
確かに知らなかったら迷うよなーとは思った
0095デフォルトの名無しさん
2008/11/14(金) 01:57:51人に聞く前に検索すれば済む話。
0096デフォルトの名無しさん
2008/11/14(金) 06:39:480097デフォルトの名無しさん
2008/11/14(金) 10:36:02お世話になります
先輩たちのお陰でなんとかブラウザ作れましたありがとうございます
(実は解説本、そのまんま^^)
これでファイルの読み書きとあわせて2つのことができるようになりましたw
ありがとうです
この先、目標はブラウザで読み込んだテキスト内で文字検索して保存するです
例えばヤフーのトップ画面を見て「年金」や「少年」という文字を検索して
あればその記事を保存するってことをやってみたいです
やりかたとしてテキストファイルに保存しないで
トップ画面をダウンロードしながら検索もする方法を希望です
多分これが一番早い方法だと思うからです
ダウンロード中のヤフートップ画面から文字列検索する方法教えてください
ブラウザを作れたと言っても解説本のまま入力して作っただけなので
私はまだ難しいことは一切わかりません
ヤフートップ画面のテキストを保存する方法もわかりません
どなたか優しく教えてください
お願いします
0098デフォルトの名無しさん
2008/11/14(金) 11:06:23C++の参考書などでは、 new で配列を確保した場合に開放は delete [] で行うとなっていますが
タスクマネージャで使用メモリを調べてみると、delete [] ではなく delete のみの表記でも
同じように開放されているようです。
(MB単位の配列の new と delete を何千何万回繰り返しても、使用メモリが増加していかない)
これは、VC++ではdeleteの配列開放処理についてはコンパイラが
面倒をみてくれるという事でしょうか?
それとも、現在のC++では delete でも delete [] でもどちらでも問題ないのですか?
0099デフォルトの名無しさん
2008/11/14(金) 14:21:59new[]したなら必ずdelete[]。deleteするのは[]の無いnewしたもの。混同しちゃダメ。
コンストラクタ/デストラクタが無いものだと問題が起きない場合もあるのかもしれないけど。
0100デフォルトの名無しさん
2008/11/14(金) 14:44:54レスありがとうございます。
なるほど、単純なデータ配列ではなくて、コンストラクタやデストラクタのある
オブジェクト配列だと問題が発生するということですか。
メモリの開放自体がされないわけではなく、そういったオブジェクト内部処理に
問題が発生するという解釈でいいですかね。
単純なデータ配列(int配列のような)の場合に何か問題が起きる事例はありますか?
もちろん本来の記述ルールとして[]を付けるというのはわかってはいますが、
具体的にどういう問題が出るのかというのがいまいち良く分かりません。
0101デフォルトの名無しさん
2008/11/14(金) 14:55:23■ このスレッドは過去ログ倉庫に格納されています