★初心者にVisual C++ ..
2:デフォルトの名無しさん
09/06/19 12:40:01
Part30 スレリンク(tech板)
Part29 スレリンク(tech板)
Part28 スレリンク(tech板)
Part27 スレリンク(tech板)
Part26 スレリンク(tech板)
Part25 スレリンク(tech板)
Part24 スレリンク(tech板)
Part23 スレリンク(tech板)
Part22 スレリンク(tech板)
Part21 スレリンク(tech板)
Part20 スレリンク(tech板)
Part19 スレリンク(tech板)
Part18 スレリンク(tech板)
Part17 スレリンク(tech板)
Part16 スレリンク(tech板)
Part15 スレリンク(tech板)
Part14 スレリンク(tech板)
Part13 スレリンク(tech板)
Part12 スレリンク(tech板)
Part11 スレリンク(tech板)
Part10 スレリンク(tech板) ※
Part09 スレリンク(tech板) ※
Part08 URLリンク(pc5.2ch.net)
Part07 URLリンク(pc5.2ch.net)
Part06 URLリンク(pc5.2ch.net)
Part05 URLリンク(pc5.2ch.net)
Part04 URLリンク(pc5.2ch.net)
Part03 URLリンク(pc5.2ch.net)
Part02 URLリンク(pc3.2ch.net)
Part01 URLリンク(pc3.2ch.net)
3:デフォルトの名無しさん
09/06/19 12:40:19
【このスレの前身 VisualC++相談室 過去スレ】
part 1 URLリンク(piza.2ch.net)
part 2 URLリンク(piza.2ch.net)
part 3 URLリンク(piza2.2ch.net)
part 4 URLリンク(pc.2ch.net)
part 5 URLリンク(pc.2ch.net)
part 6 URLリンク(pc.2ch.net)
part 7 URLリンク(pc.2ch.net)
part 8 URLリンク(pc.2ch.net)
part 9 URLリンク(pc5.2ch.net)
【関連スレ】
■MFC相談室 mfc20d.dll■
スレリンク(tech板)
Win32API質問箱 Build80
スレリンク(tech板)
【C++】 DirectX初心者質問スレ Part23 【C】
スレリンク(tech板)
C言語なら俺に聞け(入門篇) Part 49
スレリンク(tech板)
【初心者お断り】ガチ規格準拠C専用スレ Part133
スレリンク(tech板)
C++相談室 part70
スレリンク(tech板)
C/C++の宿題片付けます 127代目
スレリンク(tech板)
【初心者歓迎】C/C++室 Ver.66【環境依存OK】
スレリンク(tech板)
4:デフォルトの名無しさん
09/06/19 12:40:37
【関連サイト】
猫でもわかるプログラミング
URLリンク(www.kumei.ne.jp)
MSDN ライブラリ ※変更された
URLリンク(msdn.microsoft.com)
Platform SDK Update ※変更された
URLリンク(www.microsoft.com)
Google
URLリンク(www.google.co.jp)
Platform SDKの中で一番新しいのはこっち
Microsoft Windows Server 2003 R2 Platform SDK Web Install
URLリンク(www.microsoft.com)
(ISO版などあり)
これ以降、Platform SDK + .NET Framework SDKとして
Windows SDKが公開されていて、その中で一番新しいのはこれ。
Windows SDK for Windows Server 2008 and .NET Framework 3.5
URLリンク(www.microsoft.com)
少し前のバージョン(Vista + .NET 3.0の初期版)には日本語版もあったけど、
日本語化されているのは専ら.NET Framework部分だけ。
VC6対応の、最後のPSDKはここ。
URLリンク(www.microsoft.com)
5:デフォルトの名無しさん
09/06/19 13:46:33
Visual c++ で hello world と表示させる方法を教えてください。
ソースファイルに以下のプログラムを書いてもエラーが出ます。
ヘッダーファイルにも何か書かないとダメですか?
#include <stdio.h>
{
printf ("hello world\n");
return 0;
}
6:デフォルトの名無しさん
09/06/19 13:48:30
もう一度>>1をよく読み直せ
7:デフォルトの名無しさん
09/06/19 13:51:18
本当にこれだけ書いたのか?
8:デフォルトの名無しさん
09/06/19 13:52:15
>>5
mainがない。
9:デフォルトの名無しさん
09/06/19 13:52:34
#include <stdio.h>
int main(void)
{
printf ("hello world\n");
return 0;
}
10:デフォルトの名無しさん
09/06/19 13:53:48
>>7-8
#include <stdio.h>
main()
{
printf ("hello world\n");
return 0;
}
これだけ書きました。エラー1です。
11:デフォルトの名無しさん
09/06/19 13:54:57
>>9
エラーでませんでした。みなさん、ありがとうございました。
12:808
09/06/19 14:14:31
「スレ立てるまでも無い質問スレ」の
テンプレ作成してくれた>>809-812さん、スレ立てしていただいた>>818さん、
本当にどうも助かりました。このスレは、私の生きがいみたいなもので・・
立てられなくて困っていたので、本当に助かりました。どうもありがとう。
13:デフォルトの名無しさん
09/06/19 14:18:50
うひゃー。うれしいな。僕の居場所が一つ元に戻った( ´Э`)
14:デフォルトの名無しさん
09/06/20 20:38:54
VC2008(MFC)使ってるんだけど、デバッグが出来るメモ帳位にしか使えてないです。
もっと高度なIDEの使い方を勉強したいので、お勧めのサイトや本があったら教えて下さい。
15:デフォルトの名無しさん
09/06/20 21:34:16
MFCなのにメモ帳位にしか使えてないんなら
IDEを必要としていないと言うことだ。
必要もないのに勉強するだけ無駄
16:デフォルトの名無しさん
09/06/20 21:37:23
IDEの使い方の解説ってあんまりないな。
人の使いかを見てて「え、こんな機能あったの?」って気づくことがある。
17:デフォルトの名無しさん
09/06/20 23:48:30
Visual C++のExpressEditionって
C#とかVB.bet
などと違って
.netFrameworkとかいうやつ入れなくても動かせるの?
18:デフォルトの名無しさん
09/06/20 23:48:44
>>14
>もっと高度なIDEの使い方
具体的にはどんな使い方が君とっての「高度な」使い方になるのかな?
19:デフォルトの名無しさん
09/06/20 23:49:51
>>17
まずは試してみよ
20:デフォルトの名無しさん
09/06/20 23:55:02
>>19
質問の仕方悪くてすまん。
作成俺が必要かってことじゃなくて
作ったexeを実行するために必要かってこと。
.net必須だとexeネットで配布しても実行できない人多いよね。
C#とかVB.netだとHello World一行表示するプログラムでも.netFramewok必要だったが
C++は必要ない?
21:デフォルトの名無しさん
09/06/20 23:59:24
>>20
ライブラリをスタティックリンクしてEXEを作成すると、ランタイムライブラリの類は不要。単体で実行できる。
22:デフォルトの名無しさん
09/06/21 00:49:42
レスしてくれた人ありがとう。
>>18
ほんの一例なんだけど、ウィンドウにCWnd::SendMessage(Postも)とか良くするよね。
その時に、
#define WM_USER_EXAMPLE (WM_USER+1)
LRESULT OnUserExample(WPARAM, LPARAM);
ON_MESSAGE(WM_USER_EXAMPLE, OnUserExample)
LRESULT CExampleWnd::OnUserExample(WPARAM wParam, LPARAM lParam)
{
return 0;
}
こんなの、いちいち適所に書かなきゃ(コピペ)ならなくて面倒ですよね?
何か一つ忘れただけで、コンパイルエラーとかうっとうしいし。
これを一発で(綺麗に)入れてくれる機能とか?低レベルな使い方だったらゴメン。
あくまでも自分にとって高度なだけです。
後は自分が思いもつかないような便利な使い方が沢山ありそうなので、そういうのを
勉強したいと思いました。やっぱりMSDNコツコツ読むしかないですかね。
23:デフォルトの名無しさん
09/06/21 01:31:28
なんとなくできそうな気もするけど、やり方は僕にもわからない。
>#define WM_USER_EXAMPLE (WM_USER+1)
#define WM_USER_EXAMPLE (WM_APP+1) // こっちにしとき。
24:デフォルトの名無しさん
09/06/21 02:03:38
それはコードスニペットが近い機能だと思う。
そもそも、IDEの支援を当てにするなら、C#とかにしたほうがいい。
C++は、インテリセンスが運良く出て来れば万々歳って言語だから。
25:デフォルトの名無しさん
09/06/21 08:49:37
>>21
初心者ですみませんが、EXEファイルはどうやって作るんですか?
26:デフォルトの名無しさん
09/06/21 10:45:50
コード書いてビルド
27:デフォルトの名無しさん
09/06/21 17:53:23
DLLはプロジェクト分けてビルドしないといけないの?
28:デフォルトの名無しさん
09/06/21 18:06:44
分けなくてもいいよ
29:デフォルトの名無しさん
09/06/21 18:10:30
ソリューションは分けなくてもいいけど、プロジェクトは分ける
30:デフォルトの名無しさん
09/06/21 18:35:09
分けなくてもいいよ
31:デフォルトの名無しさん
09/06/21 19:25:13
具体的にどうやればできるんでしょうか?
dllはなんとかビルドできたんですがmainのほうのプロジェクトがビルドできません
32:デフォルトの名無しさん
09/06/21 19:34:48
具体的にどうできないのかを書かないなら一生ヘルプとgoogle先生とにらめっこしてろよ
ここはコミュニケーションが取れる人間のための場所だ
33:デフォルトの名無しさん
09/06/21 19:57:29
dllのほうのproject
[dll.h]
#ifdef DLL
#define DECLSPEC __declspec(dllexport)
#else
#define DECLSPEC __declspec(dllimport)
#endif
void DECLSPEC DLLFunc();
[dll.cpp]
#include <iostream>
#define DLL
#include "dll.h"
void DLLFunc() {std::cout << "DLLFunc()" << std::endl;};
34:デフォルトの名無しさん
09/06/21 19:58:11
mainのほうのproject
[main.cpp]
#include "dll.h"
int main(void) {
DLLFunc();
return 0;
}
・ソリューションエクスプローラー上でdll.hをコピー
・dllのほうのprojectのプロパティ->構成の種類をDLL
・依存関係でmainの依存先をdllに
・ソリューションのビルド
ここまでやったんですが、
・デバッグで使用する実行ファイル名を指定してください
といわれたので、何もいじらずにC:\WINDOWS\system32\regsvr32.exeを選択
したんですが、デバッグなしで開始したら
・DLLが指定されていません
と表示されてなにも実行されません
なにが問題なんでしょうか
35:デフォルトの名無しさん
09/06/21 19:59:04
書き忘れましたdll.hは実ファイルの方もmainのprojectにコピーしました
36:デフォルトの名無しさん
09/06/21 20:46:27
>>34
2つは同じソリューションだよね。
mainのほうをスタートアッププロジェクトにしている?
あと、regsvr32はこういう普通のDLLには無関係。
37:デフォルトの名無しさん
09/06/21 21:30:33
スタートアッププロジェクトをmainに設定したら期待通りに動きました
どうも有難うございました
38:デフォルトの名無しさん
09/06/22 07:53:32
VC6のリソースエディタにてダイアログボックスにタブコントロールをつけたのですが
画像のようにタブ内の編集を行いたいのです
どのようにすれば編集は可能なのでしょうか?
URLリンク(sakuratan.ddo.jp)
サンプルソースなどあると助かります
39:デフォルトの名無しさん
09/06/22 10:50:52
>>38
どうやったらその画面になるの?
ソースコードの画面から切り替えられないよ。
横レスすまん。
40:デフォルトの名無しさん
09/06/22 13:51:08
スレ勃てるまでもないスレでシカトされてしまったんでこっち来ました。
思いつきでこんなクラス書いてみました。
class CLocalTime
{
private:
char buf[32];
SYSTEMTIME SysTime;
public:
CLocalTime()
{
}
operator char *();
};
CLocalTime::operator char *()
{
GetLocalTime(&SysTime);
sprintf_s(buf, 31, "%04d/%02d/%02d %02d:%02d:%02d",
SysTime.wYear, SysTime.wMonth, SysTime.wDay,
SysTime.wHour, SysTime.wMinute, SysTime.wSecond);
buf[31] = '\0';
return buf;
}
これで、例えば printf なんかで使うときに、
printf("通過![%s]\n", (char *)CLocalTime());
ときちんとキャストすればちゃんと表示されるんですが、
printf("通過![%s]\n", CLocalTime());
だけで表示させるにはどうすればいいんでしょうか。operator CLocalTime &() を
追加してみましたがダメでした。CAtlStringA なんかは後者できちんと表示されています。
41:デフォルトの名無しさん
09/06/22 14:25:20
C++言語の質問だったらC++スレへ
42:デフォルトの名無しさん
09/06/22 18:31:26
>>40
「ダメ」だけだから無視される。エラーが出たならエラーメッセージ、そうでないならどうダメだったか書くのが常識。
43:デフォルトの名無しさん
09/06/22 20:31:33
>>40
CStringの定義を辿ってみろ。
メンバ変数が文字列へのポインタ1つしかない。
だから、可変個引数でもconst char*を渡したかのような振る舞いが可能になっている。
44:デフォルトの名無しさん
09/06/22 21:07:43
素直に class CLocalTime::ShowTime() 関数作る
45:デフォルトの名無しさん
09/06/23 16:20:56
private メンバ変数への値を返すのはいかがなものかと
46:デフォルトの名無しさん
09/06/23 17:30:15
>>40
キャストなしで可変長引数の関数にクラスを渡したら、
どのメンバ関数が呼び出されるんだろうと思って、MFCの
CStringで確認してみたら、クラスがそのまま値渡しされてる
だけだったな。
CStringの場合、クラスのメンバ変数がchar*だけだったから、
結果的にchar*の変数を渡したのと同じ動きになってた。
(const char*)でキャストすると、operator char*()が呼ばれて、
メンバ変数のchar*の変数を渡してた。(可変長引数の関数に
渡される値は結果的に同じ)
そのCLocalTimeは、メンバ変数が二つあるから、それが二つとも
スタックに詰まれて、おかしな動きになってるんだろうな。
47:デフォルトの名無しさん
09/06/23 17:59:16
ひょっとして1project 1クラスが基本なの
48:デフォルトの名無しさん
09/06/24 06:04:29
VC2008EEを使っています。
デバッグ中にアサートで停止した時に、実行したコードを1行ずつ巻き戻す事ってできないでしょうか?
49:デフォルトの名無しさん
09/06/24 06:29:00
>>48
巻き戻し自体はできない
しかし、現在の実行行(正確には次に実行する行)はアセンブラレベルではは eip レジスタに格納されているので、
逆アセンブラウィンドウを開いて、このレジスタの値を書き換えることで、
実行済みの行を含む任意の箇所にジャンプできる
この機能を使うことで、変数の値を書き換えながら、実行済みの行を無理やり再実行させたりできる…はず(うろ覚え)
当然、レジスタやメモリの値も自分で書き戻してやる必要があります
50:デフォルトの名無しさん
09/06/24 07:08:05
>>49
thx
レジスタやメモリいじるのは大変そうだ・・・。
51:デフォルトの名無しさん
09/06/24 15:37:45
ソリューション内でStdAfxを共有したい場合はどう設定すればいいんでしょうか?
52:デフォルトの名無しさん
09/06/24 17:01:51
>>51
お店に行き
10万支払う
53:デフォルトの名無しさん
09/06/24 17:12:03
どこのお店でしょうか?
54:デフォルトの名無しさん
09/06/24 17:52:26
>>53
ggrks
値段も
ggrks
55:デフォルトの名無しさん
09/06/25 00:00:28
普通のプログラム(hello world出力のみなど)をつくりたいときは、どのプロジェクトの種類を選んだらいいのですか?
56:デフォルトの名無しさん
09/06/25 00:05:51
コンソール アプリケーション
57:デフォルトの名無しさん
09/06/25 00:12:54
空のプロジェクト
58:デフォルトの名無しさん
09/06/26 18:18:00
C:\Documents and Settings\maria15\My Documents\Visual Studio 2008\Projects\aab\Debug
と
C:\Documents and Settings\maria15\My Documents\Visual Studio 2008\Projects\aab\aab\Debug
があるんだけど、なんで?
C:\Documents and Settings\maria15\My Documents\Visual Studio 2008\Projects\aab\Debug
にだけ、aab.exe があります。
これだけを配布すればいいんですか?
59:デフォルトの名無しさん
09/06/26 18:19:13
aab\Release\aab.exe を配布します。
Debug版はランタイムライブラリがないので動きません。
60:デフォルトの名無しさん
09/06/26 18:34:57
>>59
ありがとう。
aab\Release
のフォルダがありません。
どうすればファイル作成できますか?
61:デフォルトの名無しさん
09/06/26 18:38:54
aab\aab\
62:デフォルトの名無しさん
09/06/26 18:41:03
ツールバー or 構成マネージャを使って、アクティブを Debug から Release に切り替えろ。
63:デフォルトの名無しさん
09/06/26 19:00:57
>>61-62
\aab\Release
ができました。
フォルダの中に
aab.exe
aab.pdb
が作成されました。
両方ZIPでまとめて配布ですか?
64:デフォルトの名無しさん
09/06/26 19:02:19
exeだけ
65:デフォルトの名無しさん
09/06/26 19:08:27
>>64
わかりました(^^)!
66:デフォルトの名無しさん
09/06/26 19:42:05
(^^)<ホイミン!!
67:デフォルトの名無しさん
09/06/26 19:43:41
ねえ、今VC6で
しこしこMFCやってんだけどそろそろ
買い換えようと思うんだけど、VC6からVS2008に
あくまでMFC使用しかしないということで移行する価値ってある?
68:デフォルトの名無しさん
09/06/26 19:52:47
★2009年最新在宅ワーク!★☆13
URLリンク(doudu.youkoso.sa-suke.com)
69:デフォルトの名無しさん
09/06/26 20:16:10
VS2010がもうすぐ出る
70:デフォルトの名無しさん
09/06/26 20:55:22
そういうために評価版がある。
71:デフォルトの名無しさん
09/06/27 03:11:33
いくつかのCソースファイルとヘッダファイルとmakefile(よく分かりません)
が入ったフォルダを落としたんですが
こういう形であるソースコードをvisual studio 2003で
コンパイル、実行するにはどうすればいいですか?
72:デフォルトの名無しさん
09/06/27 03:15:43
コマンドラインで設定用のバッチファイルを呼んでからnmake
73:デフォルトの名無しさん
09/06/27 03:21:02
#include <stdio.h>
int main(void)
{
char a;
int x;
printf("数字は?");
scanf_s("%d",&x);
printf("文字は?");
scanf_s("%c",&a);
printf("数字は%dです。\n",x);
printf("文字は%cです\n",a);
return 0;
}
正常に動作しません。エラー、警告ともにでませんが、デバッグで異常がでます。
「
数字は?(:8と入力する)8
文字は?数字は8です。
文字は
です。
」
と出ます。文字の入力ができません。どうしてでしょうか?
74:デフォルトの名無しさん
09/06/27 03:22:05
>>72
すみません。
設定用のバッチファイルを呼ぶってどうすればいいんですか?
75:デフォルトの名無しさん
09/06/27 03:25:27
>>73
scanf()は使わんから細かい挙動を知らんけど、
表示から考えると、8のあとの改行が%cでよまれてるっぽいな。
76:デフォルトの名無しさん
09/06/27 03:33:39
>>75
本当ですね。
「
数字は?(8gと入力)8g
文字は?数字は8です。
文字はgです
」
と表示されます。やっぱり謎です。
77:デフォルトの名無しさん
09/06/27 07:40:10
スレ違いくさいけど
scanfは、標準入力から直接受け取らないで、バッファに一旦入力した文字を格納する。
8を入力したとき、バッファには"8","\n"が格納される
それをscanfが読み込んで、バッファには"\n"が残っている
で、次のscanfでは「入力待たなくてもバッファの残りを代入すればよくね?」と考えて改行を読み込んじゃう
8gと入れたときは\nをgに置き換えてるだけ
78:デフォルトの名無しさん
09/06/27 08:34:04
scanf関数は、罪作りな関数だと思うよ。
入門しか使わないくせに、癖が強すぎて入門者殺し
実用的なプログラ身ではscanf関数はまったく使わない
79:デフォルトの名無しさん
09/06/27 11:54:19
すいません。VC初心者です。
Visual Studio 2008 Express Edition と platform SDK で Win32プログラムを
作りたいんだけど、普通のC言語で作れますか?
80:デフォルトの名無しさん
09/06/27 11:57:24
>>78
どうせ初心者にはおまじないと大差ないレベルなんだから
安全な方法をブラックボックスとして与えればいいのにねー
なんでscanfなんだろう
81:デフォルトの名無しさん
09/06/27 12:22:03
C言語ができた当時はアセンブラレベルが当たり前だったから
scanf程度でも十分初心者に優しかった。
82:デフォルトの名無しさん
09/06/27 16:27:32
>>79
できる
83:デフォルトの名無しさん
09/06/28 10:25:18
vc++がc++0xに対応するのはいつごろなんですか?
template typedefとか使いたいんですけど
84:デフォルトの名無しさん
09/06/28 14:48:05
こんなところで日本語で質問しても誰も見てないと思うが
85:デフォルトの名無しさん
09/07/02 22:40:17
アラビア語じゃないとね
86:デフォルトの名無しさん
09/07/03 00:06:09
いちいち文字参照で書き込まないといけないから面倒臭いんだよね、2chだと
87:デフォルトの名無しさん
09/07/03 15:15:44
>>83
次のVisual C++ 2010から少しずつ始まる。
URLリンク(www.codeguru.com)
88:デフォルトの名無しさん
09/07/04 01:09:09
VC++2008EEでWin32アプリを作ってます。
ウィンドウに配置したコントロールのDisabledの値を変更するにはどうすればいいでしょうか?
89:デフォルトの名無しさん
09/07/04 01:23:24
>>88
EnableWindow
90:デフォルトの名無しさん
09/07/07 17:49:35
他人の作ったWindowsアプリのメンテナンスをすることになりました。(製作者は行方不明です)
が、最初のところでいきなりつまづいてしまいました。
プログラムのエントリポイントがどこにあるのかわからないのです。
ソースのあるフォルダ全体に対してgrepをかけてみたのですが、mainもWinMainも見あたらず、
リンカのオプションにも/ENTRYは使われていませんでした。
プロジェクトファイルにもEntryPointSymbolの記述がありません。
私はこれ以外にエントリポイントを指定する方法を知らないのですが、
あとはどこを見ればいいのでしょう?
環境はVisual Studio 2008です。
91:デフォルトの名無しさん
09/07/07 17:55:56
言語がC++なのは確かなことだと思うが、MFCで作成されたものならどちらのエントリポイントもソース中には存在しない。
92:デフォルトの名無しさん
09/07/07 18:05:05
>>90
MFCならプロジェクト名.cppにInitInstance()があるからその辺りがほぼエントリポイントだが、
そのレベルだととてもじゃないがメンテナンスは無理。
先ずはMFCアプリの解説本を読んで簡単なMFCアプリを作れるようになってからだと思う。
# 逆に言えば、エントリポイントなんて意識する必要ないことを知っていれば簡単なんだけどね。
93:デフォルトの名無しさん
09/07/07 18:22:46
すいません。書き忘れていましたが、InitInstanceもgrepで探したんですが存在しませんでした。
で、Visual StudioでF11を押したら、とりあえずエントリポイントっぽいところが出てきました。
恥ずかしいことに、ステップ実行にはブレークポイントが必須だと思い込んでいました。
いきなり頭からステップ実行できたんですね。
そのあと順にステップ実行していったら、別のDLLの中でインスタンスの初期化をしていました。
どおりで、ソースをいくら見てもわからないわけです。
とりあえず「MFC」でぐぐったら、どういう物なのかわかってきました。
ありがとうございました。
94:デフォルトの名無しさん
09/07/07 18:32:09
で、MFCなの?
.netだったりしてないよね?w
95:デフォルトの名無しさん
09/07/07 20:19:45
>>89
ありがとうございます。
もう一つ質問です。
2008EEのWin32アプリでは「クラス追加ウィザード」というのは使えないのですか?
使えない場合、自前でやる方法があれば教えてください。
96:デフォルトの名無しさん
09/07/07 21:20:01
質問です
input関数で.txtのデータを読み込むのですが
読み込んでTextBoxに表示させるとvbTabで空けた空白の長さが整わないのです
どうすれば整いますか?
FileOpen(1, fname, OpenMode.Input)
TextBox4.Text = "クラブ名" & vbTab & "男子部員数" & vbTab & "女子部員数" & vbCrLf & vbCrLf
Do Until EOF(1)
Input(1, club) : Input(1, dansi) : Input(1, josi)
TextBox4.Text = TextBox4.Text & vbTab & club & dansi & josi & vbCrLf
Loop
FileClose(1)
環境はVisual Basic 2008 Express Edition
Windows Formでやりました
97:デフォルトの名無しさん
09/07/07 21:23:26
>>96
スレ違い
98:デフォルトの名無しさん
09/07/07 21:31:26
>>97
だと思うなら誘導しろ。
99:デフォルトの名無しさん
09/07/07 21:36:24
>>98
VBのスレを知らんから誘導できん。すまんな。
100:デフォルトの名無しさん
09/07/07 21:43:30
すいません、スレタイちゃんと読んでませんでした
Visual まで読んで あっVB とか思い込んでました
101:デフォルトの名無しさん
09/07/08 02:06:18
連番のjpegファイルからmotion jpegのaviファイルを生成したいのですが、
そういう機能を持った商用の良いライブラリはないでしょうか。
PIC Video codec等はアプリケーションに見えるのですが、
ライブラリとして使えないものでしょうか。
102:デフォルトの名無しさん
09/07/08 10:17:00
OpenCV
103:デフォルトの名無しさん
09/07/08 20:27:55
vc++eeでwin32apiアプリケーションを作る勉強をしてるのですが
CppUnitを導入しようと思いまして、テストの出力を出力ウィンドウなどに送りたいと思います。
TRACEマクロはMFCじゃないと使えないようですし、何か方法あるのでしょうか?
コマンドプロンプトを起動してcoutしても出ないようですし。
よろしくお願いします。
104:103
09/07/08 20:34:31
すいません
見つけました
OutputDebugStringですね
散々探して見つからなくて、書き込んでちょっと探すと見つかる・・・
このパターンが多いな
失礼しまいた。
105:デフォルトの名無しさん
09/07/09 00:56:20
2日前にVS2008EEを入れてC++の勉強を始めました。
テンプレートの一番最初にあるWindowsフォームアプリケーションを選択して
フォームにボタンを置いてネットのサンプルをそのままコピペしたのですがコンパイルできません。
書き足したのはこの1行だけです。
(前略)
private void button1_Click(object sender, EventArgs e)
{
HWND hWnd = FindWindow("無題", null); //←追加
}
(以下略)
どう直せばいいんでしょうか?
106:デフォルトの名無しさん
09/07/09 02:18:43
>>105
その1行自体は<windows.h>をインクルードすればいいのだが、
フォームアプリケーション(というよりCLRプロジェクトすべて)は、
<windows.h>ベースの仕組みではないから、お前が見ているであろうサンプルすべてが参考にならないぞ。
107:デフォルトの名無しさん
09/07/09 02:37:34
URLリンク(opencv.jp)
動的輪郭に興味があり↑の物体追跡(Object Tracking)のサンプルコードを動かそうと思ったのですが、
warning C4305: '初期化中' : 'double' から 'float' へ切り詰めます。
warning C4305: '初期化中' : 'double' から 'float' へ切り詰めます。
warning C4305: '初期化中' : 'double' から 'float' へ切り詰めます。
error C3861: 'snprintf': 識別子が見つかりませんでした。
エラー 1、警告 3
となってしまいます。
opencvの設定についてはURLリンク(imagingsolution.blog107.fc2.com)を参照して行いました。
環境はVisual Studio 2008です。
問題点のご指摘よろしくお願いします。
108:デフォルトの名無しさん
09/07/09 06:01:38
たぶんそれVC用のソースじゃないから
VC用のソースを探すかVC用に修正して使う。
109:デフォルトの名無しさん
09/07/09 11:55:32
>>106
ありがとうございます。
VC++でぐぐっても、対象となるコンパイラのバージョンが明記されてないサイトが多くて困っています。
今のところVC++6.0やVS2005のサイトが多いでしょうか、
ある程度知識が付けば、ソースを見て判別できるようになると思うのですが。
最初に選ぶプロジェクトのテンプレートを変えれば、ヘッダの追加をしなくてもそのまま動く環境になりますか?
それとも2005用のソースを2008でコンパイルするには、毎回手直しが必要になってしまうものなんでしょうか。
110:デフォルトの名無しさん
09/07/09 13:15:51
>>109
いや、大抵のことはバージョン問わず使える。
VC++で作れるアプリには、ネイティブアプリとマネージアプリと2種類あって、これがまるで別物。
Windowsフォームアプリケーションのプロジェクトは後者。<windows.h>を使うのは前者。
VC++のプロジェクトの中では、Win32アプリケーションなどが前者に属する。
自分が何を使って作りたいのか決め、それについての解説だけを追わないと混乱する。
111:デフォルトの名無しさん
09/07/09 14:19:23
>>110
わかりました。
つまり、昔ながらのstatic xxx main関数があって、ソースの先頭に#include hoge.hが並んでいるような物が
今はネイティブアプリと分類されている、という解釈でよいでしょうか?
112:デフォルトの名無しさん
09/07/09 14:38:31
それは標準C/C++
113:デフォルトの名無しさん
09/07/09 18:17:12
あまりにも自分が無知すぎるので少しぐぐってきました。
「新しいプロジェクト」でテンプレートが5つのグループに分かれていますが、
CLRのグループに属しているのがマネージドアプリなんでしょうか。
すると一番下のWin32というのが、昔SDKと呼ばれていたものに相当するのかな?
古いサンプルを動かしたいときはMFCかWin32を選べばよさそうに思えます。
こんな理解で合ってますか?
114:デフォルトの名無しさん
09/07/09 18:41:18
その5つぐらい全部試してみたって1時間もかからないだろうし、
自分の目で確認したほうが人に聞くよりはるかに理解しやすい。
115:デフォルトの名無しさん
09/07/09 18:54:05
なんか初心者以前の質問が多いけど
最近はVCの入門書売ってないのか?
116:デフォルトの名無しさん
09/07/09 19:07:48
VS2008でC#を使う、みたいに特定の環境に向けた本ならたくさんあるけど、
移植とか移行とか処理系の世代間の差異を解説したものは少ないと思うよ
ライブラリの比較とか、ソースの記述方法の変化みたいな話はCマガジンとかでよく見る
117:デフォルトの名無しさん
09/07/09 19:44:31
いや、だからまず自分の環境用のそういう本買って初心者になれよって話だろ。
118:デフォルトの名無しさん
09/07/09 22:23:24
ここは入門者もOKのスレじゃん
119:デフォルトの名無しさん
09/07/09 23:33:39
初心者ですが質問いいでしょうか?
officeファイル(ppt,pptx,doc,docx)からファイルの情報(テキスト)を取得できる
プログラムは作れますか?
できればofficeの入ってないPCで実行したいです
120:デフォルトの名無しさん
09/07/09 23:35:03
スレ違い
121:デフォルトの名無しさん
09/07/10 01:03:46
どこのスレにいけばいいでしょうか?
122:デフォルトの名無しさん
09/07/10 08:36:41
>119
現実にそういうプログラムが存在するか調べる。
存在するならどうやってるか調べる。
123:デフォルトの名無しさん
09/07/10 10:57:53
>>122
初心者に優しくないのなら書き込むな。
立ち上げるな
124:デフォルトの名無しさん
09/07/10 11:30:07
ここは子供電話相談室か?
小学生なら小学校の教科書の範囲を勉強すればいいし
初心者なら入門書の範囲を勉強すればいい
教科書の範囲外は卒業してから
125:デフォルトの名無しさん
09/07/10 13:40:10
このスレ終了
126:デフォルトの名無しさん
09/07/10 13:53:58
>>119
取り出したい情報による。
ファイルサイズとか更新日時なんてのはOfficeとか関係ないし
作者名や会社名は文字列がそのまま入ってるから、それっぽいデータなら
なんとか取り出せないこともない。
ちゃんとしたBuiltinDocumentPropertiesなんかの情報が欲しいんだと、
Officeのインストールされてないマシンではちょっと難しい。
それこそファイルのヘッダから構造体のポインタを追っかけるような
プログラムになると思う。初心者スレで質問してるレベルでは無理。
127:デフォルトの名無しさん
09/07/10 14:11:45
>>120>>122>>124
>初心者スレで質問してるレベルでは無理。
=初心者ぷっ!w
128:デフォルトの名無しさん
09/07/10 14:37:06
OOoでテキスト出力すれば良いんじゃね?
129:デフォルトの名無しさん
09/07/10 15:16:06
次レス予測
「会社のマシンなのでOOoとか勝手にインストールできないんです」
130:デフォルトの名無しさん
09/07/10 18:11:21
「OOoって何ですか?」ではないかと
131:デフォルトの名無しさん
09/07/10 19:46:26
>>119
どの程度のことをやりたいかにもよるが、いずれにせよ基本的に適当なライブラリを見付けてそれを使えと言うことになる。
ただし、2007形式のほうはXMLをZIPで固めただけなので、その手のライブラリがなくてもなんとかなるかもしれない。
参考: URLリンク(www.atmarkit.co.jp)
ただ、Officeの存在を当てにしていいならそのほうがずっと簡単。
OfficeそのものがプログラムからOffice形式のファイルを読み書きその他するライブラリとして機能する。
132:119
09/07/10 20:54:14
お返事ありがとうございます
OpenOfficeで開けばいいのですがそこを自動化するプログラムを作成したいです。
>>126
具体的には以下の情報です
docファイル 本文、作者、更新時間
pptファイル 使われているテキスト、ノート、作者、更新時間
>>131
2週間ほど勉強してdocx,pptxはそのzip展開して情報を取り出すことまでできました。
docファイルとpptファイルがどうしようか悩んでいます。
バイナリ仕様が公開されているようですがどうも理解できません
>>126さんにあるようにヘッダから構造体、ポインタを勉強。
又は、利用できるライブラリ(フィルターでいいんでしょうか?)を探す。
この方法でいいんでしょうか?
133:デフォルトの名無しさん
09/07/10 20:59:50
>131
そんなのとっくの昔にやってるってさ
134:デフォルトの名無しさん
09/07/10 21:23:49
>>132
XDOC2TXT 呼び出せよ 割と使っているのは多い
135:デフォルトの名無しさん
09/07/10 21:29:37
フィルタ活用事例
GoogleXdoc
Namazu for Win32
Hyper Estraier
Meadow2
MiGrep
VxEditor
smoopy
Transwise
EBView
サーチクロス
xdoc2txtはPDF,WORD,EXCEL,一太郎などの各種バイナリ文書から、テキスト要素を抽出する汎用テキストコンバータであり、
Windowsのコマンドラインで動作します。
xdoc2txtは各種文書の構造を直接解析しているため、単独で変換できます。
WORDや Acrobatなど、作成元のアプリケーションをインストールする必要はありません。
高速に動作するので、各種全文検索エンジンのフィルタに最適です。
ワープロ文書の種類は、拡張子から判別します。次の拡張子のファイルに対応しています。
リッチテキスト Microsoft WORD 2007(OOXML) Microsoft Excel 2007(OOXML) Microsoft PowerPoint 2007(OOXML)
.doc Microsoft WORD ver5.0/95/97/2000/XP/2003 Microsoft Excel ver5.0/95/97/2000/XP/2003
.ppt Microsoft PowerPoint 97/2000/XP/2003 OpenOffice.org Open Document
一太郎 ver5 一太郎 ver6 一太郎 ver7 一太郎 ver8/9/10/11/12
OASYS/Win 新松/松5/松6 Lotus 123 Windows3.1 Write Adobe PDF Webアーカイブ HTML
OutlookExpressのエクスポート形式
URLリンク(www31.ocn.ne.jp)
136:デフォルトの名無しさん
09/07/10 21:38:28
どうみてもVCとは全く関係ない展開なんだが
137:デフォルトの名無しさん
09/07/10 21:47:52
結局VC全然使う必要なかった
138:デフォルトの名無しさん
09/07/10 21:55:41
xdoc2txt調べてみます
ありがとうございました。
こういう質問はどこでするのが適切でしたか?
139:デフォルトの名無しさん
09/07/10 22:12:28
さすがにそれぐらい考えろや…
officeでもプログラムでも、いくらでもキーワード出るだろ
140:デフォルトの名無しさん
09/07/11 22:39:34
#pragma once
ってプリプロセッサですよね?
どうやってプリプロセッサで
インクルード1回だけ
ってのを実現しているのでしょうか?
141:デフォルトの名無しさん
09/07/11 22:42:08
>>140
一般的なインクルードガードの手法はご存じない?
142:デフォルトの名無しさん
09/07/11 22:45:41
質問です。
タスクトレイにアイコンを表示する方法を調べています。
調べてみたら、Shell_NotifyIconという関数を
使用すればいけることが分かりました。
とりえず、コンパイルだけ通してみようと試しましたが、
うまくコンパイルが通りません。
どうすれば、コンパイルを通せるようになるでしょうか?
エラーメッセージが
error LNK2028: 未解決のトークン (0A00000F)
"extern "C" int __stdcall Shell_NotifyIcon・・・・で参照されました。
error LNK2019: 未解決の外部シンボル
"extern "C" int __stdcall Shell_NotifyIconW・・・・で参照されました
Shell_NotifyIconを使用している関数の中身は
NOTIFYICONDATA notif;
Shell_NotifyIcon(NIM_ADD, ¬if);
しか書いていません。
環境はVC++2008 Express EditionのWindowsFormで作成しています。
よろしくお願いします。
143:140
09/07/11 22:49:33
>>141
存じ上げています。
#ifndef ***
#define
本ソース
#endif
ですよね。
プリプロセッサは
コンパイラに引き渡す前の字句の置き換えを行うものだと
いう認識なのですが、
そうだとすると
#pragma once
ではどうやっているのか不思議だなぁということです。
144:デフォルトの名無しさん
09/07/11 22:58:56
>>143
それなら話は簡単。内部的には同じことをやっていると思われ。
例えば/usr/include/stdio.hに#pragma oneceと書いてあったら、
#ifndef _USR_INCLUDE_STDIO_H
#define _USR_INCLUDE_STDIO_H
...
#endif
と書いてあると見做せばいいわけだ。
あとはここも要チェック。
スレを勃てるまでもないC/C++の質問はここで 11
スレリンク(tech板:686番),687
145:デフォルトの名無しさん
09/07/11 23:07:28
>>140
ようするにプリプロセッサが特別扱いで処理している。
字句の置き換えはやることの1つに過ぎない。
>>142
プロジェクトのプリパティのリンカの「追加の依存ファイル」のところにshell32.lib追加してみたら?
146:デフォルトの名無しさん
09/07/11 23:08:13
>>144
なるほど。
ファイル名を利用しマクロ化しているなどの実装が考えられるというわけですね。
ありがとうございました。
147:デフォルトの名無しさん
09/07/11 23:11:55
>>142
#include <shellapi.h>
#pragma comment(lib, "shell32.lib")
148:142
09/07/11 23:22:17
>>145
>>147
ご回答ありがとうございます。
>>147さんの方法でコンパイルが通りました。
ありがとうございました。
149:デフォルトの名無しさん
09/07/12 10:23:17
本屋に行ったけどCたすたすの本は少なく
#が多いんだけど
どっちで勉強してもいいんだろうか
MFCとかCOMとかAPIっていまさら何ですかね
150:デフォルトの名無しさん
09/07/12 11:08:52
>>149
そりゃ両方できた方がいい
MFCが必要かどうかは作りたい物によるけど、COMとAPIは知らんと話にならんぞ
151:デフォルトの名無しさん
09/07/12 11:41:42
ありがとうございます
じゃあ、その二つは早急に習得します
一か月ぐらいでかな
152:142
09/07/12 12:36:29
質問です。
前回と同じで、タスクトレイにアイコンを表示する方法を調べています。
今度はLoadImageという関数を使用している部分でコンパイルエラーになります。
エラーメッセージが
未解決のトークン (0A00000B) "extern "C" void * __stdcall LoadImageW
・・・・で参照されました
error LNK2019: 未解決の外部シンボル "extern "C" void * __stdcall LoadImageW
・・・・で参照されました。
fatal error LNK1120: 外部参照 2 が未解決です。
ソースは
HINSTANCE hInst = GetModuleHandle(NULL);
NOTIFYICONDATA icn;
icn.hWnd = hwnd;
icn.uID = 100;
icn.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
icn.uCallbackMessage = WM_USER + 1;
icn.hIcon = (HICON)LoadImage(hInst,
MAKEINTRESOURCE ( "IDI_ICONTRAY"), IMAGE_ICON, 16, 16, 0 );
Shell_NotifyIcon ( NIM_ADD, &icn);
環境はVC++2008 Express EditionのWindowsFormで作成しています。
前回と同様、何かをインクルードすればいいのでしょうか。
現在はwindows.hとshellapi.hをインクルードしています。
よろしくお願いします。
153:デフォルトの名無しさん
09/07/12 12:55:01
>>152
そういう質問ばかり増えるとおれらが困るので調べ方を教えておく
MSDNで目的の関数(ここではLoadImage関数)の解説を出す
URLリンク(msdn.microsoft.com)
最後のほうに
ヘッダーファイル xxxx.h をインクルード
ライブラリ xxxx.lib を使用
とか書いてある。それでもだめなら聞きに来なされれ
154:デフォルトの名無しさん
09/07/12 12:56:44
Formだったら.netのみでやった方が簡単な気がする
155:デフォルトの名無しさん
09/07/12 13:02:59
俺にはFormアプリケーションを作った経験はないんだが、Formアプリケーションって
APIを使う場合は必要なLibをいちいち全部自前でリンクしなきゃならないのかい?
156:デフォルトの名無しさん
09/07/12 13:13:52
俺もFormアプリは詳しくないけど
C言語系では必要なLIBは自分で指定すんのが基本だからな
宿題スレなんか見てると、よく数学ライブラリをリンクしないで
コンパイル通りませーんって泣いてる初心者がいるよなw
157:デフォルトの名無しさん
09/07/12 13:14:49
どんな形かは判らんが大抵使うよ宣言が要るんじゃないか
158:142
09/07/12 13:56:11
>>153
教えてくださったページで、無事コンパイルが通りました。
ありがとうございます。
159:デフォルトの名無しさん
09/07/12 14:30:21
>>149
C#はC++とは全く別の言語だぞ。名前がよく似ているだけで。
160:デフォルトの名無しさん
09/07/12 15:03:06
>>149
C#はクソ言語
・・・とまでは言わないけど、
Javaと同じでC++より楽に習得できる。
C++はバカには使えないほど高度(変態)な言語だが
使いこなせるヤツはもう本当にすごい。
ちなみに俺はまだまだまだまだ使いこなせてません。
161:デフォルトの名無しさん
09/07/12 15:27:24
つか、MFCくらいが一番面白い。
162:デフォルトの名無しさん
09/07/12 16:01:46
じゃあ三つとも覚えればいいんですね
API 始めたばっかだけど
163:デフォルトの名無しさん
09/07/12 18:08:11
visual C++2008を使っているのですが、cppファイルを開こうとするとメモ帳が表示されて、バイナリー表示?されてコードが見れないのですが
改善方法を教えてください。DirectX SDK November2007が入ってます。OSはXPSP3です。
164:デフォルトの名無しさん
09/07/12 18:29:28
>>163
cppはテキストファィルだが、どこからどうやって開こうとしてる?
たとえばエクスプローラーからcppファイルをダブルクリック、とか
IDEからcppを右クリックしてコードを表示、とか。
165:デフォルトの名無しさん
09/07/12 23:21:49
>>164
レス遅れましてすいません。
ソリューション開いてソースフォルダにあるcppファイルをダブルクリックで開こうとしてます。
166:デフォルトの名無しさん
09/07/13 00:20:02
ダブルクリックの代わりに右クリックからファイルを開くアプリケーションの選択でどうか
うまくいったら規定値に設定で
167:デフォルトの名無しさん
09/07/13 00:55:16
>>166
うまくいかないです・・・。VC上で開くことは出来たのですが文字化けしててダメでした。
VC入れなおしても直らないし、ウイルスに感染してるので設定がめちゃくちゃになったのかもしれません。
なのでOS入れなおすことにしました。お騒がせしてすいません。レスありがとうございました。
168:デフォルトの名無しさん
09/07/13 11:55:25
文字化けは最初の質問とは別の話だな
169:デフォルトの名無しさん
09/07/13 21:05:41
CLRプロジェクトの中で書かれたコードは、.NET Frameworkのライブラリを使わなくてもマネージドコードという扱いになるのでしょうか?
170:デフォルトの名無しさん
09/07/13 21:18:16
そうだよ。
C#でclass C {static void Main() {}}のような何もしないプログラムを書いても
.NET Frameworkが実行に必要なのと同じようなことと言えばいいかな。
そうではなくて、ネイティブコードを混ぜたいという意味なら、
#pragma unmanagedなどで切り替えできる。
171:デフォルトの名無しさん
09/07/13 21:21:49
>>170
よくわかりました
ありがとうございます
172:デフォルトの名無しさん
09/07/14 17:38:13
VC++のC++で、現在のスタック領域の大きさを取り出す方法ありませんか?
スタックが少なくなったらエラー処理がしたいので、お願いします。
173:デフォルトの名無しさん
09/07/14 17:41:25
>>172
スタックオーバーフローを回避したいならヒープ領域を使えば?
174:デフォルトの名無しさん
09/07/14 17:46:43
いや、再帰処理のプログラムにエラー処理を組込みたいので。
現在は異常終了してしまうし。固定値で検査は出来るけど、
固定値は入れたくないし。
175:デフォルトの名無しさん
09/07/14 17:55:17
ESP見るとか
176:デフォルトの名無しさん
09/07/14 17:57:13
>>174
スタックオーバフローチェックのコンパイラオプションではダメなの?
177:デフォルトの名無しさん
09/07/14 18:01:46
そもそも、スタックオーバーフローになるような組み方をしている再帰処理に問題があるんじゃないか?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4935日前に更新/111 KB
担当:undef