★初心者にVisual C++を教えるスレ★ Part12
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGお兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
http://www.geocities.co.jp/Beautycare/4965/public/template.html
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
満員電車で携帯なんか使うなよ
前スレ
★初心者にVisual C++を教えるスレ★ Part11
http://pc5.2ch.net/test/read.cgi/tech/1077965179/
0002デフォルトの名無しさん
NGNGMFC関連はこちら↓
■ VisualC++(MFC限定)相談室 MFC10.dll■
http://pc5.2ch.net/test/read.cgi/tech/1074104008/
Part11 http://pc5.2ch.net/test/read.cgi/tech/1077965179/
Part10 http://pc5.2ch.net/test/read.cgi/tech/1074933908/ ※
Part09 http://pc5.2ch.net/test/read.cgi/tech/1068983609/ ※
Part08 http://pc5.2ch.net/tech/kako/1063/10630/1063029371.html
Part07 http://pc5.2ch.net/tech/kako/1056/10562/1056280510.html
Part06 http://pc5.2ch.net/tech/kako/1052/10529/1052931903.html
Part05 http://pc5.2ch.net/tech/kako/1048/10486/1048698321.html
Part04 http://pc5.2ch.net/tech/kako/1044/10441/1044196393.html
Part03 http://pc5.2ch.net/tech/kako/1038/10381/1038160750.html
Part02 http://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part01 http://pc3.2ch.net/tech/kako/1023/10235/1023530449.html
※「いや〜、ごめんなさい」により、紛失の可能性
// 関連
■ VisualC++(MFC限定)相談室 MFC10.dll■
http://pc5.2ch.net/test/read.cgi/tech/1074104008/
Win32API質問箱 Build18
http://pc5.2ch.net/test/read.cgi/tech/1081702990/
鬱だ氏のう DirectX (Part 13)
http://pc5.2ch.net/test/read.cgi/tech/1083313796/
C++相談室 part29
http://pc5.2ch.net/test/read.cgi/tech/1082047479/
C/C++の宿題をやらせて、お兄ちゃん 22代目
http://pc5.2ch.net/test/read.cgi/tech/1083050221/
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
MSDN ライブラリ
http://www.microsoft.com/japan/msdn/library/
Platform SDK Update
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
http://www.google.co.jp/
//このスレの前身 VisualC++相談室 過去スレ
part 1 http://piza.2ch.net/tech/kako/970/970607517.html
part 2 http://piza.2ch.net/tech/kako/981/981630730.html
part 3 http://piza2.2ch.net/tech/kako/993/993186053.html
part 4 http://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 http://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 http://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 http://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 http://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 http://pc5.2ch.net/tech/kako/1036/10368/1036897197.html
乙!
とりあえず、過去スレとか張っておくです。
0006デフォルトの名無しさん
NGNGごくろーさん
0007デフォルトの名無しさん
NGNGオツ
華麗に7get!!
0008デフォルトの名無しさん
NGNG>「winmm.lib ddraw.lib dsound.lib」の3つのライブラリを追加し、OKを押します。
上の操作は.NETの場合だとどのようにすればよいのでしょうか?
0009デフォルトの名無しさん
NGNG1000
1000 名前:デフォルトの名無しさん 投稿日:04/05/03 23:09
999!
0010デフォルトの名無しさん
NGNGmapとか使おうとすると、なんだかいっぱい警告がでてきます。
いくつかのHPに載っていたソースをコピペして実行させてみたのですが、
実験したソース全てで同じように警告が沢山でてきました。
これをなんとかできるのであればなんとかしたいのですが、
何か方法があるでしょうか?
何か知っておられたら教えていただけるとありがたいです。お願いします。
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG済みませんでした。
使っているのはVisual C++ 6.0 Enterprise Editionです。
int main()
{
map<string, string> items;
items.insert(pair<string, string>("aa", "Dog"));
items.insert(pair<string, string>("bb", "Cat"));
items.insert(pair<string, string>("cc", "Bird"));
cout << items["aa"] << endl;
return 0;
}
こんな感じのプログラムをコンパイルすると
c:\program files\microsoft visual studio\vc98\include\xtree(120) :
warning C4786: 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,
std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,
std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,
std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basi
c_string<char,std::char_traits<char>,std::allocator<char> > > >' : 識別子が '255' 文字に切り捨てられました (debug 情報内)。
という感じの警告が120程でてきます。(本文が長すぎると言われたので途中で改行を入れてしまっています。)実行結果は
Dog
と表示され、結果自体は問題なさそうに見えるのですが…。
オプションかなにかで設定しないといけないのかなと思って質問しました。
もしなにか知っておられるようでしたら教えていただけるとありがたいと思います。
0013デフォルトの名無しさん
NGNGもうこれはFAQだな。
MSDNで警告番号調べりゃ分かるけど実行に実害はないよ。
0014デフォルトの名無しさん
NGNGやってみました。
キレイサッパリ消えました。
ありがとうございました。
VC++6.0でSTLを使うときはこうなってしまうものなんだと思ってこれからの人生を生きていきます。
ありがとうございました。
0015デフォルトの名無しさん
NGNG寧ろそれより、VC++7.1を使う方が医院で内科医?
VC6はstl周りでおかしな動きするみたいだし。
0016デフォルトの名無しさん
NGNGiccを使うくらいなら・・・
只でリプレースできるものじゃないんだから、
VC6を破棄しろというならともかく、
当然のようにバージョンアップしろみたいな言い方はどうかと。
Enterpriseから置き換えるEnterprise Architectなんて簡単に買える額じゃないし。
0017デフォルトの名無しさん
NGNGそれ、思い込み激しすぎるから。
誰も買い換えろなんて言ってないわけだし。
0018デフォルトの名無しさん
NGNG>>16じゃないけど、普通に読んでVC6ユーザーにバージョンアップを求めてる
ようにしか見えないんだけど・・・
何が言いたいんだろ?はっきり書いてよ
0019デフォルトの名無しさん
NGNGVC++6.0です。出来ることなら、DirectX はなるべく使いたくないです。
0020デフォルトの名無しさん
NGNGSetMapModeとかの話か?
0021デフォルトの名無しさん
NGNG入れた瞬間にチェックしたことを反映させるには
どんな風にしたらいいんですか?
たとえば、日付を表示するダイアログがあって
時間っていうチェックボックスをつくって、
チェックしたときには時間も表示されて、はずしたときには表示されない
という感じにしたいんです。
メッセージの一覧とか見てみたけどそれらしいのが見つからなくて
ダイアログのメッセージ処理のdefaultのところに書いたけどだめでした。
すごい人、おしえてください。
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGそれってwParamのHIWORDの時の値ですよね?
試してみたところ、ボタンを押したときには反応があるんですが、
チェックボックスには反応無かったです
使い方がおかしいんでしょうか・・・
0025デフォルトの名無しさん
NGNGDeleteObjectで削除しなかった場合ってOSには
どのようなことが起きてますか?
プログラム終了したときには絶対に消される?
それとも、OS再起動まで使えない領域として残ったまま?
どうなるんですかね?
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNGアプリ終了しても消されない。
GDIリソースはシステム共有リソースなんで、あまりに使用したままほうっておくと
ほかのプログラムに影響与える。
0028デフォルトの名無しさん
NGNGサンクス
ちゃんと作ったやつは、
責任を持ってdeleteしていこうとおもいます。
0029デフォルトの名無しさん
NGNGサンクス
ちゃんと作ったやつは、
責任を持ってdeleteしていこうとおもいます。
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGこにたび大学でC言語をやることになったのですがほとんど何を言ってるのかわかりません。
何かおすすめの参考書などがありましたら教えてください。
よおしょくお願いします。
0033デフォルトの名無しさん
NGNG自分でDIB作って出回ってるGDIと似たようなライブラリで描画するほうが
好きだなー。後でGetDIBitsして。
オーナードローとか、HFONTばかりは仕方ないか
0034デフォルトの名無しさん
NGNG>error C2440: '=' : 'BOOL' から 'HWND' に変換できません。
というようなエラーが出ました
どうすればいいのでしょうか?
0035デフォルトの名無しさん
NGNG・Cの言語リファレンスを読む。
・諦める。
まぁ、basic上がりだと気がつきにくいんだろうけどな。
0036デフォルトの名無しさん
NGNGMSDNライブラリのキーワード欄に
C2440 を入力してみる。
0037デフォルトの名無しさん
NGNG>>4 の一番上にある「猫でもわかる・・・」をクリックしてみる。
0038デフォルトの名無しさん
NGNG開放されないとかあるんですかねぇ?
描画用のオブジェクトを作る→異常終了→メモリーリークってのが
延々と繰り返されれば、OSが不安定になるわけですな。
0039デフォルトの名無しさん
NGNGクラスを使用することの利点はデストラクタがあること
ファイル処理のクラス化などがリソース管理手段の基礎として取り上げられる
ttp://www.ipa.go.jp/security/awareness/vendor/programming/b06_06.html
0040デフォルトの名無しさん
NGNGまたそれが明示的にならないから結構困りもんなんだな。
new,deleteなら一発なんだが。なんか良い方法ないかな・・・・。
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNGプログラムが終了すれば全部解放される。
0044デフォルトの名無しさん
NGNG起動済みアプリにメッセージを、特に座標を指定したマウスイベントを送る事が目的です。
CWnd *wnd;
wnd = FindWindow("Notepad",NULL);
del->SendMessage( WM_LBUTTONDOWN, xxx, xxx );
などとしてみましたが、3行目SendMessageの引数xxxの部分がわからないのです。
xxxにはメッセージ依存のWPARAM,LPARAMを使えとありますが、どうすれば良いのでしょう?
OnLButtonDownの引数を見ますと押下されている仮想キーと座標(CPoint)がありますが、
これらを適切にWPARAM等に反映させれば良いのでしょうか?(だとしても方法は判らないのですが)
SendMessage、PostMessage等でのググりを行いましたが、結局有用な情報は得られませんでした。
先生方、成すべき事や調べるべきキーワード等ありましたら御教授頂けないでしょうか?
よろしくお願いします
0045デフォルトの名無しさん
NGNGhttp://www.google.com/search?hl=ja&inlang=ja&ie=UTF-8&oe=UTF-8&q=WM_LBUTTONDOWN&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
の1番目。
0046デフォルトの名無しさん
NGNG一時ファイルを環境変数TMPで指定されている場所に
作成したいのですが、環境変数の値をプログラム内で
使用する方法を教えてもらえないでしょうか?
0047デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNGON_WM_TIMERを使用しておりまして、その中でメインの処理が行われる
アプリケーションを作っています。ここで今回仕様変更により
タイムアウトの処理を作成し、呼び元へパラメタ等での通知を行う作りを
追加しなくてはならなくなりました。うまいタイムアウト処理を作成する方法を
教えてください。mfcです。
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNGマルチスレッドにしては伺か?
0052デフォルトの名無しさん
NGNGタイムアウト時になったらメインの処理を行ってるタイマーをkillするとか。
0053デフォルトの名無しさん
NGNG将棋の棋譜取得toolなんですが、取得アドレスが変更されたため
うまく取得することができません。MFCあぷりけーしょんで作成されている
とのことで検索してc++6というものだそうです。
どなたか
http://internet3.shogidojo.com/dj2/getbook.htmから
http://internet3.shogidojo.net/dj2/getbook.htmに
変更する方法、もしくは変更したものをUPしていただけないでしょうか。
当方アプリケーション開発ソフトがございません。
方法だけでも教えていただけたらと思います。
0054デフォルトの名無しさん
NGNG作者(或いは管理者)に頼め。
作者(或いは管理者)の許可があるなら変更しないでもないが、無断で変更するわけにはいかない。
005553
NGNGリードミーなどにも連絡先はおろか作者名すらありません。
いろいろ検索してみても情報がありませんし、verupが期待できません。
許可を取ることも術がありません。
そこをなんとか・・・
0056デフォルトの名無しさん
NGNG#あるのは怪しげな写真ばかり(苦笑
005753
NGNG再UPしました。よろしくおねがいします。
0058デフォルトの名無しさん
NGNGプログラミングの話ではないので、全くの板違い。
club24.exeをバイナリエディタで開いて、'dojo.com'を探してそこを'dojo.net'に書き換えろ。
この説明で判らないなら諦めろ。
005953
NGNG006053
NGNGアドバイスありがとう。
0061デフォルトの名無しさん
NGNG次のようにどちらをincludeしても定義できません。
#include <cstringt.h>
#include <atlstr.h>
どうすれば使用することが出来るようになるのでしょうか?
環境はVC++.NET2002です。
0062デフォルトの名無しさん
NGNG006361
NGNGEOFエラーが出たので最初にstdafx.hを組み込んで見たのですが、
同様の現象が出てしまいます…
最初にウィザードでMFCプログラムを選択したので、
#include <cstringt.h>
を書けばいいのかな?と思ってはいたのですが、うまく行きませんでした。
0064デフォルトの名無しさん
NGNGVC++6.0だけど今適当にクラス作ってメンバとしてCString型定義して問題無かったけど。
ソース側に定義してる?
006561
NGNG.hと.cppのうちstdafx.hは.cppのほうにincludeしています。
それでも変数が定義されてない識別子とエラーが出ます。
ちなみに.hでCStringの変数を宣言し、cppのほうで実際に使っているのですが、
それでもよいのでしょうか?
0066デフォルトの名無しさん
NGNGう〜んそれで良いと思うんだけど・・・。
さっきはヘッダで
private:
CString m_str;
としておいて
コンストラクタで
m_str = "a";
見たいな事やってみたんだけど。
0068デフォルトの名無しさん
NGNG今のVisualC++.net ってパッケージ商品として
1種類しかないようなんですが そのへんどーなってんでしょうか。
6.0の時はプロフェッショナルエディションだと
コンパイル時に最適化が行われてプログラムの実行速度が
違うとか・・ 言われたんですが。
VisualC++.net スタンダードエディションで、
同じような最適化は行われるのでしょうか?
0069デフォルトの名無しさん
NGNGVC++6.0まではProfessional Edition以上じゃなきゃ最適化はされなかったけど
.NET 2003も同じだと思う
DB絡みもやるから、無理して個人でVS.NET 2003 Enterprise Developer買った
オレはアホです。ホントはEnterprise ArchitectだとMSDN Universalが
付くからそっちが良かったけど、+10万だもんなあ
007068
NGNGといいますと、C++.net のみのパッケージだとスタンダードしか
ないので、ビジュアルスタジオを買わなければいけないと・・orz
0071デフォルトの名無しさん
NGNGStandardには最適化コンパイラは付いていない。
Professional以上はVSしか無くなった。
ちなみにVCTools拾ってくれば最適化コンパイラは手に入るが、
最適化関係のコンパイルオプションは手打ちになる。
0072デフォルトの名無しさん
NGNG> ちなみにVCTools拾ってくれば最適化コンパイラは手に入るが、
> 最適化関係のコンパイルオプションは手打ちになる。
<参考>
タダで使えるVisual C++
http://pc5.2ch.net/test/read.cgi/tech/1082177340/
0073デフォルトの名無しさん
NGNGまずダイアログ1とダイアログ2があり、ダイアログ2は1からモードレスで開いている状態です。
ダイアログ2には コントロール変数、int型,, カテゴリは value の変数名 m_edit のエディット用
コントロール変数を作りました。
ダイアログ1でボタンを押すと
UpdateData(TRUE);
int n;
n = daialog2.m_edit;
とエディットに入れられた値をとり、加工をして
daialog2.m_edit = n;
UpdateData(FALSE);
データを更新したいのですが、値の取得も値の代入もうまく行きません。
どうすれば解決できるのか、どなたか教えてください。
環境はVC++ NET2002です。
0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNGダイアログ1のボタンを押したらダイアログ2へSendMessageでユーザーメッセージを
送信してダイアログ2側で計算処理をしてあげたらどうだろう?
007673
NGNG利便性を考えるとやはりダイアログを利用するほうがいいとおもい、ややこしい?作り方になってしまいました。
>>75
ダイアログ1で入力された値を利用するため、ダイアログ2で計算させるときに同様な現象が出てしまい、
やはり詰まってしまいます。
コントロール変数のカテゴリを control として作ると、GetWindowTextで値を取得できるのですが、
これは文字列として取得できてしまい、計算が出来なくてこまってしまってます。
0077デフォルトの名無しさん
NGNG>>74はそういう意味ではないと思う。
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG>コントロール変数のカテゴリを control として作ると、GetWindowTextで値を取得できるのですが、
>これは文字列として取得できてしまい、計算が出来なくてこまってしまってます。
これが出来る事が分かってるなら後はatoiなりitoaなり使って文字列←→数値を
相互変換してあげながら処理すれば良いんじゃないかな。
0080デフォルトの名無しさん
NGNG>>79
いまいちスマートではないのではないかな?
と思ったのですが、データを変換して使うことにしました。
ありがとうございます
0081デフォルトの名無しさん
NGNGしかやったことのない漏れに、Visual C++ Toolkit 2003でmakefileから
コンパイルする方法を教えてくれ。
0082デフォルトの名無しさん
NGNG色々ぐぐってみたけどさっくりあきらめました。
ここで聞くのであってるかどうかもわからないんですが、
よかったら教えてください
下のやつって、リソーススクリプトっていうんでしょうか、
VCで使うって言われました。
このテキストを使うとなにがどうなるのか教えてください。
開発の手段じゃなくて、エンドユーザー側からみたときの
アプリケーション(エクセルとかワードとかありますよね)
がなにかってことがしりたいです。
どなたかやさしい人、お願いしまっす!!
008382つづき
NGNGSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Print"
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "Printer:",1093,6,4,25,8
(中略)
STRINGTABLE DISCARDABLE
BEGIN
ID_COMBO_STYLE "Select Style for selected text region or equation\nStyle"
ID_COMBO_FACE "Select Font for the current selection\nFont"
ID_COMBO_SIZE "Select Font Size for the current selection\nSize"
ID_BROWSE_RELOAD "Reload current page\nReload"
ID_BOOKMARK "Add, edit or display bookmarks\nBookmark"
END
0084デフォルトの名無しさん
NGNG「座標(30,30)から座標(100,200)に直線を引く」ことをやりたいのですが、
API関数やらなんやらワケわかりません。
WM_PAINTのところにうにゃうにゃ、線を引き終わったら古いペンに変更とか
説明されても意味不明です。お暇な方がおりましたら、この簡単なプログラム
を作っていただけないでしょうか?
0085デフォルトの名無しさん
NGNG通常あまりユーザーが深く理解する必要は無いと思う。
ただこの内容はエディタ上だけでなく、この状態でも勿論編集できるので、
例えばSTYLEのWS_SYSMENUを消すと実際のウィンドウからメニューが無くなったり
FONTの数値を変えてあげればフォントの大きさが変わったりする。
でも普通はリソースエディタ上でいじってあげれば事足りるよ。
0086デフォルトの名無しさん
NGNGこれを参考に。
ttp://www.kumei.ne.jp/c_lang/sdk/sdk_23.htm
0087デフォルトの名無しさん
NGNG85様ありがとう
ぜんぜんわかってなくってホントすいません。
PrinterとかReloadとかあるのは
ここに書かれている方法で
印刷、ページのリロードその他するってこと
ですよね、
そいで自分みたいなワケワカメな人間が
最終的に利用するときにはブラウザの使い方
だけわかってればいい、と。
・・・これで合ってます?
0088デフォルトの名無しさん
NGNG何するわけでもなくただテキストの内容を理解したいならあまり意味無いかと。
リソースエディタでどう編集するとテキストの中身がどうなるのかと
言った事が知りたいなら実際適当にプロジェクト作って色々コントロールを
配置してみたりした方が早い。
0089デフォルトの名無しさん
NGNG> ここに書かれている方法で
> 印刷、ページのリロードその他するってこと
つーかこのリソースっていうのはプログラムの中身(動きの部分)じゃなくて
インタフェースのデザインのところ。こういうウィンドウにこういう部品を
こういうサイズで配置とかそういうの。エディット・ボックスがあって、ボタン
があってとか。
0090デフォルトの名無しさん
NGNGじつはあのテキストがなんでどう使われるのかって
聞かれちゃったのです。
ごらんの通りチンプンなので、
そんな自分に聞かれても、って感じなんですが、
わかんなかったらちょっと調べみてよってことな
ので・・・
私自身はたぶん今後もプログラム自作とは
縁のない生活を送ると思われます残念ですがw
やってみたら楽しいんだろうなとは思うけど
たぶん無理だーw
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNG89さまありがとうございます。
0093デフォルトの名無しさん
NGNGどう使われているのかと言えばやっぱり>>89かと。
まあそれとは別にプログラミングに興味があれば是非やってみて頂戴。
VC++なら入門書、解説書も沢山出てるしHPは幾らでもあるし。
009468
NGNGレス有り難うございました。
VSとなるとちょっと値段がきついですね。
学生の弟に買って貰うのも手か・・!?
VCToolsの方もちと調べてみます。
009584
NGNGありがとうございます。
では、改めて質問させていただきます。
そのページ下部に載っているソースコードで
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
DrawGr(hWnd, hdc);
EndPaint(hWnd, &ps);
break;
この中でDrawGr()関数を呼び、そこで線を描写していることは分かるのですが、
msg == WM_PAINT となるのはいつなのでしょうか?ファイルを実行するとすぐ
に線が描写されるのですが、それはどうしてなのでしょうか?そう命令している
ようには見えないのですが…。
おながいします。
0096デフォルトの名無しさん
NGNGウインドウ再描画のタイミングでWM_PAINTメッセージがポストされる。
0097デフォルトの名無しさん
NGNG途中から変更するのは可能なのでしょうか?(出力ファイル名は変更可能なようですが)
いや普通にシェルで変えるのはできるのでしょうが、Makefileその他のファイルの記述も
自動で変更を反映してくれる様な機能が備わっているのかな?という事を御教授頂きたいのです。
よろしくお願いします
0098デフォルトの名無しさん
NGNG・一旦ビルド-クリーンして中間ファイルを削除
・名前を変えたいファイルをファイルツリー上で削除
・エクスプローラなどでファイル名を変更
・プロジェクトにファイルを追加
・リビルド
0099デフォルトの名無しさん
NGNGそこでボタンやエディットコントロールなどのプロパティ項目にある Disabled を制御するには
どうすればいいのでしょうか?
本とかには
button->Enabled = false;
とか書いてあるのですが、コンパイルで
button は CEdit のメンバーじゃありません。としかられます
ならば
button->Disabled = false;
等してもやはりだめでした…
ヘルプもどこを参照すればいいのかわからずじまい。
0100デフォルトの名無しさん
NGNG自己解決しました。
button->EnableWindow(FALSE);
でできました。
となると本に書かれてる Enabled は一体…
0101デフォルトの名無しさん
NGNG()が付いていないってことは関数処理でなく変数じゃないのかな?
そのクラスにオリジナルのコードでそういう有効・無効を判定するための
メンバ変数を加えてあって、処理コードは別にあるのでは?
0103デフォルトの名無しさん
NGNGユーザーからの入力が無いか調べたい為
キーボードとマウスをフックしてみたのですが
ほかのアプリがウィンドウを開いた入りすると
フックプロシージャーが呼び出されてしまいます。
いい方法はありますか?
0104デフォルトの名無しさん
NGNG呼ばれること自体まずいのか?
いらんのはプロシージャで弾けば?
010519
NGNGレスが遅くなりました……。
多分SetMapModeだと思います。
ウィンドウの表示倍率を変更したいのですが(たとえば640*480のウィンドウを320*240に)、
そういった場合はどういった記述をしたらよいのか、よく判らなくなってしまいました。
SetWindowExtExを使うかもしれないことは判ったのですが……どうしたらいいんですか?
0106デフォルトの名無しさん
NGNGHWND hWnd=this->panel1->Handle;
の行で
「error C2440: '初期化中' : 'System::IntPtr' から 'HWND' に変換でき
ません。」
とエラーが発生します。どのようにすればよいのでしょうか?
0107デフォルトの名無しさん
NGNGエラーはやっている事が間違っているから出る
>HWND hWnd=this->panel1->Handle;
もまえのやりたい事はなんだ?
1)this->panel1->Handleを何らかの変数に格納したいのか?
なら、変数の型が間違っている
2)HWND hWndに何か格納したのか?
なら、this->panel1->Handleではない
0108デフォルトの名無しさん
NGNG>もまえのやりたい事はなんだ?
ご返事ありがとうございます。
で、やりたいことは、話し長くなりますが・・・
ttp://www.microsoft.com/JAPAN/developer/library/
jpdx8_c/ds/appdev/capture_intro.htm
これをもとにして作ると別のフォーム(ダイアログボックス?)
に、動画がでてきます。
任意のpictureBoxまたはpanelに動画をキャプチャできないかなぁ
と思っています。
そして、どうすればいいのか分からず、
IVideoWindow *pVidWin = NULL;
pGraph->QueryInterface(IID_IVideoWindow, (void **)&pVidWin);
HWND hWnd=this->panel1->Handle;
pVidWin->put_Owner((OAHWND)hWnd);
というのを追加したら、エラーがでました。
根本的な考え方が間違えているかもしれませんが・・・
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNGどういう意味か頑張って調べてみます。
reinterpret_cast<HWND &>(pictureBox1->Handle);
でただいまチャレンジしています。
0111デフォルトの名無しさん
NGNGC で malloc して realloc する様なイメージなのですが、良い方法ありますでしょうか?
環境は、VC++6.0Pro、Windows2000+サービスパック5 です。
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG早速の回答ありがとうございます。
new でサイズの変更はどのように行うのでしょうか?
いま、調べて vecter と言うのがあったのですが・・・
他ルーチンへ引数として渡そうとするとコンパイルエラーになってしまいます。
(書き方がわるいのか???)
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNGをいをい・・・new, deleteってのはこういう感じで使ってくれい。
char* buf = new char[1024];
これで動的にchar型の1024個の配列を確保。
delete[] buf;
これで確保した配列を解放。
構造体でも記述方法は基本的に同じ。
0116デフォルトの名無しさん
NGNG1024バイトの領域を確保するのならいいのですが、
struct test{
・・・
};
で test 構造体を 条件によって複数個、配列で持ちたいのです。
C表現なら
struct test *aaa;
a = (struct test *)malloc( sizeof(struct test));
で5個に変更したければ、
a = realloc( sizeof(struct test) * 5 );
のような意味です。
0117116
NGNGの間違いです。
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNGせっかく教えてもらったんだから new, delete を
もうすこし調べてみてはどうだろう。
0120デフォルトの名無しさん
NGNGcharをstructで読み替えれば良いだけでは?
new-deleteくらいはC++の基本書式なんだし
とりあえず参考書でも一通り読んでくれよ
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG可変長配列ならvectorでいいじゃん。
頼むからCObArrayだけは使わんでくれ。
0126デフォルトの名無しさん
NGNG「さて、VC++4.2ではこのリソーススクリプトをプロジェクトに挿入する必要があります。「挿入」「プロジェクトへファイルを追加」を選択して sample02.rcを追加して下さい。 」
というところです。
新規作成でリソース・スクリプトを作っても英文を打つ場所がでてきません。
どうすればいいんでしょうか?
環境は6.0です。
0127111・116
NGNG>>124 さんがおっしゃる様に、realloc使えました。(使えないと勘違いしました)
時間を見て vector でも試してみたいと思います。(関数引き渡しで怒られる件)
0128デフォルトの名無しさん
NGNGIDEなんかに頼らずに、自前のエディタ使ったら?
さもなきゃnotepad.exeとか。
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNGテキストディタでsample02.rc作って(コピペして)プロジェクトに追加汁
でなけりゃ既存のrcファイルをテキストモードで開け
0131デフォルトの名無しさん
NGNGプルダウンメニューの
[ファイル]→[開く]
ここで、ダイアログの一番下にある
[用途] を [テキスト] にして
*.rc を選択すれ
0132126
NGNG出来ました。
0135103
NGNG弾く為のユーザー入力かそれ以外か区別をどこですればいいのか不明です。
スクリーンセーバーの起動のように
ユーザーが直接入力操作していない時間を知りたいので
他のアプリの動作によって
フック関数が呼び出されてはまずいです。
フックを使うべきではないのかも
入力のアイドリング時間を知る方法として何か API があるのかと思い調べてみたのですが
無いのか、見つけ損ねているのか
0136デフォルトの名無しさん
NGNGグローバル変数の宣言を今より増やすとデバックで、「場所0x----------を読み込み中にアクセス違反が
起こりました」とエラーになり、ソースエディタで矢印が指している行にあるのは新たに追加した変数とは無関係な
メモリを確保するAPIなどです。
グローバル変数の総量は2kぐらいです。十分なメモリは積んでいます
何が悪いのでしょうか?
0137デフォルトの名無しさん
NGNG原因は特定できないが、一例として配列のオーバーアクセスとかじゃないの?
新たに追加した変数が云々じゃなくてさ。
今までは、メモリレイアウト的に偶然動いてたみたいな。
0138デフォルトの名無しさん
NGNG「logbが定義されとらん」と怒られてしまいました。
それでDevasで検索したりしたけどうちの環境に入ってないのか
logbを定義しているヘッダファイルが見つかりませんでした。
というわけで
VC用のヘッダファイルでlogbが定義されてるのは何でしょうか?
gccのmath.hにあるのは知ってるんですが
無理矢理VC用のmath.hにコピペしてもやっぱり駄目だったので。
0139デフォルトの名無しさん
NGNGMSDNで「logb」検索したけど0件。
存在しないんじゃ・・・
0140138
NGNGすっかりMSDNの存在を忘れてました。
IntelC++では使えるみたいなので
仕方なくIntelでやることにします。
0141デフォルトの名無しさん
NGNG次期WindowsでWinFXという次世代APIIが出るんだ。
もうWin32の時代は終わりなんだよ。
もってもあと2年かな?こんな将来性の無いAPI&言語なんてやってられねー
さっさとマネージドアプリ(.NET Framework専用アプリ)に転換しろ
俺はお前らの将来のために言ってるんだからな
VC++もマイクロソフトは仕方なくリリースしている状態。いわばVBより格下。
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNG┣¨┣¨┣¨┣¨┣¨┣¨┣¨┣¨┣¨┣¨┣¨┣¨┣¨┣¨┣¨
0146136
NGNG配列のオーバーアクセスとは何でしょうか?
コードはサンプルに手を加えていった感じで自分ではどこで使い方が間違っているのかが
よく分かりません。配列をどのように使うとこういうことが起きるのですか?
0147デフォルトの名無しさん
NGNGn[9] = 9; // OK
n[10] = 10; // NG
n[11] = 11; // NG
for(int i = 0; i < 20; ++i)
n[i] = i; // NG
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNGttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/_crt__logb.asp
0151136
NGNGそれはしてないです。
問題点を特定できる方よろしくおながいします
0152デフォルトの名無しさん
NGNGソースも晒さんと、それ以上問題点を特定できるか、ボケ!!
ほぼ間違いなく、書いてはいけない領域に書き込んでる。以上。
0153136
NGNGごめんなさい
0154中国人就学生
NGNGごめんなさい。
0155デフォルトの名無しさん
NGNGしかしMFCって難しいね。自分が使いたい機能がどのクラスのメンバ関数なのか
とかって全部覚えなきゃならないんですか?
0156デフォルトの名無しさん
NGNGそうすりゃ、そのオブジェクトにどういう操作をしたいかってのは
メソッド一覧を見れば簡単に理解できる。
0157デフォルトの名無しさん
NGNG> 自分が使いたい機能がどのクラスのメンバ関数なのか
順序が逆。クラス体系が先で、その後でどういう機能が使えるかという順。
0158デフォルトの名無しさん
NGNGダイアログクラス(aaa.cpp)で定義されたメンバ変数を他のクラス(bbb.cpp)から変更することは
できますか?
クラスの概念をよく理解していないのです。
VC6.0を使用しています。
0159デフォルトの名無しさん
NGNGメンバ変数に他のクラスからアクセスして
値を代入したいということか?
0160デフォルトの名無しさん
NGNGそうです。解りづらい書き方ですみません。
0161デフォルトの名無しさん
NGNGないとしたら、どのライブラリを皆さん使ってるんでしょうか?
LEIRegExpというライブラリを使ってみたんですが、
多重定義のエラーが出てコンパイルできません。
Boostも相性悪いみたいだし・・・
0162デフォルトの名無しさん
NGNGaaaのメンバ変数がpublicなら自由に変更出来る。
privateならaaaクラスの中からしかアクセス出来ない。
protectedの場合はbbbがaaaの派生クラスならアクセス出来る。
こんな感じかな。
よく分らないならとりあえずpublicにしておけば良い。
詳しいことは164が答えてくれる。
0163デフォルトの名無しさん
NGNG複数のTEXTBOXでフォーカスのあるコンポーネントのフォントを変更する
コンボボックスを作成しようとしています。
TEXTBOXの利用可能なフォントを取得するためにEnumFontsを利用しての
コンボボックスへの登録を考えていますが、コンボボックスへのポインタ取得のための
IDがデザインでのプロパティ表示中にありません。
何かIDを取得する方法はないものでしょうか?
0164デフォルトの名無しさん
NGNGモーダルダイアログだとDoModalを実行すると他のウィンドウ
から操作ができません。
モードレスダイアログを作成するにはCreateを使います。
デフォルトでは非可視の状態ですので注意して下さい。
0165デフォルトの名無しさん
NGNGVC7.1 なら ATLサービスに正規表現クラスがある。
0166デフォルトの名無しさん
NGNG.NET Framework にも正規表現クラスがある
0167デフォルトの名無しさん
NGNGSetTimerで指定できる時間って1ms単位ではないのですか?
0168デフォルトの名無しさん
NGNG精度が良くないわけだ。
0169デフォルトの名無しさん
NGNGうまくいきません。
ダイアログは、ボタンが一つだけついているのですが、枠だけ表示
されてボタンが表示されないのですが、なんででしょうか。
マルチスレッドとかにしないとだめなんでしょうか。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGまた、それは定義できるのでしょうか?
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG時間のかかる処理ではマルチスレッドを使うのが望ましい。
しかし PeekMessage を使ってもいい場面もあるとは思う。
http://cgi.members.interq.or.jp/gold/marken/
ここの過去ログで PeekMessage を検索すればいろいろ出るかな。
0176デフォルトの名無しさん
NGNGSetTimer で期待できるのは 20ms くらいとどこかで見た気がする。
0178デフォルトの名無しさん
NGNG((CButton *)GetDlgItem(IDC_xxxx))->ShowWindow(TRUE);
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGまあマルチスレッドでやるのが結局簡単な気がするね。
0182175
NGNGスレッドを生成して処理を行う方法も、一度覚えてしまえば簡単です。
0183169
NGNGやってみることに致します。
どうもありがとうございました。
0184デフォルトの名無しさん
NGNGさすがにATL/WTLはもう寿命かと思い、別のものを使おうと思うんですが
今からやるならMFCとnamaged C++どっちが良いんですかね?
0185デフォルトの名無しさん
NGNGMFCにも未来なんてないんだし
0186デフォルトの名無しさん
NGNGもうちょっとそれぞれについて調べてから質問しようや
0187デフォルトの名無しさん
NGNG例外処理 (初回) は app.exe (MSVCRTD.DLL) にあります: 0xE06D7363: Microsoft C++ Exception
という警告がやたらに出てアウトプットが埋め尽くされてしまうのですが、
この警告を消せませんか?
検索してみたんですが、それらしいものが見つかりませんでした・・・
0188163
NGNGかなしい…しくしく
質問の仕方が悪かったのだろうか?
0189デフォルトの名無しさん
NGNGInclude "Hoge/Hoge.h"で通りません。どうすればいいのでしょう。
ワークスペースウィンドウ上でフォルダの新規作成をしても
実際の位置(全ファイルがあるフォルダ)にはフォルダができていなく、
また逆に、実際の位置でフォルダを作成しても
ワークスペースウィンドウ上では表示されていません。
プロジェクトに追加でもフォルダは追加できないみたいですし。
0191デフォルトの名無しさん
NGNGどうすれば良いでしょうか?
0192デフォルトの名無しさん
NGNGプロジェクトの設定 -> C/C++ -> カテゴリ:プリプロセッサ -> インクルードファイルのパス -> (゚д゚)ウマー
0194167
NGNGマルチメディアタイマを使って見ようと思いました。が問題発生!
timeSetEvent( 1, // 間隔[ms]
0, // 分解能
TimerEvent, // 割り込み関数
0, // ユーザーパラメータ
TIME_PERIODIC | TIME_CALLBACK_FUNCTION // 動作フラグ
);
を試みると、
Error C2664 error C2664 3番目の引数を変換できません
となってしまいます。
誰か解決方法わかる方、教えてください。
0195デフォルトの名無しさん
NGNG>解決方法
マニュアルを読む。MSDNで調べる。
0196デフォルトの名無しさん
NGNGTimerEventはコールバック関数になってる?
0197デフォルトの名無しさん
NGNG本屋で林晴比古のス-パ-ビギナ-編、ビギナ-編、高橋麻奈のやさしいc++
も買ってきました。わからない所があれば質問するのでおながいしまつ。
0198デフォルトの名無しさん
NGNG釣り?
まだ売ってるの?
なんで今さら6.0 ?
業務で使用するため互換性が必要だたとかじゃないなら、変なクセがつくだけ。
ほんとに買ったの?
0199デフォルトの名無しさん
NGNG関数TimerEventの宣言どこでやってますか?
グローバルにするとか、
クラス内なら static を使うとか・・・。
0200デフォルトの名無しさん
NGNGc→c#への移植作業中なんですが
#define CMDSEPA "\1"
って行がありまして・・・・"\1"ってなんですか?
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG1
0203200
NGNG0204デフォルトの名無しさん
NGNG何か参考になるようなURLなどを教えてもらえないでしょうか。
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGこの値をそのままモノクロBMPの白黒に対応させてBMPファイルを保存したい
と思っています。BMPファイルのヘッダーを書き込んでから1bitずつwriteしていっても
いいのですがそれだと結構面倒でたまに間違ったりしてしまいます。
どなたか配列の値を繁栄させたモノクロBMPファイルを保存してくれる関数かクラスを
公開されているかたはいらっしゃらないでしょうか?
0207コンパイル警告
NGNG意味不明なワーニングが出て気になってしょうがないです。
コンパイルには支障ないのですが…
Win32 Console Application を新規作成して、
--------
#include <iostream>
#include <vector>
#include <string>
using namespace std;
typedef vector<string> strings;
void main()
{
strings a;
a.push_back( "1行目" );
cout << a[0] << endl;
}
--------
をコンパイルすると、いやに長いメッセージが出ます
これって何なのでしょうか?
0208コンパイル警告(その2)
NGNG以下、メッセージです
D:\dev\vc\テスト・学習用\STL_vector\STL_vector.cpp(20) : warning C4786: 'std::reverse_iterator<std::basic_string<char,std::char_traits<char>,
std::allocator<char> > const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::bas
ic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits
<char>,std::allocator<char> > const *,int>' : 識別子が '255' 文字に切り捨てられました (debug 情報内)。
D:\dev\vc\テスト・学習用\STL_vector\STL_vector.cpp(20) : warning C4786: 'std::reverse_iterator<std::basic_string
<char,std::char_traits<char>,std::allocator<char> > *,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_str
ing<char,std::char_traits<char>,std::allocator<char> > &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > *,int>' :
識別子が '255' 文字に切り捨てられました (debug 情報内)。
(以下同じようなメッセージがえんえんと続く…)
0209コンパイル警告(その3)
NGNGちなみに、警告にある20行目とは、main の閉じカッコの行に相当します
0210デフォルトの名無しさん
NGNG0211コンパイル警告(結果)
NGNGMSDNのサンプルの通り、コードの先頭に
#define reverse_iterator R_
#define basic_string B_
#define allocator A_
#define vector V_
を付けて無理矢理短くなるようにしたらうまくいったのですが…
なんか、こう、しっくりこないですね、これって…
0212デフォルトの名無しさん
NGNGで抑止するって手もあるよ。
0213デフォルトの名無しさん
NGNG1bit ずつはやりたくないなぁ。
とりあえず CreateDIBSection あたりなのかな。
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNG値域が0-256なんてのは見たことないや。
0216デフォルトの名無しさん
NGNGモノクロDIB生成>そいつにBitBlt
で出来ねーかな。
0217デフォルトの名無しさん
NGNG検索して調べた方法によると、
MFCのダイアログベースのアプリケーションで、
16x16のアイコンを作成した後、CxxxApp::InitInstanceで
HICON hIcon = AfxGetApp()->LoadIcon(IDI_ICON);
AfxGetMainWnd()->SetIcon(hIcon, TRUE);// 大きいアイコンを設定
AfxGetMainWnd()->SetIcon(hIcon, FALSE);// 小さいアイコンを設定
とやってビルドすれば変更できるようなのですが、
やってみてもできません。MFCのアイコンが表示されてしまいます。
なんで変更できないんでしょうか・・・。
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG> エクスプローラ上で表示される、アプリケーションのアイコンを変更したいのですが、
それは外部プログラム(エクスプローラ)から利用されるものなんだから
キミのプログラムのプログラム・コードじゃなくてリソースの問題。コード
をいじって変更できるのは、プログラム実行時のウィンドウに割り当てら
れるアイコン類。
要するにだ、外部参照のリソースとしてのメインフレーム・アイコンは
IDR_MAINFRAMEというIDで割り当てられているものが使われるように
なってるので、それを変更してやらないとダメ。
0220デフォルトの名無しさん
NGNGリソース中の最初のアイコンじゃなかったっけ?
0221デフォルトの名無しさん
NGNGレスありがとうございます
自分で新規IDのアイコンを作成して、それを読みこむようにしてたつもりだったのですが、
>>219さんに言われた通り、IDR_MAINFRAMEの方を変更したらきちんとアイコンが変更されました。
ありがとうございました。
0222デフォルトの名無しさん
NGNGVisualC++6.0でデバッガを使用すると強制終了するようになりました。
デバッガが終了した時点でVCが落ち、その後すべてのアプリケーション
(メモ帳、エクスプローラ等)が「アクティブになった瞬間」落ちるようになります。
※落ちるのはデバッガ使用時に起動していたアプリケーションのみです。
下記のコードをコンソールアプリケーションとして作成・デバッグした場合、
MessageBoxがとおる前にデバッガを停止させると上記の問題は発生しません。
#include "windows.h"
#include "stdio.h"
int main(int argc , char *argv[])
{
printf("HELLO WORLD");
MessageBox(HWND_DESKTOP, "HELLO WORLD", "Test Application", MB_OK);
return 0;
}
環境
Windows98SE(アップデートは頻繁に行っている)
Microsoft VisualC++6.0 SE(修正パッチなし)
NEC LavieNX LW45H/23DR モバイルCeleron450MHz メモリ128MB HD12GB
試したこと
OSのアップデート、VCの再インストール、常駐アプリケーションの削減
VCのアップデートはMSのサイトが混雑しているので後日再挑戦します
0223デフォルトの名無しさん
NGNGVC詳しくないんだけど、MessageBox()の第一引き数がものすごく怪しい。
何故そんな値を使っているのかがわかれば解決しそうな気がしないでもない。
0224デフォルトの名無しさん
NGNGW2k VC6.0
でも第一引数は NULLでえーやんと思うが・・・
0225222
NGNGコードは掲示板に書き込む目的で作成したもので、GUIを利用した場合のみ
問題が発生することを検証した結果でもあります。過去に作成したプログラム
やネット上のサンプルもデバッグできない状況です。
OSの動作は非常に安定していますが、リカバリしてしまうかどうか悩むところ。
ちなみにHWND_DESKTOPの正体はNULL値です。紛らわしい固定値を使っていて
申し訳ありません。
0226デフォルトの名無しさん
NGNGいまいち反応が悪い気がします。
今やっている方法はWM_DRAWITEM命令が来たら
ボタンの状態を見て、すでに読み込んだビットマップを
貼り付けているんですが、WINDOWS通常のボタンと比べて
だいぶ反応が悪い気がします。
なにかオーナードローでの処理を軽くするための方法とか
あるんでしょうか?教えてください。
0227デフォルトの名無しさん
NGNG作ろうと思っています。絵の元データは2次元行列に格納されたdouble型
の数値です。この数値の値に従って色を配色して2次元行列を視覚的
に見てみようと思っているのですが、このようなことを解説している
本やサイトはありますでしょうか?VC++の入門書を読むとグラフィックス
の表示方法に関しては軽く触れられているものが大多数でした。
0228222
NGNG今度はマルチスレッドを使ったとたんにOSごと固まる・・・もうやだ。
>>227
サイトは知らないけど、たとえばCreateDIBSectionで32bitビットマップを
作成すれば画像をint型配列のように操作できるから、これをキーワードに
検索してみてはいかがでしょう。
0229デフォルトの名無しさん
NGNGやりたい処理は、自分で作成したピクセル情報をどこかに格納しておいて
描画、という流れになるわけだね。それなら、DIBを使うのがよさそう。
処理速度にこだわらないなら、普通のBITMAPにSetPixelしていってもよい
かもしれんがw
DIBや画像周りの処理に関してはこことか
http://www.sm.rim.or.jp/~shishido/
0230デフォルトの名無しさん
NGNGたぶんそれダブルクリックを拾っちゃってるんじゃないかと。
ダブルクリックのメッセージを拾ったときもシングルクリックと
なるようにすればよいです。
0231230
NGNGWM_LBUTTONDOWN を SendMessage してやればよいです。
void CMyButton::OnLButtonDblClk(UINT nFlags, CPoint point)
{
SendMessage(WM_LBUTTONDOWN, (WPARAM)nFlags, MAKELONG(point.x, point.y));
CButton::OnLButtonDblClk(nFlags, point); //←コメントアウトかな〜?
}
MFCだとこんな感じでしょうか。基底クラスのハンドラを呼ぶか
コメントアウトするか、どっちがいいんでしょうかねぇ。
どっちでもいいか?
0232230
NGNG描画が遅いんですか?
0233デフォルトの名無しさん
NGNGVS6はXPでデバッガ使うとダメっぽい感じ。
2KとかWinDbgとかなら大丈夫かもしれない。
0234227
NGNG確かに、動作が鈍かったときはダブルクリックだと判断して
ボタンのステータスが変わらなかったためだったようです。
で、>>231やダブルクリックメッセージの処理とかについて
がんばって調べてみます。
ありがとございました。
0235227は私だが・・・
NGNGありがとうございます。
おかげさまでDIBに関して詳細に紹介されているサイトを見つけるとが出来ました。
0237234
NGNG私はSDKでプログラムを作っていて、ウィンドウスタイルでダブルクリックが
検出されない設定だったので、WM_COMMANDでの各ボタンの
BN_DBLCLKを検出してBN_CLICKEDに変えたメッセージを送ってみたんですが、
相変わらずでした。orz
で、届いているメッセージを表示するようにして、調べたところ、
やはり、ダブルクリック時にWM_DRAWITEMメッセージがでていない感じ
だったんですが、SDKでは、>>231みたいな各ボタンに対する
WM_LBUTTONDOWNとかはどうやって作ったらいいですか?
ホントダメですんません。。。
0238デフォルトの名無しさん
NGNGここで使われてるコンパイラ古くて、
今使ってるVC++6.0じゃライブラリの作成や追加の手順が分かりません…('A`)タスケテ…
0239デフォルトの名無しさん
NGNGマニュアルくらいは読んでから、下調べくらいはしてから聞こうね。
0240234
NGNGそれで、また新しい質問なのですが、
似たような動作をするボタンがあったときに、
それら全部に対してある動作をしたいために、サブクラス化したんですが
全ボタンに対して一つずつボタン処理の手続きを作るのは大変だったので
一つだけつくって、デフォルトの時は一つ目のボタンと同じように動作するよう
設定しました。
見た感じでは動作には問題ないようなのですが、ほかのボタンのプロシージャ
を使って処理してしまって見えないところで問題とか起こらないでしょうか・・・?
それとも、ボタンのプロシージャは基本的に同じことをやってるので問題ないですか?
0241デフォルトの名無しさん
NGNG2.ウンコって苦いの?
0242デフォルトの名無しさん
NGNG古い話なのですが、
>106〜>110に関連していまして、
pictureBox1にUSBカメラの動画が流れている状態にはなったのですが、
任意の場面で、動画を一旦止めて、その画面を別のpictureBoxにコピーし
保存したいと思い、
pControl->Stop();
pictureBox2->Image=pictureBox1->Image;
pictureBox2->System::Drawing::Image::Save("d:/testZ.bmp",System::Drawing::Imaging::ImageFormat::Bmp);
というのを書いたのですが、
error C2039: 'System' : 'System::Windows::Forms::PictureBox' のメンバではありません。
error C2663: 'System::Drawing::Image::Save' : 5 オーバーロードに 'this' ポインタのための正しい変換がされていません。
となります。
基本的なところが理解できていないので、前にすすまないようです。
ご指導お願いします。
0243デフォルトの名無しさん
NGNGとりあえず原因は、
class PictureBox に System::Drawing::Image::Save というものが無いからだと思う。
ファイルに保存したいのであれば、
pictureBox2->get_Image()->Save(〜);
とかやればいいんじゃないの?
C# で少し .NET 触っただけだから、あまり自信ないけど。
0244デフォルトの名無しさん
NGNG引き連れたまま移動させるには、どうすれば良いでしょうか?
0245デフォルトの名無しさん
NGNG既存のアイテムをコピーして、その場所にあったのを削除して、移動先に挿入する。
0246デフォルトの名無しさん
NGNGダイアログボックスで画面を切り替えながら処理を進めていくプログラムを作成しようとしています。
やり方として親のダイアログボックスを作成、各画面をその子供として作成しながら、
画面を進ませるにつれて前の画面を非表示にする。という手法を使っています。
ここで、各画面のラベルボックスにコードでテキストを表示させようとしています。
各画面のコンストラクタにてテキストをTextメンバに代入したのですが、最初のRunで
実行した画面のテキストは表示されたのですが画面を切り替えたあとの画面の
テキスト表示がされません。
Textメンバへの代入のコードは実行されているのですが…
どなたか助けてプリーズ
0247デフォルトの名無しさん
NGNGInstallShield for Microsoft Visual C++ 6 を使って、VCで作ったアプリのインストーラを作ろうとしています。
アプリのバージョンが古かったときにレジストリを削除する処理と、アンインストールしたときにレジストリを削除する処理をそのインストーラに組み込みたいのですが、どう書いてよいやらさっぱりわかりません。
SetupRegistry()に書くのだろうということまではわかったのですが、そのスクリプトの書き方がわかりません。
InstallShield for Microsoft Visual C++ 6という本を発注してはみたものの、絶版の疑いもあるくらいでいつ届くかもわからず、かつ早急に必要なことでしたのでここに質問させていただきました。
もしご存知の方がいらっしゃったらどのようなスクリプトを書けばいいのか教えていただけませんか。
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG今もありますか?
適当なスレが見つからずここに書いたのですが・・
0250デフォルトの名無しさん
NGNG0251247
NGNGInstallShieldなどで検索して出てこなかった時点で諦めていました。
あちらで聞いてみます。
0252デフォルトの名無しさん
NGNGUpdateData()しなさいって話なのかな?
0253デフォルトの名無しさん
NGNGありがとうございました。
0254デフォルトの名無しさん
NGNGダイアログウィンドウのサイズが変わったら、エディットボックスの
大きさも変わるようにするにはどうすればいいのでしょうか?
0255246
NGNGUpdateData()はやってみましたがだめでした(テキスト表示されませんでした)
ちなみに実際の画面の切り替えは次のようにしています
BaseForm *next = new pend();
this->GoNext(this);
void GoNext(BaseForm *current) {
current->next->Show();
current->Visible = false;
}
0256デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG最近、複数人でVCでアプリ開発を行い、同名のプロジェクトでそれぞれ作成をしました
そして、それを1つのプロジェクトにまとめたいと思っているのですが、まとめる方法と言うのが分かりません。
プロジェクトをワークスペースに挿入を行おうとしても、同一プロジェクトなので行えません
プロジェクトの統合方法がありましたら教えてくださらないでしょうか
0259デフォルトの名無しさん
NGNGどっちかってーと初歩的なミスだな。
.NET は知らんが、VC++ 6.0 ならプロジェクトファイル (.dsp) はテキスト。
メモ帳かなんかで開いて、プロジェクト名を一括置換しる。
0260デフォルトの名無しさん
NGNGこれを別のパソコンに持ち運ぶことって出来るんですか?
いちいち手作業で設定するの面倒です。
0261デフォルトの名無しさん
NGNG>>8はどうすればよいのでしょうか
0262デフォルトの名無しさん
NGNGプロジェクトのプロパティページを開く。
以下、同様に。
0263デフォルトの名無しさん
NGNGファイルを保存するコモンダイアログを出したいのですが上手くいきません。
具体的には、
char filename[256];
OPENFILENAME ofn;
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = hWnd;
ofn.lpstrFilter = "BMPファイル(*.bmp)\0*.bmp\0全てのファイル(*.*)\0*.*\0\0";
ofn.nFilterIndex = 1;
ofn.lpstrFile = filename;
ofn.nMaxFile = sizeof(filename);
ofn.Flags = OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY;
if(!GetSaveFileName(&ofn)){
return;
}
このコードで、そもそもダイアログが表示されません。
CommDlgExtendedError()でエラー値を見てみると、
0x0002、CDERR_INITIALIZATION:初期化の際にコモンダイアログボックス関数が失敗しました。
・・・らしいのですが、いろいろなページを見ても
OPENFILENAME構造体の初期化におかしなところはないように
思えて、原因がさっぱりわかりません。
上のコードではBMPを指定していますが、これは例なのでなんでもかまいません。
他の形式にしても結果は同じでした。
どなたか原因をご存知でしたらご教授ください。
よろしくお願いします。
0264263
NGNGnMaxFileをMAX_PATHにしたら
普通にダイアログがでてきました。
恥ずかしい・・・
0265263
NGNGMAX_PATHでなくても動きました。
原因が理解できました。
馬鹿な質問で汚してすみませんでした。
0266デフォルトの名無しさん
NGNGZeroMemory(&ofn, sizeof(ofn));
これって
OPENFILENAME ofn = {0};
これでもいいんだよね?処理系依存でしたっけ?
0267489
NGNG#include <stdio.h>
int main(void)
{
int a,b;
printf("整数を入力してください。>>>");
scanf("%d",&a);
while(a>0)
{
b=a*a;
a=a-1;
}
printf("答え%d\n",b);
return 0;
}
答えが全て1になります。どこがへんでしょうか?
0268デフォルトの名無しさん
NGNG{
b=a*a;
a=a-1;
}
の部分がたぶんおかしい
0269デフォルトの名無しさん
NGNG0270正解
NGNGint a,b=0;
printf("整数を入力してください。>>>");
scanf("%d",&a);
while(a>0)
{
b +=a*a;
a=a-1;
}
printf("答え%d\n",b);
return 0;
}
0271267
NGNG0272デフォルトの名無しさん
NGNGそれでいいよ
0273デフォルトの名無しさん
NGNGビルド>プロファイルをクリックして、プロファイルのタイプを選ぶダイアログを出す所まではできるんですけど、
そのあと、例えば "関数のタイミング" にチェックをいれてOKボタンを押しても、何も起きません。
どうしたらプロファイラが使えるのか、教えて下さい。
Visual C++のヴァージョンは、Standard Edition 6.0です
0274デフォルトの名無しさん
NGNG0275273
NGNG0276デフォルトの名無しさん
NGNGHelloWorldのコードに
#include <iostream.h>
cout〜
というのがあり、前スレにありましたがVS.net2003にはiostream.hが存在しないようで、以降の内容に取り組めません
選ぶ本を間違えますか?
0277デフォルトの名無しさん
NGNGそして std::cout とかするか、
using namespace std;
とか、書いておきましょう。
0278デフォルトの名無しさん
NGNGって何が違うの?
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNGなるほど。
thx!
0281デフォルトの名無しさん
NGNGはっきり言って、選ぶ本を間違えてます。
#include <iostream.h> などという「古い」ことが書いてある本は捨て。
たしかにそれでもC++が学べないわけではないが、規格が固まる以前の仕様で書かれた本じゃ、学習の妨げになる。
0282276
NGNG即レスありがとうございます。
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Hello World!\n";
return 0;
}
で無事解決しました。using namespaceが最初の行だと駄目なんですね。
std::coutのほうはめぼしいところに入れてもエラーが出てしまいました。
C#だとusing System の Console.WriteLine("Hello World!")だけでいいのにC++は難しいですね。
意味がまだわかりませんが精進します。ありがとうございました。
0283276
NGNGそうですか・・・orz
C#をちょっと知ってるだけなのでそんな規格の変化があるとは思いもよりませんでした
VS.net(できれば2003)準拠の本を探しに行ってきます
0284デフォルトの名無しさん
NGNGイブも表示されるのにWin2000では表示されません。
解決方法をお願いいたします。
コードは以下の通りです。
//CCombo m_dirCombo;
m_dirCombo.ResetContent();
m_dirCombo.Dir(DDL_EXCLUSIVE | DDL_DRIVES | DDL_DIRECTORY, _T("*.*"));
0285デフォルトの名無しさん
NGNG塚越氏の本は読み進めて理解していくのに分かりやすいし学習用には良いと思うけどね
オレは・・・
0286デフォルトの名無しさん
NGNGgcc version 3.3 20030304 (Apple Computer, Inc. build 1495)です。
#include <iostream>
class MyClass {
int data;
public:
MyClass(int d) { data = d; }
MyClass Add(MyClass ob);
void Display() { std::cout << "data : " << data << std::endl; }
};
MyClass MyClass::Add(MyClass ob)
{
data += ob.data;
return *this;
}
int main()
{
MyClass Obj1(10), Obj2(15);
Obj1.Add(Obj2);
Obj1.Display();
return 0;
}
0287デフォルトの名無しさん
NGNGスレ違いだとは思わんもんかなぁ。
それはさておき、あんたは先ず、classとは何か10分くらい勉強してきなさい。
0288デフォルトの名無しさん
NGNG10分どころか1時間以上経ってるね。
0291デフォルトの名無しさん
NGNGスレ違いに付き以後放置決定。
0292デフォルトの名無しさん
NGNGAddとdataがMyClassのメンバだから。
聞きたいことは大体分かるが、これで納得できないなら>>287
0293デフォルトの名無しさん
NGNGSleep関数だと話になりませんでした。
その他のプログラムは停止でもなんでも無視してもいいから、
正確にmsまでのウエイト処理ができるようなプログラムを
作成されている方はいらっしゃいますでしょうか?
0294デフォルトの名無しさん
NGNGスレッド優先順位を最高位にしてパフォーマンスカウンタかな?
可変クロックだとダメらしいが。
0295デフォルトの名無しさん
NGNGtimeGetTime()なら若干マシじゃないかね
0296デフォルトの名無しさん
NGNG方法をご存知のかた教えて頂きたいとおもいます。
MFCのEXEにてCFrameWndビューが表示されるツールを作成しています。
もともとビューのリソースを持っているのではなく
コードによりWNCLASSを使用し、画面を構築しています。
このビューを灰色に設定しダイアログっぽくデザインしており
画面の構築時にビットマップ等の画像ファイルを埋め込みたいとおもいます。
イメージで言うとエラーメッセージ等の警告、注意、のマークみたいな物
となります。
この場合、どのような方法で画像を埋め込むのか分からず、思案しております。
サンプル等貼ってある場所があれば誘導等もお願いいたします。
0297デフォルトの名無しさん
NGNG方法とかタイミングによるべさ
0298デフォルトの名無しさん
NGNG>error LNK2019: 未解決の外部シンボル __imp__timeGetTime@0 が関数 _main で参照されました。
>fatal error LNK1120: 外部参照 1 が未解決です。
というエラーが出ます。
全く同じソースが、BCC5.5では正常にコンパイルできるので、ソースに問題があるとは思いにくく、
環境自体がおかしいのかと思い、VSの再インストールもしましたが、改善しません。
何か他に考えられる可能性はあるでしょうか…
0299デフォルトの名無しさん
NGNGwinmm.libをリンクしてないから。
#pragma comment(lib, "winmm.lib")
をソースに追加するか、プロジェクトの設定でwinmm.libをリンクするようにする。
0301デフォルトの名無しさん
NGNGコンパイルエラーがなく、実行時にsetTimerがうまく呼ばれてないようで、
呼出し後の処理がうまくいきません。
具体的には、パズルゲームです。一秒ごとにブロックが落ちるはずなのですが、
ブロックが、落ちずにキーボードから操作するしかないという状態です。
なにとぞ、よい知恵をお貸しください。
ttp://www.geocities.jp/whaleaquarium/
0302デフォルトの名無しさん
NGNG0303301
NGNG>>302
OnTimerでもSetTimerとはどういう事か分からないのですが。
OnTimer関数内でSetTimerを呼ぶという事でしょうか?
一応やってみましたが、特に変化がありませんでした。
引数が問題なのでしょうか、
自分の解釈が間違ってるかも知れませんが、
よろしければ、詳しく教えて下さい。よろしくお願いします。
0304デフォルトの名無しさん
NGNGこれを強制的に表示させないようにする方法を教えてください
0305デフォルトの名無しさん
NGNG何のスクロールバー?
0306デフォルトの名無しさん
NGNGフレームビューです。
文字がビューに収まりきらなくなった時勝手にスクロールバーが
表示されて困ってます
0307デフォルトの名無しさん
NGNGフレームビューは文字を格納するものなの?
MFCを使っているならそう言え。
フレームビューとやらは自分で定義したクラスか?
0308デフォルトの名無しさん
NGNGフレームビューという表現は誤りでしたか。。。
これをサンプルに作っております
ttp://www.sm.rim.or.jp/~shishido/api1.html
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG表現が間違っていたらすみませんでした。
要は文字列がダラーっと縦に続いていった場合 意図しないのに
スクロールバー様が表示されるのです。お呼びでない為
スクロール婆さんにはスッコンでいてもらいたいのです。
0311デフォルトの名無しさん
NGNGどのような手段を使って文字列を表示しているんだ?
ただTextOutを使って表示させるだけなら、スクロールバーが出たりしないし。
0312デフォルトの名無しさん
NGNG一回一回描画しています。
0313デフォルトの名無しさん
NGNG誰か他の人お願い。
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNG_strtoi64 が出てきましたこれは一般的なのでしょうか?
textBox.text プロパティから数値を取り出そうとしています。
また最後の3つ目の引数は基数となってますが、
10進として変換したい場合は10とすればいいのでしょうか?
0317デフォルトの名無しさん
NGNGありがとうございますた。
SetScrollRange君と
SetScrollPos君が悪さしていたようです
0318デフォルトの名無しさん
NGNGで良いんじゃない?
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGatoi と strtoi64 は精度が違うとかそういう違いだけですか?
int に変換したいのですが扱うのは整数のみ、桁数は大き目
ネットで調べると covert だの CString だの出てきますが、
やはりatoiが一番最良で軽いのですか?
0321デフォルトの名無しさん
NGNGVC++じゃなくてC++質問で申し訳ないです
0322デフォルトの名無しさん
NGNGa_to_系
str_to系
では書式が少し違う。
得られる数値の型が複数用意されているのでそこらへんは"u"なり"i"なり
そのコードに必要な値の範囲をカバーしているものを使う。使い分けってのは
必要な型のサポートで考えれば良いのでは?
0323デフォルトの名無しさん
NGNGint i;
std::stringstream ss;
ss << "321";
ss >> i;
0324デフォルトの名無しさん
NGNGboost使っても良いなら、
int i = boost::lexical_cast<int>( "321" );
lexical_cast内部で>>323の処理を行っている。
0325デフォルトの名無しさん
NGNGCOMBOBOXINFO構造体を使用しようとすると、
「: error C2065: 'COMBOBOXINFO' : 定義されていない識別子です。」
というコンパイル エラーになってしまいます。
原因が分からないのでご教授願います。
0326デフォルトの名無しさん
NGNGttp://msdn.microsoft.com/library/en-us/winprog/winprog/using_the_windows_headers.asp
0327デフォルトの名無しさん
NGNGコンパイルオプションなんかで解決できますか?
std::vector<type_t*> tvec(100);
(case A)
type_t*& ptr(tvec[0]); // 駄目
(case B)
typedef type_t* tp;
tp& ptr(tvec[0]); // OK
0328327
NGNG0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGtype_t*& p = tvec[0];
0331デフォルトの名無しさん
NGNGms-help://MS.VSCC/MS.MSDNVS.1041/vcmxspec/html/vcmg_MacrosandthePreprocessor.htm
と、いうHELPがあるそうなんですが見つけられません
名称が変わったのでしょうか?
どなたかご存知の方折られませんか?
どうやら
wingdi.hに定義されているGetObjectと
System::Resources::ResourceManagerのGetObject
が、重なってしまいます。
の解決方法が書いてあるようなんですが
0332デフォルトの名無しさん
NGNG全てのアイテムのテキストが文字化け(?)してしまいます。
どうすれば良いでしょうか?
0333デフォルトの名無しさん
NGNG0335332
NGNG0336デフォルトの名無しさん
NGNGCBS_HASSTRINGS付けてみい
0337デフォルトの名無しさん
NGNGstruct Object{
int a;
};
struct *p;
p = malloc(sizeof(struct Object)) == NULL
ビルドエラーになるんですが何が問題でしょうか?
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNG(・∀・)ニヤニヤ
0342デフォルトの名無しさん
NGNG例えば、「book1.xls」の「先頭のシート」を、「book2.xls」の「先頭のシート」の前にコピーするという操作です。
1:using namespace Excel;
2:_ApplicationPtr pXL;
3:COleVariant data;
4:
5: //Excelの起動
6:pXL.CreateInstance(L"Excel.Application");
7:pXL->Visible = TRUE;
8:
9://WorkBookを開く
10:WorkbooksPtr pBooks = pXL->Workbooks;
11:_WorkbookPtr pBook1 = pBooks->Open("C:\\book1.xls");// book1.xls を開く
12:_WorkbookPtr pBook2 = pBooks->Open("C:\\book2.xls");// book2.xls を開く
13:
14://アクティブ・シートの変更
15:data = (short)1;// book1.xlsの先頭のシートを指定
16:SheetsPtr pSheets = pBook1->Worksheets->Item[data];
17:pSheets->Select(data);
18:
19:VARIANT vx;
20:VariantInit (&vx);
21:vx.vt = pBook2->Worksheets->Item[(short)1];// book2.xlsの先頭のシートを指定 **ここが怪しい**
22:
23:pSheets->Copy(vx);// **ここで abnormal program termination エラー発生**
24:
25:pXL->DisplayAlerts = FALSE;
26:pXL->Quit();
0343342
NGNGCopyメソッドの引数がおかしいのだと思いますが、よくわからず行き詰まっております。
シートを開いたりするところまでは正常に動作しております。
良い方法や、参考になるサイト等ありましたらご教授いただけると幸いです。
環境は、Win98SE, VC++6.0 Enterprise Edition, MS Excel97 です。
0344デフォルトの名無しさん
NGNGInitInstance内でCFrameWndを構築するコード
hInst = m_hInstance;
m_pMainWnd = new CTestView();
pTestwin = m_pMainWnd
を書いているのですが この部分を同一CPPファイルの外部関数(EXPORT)宣言内に移行して使えるようにしたと
思います。
動作としては外部関数が呼ばれた時に画面の構築を行いたいのです。
外部関数内にそのままコードを移行するとビルド時に
error C2065: 'm_hInstance' : 定義されていない識別子です。
error C2440: '=' : 'int' から 'struct HINSTANCE__ *' に変換することはできません。(新しい動作 ; ヘルプを参照)
整数型からポインタ型への変換には reinterpret_cast、C スタイル キャストまたは関数スタイル キャストが必要です。
error C2065: 'm_pMainWnd' : 定義されていない識別子です。
error C2440: '=' : 'class CFuruView *' から 'int' に変換することはできません。(新しい動作 ; ヘルプを参照)
この変換には reinterpret_cast, C スタイル キャストまたは関数スタイルのキャストが必要です。
error C2440: '=' : 'int' から 'void *' に変換することはできません。(新しい動作 ; ヘルプを参照)
が発生してしまいました。このように初期描画構築コードを外部関数に移行する場合の
要領を教えていただけないでしょうか?よろしくお願いします。
開発環境はnt4.0でvcは5を使用しています。
0345デフォルトの名無しさん
NGNGデバッグでCopy関数の中へステップインしてみる。
Copyのソースコードが現れるので一行ずつ実行すれば
エラーのある箇所で止るだろうから、その時のソースコードに
注目する。これで原因が特定出来るはず。
0346デフォルトの名無しさん
NGNGm_hInstanceはCWinAppのメンバなんだから、そりゃ外部関数とやらがCWinAppとなんお関係もなけりゃ触れない。
CWinAppから派生したクラスにフレームウィンドウ構築の関数追加してそれを外部関数から呼んでやればいいんじゃない?
m_hInstanceとかってpublicだから直接操作できるけど
0347344
NGNG分かりやすい回答ありがとうございます。
教えて頂いた通り構築用の関数を追加してみました。
メンバ関数の追加によりPublicで宣言した関数内で上記のコードを
持っていくと 定義されていない識別子です。等のエラーは発生しなくなりました。
初歩的な質問で申し訳ございませんが、この関数EXPORTで宣言した関数内からコール
する時 (例えば関数名 void OpenWndProcとした時)
EXPORT short int __stdcall loadView(long openflg)
{
OpenWndProc();
}
という具合にコードを書くとOpenWndProc 定義されていない識別子
となってしまいました。
Publicで宣言した場合 同一CPP内からの呼出しはどのようにすればよろしいでしょうか?
よろしくお願いいたします。
0348デフォルトの名無しさん
NGNGSHCONTF_FOLDERSを使うとIEが列挙されて邪魔なんですが
IEだけ正しく除外する方法って何かありませんか?
::{871C5380-42A0-1069-A2EA-08002B30309D}
これを認識する方法はスマートじゃない気がするんですが。
0349デフォルトの名無しさん
NGNGどのようにすればいいのでしょうか?
ViewとDocがどのような関係にあるのかまだ理解できず、うまくデータの受け渡しができません。
WC++ net2002を使用しています。よろしくお願いします。
0350デフォルトの名無しさん
NGNGWC -> VCです^^;
0351デフォルトの名無しさん
NGNG俺のvctips.txtより
.MFCクラス間のアクセス方法
Doc → View GetFirstViewPosition, GetNextView
View → Doc GetDocument
View → FrameWnd GetParentFrame
FrameWnd → View GetActiveView
FrameWnd → Doc GetActiveDocument
0353327
NGNG10年くらいです(ずっとgccです)。
>>330
すみません。それで通るのは判っていたんですが、
327で書いた方法で一貫して書いてきたので変えたくなかったのです。
VCでは駄目ぽということで勝手に納得しておきます。
0354デフォルトの名無しさん
NGNGC++自体はそれなりにわかりますが、
プロジェクト作成からある程度のものを作るまでの流れみたいなものがいまいちわかりません。
初心者向けの参考書みたいなものがあれば教えていただきたいです。
0355342
NGNGご教授ありがとうございます。
下記関数までステップインしたところで、それ以上ステップインできなくなってしまいました。
inline HRESULT Excel::_Worksheet::Copy ( const _variant_t & Before, const _variant_t & After ) {
return _com_dispatch_method(this, 0x227, DISPATCH_METHOD, VT_EMPTY, NULL,
L"\x080c\x080c", &Before, &After);
}
多分、私がVARIANT型への代入方法を間違えているのが原因だと思うのですが、やはりまだよくわかりません。
このCopy関数を使用したサンプルコードでもあると良いのですが、見つけられませんでした。
引き続き調べてみたいと思います。
また、どなたか情報ございましたら宜しくお願い致します。
0356デフォルトの名無しさん
NGNG別口で取り出し、ピクチャーBOXなどに貼り付けることは可能でしょうか?
つまり、印刷のプレビュー画面を標準以外にしたいのが目的なのですが…
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGCLSID_Internet
0359デフォルトの名無しさん
NGNG引数がふたつに見えるんだが・・・
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNG配布サイトの説明どおり進めていき、一応ちゃんと動作する物を作ることができました。
今度Visual C++を始めたのですが、こちらはインターフェースがややこしくて何がなにやらといった感じです。
参考書も見たのですが、のっけから専門用語連発でいまいちわかりません。
そこでとりあえず、簡単な
#include <stdio.h>
int main()
{
printf("hello\n");
return 0;
}
という内容の.cppファイルがあったとして、これをVisual C++でコンパイルして動かすには
どのような流れで進めていけばよいのでしょうか?
0362デフォルトの名無しさん
NGNG全部2chで習うつもりなんだろうか。
0363361
NGNG全部じゃないです。1から10まで教えてくれなんていいません。1だけでいいんです。
とりあえず初めの取っ掛かりがわからないことには何もできないじゃないですか。
最も基本的な流れがひとつわかれば、後はそれにいろいろ付随する形で学んでいけると思うんです。
現に、先に述べたborlandC++Compilerの場合はそれができたんです。
だから一番初めの段階をひとつ教えてください。後は自分でやります。よろしくお願いします。
0364デフォルトの名無しさん
NGNGVCバージョン書け
5、6系と.net以上とでかなり違う
5、6ならファイルをVCで開いてビルドボタンを押すだけ
ただしCソースならファイル拡張子は.cの方が良い
0365363
NGNG0366356
NGNGBitBltですがオンラインマニュアルによると
出力先がプリンタ以外はエラーになる
との記述があるのですが…
質問の追加です
ComboBoxでItemの選択をしたときに
SelectedIndexChangedのなかで
ComboBox->SelectedText
とやれば、選択したテキストが得られると思い込んでいたのですが違うのでしょうか?
やってみたのですが、かえってきません(空でした)
DropDownStyleはComboBoxStyle.DropDownになっていたのでてっきりテキストが
帰ってきているのだと思い込んでいたのですが…
0367デフォルトの名無しさん
NGNGVCでVSS管理下とかで読み取り専用になっているファイル
をエディタ画面で編集できてしまう(もちろん保存はできないが)
のですが、VBみたいにBEEP音がなって編集させてくれない
ほうが気持ちいいと思うのですがみなさんどうしてますか?
(ツール/オプション/エディタの中にもそれらしき設定がないのですが。。。)
0368デフォルトの名無しさん
NGNGVSSの運用戦略を根底から見直す。
0369デフォルトの名無しさん
NGNGhyper j=123456789090;
int k=i+j;
とするとk=0になってしまいます。
環境はVC++6.0です。なぜなんでしょう?
0370デフォルトの名無しさん
NGNGヘルプで
.NET開発 -> .NET開発 -> Visual Studio .NET -> Visual C++
もしくは
http://www.google.com/search?num=50&lr=lang_ja&q=VC%2B%2B+%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB
0371デフォルトの名無しさん
NGNGこっち方がいいかもね。
managed C++ やろうぜ!!
http://pc5.2ch.net/test/read.cgi/tech/1014486422/l50
0372デフォルトの名無しさん
NGNGがんばって英語を覚えろということでしょうか。とほほ。
0373デフォルトの名無しさん
NGNG違います、覚えなくても読まなければ問題ありません。
0374デフォルトの名無しさん
NGNG違います。覚えなくても慣れれば問題ありません。
0375356
NGNGSelectedIndexには想定した値が入っているんですが…
どうしてTextには入っていないんでしょうか?
0376デフォルトの名無しさん
NGNGCString ss;
xx.GetWindowText(ss);
0377デフォルトの名無しさん
NGNGintをhyperにしろ
0378Hack'n
NGNG細かいことですが、default のまんま使っているせいか、各SECT って、
0x1000 単位で構成されています。
よそさまのを覗くと、0x800 のもあるようです。
なにがよくて、0x1000 になっているのか、またこれを 0x800 に設定
するのは、どこかで出来るのでしょうか。
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNG256アイコンペーストすると16色のパレットに減色されてしまう…
環境はVS.Net2002、よろしくお願いします
0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNG; 6 : double a, b, c;
; 7 :
; 8 : c = a + b;
0001ddd 45 f8 fld QWORD PTR _a$[ebp]
00020dc 45 f0 fadd QWORD PTR _b$[ebp]
00023dd 5d e8 fstp QWORD PTR _c$[ebp]
; 9 : c = a - b;
00026dd 45 f8 fld QWORD PTR _a$[ebp]
00029dc 65 f0 fsub QWORD PTR _b$[ebp]
0002cdd 5d e8 fstp QWORD PTR _c$[ebp]
; 10 : c = a * b;
0002fdd 45 f8 fld QWORD PTR _a$[ebp]
00032dc 4d f0 fmul QWORD PTR _b$[ebp]
00035dd 5d e8 fstp QWORD PTR _c$[ebp]
; 11 : c = a / b;
00038dd 45 f8 fld QWORD PTR _a$[ebp]
0003bdc 75 f0 fdiv QWORD PTR _b$[ebp]
0003edd 5d e8 fstp QWORD PTR _c$[ebp]
0383342
NGNGご指摘ありがとうございます。
確かに引数は2つなのですが、VBの類似関数から、2つ目を省略しても動作的には問題ないと思ったため省略しておりました。
・1つ目の引数(&Before)=指定したシートの「前」に挿入するとき
・2つ目の引数(&After)=指定したシートの「後」に挿入するとき
あれからソースを見直して、17行目をコメントアウトしたところ、エラーは発生しなくなりました。
(エラー発生個所を間違っておりました。申し訳ありません)
また、2つ目の引数も一応指定するようにしました。
23:pSheets->Copy(vx,vtMissing);
シートはコピーされたのですが、こちらの指定した「book2.xls」にではなく、新しいブックが開かれて、
そこにコピーされてしまいました。
トレース中の変数を見ると、
&Before 0x0064f578 {VT_NULL}
&After 0x00419ac8 class _variant_t vtMissing
となっており、&Beforeに代入されているはずのシートポインタ(pBook2->Worksheets->Item[(short)1])が
無視されて VT_NULL になってしまっているように見えます。
今はここでつまづいております。
0384デフォルトの名無しさん
NGNG「マクローリン展開」でぐぐってみるといいかもしれない。
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG0388385
NGNGOPEN/VMSサーバに接続後CFtpFileFindにて
存在するファイルを次々に取得するコードを作成しているのですが
カレントにDIRが移るとこまでは上手く処理ができておりまして
肝心のGetFilePathのステートメントで致命的エラーが発生しました。
デバッグにより原因を探っているとどうも、FileFind.Cppで
DIRの区切り記号であるスラッシュが付与される事がわかりました。
VAX上では DISK$TEST:[TEST.TOOL]aaa.txt と扱うファイル及びディレクトリが
このステートメントではFile://133.133.133.133/Test/Tool/aaaa.txt
という認識になりVAX上でファイルが見つかってもDISK$TEST:[TEST.TOOL]/
という処理をしてしまい不具合が発生しているようなのです。
マニアックな相談で申し訳ないですが、この高度な問題を解決していただければ
すごく感謝の気持ちでイッパイになる事が可能となります。
よろしくお願いしてみてるのでお願いしますですよ
0389デフォルトの名無しさん
NGNGどういう風に考えれば良いのか分かりません。
考え方でも解説サイトでもなんでも良いので教えてください。
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNGワイヤーフレームまでなら
http://www.vector.co.jp/soft/data/prog/se002453.html
0392389
NGNGレスありがとうございます。
三角形を組み合わせるみたいな事がMSDNに書いてあったのですが、
いかんせんどうやって書いたらいいか分からないです。
>>391のデータはまだ途中までしか眼を通してないのですが、これはコンソールでしょうか?
できればWINDOWS APIを使ってやりたいんですが…
説明不足でした。すいません。
0393芹川璃羽
NGNG読んでて、なんとなく腹立ったのはわたしだけ?
0394デフォルトの名無しさん
NGNG0395385
NGNGこれってFileFind.Cppのコードを強制的に変えるしか方法ないですかな
>>393
まったり仲良くいきましょう
0396デフォルトの名無しさん
NGNG[[name]] DWORD initializer [[, initializer]]...
各 initializer にダブルワード (4 バイト) の格納領域を割り当て、必要に応じて初期化します。型が適切な場合は、型指定子として使用することもできます。
意味がぜんぜんわかりません…
一体どう解釈すればいいのでしょうか?
DWORDの前にある name はまた何を意味するのでしょうか?
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNG見るとこ間違ってんじゃね?
VBかなんかの説明っぽいが。
0399デフォルトの名無しさん
NGNG0400396
NGNGありがとうございます
>>398
VisualC++でフィルタされてるのですが
Microsoft Macro Assembler リファレンス
という項目は関係なかったんでしょうか?^^;
調べていたら英語記述のデータタイプ一覧を見つけました。
DWORD 32-bit unsigned integer.
というところを見ればよっかったのかな?
できればここも日本語化していてくれればいいのに…
0401デフォルトの名無しさん
NGNGそれよりもDWORDの元は何なのかヘッダ見たほうが早いと思うんだけど。
0403デフォルトの名無しさん
NGNGすべて大文字の名前はとりあえずマクロだと思え。
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGもういいからおまえは黙って仕事してろ
0407デフォルトの名無しさん
NGNGCBitmapButtonを使いたいのですが、Bitmapが表示されません
OnInitDialogにそれを表示させるのを入れるようなのですが、その関数がありません。
関数の追加で行ったところ、動作しないようです、OnInitDialogを最初から作らせるにはどのようにしたらよろしいでしょうか
0408VB厨
NGNG少し手助けをお願いできないでしょうか?
VB側のDeclareでVC作成DLLの関数を宣言しているのですが
その関数の引数にinteger型のフラグを追加し、同じように
VC側のEXPORTで定義された外部関数にもその値を渡さないといけなく
なりました。ポインタとかの概念が分からず苦労してるのですが
VBから参照のみの値 0 OR 1 の数値をVCに提供する場合
その引き渡される側の型はどのような宣言にすればいいでしょうか?
short int 等にすると5桁くらいの値(数値)になってしまいます
要はVCの外部関数側で呼び元からのパラメタを0か1で判断して
処理を分けたいと思います よろしくお願いします。
0409VB厨
NGNGEXPORT BOOL __stdcall GaibuProc(long &Aflg)
でよろしいのでしょうか
0410デフォルトの名無しさん
NGNGコントロール変数をm_PIC3
として、リソース画像の緑の部分を透明にして描画したいのですがうまくいきません。
CClientDC myPictDC(&m_PIC3);
CDC workDC;
CBitmap myBMP;
myBMP.LoadBitmap(IDB_BITMAP1);
workDC.CreateCompatibleDC(&myPictDC);
workDC.SelectObject(&myBMP);
//myPictDC.BitBlt(0,0,442,65,&workDC,0,0,SRCCOPY);
myPictDC.TransparentBlt(0,0,442,65,&workDC,0,0,442,65,RGB(0,255,0));
BitBltで描画する分には問題ないのですが、
TransparentBltで描画しようとしても描画されず困っています。
何がいけないのでしょうか?
0411デフォルトの名無しさん
NGNGリソース画像IDがIDB_BITMAP1 でした
0412デフォルトの名無しさん
NGNG何処が高度な問題なんだよ。
POSIX ファイル名を解決出来ないのは OpenVMS サイドの問題だろ。
…つか、VMS 仕様でディレクトリ指定しようなんて莫迦な真似してないよな?
いずれにせよ、CInternetSession って辺りが既にスレ違いなんだが。
0413デフォルトの名無しさん
NGNG> いずれにせよ、CInternetSession って辺りが既にスレ違いなんだが。
なんで?
0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNGGetLastErrorっていうものを使ってみたいのですが
方法がわからず苦労してます。
おしえてください。
0416デフォルトの名無しさん
NGNGGetLastErrorっていうものを使ってみたいのですが
方法がわからず苦労してます。
おしえてください。
0417デフォルトの名無しさん
NGNG方法ったって
DWORD dwError = GetLastError();
だけなんだが、何がわからないの?
0418415
NGNGもし今のGetLastErrorが正しくエラーコードを取得してる場合
エラーコード12003
ってのが帰ってくるんですがこの正体をどのように調べればよろしいでしょうか?
対応表のようなものがあるんでしょうか?
0419デフォルトの名無しさん
NGNGってのもあるけど、私は
VS付属ツールである Error Lookup というツールをお勧めしたい。
0420388
NGNGかなり高度だと勘違いしてますた。
というか上手くファイル情報取得できるようになったのですが
動きがおかしいので作成したコード見てほしいのですが
よろしければコードはりますのでオナガイします。
処理の内容は指定DIRのファイル及びDIR一括削除処理です。
0421デフォルトの名無しさん
NGNGこれでも使え
CString CMyFunc::GetErrorStr()
{
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0,
NULL);
CString ErrMessage = (LPTSTR)lpMsgBuf;
LocalFree(lpMsgBuf);
return ErrMessage;
}
0422404
NGNGDECLAREconfig..... ってのがあるソースにあったんだけど、
なんのことだが、教えて下さいませんか。
0423デフォルトの名無しさん
NGNG> いずれにせよ、CInternetSession って辺りが既にスレ違いなんだが。
なんで?
0424デフォルトの名無しさん
NGNGMFCスレに逝けってことでは?
http://pc5.2ch.net/test/read.cgi/tech/1074104008/
0425デフォルトの名無しさん
NGNGただ、自分で「高度」だと思ってる質問を初心者スレでするのはスレ違いっつーか頭悪いのかなとは思う。
0426388
NGNG>>425
すいません反省します
0427デフォルトの名無しさん
NGNG同一CPP内の関数間でAPI等のクラスやオブジェクトのインスタンスを
引数、戻り値にして関数間で使いまわししたいのですが
可能でしょうか?
例えばCDaoRecodeset *mdbRecord = New CDaoRecordset(&mdb)
等で作成されたmdbRecord を関数間で受け渡ししたいです。
0428デフォルトの名無しさん
NGNGGive it a try!
0429>>427さん
NGNGって書きましたらシンタックスエラーを起こしました
って怒られてます。
0430デフォルトの名無しさん
NGNG最近の書籍は乱立しててワケワカラン。
0431デフォルトの名無しさん
NGNG最近の書籍は乱立しててワケワカラン。
0432デフォルトの名無しさん
NGNG最近の書籍は乱立しててワケワカラン。
0433デフォルトの名無しさん
NGNG最近の書籍は乱立しててワケワカラン。
0434デフォルトの名無しさん
NGNG書き込めなかったと思ったら重複してました。
ホントスミマセンスミマセン(;´A`)
0435デフォルトの名無しさん
NGNG最近の書籍は乱立しててワケワカラン。
0436デフォルトの名無しさん
NGNG最近の書籍は乱立しててワケワカラン。
0437デフォルトの名無しさん
NGNG>>427
シンタックスエラー → 文法エラー。
該当部分のソース貼ってみれ。
0438デフォルトの名無しさん
NGNG関数の引数宣言の前にCDaoRecodesetを宣言しる。
class CDaoRecodeset;
0439デフォルトの名無しさん
NGNG関数数が多くなりすぎて,クラスビューがえらいことになってしまってます.
namespace毎に整理されれば楽なんですが,どうやらそうはならないようで.
無理矢理にでもクラス化→さらにフォルダ作って整理
以外のいい方法はありませんか?
現在はグローバルで
class __SAMPLE{
public:
//namespace内部に相当
};
__SAMPLE SAMPLE;
とし,SAMPLE.func();といった感じで使っています.
0440デフォルトの名無しさん
NGNGとりあえず日数の計算のプログラムまではできたので、あとはそれを
Y=sin a(X+d)
という式にぶち込んでサインカーブを描けばよいのですが、いかんせん入門書にはグラフィックの表示には
簡単にしか触れてないし、ぐぐってもJAVAやLinuxのサイトばかりです。。
サインカーブのグラフを書くにはどうしたらよいのでしょうか?ご教授願います。
0441デフォルトの名無しさん
NGNGウインドウつくって、MoveTo(Ex) LineTo等を使う
0442デフォルトの名無しさん
NGNGアスキーアート
0443デフォルトの名無しさん
NGNGcsvファイルを出力してExcelに画かせるとか。
0444デフォルトの名無しさん
NGNG環境はVC++Netです
0445デフォルトの名無しさん
NGNGフォルダを一覧するビューを作っているのですが、ビューが表示
された時点でのフォルダは問題なく表示できています。
この状態で、たとえばエクスプローラを立ち上げてフォルダ作成や、
フォルダ削除などで変更したとき、それを自分のビューにも
反映させていのです。即座に。1病苦台。
エクスプローラから何かメッセージをトラップできればいいのか
なと思っていますが、具体的なメッセージがわかりません。
よろしくお願いします。
0446445
NGNG0447デフォルトの名無しさん
NGNGttp://www.google.com/search?hl=ja&inlang=ja&ie=UTF-8&c2coff=1&q=%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80+%E7%9B%A3%E8%A6%96+MFC&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0448デフォルトの名無しさん
NGNGありがとうございました。
0449デフォルトの名無しさん
NGNGFindFirstChangeNotification()よりもReadDirectoryChangesW()のほうが詳しく取得できるけどね。
NT系限定だけど。
0450デフォルトの名無しさん
NGNGVCでDLLを作成しているのですが、通常エラーが発生した場合は
赤バツマークのメッセージが出るのですが、処理の途中で何の音沙汰もなく
呼出し元アプリが閉じられてしまい。メッセージも何もでません。
こういう事象もあるのでしょうか?
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNGCOM 関連のヘッダファイルを見ていると、 unknwn.h などに
typedef interface IUnknown IUnknown;
とか
interface IClassFactory
{
CONST_VTBL struct IClassFactoryVtbl *lpVtbl;
};
とかいう記述が出てくるのです。
0453デフォルトの名無しさん
NGNG#define interface struct
0454デフォルトの名無しさん
NGNG下のプログラムは画像を取得してそれをR成分だけににするプログラムなのですが
これをいじくって画像をグレースケールにするプログラムにしていただけませんか?
お願いいたします!!
↓
0455デフォルトの名無しさん
NGNG#include "_stdfunc.h"
main()
{
_init_wmimage();
printf("JPEGファイルを表示します.\n");
printf("何かキーを押して下さい.\n");
getchar();
char fname[256];
if(_fileopen(fname)) {
_bmap *b = _read_bmap(fname);
_newpage(1,"JPEG FILE",10,10,-(b->w),-(b->h));
_setactivepage(1);
_put_bmap(b, 10);
_putimage(0,0,10);
_setactivepage(1);
0456デフォルトの名無しさん
NGNG//画像の操作
unsigned char *c = b->b;//bの画素の先頭へのポインタ
int blw=b->lw; //画素1ラインのバイト数
for (int i=0; i<b->h; i++)
for (int j=0; j<b->w; j++) {
//配列cで(i,j)画素の操作ができる.
c[blw*i+3*j+0]=0; //Blue
c[blw*i+3*j+1]=0; //Green
//c[blw*i+3*j+2]=0; //Red
}
_newpage(2,"JPEG FILE",20,20,-b->w,-b->h);
_setactivepage(2);
_put_bmap(b, 10);
_putimage(0,0,10);
_setactivepage(2);
delete b;//画像を破棄
}
return 0;
0457デフォルトの名無しさん
NGNGプリプロセッサ出力眺めてみてさっき気づいたよ…
0458デフォルトの名無しさん
NGNGNavigate2もしくはNavigateでIEコンポーネントを使った場合の
navNoHistoryの指定(履歴にいれない)をVC++で行う場合は
どうなるんでしょうか?
よろしくお願いします
0459デフォルトの名無しさん
NGNGc[blw*i+3*j+0]=0; //Blue
c[blw*i+3*j+1]=0; //Green
//c[blw*i+3*j+2]=0; //Red
を
const unsigned offset = blw * i + 3 * j;
const unsigned gray = (c[offset] + c[offset + 1] + c[offset + 2]) / 3;
c[offset] = gray;
c[offset + 1] = gray;
c[offset + 2] = gray;
にすればrgb平均化によるグレイ化ができる。
但し、要求仕様によってはgrayの式を調整する必要あり。
0460デフォルトの名無しさん
NGNG日本語で『こんにちはと、言う。』と入力すれば
ダイアログに『こんにちは』と出るプログラミング言語登場!!
PNGもサポートしてるので、かなりおすすめです!!
また、【『http://www.xxxx.xx/』を、『index.htm』へ、HTTPダウンロード。】
とすれば自動的にダウンロードできる優れ物です!!
↓日本語プログラミング言語『ひまわり』
http://hima.chu.jp/index.htm
↓日本語プログラミング言語『ひまわり』スレッド
http://pc5.2ch.net/test/read.cgi/tech/1083053283/l50
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG僕は猫以下なんでしょうか?
0463デフォルトの名無しさん
NGNGやめて欲しいな
0464デフォルトの名無しさん
NGNGendとかexitと一言書いただけじゃ終わりませんでした。
先輩方、どうかアドバイスお願い致します。
0465デフォルトの名無しさん
NGNGDialog→CDialogのEndDialog
SDI・MDI→CWinAppのCloseAllDocuments
0466デフォルトの名無しさん
NGNG{
while(MessageBox(0,"push cancel button",0,0) == IDOK);
}
cancelを押すとソフトが終了
0467464
NGNG0468デフォルトの名無しさん
NGNGVisualC++ .NETを使用しています。
AVIファイルを再生中に停止させて、その画像を保存したく思います。
いったんクリップボードに保存したいのですが、うまくいきません。
ご教示お願いします。
Video *ourVideo= new Video("d:\\test.avi");
ourVideo->Owner = this->pictureBox1;
ourVideo->Play();
ourVideo->Stop;
Clipboard::SetDataObject(this->pictureBox1->Image);
0469名無し@沢村
NGNGちなみにborland C++のocidl.hいれたけど、ダメでした…
0470デフォルトの名無しさん
NGNG>うまくいきません。
だけで、症状(エラーが出るとかクリップボードに張り付かないとか)も書かないから無視されるんだよ
挙げ句はマルチか?最低ですね
0471デフォルトの名無しさん
NGNGってなんだろ。
0472デフォルトの名無しさん
NGNGPSDK
0473デフォルトの名無しさん
NGNGご存知の方おしえてください
formatGMTを使用して日付表示を変更したいのですが
*/
CTime Timetest(1999,3,19,22,15,0);
//とした時
CString str;
Timetest.formatGmt(str);
//strに空白が帰ってきます。何がいけないのか分からず困っています。
//よろしくお願いします。
0474デフォルトの名無しさん
NGNG関数の書式の読み方が根本的に間違ってる
CTime::Format()は二通りの書式があるがどちらもリターンがCString
str = time.Format("%H:%M:%S");
0475デフォルトの名無しさん
NGNG回答ありがとうございます。
()内にコンバートされた値が入る訳ではなく変換後の形式を指定するのですね?
formatGMT変換自体が19-MAR-1999 22:15:00
のように変換してくれるものだと勘違いしておりました。
0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNGオレモダ orz
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG∠_/|
|○|
0480デフォルトの名無しさん
NGNG_|○L
0481デフォルトの名無しさん
NGNG_|○L
0482デフォルトの名無しさん
NGNG最適化って何?無いと駄目?
(vc++.net standardとvisual studio.netで迷っている。)
0483デフォルトの名無しさん
NGNG最適化されないと、インライン関数がインライン展開されない。
その他諸々も含めて、場合によってはかなり遅いコードになる。
0484VB厨
NGNGVBから引数付きで関数を呼び出して
VC側で静的な文字列をVBに戻り値として返す処理です。
VCへ渡す値のパラメタはLPCSTRで宣言し戻ってくるパラメタはLPSTRで
宣言しました。VC側のデバッグでは戻り値のパラメタに文字が格納されて
おりますが、VB側に処理が帰ってきた時、値が""となっており
空白になってしまいました。ポインタとかその辺りの問題だと思うのですが
どうかお力添えをお願いします。
VBのDeclereでは VCに渡す値のパラメタをByVal aa As Stringで
戻る値を ByRef bb As String にしています。
VCはMFCのDLLになります。
0485デフォルトの名無しさん
NGNGstdでも普通にプログラムは組めるし、一般に配布して他の人に使ってもらう分にも
特に問題はない。プログラミング行為自体にそれほど制約が加わるわけじゃないの
で、趣味でやる程度ならそれで良い。
成果にこだわりがあるとか、後々こだわりが出てくる可能性があるとか、突き詰めて
プログラミングをやっていきたいなら上のを買えば良い。あるいはお金に余裕があって
その金額差にとりあえず投資しても惜しくないという場合もそっちを買っておけば、大
は小を兼ねるってことになるだろ。
0486VB厨
NGNGVBで受ける場合はByte(配列)にして受けるんですね
上手く取得できました
0487デフォルトの名無しさん
NGNGVC6なのですが、ファイルビューだとプロジェクト上で右クリメニューに
ビルドメニューがでるのですが、クラスビューだと出ません。
何か理由があるのでしょうか?
0488デフォルトの名無しさん
NGNGクラスはコンパイル単位に依存しないからでは?
0489487
NGNGレスありがとうございます。
>クラスはコンパイル単位に依存しないからでは?
なのですが、クラスビューはプロジェクト単位にクラスをまとめて
表示しているので、そのクラス群のルートであるプロジェクトで
ファイルビューのようにビルドメニューが出てくれてもいいような
気がするのですが。。。
0490デフォルトの名無しさん
NGNG環境はXp+VC6.0 Entです。
行番号を知りたいのですが何か方法はあるでしょうか?
エディタに行番号を出力できないようなので。
よろしくお願いします。
0491デフォルトの名無しさん
NGNG右下に表示されてたと思った。
0492デフォルトの名無しさん
NGNGどとねとに変えれば左端に行番号表示できるようになるぞ。
いまんとこ俺がvcどとねと使ってて唯一便利に感じる所だ。
0494デフォルトの名無しさん
NGNG「選択の開始」ていうのをあるキーにわりあてたいんだが,
キーのカスタマイズに項目にない!
たしか VC6 ではできたと思うのだが…
0495デフォルトの名無しさん
NGNGVC6付属のMSDNライブラリ検索しても出てこないぞ?
0496デフォルトの名無しさん
NGNG0497494
NGNG「選択の開始」ていうのは,
それを on にすると,そこからカーソルを動かすと,
その始点からの領域が選択領域になるようなやつ
秀丸や Emacs にはらくらくあるし,
もちキーをわりあてることもできる
0498デフォルトの名無しさん
NGNGでもブロック選択できねぇ・・orz
やっぱマウスでやる方が使い勝手いいわ。
0499デフォルトの名無しさん
NGNG>文字選択モードの開始ってやつだな。
そうそうそれのこと.
VC6 にはあったはずだが,
VC7 にはキーの設定のところで見あたらない
なんとかならない?
コーディングするときマウス使いたくないじゃん
0500デフォルトの名無しさん
NGNGa=30 なら b=1301
みたいにaの値の前後に1をつけてbに代入するにはどうしたらいいんですか?
0501デフォルトの名無しさん
NGNGVC6でブロック選択の開始はCtrl+Shift+F8だ。SelectColumn。
VC7はShift+Alt+矢印。
たしかにVC7では選択モードがなさげ。
スキームをVC6のにしてもCtrl+Shift+F8とか有効にならねぇし。
0502デフォルトの名無しさん
NGNGchar aa[]=itoa(a);
strcat(aa,"1");
char *stop;
int b=atoi(aa,&stop,10);
0503デフォルトの名無しさん
NGNGコンパイル通らんぞ。
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNGint a,b;
char x[16];
a=2; // a=30;
sprintf(x,"1%d1",a);
b=atoi(x);
0506デフォルトの名無しさん
NGNGShiftキー押しながら、カーソルキーでキャレット移動すれば、
移動した分、選択されるけど…
これじゃアカンの?
0507500
NGNG参考になりました。
0508デフォルトの名無しさん
NGNGDirectShowで、カメラとマイクからの入力をキャプチャしてAVIで保存しています。
現在、圧縮なしで保存しているのですが、
どうすれば圧縮をかけられるのでしょうか?
0509デフォルトの名無しさん
NGNG実際、この処理をなんに使うんだろうか?
0510デフォルトの名無しさん
NGNGそんなもん人の勝手だろ
0511デフォルトの名無しさん
NGNG変な質問になってしまうかと思いますが教えて下さい。
1.OSはLuinuxじゃないと駄目でしょうか?
2.もし駄目なら、どのディストリビューションが良いでしょうか?
3.アッセンブラーくらい使えないとCでプログラム組むのは無理だと、人に
言われたのですが、アッセンブラーって何でしょうか?
0512デフォルトの名無しさん
NGNG2 Windows製品を買ってください。
3 あんま気にしなくていいです、必要になったときに勉強しましょう。
0513デフォルトの名無しさん
NGNG実行中の 変数/実体 の値を見るのがあったが,
VC7 ではあれどうやるんだ?
「オブジェクトブラウザ」ていうのを表示させても,
途中の値そのものは表示されないんだが…
0514デフォルトの名無しさん
NGNGこのクラスのメンバでGetFilePathといのがあり
見つかったファイルのパスとファイル名、更新日付、サイズ、等の
情報をNullChar区切りで取得するのですが
なぜか探すファイルのファイル名称が19文字を越えると
パスとファイル名しか取得できず、情報関連が取得できません。
19文字以内のファイルならば問題なく取得できています。
このあたりの不具合を経験されたかたで対応方法をご存知のかた
アドバイスお願いします。
0515デフォルトの名無しさん
NGNG「デバッグ」 -> 「ウィンドウ」
ってたどった所に色々あると思うけど?
0517511
NGNGありがとうございました。非常に参考になりました。ぺこり
0518デフォルトの名無しさん
NGNGまりまとうもらいました
0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG虫取りモードのときのみ実行するには
何ていうマクロで判別すればいいんだっけ?
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG定義してそれを見てもよい。
0525デフォルトの名無しさん
NGNGVisual C.netをインストールしたいのですが、setup.exeを開くと
「このシステムにMicrosoft Visual C.net Standardをインストールするために必要な条件を満たしていません。Windowsコンポーネントアップデートセットアップをじっこうして
下さい」
とのメッセージが出てきます。
もうどうしたらいいのか分からないのでどなかか教えてください。
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNGどうすればいいのでしょうか?
0528デフォルトの名無しさん
NGNG> 子ウィンドウがアクティブなとき
MFCかどうかよりもその状態についてもう少し詳しく説明できないか?
どういう構成のプログラムでどのウィンドウ・クラス使ってどうそれを呼び出したかとか
0529527
NGNG失礼しました。
子ウィンドウは複数あり、それぞれのウィンドウはCDialogクラスでCreateによって作成し、
そのウィンドウをボタンで切り替えてます(プロパティシートのような感じです)
主に子ウィンドウに値を入力するような感じになっています。
そのため、子ウィンドウがアクティブなときでもショートカットキーを使えるようにしたいと考えています。
まだはじめたばかりでうまく表現ができず、申し訳ありません。
0530デフォルトの名無しさん
NGNG〜->init();とか呼び出しているの見るけど、この自作の初期化関数とコンストラクタの違いってなんすか?
的外れな勘違い質問だったらあやまる。
0531デフォルトの名無しさん
NGNGコンストラクタが複数あって、共通の初期化をInit()として
呼んでるとか、コンストラクト時以外でもリセット的な意味
での初期化を行う場合があるとか。
0532デフォルトの名無しさん
NGNG> コンストラクタが複数あって、共通の初期化をInit()として呼んでるとか、
普通暮らす作成者がコンストラクタから呼び出す用に作っていると思う。
利用者が呼び出すことはないと思う。
> コンストラクト時以外でもリセット的な意味での初期化を行う場合があるとか。
これはあるかも。
0533531
NGNG>> コンストラクタが複数あって、共通の初期化をInit()として呼んでるとか、
>普通暮らす作成者がコンストラクタから呼び出す用に作っていると思う。
>利用者が呼び出すことはないと思う。
スマソ。そういうニュアンスで書いたつもりだたーYO!
0534デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNG??
> スマソ。そういうニュアンスで書いたつもりだたーYO!
と言うことなら、
> 他人のソースでオブジェクトのインスタンス作成後、そのオブジェクトを初期化するのに
> 〜->init();とか呼び出しているの見るけど
には当てはまらんと思うが。
0537533
NGNG逝ってくる
0538536
NGNG0539デフォルトの名無しさん
NGNGこれからVisualc++net2003(すでに購入)を使ってC言語を始めたいと思って
います。
それにあたり勉強用の本を買ったのですが、一冊目では失敗してしまいました。
元が古いものらしく、書いてあることもちょっと分かりづらいんです。
もちろん一応は理解出来るんですが・・・。
Visualc++netの本はたくさんあるのですが、C言語を学習するためのものはまるで
見当たりません(T_T)何かお勧めのものはないでしょうか?
スレ違いの質問かもしれませんが、もしよろしければアドバイスをお願いします!!
0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNGC++はCをある程度理解出来た時に勉強する気でいます(当面はCのみ)。
今は2つにどんな違いがあるかさえ分かってないので「ある程度」がどんな辺りか
すら分かりませんけどw
0542デフォルトの名無しさん
NGNG猫でいいかな・・・
http://www.kumei.ne.jp/c_lang/
0543デフォルトの名無しさん
NGNG推薦図書/必読書のためのスレッド
http://pc5.2ch.net/test/read.cgi/tech/1083665944/
の1に張ってくれてるリンクで書籍をあたるのがいいかも。
「プログラミング言語C」(K&Rとか呼ばれてる)が定番。
サイトだと
http://www.kumei.ne.jp/c_lang/
とかかな。
0544543
NGNG0545デフォルトの名無しさん
NGNGほかの言語もやっていなくて一から独学なら定本明解C言語入門編をお勧めするよ。
とにかくしつこすぎるほど丁寧な解説が続くから理解できない部分はないと思う。
0546539
NGNG>>542-543
「猫でも・・・」は本屋でも見かけた事がありますが、やっぱりそれもお勧めなんですかね?
見かけた時は「何だこのふざけたタイトル」とか思ってしまいましたが・・・・・・
サイトの方、今ちょっと見たんですが結構良さそうなんで重宝しそうです。
何日か参考に勉強して、合うようだったら本も買うかもしれません。
>>541
おっしゃる通り、一から独学ですw
しつこすぎる解説っていうのが私的にもすごくポイント高いです。
>543さんのリンク先のスレのリンクからもいくつかピックアップした後、これから本屋を回って
みようと思います。とりあえず2、3冊買う予定。
皆さん貴重な情報ありがとうございました♪
0547546
NGNGとりあえず2、3冊→とりあえず自分に一番合いそうなものを1冊、最終的には2,3冊。
0548デフォルトの名無しさん
NGNGがわからないサイトがあります。下のようなことがかかれていました。
C言語の初歩的な解説で17前後の単元に分かれていて、それぞれに
演習問題が6個位づつありました。「Javaでは」というアイコンが演習
それぞれにあり、Javaでのプログラム例などもかかれていました。
パソコンが飛んでしまってどこなのかわかりません・・・もしご存知の方
がいましたらお願いします。
0549デフォルトの名無しさん
NGNG(例えばAvalonグラフィックスおよびユーザー・インターフェイス・サブシステムや
WinFSファイル・システム)は少なくとも部分的にマネージ・コードとして実装される。
そして、.NET FrameworkはC#やVB.NETなどのプログラミング言語とともに、開発者が
それらのOS機能にアクセスする際の基本的手段となる。
開発者は従来どおりCやC++などの言語によるネイティブ・コードを書いてこれらの
機能にアクセスできるが、そのコードはネイティブ・コード・アプリケーションと
マネージ・コードAPIの翻訳を行う「Interop」レイヤを通過し、それによって
オーバーヘッドが増える。
http://www.atmarkit.co.jp/fwin2k/insiderseye/20040107winfx/winfx.html
0550デフォルトの名無しさん
NGNGおそらく、ここでは?
ttp://www.sist.ac.jp/~suganuma/index.html
「C言語 Javaでは? 演習問題」で検索したら6件目でしたよ。
0551デフォルトの名無しさん
NGNGうーん、時代は変わったものだ。
0552デフォルトの名無しさん
NGNGCの場合では・・・とやるのならわかるが。
0553デフォルトの名無しさん
NGNGソースを書いている時、カーソルが「 l 」ではなく「 ■ 」になってしまう事があります。
これはどういったことで起こりうるのでしょうか?
また、「 l 」に戻すにはどうすればよいのでしょうか?
よろしければ教えてください!!
net2002を使っています。
0554デフォルトの名無しさん
NGNG(HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE)
っていう一文があるんですが、
親ウィンドウのハンドルhWnd と この一文でとられるプログラムのインスタンスハンドルって
どう違うのですか?
親ウィンドウのハンドル → 親ウィンドウのアドレス
プログラムのインスタンハンドル → ??
0555デフォルトの名無しさん
NGNG[Insert]キー押してみ
>>554
ハンドルとアドレスは違うよ
0556デフォルトの名無しさん
NGNGどう違うかといわれても、ウィンドウとインスタンスの違いとしか言いようがない。
ググればインスタンスとは何か出てくるからそこで調べれ。
0557デフォルトの名無しさん
NGNGありがとうございます、ここでした。
2時間ぐらい、ぐぐっても俺は見つけきらなかった・・・
本当にありがとうございました。
0558デフォルトの名無しさん
NGNGレス感謝です。解決しました!!
かなり使いづらかったんでめちゃ助かりました♪
0559デフォルトの名無しさん
NGNGクラスウィザード使わずに,
類に函数の定義を加えたら,
「クラスヴユー」のその函数をクリックしても,
函数の定義のところ(.cpp ファイル内)にとばずに,
.h のその函数の宣言にとぶようになっちゃった
不便でしょうがない
うまく関連づける方法はないの?
0560デフォルトの名無しさん
NGNGヴユー?
函数はまぁ、関数だろうけど。
句点はないし読点はカンマで代用しているし多過ぎ。
先ずは日本語の勉強したら?
0561デフォルトの名無しさん
NGNG> それなりにセンスを要求されます。
> そんなときにはWindowsに付属するアイコンを利用するのも1つの手です。
> Developer Studioの[ファイル]-[開く]からEXEファイルやDLLファイルを開くと、
> そのファイルに含まれているアイコンなどのリソースを取り出すことができます。
参考にした本にはこう書いてあるんですが、いろいろやってみてもできないです。
こういうことできますか?
本と環境は両方VC++6.0です。
0562デフォルトの名無しさん
NGNG同じVCつってもバージョン、エディションによってはできない。
0563デフォルトの名無しさん
NGNGそれを使えばよい。俺は使ったことないけど。
0564デフォルトの名無しさん
NGNGSetTimer()を使ってタイマを走らせているのですが、
なぜか一度もOnTimer()に到達してくれません。
SetTimer()の戻り値では0以外が帰ってきているので失敗はしていないと思いますが…。
分からずらい質問で恐縮ですが、どなたか教えていただけますか?
0565晴彦またはチャップマン
NGNGできるよ。Developer Studioの[ファイル]-[開く]から
EXEファイルやDLLファイルを開く時に
ファイル選択のダイアログで用途を指定するところがあるけど、
そこを「自動」から「リソース」に変更すればOK
0567デフォルトの名無しさん
NGNGうい、類については理解した。
0568デフォルトの名無しさん
NGNGMSDNライブラリを参照したいときがあるのですが、
MSDNライブラリだけを直接、起動することって可能ですか?
VC++を起動していないとMSDNは起動できないのでしょうか?
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNGMSDNだけ起動できますよ。
プログラムメニューにありませんか?
0571570
NGNG俺はMSDNへのショートカットをWindowsの
クイックランチャーに入れてますよ。
スタートボタンの横に並んでる小さいアイコンね。
クリック一発起動です。
0572デフォルトの名無しさん
NGNG補足+質問です
start関数とmain関数を二つのファイルに分けてあるんですが、
グローバル変数の宣言はどっちのファイルですればいいんですか?
0573デフォルトの名無しさん
NGNGすみません・・・・
0574デフォルトの名無しさん
NGNG>>569
ありがとんです。
スタートメニューに無かったので、再インストールしたところ、
スタートメニューに現れました。以前に消したのかもしれません。
exeファイルでもなく、helpファイルでもなく、colというファイルなのですね。
早速、クイックランチャに登録しました。
ありがとんでした。
0576561
NGNG>>565さんの方法で開けました。
アイコン以外にもメニュー、ダイアログとかいろいろ開けて便利そうですね。
あとEXEやDLLのリソースをDeveloperStudioで直接編集もできるようでした。
0577デフォルトの名無しさん
NGNGVisualC++6.0を使ってJPEGファイルをピクチャボックスに表示したいのですが、
どのようにすればいいのでしょうか?
参考になるHPを探したのですが見付かりませんでした。
よろしくお願いします。
0578デフォルトの名無しさん
NGNGOleLoadPicture
IJGのライブラリ
GDI+
とか
0579デフォルトの名無しさん
NGNGコントロールのサイズを設定したいのですが、
VBのようにHeight、Widthといったプロパティ
が見当たりません。どうすればいいのでしょうか?
VC6.0でつ。
0580デフォルトの名無しさん
NGNG辺をドラッグすればいいのでは?
コードで設定するならMoveWindowとか。
0581デフォルトの名無しさん
NGNGレスありがとうございます。
サイズ設定をキーボード入力でしたかったのですが
ないみたいですね。マウスでドラッグするしか。
使いづらいでつ。。。
0582デフォルトの名無しさん
NGNGグリッドとか、レイアウトでそろえる
適当に作ってからリソーススクリプト(.rc)を手で編集
0584デフォルトの名無しさん
NGNG池沼?
>>>579
>が見当たりません。どうすればいいのでしょうか?
0585デフォルトの名無しさん
NGNGキーボード使うなら
[矢印]で移動
[矢印]+[SHIFT]でサイズ変更
(座標は右下のステータスバーに表示)
マウスよりは細かく位置合わせすることができると思います。
VBみたいに座標を直接入力できませんが。
0586577
NGNGレスありがとうございます。
早速OleLoadPictureを使ってみようと思い、
ttp://www.athomejp.com/goldfish/mfc/cobject/jpegview.asp
を参考にしながらソースを書きましたが、ピクチャボックスに表示できません。
OleLoadPicture処理そのものは成功しているようです。
OnPaintの中がおかしいかと思うのですがこのような処理ではダメでしょうか?
続く
0587577
NGNGif(m_pJpeg != NULL)
{
CWnd*myWnd = GetDlgItem(IDC_PICT1);
CDC*pDC = myWnd->GetDC();
CDCmyDC;
RECTrc;
myDC.CreateCompatibleDC(pDC);
myWnd->GetClientRect(&rc);// クライアント領域を取得
long hmWidth;
long hmHeight;
m_pJpeg->get_Width(&hmWidth);
m_pJpeg->get_Height(&hmHeight);
CSize size(hmWidth, hmHeight);
myDC.HIMETRICtoDP(&size);
// 描画する
m_pJpeg->Render(myDC, 0, 0,
size.cx, size.cy,
0,
hmHeight,
hmWidth, -hmHeight,
&rc);
}
正直デバイスコンテキスト部分が怪しいかと思うのですが、
どのような処理にしたらよいのかわかりません。
よろしくお願いします。
0588デフォルトの名無しさん
NGNGどうしたらいいのでしょうか?
フォルダの中にはライブララリとかが大量に入っており、これを追加しないとコンパイルが通らないんですが・・・・
0589588
NGNG0590デフォルトの名無しさん
NGNG「ディレクトリ」で設定する
0591デフォルトの名無しさん
NGNGありがとうございました。
0592デフォルトの名無しさん
NGNGVC++6.0を使ってます。
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNGそうではなくて、「拡大と縮小」です(判りづらかったらすいません)。
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNGgrepですが、これってファイルがエディットボックスで指定したフォルダに
なかったら、プロジェクトに取り込まれていても検索対象にならないんでつね。
そのくせフォルダ内にあれば取り込んでいなくても検索されまつ。
下の方にチェックボックスで「プロジェクト内のソースファイルを探す」みたいな
いかにもそれっぽいのがあるのですがこれも空振りですた。
VC6の検索ってバグありなんでつか?
0597デフォルトの名無しさん
NGNG分かりづらいと思うんなら同じ言葉繰り返さないでちゃんと人に分かるように
説明しろよ。それじゃ全くわからん。
0598デフォルトの名無しさん
NGNG拡大縮小と言わずに拡縮なんて言葉を使ってるくらいだから画像か?
0599592
NGNGそうです、そうです。
それと、画像自体に処理を加えるのではなく、ウィンドウサイズの変更を検出して、クライアント領域を
縮小(拡大)する、といった事をしたいと思っています。
0600デフォルトの名無しさん
NGNG0601デフォルトの名無しさん
NGNGオブジェクトの位置変更やサイズ変更はMoveWindow()だって
0602592
NGNGいや、違うんですよ……といっても、上手く説明する手だてが見つからない……。
仕方がないので諦めます。スレ汚しすいませんでした。
(というか、Windowsの世界では、サイズ変更のことを「拡大・縮小」っていうんですか? 今回の質問で
なんとなくそんな気がしたのですが……だとしたら、もう一度そういうところから勉強し直してきます)
0603超初心者
NGNG片方ではエラーが出てしまいました。気になって仕方がありません・・・・(T_T)
何か思い当たる原因はないでしょうか?net2003を使っています。
else
puts("〜〜〜〜〜〜〜〜"); ←エラー
else
puts("〜〜〜〜〜〜〜〜"); ←成功
0604デフォルトの名無しさん
NGNG全角スペースとか入れてない??
0605603
NGNG全角スペースは入れてません。
で、下のエラーが出てきてしまいます。
TextFile1.c(15) : error C2065: 'else@' : 定義されていない識別子です。
TextFile1.c(15) : error C2146: 構文エラー : ';' が、識別子 'puts' の前に必要です。
TextFile1.c(15) : error C2144: 構文エラー : '<不明>' は '<不明>' によって先行されなければなりません。
TextFile1.c(15) : error C2144: 構文エラー : '<不明>' は '<不明>' によって先行されなければなりません。
TextFile1.c(15) : error C2143: 構文エラー : ';' が '識別子' の前にありません。
その文だけを入れ替えると成功するので、他は問題ないと思うのですが・・・・。
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG;がないとか
0608603
NGNG>605の終わりでも書きましたが、その文だけを入れ替えて成功するので、elseの前には
特に問題がないと思うんですが・・・前の文の終わりにも' ; 'はきちんと書いてありますし。
その後、何度書き直しても全部成功するんでとりあえず先に進むことにします。
皆様レスありがとうございましたm(__)m
・・・・・ちょっと嫌な感じで気になっちゃってますけど。
0609デフォルトの名無しさん
NGNGelseの後、putsの前だってばさ。
まぁ、ふつーのエディタならなんらかのゴミが入っていれば見えるんですがねぇ。
0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNG実装部分では MFC をまったく使っていない.
ところが VC7 のプロジェクトの新規作成のウィザードで
dll を作れるのは,「MFC DLL」ていう項目しかない.
それで新規のプロジェクトを作成すると,
勝手にできる stdafx.h に MFC 関係のヘッダがいろいろ
include されている.
MFC 抜きの dll を作るにはどうしたらいいの?
0612デフォルトの名無しさん
NGNG「Win32 Dynamic-Link Library」って項目無い?
0613デフォルトの名無しさん
NGNGないっすね
dll を作ってくれそうなプロジェクト項目は
・MFC DLL
・MFC 拡張 ISAPI Dll
・拡張ストアド プロシージャ
だけです.
0615デフォルトの名無しさん
NGNGchar strHoge[STR_LENGTH];
LoadString(hInstance,IDS_HOGE,strHoge,STR_LENGTH);
必ずこんな感じにしないといけないんでしょうか。
0616デフォルトの名無しさん
NGNGC++の実行時型情報(RTTI)についての質問です。
#include <iostream>
#include <ctime>
#include <conio.h>
#include <typeinfo>
using namespace std;
class bass {
public:
virtual void func() = 0;
};
class derived : public bass {
public:
void func() {}
};
void main()
{
bass *p;
derived dr;
p = &dr;
cout << typeid(*p).name() << endl;
}
このソースをコンパイルすると
'typeid' が /GR- を使用したポリモーフィック型 'class bass' で使用されています; 動作結果は保証されません。
と警告がでて、実行するとエラーになります。
原因がわかりません、どなたか教えてください、、、。
環境はVC++ 6.0 windows xpです。
0617デフォルトの名無しさん
NGNG1.メニューから[プロジェクト]-[設定]
2.[C/C++]タブを選択
3.カテゴリ(Y):のコンボボックスから[C++言語]を選択
4.[RTTIを有効にする]のチェックボックスにチェック
でどうでしょう?
あと揚げ足取りになりますが、ソース中のbassはbaseでしょう。
0619デフォルトの名無しさん
NGNGCStringでもできるよ。
0620名無し@沢村
NGNGWindowsプログラムとは可愛いやっちゃ♪
こっちはメインウィンドウ完成間近だというのによ…♪もうすぐメインウィンドウできるよ〜♪
といってもCとかアセンブラとかでメインウィンドウ組むんじゃないぞ。それじゃまるでザコだ。
こっちは、メインウィンドウがつくれるプログラムつくってるのよ〜♪つまりVisual E++だ。
そうです、みなさんもうすぐVisual E++はメインウィンドウがつくれる本格的なプログラミングソフトに進化します♪
いまやっとVisual E++に補助的にバイナリエディタつかってメインウィンドウつくるのに成功したところ。
補助的にバイナリエディタつかわないで、Visual E++のみでメインウィンドウつくれるよになるには、あと修正個所が1、2個所…
みなさんもうすぐでっせ〜♪
0621名無し@沢村
NGNGWindowsプログラムとは可愛いやっちゃ♪
こっちはメインウィンドウ完成間近だというのによ…♪もうすぐメインウィンドウできるよ〜♪
といってもCとかアセンブラとかでメインウィンドウ組むんじゃないぞ。それじゃまるでザコだ。
こっちは、メインウィンドウがつくれるプログラムつくってるのよ〜♪つまりVisual E++だ。
そうです、みなさんもうすぐVisual E++はメインウィンドウがつくれる本格的なプログラミングソフトに進化します♪
いまやっとVisual E++に補助的にバイナリエディタつかってメインウィンドウつくるのに成功したところ。
補助的にバイナリエディタつかわないで、Visual E++のみでメインウィンドウつくれるよになるには、あと修正個所が1、2個所…
みなさんもうすぐでっせ〜♪
0622デフォルトの名無しさん
NGNGここはザコが立てたスレで〜ス!
だからザコじゃない沢村君は来ないでくださ〜い!
0623デフォルトの名無しさん
NGNGテンプレにもねぇし。
意地悪。
0624デフォルトの名無しさん
NGNG0で割るとVC++6.0はプログラムがエラー吐いて停止するのに、
VC++.NET2003だとゴミを返して何事もなかったかのように
走り続けるのか。
おかげでバグ取りに苦労したよ。
0625デフォルトの名無しさん
NGNG浮動小数点型だと 6 でも 2003 でも、
0除算で落ちないけどな。
0626デフォルトの名無しさん
NGNGTEST(CString s){}
};
int main(){
WCHAR w[] = L"うほっいい男";
TEST test1(CString(w)); //変数宣言じゃなく、プロトタイプと見なされる。
TEST test2 = CString(w); //これなら大丈夫
}
VC7.1(2003)だけど、これはコンパイラが悪いよね?
それとも、漏れなんか勘違いしてる?
0627626
NGNGint hoge(int(a));
こんなのもいけるのか?
と思って規格見たけど見つからないし、聞いたことないしなあ・・・
0628デフォルトの名無しさん
NGNGmain()が値を返していないのが悪い
0629デフォルトの名無しさん
NGNGTEST test1(CString((const wchar_t*)w));
で、OK
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNGEffective STL 第6章より
// int取る関数宣言
int f(int a);
int f(int (a)); // こいつに該当してる
int f(int);
// 関数ポインタとる関数宣言
int f(int (*p)());
int f(int p());
int f(int ());
// 解決方法 // ちなみに VC6だと通らない気がした
int f((int(a)));
0633デフォルトの名無しさん
NGNG悪いよ。
宣言云々とは別の問題だけど。
0634デフォルトの名無しさん
NGNGmain関数ひとつすらマトモに書けないようヤツはキライだ。
0635626
NGNG3.6.1 5 ・・・If control reaches the end of main without encountering a return statement, the effect is that of executing
return 0;
つーことで、mainだけはreturnを書かなくても、return 0;したことになるYO!
決して値を返してないわけじゃないYO
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNGそういう問題じゃない
0638デフォルトの名無しさん
NGNG1、予約語やコメントを色を簡単に変更する方法を教えてください。
viのsyntaxみたいにしたい
2、インデントがおかしいelseの括弧を閉じるて改行すると一段上がってしまう。
caseのインデントがおかしい
viのcindentなみにしたい
3、一括インデントはないんですか。
viの=Gみたいにしたい
0639デフォルトの名無しさん
NGNG探せ。
0640デフォルトの名無しさん
NGNGイメージをJpeg形式で保存したいのですが、圧縮率が変えられません。
Imageクラスなら変えられるんですが、DIBじゃないので困っております。
CImageでエンコードの設定ってできないですか?
どなたかお助けを・・・
0641デフォルトの名無しさん
NGNGコントロール配置して、それに対してイベントドリブンでC言語を書くもの
だとばかり思っていたよ。
0642デフォルトの名無しさん
NGNG? おまいのはそうじゃないの?
0643デフォルトの名無しさん
NGNGそこはOSの担当だから、VCのバージォンがどうとかは関係なくない?
0644デフォルトの名無しさん
NGNGそんなに言うならvi(のWinクローン)でソース書きゃいいのに……。
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNG自作のアプリにマクロ機能を付けたいのですが、
どなたか参考になるサイトか書籍を知りませんでしょうか?
0648638
NGNGソースが汚くバグが入ってしまう。
>>639
本当にあるならヒントください。
くれぐれも >>644 のような答えはやめてね
gvimでソース書いてvisual C++で開きなおす
なんて非効率な作業はやりたくね。
開くエディタをgvimにしてデバッグしてエラーが出ると
gvimでエラーがでて使えない。
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNG0653638
NGNG1、予約語やコメントを色を数百台すべて同じにしたい。
オプションで一つ一つクリックじゃなく設定ファイルをコピーするような変更方法
2、インデントがおかしいelseの括弧を閉じるて改行すると一段上がってしまう。
オプションの「なし」や「ブロック」や「スマート」はどれもだめ
ユーザ自身でインデントをカスタマイズする方法
3、一括インデントはないんですか。
どうでしょうか?
0654デフォルトの名無しさん
NGNGヘルプも読まんで質問すんなボケ
Visual C++ のテキスト エディタは以下の機能を備えています。
コード構文の自動補完。
マクロによるテキスト エディタの自動化。
C/C++、SQL、および HTML を含む異なるプログラム言語のソース ファイルの作成。
構文の色の設定とカスタマイズ。
(以下略)
目的に合ったトピックをクリックしてください
自動インデントを設定する
スマート インデントを設定する
タブとインデントの設定を変更する
タブ記号の表示/非表示を切り替える
複数の行を一度にインデントする
複数の行のインデントを一度に解除する
0655デフォルトの名無しさん
NGNGじゃあ一つだけ教えてやるよ。
予約語(もしくは任意のシンボル)に色をつけたければ
USERTYPE.DATっつーファイルに列挙しろ。詳しいやり方はぐぐれば出てくる。
0656デフォルトの名無しさん
NGNG実行しても一瞬だけウィンドウ(コンソール)が開くが,
あっという間に閉じてしまうんだが,なぜだろう?
#include "windows.h"
DWORD WINAPI hello(LPVOID);
//
void main(void){
//スレッド作成
HANDLE hThread1;// スレッド1のハンドル
DWORD dwThredID1;// スレッド1の ID
hThread1 = CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE) hello, 0, 0 , &dwThredID1 );
}
//
DWORD WINAPI hello(LPVOID p){
printf("hello!\n");
getchar();
return 0;
}
0657デフォルトの名無しさん
NGNGなぜ?
もまえんとこは数百台の端末を取っかえ引っかえ使って開発するのか?
0658デフォルトの名無しさん
NGNGオモロイ
ワラタ
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNG何?
0661デフォルトの名無しさん
NGNGキミはスレッドについて1から勉強しなおしてきなさい。
0662デフォルトの名無しさん
NGNGとりあえず、ヒントを与えるとすると
「スレッドを作り出した側は今何してる?」だ
(なんて親切なもれ)
0663>>656
NGNGつまり,メインのスレッドが終わってしまったので,
子スレッドもおわったしまったという解釈でいいのでしょうか?
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNGなんだか何かを貼り付けただけみたいなw
だがヘルプ見るいい機会になったよ
>複数の行を一度にインデントする
Ctrl+A Ctrl+K Ctrl+Fがわかったよ
あとは期待はずれだったw
>>655
教えてくれてありがと
USERTYPE.DATを調べたよ
予約語でもコメントでも関係ないユーザーキーワードに色付けるんだろ
関係ないじゃん
ちゃんと質問をみてくれよw
的外れだなw
結局3以外はできないことが良くわかった
ここで質問する所ではないこともよ〜くわかったw
で俺なりに調べて教えていただいたかたに教えてやろう
HKEY_CURRENT_USER\Software\Microsoft\Visualパケージ名\バージョン\FontAndColors\{A27B4E24-A735-4D1D-B8E7-9716E1E3D8E0}
ここら辺をエクスポート後は100台の機械上でダブルクリックするだけだ
0666デフォルトの名無しさん
NGNG0667638
NGNG2、インデントがおかしいelseの括弧を閉じるて改行すると一段上がってしまう。
↓
中かっこをインデントするをはずす
これで全部問題解決したよ
0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNGVCの方が大変じゃないですか?
0670デフォルトの名無しさん
NGNG「Cの次はDでしょう」なんて平気で言う腰抜けBorlandには興味ない。
だいたい「VCのほうが大変だ」などと思ったことは一度もない。
0671デフォルトの名無しさん
NGNGrs.Open(CRecordset::snapshot, _T("SELECT TEST1.name,TEST2.name FROM TEST1,TEST2"))
CString varValue;
// rs.GetFieldValue( "TEST1.name", varValue );
rs.GetFieldValue( "name", varValue );
上記のように同じ名前の列名を持つrsを作った場合、
GetFieldValueで希望の列を参照することはできるのでしょうか?
コメントアウトの様に指定してもエラーになってしまいます。
0672デフォルトの名無しさん
NGNGSQL文のさいごに ; がないよ
0673デフォルトの名無しさん
NGNGイメージをJpeg形式で保存したいのですが、圧縮率が変えられません。
Imageクラスなら変えられるんですが、DIBじゃないので困っております。
CImageでエンコードの設定ってできないですか?
どなたかお助けを・・・
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNGどうしてもコンパイルできなくて困っています。
VC++.netを使っているんですが、cppのファイルをコンパイルするには
どうすればいいのでしょうか……本にはvsvers32.batがあるフォルダで、
このバッチファイルを実行しろと書いてあったのでやってみたんですが、
何回ダブルクリックしても開けなくてダメでした。
昨日ソフトインストールしたばかりの初心者で、プログラミングの知識は
ほとんどありません。釣りでもネタでもなく、真剣に困ってます。
対処法を教えてください、お願いします。
0676デフォルトの名無しさん
NGNG一旦ログオフ
ログインしてコマンドプロンプトを起動
C:\> cl file.cpp
でfile.cppがコンパイルされる
ってコマンドラインからコンパイルしたいのか?
0677デフォルトの名無しさん
NGNG◎「パソコンの知識はほとんどありません。」
0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNGVBから参照して使用したいのですが、参照はできても関数が一切見えません。
どうやってエクスポートするのでしょうか?
.DEFファイルにちゃんと書いているのですが…。
どなたか教えてください。
0680デフォルトの名無しさん
NGNG「さまあずのこんにちはマイコン」っていう本があるのかと
思ったぞw
0681デフォルトの名無しさん
NGNGマウスクリック連打すると、反応が普通のボタンに比べて鈍いのです。
自分でGoogleで検索してみると、ダブルクリックに対する反応を無効にしなければならないようです。
具体的にどうしたら無効化できるのか、教えていただけないでしょうか?
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNGグラディウスわろた
りっぷぅれいざー
0684デフォルトの名無しさん
NGNG公開されていたソースをコンパイルしてみたいのですが、
下記のエラーがでます。
<エラー>
fatal error C1083: インクルード ファイルがオープンできません。
'boost/timer.hpp': No such file or directory
「timer.hpp」は他の場所で公開していたので入手しました。
どこに配置すればエラーがでずにコンパイルできまつか?
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNGきっと小学生の頃、算数の文章問題(国語能力が必要)が解けなかっただろう。
0687デフォルトの名無しさん
NGNGインクルードファイルをフルパスで指定したらいいでつよ
0688デフォルトの名無しさん
NGNGVisualC++.netには、プロジェクトの管理や、コンパイルなどを操作できる、
GUIのインターフェースはついているのでしょうか?
マイクロソフトから落とせる.NET Frameworkという物でも
Cのプログラムが作れると聞いたので、落としてみたのですが、
コンパイルがコマンドラインからしかできないらしく、止めました。
CのプログラムをGUIでするには、VisualC++.netだけ買えばいいのでしょうか?
それとも、VisualStudio++.netを買わなければいけないのでしょうか?
ものすごくとんちんかんな事を聞いているかもしれませんが、
その時はすみません、スルーしてください。
0689デフォルトの名無しさん
NGNG難しいことを避けてるようじゃプログラムは作れないだろうし
0690デフォルトの名無しさん
NGNGでも当方MFCを使用していないので、PreCreateWindow は使えないのです。
代りに以下のように動的に取り除いてみましたが、
etWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) & ~CS_DBLCLKS);
やはりオーナードローボタンの反応は鈍いままです。。。
基本的に処理が重いのだろうか?、ちなみに環境はP4(3GHz)、メモリ1GBです。
0691デフォルトの名無しさん
NGNGSetWindowLong(hwndCsw0, GWL_EXSTYLE, GetWindowLong(hwndCsw0, GWL_EXSTYLE) & ~CS_DBLCLKS);
です、先頭1字が抜けてました。
0692デフォルトの名無しさん
NGNG> CのプログラムをGUIでするには、VisualC++.netだけ買えばいいのでしょうか?
それでOK
後は>>482-485あたり
0693デフォルトの名無しさん
NGNGこりゃ、ウインドウスタイルを書き換えてるね。
クラススタイルだから、
SetClassLong(hWnd, GCL_STYLE, 0);
だね。
0695デフォルトの名無しさん
NGNG軽快に動作するようになりました。
他の閲覧者の為に、以下のように変更したらOKだと報告します。
SetClassLong(hwndMBtn0, GCL_STYLE, GetClassLong(hwndMBtn0, GCL_STYLE) & ~CS_DBLCLKS);
0696デフォルトの名無しさん
NGNGスレ違い。
VBから直接使用出来るDLLはActiveX DLLのみ。
通常のDLLはWin32APIと同じようにして使う。
0699デフォルトの名無しさん
NGNGなぜか大抵
本人はローパワーだよな。
0700デフォルトの名無しさん
NGNG見つからないとでたんですが何かインストールしないと無理ですか?
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGハイパワー = 最近買ったPC ≒ 初心者が多い
0704デフォルトの名無しさん
NGNGこの本買ったんですが、演算問題の解答集は別売りなんですね(;´д`)
解答のない問題に何の意味があるんだろう?
0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNGそれでも初心者用の本なんだから、模範解答位書いといて欲しかった・・・。
一応は書けても、もっといい方法もあるんじゃないかと気になってしょうがないです。
かといって解答集なんて買いたくないし。
0707デフォルトの名無しさん
NGNGそらすべての問題、説明に答えがないならそうだろうが
一部の問題、それも宿題形式のおさらいに答えがないとわめかれても
僕ちゃんに優しく教えてくれるママさんつきの教科書なんてねぇわけでな。
0708デフォルトの名無しさん
NGNGわけだろ?ならそういう具合にばらして売るのは親切じゃないって反応もあって然る
べきかと思う。
>>707
>僕ちゃんに優しく教えてくれるママさんつきの教科書なんてねぇわけでな。
そう考えちまうのはおまいは解説本制作に向いてないってことだな
BBSのボランティアと販売書籍は違うぞ
0709デフォルトの名無しさん
NGNG回答集なんて者は売っていない訳で。
あくまで問題集の中に含まれているだけで、
僕ちゃんがそれでも欲しいというのなら買えばいいだろう。
そもそも答えの複数ある宿題なんだから
僕ちゃんなりに考えなさいという作者のものすごい思いやりなんだが
ママが横についていないと出来ない子の事まで作者も思いつかなかったんだろうな。
0710デフォルトの名無しさん
NGNG>>706が
> かといって解答集なんて買いたくないし。
などと言ってるから、解答集はあるんじゃないのか。
0711デフォルトの名無しさん
NGNG> 129 名前:デフォルトの名無しさん投稿日:03/05/10 22:03
> そういえばK&Rにはアンサーブックありますが
> ストラウストラップにはアンサーブックないんですね。
> でもプライマーにはある。なんなんでしょ。
0712デフォルトの名無しさん
NGNGMFC、Windows API、WTLなるみっつの手法のサンプルプログラムを数本作ったところです
MFCは、ドキュメントビュー・MFCクラスウィザードなんかで開発効率良さそうと感じたのですが
作成したプログラムにDLLがいるとのことで敬遠(同じような理由でVBも敬遠)
Windows APIは、OSのAPIを直で呼ぶということで処理効率良さそうと感じたのですが
プログラム書くの大変・・・
ということで、WTLというのを知り手をつけたのですが
これがオブジェクト指向ですっきり書けるようで気に入りこれでやっていこうかなと思いました
このままWTLで突っ走っても大丈夫なのでしょうか?
今は噂の.NETでやるべきなのでしょうか?(VC6しかないので無理かもしれませんが)
WTLとやらは時代遅れだったりします?
0713デフォルトの名無しさん
NGNGMFCのDLLはVC6以前のverなら普通にOSに付属しているのでVBとはちょっと違う
win95には付いていないがMFCのDLLくらいは入れてあるのが当然と思っても良いくらい
普通にMFCアプリが出回っているので(IE関連のインストでも)
VCでプログラム書く初心者ならMFCで始めるのが最も一般的
0714デフォルトの名無しさん
NGNG> 作成したプログラムにDLLがいるとのことで敬遠(同じような理由でVBも敬遠)
あなたは騙されているようですね。
確かにシステムDLLは必要ですが、それはSDKのみで作成しても同じなわけで。
自分自身はWTLを便利に使わしてもらってます。
Win32でやる限り、時代遅れってことはないんじゃないですか。
0715デフォルトの名無しさん
NGNGだからスタティックリンクにすればDLL要らないと
何度言えばわかるんだ
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNGsocket通信をするプログラムA.exe(データをsocketで受け取り、
処理をして指定のファイルを作る)を作って、これをWINXP上の
「サービスとアプリケーション」に追加させ、PCを起動するたびに
裏で起動させようとしたのですが、なぜか起動しません。。。
A.exeを単体で起動(アイコンをダブルクリックして)すると動くのですが、サービスとして
起動させると立ち上がらないのです。
(色々調べたのですが、解決法が載ってなくて・・・)
なんか原因がわかる方がいましたら、教えてください。
ちなみにA.exeは、コンソールアプリのC++.NETでOSはXPです。
0719デフォルトの名無しさん
NGNG> これをWINXP上の
> 「サービスとアプリケーション」に追加させ、PCを起動するたびに
> 裏で起動させようとしたのですが、
ソケットだのなんだの要らないこと書いてないで
そこんところを具体的にどう書いたのかを説明しないと・・・
0720デフォルトの名無しさん
NGNG---------------------------------------------------------------------
char sentence[20] = "15\t21\t184\t27\n";
のようにタブと改行で区切られた数字が文字列(Char型)として
入ってる場合、これを
int code[0] = 15, code[1] = 21, code[2] = 184, code[3] = 27
のようにint型の配列に入れたい場合どうしたらいいのでしょう?
誰か親切な方よろしくお願いします。
-------------------------------------------------------------------
0721デフォルトの名無しさん
NGNGstrtol()をループで回すかstrtok()をループで回してatoi()するか、個数がわかっているならsscanf()で切り出す。
0722720
NGNGありがとうございました☆721さん。
0723718です。
NGNGこんな感じで登録プログラムを作ってみました。
これで登録はできるんですが、起動できないということです。。。
#include<windows.h>
int main(void){
SC_HANDLE hScm = OpenSCManager(NULL,NULL, SC_MANAGER_ALL_ACCESS);
if(hScm==NULL){
MessageBox(NULL,"サービスコントロールマネージャを取得できません。","サービスの登録",MB_OK);
return 0;
}
SC_HANDLE hServ = CreateService( hScm, "A", "A",
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
"C:\\temp\\A.exe",
NULL, NULL, NULL, NULL, NULL);
if(hServ!=NULL){
CloseServiceHandle(hServ);
MessageBox(NULL, "サービスを登録しました。", "サービスの登録", MB_OK);
} else {
MessageBox(NULL, "サービスの登録に失敗しました。", "サービスの登録", MB_OK);
}
CloseServiceHandle(hScm);
return 0;
}
0724デフォルトの名無しさん
NGNGプログラム自体が始めてってことなら、WTLはしきいが高いと思う
情報がMFCに比べ圧倒的に少ないし、C++とテンプレートの理解がある程度必要になる
WTL、MFCともにプリプロセッサを通した後のソースを読んでみることをお勧めするよ
0725712
NGNG>>713
自分が思ってたよりMFCで作ったプログラムもほとんど不自由なく動かせるんですね
でもやっぱりなんとなく好みじゃない感じなのである程度勉強したらWTLの方に移りたいと思います
>>714
MFC使わなくてもDLLいるんですか_no
WebであまりWTLの情報をみかけなかったので使われない手法かと思ってたのですが安心しました
>>715
ロクに過去ログに目も通さずすみません_no
>>716
使ってるのはプロフェッショナル版のようです
>>724
プログラム自体はC(非C++)とJava(Web系)の経験が多少あります
Visual C++やるにあたって軽くC++について軽く勉強しましたが
テンプレートあたりCにもJavaにもなかったのであやしいですね・・・
>WTL、MFCともにプリプロセッサを通した後のソースを読んでみることをお勧めするよ
プリプロセッサをかけたら、素のWinMainやらWndProcに変換されるんですかね?
眺めてみます
どうも全般的に知識不足っぽいのでもう少し色々調べてないと駄目ですね
それからWTLでの開発に挑戦してみようと思います
0726724
NGNGプログラムをやったことあるならWTLはお勧めだよ
MFCに比べればソースの量がたいしたことないので解析が簡単にできる
オープンソースになったことで頻繁にバージョンが上がっているのも良い点
0727デフォルトの名無しさん
NGNG@@@名前空間 みたいのが大量にお尻にくっついています。
VC6では無かったと思うのですが、どうにかしてこれは消す方法は無いでしょうか?
0728デフォルトの名無しさん
NGNGまだ一回しか上がってないけどな
0730デフォルトの名無しさん
NGNGWTLお勉強スレッド
http://pc5.2ch.net/test/read.cgi/tech/1078150663/
0731デフォルトの名無しさん
NGNGもう一台のパソコンに移動したいのですが、どうすれば?
0732デフォルトの名無しさん
NGNG腰を上げて立って歩いて行けば?
0733731
NGNG書き込んだ後に文章読み返してみて、来るんじゃないかなぁ〜、と思ってました。
正確には、自宅デスクトップにインストールされてるVS.NETをノートにインストールしなおしたいんです。
お願いします。
0734デフォルトの名無しさん
NGNG0735731
NGNG0737デフォルトの名無しさん
NGNG要領得ないね。何に引っかかってるのかを書けよ。
0738731
NGNG0739デフォルトの名無しさん
NGNG> これで登録はできるんですが、起動できないということです。。。
イベントログになんか残ってないのか ?
0740デフォルトの名無しさん
NGNG実行時に右クリックしてもMedia Playerのコンテキストメニューが表示されません。
enableContextMenuはTrueに設定してあります。
他に何か設定する必要があるのでしょうか?
0741デフォルトの名無しさん
NGNG漏れは使ったことないわ
0742デフォルトの名無しさん
NGNGこういうことってMFCで出来ますか?Win32しかダメ?
0743デフォルトの名無しさん
NGNGCWnd::ShowWindow(SW_SHOW) でどうぞ。
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNG手もある、というかむしろそれが正解ダヨナ・・・
0746デフォルトの名無しさん
NGNG1+2+3+・・・+nの和が500より小さい場合における、nとそのときの和を求めるプログラムを作成せよ。
という課題なのですが、試しに
#include<iostream.h>
#include<conio.h>
int main(void)
{
cout << "1+2+3+・・・+nの和が500より小さい場合における、nとその時の和を求めます。\n";
int m=0;
for(int n=1;m<500;n++){
m=m+n;
}
cout << "500より小さい場合のnは" << n-1 << "\n";
cout << "500より小さい場合の和は" << m-n << "\n";
getch();
return(0);
}
と組んでみたのですが500より小さい場合のnが答えと違ってしまいます・・・。
試しに、
cout << "500より小さい場合のnは" << n-1 << "\n";
cout << "500より小さい場合の和は" << m-n << "\n";
も括弧でくくって途中の経過を確認したのですが、その時は正しくnが表示されます。
なぜなのかよく分からないので、どなたか教えていただけないでしょうか?
0747デフォルトの名無しさん
NGNGint nをforの前で宣言してみては?
0748746
NGNGn=31とならねばならないはずなのにn=32に・・・。
和は合ってるのになぜだろう・・・
0749デフォルトの名無しさん
NGNG0750746
NGNG和が496にならなければならないところ、答えは495・・・。
なぜなんだorz
0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNG和が3より小さい場合、でデバッガでコード追ってみ。
0753デフォルトの名無しさん
NGNGスコープの外だったら、処理系関係なくコンパイルエラーだろが。
0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNG0757746
NGNGそうすると正しい答えがでるんです。
なぜかfor文外で計算結果だけ出力すると間違った答えになって・・・
0758デフォルトの名無しさん
NGNGfor文の中に書いてもはまる
0759デフォルトの名無しさん
NGNGfor( i = 0 i < 2; i++ )
iを0で初期化する (i=0)
iが2未満なので実行
iをインクリメントする(i=1)
iが2未満なので実行
iをインクリメントする(i=2)
iが2未満でないのでループを抜ける
0760デフォルトの名無しさん
NGNGif ( m > 500 ) break;
n = 31;
m = m + n; /* m = 496; */
n++; /* n = 32 */
2)
if ( m > 500 ) break;
n = 32;
m = m + n; /* m = 528 */
n++; /* n = 33 */
3)
if ( m > 500 ) break;
n - 1 = 33;
m - n = 495;
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNGforじゃなくてwhileでやるべきところだったのか。
0763デフォルトの名無しさん
NGNGint m=0;
for(int n=0;(m+n+1)<500;++n) m+=(n+1);
>1+2+3+・・・+nの和が500より小さい場合における、nとそのときの和
1+2+...+nの和が4より小さい場合,,,で考えてみほ
0+0+1<4 -> m=0+1,n=1
1+1+1<4 -> m=1+2,n=2
3+2+1<4 終了
-> m=3, n=2
0764デフォルトの名無しさん
NGNG#include <stdio.h>
int main() {
int i;
char array[10];
cout << "array : " << array << '\n';
for(int i = 0; i < 10; i++)
cout << "&array" << [i] <<" : " << &array[i] << '\n';
return 0;
} char array[10];
printf("array : %d\n\n", array);
for(i = 0; i < 10; i++)
printf("&array[%d] : %d\n", i, &array[i]);
return 0;
} はc言語で、こっちなら、arrayのアドレスの出力することができるんですが、
C++言語で、 同じようなソースを書いたら、文字バケ?をするんです。
#include <iostream.h>
int main(){
char array[10];
cout << "array : " << array << '\n';
for(int i = 0; i < 10; i++)
cout << "&array" << [i] <<" : " << &array[i] << '\n';
return 0;
}
なんですが・・・型をintにすると、ちゃんとアドレスが出力されるんです。
でも、charに変えると、ダメになります。 なぜ、c言語では、普通に出力されるのに、C++ではダメなんでしょうか?
それとも、僕の書き方がおかしいのでしょうか?(多分、おかしいからでしょうが・・・)
どうかお願いします。
0765デフォルトの名無しさん
NGNGchar* が文字列として解釈されてる。
明示的に void* にキャストすれば思うような結果が得られるはず。
それとソースはちゃんと貼れな。
0766デフォルトの名無しさん
NGNGiostream使わなければ正しく出力されると言うことなら、
iostreamでは余計なお世話をしてくださっていると言うことだろ。
0767デフォルトの名無しさん
NGNG[i]って何よ?
0768デフォルトの名無しさん
NGNGスレ違い
ここはVisual C++スレ
それはC++
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG同じ名前(たとえばA.cpp)のものを二つ作成(\Aフォルダ\A.cppと\Bフォルダ\A.cpp)してしまったのですが
ビルドしようとすると
「どちらも\debug\a.objを作成するために設定されているのでビルドできない」と警告がでるのですが
どうすれば解決できるのでしょうか?
単純にBフォルダを消してもダメですよね
0771770
NGNG0772デフォルトの名無しさん
NGNGいじったことないからなんともいえんが
0773770
NGNGすばやい回答ありがとうございます
とりあえず応急手当ということで「ビルドしない」という項目にチェックいれときました
で出力ディレクトリを具体的に何に変更すればよいのでしょう?適当?
あと質問ばかりで悪いのですがこれ(A.cpp)自体をこのプロジェクトから消すのにはどういった手順を踏めばいいのでしょうか?
よろしくお願いいたいします
0774デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNG自然数の和を求める公式は使わないのね
ループで回すより早いと思うが…
500くらいだったら実行速度に大した差は無いと思うけど
数がデカくなれば差が出てくるだろうに
まぁ、for文の動きを学ぶような演習なんだったら公式は使わないと思うが
0777デフォルトの名無しさん
NGNG点線と黒い影が出ると思うんですけど、
そこからSetFocusでフォーカスを別のとこに移動させると
点線だけ移動して、黒い影がボタンに残ったままになってしまいます。
この黒い影を強制的に消すにはどうしたらいいでしょう?
0778デフォルトの名無しさん
NGNG0779778
NGNG0780デフォルトの名無しさん
NGNGを知るにはどのようにすれば良いでしょうか?
0781デフォルトの名無しさん
NGNGピクチャーコントロール.GetWindowRect(rect);
0782デフォルトの名無しさん
NGNGttp://cazlog.cocolog-nifty.com/blog/2004/04/microsoft_visua.html
↑にしたがってやってみたんですが
>とゆっても、Toolkitのbinとincludeとlibに、それぞれパスを通してやるだけです。SetEnv.batの最初に次のような記述を追加します。
>
>Set MSVct=Toolkitをインストールしたディレクトリ
>Set Lib=%MSVct%\Lib;%Lib%
>Set Include=%MSVct%\Include;%Include%
>Set Path=%MSVct%\Bin;%MSVct%\Bin\Win64;%path%
が、どこに記述を追加すればいいのかわからないです・・・
とりあえずSetEnvをダブルクリックしてみると、プロンプト(?)ぽいのが開くけど一瞬で消えちゃいます。
どーすればいいんでしょ・・・?(´・ω・`)
0783デフォルトの名無しさん
NGNGDialogとの相対座標をできれば知りたいのです・・・
0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNGScreenToClient(rect);
0786デフォルトの名無しさん
NGNGAnyWayThxです。
んじゃ、どっかでマルチポストしてきます。
0787デフォルトの名無しさん
NGNGNextDlgCtrlで。
0788デフォルトの名無しさん
NGNG何がなにやらさっぱりなんですが。
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNG列のクリックは「LVN_COLUMNCLICK」なのですが、どうもこれは行には適用されないようで
0791デフォルトの名無しさん
NGNGclass name{
private:
char *dogs[4] = {"Afghan Hound", "Beagle", "Border Collie", "Dalmation"};
};
のように文字列の配列を定義するにはどうすればいいんだろ。。。
0792デフォルトの名無しさん
NGNGconio.h をインクルードして getch(); を加えれば動く筈。
0793デフォルトの名無しさん
NGNG普通にWM_LBUTTONDOWNとかWM_CONTEXTMENUとか
どこにポインタがあるかはListのメンバ関数で調べる
0794デフォルトの名無しさん
NGNGマルチうざい
0795デフォルトの名無しさん
NGNG現在アクティブなウィンドウハンドルを取得して
そのウィンドウをサブクラス化しようとしたのですが
うまくいきません。
0796デフォルトの名無しさん
NGNGだったら、フックしてフックプロシージャ内でサブクラス化
0797デフォルトの名無しさん
NGNGグリッドONでやっているのですが、
立ち上がり時はいつもグリッドOFFになっています。
常にグリッドONにはできるのでしょうか?
0798デフォルトの名無しさん
NGNGvoid DumpLetterCode(const char* str)
{
for(; *str; str++)
printf("%02X ", (unsigned char)*str);
cout << endl;
}
for(; *str; str++) はどういう働きをするのでしょうか?
お願いします☆
0799デフォルトの名無しさん
NGNGリソーススクリプトを直接いじりたいんですがどうやったら開けるんでしょうか?
ソリューションエクスプローラーからリソースファイルをダブルクリックしても
リソースビューにとんでしまうんですが。
0800デフォルトの名無しさん
NGNG*strがゼロ(NULL)になるまでループ
0801デフォルトの名無しさん
NGNG理解できました!!
0802デフォルトの名無しさん
NGNGエディタ使えば?
0803デフォルトの名無しさん
NGNG>ゼロ(NULL)
(w
0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNGどちらか片方だけ定義して、それを使うか使わないかにすれば良いのでは…?
VC7.1です
0806デフォルトの名無しさん
NGNGVC++を使うにはC++をある程度マスターしておかないと話にならないのでしょうか。
0807デフォルトの名無しさん
NGNGならないでしょう
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNGVC6を利用している主な理由となっているのが、Ctrl+Spaceでの入力支援なのですが、
たまぁに、自身で作ったクラスファイルがVC6側でしっかりと解析されず、含まれているはずの
メソッド、およびメンバが入力支援候補に表示されません。VC6の入力支援の候補として確実に
表示されるようにするには、何か守らなければならない文法上の注意などあるのでしょうか?
0810デフォルトの名無しさん
NGNGオーバーロード
継承
STL
etc…
と言ったマテリアを幾つかマスターするって意味だろ。
0811デフォルトの名無しさん
NGNGNDEBUGはassert.hの制御に使われる。_DEBUGはデバッグ版newなどの制御に使われる。
目的が微妙に異なるので別に用意されている。
例えば、Debug/ReleaseのほかにBetaを用意して、そこではNDEBUGも_DEBUGも定義しないとかね。
0812デフォルトの名無しさん
NGNGVC++のバグだから諦めろ。
0813デフォルトの名無しさん
NGNG.NETだとなおってる?
0814デフォルトの名無しさん
NGNG経験上、#define で定義した型を引数につかってたり、しかもそれが #ifdef とかで面倒な条件コンパイルに
なってたりするとによく知らんぷりをされる。
0815デフォルトの名無しさん
NGNG無知だねえ。
NULLというドイツ語はゼロを意味するんだよ。
0816805
NGNGレスどうもです
構成(Debug,Release)の違いを区別するための定数ではないのですね…
Releaseで使われるNDEBUGのNはNotの意味(Not DEBUG)?と勝手に解釈してましたが、
単純にそういう意味ではないのか…
ただ、assertを制御してるって事は、
Releaseする時はやはりNDEBUGを定義しとかないといけないってことですね?
# 定義されないと何が起こるのか分かってないですが… たぶん落ちるのかな??
0817デフォルトの名無しさん
NGNGNDEBUGの意味はNotDebugでいいんでないかな。
詳しくはこの辺りが参考になるかな。
ttp://donguri.sakura.ne.jp/~shock8/wisper/debug_release.html
0818デフォルトの名無しさん
NGNGLRESULT CALLBACK MyHookProc(int nCode, WPARAM wp, LPARAM lp)
{
char str[256];
if (nCode < 0)
return CallNextHookEx(hMyHook, nCode, wp, lp);
if (wp >= 0x30 && wp <= 0x39) {
wsprintf(str, "hMyHook = %d", hMyHook);
MessageBox(NULL, str, "MyHookProc", MB_OK);
return CallNextHookEx(hMyHook, nCode, wp, lp);
}
wsprintf(str, "キー入力はインターセプトされました\n フックハンドル= %d",
hMyHook);
MessageBox(NULL, str, "インターセプト", MB_OK);
return TRUE;
}
これを実行すると
二重で動作するんですがどうしたらよいでしょうか。
0819デフォルトの名無しさん
NGNGスタティックライブラリで実現できるんでしょうか?
DLLで出来るのはわかってるんですが。
0820デフォルトの名無しさん
NGNGProf 以上ならできる。
0821デフォルトの名無しさん
NGNGリソースは
リンクするメイン側に置くのですか?
0822デフォルトの名無しさん
NGNG#include<stdio.h>
main(){
int x[10]={2,1,5,3,11,6,88,27,68,0};
int *p;
p=x;
printf("%d",*p);
printf("%d",*(p+3));
printf("%d",*p+2);
printf("%d",*(p+7));
printf("%d",*p+7);
}
の結果が
234279
になるのは何故でしょうか?
*pを中心に簡潔に教えて頂けるとありがたいです。
0823デフォルトの名無しさん
NGNG改行してないから
0824822
NGNG0825デフォルトの名無しさん
NGNG面白すぎ
0826デフォルトの名無しさん
NGNG使えません。これって違う型でするのでしょうか?(それはないやろうけど)
とにかく、エラーで”そんな関数あるか!!”という風に出ます。
インストールミスでしょうか?
それと、上に<・・・>のやつはインクルードしています。
よろしくお願いします。
0827デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNGもしかしてユニコード文字を入力・表示出来ない?
0830デフォルトの名無しさん
NGNGVC++.NETにはファイルメニューに「保存オプションの詳細設定」ってのがあるが
VC6にはない?
0831デフォルトの名無しさん
NGNGあれは一体どんな方法を使っているのでしょうか?
VCでちょっと似たようなことをやりたいので
なんかヒントをください
0832デフォルトの名無しさん
NGNGBitmapを関連付けたデバイスコンテキストにDrawTextする
0833デフォルトの名無しさん
NGNGWH_CALLWNDPROCでフックしたのですが
WM_KEYUPやDOWNメッセージは取得できないのでしょうか。
0834デフォルトの名無しさん
NGNG左と右に別のスクロールを表示する方法を教えてください。
0835834
NGNG0836デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1083585833/834
マルチ
0837デフォルトの名無しさん
NGNGすいません。検索したらWin32が引っかかったので。
そっちのスレのほうで、聞かせていただきます。
申し訳ないです。
0838デフォルトの名無しさん
NGNG出来ません。そもそもエディタが対応していません。
VS.NETは対応しているのでそちらを使うことをお勧めします。
0839デフォルトの名無しさん
NGNG動的にボタン等を追加することは可能でしょうか?
(あらかじめ作っておいたボタンを消しといて、
後から表示ではなくて、ファイルかなんかにボタンの数が書いてあって、
それを縦に並べたり)
0840デフォルトの名無しさん
NGNGダイアログアプリなら使える。
一画面のみのゲームとかならコレで十分かと。
0841デフォルトの名無しさん
NGNGCButtonクラス
0842デフォルトの名無しさん
NGNG↑
というようなメッセージがでてしまいます、DirectXが原因かと思いDirectX 9.0bをインストールしたのですが直りません。
プロジェクト→設定→リンクのオブジェクト/ライブラリモジュールのところにはちゃんとdinput8.lib dxguid.libと書いてリンクさせています。
どなたかわかる方がいれば教えて下さい。
0843デフォルトの名無しさん
NGNGとりあえずフルパスで書いてみろ
0844デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNGMFCじゃ無理じゃないか?
やったことないから断言できないけど。
0847デフォルトの名無しさん
NGNGint cintarray::Get(char *pN, const int index){
pName = new char[sum][strlen(pN) + 1];
strcpy(pName, pN);
CheckIndex(index);
sum++;
return j_pnum[index];
という風に、pNは名前を入力してさすポインタなんですが、
いくつかの名前を入力して、最後に入力した名前を表示させるたいと思ったのですが、
それがうまくいきません。初め[sum]は抜いていて、その時は、ひとつずつですが、表示させることができました。
で、2次元配列なら、全部をいっぺんに表示させることができるのではないか考えたのですが、
まぁ、↑にソースを見ての通り、エラーです。。。
全然わかりません。どうかお願いします。
0848デフォルトの名無しさん
NGNG動的にCreateすればいい。
0849デフォルトの名無しさん
NGNGVirtualQueryを使えば良さそうと言うことがわかったのですが
この関数の使い方が、いまいちわかりません。
日本語で詳しい説明があるHPとか、知っている方いませんか?
0850デフォルトの名無しさん
NGNGchar **pName;
int x = sum,y = strlen(pN) + 1,i;
pName = new char*[x * sizeof(char*)];
for(i=0;i<x;i++) {
pName[i] = new char[y * sizeof(char)];
}
と2次元配列は2段階に分けて作る。
しかしこのままでは配列の大きさが決まってしまってるがね。
0851デフォルトの名無しさん
NGNGHANDLE_MSG(hwnd, WM_CREATE, MyWM_CREATE); として
MyWM_CREATE関数にオブジェクトを渡したいのですが方法がわかりません。
ググっているのですが情報が少なくてわかりません。どうかよろしくお願いします。
0852デフォルトの名無しさん
NGNGどちらを使ったほうがよいのでしょうか?
0853デフォルトの名無しさん
NGNG目的と手段を混同するな。
0854デフォルトの名無しさん
NGNGすいません。
つくりたいものは、一言で言うと動画再生ツールです。
0855デフォルトの名無しさん
NGNGっていうエラーにおいて、
もちろん私は明示的にXXXをソース中には書いてはいないんで、XXXがどこから呼ばれてるのか
(行番号もでてこないから)分からないんですが
こういった場合効率よくエラーを取り除くにはどうすればいいでしょうか?
0856デフォルトの名無しさん
NGNG動画再生ツールと言っても、単純にウインドウ一つで済むのか、
多数の設定メニューが必要なのか、千差万別。
まずはどういった物を作るのか、必要項目をリストアップせよ。
0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNGダイアログ以外でも全然平気
0859デフォルトの名無しさん
NGNG857にまったく同意見だなぁ
MFCで作ったほうが、メッセージ処理は楽だと俺は思うけど人それぞれだから
趣味で作ってるのなら、興味のあるほうとか得意な方でいいんじゃない
0860デフォルトの名無しさん
NGNG以前にbcc+psdkでやってせいで環境変数が変わってしまったんでしょうか?
C系ファイルはincludeできるのですが‥パス指定したくてもどこにヘッダが置いてあるのかもわからないし。
どうすればiostream.h等のファイルがincludeできるようになるでしょうか?
0861デフォルトの名無しさん
NGNGウインドウは1つで済みますが、2つに分割します。
0862デフォルトの名無しさん
NGNGそれならMFCかなWTLも捨てがたいが
0863デフォルトの名無しさん
NGNG一度作ってしまえば再利用できるが、初回は時間がかかる。
0864デフォルトの名無しさん
NGNGじゃあ、MFCにします。
相談、ありがとうございました。
0865デフォルトの名無しさん
NGNGありがとうございました!そんな方法があったんですか。
勉強不足でした。本当にありがとうございました☆
0866デフォルトの名無しさん
NGNGエクスプローラで検索すれば見つかる
BINの下に環境設定するバッチもある
0867デフォルトの名無しさん
NGNGCSplitterWndだと、Viewが分割されてしまいます。
そうではなくて、下のように埋め込まれた感じに配置したいのです。
┌────┐
│ │
│ □ .. │
│ │ (大きい四角がViewで、小さいのがScroll。
└────┘ ずれてたらすいません。)
よろしくお願いいたします。
0868デフォルトの名無しさん
NGNGmain関数の書いてあるcppで使用することができるのは知っているのですが(メイン.cppとaaa.hとaaa.cppを利用してメイン.cppでaaa.cppの関数を利用)
外部に用意してあるクラスは関数と同じように外部から読み込むことはできないのでしょうか?
メイン.cppにほかに用意してあるclassをメインに記述しないで利用したいのですが。。。
0869デフォルトの名無しさん
NGNGCScrollViewて普通にCWndとして使えないのか?
0870デフォルトの名無しさん
NGNGaaa.cpp にクラスの定義
aaa.h にクラスの宣言を書いて
メイン.cpp に aaa.h をインクルードすればいいです。
http://mikata.curiocube.com/oop/part3/ch01_classinst.html
ここにその通りのサンプルコードがありますね。
でもスレ違いですね。C++の初歩的な質問だから。
0871( ´_ゝ`)フーン
NGNGCScrollView::Create()を使って、Viewのチャイルドウィンドウとして作成する。
そのとき7番目の引数のCCreateContext構造体のメンバ、m_pCurrentDocには
関連付けたいドキュメントクラスへのポインタを入れておく。
0872790
NGNGWM_LBUTTONDOWNをダイアログのプロシージャで広うようにしたのですが、
リストビューをクリックしたときには反応せず、リストビューでない場所をクリックした場合にのみ反応するのです。
どうしたら良いのでしょうか_| ̄|○
0873790
NGNGNM_CLICKメッセージを拾えば良かったようです。
見つからないときはさっぱりなのに、見つかるときはあっさりですね。
0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNGありがとうございます。
以上の方法でやってみたのですがコンパイルすることができませんでした。
VC++6.0を使用しているのですがどうも上手くファイルを読み込めていないようなんです。
ヘッダファイルはワークスペースの外部依存関係というフォルダがたしか前にあったと思うのですが今回はこれが作成されていないようでたぶんこれがいけないと思うのですがどうすれば作成できるのでしょうか?
初歩的過ぎますがアドバイスいただけると助かります。
0876875
NGNGDefWindowProc呼んでませんでした
ちょっと前に話題になってるし・・・よく調べもせず、すみませんでした(TT
0877876
NGNG875さんじゃありません(TT
0878デフォルトの名無しさん
NGNGそれにコントロール変数を追加したいんですが
VC6の時は、グループ先頭を「グループ」にチェック入れて
int変数を追加できたんだけど
VC7.1だと先頭のGroupをtrueに設定して
コントロール変数を追加しようとすると
BOOLしか追加できないみたいなんです
intで追加できないんでしょうか?
0879デフォルトの名無しさん
NGNGでうまい実装方法ってないでしょうか?
0880867
NGNGよくわからないのですが、CScrollView::Create()っていうのは、
どうやって使うのですか?
CScrollViewから派生したクラスを作っているのですが、
どうやってCreateするのか、よくわかりません。
0881( ´_ゝ`)フーン
NGNGCWnd::Create()のヘルプを見て下さい。
08821/2
NGNGn×n行列の逆行列を求めるプログラム(nは1〜5)をVC++で作り、DLLを使って
VBで動作するようにしたいのですがDLLの作り方やexport関数などよくわかりません。
どなたか教えていただけないでしょうか?
環境 OS;XP、VisualC++6.0、VisualBasic6.0
下に逆行列を求めるプログラムを記載します。
08832/2 (1)
NGNGusing namespace std;
int main(){
int dim, i, j, k; /* カウンタ */
double pivot,erase; /* ピボット数、消去係数 */
double** a; /* 連立方程式の各係数 */
cout << "行列の次数は : "; /* 次元数の入力 */
cin >> dim;
a = new double*[dim]; /* メモリ確保 */
for(i=0;i<dim;i++)a[i] = new double[dim*2];
for(i=0;i<dim;i++){ /* 係数入力部 */
for(j=0;j<dim;j++){
cout << "a[" << i << "][" << j << "] : ";
cin >> a[i][j];
}
}
すみません、思ったより長くなったので分割させて記載させてもらいます
08842/2 (2)
NGNGfor(j=dim;j<dim*2;j++){
a[i][j] = 0;
if(i==j-dim) a[i][j] = 1;
}
}
for(i=0;i<dim;i++){ /* 掃き出し部 */
pivot = a[i][i]; /* ピボット数を取得 */
for(j=i;j<dim*2;j++) a[i][j]/=pivot; /* n式をピボットで割る */
for(k=0;k<dim;k++){ /* n項を消去する */
erase=a[k][i]; /* 消去する式の係数 */
for(j=i;j<dim*2;j++){ /* 実際の掃き出し処理 */
if(k!=i) a[k][j]-=erase*a[i][j];
}
}
}
for(i=0;i<dim;i++){ /* 結果表示 */
cout << " ( ";
for(j=dim;j<dim*2;j++){
cout << a[i][j] << ' ';
}
cout << " ) " << endl;
}
return 0;
}
(バックナンバーアルゴリズム50より記載)
長文すみませんがどうかよろしくお願いします。
0885デフォルトの名無しさん
NGNGまずはDLLの作り方を検索したらいいと思うぞ。
0886デフォルトの名無しさん
NGNGF1キーを別の用途で使いたいので、このヘルプを無効にするには
どうしたら良いですか?
0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNGヘルプが起動しないようにするだけならWinHelpをオーバーライドして
なにもしないようにするとかね
0890デフォルトの名無しさん
NGNGImmGetConversionList(..., GCL_CONVERSION )以外で
変換候補を取得できないでしょうか?
IMEの変換候補と比べると上記は取得できる候補が少ないので・・・。
IMEと同等の変換候補を取得する方法など何かご存知でしたら
教えてください。
宜しくお願いします。
0891デフォルトの名無しさん
NGNGあれ結構ごちゃごちゃしてて全部見てないけど
0892デフォルトの名無しさん
NGNG0893デフォルトの名無しさん
NGNGあるよ
0894890
NGNGIMEの変換候補ウィンドウを表示するでなく
変換候補の文字列を取得したいのです。
なにかご存知でしたらお願いします。
Imm関係を調べたのでですが情報が少なくて・・・。
0895デフォルトの名無しさん
NGNG環境は windows2000 VC++ ver5.0 です
スタート->設定->プリンタ でチェックマークがついてるプリンタを
VCアプリケーションで変えたいのですが
WriteProfileString("windows", "device", "Printer name,Printer driver,port");
これをやっても何も変化がないのです。
調べた範囲では
windows2000では無理っぽいということなんですが
GetProfileString("windows", "device", Buffer );
でBufferに取ってきたものを見ても
x. とか b というような意味がない文字しか入ってこないです。
はたして通常使うプリンタの変更は不可能なのでしょうか?
0896デフォルトの名無しさん
NGNGよく分からないが、そういうものはレジストリに設定があるんだろうから、それを
見つけて直接読み書きした方が手っ取り早くないかな?
ttp://www7.big.or.jp/~pinball/discus/pb/log/020516/935.html
これかな?
0897デフォルトの名無しさん
NGNGWM_IME_COMPOSITIONだよ。
0898デフォルトの名無しさん
NGNGVC++で新規のプロジェクトを作成する時に、
MFCアプリケーションを選択した場合、
同じプロジェクト内でWIN32APIは使用できなくなるのでしょうか?
0899デフォルトの名無しさん
NGNG増やしていってくれるような仕組みってありませんか?
VC++6用のシェアウェアはあるようですが。
Visual SourceSafeかなんかでできるんでしょうか?
0900デフォルトの名無しさん
NGNGならない。
0901デフォルトの名無しさん
NGNGそもそもMFCだけでまともなコーディングが出来ん。
0902デフォルトの名無しさん
NGNGMFCのソースを軽くでいいから覗いてごらん
0903デフォルトの名無しさん
NGNGビルドは通るのにexeを実行すると、すかさず下記のエラーがでる。という症状が何回か出て参っています。
「XXXXの命令がXXXXのメモリを参照しようとしました。メモリがreadになる事は有りませんでした。」
このエラー原因の可能性としては、どのような点があるでしょうか?
何回かこのエラーが出くわしたのですが、このエラーが出るたびにバックアップから作り直し、
3歩進んで2歩下がる状態で開発が進んでいます。作り直すとなぜかエラーが出なくなります…
0904デフォルトの名無しさん
NGNG>ビルドは通るのに
文法上は正しくても動作としておかしなコードが混じっているからそうなる。
バッファの取り扱いに注意。
一連の初期化処理の中におかしなところがあるんだろう。詳しいことはプログラム
の中を見ないとわからない。
あるいはビルドを繰り返しているうちにそうなるなら、中間ファイル類を全て削除して
からビルドしなおしてみる。
0905デフォルトの名無しさん
NGNG回答有り難うございます。
Debugフォルダを全削除して、ビルドしなおしたら直りました。
バグみたいなもの?
VCってワケわからんです。もうツカレタ…orz
0906デフォルトの名無しさん
NGNGぬるぽっ
0907デフォルトの名無しさん
NGNGエラーが出た状態のままの中間ファイルが残ったため。
VCはビルドするとき、ファイルの日時を見てビルド対象を決めているが、
その時エクスプローラーが邪魔すると、
お互い待ち状態になったり、日時の確認を中断してビルド続行してしまったりする。
0908デフォルトの名無しさん
NGNGもう一度ソースを確認することをお勧めする
それで治ったってのはただの偶然の可能性もあるよ
ちなみに、上記のエラーは一般アプリが読んでははいけないと
マークしているメモリを読もうとしたために起きたエラー
ちなみにデバッガ上でやってもそうなる?
デバッガ上でも出るならデバッガ使って原因を追求するべきだし
デバッガが使えないのなら、ワトソン博士にコアダンプ吐かせても良いかも
mapファイルの作成は忘れずにね
904が言うようにオブジェクトのリンクに際して起きる場合もあるかも
もし多人数で開発しているのなら、各PCの時計を正確に合わせておいたほうがいいよ
0909デフォルトの名無しさん
NGNGリファレンスくらい目を通しとけ。
0910(1/3)
NGNG解決策等をご存知でしたらご教授ください。
--- fuga.h ---
#ifndef __fuga_h__
#define __fuga_h__
class hoge;
class fuga{
hoge* pHoge_;
public :
void SetHoge(hoge* pHoge) { pHoge_ = pHoge; }
};
#endif// __fuga_h__
0911(2/3)
NGNG--- hoge.h ---
#ifndef __hoge_h__
#define __hoge_h__
#include "fuga.h"
class hoge{
int x;
};
class hogehoge{
fuga* pFuga;
public :
void SetFuga(void){
pFuga->SetHoge(new hoge);
}
};
#endif// __hoge_h__
0912デフォルトの名無しさん
NGNG#include "hoge.h"
int main(void){
hogehoge* pHogehoge = new hogehoge;
pHogehoge->SetFuga();
}
エラーは「***の命令が***のメモリを参照しようとしました。メモリがreadになることはできませんでした。」
というものです。
環境はVC++6 SP5です。
ちなみに友人にBCCでコンパイルしてもらったところエラーは発生しませんでした。
長々と申し訳ありませんがよろしくお願いします。
0913デフォルトの名無しさん
NGNG>>903
0914910-912
NGNGint main(void){
hogehoge* pHogehoge = new hogehoge;
pHogehoge->SetFuga(); // ←
}
の部分でエラーが発生しているようです。
0915デフォルトの名無しさん
NGNG>>903-はすでに見させていただきましたが、
それとは違うと思うのですが…。
もちろんリビルドなどは行いました。
0916デフォルトの名無しさん
NGNGpFugaのインスタンス作ってないのに、メソッドを呼ぶなハゲ。
上のやつもそうだが、VCに問題があるような書き方するな
こんなレベルじゃ、たとえ糞コンパイラ使っていてもコンパイラを疑う資格すらない。
0917910-912
NGNGああああ、申し訳ない
プロジェクトから簡略化して切り出したときに入れ忘れてました。
ということでそのファイルは無事実行できました。BCCは単に運よかっただけみたいですね。
ということはこれはプロジェクト自体のエラーの原因ではなかったみたいです。
本当に申し訳ありません。
0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG0921919
NGNG0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNG学校ではVisual C++ 6.0を使っているので、そちら用の参考書
(3週間マスターVisual C++6.0,日経BP社)を借りて勉強していたのですが、
C++ .NETにはClass Wizardがないので「Class Wizardを使って、CTimersDlgクラスに、
WM_TIMERメッセージに対応する為の関数OnTimerを追加する」という所で詰まってしまいました。
クラスビューでCTimersDlgを右クリックして追加から関数の追加を選択し、戻り値の型voidと、
UINT(Unsigned int?)型のパラメータnIDEventを追加して、参考書通りのコードを追加したのですが、
思い通り(時刻を取得し書式を整えてダイアログに表示する)の動作をしません。
考えてみればWM_TIMERメッセージに対応させる操作が抜けているので当たり前だとは思ったのですが、
解決法が思いつきません。
どのようにすればいいのでしょうか?
0925デフォルトの名無しさん
NGNGありがとう御座います。
やってみます。
0926デフォルトの名無しさん
NGNG1.リソースからダイアログの編集画面を出す(絵になっててボタンとかくっつけていくやつ)
2.ダイアログ上で右クリックし「プロパティ」
3.「プロパティ」のビューにある「メッセージ」というボタンを押す
0927デフォルトの名無しさん
NGNGクラスビューのCTimersDlgを右クリックして
「Windowsメッセージハンドラの追加」で、左のリストから
WM_TIMER をクリックして「ハンドラの追加」ボタンを押すと
OnTimer関数をオーバーライドしたものが自動で生成される。
後はMSDNで。
0928927
NGNG0929924
NGNGありがとうございます。
ここのWM_TIMERの右側にOnTimerと追加すればいいんですよね?
でも一度自分で手書きで書いてしまった為か、TimerDlg.cppのOnTime関数は消したのに
「オーバーロードされた関数'OnTime'は既に存在しています」と出てしまいました。
関数を消すだけではダメなのでしょうか…?
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNGが職業上FA関係のライブラリを使うため、それらのライブラリをイチイチ
DllImportするのは面倒なため、やっぱりとうぶんVC++から離れなれない・・・
0933デフォルトの名無しさん
NGNGVC++もポトペタだがいつの時代から来た人だ?
0934デフォルトの名無しさん
NGNGはぁ?
なに言っての、このボンクラ
0935デフォルトの名無しさん
NGNG>>933はダイアログアプリしか作ったこと無いんだ。許してやれ。
もしくはVBと勘違いしてんだ。
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNGバージョンアップする金も.NETに移行する気もない貧乏はすっこんでろ!
0938デフォルトの名無しさん
NGNGのようにしてやろうとしたのですが認識してくれないです。
定義漏れがあるのかと思ってリソースのヘッダファイルも確認するとしっかり定義されてました。
ちなみにIDを文字列にしてやるとできました。
どういう原因が考えられますか?
0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNG> 'IDB_BITMAP1' : 定義されていない識別子です。
メッセージがこうでてるし、文字列ならビットマップは表示されるので
resource.hでIDを定義しわすれてるとしか考えられないのですが、
実際resource.hをひらいて確認するとちゃんと定義されてるんです。
どういうことなんでしょうか・・・。
0941940
NGNG読み込めます。
そもそもビルドすれば勝手にresource.hにIDの値定義してくれますよね?
0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNGWindows用のGTK+を↓このページからダウンロードしてインストールしました
ttp://www.dropline.net/gtk/
こののライブラリをVC++で使うにはどうしたらいいですか?
教えてくださいお願いします
0950949
NGNGバージョン 6.0 です
0951デフォルトの名無しさん
NGNGhttp://www.dropline.net/gtk/support.php
0952デフォルトの名無しさん
NGNGスプリッタで左右に分けています。右ペイン(CTreeView)から左ペインの
CHtmlView のナビゲート関数をCHtmlViewで実行するとナビゲート関数の
初めでASSERT します。
どうしたらいいのでしょうか。
0953949
NGNGそのページ読んでみました
エラーが出なくなるまで全てのインクルードファイルを
ツール→オプション→ディレクトリタブ
の中に書き込みました
次に
プロジェクト→設定→リンクタブ→カテゴリ[一般]→オブジェクト/ライブラリモジュール
に、上のページで書かれていた
-lgtk-win32-2.0 -lgdk-win32-2.0 -lgthread-2.0 -lgdi32 -lole32 -luuid -latk-1.0
-lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0
-lgmodule-2.0 -lglib-2.0 -lintl -liconv
を書き込みました。
これでビルドできると思ったのですが、LINKで
LINK : warning LNK4044: オプション "lgtk-win32-2.0" は無効です; 無視されます
などのエラーが起こります。
-lのせいなのかと思い -l を取り除いてやってみたのですが、やはりうまくいきませんでした。
根本的にどこかが違うのでしょうか?
0954デフォルトの名無しさん
NGNGそれはgcc用の設定では
0955949
NGNGそうでしたか(汗
では、 Visual C++ 6.0 ではどうしたらいいのでしょうか?
0956デフォルトの名無しさん
NGNG>>951のページをもちょっと下まで読む
0957949
NGNGそうでしたか、早速やってみました
プロジェクト→設定→C/C++タブ→カテゴリ[プリプロセッサ]→インクルードファイルのパス
に書かれていたように
glib-2.0.lib gtk-win32-2.0.lib gdk-win32-2.0.lib gobject-2.0.lib gdk_pixbuf-2.0.lib gthread-2.0.lib gmodule-2.0.lib pango-1.0.lib
を書きました
しかし、今度は
gtk+test.obj : error LNK2001: 外部シンボル "_gtk_main" は未解決です
gtk+test.obj : error LNK2001: 外部シンボル "_gtk_widget_show" は未解決です
gtk+test.obj : error LNK2001: 外部シンボル "_gtk_window_new" は未解決です
gtk+test.obj : error LNK2001: 外部シンボル "_gtk_init_abi_check" は未解決です
Debug/gtk+test.exe : fatal error LNK1120: 外部参照 4 が未解決です。
link.exe の実行エラー
というエラーが出てきます。
何が足りなかったのでしょうか?
0958949
NGNG>>951のページでダウンロードした、ヘッダファイルを全てツール→オプション→ディレクトリタブ
に書き込んでみました。
すると
d:\my documents\my pictures\program用\課題\gtk+test1\gtk+test.cpp(1) : fatal error C1083: インクルード ファイルがオープンできません。'gtk/gtk.h': No such file or directory
cl.exe の実行エラー
とエラーがでてきます。
このフォルダ内をgtk/gtk.hで検索かけたところ、ヒットしませんでした。
そのほかのヘッダファイル内には、xxx/xxx.hの記述がたくさん見られます
しかし、やはりそのような名前のヘッダファイルはありませんでした。
これは何か意味があるのでしょうか?
少し、スレ違いな質問になってしまいましたが、わかる人教えてください。お願いします。
0959デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNGこれってVC7の話?
単純にライブラリを指定していないだけでは
インクルードパスとはライブラリモジュールを指定することは別だよ
0962949
NGNGありがとうございます。そうみたいでした。
プロジェクト→設定→リンクタブ→カテゴリ[一般]→オブジェクト/ライブラリ モジュール に
glib-2.0.lib gtk-win32-2.0.lib gdk-win32-2.0.lib gobject-2.0.lib gdk_pixbuf-2.0.lib gthread-2.0.lib gmodule-2.0.lib pango-1.0.lib
と書き加えたところ、うまくビルドできました。
しかし、実行時にエラーが出ました。(下はエラーメッセージです)
コンポーネントが見つかりません
libgtk-win32-2.0-0.dll が見つからなかったため、このアプリケーションを開始できませんでした。
アプリケーションをインストールし直すとこの問題は解決される場合があります。
やはり、まだライブラリが指定されていないためでしょうか?
0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNGたとえば
int main{
int a=0;
if(a = 0){
クラス名<テンプレート引数> オブジェクト名;
}
}
という感じです。
0965デフォルトの名無しさん
NGNGやってみればいいじゃん。必要ならエラーコードをここに貼ってみ。
#つーか、喩えで書いたにしてもダメ過ぎ。
0966964
NGNGこのままだと
魔王と戦う.cpp(45) : error C2065: 'g' : 定義されていない識別子です。
魔王と戦う.cpp(45) : error C2228: '.Play' : 左側がクラス、構造体、共用体ではありません。
となります。
コードです
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1074774948_23/help.txt
0967デフォルトの名無しさん
NGNGcout << "無効な数字が入力されました。もう一度入れなおしてください\n";の後に}付け忘れました。
上のエラーはこれをつけたときのエラーです。
0968デフォルトの名無しさん
NGNGGTKを使ったことが無いから良く分からないんだけど
COMコンポーネントなのかな?
RegSvr32でインストールしないと駄目とか
それともただ単純に検索パス上にDLLが無いだけとか
そこら辺はドキュメントに載っていると思うけど
0969デフォルトの名無しさん
NGNG>クラスのオブジェクトはif文やfor文の中では作成できないのでしょうか?
そんなことはないです.
ifの中ででオブジェクトを作っといて,g.Play ();をコメントアウトしてもコンパイル通るでしょう?
オブジェクトのディストラクタはいつ呼ばれるのかを考えましょう.
0970デフォルトの名無しさん
NGNGGTK-RuntimeをインストールしてPATHを設定しないと動きま千円。
http://prdownloads.sourceforge.net/gtk-win/GTK-Runtime-Environment-2.2.4-3.exe?download
0971デフォルトの名無しさん
NGNG>966のようなケースの場合、テンプレートよりも継承の方がいいと思う。
#詳しくはEffectiveC++参照で。(’’
それはさておき、ブロック内で宣言したオブジェクトのスコープはブロック内部のみなので
条件によってテンプレートクラスの型を変えることは事実上無理。
あーでも、継承なら基底クラスのポインタを使って似たようなことが可能だな。
例えば
CBattle * encount
= choice == VersusMao ? (CBattle *) new BattleVsMao
: choice == VersusCat ? (CBattle *) new BattleVsCat
: NULL;
こんな感じかね。
>>969
>オブジェクトのディストラクタはいつ呼ばれるのかを考えましょう.
0972デフォルトの名無しさん
NGNGC++初心者にも関わらずテンプレートを
使うあたりの心意気に感動した
スコープって分かる?
#include <iostream>
using namespace std;
int main()
{
int i = 0 ;
cout << i << endl;
{
int i = 3;
cout << i << endl:
}
cout << i << endl;
return 0;
}
変数は宣言したブロック{}の中でのみで生きられる
>>966のソースでgはどこで宣言されている?
0973デフォルトの名無しさん
NGNGMFC71.DLLが相手にインストールされてなくても動くらしいのですが、
MSVCRT.DLL(C Runtime Library)を実行ファイルに含ませるには
どうすれば良いのですか?
0974デフォルトの名無しさん
NGNGplayを宣言する位置がまずかったんですね、ご指摘ありがとうございます。
スコープのところを読み直してきます。
0975デフォルトの名無しさん
NGNGプロジェクトのプロパティページで設定する。
0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNGランタイムライブラリをマルチスレッド(/MT)にすればいいのでしょうか?
0978デフォルトの名無しさん
NGNG>>977
「MFCをスタティックリンクする」と言った趣旨の項目があるはずだが。
#仕事柄VisualStudioは6も7も使っているので詳細は覚えていない罠。
##しかも自宅にはcygwin環境しかないので確認もできない罠。
0979973
NGNGその設定でMFC71.DLLは静的リンクにしているのですが、
VCはMSVCRT.DLLをライタイムライブラリとして使用していると
聞いたものですから、できればMSVCRT.DLLも静的リンクしたいのです
0980969
NGNG966のソースのmain関数内で,
if(sentaku==1){
Game<Mao, Hero> g;
+ g.Play ();
} else{
Game<FNeko, Hero> g;
+ g.Play ();
}
-g.Play ();
として,Playをgの宣言と同一スコープ内で呼ぶか,(続く)
0981969
NGNG+class Game_Base {
+public:
+virtual ~Game_Base () {}
+virtual void Play() = 0;
+};
template<class T, class U>
-class Game{
+class Game: public Game_Base{
として,Gameクラスを基底クラスGame_Baseから継承し,main関数内で
+Game_Base *g;
if(sentaku==1){
- Game<Mao, Hero> g;
+ g = new Game<Mao, Hero> ();
} else{
- Game<FNeko, Hero> g;
+ g = Game<FNeko, Hero> ();
}
-g.Play ();
+g->Play ();
+delete g;
として,ifの外側に宣言した基底クラスのポインタを使ってPlayをコールすると良いです.
0982969
NGNGややこしいですが,981のelse節の
+ g = Game<FNeko, Hero> ();
は
+ g = new Game<FNeko, Hero> ();
です.
0983949
NGNG早速、GTK-Runtimeをインストールしました
PATHの設定はどこでやればいいのでしょうか?
0984( ´_ゝ`)フーン
NGNGそのとおり
>>978
お前が一番分かってない。
MFCとランタイムライブラリの設定は別項目。
0985949
NGNG:: GTK+ for Windows ::
http://www.dropline.net/gtk/support.php
を訳しました
そこで
マイコンピュータ→プロパティ→詳細設定タブ→環境変数ボタン→システム環境変数→Pathをダブルクリック
→変数値の最後にbinとlibのパスを入力(セミコロンで区切る)
をするようなことを書いてあったので、やってみました。
すると、やっと成功しました!((涙))
このスレでアドバイスしてくださった皆さんありがとうございました!
0986デフォルトの名無しさん
NGNGintl.lib iconv.lib ←これも要るかも
0987デフォルトの名無しさん
NGNG何度も丁寧にありがとうございます。
初心者以前の質問、応答をしてしまい無能さを知らされました。
もうすこしがんばります。
0988デフォルトの名無しさん
NGNG0989969
NGNGじゃ,ついでに気付いたことを上げておきます.
分かってわざと省略してるのであれば,ごめんなさい.
1. ヘッダファイルではインクルードガードをした方が良いと思います.
インクルードガードの解説は以下に詳しいです.
http://www.02.246.ne.jp/~torutk/cxx/file/includeguard.html
2. ヘッダファイル内ではusing namespace std;をしない方が良いと思います.
名前空間は名前の衝突を避けるためにあります.一方,
ヘッダファイルは複数のコンパイル単位(一cppファイルあたり一コンパイル単位と考えてよい)
で共有されます.
ヘッダファイル内でusing namespace std;してしまうと,
このヘッダファイルを共有してるコンパイル単位全部でstdを晒すことになり,
名前空間の存在意義に反します.
using namespace std;はせいぜいcpp内で使うに止めておくことをお薦めします.
当り前ですが,これはcppファイルが(ヘッダファイルのように)他ファイルから
includeされてないことが前提の話です.
3. ソースファイルのファイル名に日本語を使うのは....
「動くからいいじゃない.」と言われれば反論はしませんが.
0990デフォルトの名無しさん
NGNG.NET Frameworkいるんですか?
0991デフォルトの名無しさん
NGNGいる場合もあれば、いらない場合もある。
0992デフォルトの名無しさん
NGNGそれってランダムなんですか?
0993デフォルトの名無しさん
NGNG0994990
NGNG0995デフォルトの名無しさん
NGNGワロタ
0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG│ ヽ( ,_ノ`)ノ 残念それは私のおいなりさんだ
│ へノ /
└→ ω ノ
>
1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。