★初心者にVisual C++ ..
39:デフォルトの名無しさん
08/05/10 17:13:10
>>37
なるほど、ありがとうございます
>>38
いま覗いてみましたが、
後半のほうでその手の話題になってますね、ちょいと読んでみます
ありがとうございます
40:デフォルトの名無しさん
08/05/10 18:35:42
>>36
自クラス内だから直接触ってもいと思う。
でも、特殊な操作が無くて、Setter、Getter使って困ることが無ければ使ったほうがいいんじゃないかな?Setter、Getterつかっておけば後からの仕様変更が楽ではある。
41:デフォルトの名無しさん
08/05/10 21:48:11
サンプルのソースとかをビルドする時に新しくプロジェクトを作りますが、
サンプルのソースがフォルダで管理されている時にVCでも同じフォルダ構成で管理したいのですが、
いっぺんに同じフォルダ構成にする方法ってありますか?
42:デフォルトの名無しさん
08/05/11 01:15:09
サンプルのディレクトリとファイル構成をそのまま
sample.vcprojのFilterタグとFileタグに出力するスクリプトを書けばいいんじゃないかな
43:デフォルトの名無しさん
08/05/11 04:36:10
●6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
URLリンク(system-trading.jp)
[シストレFXグランプリとは]
クリック証券が提供するFXのデモ取引環境を利用して、システムトレードにチャレンジできるFX取引のグランプリです。
お客様ご自身で作成したシステムトレードの機能を評価する「シストレソフト部門」とトレード収益を競う「トレード部門」の2部門構成となっております。
●5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
デモトレードの優勝者には賞金三百万円がプレゼントされます。
▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
●URLリンク(www.fx-gp.com)
▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円
44:デフォルトの名無しさん
08/05/11 09:24:16
>>42
ファイルを追加するようにフォルダを追加することは出来ないのですね。
具体的にはどうしたらいいんでしょう?
45:デフォルトの名無しさん
08/05/11 09:36:10
スクリプト書けないなら手でやった方が早い
46:デフォルトの名無しさん
08/05/11 09:46:00
スクリプトじゃなくても好きな言語でプログラム書けばいい
47:デフォルトの名無しさん
08/05/11 11:55:54
そうですか。。
とても量が多いのですが手でやってみます。
48:デフォルトの名無しさん
08/05/11 13:31:12
逆引きゲームプログラミングという本のサンプルプログラム↓
URLリンク(www.shuwasystem.co.jp)
をBCC5.5ではなくVisualStudio2005でコンパイルしたいのですが、
〜番目の引数を 'const char [〜]' から 'LPCWSTR' に変換できません。
というエラーが数百と、
〜番目の引数を 'unsigned char [〜]' から 'char *' に変換できません。
〜番目の引数を 'const char [〜]' から 'unsigned char *' に変換できません。
というエラーが42箇所出てしまいコンパイルできません。
数百出たエラーはプロパティで マルチバイト文字セットを使用する にしてコンパイルしたら全て消えたのですが、
他の42のエラーもコンパイルの設定で回避できるようでしたらその方法を教えてください。
42箇所だけですので書き換える方法でもいいです。
error C2664: 'FontPrint' : 3 番目の引数を 'const char [15]' から 'unsigned char *' に変換できません。
FontPrint( 208, 160,"NOW GAME SCENE");
error C2664: 'ReadWaveFile' : 3 番目の引数を 'unsigned char []' から 'char *' に変換できません。
wave_size = ReadWaveFile( "..\\..\\data\\bgm00.wav", &g_WaveControllBGM->WaveFormat, g_WaveControllBGM->WaveData);
こういった箇所です。よろしくお願いします。
49:デフォルトの名無しさん
08/05/11 14:41:47
>>48
コンパイラの設定で回避できるか知らんが
できたとしても設定で回避するようなエラーではない。
手作業で修正するべき。
50:デフォルトの名無しさん
08/05/11 15:24:49
printf()で出力したファイルをテキストファイルに書き出すことってできますか?
51:デフォルトの名無しさん
08/05/11 15:31:58
できるけどスレ違い
52:デフォルトの名無しさん
08/05/11 15:32:53
>>50
コマンドプロンプトでリダイレクトして実行って話?
53:デフォルトの名無しさん
08/05/11 15:37:25
VS2005を使っています。
あるプロジェクトをデバッグしようとしたところ、そのアプリは
起動時に必要なディレクトリの存在チェックをしているみたいで
プロジェクト内にはそのディレクトリが存在しないため、エラーに
なって起動出来ませんでした。
そのディレクトリを作ってあげれば良いと思うのですが、プロジェクト配下に
作りたくないので、別の場所にアプリが必要とするディレクトリを作りたいと考えています。
この場合、アプリを起動させる時に、作成した別の場所のディレクトリをスタートアップ時の
ディレクトリとして認識させる方法ってあるのでしょうか?
分かり難い説明で申し訳ありません・・・。
54:デフォルトの名無しさん
08/05/11 15:48:59
>>53
プロジェクトのプロパティのデバッグに作業ディレクトリって項目ないか?
それで起動時のカレントディレクトリは指定できるけど
55:デフォルトの名無しさん
08/05/11 15:55:20
>>53
デバッグの作業ディレクトリを指定すりゃいいんじゃないの?
56:デフォルトの名無しさん
08/05/11 16:24:00
>>54 >>55
おおっ!まさにこれです!
無事に起動する事が出来ました!
ありがとうございました!
57:デフォルトの名無しさん
08/05/12 01:57:50
Visual C++ 2008 Express Editionで、C言語の勉強をしたいのですが、
前スレで教えてもらったこの方法
---------------
[ファイル]->[新規作成]->[プロジェクト]->[Win32]->[Win32コンソールアプリケーション]
プロジェクトを作る場所、プロジェクト名を決定し、[OK]
[次へ]を選択し、[追加のオプション]で[空プロジェクト]を選択し[完了]
デフォルトでは左に表示される[ソリューションエクスプローラ]のツリー内の[ソースファイル]を右クリック
[追加]->[新しい項目]->[C++ファイル(.cpp)]
追加したいファイル名を入力して[OK]、拡張子まで書けば*.cにもできる。
で、ファイル内に以下のコードを記述する
#include<stdio.h>
int main( void ) {
puts( "ググレカス" );
return 0;
}
[Ctrl + F7]でコンパイルする。エラーがなければ[F5]で実行。
すぐにコマンドプロントが消えるのは仕様。出力結果を残したいならば[Ctrl + F5]で実行すればいい。
[F7]でビルドする。
-----------------------
では、C++言語になってしまうようです。
C言語をやるにはどうしたらよいでしょうか。
58:デフォルトの名無しさん
08/05/12 01:59:29
VCでやれ
59:デフォルトの名無しさん
08/05/12 02:02:33
>>58
言われてみればそのとおりでした。
さっそくそっちをダウンロード&インストールしてきます。
60:長いので二つに分割します(1/2)
08/05/12 04:19:58
#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
struct test
{
test(): a( rand() % 10 ) { }
int a;
};
int main()
{
// コンストラクタの rand() が機能しない
vector< test > t1(10);
for ( vector< test >::size_type i = 0; i != t1.size(); ++i )
{
cout << t1[i].a << " ";
}
cout << endl;
// コンストラクタの rand() がちゃんと機能する
vector< test > t2;
for ( vector< test >::size_type i = 0; i != 10; ++ i)
{
test t;
t2.push_back( t );
cout << t2[ i ].a << " ";
}
cout << endl;
return 0;
}
61:長いので二つに分割します(2/2)
08/05/12 04:22:05
Visual C++ 2008 Express Edition ( Windows XP ) で上のプログラムを実行すると
t1[ 0 ] から t1[ 9 ] まではすべて同じ値に
t2[ 0 ] から t2[ 9 ] まではばらばらの値に
なります。いったいが何がそうさせているんでしょう?
どうも何度か試したところでは t1[ 1 ] 以降は 一つ前の要素の値をそのままコピーしているらしく
たとえば
test(): a( 0 ) { if ( 何がしかの条件 ) { a = 1; } }
のようなコンストラクタを書いたとき
本来 0 にならなければならない要素にもかかわらず
直前の要素が 1 の時に 0 にならないケースが発生します。
test() { if ( 何がしかの条件 ) { a = 1; } else { a = 0; } }
って書くしかないんでしょうか?
62:デフォルトの名無しさん
08/05/12 06:10:31
それVCというか普通のC++の範囲内だろ
63:デフォルトの名無しさん
08/05/12 07:50:19
>>61
再現する最低限のソースを作って張るんだ。
貼られた部分だけを見ると、引き数つきのコンストラクタがないからエラーが出そうなんだが。
64:デフォルトの名無しさん
08/05/12 08:19:26
ぱっと見、問題ないけどなあ
うーん
65:デフォルトの名無しさん
08/05/12 10:09:02
コンストラクタでrandとか・・・
66:デフォルトの名無しさん
08/05/12 10:15:44
>>63
大丈夫、10はtestではなくvectorの引き数だ。
>>61
ディフォルトコンストラクタは最初の一回だけ呼ばれて、後はコピーコンストラクタしか呼ばれない。
つーか、実験目的ならrand()なんか使わずにclock()でも使っておけよ。
67:デフォルトの名無しさん
08/05/12 10:27:59
>>66
clock()だと間に合わないみたいねw
--
[foo@Corvus tmp]$ ./a.out
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
--
ってことで、こんな風にしてみた。
--
static int staticCounterForDefault;
static int staticCounterForCopy;
struct test
{
int a;
test() : a(++staticCounterForDefault) {}
test(const test & foo) : a(++staticCounterForCopy) {}
};
--
では問題、実行せずに出力結果を予測しなさい。
# って、厳密には実装依存なのかな。
68:デフォルトの名無しさん
08/05/12 10:30:17
正直スレ違い
69:67
08/05/12 10:38:27
しまった、すっかりC/C++スレかと。正直すまんかった。
>>61
ってことで、納得できなければ続きはC/C++スレ辺りで。
70:デフォルトの名無しさん
08/05/12 10:40:00
スレリンク(tech板)
71:デフォルトの名無しさん
08/05/12 12:58:44
BEGIN_MESSAGE_MAPマクロですべてのイベントを同じ関数に飛ばして、その中で処理を分けたいのです。
それで次のようにOnProcが処理関数だとすると、ID_CMD_1,.....,ID_CMD_100に対応するID番号を
OnProcに知らせてやれば出来ると思うのですが、どのようにIDを取得するのかわかりません。
よろしくお願いいたします。
BEGIN_MESSAGE_MAP(CXXXX, XXXXX)
//{{AFX_MSG_MAP(CXXXX)
ON_COMMAND(ID_CMD_1, OnProc)
ON_COMMAND(ID_CMD_2, OnProc)
ON_COMMAND(ID_CMD_100, OnProc)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
72:デフォルトの名無しさん
08/05/12 13:14:26
ON_COMMAND_EX
73:デフォルトの名無しさん
08/05/12 17:39:21
出来ました。ありがとうございました
74:デフォルトの名無しさん
08/05/12 20:59:17
あるフォームから別のフォームを開いて
その別のフォームにある変数を渡したいのですがどうすればいいでしょうか
75:デフォルトの名無しさん
08/05/12 21:08:36
C++/CLIの話?
76:74
08/05/12 21:09:47
VC++の話です。
77:デフォルトの名無しさん
08/05/12 21:19:20
1. 別のフォームの開き方は分かるけど、変数の渡し方が分からない。
2. 変数の開き方はわかるけど、別のフォームの開き方が分からない。
3. どっちも分からない。
4. その他のことが分からない。
さあどれだ?……と、聞き返さなくて済むよう初めから詳しく書け。
78:74
08/05/12 21:27:50
大変申し訳ないです
別のフォームを開いてそのフォームの中で元のフォーム内の変数を使いたいのですが、
元のフォームから別のフォームを開く際に別のファイルのヘッダをインクルードしているので、
別のフォーム上で元のフォームのヘッダをインクルードできなくて、
そのような状態でどのように変数を渡してやればよいのかがわかりません。
79:デフォルトの名無しさん
08/05/12 21:34:22
その、1個か2個なら単純に渡すための関数作って引数で渡せばいいんじゃないの?
80:74
08/05/12 21:56:29
すみません 渡すための関数が思い浮かびません。
引数で渡せるのであれば、その引数をどうやって渡すかが思い浮かびません。
81:デフォルトの名無しさん
08/05/12 21:57:07
>>76
一応言っておくけど、VC++ってのは言語名じゃなくて
MSの開発ソフトの名前だぞ。
82:デフォルトの名無しさん
08/05/12 22:15:06
>>80
自分でそういう関数を作ればいいだけのこと。
83:74
08/05/12 22:30:33
引数で渡す関数を作れ
⇒その関数の引数はどこから持ってくるの?
⇒そういう関数を作れ
(・д・)
84:74
08/05/12 22:35:08
メインのcppでint passをローカル定義して
メインのcpp内で
void set_pass(int j){i=j;}
int get_pass(void){return i;}として
最初のフォームでset_pass(渡したい変数)実行して、
次のフォームで 受け取る変数 = get_pass()
でOK?
85:デフォルトの名無しさん
08/05/12 22:54:02
テキトーなインターフェースクラスでも作成して、継承してしまえば?
86:デフォルトの名無しさん
08/05/13 01:04:46
>>59ですが、
ここに
URLリンク(www.microsoft.com)
VC2008というのが見あたらないのですが…
Visual C++2008でC言語のコンパイルなどをするにはどうしたらよいでしょうか?
87:デフォルトの名無しさん
08/05/13 01:22:21
拡張子がcppだとc++ cだとcでは
88:デフォルトの名無しさん
08/05/13 01:23:27
つか、C言語をC++でコンパイルしてもほとんど出来る。mainのvoidとかがちょっと違う
89:デフォルトの名無しさん
08/05/13 01:23:49
>>87
>>59ですが、
>>57の方法だと
>[追加]->[新しい項目]->[C++ファイル(.cpp)]
のC++をCに変えればいいのか…と思ったらCファイルが選択できないようなのです。
90:デフォルトの名無しさん
08/05/13 01:29:39
C言語はC++コンパイラでコンパイル出来ますよ CPPでC言語出来ます
91:デフォルトの名無しさん
08/05/13 01:33:45
>>90
そうなのですか?
猫でもわかるプログラミングで、
URLリンク(www.kumei.ne.jp)
これ↓をコンパイルするとエラーが出るのですが…
#include <stdio.h>
main()
{
printf("This is a test!");
}
92:デフォルトの名無しさん
08/05/13 01:40:02
拡張子を、.cppから.cにするんだよ。
93:デフォルトの名無しさん
08/05/13 01:49:31
>>92
手動で変更するということでしょうか?
してみましたが、
コンパイルやビルドしようとするとエラーが出ます…
94:デフォルトの名無しさん
08/05/13 01:51:01
エラーが出るならエラー内容を張る!
ってかさ、>>57にも書いたんだけど、「拡張子まで書けば*.cにもできる。」ってあるじゃん?
ついでに・・・
猫に書いてあるプログラムが規格に完全に準拠しているなんて思わない!
すべてのコンパイラが規格通りの挙動を正しく行うなんて思わない!
猫に書いてあるプログラムが全てのコンパイラで通ると思わない!
95:デフォルトの名無しさん
08/05/13 01:52:07
あ、解決しました
一つのソースファイルに複数のCファイルやC++ファイルをいれていたためエラーが起こっていたようです。
ご迷惑をおかけしました。
96:デフォルトの名無しさん
08/05/13 01:53:22
>>94
>エラーが出るならエラー内容を張る!
次回からはそうします…
すいませんでした
>ってかさ、>>57にも書いたんだけど、「拡張子まで書けば*.cにもできる。」ってあるじゃん?
あああああ
完全に見落としてました…
すいません
>ついでに・・・〜
ややこしいのですねぇ…
ありがとうございました
97:デフォルトの名無しさん
08/05/13 01:55:15
>>83
だって自分のプログラムなんだから渡したいデータは自分で用意できるはずだろ。
98:デフォルトの名無しさん
08/05/13 06:25:39
>>97
近くに郵便局が無くて荷物を郵送できない人に
なら郵便局まで荷物を郵送すればいいじゃない
99:デフォルトの名無しさん
08/05/13 14:16:47
>>91
int main()
100:デフォルトの名無しさん
08/05/15 18:21:44
最近VC6をさわり始めました。
いま、ダイアログベースでピクチャボックスの画像を[印刷]ボタンを作って印刷しようと思っているのですが、どうにも仕方がわかりません。画像は表示できています。
印刷できるようにするにはどのようなプログラムを組めばいいのでしょうか?
よろしくお願いします。
101:デフォルトの名無しさん
08/05/15 19:48:15
sdiだったらデフォルトで印刷機能が組み込まれてたと思うから
それを参考にしてダイアログベースに実装する
102:デフォルトの名無しさん
08/05/16 22:21:39
ブレークポイントを設定するとそこで止まるわけだけど、
beginthreadexで作ったスレッド内でブレークポイント設定すると
停止したと同時にOSも固まるのはどうにかなりませんか?
103:デフォルトの名無しさん
08/05/16 22:37:16
別にフリーズせんけど
別のバグでIMEとかインテリセンスがらみでフリーズはあるけどそれじゃね?
104:デフォルトの名無しさん
08/05/16 22:44:21
コンソールアプリとして開発したソフトを
気が変わって(ウィンドウを使いたくなったので)通常のアプリにしたくなったんですが
最低限どこを書き換えるといいでしょうか?
単純にmainをWinMainに書き換えるだけだと不十分でした。
105:デフォルトの名無しさん
08/05/16 22:47:37
かなり買えないと無理
106:デフォルトの名無しさん
08/05/16 22:48:08
Windows-PCを買ったけどMacにしたくなったのでロゴだけを張り替えましたが不十分でした。
107:デフォルトの名無しさん
08/05/16 22:54:35
>>104
プロジェクトのプロパティの変更
108:デフォルトの名無しさん
08/05/16 23:00:01
たぶん1から作り直した方が早い
109:デフォルトの名無しさん
08/05/16 23:18:13
>>105、108
ダイアログ程度のウィンドウを表示したいだけなら,
"windows.h"をインクルードして,CreateDialog()でも
呼び出してダイアログを作ればよいだけ。
もっと本格的に作りたいなら,プログラムの構造から見直す必要が
あると思うので、105,108の言うように最初から作った方が
良いと思うよ。
110:105
08/05/16 23:34:08
ありがとうございます。
結局1から作り直し(といっても90%コピペ)しました。
111:デフォルトの名無しさん
08/05/16 23:34:21
>>100
御参考。
URLリンク(msdn.microsoft.com)(VS.85).aspx
112:デフォルトの名無しさん
08/05/17 00:10:22
すみません。家にVisualC++6.0というのがインストールしてあって
兄貴の猫でもわかるWindowsプログラミングという本をやりました。
で、大体どのようなものかわかったのですが、
今日本屋でその続編で猫でもわかるネットワークプログラミングという
本をみつけましたが、第2版とかかれていまして、VisualC++.NET対応と書いてありました。
これは、VisualC++6.0では無理でしょうか?中身はWindows32APIを使うものでして、MFCは無しみたいです。
どうか、よろしくお願いします。
113:デフォルトの名無しさん
08/05/17 00:12:29
Managed C++とかC++/CLIとか.NET Frameworkとかいうキーワードが書いてあったらできないかもしれない
でもWinSockとかを使うだけだったらVC6.0でもいけるよ
114:デフォルトの名無しさん
08/05/17 00:14:28
>>112
いまはVisualC++2008(バージョン9.0)が無料配布されている。これ入れればよい。
115:デフォルトの名無しさん
08/05/17 00:16:01
ここへいけば無料インストールできるよ
URLリンク(www.microsoft.com)
116:デフォルトの名無しさん
08/05/17 00:25:15
Expressをインストールして勉強しています。
クリップボードを監視したくて情報を探していたのですが、
・SetClipboardViewerという関数でクリップボード監視を開始する。
・SetClipboardViewerという関数はStanderdEditionを買わないと入らない
MFCまたはATLが無いと使えない。
と解釈しました。
質問ですが、
上記解釈は正しいでしょうか。
何か別にMFCですとかATLをわざわざ経由しなくても
上記関数と同様のことをしている関数があったりしますでしょうか。
VC++だけのためにVisual Studio買いたくない(´・ω・`)
117:デフォルトの名無しさん
08/05/17 00:25:49
>>113 そうですか。ありがとうございます。とりあえず、買ってきます。
本当にありがとうございます。
>>114-115 同一人物の方ですか?わざわざリンクまで張っていただき
感謝です。一応、それもダウンロードしてみます。
ありがとうございました。明日、本屋いってきます。
118:デフォルトの名無しさん
08/05/17 00:26:26
ちなみに、Visual C++ .NETには2002と2003とあって、それぞれ7.0と7.1に相当する。
この頃のMS製品はなんでも.NETとつけるのが流行だった。
119:デフォルトの名無しさん
08/05/17 00:26:30
ウエ・ミロ(2003〜)
120:デフォルトの名無しさん
08/05/17 00:28:06
>>116
SetClipboardViewerはATLもMFCも関係ない、ただのWindowsの関数。
2005ならWindows SDK入れてVCと統合しろ。
2008なら使えないのはなんか設定がおかしいだけ。
121:デフォルトの名無しさん
08/05/17 00:31:23
>>120
取り急ぎ、感謝申し上げます。
2008です。いろいろと設定を見てみます。
122:112
08/05/17 00:36:16
>>118
どうもありがとうございます。色々あるんですね。
今のVer.2008が9.0っていうのもわかりました。ぐぐったら色々でてきました。
>>119
ねこでもわかるのホームページがかいてありますね。。すごいソースですね。。
徐々にやっていきます。ありがとうございました。
123:デフォルトの名無しさん
08/05/17 00:41:21
visual studio 2008のWindowsフォームアプリケーションで作成中です。
ドラッグ&ドロップでファイルのパスをtextBoxに表示しようとしてるのですが,上手く行きません。
検索して見つけたのがlistBoxだったので,↓のように変えてみたのですが・・
private: System::Void textBox_DragEnter(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e)
{
if(e->Data->GetDataPresent(DataFormats::FileDrop))
e->Effect = DragDropEffects::All;
else
e->Effect = DragDropEffects::None;
}
private: System::Void textBox_DragDrop(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e)
{
String^ s = (String^)e->Data->GetData( ::System::Windows::Forms::DataFormats::FileDrop, false);
textBox->Text=Path::GetFileName(s);
}
これでファイル名が表示されると思ったのですが,なにも表示されません。
どこがいけないのがご教授願います。
124:デフォルトの名無しさん
08/05/17 00:42:18
2005Express+PlatformSDKでクリップボードをアレコレできるよ。
俺作ったことあるし。
125:デフォルトの名無しさん
08/05/17 01:01:02
>>120
ありがとうございました。
Windowsの関数とおっしゃられたので
Includeディレクトリgrepしてみたら
WinUser.h内に宣言らしきものがあったので
それをIncludeしてるWindows.hをForm1.hに
Includeしてみたら関数を認識するようになりました。
(.cppにIncludeしても認識しないんですね。。。)
ちょっと引数と戻り値の型合わせがうまくいきませんで
コンパイルは通りませんが、関数が使えることがわかって
大きく前進しました。
本当にありがとうございました。
126:デフォルトの名無しさん
08/05/17 01:13:38
>>125
Form1.hとか言ってるし、もしかして.NETかぁ?
あと、Windowsの「関数」じゃなくてAPIな。
127:デフォルトの名無しさん
08/05/17 01:48:40
>>126
Help見たら「Microsoft Visual Studio 2008」って書いてあるので
.NETではないと思います。
「2008だけど、.NET」っていう状況があるんでしょうか。すみません。無知で。
状況がわかりやすいようにデフォルトのForm1って名前に置き換えて
わざわざ書いてしまいました。
自分の解釈がおかしいことがしばしばあるもので。。。
ああ、すいません。xxに関する便利な公開された関数をまとめて
xxAPIっていうものだと思ってました。
勉強することが多すぎますね。
今日は本当にありがとうございました。
128:デフォルトの名無しさん
08/05/17 07:59:29
>>127
Windowsフォームアプリケーションは、
.NET Frameworkを使うアプリケーション。
参照設定しているライブラリ(C#/VB.NETなら
プロジェクトのプロパティの設定)の種類によって、
実行には.NET Framework 2.0/3.0/3.5のいずれかが必要。
Visual Studio 2008に.NETがつかないのは、単にMSの戦略の問題。
129:デフォルトの名無しさん
08/05/17 12:45:33
APIって関数がまとまったものの名称だから
Windowsの関数と言っても問題なし。
130:デフォルトの名無しさん
08/05/17 13:58:26
インターフェースと関数は違うだろ
131:デフォルトの名無しさん
08/05/17 23:08:16
正式な言い方はWin32APIだろうな。
またWin32APIには関数だけじゃなくて型の定義なども含まれると認識している。
132:デフォルトの名無しさん
08/05/18 08:38:29
>>128
.netだと売れないってこと?
133:デフォルトの名無しさん
08/05/18 08:54:50
.netで作られたアプリを実行するには
ユーザが.net Frameworkを用意しなくちゃ行けない
でも、そういうのを用意できるユーザってどのくらいいるのよと
134:デフォルトの名無しさん
08/05/18 09:32:16
商品名に.netがつかなくなっただけで中味は今まで通り.net対応
MSとしては.netを一押ししたいから無償配布のExpressなんかは
デフォルトだと.netのプログラムを作るようになっている
135:デフォルトの名無しさん
08/05/18 13:20:03
>>133
Windowsユーザーのほとんどだろうね。
136:デフォルトの名無しさん
08/05/18 13:26:43
論理的には導入できるけど
.net?なにそれ?ってインストールもできない初心者がいて困る
ってことを言いたいのかと思われ
インストールできるけどヘンなランタイムとか要らないから却下
とかいう自称玄人もいるから困るといいたいのかと思われ
Vistaなら標準で3.5入ってるってから期待してたんだけど
あの体たらくだしなぁ
137:デフォルトの名無しさん
08/05/18 16:37:13
updateで自動的に.NET入らないんだっけ?
138:デフォルトの名無しさん
08/05/18 17:22:29
>>137
商用アプリの顧客は必ずしも、自動updateに任せっ切りじゃないからなあ。
仮想化とか、ローカルストレージ無しの方向に行ってるんで、今後の大規模.NET
アプリはサービス提供の方向と踏んでる。
139:デフォルトの名無しさん
08/05/19 10:59:41
VBも最初はruntimeの絡みで滅茶苦茶な評価だったことを思い出せば、OSの
世代交代さえ順調に進めば.NET FRAMEWORKの配布は問題じゃなくなるんだろう。
ただね、肝心のOSの世代交代がね。どうもね。
MSがVISTAへの交代より.NET FRAMEWORKへの移行を重要と位置づけて、SPで
.NET FRAMEWORKとSuper Fetchを配っちまえば話は早いのにと思わないでもない。
140:デフォルトの名無しさん
08/05/19 13:58:44
その辺コミコミのVistaだろ
ま、失敗してるが
141:デフォルトの名無しさん
08/05/19 14:40:09
>>138
一般ユーザのことだと思うぞ
142:デフォルトの名無しさん
08/05/20 18:52:41
すみません。VisualC++6.0でコンボボックスを使用しているのですが、
リソースエディタでコンボボックスを右クリックしてプロパティで
項目の入力っていう欄があるんです。そこに項目を並べたいんですが、
どのようにならべればいいんですか?
並べたいデータは、
北海道、本州、四国、九州、その他 の5つです。
よろしく><;
143:デフォルトの名無しさん
08/05/20 20:18:55
コード書かなあかんよ
144:デフォルトの名無しさん
08/05/20 20:31:06
沖ノ鳥島を忘れないであげてください
145:デフォルトの名無しさん
08/05/20 21:28:44
ちゃんと竹島(日本領)も入れとけよ。
146:デフォルトの名無しさん
08/05/20 21:37:11
つ 南樺太&千島列島
147:デフォルトの名無しさん
08/05/20 21:51:37
質問です
VC++2008で、親フォームから呼び出した子フォームを非アクティブにする方法で
ShowWithoutActivation
を使うと良いと言うのは分かったのですが、プロテクトプロパティなので、簡単に
変更が出来ません。
変更の仕方or別の方法、を教えてください
148:デフォルトの名無しさん
08/05/20 22:36:03
子フォームを実装しているクラスでパブリックに実装するとか。
とりあえずリフレクションとか。
というか、C++/CLIだよな?
149:デフォルトの名無しさん
08/05/20 22:53:51
ええと、なにぶん知識が浅いので
^ と * ←を使い分けや gcnew をつかってるのでC++/CLIのはずです
150:デフォルトの名無しさん
08/05/20 23:29:33
○青春のスポーツテスト準備編
場面は中学2年時。僕は運動音痴だ。
明日はスポーツテストだ。僕はみなに押し付けられて、学校の授業後に
ライン引きをやっていた。僕のほかには女子のヤンキーぽい生徒が2人だ。
なぜ、こんな連中が仕事をしているかと思えば、退屈だし面白そうだから
という話だ。
50m走のラインを引き終えると、ヤンキー女子の2人が走ってみようと言い出し2人は走っていた。「あ〜、つかれた〜」といいながら座っている。でも満足げだ。
しばらくすると、「おい、おまえも走れよ!」といいだし、ぎゃあぎゃあ騒いでいる。
僕は運動音痴なので走り方もおかしいからひどく嫌だったが、後がこわいので走ることにした。
よ〜いどんで思い切り走ってみる。しかし、女子2人は大声で笑い転げている。
僕は必死で走ろうと思えば思うほど、フォームが乱れるのがよくわかる。
どうしようもなく恥ずかしい。。しかし、次の瞬間転んでしまった。
女子2人は寄ってきて僕をからかう。そのとき、思春期にありがちな突如の勃起が襲ってきた。
どうしようもなく半ズボンがテントを張っている。
「キャー、こいつ何?興奮してるの?言葉攻め?」
僕はもうどうしようもなく恥ずかしかった。しかし、女子はすでになんらかの経験済みらしく、
慣れている様子で「おい、どうしたんだよ?」とかいいながら僕のナニをけったりしてくる。
僕はとまどいながらも恥ずかしさをぐっとこらえていた。
その後も「運動は音痴だけど、こっちはすげえじゃん」とかいってぎゃーぎゃー騒いでいる。
その後、10分くらいたって、あきたのか笑いつかれて2人は帰っていった。
僕は恥ずかしさと何がなんだかわからないままドキドキしてしょうがなかった。もう何もかんがえるどころではなく、ただうろたえるだけの時間だった。
2人が帰った後、ようやく帰ったかと自分を取り戻す事ができた。しかし
その直後、ドクドクしたものが出てきた。僕の初射精だ。その後もあわてたことはいうまでもない。
151:デフォルトの名無しさん
08/05/20 23:33:41
fatal error C1083: include ファイルを開けません。'iostream.h': No such file or directory
このエラーが出てコンパイルできません。どうすればいいか教えてください。
バージョンはVC++ 2008 EEです。
後、一応参考になりそうなサイトで調べてVC++のディレクトリに下記のパスを追加している状態です
C:\Program Files\Microsoft Visual Studio 9.0\MSDN Express Library
コンパイルしようとしているソース
#include <iostream.h>
void main()
{
char ss[80];
cout << "何か入力してください";
cin >> ss;
cout << "入力は[" << ss << "]です\n";
}
152:デフォルトの名無しさん
08/05/20 23:36:21
すみません。今日も質問させてください。
visual c++ 2008 Expressでwindowsフォームアプリケーションを作成しています。
ビルドしたexeを他の人のマシンで起動しようとすると、
>このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。
と出て起動できませんでした。
色々調べた結果、以下のとおり解釈しました。
@visual studioがインストールされていない環境で動かすには
静的リンクでコンパイルする必要がある。
Awindowsフォームアプリケーション(でデザイナからレイアウトしているような場合)
では静的リンクは不可能
Bwindowsフォームアプリケーションでしかデザイナは使えない
Cデザイナが使えない場合、手打ちで「上からxピクセル。。。」と
コーディングしていくしかない
質問ですが、上記解釈は正しいでしょうか。
ほんのちょっと上のレスでそれらしいやりとりが見受けられましたが、
自分の思っているソレの話のことなのか、いまいち自信がないので、
ご回答のほどよろしくお願いします。
153:デフォルトの名無しさん
08/05/20 23:44:15
>>151
そのサイトは残念ながら参考にならない。
そのソースは古くて、現代C++では通用しない。
#include <iostream>
int main()
{
char ss[80];
std::cout << "何か入力してください";
std::cin >> ss;
std::cout << "入力は[" << ss << "]です" << std::endl;
}
154:デフォルトの名無しさん
08/05/20 23:48:36
>>152
フォームアプリケーションなら相手のPCに.NET Frameworkを入れればいけるはず。
VS 2008だから.NET Framework 3.5だ。
たとえデザイナを使わなかったとしても、
.NET Frameworkを使うC++/CLIアプリケーションである限り
静的リンクはできない。
それにVSが無い環境で使えないなんて使い物にならない機能が
わざわざ用意されているはずがない。正規の手順でランタイムを用意すれば、
VSがない環境でもVC++プログラムは実行できる。
155:デフォルトの名無しさん
08/05/20 23:52:26
VC++初心者です。
GUIの部分は、.NET Framework を使って書いて、
内部的な(例えば)通信の部分は、Win32API で書くってできます?
できたとしたら、それは邪道ですか?
156:デフォルトの名無しさん
08/05/20 23:57:42
全然問題ない。
むしろそういうことができるのがVC++の強み。
157:デフォルトの名無しさん
08/05/21 00:06:11
>>156
ありがとうございます。
そうですか、楽できるとこは楽したかったんです。
MFCも少し勉強し始めてたんですが、中断して C++/CLI の方をやります。
158:デフォルトの名無しさん
08/05/21 00:08:45
>>154
レスありがとうございます。
>フォームアプリケーションなら相手のPCに.NET Frameworkを入れればいけるはず。
>VS 2008だから.NET Framework 3.5だ。
>>133-138の流れを見るに、
相手のPCに.NET Frameworkが入っていることを期待するのを
期待してはいけない、という流れに繋がるという、と理解して正しいでしょうか。。。
>正規の手順でランタイムを用意すれば、
URLリンク(www.microsoft.com)
こちらですね。ご親切にありがとうございます。
まだ詳しく見ていませんが、
これを私がインストールするわけではなく、
相手のPCにインストールしてもらう、という認識でよろしいでしょうか
(煩わしい質問であれば、明日にでも詳しく調べますので返信は不要です)
だとすると、.NET Frameworkの軽いVer、というイメージですかね。。。
数年前に「使用するにはVBxxランタイムが必要です」といった
アプリを見た記憶があります。
それくらいなら、普通に導入してもらえそうですね。
本当に、ありがとうございました。
159:デフォルトの名無しさん
08/05/21 00:21:51
>>153 ありがとうございます!コンパイルできました!
本が古すぎたんですね・・・たしかに今見たら98年出版の本でした
後せっかくなので参考にお聞きしたいんですが、追加記述された std:: と std::endl;っていうのは
なんなのでしょうか?最初は変数の前に付けるものといった、約束事みたいな感じで覚えておけばいいのでしょうか?
160:デフォルトの名無しさん
08/05/21 00:34:40
98年と言えばISOでC++標準が最初に出た年。
endlは結構古くからあったと思うけど、
'\n'の出力に加えバッファのフラッシュを行うもの。
だから時と場合によって\nを直接使うこともある。
どっちにするかはケースバイケース。
std::は名前空間という機能によるもの。
詳しく知りたければ、ググってもいいし、最近の本なら書いているだろうし。
161:デフォルトの名無しさん
08/05/21 00:40:01
なるほど、とりあえず最近の本買ってみます
親切にありがとうございました!
162:デフォルトの名無しさん
08/05/21 00:46:13
>>161
その程度ならググれ。
良い本を探すのは難しい。
163:デフォルトの名無しさん
08/05/21 12:01:42
visual studio 2005のWindowsフォームアプリケーションで作成中です。
文字列の分割がうまくいきません。
String^ data0 = "a/b/c";
wchar_t separator = '/';
array<String^>^ data1 = data0->Split(separator, StringSplitOptions::None);
結果的には配列data1にdata0の要素を格納したいのですが、このやり方ではうまくいきません。
どなたかご教示願いませんでしょうか?
164:デフォルトの名無しさん
08/05/21 12:55:49
>>163
URLリンク(msdn.microsoft.com)
最初の引数は文字じゃなくて、文字の配列だぜ。
165:デフォルトの名無しさん
08/05/21 13:12:24
>>164
ご指摘ありがとうございます。
無事解決しました。
166:デフォルトの名無しさん
08/05/21 21:18:51
>158
それをC++のランタイムなので、それで解決できるなら、静的リンクもできるという話。
C++/CLI、Form使ってるというなら、
URLリンク(www.microsoft.com)
こっちを再配布しないとイケナイ。
167:デフォルトの名無しさん
08/05/21 22:07:04
VC2003 を使っています。
STLのvectorを参考に、自前のクラスにイテレーターっぽい機能を付けてみようとして、
行き詰まっています。
以下のようなコードを書いているのですが、begin() がインライン展開されません。
vectorのbegin() はインライン展開されているみたいで、何が違うのか分からないです。
class B
{
public:
A* aa;
class iterator : public std::iterator<std::random_access_iterator_tag, double, ptrdiff_t, double*, double>
{
A* a;
public:
iterator( A* _a ) : a( _a )
{
};
~iterator( void )
{
};
};
B( void ) : aa( NULL ) {};
~B( void ){};
iterator begin()
{
return( iterator( aa ) );
};
};
168:デフォルトの名無しさん
08/05/21 23:35:23
【初心者歓迎】C/C++室 Ver.54【環境依存OK】
スレリンク(tech板)
169:デフォルトの名無しさん
08/05/21 23:40:38
>>167
まさか何の最適化オプションも指定していないなんてことはないよな。
170:デフォルトの名無しさん
08/05/22 10:59:46
VC++2008EEでツールチップを表示するにはどうしたら良いのでしょうか。
ググってもMFCのCToolTipCtrlしかヒットしません。
例えばステータスバーに収まり切らない文字列を表示したいのです。
.NETで例えるなら statusStrip1.ShowItemToolTips = true; に相当する処理です。
171:デフォルトの名無しさん
08/05/22 11:09:18
>>170
URLリンク(msdn.microsoft.com)
172:デフォルトの名無しさん
08/05/22 15:30:07
>>171
ありがとうございます、取敢えずツールチップを表示する事は出来ました。
MFCの解説もエミュレートしているものは参考になりました。
まだステータスバーの位置のみで表示出来ませんが、もう少し頑張ってみます。
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
{
static HWND hTooltip;
static TOOLINFO ti;
switch (msg)
{
case WM_CREATE:
InitCommonControls();
hTooltip = CreateWindowEx(0, TOOLTIPS_CLASS, NULL, TTS_BALLOON, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hWnd, NULL, g_hInst, NULL);
GetClientRect(hWnd, &ti.rect);
ti.cbSize = sizeof(TOOLINFO);
ti.uFlags = TTF_SUBCLASS;
ti.hwnd = hWnd;
ti.lpszText = L"ツールチップのテスト";
SendMessage(hTooltip, TTM_ADDTOOL, 0, (LPARAM)&ti);
SendMessage(hTooltip, TTM_SETTITLE, TTI_INFO, (LPARAM)L"タイトル");
SendMessage(hTooltip, TTM_SETTIPBKCOLOR, (WPARAM)RGB(221, 238, 255), 0);
(後略)
173:デフォルトの名無しさん
08/05/22 17:05:34
visual studio 2005のWindowsフォームアプリケーションで作成中です。
textBoxに入力制限をさせたいのですが、やり方がわかりません。
パスワードを入力するときみたいに、入力された文字が強制的に半角英数字になるように
設定させるにはどうしたら良いのでしょうか?
どなたかお願いします。
174:デフォルトの名無しさん
08/05/22 17:35:48
変化があったタイミングで読んで変換する
175:デフォルトの名無しさん
08/05/22 17:47:34
>>173
プロパティのPasswordCharの項目に*
176:175
08/05/22 17:48:21
ああ、半角英数字か・・・
ゴメンゴメン。忘れて
177:デフォルトの名無しさん
08/05/22 18:46:22
IMEをOFFにするか自分でキー入力読む
178:デフォルトの名無しさん
08/05/22 19:46:30
作りたいプログラムがあり、何か言語を習得しようかと考えています
過去にまともなものをプログラムした経験はほとんどなく
HSPでぷよぷよの模写を遊びで作ったことがある程度です
言語としてはCOBOLやC++をかじった程度ポインタなどは概念を踏まえて
あるていど辞書を引きながら書くことはできます。
プログラムに関する技量などは自分で調べたりしながら向上させていこうと思っているのですが
何を本格的に勉強しようか悩みTurbo DelphiかVC++で行こうと考えて
とりあえずVC++2008無償を入れてみたのですが
初めて扱う上に初めての開発環境でソフトの機能や基本的な使い方を習得するだけで挫けそうです
VC++の勉強サイトなどをみても2008の環境で説明されている所が見つけられず
新規ファイルを作る段階でさえCLTとWin32の詳細な意味を調べてテンプレート形式もそれぞれ調べて…
書こうと思ってもサイトで提示されている項目が無いたびに色々調べたり
プログラムを書く時間よりもやりたいことをする手順なんかで悩んでる時間のほうが長いです
開発環境2008で勉強できるところは無いでしょうか_| ̄|○ il||li
179:デフォルトの名無しさん
08/05/22 20:29:33
何を作りたいの?
HSPでぷよぷよ作れたなら結構スキルはあるんじゃない?
180:デフォルトの名無しさん
08/05/22 20:54:02
おとなしくVC++2005とかBC++にしておけば?
今なら腐るほど解説ページあるぞ
181:デフォルトの名無しさん
08/05/22 21:00:43
対象ウィンドウ内の詳細なデータを調べて
仮想でウィンドウの模写的なもの(できるだけの機能を残して)を作ることは出来ないかなと
ただ深く追求していくとプロセスメモリへのアクセスなどクラックの分野になってくるのかな?と思って…
CでもC++でもDelphiでもjavaなんでも他に使いやすい初心者向きのテキストエディタあるやろって話なんですが
覚えたころにはもう使われてませんでしたでは話にならないのでVc++にしようかなぁ…と…
ごめんなさい取り説よめでFAでしたね_| ̄|○ il||li
182:178
08/05/22 21:12:22
↑178です
>>180
レス感謝 win32API使うならCやC++がよさそうなので他のバージョンなりなんなり探してきます
そしておとなしくします!
さようなら2008 ( ´・ω・`)ノ~
183:デフォルトの名無しさん
08/05/22 21:34:20
物凄く不適切な回答を見た。
184:デフォルトの名無しさん
08/05/22 23:17:07
VC++2008EEとVC++2005EEってそんなに違うものなの?
185:デフォルトの名無しさん
08/05/22 23:35:40
両方使ったけど、ほとんど何も変わってない。
186:デフォルトの名無しさん
08/05/22 23:40:54
すみません。今Win32API勉強してるんですが、
WM_INITMENUが呼ばれるタイミングっていうのはどういうタイミングで呼ばれるのですか?
たとえばWM_PAINTは、Windowが隠れたりして再描画が必要なときに呼ばれるみたいですが
WM_INITMENUの呼ばれるタイミングがわかりません。
よろしくお願いします。
187:デフォルトの名無しさん
08/05/22 23:50:39
いえいえこちらこそよろしくお願いします。
188:デフォルトの名無しさん
08/05/22 23:52:24
>>169
Releaseビルドでやってるっす。最適化オプションはO2ですね。
vectorのヘッダーを丸ごとコピーして適当に名前を変えてクラスにしたら、
ちゃんとインライン展開されてるようで。どこがキーなのか分かりません。
189:186
08/05/23 00:07:38
すません。ぐぐったら出てきました。
自己解決です。スレ汚しすません。
190:173
08/05/23 00:35:01
>>177
IMEをDisableにしたら狙った通りに動いてくれました。
ご指摘ありがとうございました。
191:デフォルトの名無しさん
08/05/23 02:29:00
>>186
トレースでもしりゃわかるよ
192:デフォルトの名無しさん
08/05/23 02:41:05
>>188
templateでかけば普通インライン展開されるんじゃなかったけ
193:デフォルトの名無しさん
08/05/23 08:24:12
VC++2003EEとVC++2005EE は結構違うよね
194:デフォルトの名無しさん
08/05/23 09:04:21
エンタープライズだろ
195:デフォルトの名無しさん
08/05/23 09:10:18
なんだ2005よりインストール楽になってるじゃないか
これで挫折するんじゃ救いようがないな
Wikipedia項目リンク
Visual C++ 2008 Express Edition
Visual C++ 2005 Express Editionに続き2007年12月18日から公開されている。
ATLやMFCが付属しない点はVisual C++ 2005 Express Editionと同じであるが、
Windows Platform SDKが標準で同梱されるようになり、
Win32アプリケーションの開発に必要なWindows SDKを別途用意する必要がなくなった。
196:デフォルトの名無しさん
08/05/23 09:14:23
・言語の仕様
・Windowsの仕様
・IDEの使い方
結局これらがわからないとダメなんじゃない?
197:デフォルトの名無しさん
08/05/23 09:17:37
2005と2008だと、細かなところで2008の方が使いやすいな。
俺はInteliSenceで隠れたところがCtrlキーを押すと半透明になるのが一番
便利だな。
198:デフォルトの名無しさん
08/05/23 10:58:15
>>197
知らんかった
199:デフォルトの名無しさん
08/05/23 13:18:18
VC++2005AE購入・インストール済みで、2008EEを入れたんですが、
VC++2008版のATL・MFCは、2005の時のものと大きな差がありますか?
2008EEから2005のMFC・ATL使うと何か弊害が考えられるでしょうか?
200:デフォルトの名無しさん
08/05/23 14:59:45
ライセンス的にどうなのよ
201:デフォルトの名無しさん
08/05/23 16:25:09
VC++2008EEでウィンドウを作成した際にタイトルバーのアイコンが正常に表示されず困っています。
例えばIDI_ICON1と言うアイコンをWNDCLASSEX構造体で
WNDCLASSEX wc;
(中略)
wc.hIconSm = LoadIcon(NULL, MAKEINTRESOURCE(IDI_ICON1));
などと指定しても、実際に表示されるのは吹き出しの中に"?"が書かれたアイコン(TTI_INFOと同じ)になってしまいます。
色深度に制限があるのかと思い24bitカラーのアイコンを使ったり実行ファイル用のアイコンをそのまま指定したりもしましたが症状は改善されません。
何が原因でしょうか。
202:デフォルトの名無しさん
08/05/23 16:38:42
>>201
LoadIcon の仕様を確認するんだ。
1つめの引数NULLはWindows標準のアイコンだぞ。
203:デフォルトの名無しさん
08/05/23 17:13:43
>>202
確かめてみたら追加のアイコンはインスタンスハンドルを指定するんですね…見落としていました。
4bit透過色使用アイコンは作成するソフトによっては色抜けしなくなるようです。
GIMP2で漸く色抜けするアイコンが作成出来ました。
本当にありがとうございました。
204:デフォルトの名無しさん
08/05/23 18:02:03
Windows XP、 visual studio .NET(ver2003)でCを勉強し始めたものですが
コマンドライン引数を指定するようなプログラムのソースを書いて実行しても
ファイル名の指定がありません
Press any ker to continue
と出て、うまく行きません。
どうしたらいいですか?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4857日前に更新/178 KB
担当:undef