VisualC++相談室 【7】
レス数が1000を超えています。これ以上書き込みはできません。
0001いさましいチビの女の子
NGNG前スレッド
http://pc.2ch.net/test/read.cgi/tech/1011615035/l50
0002943
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG女の子かー。
0005デフォルトの名無しさん
NGNG0006アルメイダ
NGNG色はつけることが出来たのですが、リストボックス内全部が同じ
色になってしまいます。
リストボクスッが複数項目ある場合、その項目毎に色を変えることは
出来ないのでしょうか
お忙しいところ申し訳ありませんが
教えていただけるようお願い致します。
0007デフォルトの名無しさん
NGNGC++やってるが全然わからん。
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG前スレの919
0010デフォルトの名無しさん
NGNGC++ + MFC + IDE用コード。
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGと同じものをプログラム的に表示するにはどうしたらよいのでしょうか?
やさしい有識者のお方、ご助言よろしくお願いいたします。
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int.asp
あたりを読むとか。MSDN LibraryやPlatform SDKにもサンプルがあった気が。
日本語解説があるかどうかは知りません。
0015デフォルトの名無しさん
NGNGとりあえず中ボタンをフックで捕まえることが出来るのですがその後に
左ボタンが押された用に見せる処理がうまくいきません。
どのようにすれば良いか教えてほしいYO!
0016デフォルトの名無しさん
NGNG捕まえられたんなら、
そこで左クリックのメッセージを投げとけば?
0017デフォルトの名無しさん
NGNG調べるには如何すれば良いんでしょうか?
※ノートパソなんかで、SCSIカードがPCMCIAに繋がっているとか...
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG/::\_____\
|: ̄\∩`_´) \
|: :| ̄ ̄U ̄:|
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG毎フレーム
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGそれともVS.NETに入ってる偽VC++のこと?
0024デフォルトの名無しさん
NGNG002515
NGNGWH_MOUSE_LLでWM_MBUTTONXXをフックしてWM_LBUTTONXXをPostMessage
してみてもうまくいかないYO! このやり方じゃダメですかね?
0026Disca ◆NAfP6znE
NGNG0027デフォルトの名無しさん
NGNGこのへんとか
ttp://www.mysql.gr.jp/jpdoc/3.22/manual.ja_ODBC.html
0029デフォルトの名無しさん
NGNG新しい人は、C#に関心があるのかな?
0030デフォルトの名無しさん
NGNG003123
NGNGVC6の次バージョン: ネイティブコードを作る。
偽VC: VC#.net, VB.netなどと同様の中間コードを作る(.netのない環境では動かない)
という意味です。
で、VC7はどっちなんでしょ?
0032デフォルトの名無しさん
NGNGVisualSstudio .NETだろ?
ネイティブコードも作れるし、CLI版も作れる。
0033デフォルトの名無しさん
NGNGごめん。嘘ついてた。コレだと抜けが多すぎる...
>>25
システムフックのDLLを作ってそこで置き換える。
完璧なのを作りたいのなら、
マウスドライバに被せるような、フィルタドライバを作る。
0034デフォルトの名無しさん
NGNG"CM_DRP_CAPABILITIES"の意味は何なんでしょうか?
知ってる方回答よろしく。m(_ _)m
0035デフォルトの名無しさん
NGNGExcel97 のサンプルは見つけたのですが、それを 2000 で使おうとすると、
excel9.tlh 内で
「error C2501: '_CommandBarsPtr' : 識別名を宣言するのに、型が指定されていません。」
等のエラーが出てしまいます。
ご存知の方、ご回答よろしくお願いします。
0036デフォルトの名無しさん
NGNG時はある程度安定してたけどVisualC++6.0エンタープライスにしたら
ビルドしたアプリがフリーズすることが多くなったんですけど自分だけ?
0037デフォルトの名無しさん
NGNGアンタのコードにもともとバグがあったんだよ。
スタンダードエディションでは最適化をしないから、
今まで発覚しなかっただけ。
0038デフォルトの名無しさん
NGNGプロパティのバージョン情報以外に、
プロダクトIDのようなものが、
埋め込んであるんですか?
0039デフォルトの名無しさん
NGNGサービスパックを最新のを当ててる?
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGvc"6".netにしる!
0042デフォルトの名無しさん
NGNGRuntime Error!
って出てきます。自分のマシンではおきません。これって、
DLLが足りないとかが原因でおきるんですか?
だとしたら、どのDLLが必要なのかを簡単に調べる方法って
ありませんか?(使ってるAPIやらを全部洗い出してMSDN
ライブラリで調べろってのは勘弁してください)
004342
NGNG0044デフォルトの名無しさん
NGNG> どのDLLが必要なのかを簡単に調べる方法
Dependecy Walker 辺りを使うとよろし。
004615
NGNGレスありがとう。
う〜ん、簡単に出来そうと思ったんだけどなかなか難しそうだな。
004723
NGNGネイティブコードもつくれるとは知らんかったです。
ありがとございます。
じゃあ、ここで聞くことじゃないかもしれないけど、VC#.netもネイティブコード
吐いてくれるのかな?
0048デフォルトの名無しさん
NGNGですけども、そのうえのボタンを押したときに選択しているファイ
ルを取得する方法を教えてください。
0049デフォルトの名無しさん
NGNGListViewやないの?
0050デフォルトの名無しさん
NGNGもしくはメッセージをおくるとかですか?
0051初心者
NGNGVC6で、C++の教本に載ってる、プログラムを
普通に入力して実行するにはどのように
したらよろしいんでしょうか?
0052デフォルトの名無しさん
NGNG・・・VC6の教本も買った方がいいと思うよ。マジで。
0053デフォルトの名無しさん
NGNGVC6を立ち上げなさい。
ファイル、新規作成、プロジェクト選択、ファイル、新規作成、
ソースファイル(cpp)で後はコードを打て。
0054デフォルトの名無しさん
NGNGVC6.0のエディタにコードを入力してビルド->実行じゃだめなの?
C++の教本に載っているようなものならコマンドラインからclを使った方がいいけど。
0055デフォルトの名無しさん
NGNG自作クラスへのポインタの std::list を iterator を使って for でループしようとすると
SourceFile.cpp(121) : error C2678:
二項演算子 '<' : 型
'class std::list<class NAMESPACE::CLASSNAME *,class std::allocator<class NAMESPACE::CLASSNAME *> >::iterator'
の左オペランドを扱う演算子は定義されていません。
(または変換できません)(新しい動作; ヘルプを参照)
というエラーが出てしまいます。まったく意味不明なのですが、
どういう意味でしょうか?
0056デフォルトの名無しさん
NGNGそんなもん使うんじゃねぇ!という意味でしょう。
0057デフォルトの名無しさん
NGNGi < list.end();みたいなコードは書けない場合もある。
005855
NGNGそれっぽいエラーが出たので対象クラス用の比較演算子群を定義したら
そのエラーは消えました。
ともあれ、ご返答いただきましてありがとうございました。
>>57
なるほど…ズバリこれでした。
iterator を使ってないコードからコピペしたので全然気づきませんでした。
ありがとうございました!!
0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG全てのポインタが必ずi < list.end();のアドレスにあるとは限らん。
0061デフォルトの名無しさん
NGNG>サービスパックを最新のを当ててる?
サービスパックって複数枚あるんですけど、どれでしょうか?
0062デフォルトの名無しさん
NGNGtransform?
0063初心者
NGNGフォーカスを失った直後に処理をしたい場合はどうしたらいいでしょうか?
0064デフォルトの名無しさん
NGNG今、VC++でプログラムを自作し、移動ステージを動かさねばなりません。
しかし付属のマニュアルにはコントローラのパネル操作でのステージ移動
についてしか書いてなく困っているしだいです。
PCにコントローラを繋いで、そのコントローラに直接コマンドを
送る方法について教えてください。
おそらくこんな書き方では伝わりにくいと思うのですが・・・。
よろしくです。
0065リアル厨房
NGNGどのように書けばスマートに行けるのでしょうか?
こんなのは不味いですよね。
御教示頂けたら幸いです。
bool Classname::funcname(n) const{
if(n){
return (false);
}else{
return (true);
}
0066デフォルトの名無しさん
NGNG0067リアル厨房
NGNGそれも試したのですが動かなくてお伺いした所存です。
他に間違いがあると思いますので、もう少し試して見ます。有難う御座いました。
0068リアル厨房
NGNGどうもお騒がせ致しました。
0069Disca ◆NAfP6znE
NGNG0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNGif( !!obj )
{...}
とやる罠
0072デフォルトの名無しさん
NGNGなんだかいろいろな方法があって困っています。
一番正当な方法がしりたいのですが、HPなどあったら教えてください。
0073デフォルトの名無しさん
NGNG結局コンパイラとデバッカしかつかっとらん。
俺はウィンドーズだけじゃなく、リナックスのアプリケーションも
作りてーんだぁーーーーー(切)
マイクロソフト マンセーー
0074デフォルトの名無しさん
NGNGすまない。その高度なボケにうまく突っ込む技術はオレには無い。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG、2)Y⌒ ⌒フ +
ッ-i'´ ⌒フ
(´ ,.-゙ー-、 ろ、
* シ彡ノ"ミVv )
* ノノノノ"ヽヽヽミ シ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
. ,l')∩ ∩ |)|ヾ ミ < DoLoveLove?
,○)、 ▽ ノjl| YY゙ \________
{_∃ `l____/⌒'i|
 ̄ Yl"゙⌒lY | +
,ト|__/ハ i、
,iニiニiニユ ゙h,,)
ノtYTYヾ\
/''フ''''ー<"ヽ、
/__ノ \ノヽ、
(__) ゞ__)
0077デフォルトの名無しさん
NGNGでも、VC++から起動すると表示されません。
これは、どういう風に起動しているのでしょうか?
007872
NGNG0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNGプロジェクトファイルが提供されてない、メイクファイルしかない、
プロジェクトをVCで開くとき、どんな方法を使ってますか?
0081デフォルトの名無しさん
NGNGVCから起動すると、たまにヘルプのキー入力を奪い取ったり(CTL+Fとか)かなり不便。
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGいまさらだけどこんな発見。
コレ → SwapMouseButton
気づいてたらスマン。
0084デフォルトの名無しさん
NGNG(電源投入時 → OSが起動した時間です。)
「起動してからの時間を取って、現在の時間から逆算」ってのは無しの方向で...
ご存知の方、よろしくお願いしますm(_ _)m
0085デフォルトの名無しさん
NGNGRDTSC
電源投入時からっつーのは難しい。
0086デフォルトの名無しさん
NGNGWinが起動してからならGetTickCount
そしてスレ違い
0087デフォルトの名無しさん
NGNGメモリー上にビットマップのデータがあってそれへのポインタですか?
008884
NGNG質問の仕方の書き方を間違った...ついでに板も。←Win32APIのトコか?
A→Bなんて書き方をしちゃあイケナかったね。
システムが起動した(出来れば電源投入時)時間を取得したかったんですよ。
やっぱり経過時間から逆算するしかないのか・・・
0089デフォルトの名無しさん
NGNG今ならCOM。将来は.NET。
かな?
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGプロセス環境の環境変数の取得/設定なら、
Get/SetEnvironmentVariableです。
が、Windows全体の環境変数を設定する方法はわからないです。
0092デフォルトの名無しさん
NGNG質問悪くてすみません。
おっしゃられている通り、全体の環境変数なんですよ・・・
0093デフォルトの名無しさん
NGNGいざ実行プログラムでstderrを引数にして呼び出したら
DLLの関数内のfprintfで落ちるんだけど、なぜなんでしょう?
0094デフォルトの名無しさん
NGNGInvalidate()とかしても表示されません。もしくはOnDraw()のループになります。
どうすればいいですか?
0095デフォルトの名無しさん
NGNGその後OnDraw(WM_PAINT)を呼び出して、無効領域の描画を行う。
OnDraw内でInvalidateをすると無限ループに陥る可能性がある
009694
NGNG0097デフォルトの名無しさん
NGNG好きなタイミングでInvalidateすれば次、もしくはさらに後のループで描画されるはず。
メッセージループを回していないなら、Invalidate後にUpdateWindowしろ。
009894
NGNGと思い、新規作成を選んだら表示されました。
これを最初から行うにはどうすればいいのでしょう?
つまりOnCreate()とかそんなハンドラで、
それを呼び出す時点でViewは完成していて、OnDraw()が動いてくれる、そんなような関数ありますか?
0099デフォルトの名無しさん
NGNGもしかしてMDIか?
きっちり状況を説明しろよ
010094
NGNG実行した時点ではなにも表示されません。
この状態で
・他のウインドの下に隠してから、もう一度アクティブにしてあげると表示される
・新規作成を選ぶと即座に表示される。
です。よろしくお願いします
010177
NGNGそうじゃなくて、VC++の側からのような起動はどういう風にしているのか知りたいんです。
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG最近、プロジェクトのロード時間と、エディタの改行時間が重くて、困っております
プロジェクトのロード時は、『リストボックスを読み込んでいます』で、
エディタでは、ブレイクポイントのあるソースで改行をすると、砂時計でまたされます
何か、ご存知の方、ご指導ください
010415
NGNGレスサンクス、オレも亀レススマソ。
SwapMouseButtonは右左を入替えだけなんだよね。
右中はフックしてmouseEvent投げてやればある程度できるんだけど、
mouseEventのコールがまたフックされる、それをフラグで回避してる
けどやり方がおかしいためか挙動が変になっちゃう。
2日ほど仕事の空があってその間で出来るかなっと思って作り始めけど今は仕事で
時間が割けんのでストップ中です。
0105デフォルトの名無しさん
NGNG/^`~", :\ ,ィ":::::::::::::::::::;;;;;iii>;,、
,.-", /......:::::i::l /:::::::::::::::;;;;;;;;iii彡" ::ヤi、
,.i .| :キ:::::::::::|::V::::::::::::;:"~ ̄ ::i||li
/ 、 | ,;:::::l:::::::::::マ,.-‐-、j'_,.ィ>、、 .:::iii》
i、 ヘ :\:::::::キ;:::::::(:::j::):...) `‐-‐"^{"^ヾノ"
ヤ、 \:::::\,::::\:;;;:iゞ:-:;ィ ,.,li`~~i / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
.,;iiλ\.,,ィ^-‐'`ー",:::|::;X'::7、 ・=-_、, .:/ < ついに完成した。これがドラえもんだ!!
";ii::i`ゝ、::;;;:、-‐-;;;;i‐'''| .〉'.ヘ '' ./ \_____________________
.;ill;;:\::::::::::::::::;ノノl} ィ|、./:ー-`=‐-、、ノ
iilllllli;;:::`:‐-‐'":;ノ │丶=‐-、,,_`l, ,.へ
llllllllllllii;;,,___;;;iill|||( ´�D`) \ー=、7^ヾ'‐-、、
|||||||||||||||||||||||j'::::(U,U‐"、:::::\..::/ \ `ヽ
UU
0106VC挑戦中
NGNGダイログにActiveX(DLL)を貼り付けられなかったので(貼り付けて実行するとダイアログが表示されない)
コード中で作成することにしました。(VBでは貼り付けてコントロールが表示される)
#importディレクティブでロードし、スマートポインタをCoCreateInstanceで作成しています。
このDLLには、コントロールを持っているのですが、そのコントロールを表示することが出来ません。
コントロールを表示するメソッドは、DLLに実装されているものなのでしょうか?
それとも、OLE関係の関数で外部から表示することが出来るのでしょうか?
ちょっと内容がわかりづらいかもしれないですけど、宜しくお願いします。
環境はVC++6 SDKです。
0107デフォルトの名無しさん
NGNGどうやら16色じゃないとダメみたいです。
自分はWin98です。
MeやXPでも16色表示ですか?
0108別の人
NGNGSDI・MDIのヴューに対する開始時の処理は OnInitialUpdate() で。
・・・で、Invalidate()&UpdateWinodw() をペアで呼ぶと OnDraw()(≒WM_PAINT
正確には少し違う)が走る。
∞になるのは、既出だが多分OnDraw()の中でInva〜 or Update〜 を読んでるから。
最初だけ表示されないのはタイミングだけの話なので、面倒臭けりゃ後回しに
しといて後からゆっくり試しましょう。じゃ
0109デフォルトの名無しさん
NGNG真面目な話、マシンの問題くさい。
ハードディスクが壊れる寸前、読み込みに時間のかかるセクタがコンパイラの
バイナリにぶち当たっている?のでは
大体、開発環境はマシン負荷が一番かかるので、イカれ始めはコイツから
発覚しやすい、多分。
0110デフォルトの名無しさん
NGNG開発時に貼り付けるだけのときでも、関連パスが通ってなけりゃ
駄目だったりとか色々あると思う。そのためのプロパティ用コーディングやら
なんやらやってあるはずなので。でも詳しいことは知らん。
0111デフォルトの名無しさん
NGNGアイコンリソース内に大小2つ持ったりしてんじゃないの。
ちゃんとしたアプリは。
0112不明なデバイスさん
NGNGこれって、アカデミックパックでもほとんどかわりありませんか?_
0113デフォルトの名無しさん
NGNGどういうタイミングでリンクさせるべきですか?
(1)プログラム開始時にリンクさせてそのまま
(2)実際にDLL内のプロシージャを使用するときにリンクして必要無くなったら開放
複数のDLLとリンクさせてDLL内のプロシージャを使うことが
殆どない場合(2)にすべきですか?
(2)の方がメモリの使用量が少なくて他のアプリには優しそうですが
いちいちロードしていたら処理速度が落ちそうです。
メモリにキャッシュされていればロード時間は短縮されそうですが
キャッシュされているくらいメモリに余裕があるなら(1)の方が効率的ですよね?
どうしましょう?
0114デフォルトの名無しさん
NGNG楽な方でいいんじゃ無いですか?w
チウか9xってデフォルトだと死ぬほどディスクキャッシュにメモリ
持っていきますよね。もうね以下略。
0115デフォルトの名無しさん
NGNGEXEやDLLのコードは実メモリに常駐しないよ。
仮想記憶上に割当てられて、必要なときに読みこまれるから、
(2)にメモリ節約や処理速度のメリットは無いよ。
(2)はプラグインの実装や、DLLバージョンの違いによる
APIの有無に対応する場合に有効です。
0116デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNGVisual Studio 6.0 と Visual Studio .NETって
どっち入れたほうがいいですか?
0119デフォルトの名無しさん
NGNGカローラと223系近郊型電車って
どっち乗った方がいいですか?
0120デフォルトの名無しさん
NGNGサクマドロップスとミルキーって
どっち舐めた方がいいですか?
0121デフォルトの名無しさん
NGNGヘルスとイメクラって
どっち入ったほうがいいですか?
0122デフォルトの名無しさん
NGNGどういう制御なら満足なの?
0123デフォルトの名無しさん
NGNGMFCxx.DLLみたいな、たくさんのEXEからつかわれる
やつは、DLL化したほうがシステムの負担が減るんじゃない?
0124デフォルトの名無しさん
NGNG>EXEやDLLのコードは実メモリに常駐しないよ。
>仮想記憶上に割当てられて、必要なときに読みこまれるから、
どのくらいの頻度でスワップするか知らないけど、
ほぼ常駐状態なのでは?
0125デフォルトの名無しさん
NGNGもっと仮想記憶について勉強してこい
0126デフォルトの名無しさん
NGNGその逆の動作をするAPIかcrtの関数があったと思うのですが、
検索しても見あたらなくて困ってます
どなたかご存じありませんか?
0127デフォルトの名無しさん
NGNGDLLがロードされたというのは メモリマップドファイル化された状態
だから、実メモリ上は共有され
実際にどこかのプロセスでアクセスがあるまでは実ロードも保留されている。
0128デフォルトの名無しさん
NGNGなんか勘違いしてないか、こいつ。
0129デフォルトの名無しさん
NGNGキー入力を奪っちゃうんだけど、これを回避する方法はない?
たとえば、Aキーにアプリケーションの終了とか割り当てちゃうと、
エディットコントロールにフォーカスがあってもAが入力できないとか。
0131デフォルトの名無しさん
NGNGたまにはメモリ整理してくれよ…と。今は使ってないので問題無しw
0132デフォルトの名無しさん
NGNGVC++いくつかのクラスを定義して、コンパイルしようとすると
最近こんなことを言われます
ビルド : 警告 : ビルドに失敗しました
(またはビルドの方法がわかりません) 'C:\しぃ言語\sea\Debug\sea.pch'
pchファイルとはなんでしょうか?
対処法などあるのでしょうか 教えて下さい
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG整理って実際には?
0136デフォルトの名無しさん
NGNGがよくわからぬ。詳しく説明きぼんぬ。
0137デフォルトの名無しさん
NGNGコンパイラの警告を無視せずちゃんと調べろ、くらいの意味だと思われ。
0138デフォルトの名無しさん
NGNG警告ですか。…警告が出てなくても落ちる時は
主にどこを調べればよいでしょうか。
0139デフォルトの名無しさん
NGNGポインタに変なモノが入っていないか、根気よくデバッグして調べる。
参考までに、リリース版でこける原因のトップ3は
1. 初期化されていないポインタ
2. 初期化されていない配列や構造体
3. ASSERTトラップ
だ。頑張れ。
0140デフォルトの名無しさん
NGNGここのarrayの説明に、templateに整数で引数を渡すとVCじゃ問題ありみたいなことが書いてあるんだけど、
どういう問題があるの?
0141デフォルトの名無しさん
NGNGできますか?
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG教えて下さい。おながいします。
0144デフォルトの名無しさん
NGNG「マルチポストうぜ〜」などと煽らずにマジレスしてください。
VBでファイルにバイナリアクセスする場合に
本にはバイト配列を使用して書き込むと書いてありましたが
どうやるんですか?
VCの場合はLONG型や浮動小数点型でもポインタを使って
バイト配列の一部にコピーしたりするのは簡単ですが
VBはポインタが無いのでどうやって変換して良いのか分かりません。
例えばLONG型(4バイト)と倍精度浮動小数点型(8バイト)を
12バイトの配列に格納する方法
逆に12バイトの配列からLONG型と倍精度浮動小数点型を抽出する方法教えてください。
0145デフォルトの名無しさん
NGNG何のために、そんな事したいの ? 普通に文字列で書いて、文字列で読みだしゃい
いじゃん。
どうしてもやりたいなら、C で .dll 書いてそれ呼び出すか、RtlMoveMemory
API を使えばできるが、「VBはポインタが無いので」と言う認識では無理、
あきらめな。
0146デフォルトの名無しさん
NGNGマルチポストしたなら答えてもらう資格はない
0147デフォルトの名無しさん
NGNGMessageBox(NULL,hogehoge,"Message",MB_OK);
みたいにするとき
hogehogeの文字列char[]を参照するにはどうしたらいいDEATHか?
0148デフォルトの名無しさん
NGNG0149147
NGNGおー!待ってたぜ。
ありがとう
I love you babe!
0150デフォルトの名無しさん
NGNGマジかよ
0151デフォルトの名無しさん
NGNGワラタ
0152デフォルトの名無しさん
NGNGLPSTR
っていう変数名がなにげによくでてくるんですが
これってなんなんでしょうか?
ヘルプをみても文字列への 32 ビット ポインタとしか書いてない・・・・
CString *と同じですか?
0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNGtypedef char CHAR;
typedef CHAR *LPSTR, *PSTR;
0155デフォルトの名無しさん
NGNG>文字列への 32 ビット ポインタ
0156デフォルトの名無しさん
NGNG全くもう..
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGセグメントをまたいでのメモリアクセスが可能なポインタ。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG全くもう..
0161デフォルトの名無しさん
NGNG超えられない?
わけわからーん。
0162デフォルトの名無しさん
NGNGそれが1セグメントっす。
0163デフォルトの名無しさん
NGNGナニ、過去の遺物だって? 寝ぼけたこといってるなぁ。
VC がどんなコードを吐いてるか、考えたことないのか?
「FAR ポインタなんて過去の遺物」なんて言ってるヤツは、
今後一切、例外処理を使うなよ。
例外処理をしている DLL を呼び出すこともまかりならん。
0164デフォルトの名無しさん
NGNGFAR自体を知らなくても例外処理できるから遺物なんでつよ(´Д⊂
0165デフォルトの名無しさん
NGNG0167159
NGNGんと,VC++のインクルードファイル見たんですよ。すると,
#define far
#define FAR far
ってなってたので。
32bit以前のコード移植の為にあるだけだと思ってたんですが。
0168デフォルトの名無しさん
NGNG将来のコンパイラとのソース互換確保のためじゃないの?
0169デフォルトの名無しさん
NGNGお前ら本当に大丈夫か ? まさか、Near ポインタがいまだに 16bit とかいって
んじぁねーのか。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNG「64k」って...いつの時代の話してるんだゴラァ!
0173デフォルトの名無しさん
NGNGVS.NETからPlatformSDKも最新版(64bit対応)になってそのままだと
通らないソースとか出てきてショボーンだったりしませんか?
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG一部のAPIは64bitへの移植に備えてるみたいだが、まだ中途半端で困る。
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNG何かアドバイスをください。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGRealSDKをDLしてみたんですが、MFCでコンソールアプリ用だったし。
rmoc3260.dllを#importしてCoCreateInstanceでスマートポインタを取得するところまではできたのですが、
「再生ウィンドウを表示して、自作ウィンドウに埋め込む」というのが出来ません。
VBとDelphiなら簡単にできましたが、ActiveXを使うにはVCは向いてないのでしょうか?
どなたか知恵を貸してください。
0181デフォルトの名無しさん
NGNGもちろん、VC標準にはない機能は自分で実装すること
0183デフォルトの名無しさん
NGNGハァ?
おまえがDelphiでやった事じゃなくて、
Delphiが内部でやっていることだっつーの。
VCLのソースだって付いてきてるんだろ
0184180
NGNG実はDelphi全くの初心者で…
フォームに貼り付けて実行して表示された段階でできた!って思っただけなので。
(VCではダイアログに貼り付けても表示すらされない)
ちょっとDelphi勉強してきます。
0185チビ
NGNG0186デフォルトの名無しさん
NGNG0187学徒
NGNG(確か十万よりちょっと大きかったです)が出るわけですがこの理由は何なのでしょうか?不思議でしょうがないです
int i=0;
float a=0;
while(i<1000000){
i++;
a=a+0.1;
}
誰か御教えください、おねがいしますm(_ _)m
またこのことについて載っているサイト等ありましたら御教えくださいませ
0188デフォルトの名無しさん
NGNG0.1というか浮動小数点数が2進数でどう表されてるかを
勉強すると良いかと。
0189デフォルトの名無しさん
NGNG10進数の 0.1 は、2進数では割りきれない値だから、その誤差が出る。
ループで加算のかわりに、乗算でも結果は同じだと思うな。
float a = 0.1;
printf("%f\n", a*1000000 - 100000);
0190デフォルトの名無しさん
NGNG10/3 = 0.3333333を3回足しても10という値が出ずに中途半端な値
(確か10よりちょっと小さかったです)が出るわけですがこの理由は何なのでしょうか?不思議でしょうがないです。
0191もうだめぽ・・・
NGNG○10/3 = 3.3333333
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG情報処理技術者試験でも受けてみなはれ。
0194180
NGNGMFC嫌いなんだよな〜
MFC使うならVBで書いたって同じだし…
でもユーザが
「VC++ SDKで。
プレゼンテーションを表示したいから、フォームでRealPlayerを実行したい」
ってなわがまま言うもんだから…
しっかし、COM難しすぎ!!
0195デフォルトの名無しさん
NGNGなら、ATL/WTLですね :-)
0196デフォルトの名無しさん
NGNG失敗するんですが、原因わかる方、いる?
Errors occurred during installation.
1601: A Windows installer error has occurred.
512: Installation failed with one or more errors.
Plaese correct the errors and/or try again.
0197学徒
NGNG皆様ありがとうございます
0.1は2進数で割り切れない数だからだったんですね
ということはfloatでなくてdoubleにでもすれば少しはましになるということですね
完全に解決する方法はないのでしょうか?
>>189
>printf("%f\n", a*1000000 - 100000);
これはなぜ -100000引いてるんですか?
0198デフォルトの名無しさん
NGNG文字列で数値表現すれば一応解決w
0199デフォルトの名無しさん
NGNGmciSendStringやsndPlaySoundなどで音を鳴らすときに
2つ以上の音を同時に鳴らすことはできないといわれました。
DIRECTSOUNDを使えばできるといわれたんですが
これは本当なのでしょうか?
また、もし本当なら、DSOUNDを使う以外にどのような手段があるでしょうか?
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG自前ミキサとは何でしょう?
検索エンジンにもひっかからないところを見るとプログラム用語ではないのでしょうか?
>>201
BGMと効果音なので、そういう手段はとれないんですよ。
0203デフォルトの名無しさん
NGNGぉぃぉぃ
まぁ、名前を聞いて理解できないようじゃおまえにゃ実現できない方法だから安心しろ。
BGMとSEなら、midi/waveで普通に並列で慣らせるだろ。
BGMをwaveで鳴らすような馬鹿なことはするな
0204デフォルトの名無しさん
NGNG1つのwave outから沢山の音を出す事。素人にはおすすめ以前に、出来ない。
何にせよ、199君はDirectSoundを学ぶ事を勧めるよ。
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGDIRECTSOUNDではできるんですが、
ちょっとした事情によりDSOUNDを使ってはいけないんですよ。
検索すればソースとかが出てきてもよさげなので、
それを改造してミキサを実装することにします。
すばやい回答ありがとうございました。
0207デフォルトの名無しさん
NGNGミキシングは簡単だが、sndPlaySoundしか知らない奴にダブルバッファリング
でリアルタイム合成出力なぞ出来る訳がなかろう。
0208デフォルトの名無しさん
NGNG同時に音がなったんですが、これはサウンドボードによるものなのでしょうか?
そんなに良いサウンドボードは使ってないんですが……
0209デフォルトの名無しさん
NGNGその数までなら普通に同時に鳴らせられる。
それから、Win2k(XPはしらん)ならOSがミキシングしてくれるから、
自前で書かなくても問題はない。
0210デフォルトの名無しさん
NGNGWAVEファイルを読んでメモリにおいておき、
それを自分でWAVEOUTで出力するんですね。
実際に音の合成をするにはどのような演算をすればいいんでしょう?
それが検索でなかなか見つからなくて……
0211デフォルトの名無しさん
NGNGありがとうございます。
最近のマシンのみを対象にする場合はそれでもOKということですね。
0212デフォルトの名無しさん
NGNG足し算です。但しオーバーしないように、あらかじめ元のwaveを縮小しておくべし。
0213デフォルトの名無しさん
NGNGありがとうございます、検索で見ながらさっそくやってみます。
0214デフォルトの名無しさん
NGNGSSE命令の所を通るとIllegalInsatruction例外が発生するようになってしまいました。
SSEは自分で書いた物じゃなくてDirectXの中なんですが。
デバッガ上でなくシェル上でなら普通に動作します。
VC++6.0使ってるんですが、そういや最新のSP当てて無かったなぁ、とSP5
を当てて見たものの解決せず。
どうやったらこれ解決できるんでしょう?
検索して見たらこのスレの過去ログがヒットした物の、HTML化されて
無くて閲覧できづ。
キシュツだったらスマンですが、誰か何か知って居たら教えて下さい‥‥
0215デフォルトの名無しさん
NGNGIllegalInstructionを「ハンドルされてなければ停止」にすればいいとか。
0216デフォルトの名無しさん
NGNGxxx.libxxxという名前のフォルダの下にライブラリファイルを置いたら、
リンクできないんですがなぜですか?
使用しているコンパイラはVC++6.0です。
0217216
NGNG0218デフォルトの名無しさん
NGNGMSDNで「リンカ入力ファイル」で検索すると
.libxxxなんて入力ファイル形式が無いが。
0219216
NGNGファイルじゃなくてフォルダの名前が"xxx.libxxx"なんです。
具体的にいうと
C:\Documents and Settings\username.LIBxxx\My Ducuments\project\hoge\lib
に置いてあるライブラリがリンクできないんです。LIBxxxはドメイン名です。
0220216
NGNGC:\work\xxx.libxxx\
というフォルダを作ってそこに置いてみてもだめでした。
0221デフォルトの名無しさん
NGNGできるなら注意点を教えて欲しいです。
0222デフォルトの名無しさん
NGNGc:\Docu...\username.LIBxxx\...\hoge\lib\にライブラリファイル全部移しても
全然問題ないのだが。
ライブラリファイルのディレクトリがちゃんと通ってないのでは?
かオブジェクト/ラブラリモジュールの中に*.libの綴りが間違ってるとか?
0223デフォルトの名無しさん
NGNG0224216
NGNG「ファイルをプロジェクトに追加」でそのライブラリファイルを指定して追加しても、
リンク時にそのライブラリに入っているはずの関数が未解決になるんです。
ほかのフォルダに移してリンクすればちゃんとできます。
>219の\projectのフォルダを丸ごとC:\workとかに移動すれば、
そのままでリンクが通るのに、
パスの途中に*.lib*という名前のフォルダがあるとだめなんです。
いい忘れてましたがOSはWindows2000です。
0225デフォルトの名無しさん
NGNGCharSetでSHIFTJIS_CHARSETはあるのですが、Unicodeにあたるものが見つかりません。
よろしくお願いします。
0226SevenTH@SUNDAY
NGNGUnicodeのAPIを呼び出す。
0227デフォルトの名無しさん
NGNGなるほど、
TextOutW( dc, 0, 0, L"\x2665", 1 );
これで出来ました。
ありがとうございました。
0228デフォルトの名無しさん
NGNG今回はじめてウィンドウモードでプログラム組んでみたんですが
640*480にしても、タイトルバーなどを含めて640*480に
なってしまいます。描画可能領域を640*480にするには
どうしたらいいんでしょうか?
0229デフォルトの名無しさん
NGNG双方の DLL でリンクするランタイムライブラリの種類に注意すべし。
シングルスレッド/マルチスレッド、スタティックリンク/ダイナミックリンク、…。
0230デフォルトの名無しさん
NGNGAdjustWindowRect
0231デフォルトの名無しさん
NGNGそのAPIを検索したらわかりました。
ありがとうございます^^
0232デフォルトの名無しさん
NGNG実装方法がわかりません。どなたか教えていただけませんか?
0233デフォルトの名無しさん
NGNGドラムのデータの持ち方か?
アニメーションの方法か?
0234デフォルトの名無しさん
NGNGアニメーション方法です。
0235216
NGNGむーん。
SSEをサポートしているCPUなんで、IllegalInstructionが送出されること自体が
おかしいような‥‥
「ハンドルされて無ければ停止」を試してみたいですが、手元に環境が無くて。
明日試して見マス。
0236デフォルトの名無しさん
NGNG辛く無いですか?
0237チビ
NGNG0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNGコンパイルオプションに -MT (マルチスレッド対応)をつけた途端に
作成中のプログラムの挙動がおかしくなりました。
コンストラクタの初期化リストで NULL に設定したメンバの値が
勝手に何か別の値に書き換えられてしまうのです。
コンストラクタ内で MessageBox で確認すると NULL になっていますが、
メンバ関数を呼び出した時、書き換えていないはずの値にゴミが入っています。
関係する全てのファイルをマルチスレッド対応ライブラリにリンクするように
変更しましたし、まだライブラリを変更しただけで、コード内で
別スレッドを作成したりはしていませんので、別スレッドが書き換えているという可能性も低いです。
どうしてこうなってしまうのでしょうか?ご存知の方いらっしゃいましたらお願いいたします。
0240デフォルトの名無しさん
NGNGどうしてって、潜在的なバグが表面化しただけだろ
Bounds CheckerとかPurifyで確認しろ
0241デフォルトの名無しさん
NGNGVC++でゲーム作ろうとおもってるのですが、
簡単なサイコロ目当てゲームをとりあえずやってみようとおもってるんだけど、
とりあえず、普通のウィンドウズようアプリ(アイコンクリックしたら起動、DOS窓じゃない)
って状態にもっていきたい。
とりあえず空っぽのなんの機能もないウィンドウは作った。
そこにC++のメインのゲーム処理ソースは一体どこに書いたらいいの?
クラスとかたくさんありすぎてわけワカメです。
0242デフォルトの名無しさん
NGNGタイマーイベントでいいんじゃないか?
0243デフォルトの名無しさん
NGNGななにそれ!?
0244デフォルトの名無しさん
NGNG検索すれよ。
0245デフォルトの名無しさん
NGNGあったけど、意味がわらん。
0246デフォルトの名無しさん
NGNG全部説明させる気かよ。
なんか本でも買って読めよ。
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGで字に下線つけるのはどうすればいいですか?
普通にVC上でメニュー作る時に
キャプションに 開く(&O)
ってやるかんじでできる下線です。
0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNGだとできました。
ただpCmdUI->SetText("hage\t&hoge");
とするとだめでした。
こういうもんですか?
0251デフォルトの名無しさん
NGNGVBで走らせてみると、”ActiveXはオブジェクトが作れません”とかなんとかいわれる。
仕方ないから本のサンプルコードコピって試しても同じだった。
状況;
本の環境:NT,
自分環境:98
レジストリ登録は行われてる。
VBのオブジェクトブラウザでも見れる。
VB上でのオブジェクトの宣言は問題ない。
メソッドやプロパティにアクセスすると上記のエラーが出る。
って感じなんです。散々調べたんですがもうギブです。
誰か原因&解決法教えて下さい。
0252デフォルトの名無しさん
NGNG関数から抜ける時に _BLOCK_TYPE_IS_VALID っていうアサートが出ます。
ランタイムの delete 演算子が多重 delete 等の時に発している警告のようなのですが、
何故でるのかがわからないのです。
「関数から抜ける時」に発生するので、auto 変数だと思うのですが(ちなみに auto_ptr などは一切使っていません。)
これはどういう状況の時発生するのでしょうか?
指針のような物でもよいのでアドバイスを頂けないでしょうか?
よろしくお願いいたします。
0253デフォルトの名無しさん
NGNGメモリリークかアクセスしてはいけないメモリ(確保したメモリの外部)にアクセスしてる可能性
コードとにらめっこしませう
0254252
NGNGやっぱりただの勘違い( delete したポインタを NULL クリアし忘れ…)
という凡ミスでした。
大変お騒がせしました。
0255252
NGNG>>253
レスありがとうございます。
「そろそろ C++ も解ってきたな。」などと増長している所で
それ以前のレベルの間違いをしてしまいました^^;
精進したいと思います。
ありがとうございました。
0256デフォルトの名無しさん
NGNGp = new char [4];
p[0] = 'a'; // OK
p[1] = 'b'; // OK
p[2] = 'c'; // OK
p[3] = 'd'; // OK
p[4] = 'e'; // アサート発生要因!!
0257デフォルトの名無しさん
NGNG正確にはそれが要因ではなくて
解放したあとの変数にアクセスしてるのが問題ですかね・・・
0258デフォルトの名無しさん
NGNGCFileDialog dlg(FALSE, NULL, strPath,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"テキスト|*.txt|html|*.html|log|*.log||");
みたいなファイルダイアログを作成したとします。
リストボックスでテキスト、html、logと
フィルタの拡張子を選ぶと、自動的にその拡張子を
つけるようにするにはどうすればいいでしょうか?
0259デフォルトの名無しさん
NGNGもっと正確にいうと、「手動でdeleteしてNULLクリアする」という
クラス設計がおかしいんだけどね。
auto_ptrも「使ってない」って言ってるけど、「使いこなせない」の
間違いのような気がする。
252は「C++を極めるまで後5歩くらい」って感じてるんだろうけど、
少なくともあと100歩は進まないといかんぞ。「少なくとも」、だ。
0260デフォルトの名無しさん
NGNGまだ皆さんがなにいってるかわかりませんがついてけるようにがんばります。
0261デフォルトの名無しさん
NGNG「無題 - XXX」みたいに勝手に表示されてしまいますが
これを好きな文字列にするにはどのタイミングでSetWindowTextしたらいいですか?
OnCreate でやっても反映されません。
教えて!
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNGPreCreateWindowで
cs.style &= ~(FWS_PREFIXTITLE | FWS_ADDTOTITLE);
0264デフォルトの名無しさん
NGNGありがとう!!
0265デフォルトの名無しさん
NGNG「次の文字は使えません。」ってメッセージが出ますがその真似をするにはどうしたらいいですか?
ファイル管理ソフトでユーザーが入力したファイル名に不正な文字が含まれているかチェックするAPIは?
自分で1文字ずつ調べるしかないですか?
0266デフォルトの名無しさん
NGNGSpanExcluding(_T("\/:,;"));
みたいな感じでいっぺんに調べられるけど...
0267デフォルトの名無しさん
NGNG適当なので無視してOK。
0268デフォルトの名無しさん
NGNGUINT PathGetCharType(TUCHAR ch);
が使えるっぽい。
98or2000以上だけど。
0269デフォルトの名無しさん
NGNGソースファイルをフォルダ分けしようとしているんですが、
ヘッダーファイルをインクルードするときに
#include "../Control/Scene.h"みたいになり、ややこしくなります。
なにかいい方法はないでしょうか?
0270デフォルトの名無しさん
NGNGプロジェクトの設定をしましょう。
インクルードパスの設定できますよ。
0271デフォルトの名無しさん
NGNGありがとう。おかげさまでインクルードすんの楽になったよ。
0272デフォルトの名無しさん
NGNGVB側でCreateObjectでロードしたのか
コントロールとして読みこんだのか
どっちなんでしょう?
コントロールなら適切なインターフェイスが実装されてないとか・・・
0273チビちゃん
NGNG0274ちびちゃん
NGNG0275ちびっちゃった
NGNG0276チビちゃん
NGNGだれも書き込まない。
VCもすっかり下火ですね…
0277デフォルトの名無しさん
NGNGなんでも人に聞かないで自分で解決できるからだと思われ。
0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNGCListBox::SetHorizontalExtent()(LB_SETHORIZONTALEXTENT)で設定しますが、
これをリストボックス中の項目の長さに合わせて増減させるには、どのような
インプリメントをすれば良いですか?
//要は、エディットコントロールの水平オートスクロールみたいなのをやりたい
0280デフォルトの名無しさん
NGNG自分で作れるツールってどこかに出てますか?
0281デフォルトの名無しさん
NGNGage
0282デフォルトの名無しさん
NGNGふざけるな
sage
0283デフォルトの名無しさん
NGNG作れば?
VCのマイナーバージョンが変わるたびに書式が変わるかも知れない
データファイルを自分で作ろうというのなら誰も止めはしないよ。
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNGChogeApp::Initinstance()内で
必ず失敗します。
なんででしょうか?
0286デフォルトの名無しさん
NGNGSetRegistryKey()をコールする前に使用している。
0287デフォルトの名無しさん
NGNG>Thx!ソース確認します
0288デフォルトの名無しさん
NGNGまんまでした。あはずかちい。。。
0289デフォルトの名無しさん
NGNG「プロジェクト : error PRJ0016 : このユーザーのセキュリティ設定が原因で、プロセスを作成できません。これらの設定はビルドで必要です。」
とまあ、こんなエラーがでてビルドが出来ないんですが、どうやったらいいんですか?
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG割れだろ
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG正解。
入手経緯や動機をいちいち書いてくるのはやましいことがある証拠
0294デフォルトの名無しさん
NGNG言われて読み直してみると面白いなぁ。
確かに>>289はいらない情報ばっかで、不自然にみえてきた。
0295神
NGNG表示とメニューバー押すとメッセージでハローワールド
って簡単なやつ作りました。
そんで、実際のプログラムはデバックフォルダにある「hello」の1個だけなんだよね。150kくらい。
コレ単体で動くんだよね。たとえばフロッピーにいれて他のパソコンに
コレだけもっていってもうごく?
あと、その他の8メガとかある大量のデータは作る工程のもので実際は関係ない?
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNGKBで検索しろとか言うレスよく出てるけど、
MSのサイトで目的の情報探すのって結構難しくない?
0298デフォルトの名無しさん
NGNG0299かみ
NGNG0300デフォルトの名無しさん
NGNG神と言うよりはお上。
コンパイラにもいろいろ都合があるんだよ(リンクとか)。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG0303?
NGNGVCでwindowsのスタートボタンみたいなコントロールを使いたいんだけど、
(リストの1個を選択する子リストが表示されるやつ)
あれって、何ていうこんとろーるなんでしょうか?
教えてください。
標準のコントロールでなくActiveXですかね?
0305303
NGNG回答ありがとうございます。
メニューでなく、見た目的にコンボボックスとか、
スタートボタンみたいに押下するとリストが出る感じのものがほしいのです。
メニューって、フレームにしかつかないですよね?
ボタン押下時にポップアップメニュー出せばいいじゃん
0307プロジェクトマネージャー
NGNGとりあえず今はメモ丁みたいな、なんもないスケルトン作って
そこに線や円を書かせたりしている、よくVC++の本に
のってるようなことやってるんだけど、
座標x,0で for文でxにx++してって、例えば「●」を、
ヨコにスルーっと動いていくアニメを作りたいんだけど、
一瞬で処理してしまって、アニメどころじゃないです。
そんでベーシックでいうwait50 みたいなスローにさせる
プロフラムってあるの?
0309プロジェクトマネージャー
NGNGSleep(30);
って1文いれると遅くなる?
0310308ではないが
NGNGタイマーイベントについては、SetTimer()とWM_TIMERを参照。
http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_settimer.htm
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcesdkr/htm/_wcesdk_win32_wm_timer.asp
MFCならCWnd::SetTimer()とCWnd::OnTimer()。
http://www.microsoft.com/JAPAN/developer/library/vcmfc/_mfc_cwnd.3a3a.settimer.htm
http://www.microsoft.com/JAPAN/developer/library/vcmfc/_mfc_cwnd.3a3a.ontimer.htm
Sleep()は指定されたミリ秒だけ実行を中断する。
http://www.microsoft.com/JAPAN/developer/library/jpwinpf/_win32_sleep.htm
0311310
NGNGWM_TIMERはこっちの方がいいか。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/CommCtls/winui/timers_1w6q.asp
0312プロジェクトマネージャー
NGNGおーどのライブラリCDいちいちいれないと見れないとおもってたら
ネットでみれるんだ。ドーモ。!
0313?
NGNG>306
ありがとうございました。
ポップアップメニューの存在を知りませんでした。
早速サンプル作って持っていったら...
SE:「そんなんじゃなくコンボボックスから子リストでるやつないの?」
呪まーす。
0314デフォルトの名無しさん
NGNGクラスみたいなのってある?
0315デフォルトの名無しさん
NGNG扱うってどういう風に?
0316314
NGNG0317デフォルトの名無しさん
NGNGムダ飯喰らいのSEだな。
「本当のコンボボックスとはこれのことなのです。」とかなんとか
テキトーなことでも言っちまえ。
0318デフォルトの名無しさん
NGNGVisualC++って
stdio.hを読み込めないの!?!?
これはC++だから読めないの?
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNG"StdAfx.h"を読み込んで、
StdAfx.hファイル内で、stdio.hを読み出さないと、
「プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。」
こんなエラーがでる。
なんで??
厨な質問でごめん
0321デフォルトの名無しさん
NGNG探し方が悪いのかグーグルでみつからん
0322デフォルトの名無しさん
NGNG「プリコンパイルヘッダーを使う」という設定になってると、デフォルトで stdafx.h を読み込む
ようになってるよ。この設定のときに、stdafx.h をインクルードしていないと、
エラーになります。それが嫌なら、プリコンパイルヘッダーを使わないようにしよう。
0323デフォルトの名無しさん
NGNG120、30、1200を各々五桁、4桁、10桁で表示するプログラムの作り方がわかりません
教えてください。
0324デフォルトの名無しさん
NGNGあんまりネット上じゃ詳しく説明してるとこしらないなぁ
「WinSock2.0プログラミング」 翔泳社
読んだら為になるとおもうよ
0325デフォルトの名無しさん
NGNGprintf("%5d, %4d, %10d", 120,30,1200);
ってことか?
0326デフォルトの名無しさん
NGNGいや、120を五桁、三桁、10桁
30を五桁、4桁、10桁
1200を五桁、4桁、10桁
と表示したいのです。
0327デフォルトの名無しさん
NGNG120(三桁)を0埋めで五桁にしたいってこと?
printf("%.5d",120);
ってことかいな?
VCと関係ないけどまいっか
0328デフォルトの名無しさん
NGNG日本語を勉強しましょう。
0329デフォルトの名無しさん
NGNGてことは
printf("%5d\n",120);
printf("%3d\n",120);
〜〜〜
って9回やらなきゃだめなの?
三つぐらいにまとめれるかなと思ったんだど
まあいいやさんくす
0330デフォルトの名無しさん
NGNG323で書いてるじゃん。
変数を勉強しなせ
0331デフォルトの名無しさん
NGNG"%3d\n"の所とかをsprintfとかで作るですよ。関数にでもすればすっきり。
void ketaput( int keta, int num )
{
char buf[16]; // 適当
sprintf( buf, "%%%dd\n", keta );
printf( buf, num );
}
んな感じで。宿題っぽい気がせんでもないなw
0332デフォルトの名無しさん
NGNG>いや、120を五桁、三桁、10桁
>30を五桁、4桁、10桁
>1200を五桁、4桁、10桁
if( strcmp( str, "120") == 0)
return "五桁、三桁、10桁 ";
if( strcmp(str, "30") == 0 )
return "五桁、4桁、10桁";
if( strcmp(str, "120") == 0 )
return "五桁、4桁、10桁";
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNGint val;
int dig[3];
} tbl[] = {
{120, {5,3,10}},
{30, {5,4,10}},
{1200, {5,4,10}},
};
int i, j;
for (i=0; i<3; i++)
for (j=0; j<3; j++)
printf("\"%*d\"\n", tbl[i].dig[j], tbl[i].val);
VC++ 全然関係ないな…スマソ
0336デフォルトの名無しさん
NGNGmajidewarata。
printfの%桁数指定で * が使えるぞ。
きちんと調べて見ろ。
0337VB厨毒
NGNGどこにあるんだ?
いろいろ参照しても
オブジェクトブラウザに出ないw
入ってないのかな?
…でも どんなもの?
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNGうんとね
検索でたまたま 見つけたの
http://www.users.gr.jp/ml/archive/com/1978.asp
ここで言ってるCHDocVwCtrl って あるの?
だって オレだってVS6.0プロ入れてんだよ 一応 VBとInterDevしか使わないけどw
ほら あれが したいの
WebBrowserコントロールのカスタマイズ!!
画像読まないとか、スクリプト実行させないとか なんとかインターフェイスいじるでんしょ
VBでできないかな?
みつかんないんだよね だまされたのかw
0340デフォルトの名無しさん
NGNGWinSock生でそのまま使うの?それともMFC使うの?
ソケット周りだけはMFC使うと鼻汁出るほど便利。
生Socketはめんどい。
0341デフォルトの名無しさん
NGNGそんなのがあるのね・・・逝ってきまふ
0342デフォルトの名無しさん
NGNGをインストールしようとすると
c:\WINDOWS\System32\MSJINT35.DLL
c:\WINDOWS\System32\VBAR332.DLL
がないって言われちゃうんですけど、
これは重大なことでしょうか?
無視しちゃっても問題ないでしょうか?
OS は XP を使ってます。
よろしくお願いします。
0343デフォルトの名無しさん
NGNGVCは「4月いっぱいで製造中止!お求めの方はお急ぎください。」という張り紙付きで隅っこのほうに置いてありました。
VCって死滅してしまうんですか?
VC使いは数年後には現在の「COBOLおじさん」みたいな扱いを受けるのでしょうか?
不安で夜も眠れません。
どうしましょう?
0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNG数年後になってもVC(というかMFCorWINAPI)使いならばそういう扱いを受けるだろうね。
VCもできるし、.NETも出来るなら問題あるまい。
0346デフォルトの名無しさん
NGNGそれはないと思うが・・・
0347デフォルトの名無しさん
NGNGクイックウォッチで確認することができますが、
CArrayやCObArray系のクラスで作成した配列ではそれができません。
何か別に方法があるのでしょうか。
今はとりあえず、確認したい要素をintやCStringの変数に写していますが、
これはさすがに不便です。
あと配列ついでにもう1つ。
CArray、CObArray系で多次元配列って作れますか?
0348デフォルトの名無しさん
NGNG矩形配列は無理だけどでこぼこ配列なら可能。
0349デフォルトの名無しさん
NGNGMFCを使えば鼻汁出るほど便利なのか・・・
Cから生で使うには本買った方がいいかな・・・
本屋逝ったけど売ってなかった。
取り寄せしかないか
どなたかいい本してくれませんか
要求ばかりで申し訳ない。
0350デフォルトの名無しさん
NGNG凸凹配列ってどんな配列ですか?
検索しても1件しかヒットせず……。
0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNGまー、読んでみて。
ttp://www.kgk-kak.co.jp/seihin/pdf/KGK%20TankSystem.pdf
0353デフォルトの名無しさん
NGNGたしかMAGURO Onlineあたりにサンプルがあったと思うんだが、今は休止中で
過去のコンテンツが見れないね。
とりあえず、TCPの簡単な流れだけ書いておくと、まず最初はWSAStartup()で
WinSockの初期化。これは必ず必要。終了時は同様にWSACleanup()。
■サーバ側
socket(AF_INET,SOCK_STREAM,0) ソケットハンドルを得る。引数はこんな感じで
bind() 通信に使用するポートを指定する。IPアドレスはINADDR_ANYでいい。
listen() クライアントからの接続を待つ。
accept() 接続を受理する。
send(),recv() データの送信、受信
closesocket() 通信終了
■クライアント側
socket(AF_INET,SOCK_STREAM,0) ソケットハンドルを得る。引数はこんな感じで
connect() サーバに接続する
send(),recv() データの送信、受信
closesocket() 通信終了
使用する関数と順番はこんな感じ。
ただし、send()やrecv()はデータが来てないときや送信できないときに呼ぶと
ブロックして戻ってこないから注意。select()でポーリングするか、WSAAsyncSelect()
でウィンドウメッセージで通知してもらうことで回避できる。
その他の便利な関数を挙げておくと
gethostbyname(),WSAAsyncGetHostByName() ホスト名からIPアドレスを取得
htonl() 32ビット値をネットワークオーダーに変換(エンディアンの変換)
ntohl() htonlの逆
inet_addr() ドット区切りのIPアドレス文字列から32ビット値に変換
inet_ntoa() inet_addrの逆
0354悩みつづけて3ヶ月!
NGNGdouble val[3][100][100];
出来ないはずはないと思ったのですが、いざ定義してみると
ビルドはできるのですが実行ができないのです。
Cマスターの方々、この理由と解決策を宜しくお願いします。
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGdouble三万個(240KB)くらいではスタックは余裕。
0359悩みつづけて3ヶ月!
NGNGなんですか?それ?
無知で申し訳ないです。
0360デフォルトの名無しさん
NGNG>なんですか?それ?
>Cマスターの方々、この理由と解決策を宜しくお願いします。
ここはCスレじゃなくて、C++スレだよ。
0361デフォルトの名無しさん
NGNGしばらくすると、そこには、「VisualC++(C言語限定)スレ」の文字が‥‥
0362初心者
NGNG0363デフォルトの名無しさん
NGNGぶいしーぷらぷらと読むも良し。
えむえすしーと読むも良し。
発音を拒否しても良し。
ご自由に。
0364初心者
NGNG0365デフォルトの名無しさん
NGNGコンパイラは何? 実はVC++ 1.0 とか、LSIC試食版ってオチはない?
0366デフォルトの名無しさん
NGNGVC++ 1.0 はいいとして、LSI-C はねーだろ。スレ違いだ。
そもそも、こいつは...
http://pc.2ch.net/test/read.cgi/tech/1019372139/61- とマルチし
てる奴で、しかもそっちで解決してるから無視でいいよ。
0367デフォルトの名無しさん
NGNG遅レスでスマソ。
矩形配列ってのは int array[2][2]; (Cの2次元配列)
でこぼこ配列ってのは int *array[2] = { new int[4], new int[1] };(配列の配列)
つまり、CArray自体を2次元として扱うことは出来ないけど、CArrayの中にCArrayを要素として持てば、それっぽいものは出来るってこと。
0368デフォルトの名無しさん
NGNGで、それをどうやってデバッグするの?
0369デフォルトの名無しさん
NGNGメモリウィンドウのアドレス欄に
CArray< CArray< int > > array ならば
array.m_pData[index].m_pData
と書けば array[index] の int 配列がみれる、もっとスマートな方法は、漏れは知らない。
0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNGVC++.NET
0372デフォルトの名無しさん
NGNGMSの記事によると、VC++ Proからの移行はVS.NET Proだそうだ
0373デフォルトの名無しさん
NGNG回答どうもです。
そっかー、配列の中に配列を入れる、って手があったか。気づかなかった。
ありがとうでした。
0374 ◆nktTSMw2
NGNGVC++でそのような事は出来ますか?
また、出来るのならばそれを定期的に監視することは出来ますか?
これらの事が出来るのならば、VC++使い始めてどれぐらいで出来るようになりますか?
質問いっぱいですいませんが、そのやり方なども教えてくれると嬉しいです。
日本語下手ですんまそん
0375デフォルトの名無しさん
NGNG自作する必要性があるから訊いているんだろうけど、その前に、
http://www.hikarun.com/w/
このソフトをDLして使いなされ。これを使った上で、自作する必要が
あるんなら、そのときまた改めて訊くべきことを訊きなよ。
ありがとうございます
早速使って見ることにします
0377デフォルトの名無しさん
NGNG場違いですか?でも知りたいんです。
どうなんですか、みなさん?
0378デフォルトの名無しさん
NGNGhttp://www.kumei.jp/c_lang/intro/no_03.htm
↑「ひきすう」らしい。
0379デフォルトの名無しさん
NGNGでもエキスパートはみな「あーぐめんと」ですか?
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNG0382デフォルトの名無しさん
NGNGまず、どこまで日本語に対応するのか明確にせよ。(そもそもどういうソ
フトを組んでんだよ。)
0383デフォルトの名無しさん
NGNGCreateFont〜系をフックして欧文フォントが選択されたら、
Unicodeフォントか日本語フォントをCreateして返し、
TextOut〜やExtTextOut〜系API等の文字列を受け取るAPIをフックして、
自動的にExciteなり自前なりで翻訳して、翻訳結果を画面に表示。
もちろん、lstrlenとかそういうのも全部フックしてくれ。
0384381
NGNG0385デフォルトの名無しさん
NGNGそれ、絶対失敗する。なんか自信ある。
0386デフォルトの名無しさん
NGNGネタに突っ込むなよ。かっこ悪いぞ。
0387デフォルトの名無しさん
NGNG少しは自分で調べろよ。その程度の努力もできない奴は
Hellow Would!!出力プログラムでも作ってろ。
0388デフォルトの名無しさん
NGNG3桁、2桁、1桁で表示するプログラムを作りなさい。(%10.3f、***、***) ***
は各自決定せよ。
という問題があるのですが誰かわかりませんか?
0389デフォルトの名無しさん
NGNG0390デフォルトの名無しさん
NGNGで処理をゆーっくりにするコードはなんですか?
たとえば、●を ツーっと横にアニメションで動かしたい。
この場合、ノーマルだと一瞬で絵画してしまい
単なる横棒になってしまう。
これをゆくり移動させるにはどしたらよいのか?
BESICでいうwaitってやつ。
また、このままだとよこに棒ができてしまう。
あくまでボールを動かしたい。
BASICでいうCLSにあたるものはなに?
なんだかソースを加えるだけでできるの?
0391デフォルトの名無しさん
NGNGこの前とおなじやつか?
あの説明でわからなかったら何度聞いても同じ。
0392デフォルトの名無しさん
NGNGwait,clsつくるよろし。
0393デフォルトの名無しさん
NGNG別のスレで同じ質問が出て回答もされてる。
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGそこに突っ込むかい…
あっちのスレでもまんまコピペしてるから同じミスがあるなw
0396ダルシム
NGNG// CTestView クラスの描画
void CTestView::OnDraw(CDC* pDC)
{
CTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: この場所にネイティブ データ用の描画コードを追加します。
int s;
s=10;
pDC->TextOut(200,6," 変数sを表示したいのだができない ");
pDC->TextOut(300,30,s);
}
なんだか、sは10と表示されず文字コード?みたいなので、謎の文字が出てしまいます。
どうしたらいいですか?
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNGvirtual BOOL TextOut( int x, int y, LPCTSTR lpszString,
int nCount );
BOOL TextOut( int x, int y, const CString& str );
と言う風に定義されてるから、要は LPCTSTR (要するに char *、つまり
普通の文字列) か、CString (C++ の便利な文字列型) を受け取るわけ。
どうせ MFC 使うなら CString の方が便利だから、CString の勉強をし
よう。ヒントをあげとくと、CString::Format() あたりが近いと思う。
0401ダルシム
NGNG0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNGアウトプットウィンドウのようなウィンドウを作るにはどうしたらいいんでしょうか?
エディットボックスとかシェルまわりかと思ったのですが、情報不足でよくわかりませんでした。
ご存知の方がいらっしゃいましたらぜひ教えてもらえないでしょうか?
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGor
CString s("10");
も可
0407デフォルトの名無しさん
NGNG0408403
NGNGどの辺りをみればいいかさえよく分からないのですけど・・・。
バカですみません。
0409デフォルトの名無しさん
NGNG何を聞きたいのかあいまいすぎてわからん。
サイズ可変のドッキングバー -> CSizingControlBar でも検索するよろし。
編集不可能なエディット -> ReadOnly の CEdit の背景かえるだけでもよろし。
コンパイラとかの出力の取得 -> パイプを使えばよろし。(詳細忘れた)
0410デフォルトの名無しさん
NGNG>>403,408
スマソ。カキコのタイミングが悪かった。
ダルシム宛なんで気にしないで下され。
ついでに。
アウトプットウィンドゥってVisualStudioのようなヤシが希望ですか?
とりあえずCEditでググってみれば?
0411デフォルトの名無しさん
NGNG0412403
NGNGすみません。
どうもありがとうございました。
0413_T("hoge")
NGNG0414L"hoge"
NGNG0415デフォルトの名無しさん
NGNG”〜.lib 外部シンボル "_main_initialize" は未解決です”
って100万回くらい言われるんです。
どうしたら良いでしょうか?
やっぱり死んだほうがいいですかね。
というアフォな事は質問しても良いですか?
ライブラリは全てぶち込んであります。
VC++6.0です。
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG0418415
NGNG何回試しても、という意味です。
コンソールアプリの話です。
というか初心者です。
>>415のようなメッセージに対して
libの設定はあってる、となると
次に何を疑えばいいのかわからず
途方に暮れてる次第です。
0419デフォルトの名無しさん
NGNGmain_initialize() って関数か、main_initialize って変数 (だった
ら、命名の仕方を疑うが...。) がどっかで呼ばれてんじゃねーの ?
とりあえず、全ソースに対してファイルから検索かけたら ?
0420415
NGNG諦めるYO。
外部シンボル恐怖症でつ。
えらーメッセージは
main.lib(pcacis.obj) : error LNK2001: 外部シンボル "_main_initialize" は未解決です
です。
>>419さんに従って検索しましたが
_main_initializeはmain.libにしかなく
main.libはちゃんと入ってます。
main.lib作った人にききましゅ。
0421デフォルトの名無しさん
NGNGmain.lib がCで作られていてC++のプログラムから使おうとしているなら
C++のプログラムで
extern "C" _main_initialize( 引数リスト )
で宣言しておかないとリンクに失敗するぞ。
0422デフォルトの名無しさん
NGNG雛形とかどっかない?
使用を調べるの画面。
0424デフォルトの名無しさん
NGNGそんなプログラムWANに解放するなよ
0425デフォルトの名無しさん
NGNGそれ、反対。そのケースなら、
test.obj : error LNK2001: 外部シンボル ""void __cdecl
main_initialize(void)" (?main_initialize@@YAXXZ)" は未解決です
と言う風に言われる。
main.lib(pcacis.obj) : error LNK2001: 外部シンボル "_main_initialize"
は未解決です
と言うエラーメッセージは、main.lib を構成している pcacis.obj が、
main_initialize() と言うのを使ってて、それを誰も定義していないことを
示している。ありがちなのはそのライブラリ使う時は、main_initailize()
って言う関数を定義しておくと、最初に一回呼ぶから必要な初期化をしてね。
と言うようなケース。
> main.lib作った人にききましゅ。
と言うのが正解。
0426デフォルトの名無しさん
NGNGstruct C{
template<typename T> void foo(T t){}
void hoge(void){
foo<MYINT>(10);
}
};
VC6で上のコードが通らないんだけど、これはVCの制限だよね。
もしかして、VCってかなり糞?
0427デフォルトの名無しさん
NGNG0428貧乏人(^^)
NGNG迷ってるんですけど,どうしたらいいんですかねー。
このスレの住人からみてVCってあと何年くらい持つとおもいます?
0429デフォルトの名無しさん
NGNGだねぇ...。template 使ってて、struct C { だからねぇ...。まあ、
GW だからしょうがないかな。
>>426
なにしたいのか良くわからんけど、とりあえず直しといたからもう来る
なよ。
typedef int MYINT;
template<class T> class C {
private:
void foo(T t){}
public:
void hoge(void){
foo(10);
}
};
int main()
{
C<MYINT> x;
x.hoge();
return 0;
}
0430427
NGNGいや、残念ながらそういう事じゃない。
VCの既知の制限をいちいち持ち出して糞呼ばわりする奴って事。
そんなこと言い出したら、Lokiが通らないbccだって糞だしな。
0431426
NGNGこれって広く知られた制限だったのね。知らなかったよ。
メンバーテンプレートをはじめて書いて通らなかったんでおかしいなと思ったのよ。
まあたしかに糞は言い過ぎた。
>>429
GWだな
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNGというafoが多いのでこういうカキコがあるわけですね
0434422
NGNGしないよ。
単純にプロトコル解析したいだけ。
とある糞アプリをFreeBSDに移植したい。
ちゅーか誰も雛型があるところしらねーのか?
それとも、そんなもん公開してるやついないのか?
0435デフォルトの名無しさん
NGNGっていうか聞く前に検索くらいしてみたら?
snifferとかmonitorとかcaptureとか適当な単語と組み合わせれば、
そういうソフトはいくらでもあるし、Cで解説してるページもいっぱいあるけど。
0436デフォルトの名無しさん
NGNG関数が WM_QUIT メッセージを受け取って終了したときは、
メッセージの wParam パラメータが持つ終了コードを返してください。
関数がメッセージループに入る前に終了したときは、0 を返してください。
ってあるのに、オープンソース眺めてみると、
int WinMain( 省略 )
{
try
{
初期化();
実行();
}
catch( 省略 )
{
例外処理();
}
return 0;
}
こんなのが非常に多い!
WinMain の戻り値って常に 0 でも問題ないの?
0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNG0439436
NGNGなるほど! ありがとうございます。
でも、そうすると、WinMain の戻り値って何の意味があるんでしょう?
何かを Windows に伝えることができるんでしょうか?
0440デフォルトの名無しさん
NGNG最近はエラーが起きたらエラーコードを返すんじゃなくて、
abort()で人間にその旨を伝えるのが普通だな
0442デフォルトの名無しさん
NGNGWTLで教えてください。
WTL/ATLウイザードからプロジェクトを作ると
メインフレームクラスとして、
class CMainFrame : public CFrameWindowImpl<CMainFrame>〜 「MainFrm.h」
が生成されるんですけど、ヘッダファイルのみなんでCPPファイルを新たに自作すると
コンパイルが通らなくなります。
「error C2504: 'CFrameWindowImpl' : 定義されていない基本クラスが宣言されています。」
などと怒られてしまいます。
何が足りないのでしょうか?
0443デフォルトの名無しさん
NGNG空のcppをプロジェクトに追加するだけでエラーがでるのか?
0444442
NGNG「MainFrm.cpp」です。
中身はコレです。コレでアウトです。
// MainFrm.cpp : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "MainFrm.h"
CMainFrame::CMainFrame()
{
}
0445デフォルトの名無しさん
NGNGがどこに定義されているのかよーく考えてみろ。
0446442
NGNG解決しました。ありがとうございました。
今回のトラブルの原因であり、
これは前々から思っていたことなんですが、
例えばあるヘッダファイル「A.h」があったとして
「A.h」は「B.h」を参照する仕様な場合、
#include <B.h>はどこに書くのが正しいんですか?
「A.h」を参照するのが、「C.cpp」ただ1つの場合
「C.cpp」に、
#include <B.h>
#include <A.h>
と書けばOKですよね。今回のWTLのソースもその方式でしたし。
でも他のファイルから「A.h」を参照したい場合これじゃダメですよね。
「A.h」の中で #include <B.h> を書かないと。
実際どっちが正しいんですか?
0447デフォルトの名無しさん
NGNG#includeを入れて、そのヘッダを各cppの先頭で#includeするのがいいとおもう。
もちろん、プリコンパイル済みヘッダを作って
0448442
NGNGなるほど、プリコンパイル済みヘッダってそういう
用途で使うもんなんですね。
自分は小規模なプログラムしか組んだ事が無いので
いままで気にしてませんでした。
勉強になりました。ありがとうございました。
0449デフォルトの名無しさん
NGNGSTLとか使うなら、プリコンパイルするだけで10倍近く早くなるケースも多いよ
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG試した方法:
0.プロジェクトのライブラリにnkf32.libをおく。
1.#pragma comment(lib, "nkf32.lib")を使用するコードに入れる。
2.プロジェクト->設定->リンクにnkf32.libを追加
どうやってもLNK2001が消えないです・・・
0452デフォルトの名無しさん
NGNGCOMしか使ったことないから
生のDLLはサッパリだぜ!
0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG#pragma〜と書いたらプロジェクトの設定にはいらない。
libがある位置をよく確認
0456デフォルトの名無しさん
NGNG夕べ寝る直前に気づいたんですが、自分はC++のコードを書いてるので、
extern "C"が必要だったんですね。
とおもってよく見たら、>>421に答えが書いてあったりして・・・
お騒がせでした。
0457デフォルトの名無しさん
NGNGA.hがB.hを必要としているなら、
A.hでインクルードする。
(どのヘッダファイルを単独でインクルードしても
コンパイルが通るようにする)
ただし、「全て」のヘッダファイルで2重インクルード抑止する。
というふうにしてます。
0458デフォルトの名無しさん
NGNGVC++6.0使ってます。
よろしくお願いします。
Win32 Application ってプロジェクトで作ったやつをビルドすると
リンク中...
nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__endthreadex" は未解決です
nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__beginthreadex" は未解決です
Debug/WinMogu.exe : fatal error LNK1120: 外部参照 2 が未解決です。
link.exe の実行エラー
って出ちゃうのですが、
コンパイルはできているってことですよね?
何がいけないのでしょうか?
よろしくお願いします。
0459デフォルトの名無しさん
NGNGもしくはプロジェクト>なんか>ライブラリ(マルチスレッド)選択
0460デフォルトの名無しさん
NGNGそのエラー出るね
0461458
NGNGレス、ありがとうございます。
MTオプションつけてビルドしてみたら
LNK4098 エラーが出ました。
(ライブラリが矛盾してるだとかなんだとか)
MSDN読んでもあんまりピンとこなくて、
とりあえず、
関係ありそうと思ったところで、リンクの設定で
「デフォルトライブラリをすべて無視」
ってのを選択して実行してみたら、エラーが120個出てきて、
で、リンクの設定を元に戻してまたビルドしてみたら、
実行できました。
う〜ん、解決したのだろうか・・・。
0462デフォルトの名無しさん
NGNGコマンドラインなら-MT
統合環境なら プロジェクト>C/C++>カテゴリ[コード生成]>使用するランタイムライブラリ
を変更
0463458
NGNGMFCを使わない設定になっていました・・・。
ただ、
461で書いた方法でビルドが完了したのが不思議なところですが。
お騒がせ致しました。
0464デフォルトの名無しさん
NGNG解決しなかったのでこちらでもう一度お願いします。
VC 6.0と.NETともにデバッグしようとすると
かなりの確立でVCがフリーズします。
Win2000,XP両方発生します。
具体的にはF5押すとエディタがデバッグの画面に切り替わり
その後直後フリーズします。その際他のウィンドウとかも
巻き込まれます。タスクマネージャーは立ち上がらないのですが
1分ほど時間が経ってから閉じるボタンを押すと
「応答がない」のダイアログがでて何とか終了できます。
終了すると他のウィンドウなどは元に戻ります。
調べられる限り調べたのですがだめでした。
ちなみにノートンは切ってありますし、
オーバークロックもしておらず
オプションのデバッグ項目はデフォルトで使用しています。
SBLive挿してるのが怪しいといわれましたが
今回は関係なかったようです。
ご存知の方おられましたら教えてもらえないでしょうか?
板違いだったら教えてください。
よろしくお願いします。
0465デフォルトの名無しさん
NGNG(特にIME)
0466464
NGNGタスクバーから出してもだめでした。
ノートンアンチウィルスはオフじゃなくて
アンインストまで試した方がいいですかね?
同じ状況の人はオフでいけた例があるみたい
なのでオフで無理なら関係ないと思ってますが。
えっとまとめておくと
ノートンオフ、IMEもタスクバーの外の状態で
固まってしまいます。
デバッグできなくてさすがに辛いので
すこしでも情報あれば提供くだされば助かりますので
よろしくお願いします。
0467デフォルトの名無しさん
NGNGあのさ、ここで解決しなければ今度はまた別のスレに貼るわけ?
いい加減にしてくれ。
どうしても解決が必要なら、MSにサポートしてもらえ(まぁ、解決するとは思えないけどな。
割れ厨だったらあきらめろ
0468デフォルトの名無しさん
NGNGタスクトレイに何も表示しない...
ってことはタスク領域自体が無くなるはずなんだけど、
そうなってる?
0469デフォルトの名無しさん
NGNGタスク領域=タスクトレイ領域
0470デフォルトの名無しさん
NGNG「デバッグ」メニューからの「デバッグ開始」は試したのなら、もう、手の打ちようが無いと思われ。
0471デフォルトの名無しさん
NGNGコールバック関数はクラスの中に置くことができないので
http://kobe.cool.ne.jp/solo2000/CInputControl.h
http://kobe.cool.ne.jp/solo2000/CInputControl.cpp
このようにしたのですが、当然これではlpInputとlpDeviceにアクセスできません。
このコールバック関数からlpInputとlpDeviceにアクセスすることはできないでしょうか?
0472デフォルトの名無しさん
NGNGhr = lpInput->EnumDevices( DI8DEVCLASS_GAMECTRL, EnumDevicesCallback, (void*)this, DIEDFL_ATTACHEDONLY );
BOOL CALLBACK EnumDevicesCallback( const DIDEVICEINSTANCE* pdidInstance, LPVOID pContext )
{
CInputControl* pThis = reinterpret_cast<CInputControl*>(pContext);
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNGありがとうございます、早速調べてみます
>>473
初期化でこけているのでそこまで製作しておりません
thisポインタは関数を呼び出したオブジェクトへのポインタ
reinterpret_cast演算子はポインタ型に変換
まだVisualC++の知識は未熟なので詳しいこと輪分からないのですが
つまり(void*)thisはvoid形のポインタ
CInputControl* pThis = reinterpret_cast<CInputControl*>(pContext);は
CInputControlのポインタpThisにvoid型のポインタpContextが保持するアドレスを
変換して代入するということだと私は解釈しました。
そしてCreateDeviceと同じ内容の関数をCInputControlクラスに含ませておき
CInputControlのポインタpThisからそれを呼び出せばいいということだと判断した私は
このように改良しました。
http://kobe.cool.ne.jp/solo2000/CInputControl2.h
http://kobe.cool.ne.jp/solo2000/CInputControl2.cpp
実行してみたところエラーも出ず初期化は成功したと思います
本当にありがとうございました。
0475デフォルトの名無しさん
NGNG外人?
0476464
NGNG467<<
えっと聞こえの悪い書き方してしまいました。
微妙に板違いだったのでこっちの方が的確な
アドバイスもらえると思って書き込みました。
すみません、MSのサポートは
467さんの想像通りで(笑)
いくつかドライバー関連の不具合(?),アプリの競合などなど
アドバイスもらったんですが特に当てはまらなかったので
諦めてしまいました。
468>>
残ってるのは
・アンチウィルスのアイコン(無効になってます)
・ボリューム調整するやつ。
のふたつです。
ノートンのやつ消すにはアンインストですね。
関係ないと判断してしてませんでした。
明日にでもさっそくアドバイス通り
やってみたいと思ってます。
470>>
もうひとがんばりしてみたいと思います。
せっかくMFC覚えたんですし。。
ながながすみません、また明日にでも報告いたします。
0477デフォルトの名無しさん
NGNG基本だが、VC自体の再インストールはしたのだろうな?
ノートンはダイアログボックスからプロセスそのものを切ってみたか?
そしてリブートはしたか?
0478デフォルトの名無しさん
NGNGvoid*への変換はC形式、戻すときはC++形式のキャストを使ってるのは何か理由が?
0479デフォルトの名無しさん
NGNGそれ以前に、任意のポインタ型から void* へは暗黙のキャストで済むような気が。
0480デフォルトの名無しさん
NGNGあ、ミスだ(藁
長いからC形式になおして、callback側で直し忘れただけ
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG必要な場所ってそれほどないと思うが?
0483デフォルトの名無しさん
NGNGその現象は私の持っているThinkPadでもよく起こります
VisualStdioとDX8Librayのみをインストールしても起こりました
これは困りますよね
>>475
日本人です、思ったことを文章にするのが非常に苦手なのです
これで落ち着きました
http://kobe.cool.ne.jp/solo2000/CInputControl.h
http://kobe.cool.ne.jp/solo2000/CInputControl.cpp
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNGint*とchar*の内部形式が同じとは限らないからstatic_castのほうが無難?
いまさらそんなこと気にせずreinterpret_castで行くほうがいい?
・・・スレ違いか・・・。
0487デフォルトの名無しさん
NGNG内部形式が同じとは限らないからreinterpret_castを使うべきだろ。
ポインタはvoid*との交換の時だけじゃないか?<static_cast
0488デフォルトの名無しさん
NGNG内部形式が違うならreinterpret_castはまずいのではないでしょうか?
0489デフォルトの名無しさん
NGNGだからこそreinterpret_castでよいのだ。
0490デフォルトの名無しさん
NGNGなろほど。
内部形式が違う==コンパイラが変換を行う。
という状況を想定していたけど、
そういう場合ならばstatic_castのほうが適切?
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNGとりあえず、484は逝ってよい。
0493デフォルトの名無しさん
NGNGエンターキーを WM_KEYDOWN で検出したいんですがデフォルトのボタンがある場合などは
どっかでメッセージが処理されてエディットに WM_KEYDOWN が来てくれません。
サブクラス化しているエディットにフォーカスがある場合はデフォルトのボタンなどに関係無しに
エディットがすべてのキー入力(WM_KEYDOWN)を受信できるようにするにはどうしたらいいですか?
余談ですが今月中に.Netを購入しようしようと思うのですが
どれを購入するのがいいですか?
個人的に使用するだけだけなのでC#、VC、VBの単体パッケージのどれかを購入する予定です。
Win32アプリを作るならVC++6.0で十分ですよね?
C#が妥当ですかね?
0494デフォルトの名無しさん
NGNGありますか?
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG面倒ならCListかvectorでも使え
0497デフォルトの名無しさん
NGNGVisualC++は0から始めたとして、
どのくらいで一通り覚えられますか?
ちなみにプログラムは殆どやったことがないのですが。
0498デフォルトの名無しさん
NGNGそんなことから人に聞いているようじゃ10年たっても無理
0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNG株取引は0から始めたとして、
どのくらいで一通り覚えられますか?
ちなみに買い物は殆どやったことがないのですが。
とおなじくらいバカ。
0501デフォルトの名無しさん
NGNGセクースは0から始めたとして、
どのくらいで一通り覚えられますか?
ちなみにティムポは殆ど起ったことがないのですが。
とおなじくらい(以下略)
0502デフォルトの名無しさん
NGNG0503464
NGNGの状況ですが結果報告しにきました。
えっと直りませんでしたがほとんどデバッガが
起動しない状態から3分の1くらいの確立で起動する
に改善しました。
まずIMEをタスクバーから出すと
デバッガの起動成功確立はまったく変わりませんが
固まってもバツボタンの反応がよくすぐに
「応答がない」ウィンドウが出るので復旧しやすくなりました。
ノートンはタスクバーから出しても関係なくて
「停止状態」にしておくとフリーズの確立が
3分の1まで下がりました。
まぁ万事解決とまではいきませんが
なんとか実用範囲になりました。
みなさんありがとうございました。
長文失礼。
0504デフォルトの名無しさん
NGNG結局どれがいいのですか?HeapAlloc?malloc?new?
ALL APIで組んで new とか使うのがなんだかいやです。
newをオーバーライドして、中でHeapAlloc?
みんな、どうしてますか?
0505ほげ ◆m4g7rP2k
NGNGというのはできるのかお前ら教えてください。
相手プロセスの受信バッファの位置をしらべて
CreateFileMappingとかVirtualAllocExとかって路線で
いけるの??
でも可変長なデータだから単純に書き込もうとすると
随分奇怪なことをやらなきゃだめそうな気がしないでもないな〜
って言ってみるテスト
なんか便利なAPIないのかしら〜
0506デフォルトの名無しさん
NGNG0507ほげ ◆m4g7rP2k
NGNGそれでソケットのピーコが作成できるようなこともわかったYO!
っていう認識であってる?
でもねでもねでもね、漏れがやりたいことができそうにない?
ってかわからない!
まずやりたいことを説明しよう。
0508ほげ ◆m4g7rP2k
NGNG・サーバたん
・クライアントたん
・ツールたん
前提
・サーバたんはクライアントたんに文字列を送信してくる。
・クライアントたんは受信した文字列を表示する。
本題
ここでツールたんを作成し、本当はサーバたんから文字列が
送信されてきてないんだけど、さも送信されてきたかのように
クライアントたんを騙したい!!
ツールたんとクライアントたんは同一PCであり、
サーバたんは別PCである。
ゆえにツールたんでは、クライアントたんのソケットの受信
バッファに嘘データをカキコすれば騙せるのでは?と
考え、>>505 のような質問をした次第である。
先に言えというのは板違いだ きっと
実現方法について追加キーワード求む!
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNGmalloc も new も中身は HeapAlloc だよ。たしか。
0512デフォルトの名無しさん
NGNGでかいのは直接HeapAlloc。
小さいのはHeapAllocしたでかいブロックから小分けにしている。
たしか。
0513ほげ ◆m4g7rP2k
NGNG>ソケットをピーコして、そのソケットに垂れ流せばいいんでないの?
具体的にはどうやってやるの?
そのソケットに接続して流すってこと?
接続できるのかな?
すでに接続済みだから接続できないと思われ(?)
0514デフォルトの名無しさん
NGNG0515ほげ ◆m4g7rP2k
NGNGちとMSDN調べますw
0516デフォルトの名無しさん
NGNG煽るのは勝手だがお前根本的に何かが間違ってる気がする。
0517デフォルトの名無しさん
NGNGspy++立ち上げてる時にファイルオープンダイアログを起動するとOSが固まってしまいます。
なにか対処法はありませんか?
ダイアログを開いたときに受け取るメッセージが確認できれば、用なしなんですが。
0518デフォルトの名無しさん
NGNGDuplicateする対象(ハンドル)をよく考え直せ
0519ほげ ◆m4g7rP2k
NGNGどのへんが違うのか知りたい。
漏れの解釈
ツールでHeapAllocをコールしてクライアントのソケットへの参照を取得。
その参照にsendすればサーバに送信される。
0520ほげ ◆m4g7rP2k
NGNG>ツールでHeapAllocをコールして
ツールでDuplicateHandleをコールして
に訂正・・しゅん
0521デフォルトの名無しさん
NGNG0522仕様書無しさん
NGNG同じヘッダーファイルを二度インクルードしないように
コンパイラに指示するためにあるんですか?
0523デフォルトの名無しさん
NGNGそうです。昔ifdefでやってたのの代用。
.NET?
0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG鋭いですね。房ですみません。CはLinuxでしかやってませんでした。
0527デフォルトの名無しさん
NGNG標準C++の話だったかVC++.NETの話だったか混乱。
0528デフォルトの名無しさん
NGNGは処理系依存でしょ。
C99だと標準オプションもあるけど
0529デフォルトの名無しさん
NGNG#pragma const_seg( "MY_DATA" )等の
セクションって何?
この場合、MY_DATAってどういう使い方が出来るの?
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNGlokiの通らないVC++よりはいいだろ
0533デフォルトの名無しさん
NGNGgccっていまだにVCでいうプリコンパイル済みヘッダ
ないでしょ? C++使う気がしない。
そのせいでUNIX系ではいつも素のCだ。
なんか変だけど。
(それとも俺知らないうちにできてた?)
0534デフォルトの名無しさん
NGNGそれは同意
0535デフォルトの名無しさん
NGNGLokiが通らないのが糞ならほとんどのコンパイラは糞だ
そもそも、実務であんなヘビーなテンプレートの使い方をすることはめったにない。
ちょっとLokiが話題になったからと、Lokiが通らない=糞とか
VCを糞呼ばわりしたいだけの厨がいっぱい居るのがそもそもの問題
0536デフォルトの名無しさん
NGNG>gccっていまだにVCでいうプリコンパイル済みヘッダないでしょ? C++使う気がしない。
これは何に対する言い訳?
0537デフォルトの名無しさん
NGNG勉強に向くかどうかと、現実的な要求に応えるかどうかは
全く別の話。VCを糞呼ばわりしたいのは少なくともここにはいない。
0538デフォルトの名無しさん
NGNG謎だな。だいたい VC でプリコンパイルヘッダを使うのは C++ 云々よりも、巨大な
windows.h 用だし。
(まぁ g++ でもプリコンパイルヘッダ欲しいんだけど)
0539デフォルトの名無しさん
NGNGはぁ? おまえの方が謎。
windows.hなんて大して負荷にならない
STLヘッダをいくつも#includeする方が何十倍も負荷になる
0540デフォルトの名無しさん
NGNG標準ヘッダなんかのほとんど変更しないものと、
たまーに変更するけど毎回コンパイルするのはちょっと嫌なものを分けられたら便利なんだけど。
0541デフォルトの名無しさん
NGNGコマンドラインなら複数指定できるよ
0542533
NGNGそうだよね。
C++だとコードのかなりの部分をヘッダに置かざるをえないから
C++は・・・って書いたんだけど通じなかったかな?
>>536
言い訳うんぬんってのはどうゆう意味?
0543デフォルトの名無しさん
NGNGなんか勘違いしてると思う。使い方調べれ。
>>540
なんかいいことあるの?
0544デフォルトの名無しさん
NGNGリファレンス一個ずつずれた。
0545デフォルトの名無しさん
NGNGリファレンス一個ずつずれた。
540と541
0546デフォルトの名無しさん
NGNG敢えてポインタと呼ぶのも一興。
0547デフォルトの名無しさん
NGNGどうずれた?
0548デフォルトの名無しさん
NGNGしかも勘違いしてるのは俺だった。
ごめんなさい >>540,541
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNGVC++と比べて、コンパイルが鬼速だったなぁ。
VC買って同じコード試したとき、あまりの遅さに驚いたっけ…。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG最適化してないし
0553デフォルトの名無しさん
NGNGSTL ヘッダは #include するより、ソースコードをコンパイルするときにテンプレートを
インスタンス化する方が重いだろ。
0554デフォルトの名無しさん
NGNGわかってないの?
そのインスタンス化の負荷を軽減するためのプリコンパイルヘッダなんだよ?
0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNGプリコンパイルは直接コードを生成してるんじゃなくて、
parseのフェーズを省略できるように、内部表現を出力してるんじゃないのか?
0558デフォルトの名無しさん
NGNGとりあえず VC6 で
1. windows.h をプリコンパイルしたものと、そうでないもの
2. STL をプリコンパイルしたものと、そうでないもの
で速度を比較してみたら?
0559デフォルトの名無しさん
NGNG巨大なプリコンパイルヘッダをいちいち読み込むほうが
かえって遅くなる罠。
0560デフォルトの名無しさん
NGNGだからほんとにそう思うならやってみろって。
漏れの作ってるアプリのプリコンパイルヘッダ公開するけど、
プリコンパイルするかしないかで速度が20倍くらい違うぞ?
#ifdef _DEBUG
#define _STLP_DEBUG 1
#endif
#define _WIN32_WINNT 0x400
#define NOMINMAX
#include <windows.h>
#include <windowsx.h>
#include <tchar.h>
#include <process.h>
#include <commctrl.h>
#include <shlobj.h>
#include <cassert>
#include <ctime>
#include <list>
#include <vector>
#include <string>
#include <memory>
#include <algorithm>
#include <iterator>
#include <functional>
0561デフォルトの名無しさん
NGNG以下、続き
#include <exception>
#include <stdexcept>
#include <boost/shared_ptr.hpp>
#include <boost/bind.hpp>
#include <boost/array.hpp>
#include <boost/function.hpp>
#include <boost/functional.hpp>
#include "window.h"
#include "controls.h"
#include "filesystem.h"
#include "utils.h"
0562559
NGNG更にmap/multimapと、
アプリケーション定義のヘッダが20位。
プリコンパイルヘッダ使っても遅いものは遅い。
0563デフォルトの名無しさん
NGNGどう考えてもプリコンパイルヘッダの使い方が間違ってるとしか思えない
0564デフォルトの名無しさん
NGNGきっちり手動で設定してやらないと
0565559
NGNG自動的に使用ししてますた。
.cpp別にプリコンパイルヘッダの扱いが変更できるようだけど、
どんな感じでやればよいのか教えてください。
0566デフォルトの名無しさん
NGNGたとえば、上に書いた集約したヘッダをstdafx.hとし、
[stdafx.h]
#include <windows.h>
...
とstdafx.hを#includeするだけのcppを用意する
[stdafx.cpp]
#include "stdafx.h"
で、stdafx.hを右クリック>設定>プリコンパイル済みヘッダ
プリコンパイル済みヘッダの生成に[stdafx.h]を入力
その後、すべてのソースファイルの先頭にstdafx.hを#includeして、
プリコンパイル済みヘッダを使用に[stdafx.h]までと入力
0567デフォルトの名無しさん
NGNGstdafx.cppを右クリック
0569デフォルトの名無しさん
NGNGとりあえず、試したらどれだけ早くなったかレポートするように
0570559
NGNG1/20位の時間になったーヨ
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNGバージョン。
0573デフォルトの名無しさん
NGNGSetWindowsHookEx(WH_GETMESSAGE, 〜
(WH_KEYBOARDでナシに)でキーボードをフック(WM_KEYDOWNを検出)した後、そのキーを無効にする(メッセージをキューから破棄する?)にはどうすればいいですか?
(たとえば、[INS]が押されたときに「貼り付け」処理した後挿入/上書きモードを切り替えないようにする、みたいな…)
0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG0576痴有望
NGNG最近勉強しようと思うようになりました。
もうVC++6.0(それ以上?)になってると思いますが、4.0とは機能的にめちゃくちゃちがうんでしょうか?
また、初心者がやるには4.0でも十分なんでしょうか?
0577デフォルトの名無しさん
NGNGVB.NETは現在のVBとは別物です。
0578デフォルトの名無しさん
NGNGフックプロシージャ内で>>575、且つreturn 0
ただし他のグローバルフック使用アプリに影響の可能性。
MSDNに書いてあるよ。
0579デフォルトの名無しさん
NGNGそれが、>>575がうまくいかないんですわ.
ただ>>574がとりあえずうまく行ってるようです.
しかーし!!
M$ Word (95, 2000)では、これもうまくいかないんですね.
何故でしょう?
とりあえずキーを1回押すだけでWM_KEYDOWNが2〜3回送られてくるあたりが非常に怪しい.
今んとこメッセージ送り主のhwndと送られたptimeを調べて同じだったらはじく様にしてるんですけど、何か方法はありますか?
0581デフォルトの名無しさん
NGNGEOFを予期させてください。
0582デフォルトの名無しさん
NGNGデバッグ
0583デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNGWin32APIを使っているだけなら4.0でもほとんど問題なし。
俺も未だに4.0使ってる。
0586デフォルトの名無しさん
NGNG0587デフォルトの名無しさん
NGNGプリコンパイルヘッダーを使う設定になっているのに、ソースにそれ用の
ヘッダーのインクルードをしていなかったりしてない?
0588デフォルトの名無しさん
NGNGハア?
0589デフォルトの名無しさん
NGNGヒイ?
0590デフォルトの名無しさん
NGNG>>686
ハァ?
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG既存のライブラリを使用するか
既存のツールを操作する
0594デフォルトの名無しさん
NGNG自分で圧縮アルゴリズム実装するとか。
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNGぁ?ファイル操作の方法がわからないのか?
それとも、どこから手をつけていいのかもわからない?
0597586
NGNG当然、VC++4のはなししだよ。
0598デフォルトの名無しさん
NGNG.libを作りたいってことか?
リンカのオプションいじってできたような気もする。ヘルプで調べれ。
0599デフォルトの名無しさん
NGNGありがとうございました。やってみます。ところで何でみんなsage?
0600デフォルトの名無しさん
NGNG登場当初は確かにwindows.h対策と言われていた記憶がある。
そうかーSTLってそんなにでかいのか、って当然か。
0601デフォルトの名無しさん
NGNGム板の伝統…かな。
age:質問をする人、厨房
sage:良識を持った回答をする人、ネタレスをする人
って感じじゃないかと。
0602デフォルトの名無しさん
NGNGそれ以外は基本的にsageで。
0603デフォルトの名無しさん
NGNGある時点で使用できる残りのスタックサイズを得る方法ってないですか?
適当にスタックにメモリを確保していると(再帰関数などで)スタックを使いきってしまうのでないか心配で夜もグッスリです。
残りのスタックサイズを取得して一定のサイズ以下になったら警告が出るようにしたいです。(デバッグビルドの場合)
APIが無理ならインラインアセンブラで無理やりでもいいので教えてください。
0604デフォルトの名無しさん
NGNGわけわか
0605デフォルトの名無しさん
NGNG取りあえずプログラム起動時にspの値取得。
関数を呼ぶたびに現在のspと保存したspのディスタンスを取る。とかはダメ?
0606初心人間
NGNGもしくはつくった人いますか?
0607デフォルトの名無しさん
NGNG作ったからあるんだろうと小一時間。。
0608初心人間
NGNG0609デフォルトの名無しさん
NGNG形状認識の理論とAAに対する情熱を持ち合わせたプログラマが
いないこともない。
0610デフォルトの名無しさん
NGNGの言う「AAでよくある実写画像」ってのは、
AAじゃなくて画像を文字で表現しただけのやつのことじゃないの?
そうなら簡単だけど、本気でAAで表現するのは漏れには無理。
0611初心人間
NGNGそうですそうです。>実写画像(みたいなの)
素人考えですが、こういうのって単純にBMPファイルを数ピクセル四方の領域単位に分割して、各領域の平均濃度に対応した文字テーブルを予め用意して云々
って感じでできるものなんですか?
0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNGいいんじゃない?
::
のように均等な濃度になるものもあれば
~~や,,のように偏るものもあるし、その辺を考慮して。
0614デフォルトの名無しさん
NGNGVisualC++6.0 Enterprise Editionには
ソースコードは付属していないのでしょうか?
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNGこれって結局、コンパイルの時間を短くするだけですよね?
ね?
0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG参考になる本とかサイトとかありませんか?
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNGサイト>> googleで検索,海外ポータルを探す
本>> 定番でGameProgramingGem,GameProgramingManazineなど
0621デフォルトの名無しさん
NGNGどんなゲームを作りたいのか知らんが、とりあえずGoogleで
「ゲーム開発 C++ Windows」とでも入れてごらん。
0622デフォルトの名無しさん
NGNGダブルバッファリングとかゲーム界の常識を学んでからの方が良いかもね。
0624デフォルトの名無しさん
NGNGマルチスレッド版......などを考慮すると数種類のライブラリを作ることになりますよね。
これって1つにまとめることはできないのでしょうか?
WEB等で配布されているライブラリで1つしか配布していないのは
どうやっているのでしょうか?
0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNGアプリ側がDLLの設定に合わせるのですか?
0627デフォルトの名無しさん
NGNGただ、dll側の制限でマルチスレッド不可の場合が多すぎるので気をつけよう
0628デフォルトの名無しさん
NGNGVC5用の本にはこれで出来ると書いてあるのですが、
別のキーになったのでしょうか?
0629デフォルトの名無しさん
NGNG0630Disca ◆NAfP6znE
NGNGアイコンが表示してくれないのですが、まちがいがあれば
教えていただけないでしょうか、お願いします。
// m_list は、CListCtrlのメンバ変数
// IDI_ICON は、アイコンリソースです。
int i;
CImageList imageList;
imageList.Create(16, 16, ILC_COLOR4, 1, 1);
m_list.SetImageList(&imageList, LVSIL_SMALL);
HICON hicon= ::AfxGetApp()->LoadIcon(IDI_ICON);
int image= imageList.Add(hicon);
for (i= 0 ; i < 3 ; i++)
m_list.InsertColumn(i, "ColTop");
m_list.InsertItem(LVIF_IMAGE | LVIF_TEXT , 0, "00", 0, 0, image, 0);
m_list.SetItem(0, 1, LVIF_TEXT, "01", 0,0,0,0);
m_list.SetItem(0, 2, LVIF_TEXT, "02", 0,0,0,0);
0631デフォルトの名無しさん
NGNGスコープを抜けた後、imageListはどうなってしまうのかと問いたい。
0632Disca ◆NAfP6znE
NGNGスコープを抜けたあと…デストラクタが働いて…消えています。
ありがとうございます…。
試したら、解決しました^^/。
0633デフォルトの名無しさん
NGNGあと範囲選択を忘れているとかいうオチはなしな。
0634デフォルトの名無しさん
NGNGめでたくここと統合ってことで。
0635デフォルトの名無しさん
NGNGその利点って何ですか?普通に宣言するのとどこが違うかわかりませんです
0636デフォルトの名無しさん
NGNGmallocと同じく実行してみるまで必要なメモリーの量がわからないときに役立つんだろ?
0637デフォルトの名無しさん
NGNG>>630のようにスコープ抜けても存在してるとか、
スタックよりも領域を多く確保できるとか
0638デフォルトの名無しさん
NGNGそれは普通、staticにするのでは・・・
0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNGcrtl+[F5]は、無理っぽい。
0641デフォルトの名無しさん
NGNGカレントディレクトリ調べるというのもありかも、
ってかそもそもIDEから起動されてることを知って何になる?
0642639
NGNGIsDebuggerPresent()でよさそうです。ありがとうございます。
でもkernel32.libリンクしているのに
>main.obj : error LNK2001: 外部シンボル "_IsDebuggerPresent" は未解決です
になってしまいます・・・
>>641
>ってかそもそもIDEから起動されてることを知って何になる?
IDEから実行すると終了時に窓が閉じてしまうので、mainの最後に
#ifdef WIN32
if(IsDebuggerPresent()){
char buf[80];
printf("end: ");
gets(buf);
}
#endif
って書きたいだけなんです。
0643デフォルトの名無しさん
NGNGですよね??
キャストしたらもちろん消えたけど、何故?
warning C4018: '<=' : signed と unsigned の数値を比較しようとしました。
0644デフォルトの名無しさん
NGNGコンソールアプリで実行したらwinbase.hがはじかれた。
そもそもコンソールアプリは終了時に<Press Enter Key>がでますが。へん?
0645デフォルトの名無しさん
NGNGWORDからintに拡張されて比較…になる。たぶん。
0646デフォルトの名無しさん
NGNG出なかった世?
0647本の虫
NGNGでも、アクセラレータテーブルの結び付け方が分かりません。
どうかご教授ください。
0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNGIMEのプロパティを使用しないで
ユーザーファイルの生成、パスの設定をしたいのですけど・・・
ご存知の方ご教授ねがいます。
0650デフォルトの名無しさん
NGNG0652>>628
NGNGやっぱり出来ないです。
開き括弧と閉じ括弧の数は揃ってます。範囲選択もしてます。
メニューから実行できないし・・とりあえずコマンド名
教えて頂けないでしょうか?
0653643
NGNGVC++6のワーニングレベル3なんだけど相変わらずでるです・・・
0654デフォルトの名無しさん
NGNGとか、自力定義してるんでねーの。
0655デフォルトの名無しさん
NGNGワーニング?
0656デフォルトの名無しさん
NGNGオプションでコンパイル分けするにはどうすればよいでしょーか?
0657デフォルトの名無しさん
NGNGにふぉんぐぉは おんすぇお すぉのむぁむぁ
ひょーきするむぉのでわ あるぃますぇん
0658ふぁふぁふぁ ◆XuOn9thA
NGNG0659デフォルトの名無しさん
NGNGもうすぐ「これ」来るぞ・・・・
0660デフォルトの名無しさん
NGNG同じプロジェクトでビルドの設定
0661デフォルトの名無しさん
NGNG発音聞いてみたが、
ォワーニン
0662デフォルトの名無しさん
NGNG0663デフォルトの名無しさん
NGNGヲーニン?
0664デフォルトの名無しさん
NGNGメニューの 編集‐高度な機能 の中にある。
あと、VC6だとキー割り当てはどうにでもなるから、
ヘルプ‐キーボードマップ とか ツール‐カスタマイズ とか見とけ。
ソースの整形はSelectionFormatだったかな。
0665628
NGNGやっとできました。
ツール − オプションの「自動インデント」が「デフォルト」になってたのが原因のようです。
でも思ってたよりも機能が弱い気が・・ソースの整形というより、単にインデントしているだけだし
(範囲選択して TABキー押すのに毛が生えた程度・・)
でも、ありがとうございました。
0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNGMFC派生クラス(元:CObject)をアプリに追加して動的に生成したいんですが、
SDIアプリケーションで作成するとうまく行くんですが、
ダイアログアプリの場合はコンストラクタ呼び出した時点でクラス名を
クラスとして認識してくれないようなエラーが起きてコンパイルできないんです。
ダイアログアプリの場合だけ何か設定とか必要なんですか?
それともSDIで作らないとMFC派生クラスは使っちゃダメ?
0668デフォルトの名無しさん
NGNG動的生成させたいならDECLARE_DYNAMICとかつけるんだYO
0669デフォルトの名無しさん
NGNG別のプログラムから動作させることは可能ですか?
コマンドライン引数でエクセル起動と同時にマクロを動作させるとかでも
いいんですが・・・。
0670デフォルトの名無しさん
NGNGできますよ。
他人がやってるの見ただけで手段はわからないけど。
0671669
NGNGでもどうやればいいのか全然見当がつきません。
0672デフォルトの名無しさん
NGNG#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
が通らなくなってるんですけど(C2733が大量に出る)・・・
0673デフォルトの名無しさん
NGNGどっちがよいの?
0674デフォルトの名無しさん
NGNGできる。やってる。動いてる。
0675デフォルトの名無しさん
NGNGC で書いてるなら .c
C++ で書いてるなら .cpp
0676デフォルトの名無しさん
NGNG0677672
NGNG勘違い書き込みしてスマソ・・・
0678よろしゅぅ
NGNGINT_PTR ってintとどう違うんでしょうか。
また、[クラスビューのTOPをClick]-[プロジェクト]-[プロパティ]
を見たのですが、
RTTIのスイッチが見つかりませんが標準でONになってるのでしょうか。
またなんで普通に[プロジェクト]を選ぶと、[プロパティ]がないのか
半家しく問いつめたいのです。
0679デフォルトの名無しさん
NGNG0680678
NGNGなるほど。サンクス。
ポインタぽい型名だったから...。
0681678
NGNG->ランタイム型情報の有効化。
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNGCの本を参考にして
#include<graphics.h>
とか<gragh.h>って書くとコンパイルでエラー出ます。
c++だとどうすればよいのでしょうか・・
0684デフォルトの名無しさん
NGNGextern "C" {
# ・・・
}
でだめなら力技
0685デフォルトの名無しさん
NGNGexeから呼び出そうとしているんですが、うまくいきません。
呼び出し元のダイアログのthisポインタをコンストラクタに渡して
DoModalを実行すると即エラーで帰ってきます。
呼び出し元が参照するDLLのヘッダは、DLLでダイアログのクラス作った
ときにできたヘッダファイルのクラス宣言の部分に__declspec(dllexport)
を挿入しただけのものを使ってます。
そのままだと呼び出し元でビルドするとき
//{{AFX_DATA(CChildDlg)
enum { IDD = IDD_DIALOG_CHILD };
の部分がエラーになるので、
DLLのresource.hをIncludeさせてエラー回避してます。
多分これは間違ってると思います。
正しいいやり方を教えてください。
よろしくお願いします。
0686デフォルトの名無しさん
NGNGCOM 使って CreateObject("Excel.Application") して云々、でできそうだけど。
0687デフォルトの名無しさん
NGNG.dllのインスタンスからリソースをロードしてDialogをクリエートして
RunModalLoop()使えば吉。
0688デフォルトの名無しさん
NGNGマルチバイト文字列のコピーはも strcpy で普通にできますよね?
0689デフォルトの名無しさん
NGNG_mbscpyはunsigned char
0690685
NGNG回答ありがとうございます。
早速調べてみたんですが...
dllダイアログリソースをロードする方法が分かりません。
bitmapとかIconをロードする関数は見つかったんですが。
もしかして、暗示的なリンクでなく
LoadLibraryを使ってDLLをロードしてハンドルを取得し、
そのハンドルからDLLのダイアログリソースのハンドルか
リソース名を取得(できるのでしょうか?)するということでしょうか?
書いてて余計分からなくなってきた。
とりあえず今までどおり暗示的なリンクで
exeの中の親画面で
CChildDialog Dialog;
Dialog.Create( IDD_DLG_CHILD, this );
とやってみました。IDD_DLG_CHILDはDLL内部のリソースIDです。
当然NGでした(笑。
もうちょっとだけ分かりやすくおしえてください。
(私が初心者なだけなんですが。すみません。)
よろしくお願いします。
0691デフォルトの名無しさん
NGNGAfxSetResourceHandle()
0692688
NGNGプログラムで扱っている文字列が charなら、文字列のコピーに限っては、
いちいち unsigned char にキャストして、_mbscpyを呼ぶ必要はないわけですよね?
0693デフォルトの名無しさん
NGNGcharなら、まぁTCHARの使用をお勧めするけど
0694デフォルト名無しさん
NGNGHINSTANCEResourceHandle = AfxLoadLibrary (_T("ChildDlg.dll"));
AfxSetResourceHandle (ResourceHandle);
と、ここまでは何とか分かりました。
ここから、ダイアログのCreate関数に渡すダイアログの
リソース名を取得しないといけないですよね。
これもどうやったらいいか分かりません。
そもそも、リソースIDは分かるんですが、リソース名って何なんでしょう?
よろしくお願いします。
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNGリソース名 = MAKEINTRESOURCE(nID);
0698669
NGNGCreateObjectで検索してみたけど、VB関連ばかり引っかかって
Cのは全然見つかりませんでした。
COMもいまいち良くわかってないんで・・・。
どっかにわかりやすく解説したサイトとか無いですかね。
0699デフォルトの名無しさん
NGNGモジュールのWorkbook_Open()がVBAのスタートアップルーチンになるから、
そこにVBAを記述してWin32のShellExecuteでxlsを起動してたらいいと思われるが。
(ワークシートのAuto_Open()でも可)
蛇足:アプリケーションフォルダのXLStartフォルダにXLSファイルを入れておくと
Excel.exeを起動するごとにそのファイル開かれるからいろいろ細工ができる。
(Excel2000以降未確認)
最近のレスでは
http://pc.2ch.net/test/read.cgi/tech/981823340/497-
もあったけどマクロを起動するところまではできていない。
ビジネスSOFT板のExcel総合相談所 あたりでもVBAをあつかってるので聞いてみれば。
0700あ
NGNGリストビューとHTMLと絵描くところの3つに分けたい
0701112
NGNG・CSplitterWndのペイン分割
・テクニカルノート29
・ちゅーとりあるの「ビュー機能の強化」
ぐらいかな。
0702デフォルトの名無しさん
NGNG0703669
NGNG0704デフォルトの名無しさん
NGNG今日本を買ってきてやってるようなペーペーですが,
今,本のとおりにやっているところです.
で,質問なんですが,この本では
ファイルからの入出力にSerialize 関数なるものを使用しているんですが,
これは普通に使うものなのでしょうか?
0705デフォルトの名無しさん
NGNGvoid CtestDlg::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{ // コードの保存
ar << m_wndView.m_nRMax << m_wndView.m_nRPos << m_wndView.m_nCPos;
for(int i = 0; i < RMAX; i++)
for(int j = 0; j < CMAX; j++)
ar << m_wndView.m_text[i][j];
}
else
{ // コードの読み込み
ar >> m_wndView.m_nRMax >> m_wndView.m_nRPos >> m_wndView.m_nCPos;
for(int i = 0; i < RMAX; i++)
for(int j = 0; j < CMAX; j++)
ar >> m_wndView.mtext[i][j];
}}
と,このようなことが書いてあり,意味がわかりません.というか,コンパイルが全くとおりません.ダイアログベースでもこのSerializeというのは使うんですか?
0706デフォルトの名無しさん
NGNGerror C2228: '.m_nRMax' : 左側がクラス、構造体、共用体ではありません。
error C2228: '.m_nRPos' : 左側がクラス、構造体、共用体ではありません。
error C2228: '.m_nCPos' : 左側がクラス、構造体、共用体ではありません。
error C2065: 'RMAX' : 定義されていない識別子です。
error C2065: 'CMAX' : 定義されていない識別子です。
・・・
このようなエラーが出ます.
0707デフォルトの名無しさん
NGNGでがいしゅつです。
てかそのコードにはCXXXViewクラスが必要です。
0708デフォルトの名無しさん
NGNGありがとうございます.
一応見て見ます.
CXXXViewクラスの意味もよく分かりませんが,がんばります.
...
0709陰唇マン
NGNG値だけ書き出してgnuplotで描くってのは?
0710デフォルトの名無しさん
NGNGそのエラー内容は直接シリアライズとは関係ないけどな。
0712デフォルトの名無しさん
NGNGそっちのスレでの497だけど、問題なくマクロも起動できてるよ。
0713デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/4121006240/uselesspgsnes-22/250-871/250-8714597-7391437
0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNGそらね。
0716デフォルトの名無しさん
NGNGMsdevが原因でMFC42.DLLにエラーが発生しました。
Msdevは終了します。
問題が解決しない場合は、コンピュータを再起動してください。
となります。
再起動したのですがまたこのエラーが発生しました。
どうすればいいのでしょうか?
0717デフォルトの名無しさん
NGNGプロジェクト→設定→MFCを使用しないを選択
0718716
NGNGとなっていてそれを変更できません。
0719デフォルトの名無しさん
NGNGインストーラで処理する必要があるのですが、二つの点でつまっています。
1. フォントを格納すべきディレクトリを示すレジストリエントリの存在
2. フォントはディレクトリにコピーするだけで、インストールされるのか?
ご存じの方おられましたらよろしくお願いします。
0720デフォルトの名無しさん
NGNG1.%WINDIR%\Fonts
2.copyコマンドか何かで試せばよかろう。
0721デフォルトの名無しさん
NGNGこのMFCの糞さをぶつけられるスレか掲示板を教えてください。
0722デフォルトの名無しさん
NGNG賑わってないし
0723デフォルトの名無しさん
NGNGSHGetFolderPathにCSIDL_FONTSを渡せばFontsフォルダが取得できる
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNGCListBox* b=(CListBox*)GetDlgItem(IDC_LIST1);
b->InsertString(-1,&gorua);
これで、リストボックスに3000と表示することができました。
でも
int morua=3000;
〜ここで計算などして〜
CListBox* b=(CListBox*)GetDlgItem(IDC_LIST1);
b->InsertString(-1,&gorua);
これでは3000は表示されませんよね。
なにがいいたいかというと、
数字をピクチャーかリストボックスかに表示させたいのですが、
このInterStringの変わりになにをつかえばいいのでしょうか?
itoaとかを使ってchar型にしてからInterStringをつかうんでしょうか?
0726デフォルトの名無しさん
NGNG要するに数字を文字列にしたいってことかな?
sprintfとかMFC使ってるならCStringのFormatとか。
0727デフォルトの名無しさん
NGNG>>726
ありがとうございました!そうですsprintf使ってます。
〜余談〜
こないだぐらいから、VC++の本を二冊買ってきたのですが、
中のC++についてはあまり書いてなかったので、さらにC++の本も買ってきたんですが、
なんか、C++の本の中では
cout << 〜〜
とかが多用してあって、でもVC++のほんの中では一回も出てこないんです。
こりはひょっとしてぜんぜん違うものを買っちゃったんでしょうか?
というような厨です。今後ともDQNな質問をするかもしれませんが、よろしくお願いします。ペコリ
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNGじゃ、かっちまった本は全体的にワスレレゆうことでちか?(・ρ・)ポケー
cout <<だの
>> cinだの ・・
0730デフォルトの名無しさん
NGNGVC++に役立つC++の本でオススメなのがあれば教えて下さい。
独習C++?
僕適には、決め事がつらつら書いてあるのより、
例文というか、例プログラムがたくさんのってるほうが実用上参考になって手っ取り早いんですが。。ガイシュツ?
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGhttp://sourceforge.net/
↑これがなに?
0733デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNGいったいどれだけ糞を巻き散らかす気ですか?
0736デフォルトの名無しさん
NGNG.NETってオブジェクトの解放が基本的に必要ない。
精神衛生上よくないっす。
C#から入門してC++に行ったらとんでもないことになりそうっす。
0737デフォルトの名無しさん
NGNGこの一行だけで知ってる単語を並べただけな感じが。
つーか煽りUZEEEEEEEEEE
0738デフォルトの名無しさん
NGNGっていう問題を教えてください
0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNG× MFCは.NETとかC#に取って・・・
○ COMは.NETとかに、javaとかVBはC#に取って・・・
カテゴリ違いだ
0741デフォルトの名無しさん
NGNGすれ違い
0742730
NGNGtextファイルを開いて、それを配列に格納→計算ということをしようと思っているのですが、
FILE *testbuff;
int suuji[30];
testbuff = fopen( "test.txt" , "r" ); //test.txtを開いてtestbuffに入れ・・
for (int i = 0; i<10; i++){
fscanf (testbuff , "%d\n" , &suuji[i]); //testbuffかたsuuji[]という配列に格納して計算に使用したい。
}
こういう↑のをいれると、コンパイルは通りますが、実行時にどうしてもfsanfのエラーで強制終了になります。
どうしてですか?
そもそもfscanfは使えないんでしょうか?
0743デフォルトの名無しさん
NGNG本当に10行あるのか小一時間。
通常はfscanfの返値で判断するっす。
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNG0746730厨
NGNG早速の返答サンクスです。
test.txtのことですか?
それは
691
698
740
・
・
・
このようなのが100行以上続いています。。
返値ですか。。では返値についてもう少し調べてみます。。
ちなみにデバッグの画面では、
int __cdecl fscanf (
FILE *stream,
const char *format,
...
)
/*
* 'F'ile (stream) 'SCAN', 'F'ormatted
*/
{
int retval;
va_list arglist;
va_start(arglist, format);
→ _ASSERTE(stream != NULL);←ここに矢印が。。
_ASSERTE(format != NULL);
・・・
これは、testbuff(仮名)に値が入ってきていないということでしょうか?
それか、callocとか使ってメモリを確保しておく必要があるということでしょうか?(←ぜんぜん関係ないかも)
0747730厨
NGNGそうですね。
そもそもfopenで開けていない可能性が高いですね。
使用しているテキストファイルは
691
698
740
756
756
747
717
774
786
・
・
このような感じのものです。。200行くらい延々続きマス。
0748デフォルトの名無しさん
NGNG・質問の最初のレスはageよう
・testbuffにNULLが入ってないか?fopenのヘルプを見よう。
if ( ( testbuff = fopen() ) != NULL ) {
処理
} else {エラー処理}
ぐらいが普通の書き方。
・fscanfの\nは要らんと思う(単に無視されるだけだが)
0749730
NGNGご丁寧にありがとうございます!
前回sageにしたままになってました。。
で、
if(( testbuff = fopen("test","r")) != NULL ){
}
else{ c->InsertString(-1,"ダメダコリャ");
}
としたところ、やはりリストボックスcにダメダコリャが。。
ちなみにlongは%dでOKですよねぇ。。どうやらfopenの時点で失敗しているようです。
fopenを見直しながらもうすこし、粘ってみます。。
0750デフォルトの名無しさん
NGNG0751730
NGNGやってみます。。
ありがとうございます。
0752730
NGNGvoid CTestDlg::OnOK()
{
CListBox* c=(CListBox*)GetDlgItem(IDC_LIST2);
///////ファイルtestを開く/////////
if((RRdata = fopen("test.txt","r")) == NULL ){
c->InsertString(-1,"OPEN失敗");
}
else{ c->InsertString(-1,"OPEN成功");
}
}これでやはりNULLを返しているようで、OPEN失敗が出ます。( ´Д⊂ヽ
こんな単純なプログラムが動かなくて、というか、ファイルすら開けなくて、もう泣きそうです。しにたいです。
どうすればいいんでしょうか?fopenを使わないほうがいいんでしょうか?またそれはどんな方法がありますでしょうか?
なんでもいいので、アドバイスください。
0753730
NGNGFILE *RRdata;
0754デフォルトの名無しさん
NGNG0755730
NGNG→〜〜.exe
→test.txt
と、exeとおなじフォルダに入れてあります。
リムーバブルディスク(E:)MO上でやってるんですが、それが原因でしょうか?
ちょっと移動させてやってみます。。
0756デフォルトの名無しさん
NGNGアクセスできる場所にファイルを置いてフルパスで指定することを試してみては。
fopen("C:\\test.txt","r")
みたく。
0757デフォルトの名無しさん
NGNG絶対パスで指定してみるべし。
0758756
NGNG0759デフォルトの名無しさん
NGNGexeと同じフォルダじゃなくて、
ソースファイルとかと同じフォルダにしてみそ。
0760730@ティンカス
NGNG今朝方、こうなったら一からやり直そうと思って、
あたらしくつくったんですが、そのときにtext.txtを移動させるのをわすれてますた。
で、コピーしてやってみたら
で・き・た!
それにしても、昨日までのプログラムと本質的には変わってないはずなのに、どうしてできなかったんだろ。
しまいには、コメント行にエラーがでるようなパルプンテぶりでした。
ともあれ、もうすこし修行をつみます。厨に付き合っていただき、ありがとうございました!×2
0761730@ティンカス
NGNGフルパスの指定の仕方はこうやるんですね。
後学のためにメモっときます。(ほんとなにもわからんのですハイ)
>>759
これも覚えておきます。
とにかくありがとうございました!
ま、これから・・なんですが。藁
0762デフォルトの名無しさん
NGNG0763名無しさん@Emacs
NGNGファイルを新規作成で追加してそれをコンパイルしようとすると
「プリコンパイルヘッダが無い」とか言って「不正なEOFを検出」とか言われるん
ですが、なんとかならんでしょうか。
# 今手元に環境が無いんでメッセージがウロ覚えです。スマソ。
一応今はファイルを追加するたんびにプロジェクトの設定か何かでプリコンパ
イルヘッダは使用しないようにすれば良い事は分かったのですが、追加のたび
にこんな事やらにゃいかんのですか?何か他に解決策があったら教えて下さい。
教えてクンでスマソ
0764デフォルトの名無しさん
NGNG最初からプリコンパイルヘッダのない空のプロジェクト作成してファイルを付け加えていくか、
cppのファイルすべての先頭に、#include "stdafx.h"を付けるべし。
0765デフォルトの名無しさん
NGNGプロジェクトごとプリコンパイル済みヘッダーを使用しない設定にすれ。
設定ダイアログの左のツリーで適用範囲を選んでからやってみれ。
それか、ソースファイルの頭に#include"stdafx.h"(デフォルトの場合)
を追加してみるといいことがあるかも。
0766デフォルトの名無しさん
NGNG0767763
NGNGそーゆー事ですか。ありがとうございます。
stdafx.h をincludeする方で行かせて頂きます。
いやー統合環境って分かんないですわ・・・(汗)。
きっと慣れれば色々自動的にやってくれる便利な環境なんでしょうね。
とにかくありがとうございました。
0768デフォルトの名無しさん
NGNGそのままパクリたいんですけど、どこからインポートしたら良いんですか?
探してるんですけど、なかなか見つからない。
0769デフォルトの名無しさん
NGNG見たらええよ
0770デフォルトの名無しさん
NGNGstd::auto_ptrや各種コンテナのiteratorでIntelliSenceのメンバ表示機能が働きません。
こういうものですか?
0771デフォルトの名無しさん
NGNG0772770
NGNGほ・・・本当は何かウマーイ方法があったりするんでしょう・・・?ドキドキ(・∀・)
0773デフォルトの名無しさん
NGNGIntelliSenseにテンプレートを展開してくれる様な便利な機能は備わってません
0774770
NGNGアキラメ マスタヽ(´∀`)ノ
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNGそいつは本末転倒っぽい気が…
(VC.NET だとできたりするのかなぁ)
0777デフォルトの名無しさん
NGNG俺もVC++.NETでの対応に期待してたんだけど、やっぱり駄目みたい。
クラスインスタンス生成時の例外によるクリーンアップは、スマートポインタを使わずに、
コンストラクタでヌル初期化、メンバ関数で実初期化って、ごまかしてる・・・。
デストラクタをいちいち書かないといけないのが面倒。
0778708
NGNGあれから,フルパスで指定するなどして,openはエラー無く出来るようになったんですが,その内容を確認するところでまた詰まっています.以下のプログラムで,
FILE *buff;
int RRdata[300];
void CMyadDlg::OnButton6()
{
CListBox* c=(CListBox*)GetDlgItem(IDC_LIST2);
if((dataall = fopen("C:\\test.txt","r")) == NULL)
c->InsertString(-1,"File opne error");
for (int i=0;i<3000;i++){
if (fscanf(buff,"%lf",&data[i]) == EOF )break;
CString datatext;
datatext.Format("%05d",data[i]);
c->InsertString(-1,datatext);
}
【test.txtの内容】{
671
673
638
}
【結果】リストボックスに
00000
00000
00000
と表示されてしまいます.なぜでしょうか.
671
673
638 ←と表示されることを期待しているのですが..
これもいろいろとためしてはみたのですが,
例えばアドレスを表示させようとしてみると,
フフフフ・とかわけのわからん文字が出力されます.これはこんなものですか?
0779デフォルトの名無しさん
NGNG今の . -> :: 等が入力されるときにメンバーを列挙する仕様だけで十分
0780708
NGNGFILE *buff;
int RRdata[300];
void CMyadDlg::OnButton6()
{
CListBox* c=(CListBox*)GetDlgItem(IDC_LIST2);
if((buff = fopen("C:\\test.txt","r")) == NULL)
c->InsertString(-1,"File open error");
for (int i=0;i<3000;i++){
if (fscanf(buff,"%lf",&data[i]) == EOF )break;
CString datatext;
datatext.Format("%05d",data[i]);
c->InsertString(-1,datatext);
}
↑これを使っています.
0781デフォルトの名無しさん
NGNGintならfscan()の%lfが間違ってる。
0782708
NGNGint data[300];
また間違えてました.
int data[i];
なので,fscanfの%lfをかえてやってみます.
0783708
NGNGできました!
いろんなとこ換えていろんなこと試したのに,どうして気づかなかったんだろう..
ほんと,感謝です!
あっさり解決したので,感動しますた.(´д`)
これさえ出来れば,解析用のソースはあるので,
軌道にのりそうです.ありがとうございます!
0784デフォルトの名無しさん
NGNGん? 展開できないのはtempleteではなくてtypedefだと思うが。
まぁどっちにしろ使えないのは一緒だけど。
0785デフォルトの名無しさん
NGNG結果がうまく表示されません。
というのは、表示されるんですが、一瞬でウィンドウが閉じてしまいます。
なんでですか?
0786デフォルトの名無しさん
NGNG出力結果が見たいならDOS窓から実行してあげなさい。
ちなみに、リダイレクトを使えば出力全部も見れるよ。
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNG最後に<Press any key to continue>でるけど、漏れのだけ?
0789785
NGNG学校でやってたんですが、周りの人はウィンドウ表示が継続されてましたよ?
0790デフォルトの名無しさん
NGNG先生の言うことはよく聞きましょう。
0791デフォルトの名無しさん
NGNGデバッグ無しで実行は消えない
もし消えるならどこか腐ってる
0792デフォルトの名無しさん
NGNGextern "C"
ってやらなかったらどうなるの?
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNGC++形式になる。
多分モジュールにしてCから呼ぼうとした時にリンカが困るかと。
0795yamamoto
NGNGいますか?
コンパイルとかは普通に通るんですけど、実行すると固まります。
ウインドウが出るまでF10、F11で、ステップ動作させると、後は
問題なく動くんです。
exeも2000とかで実行すると問題ないんです。
2000マシンでは一度もこういった事なかったんですが、XPプリインストール
マシンに変えてから、こうなってしまいました。
検索したら、やはり他の掲示板でも同じような状況の方いるようなのですが
解決方法がわかりません。
わかる方いましたら、ご伝授ください。
WindowsXP+VisualStudio6エンタ
です
よろしくお願いします。
0796紅孔雀さん
NGNGDATE date("2000/01/01 00:00:00"); //クラス内では年月日などをint型変数に入れている
cout << date;
とすると「 2000/01/01 00:00:00 」と出力されるようにしたいのですが、分からない事があ
るので、分かる方おりましたらお教え下さい。ソースは最小になるように変更しています。
#include <iostream>
using namespace std;
class PIYO {
int hoge;
public :
friend ostream &operator << (ostream &stream,PIYO &piyo);
};
ostream &operator << (ostream &stream,PIYO &piyo) {
stream << piyo.hoge; //←
return stream;
}
こうすると「 //← 」の位置で「privateメンバにアクセスできません」というエラーが
出てしまいます。「 friend 」を付けているのでプライベートメンバにアクセスできるはず
だと思うのですが。また次のようにクラス内で宣言と定義を同時に行ってしまえばなぜかエ
ラーは出ません。
class PIYO {
int hoge;
public :
friend ostream &operator << (ostream &stream,PIYO &piyo) {
stream << piyo.hoge;
return stream;
}
};
使用している開発環境は VisualC++6.0 Standard Edition で、サービスパックは入れてい
ません。質問したい内容をまとめると「最初のソースでなぜフレンドにしているのにプライ
ベートメンバにアクセスできないのか」、「最後のソースのようにするとなぜエラーが出な
くなるのか」ということです。C++については「独習C++」という本を読んだ程度で全
ての機能については知りません。
0797デフォルトの名無しさん
NGNGとりあえずイレロ。話はそれからだ。
0798デフォルトの名無しさん
NGNG家じゃそのソース通ったぞ
0799紅孔雀さん
NGNGどうもお騒がせしました。早速サービスパックダウンロードしに行ってきます。
m(__)m
0800カミーゆ
NGNG0801808
NGNGがどこかにあったと思うのですが、いくら探しても見つかりません。
どなたか教えてください。
ちなみにSP5をあててます。
0802808
NGNG0803808
NGNG0804デフォルトの名無しさん
NGNGPentium FDIV のチェック
Pentium プロセッサのバグ対策
Pentium FDIV のバグ チェック
を調べると割り算とかTANとかしか出て来ないから、コンパイラはFISTを回避した
コードしか吐かないようになってるんじゃないですか?(多分)
0805808
NGNG「Pentium〜なんとか〜を回避する」とかいう名前のチェックボックスでした。
しかし見つからない。思い違いなのかな・・・。
0806デフォルトの名無しさん
NGNGSDIプログラムからもう一つウインドウを開かなければならなくなりました。
ダイアログなら簡単ですが、お客さんの要望で、「ウインドウ」に
しなければなりません。
掲示板に書き込めるほど単純ではないと思うのですが、
流れとか使うAPIとか、あるいは書籍やWebサイトなど、
ヒントだけでも教えていただけないでしょうか?
VC++6.0/MFCを使っていますが、SDK式でもヒントになります。
よろしくお願いいたします。
0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNGCCreateContext
LoadFrame
あたりを参照。
0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNGありがとうございます。がんばって検索中です。
>>809
モードレスダイアログを普通のウインドウっぽく見せられるんでしょうか?
それならその方が...氏にそうす。
0811デフォルトの名無しさん
NGNG素直にMDIにするか、もう1個アプリケーションを作った方が楽だと思われ
普通のウインド???
→クライアント領域とタイトルバーシステム領域がある→CViewかその子分
0812デフォルトの名無しさん
NGNGそれとも、全く別のウインドウなのかによって答えがずいぶん変わる
0813708
NGNGDebug assertion failed!という
エラーが出て,デバッグをしようとすると,
..\VC98\MFC\SRC\STREX.CPP
のウインドウが開き,
・・・
case 'p':
va_arg(argList, void*);
nItemLen = 32;
nItemLen = max(nItemLen, nWidth+nPrecision);
break;
// no output
case 'n':
va_arg(argList, int*);
break;
default:
→ ASSERT(FALSE); // unknown formatting option
}
}
// adjust nMaxLen for output nItemLen
nMaxLen += nItemLen;
default:
・・・
上記の→のところで,エラーを吐いている模様です.
こんなエラーにどなたか心当たりのある方いらっしゃいますか?
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNG新しくウインドウを開くのは、LoadFrameに適切なパラメータを
与えればすぐできると思うけど、そのまえに仕様を深く考えてみたかい?
新しくウインドウを開くと言う事は、モーダルじゃないって事。新しい
ウインドウとは無関係に、元のウインドウのクローズボタンを押されると
言う事だよ。
一応MFCにはCanCloseFrameとか、色々なサービスは用意されているけど、
この点で矛盾が無いように、コーディングの前によく検討する事をお勧め
するよ。
0816デフォルトの名無しさん
NGNG晒すべコードは、ちみの Format();の引数だと思われ。
0817デフォルトの名無しさん
NGNGchar *a;
if (a != 0) {
delete [] a;
}
a = new char[10];
と書いたのです。(MFC内で書いたのですが)
すると、コンパイルエラーは出ないのですが、deleteの部分で
実行中にエラーが出ます。
教えてください。
0818デフォルトの名無しさん
NGNGa = new char[10];
・・・
delete a;
か
char * b = new char[10];
・・・
delete b;
か
char (*c)[10] = new char[5][10];
・・・
delete[] c;
のどれかでしょう。
0819デフォルトの名無しさん
NGNGif(a != NULL)
delete [] a;
a = new char[10];
0820デフォルトの名無しさん
NGNG0821708
NGNGどうしてわかるんですか!!ありがとうございます.
原因は,
一箇所,
〜〜.Format( %l , double );
となっていました.doubleを%lに格納しようとしたためのようです.
どうもありがとうございました.
0822デフォルトの名無しさん
NGNG>>816はスーパーハカーだから。
0823デフォルトの名無しさん
NGNG質問させてください
ダイアログ型アプリケーションをAppWizardで作成して、そこに
ボタンを配置しました。
そのボタンをClassWizardでクラスを追加するところまで着ました。
そしてメンバ関数「OnButton1」のコード編集をすると言う状態です。
void CTestDlg::OnButton1()
{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
}
ここにボタンが押されたときのコードを追加したいのですが、よくわからないのです
やりたいことは、指定したエクセルなどのファイルをエクセルで開くということです
(ボタン一発でファイルを開きたいです)
c:\hoge\excel.exe \\fileserver\hoge\hoge.xls
このような感じのコマンドをボタン押したら実行できるコードはどのような関数を使
ったらよいのでしょう?
そのほかスマートなやり方などあれば御教授お願いします
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG0826823
NGNGありがとう!!
ShellExecuteをキーワードにいろいろ探したら見つかりました
HINSTANCE hInst = ShellExecute(NULL,"open",
"ファイルの場所",NULL,NULL,SW_SHOWNORMAL);
感謝してます
>>825
そのつもりは無いんだけど、そう思われても仕方ないですね
これからもっと勉強します
0827810
NGNGありがとうございます。
新しく開くウインドウそのものは、(今のところ)データ表示だけです。
(だからダイアログでもいいわけですが。;;)
おっしゃるようにCFrameWndオブジェクトをnewで生成し、LoadFrameやって、
ShowWindow、UpdataWindowで表示できました。
>ウインドウとは無関係に、元のウインドウのクローズボタンを押されると 言う事だよ。
ご指摘ありがとうございます。大モトのウインドウの終了時にdeleteしてやろうと思っています。
あんまり聞いてしまって申し訳ないと思ってますが、もし、上の方針がおかしければ、
教えてください。
今日は徹夜のようです。
0828デフォルトの名無しさん
NGNGコンパイラオプションの /QI0f 、 /QIfdiv
0829デフォルトの名無しさん
NGNG初心者スレが埋もれているので、ここで質問させてください。
Debug版のバイナリはある程度安定して動くのですが、Release版のバイナリは
「不正な処理が」のエラーがでて動きません。
一般論としてどういう風にデバックすればよいでしょうか?
デバッガ上は下のようなメッセージが連発してます。
'xxx.DLL' をロードしました、合致するシンボル情報は見つかりませんでした。
それからDebug版でも
Warning: skipping non-radio button in group.
というようなエラーメッセージがでてます。
Release版が動かないことと、上の二つのメッセージは直接関係ないと思って
いるのですが、いかがでしょうか?
0830デフォルトの名無しさん
NGNGReleaseにしたら動かないのは、ほとんどが未初期化の変数を使っている場合。
コンパイラの警告メッセージで「未初期化の」ってでるはずだから、
それを無視せずにきちんと初期化してから使うようにしなさい。
たまーに、#pragma warningとかでその未初期化の警告を表示しないようにしてたりする
糞コードや、コンパイラの警告レベルをデフォルトよりも低く設定してるケースがあるので、
プロジェクトの共通インクルードファイル(stdafx.hみたいなの)やコンパイラの設定を
確認しなさい。
それでもダメなら、解放したメモリを再度アクセスしてないかとか、
配列のサイズを超えてアクセスしてないかとか見なければいけないが、
その前に、どういうエラーがでて止まるのかをきちんと調べなさい。
レアケースで、コンパイラの最適化バグというのもあるが、
それを疑うのは10年速い。
0831デフォルトの名無しさん
NGNGVBのデータコントロールなら分かります。
C#はデータベース操作に向いていますか?
C#買ったらWin98に対応していないことに気づき鬱になりました。
すれ違いですがマジレスしてください。
0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGVC挫折する前にウィザード使わなかったのですか?
(VC6はもしかしてEnterpriseEditionでないと付いてないのかな?)
C#はWin9X不可なんですか。こりゃ使えん。
0834デフォルトの名無しさん
NGNG根も葉もない噂流すのやめてもらえるか?
VS.NETだけだよ。NT専用は。
Frameworkは98以降すべて対応。
SDKはしらん。
0835デフォルトの名無しさん
NGNG横からなんだが、833には罪はないぞ
0836デフォルトの名無しさん
NGNG実行環境、開発環境どっちのハナし?
0837デフォルトの名無しさん
NGNG831にも罪は無い。よく読まないおまえが悪い。
831はOSを乗り換える事をお勧めする。
0838デフォルトの名無しさん
NGNGVC++やってるんですよ今。
そんで秋には基本情報受けるんですよ。
まず基本のソースを覚えないといけないんですけど
Cって2タイプあるじゃん。
<stdio.h>→printf("猫好き");
<iostream.h>→cout<<"猫好き";
どっちをやるべき?、まあ両方やっとかないといけないだろうけど
まずはどっち?おレ的にprintの方だと思うんだけど。
基本情報の午後の試験でCを選らんだ場合、こっちがでるよね。
しかもVCやってると変数の表示とかでprintfは使うけどcoutなんか
使わないしさ。どっちがいいのだろうか?
0839デフォルトの名無しさん
NGNG日本語か一般常識のどちらかだな
0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNGまずC入門書を一冊読んでください。
0842デフォルトの名無しさん
NGNGさんきゅー
やっぱprintfだよね。
プログラムの勉強のHPいってもみんなprinfだしさ。
大学でcoutの方なんか教育してるんですよ。まあ一応覚えたけどさ。
もう見てらんない。VCやりだしたら全然使わないし。
0843デフォルトの名無しさん
NGNGお前の発言が見て欄内。。。
0844デフォルトの名無しさん
NGNGstream自体は結構使うが?
coutをcout << hogehoge;のように生で使うことがあまり無いだけ。
手で書いていくならprintfの方が体裁を整えやすいから。
とりあえず、<iostream.h>なんてやってるうちは覚えたウチに入らない
0845デフォルトの名無しさん
NGNGあんたイタすぎるよ
0846デフォルトの名無しさん
NGNG吉野家コピペの見すぎと思われ(w
0847デフォルトの名無しさん
NGNGMsdevは終了します。
問題が解決しない場合は、コンピュータを再起動してください。
となりました。再起動してもまたエラーが発生してしまいました。
どうすればいいのですか?
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNGformat c:
0850親切な人
NGNGヤフーオークションで、凄い人気商品、発見!!!
「高性能ビデオスタビライザー」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA
ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
0851デフォルトの名無しさん
NGNGそもそも「C」にstreamなどない。
0852デフォルトの名無しさん
NGNG氏ね
0853デフォルトの名無しさん
NGNGエディットボックスや、リストボックスに書き込みできる文字数を
VBのプロパティのマックスレンジのように指定したいのですが、
(指定したケタ以上は入力を受け付けない)
VBのようにコード以外で設定する方法はあるでしょうか?
いまは余剰桁が入力されたら、その直前の状態に戻すやり方で
やっているので、動きの見た目がわるくて・・
0854デフォルトの名無しさん
NGNG�@
・クラスウィザード[変数]でダイアログクラスに変数の追加
・エディットボックスをCString 型にして変数名を入力
・最大文字数を指定
�A
メンバを追加
CString m_strEdit1;
DoDataExchange()で
DDX_Text(pDX, IDC_EDIT1, m_strEdit1);
DDV_MaxChars(pDX, m_strEdit1, 256);
を実行
0855デフォルトの名無しさん
NGNG御教授ありがとうございます!
どちらも今後に使えそうな知識なので、
参考にさせてもいただきます
0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG0862730
NGNGこちらでおねがいしようと思います。
23┓
21┃→series一回目
24┃
22┃┓
23┃┃→series二回目
23┃┃ ・
22┃┃ ・
・
・
というようなintが改行で仕切られた3万行くらいの長〜いファイルがあり,それをalldataに開いています.
そこから100行くらいのデータを切り取って
itijidataに格納しseries(ポインタ)として解析にぶちこむ.ということをしたいのですが,解析プログラムはわけ分からないのでいじれず,
とにかくポインタで指定したseriesをいれればいいのですが,
どうやら関数の中でseriesをいじっているらしく,上記のように3つずらして次の解析に使用すると前回使用した部分のデータの内容が変ってしまっています.
どのようにする方法があるでしょうか?
いちおう考えてやって見ているのが下記のコードなんですが,
FILE *alldata;
int *series,*data;
int itijidata[200];
alldata = fopen("C:\\test.txt","r");
for(int count = 0 ; count <ファイルの最後まで; count++){
//解析を行うごとにループし・・
data = &alldata[0] + count*3*sizeof(double);
//ここで3つずらして次の解析に必要な頭出しをしてるつもり・・
for (int i=0 ;i<200 ;i++){
if (fscanf(data,"%lf",&itijidata[scandata]) == EOF )break;
//ijitidata配列に格納し・・
}
series = &itijidata[0];
〜ここでseriesを用いた解析をはさむ〜
}
質問は3つです.
◆ファイルからずらして配列に格納するにはどのような方法がありますか?
◆ずらした位置を指定して配列に格納させるようなfscanfに代わるものはありますか?
◆ファイルポインタで指定したものが変更されてしまうのですが,どのようにすればよいでしょう.
なんか混乱してきたので,多分上のプログラムはめちゃめちゃです.鬱
もうわけがわかりません.どなたかアドバイスをおねがいいらします.
0863デフォルトの名無しさん
NGNGそこをルーチンとして独立させるのが先かなあ。
0864デフォルトの名無しさん
NGNG0865デフォルトの名無しさん
NGNGそこにデータを食わすところを改良するというのをやってるんじゃないかな
0866730
NGNGどこらへんがわけわからんでしょうか?たしかに自分でもわけわからんと思いますが。。
基本的な質問は、
◆intがなn行もつづく長いファイルから100行程度抽出し解析、次に何行かずらして配列に格納し解析、という風にするにはどのような方法がありますか?
◆ずらした位置を指定して配列に格納させる(上述のようなファイルの中の何行目かを指定して抽出する)ようなfscanfに代わるものはありますか?
主にこれら2つというか、似たような質問なんですが。。。
3つめは配列を二つつくって回避します。
0867730
NGNGそうです。そうなんです。
だれかがつくってるだけあって、*seriesを渡す、という以外にはとてもいじれそうになくて、
そこでこっちで解析用のseriesを用意して、毎回送り出してやろう、という寸法なんですが、
で、解析には100行程度のデータが必要なんです。
なおかつ、元ある長〜いファイルの全域に渡って解析を行いたいのですが、
その長いふぁいるから100行程度を抽出→seriesとして解析にまわす。ということができずにいるんです。。これが質問1、2になります。
ちなみにseriesはint *series;で宣言してあります。ので余計やっかい。でもないのかな。。
seriesでポイントさせて渡すと、解析が終わったあとに、seriesの中身は改変されています。なので、エリアがかぶったデータは次の解析にはまわせません。
という問題もあります。これが質問3になります。
0868730
NGNGdata = &alldata[0] + count*3*sizeof(double);
//ここで3つずらして次の解析に必要な頭出しをしてるつもり・・から、、
if (fscanf(data,"%lf",&itijidata[scandata]) == EOF )break;
このへんが(゚Д゚)ハァ?というかんじかと思います。(;^_^A
0869デフォルトの名無しさん
NGNGseriesを解析するAnalyzeSeries(series);があってそれに渡すんでしょ?
解析するには一度に全部のデータが必要なんじゃないのか?
0870730
NGNGはい。
とりあえず、ひとつだけseries(100行程度のデータ)をわたして解析するということは成功したんですけど、
少しずつずらしてseries(100行程度のデータ)を渡し、連続で解析するというのができずにいます。
0871デフォルトの名無しさん
NGNGAnalyzeSeries(PartOfSeries)*いくつか
にしたいってことだろ?
そんなもん、AnalyzSerieseがストリーム処理を受け付けないと無理じゃん
0872デフォルトの名無しさん
NGNG0873730
NGNG↓
まちがえてました。
if (fscanf(data,"%lf",&itijidata[i]) == EOF )break;
です。
0874730
NGNG今、書いてみましたが。これでうごくのかな。今、家なので、ちょっと動作確認できないんですが。。
もっとスマートなやり方はないんだろうか。。
FILE *alldata;
int *series,*data,data[300000],kaisekiyou[100];
alldata = fopen("C:\\test.txt","r");
while(1){
for(int j=0;;j++){
if( fscanf(alldata, "%lf" ,&data[j]) == EOF ) break;
}
for (k=0 ;k<100; K++){
kaisekiyou[k] = data[i+k];
series = &kaisekiyou[0]
//とにかくここまでにseriesに解析用のデータを耳を揃えて提出すれば解析はやってくれる模様
【ここでseriesを使用している】
i++;
}
ちょっと明日これでやってみます。できたかも??
0875デフォルトの名無しさん
NGNGおいおい
0876デフォルトの名無しさん
NGNG0878デフォルトの名無しさん
NGNG0880829
NGNG>>830
どうも親切に産休です。
やはり基本的なメモリの問題ですね。
++初体験なので、どういう初期化がされているのかわからなくて。
文字列代入できるようになってたり、異文化コミュニケーションです。
もらったキーワードを参考につぶしていくです。
0881デフォルトの名無しさん
NGNGint dammy_data;
int* data;
int kaisekiyou[100];
int data_max;
int data_num;
int i;
int kaisekiyou_num;
int inc_value;
data_max = 300*1000; // data の最大登録数 (30万行)
data_num = 0; // data に登録した数
data = malloc(data_max*sizeof(int)); // メモリの確保
alldata = fopen("C:\\test.txt" , "r");
while(fscanf(alldata , "%d" , &dammy_data) != EOF)
{
if(data_num < data_max)
{
data[ data_num ] = dammy_data;
}
data_num++; // インクリメント
}
fclose(alldata);
if(data_num > data_max)
{
printf("配列数が足りね〜ぞ! 可及的速やかに %d 個用意しろ!\n" , data_num);
free(data); // メモリの破棄
exit(); // プログラム終了
// data_num = data_max; // exit() を使わずに継続するなら data_num を調整する必要あり
}
kaisekiyou_num = 100; // 解析に必要な数
inc_value = 10; // ずらすサイズ
for(i=0 ; i<=data_num-kaisekiyou_num ; i+=inc_value)
{
memcpy(kaisekiyou , data+i , sizeof(int)*kaisekiyou_num); // 解析用メモリにコピー
// 解析用の関数に kaisekiyou を渡せば計算するんじゃない?
}
free(data); // メモリの破棄
---------------------------------------------------------
fscanf あたりは自信無し。
改行って自動的に処理される?
fscanf なんて原始的な関数は学生時代に使ったきりで以降使用していないので良く分からん。
0882デフォルトの名無しさん
NGNGfscanfは空白文字(改行)が現れると次の非空白文字まで読み飛ばす。
0883初心茶
NGNGあまりにも面倒だと思うんですけど…
WindowsアプリでTabStopが付いてないソフトなんてあまり見ないですよね。
標準の機能だと思うんだけど、実装するのに面倒なのってどうよ?
もしかしたら簡単に実装する方法ってあるんですか?
0884デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNGその際、パレットの中から最も白に近い色で描画したいのです。
しかし、SetTextColorでRGB(0xFF, 0xFF, 0xFF)を指定しても
文字が黒くなってしまい、
Red*0.30 + Green*0.59 + Blue*0.11 の値が最も大きくなった
パレットの番号を代わりに指定してもやはり文字が黒くなってしまいます。
しかしSetTextColorの色指定に0や1や2などを指定すると別の色が出るんです。
もしかして256色の場合はパレット番号を指定するのかと
有り得ない考えを起こして、
試しにn番目のパレットのRGB値を確認しながら
SetTextColorの色指定にnを当てて文字列を描画、
という作業を暫く試してみたんですが、
当然ながらパレット番号とは無関係なようでした。
どうやったらスマートに思った通りの色(もしくはそれに近い色)で
文字列を描画出来るでしょうか。
御存知の方いらっしゃいましたら御教授御願いします。
0887デフォルトの名無しさん
NGNG> パレットの番号を代わりに指定してもやはり文字が黒くなってしまいます。
> もしかして256色の場合はパレット番号を指定するのかと
> 有り得ない考えを起こして、
な、なんか話の展開がおかしいですね。
分かり難くなってしまってすみません。
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNGはい。しています。
自前で256色のBMPファイルを読み込む処理も入れているんですが、
画像は綺麗に出ているんです。
0890デフォルトの名無しさん
NGNG0891886=887=889=自分
NGNG以下のようにして最も白に近いRGB値を持つパレット番号を算出しています。
for (i = 0x00; i <= 0xFF; i++) {
color =
hb->lpRGB[i].rgbRed * 0.30 +
hb->lpRGB[i].rgbGreen * 0.59 +
hb->lpRGB[i].rgbBlue * 0.11;
if (color > nwcolor) {
nearwhite = i;
nwcolor = color;
}
}
FontColor = nearwhite;
そして文字列描画関数をこのようにして呼び出しています。
SetTextColor(hb->hdcMem, FontColor);
TextOut(hb->hdcMem, x, y, str, strlen(str));
hbというのは画像処理に使うデータをまとめている構造体です。
0892デフォルトの名無しさん
NGNGその操作方法違うぞ。
もっとも輝度が高いパレットが選ばれるだけ
0893886
NGNGGetSystemPaletteEntry()で取得してからそれ見ないと駄目なのかな……
0894デフォルトの名無しさん
NGNGGetTextColorで帰ってくる色を確認した?
0895886
NGNGああっ。そうなんでか。よく判らずやっていました。御指摘ありがとうございます。
でも黒になるというのはおかしいですよね。
それに、実際に算出された最も硬度が高いパレットのRGB値を見ると、
0xFF 0xFF 0xFFになっていたんです。
今思い付いたのですが、テキスト用にバッファを用意して、
一度ZeroMemoryか何かでゼロクリアしてから文字列を描画して、
それを自分でメインのバッファに貼り付ける、という手がありますね。
というかこれをやれば済む話ではあるんですが、
やっぱりスマートな方法は無いのかと……。
もしも解決法が判らなければこのバッファを使った方法を採ります。
お世話になった方々、ありがとうございました。
0896デフォルトの名無しさん
NGNGぐあっ。確認していませんでした。
今大急ぎで調べると、SetTextColorに関しては
エラーを示すCLR_INVALIDは返していませんでした。
GetTextColorの方も試してみます。
0897デフォルトの名無しさん
NGNGRGB(255, 255, 255)がある時はそうなるが、
127 255 64 < グリーン
127 127 127 < グレー
の2色を比較したときグリーンが選択される。
で、>>894は?
0898886
NGNGエラーは返さず、SetTextColorで指定した値がそのまま帰ってきています。
パレット番号を与えた場合はパレット番号がそのまま戻ってきて、
RGB(0xFF,0xFF,0xFF)を与えた場合は0xFFFFFFが戻ってきました。
0899デフォルトの名無しさん
NGNGウインドウとメモリDCに同じパレットを選択してる?
もしくは、ウインドウに選択した後にCreateCompatibleDCやってる?
0900886
NGNGはい。CreateCompatibleDCを行っています。
他のパレット操作はきちんと成功しているのですが、
SetTextColorだけはどうすればいいのかわからなくて……。
0901デフォルトの名無しさん
NGNG0902708
NGNGありがとうございます!
今,これで入れてやってみようとしているところです.
で,
data = malloc(data_max*sizeof(int)); // メモリの確保
↑ここで,'=' : 'void *' から 'double *' に変換することはできません。という
エラーを吐くのですが..
0903デフォルトの名無しさん
NGNGdata = (double *)malloc(data_max*sizeof(int));
ってキャストしなされ。
0904708
NGNGその*がわかりませんでした。..
0905886
NGNG指摘してくれた方々、ありがとうございました。
0906デフォルトの名無しさん
NGNGクラスウィザードの
CString系で作ったメンバに
文字数を設定して、エディットボックスはうまく文字数制限
出来たのですが、
コンボボックスだけどうしても制限が働いてくれません。
コードでは
DoDataExchange()
DDX_CBString(pDX, IDC_EDIT1, m_Edit1);
DDV_MaxChars(pDX, m_Edit1, 20);
という形になっているのですが・・
他の周りでの設定なども必要なのでしょうか。
0907デフォルトの名無しさん
NGNGDDX_CBString(pDX, IDC_COMBO1, m_combo1);
DDV_MaxChars(pDX, m_combo1, 20);
だけどウィザード使ったほうが楽です。
0908906
NGNG907さんのとおりコードは
DDX_CBString(pDX, IDC_COMBO1, m_combo1);
DDV_MaxChars(pDX, m_combo1, 20);
になっていて、
ウイザードで設定も試してみたのですが、
なぜか稼動しなくて。
907さんお返事ありがとうございました!
0909デフォルトの名無しさん
NGNGおい、WinXP で CPU 使用率とかちゃんと取れてるか?
なぜかアプリが終了しねーぞ。
0910時刻・日付について
NGNG〜年〜日〜時〜分〜秒または
〜y〜d〜h〜m〜sと変換するようなうまい関数はないでしょうか?
なければ、modでちくちくやるしかないんでしょうかね?
0911デフォルトの名無しさん
NGNGしかしDirectInputの入力データ取得はその関数が呼び出された時の
キーのデーターを取得するものなので、60fpsの場合に15ms以下の速さで
入力した場合にキーのデーターを取得できないため
とりあえず一度キーのデーターを取得する関数を
別スレッドから呼び出そうとしたのですが
エラーが出ます、別スレッドを作らないで
ゲームループの中で使用した場合はエラーは出ません。
3週間悩んでいるのですが分かりません、どうかお願いします
http://kobe.cool.ne.jp/solo2000/CInput.h
http://kobe.cool.ne.jp/solo2000/CInput.cpp
http://kobe.cool.ne.jp/solo2000/CInputControl.h
http://kobe.cool.ne.jp/solo2000/CInputControl.cpp
0912デフォルトの名無しさん
NGNG(ゲ制板で聞くほうが・・・)
0913デフォルトの名無しさん
NGNGstrftime、ってこと?
0914時刻・日付について
NGNG少し調べましたところctime()でできました。
お騒がせしました。もう少し調べてから質問することにします。
0915デフォルトの名無しさん
NGNG打たなくても最初から書き込んであるやつです。編集しようと思えばできるってかんじの。
0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNG((CEdit*)GetDlgItem(IDC_EDIT1))->SetWindowText(value);
このようにしたけど、IDC_EDIT1の窓には何にも表示されませんが・・・
なお↓これでもだめでした。
((CEdit*)GetDlgItem(IDC_EDIT1))->SetWindowText(000);
なにがいけないんでほう?
0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNGというか、エラーこそ出ませんけど、
警告のアラシです。
intだのcharだのとわめいています。
0920デフォルトの名無しさん
NGNGエディットボックスの操作はそれで良いが、CStringあるいは charの使い方
が間違い。数字を表示させたかったら、Formatするなり、SetDlgItemInt使う
なりしる!
0921デフォルトの名無しさん
NGNGではFormat汁ます。
サンクスコです。
0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNGnenn.Format("%d",200);
(GetDlgItem(IDC_EDIT1))->SetWindowText(value);
できないよう。くすん。
0924デフォルトの名無しさん
NGNG小一時間、いや朝まで問いつめるぞ。
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNGvalue.Format("%d",200);
(GetDlgItem(IDC_EDIT1))->SetWindowText(value);
いやん。つっこまないDE
ちなみにこれでも200が表示されません。どぼちて?
0927926
NGNG/::::::\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(´∀` ) < ねんねんねんnennVCむかつくねん!
O--⊂ × ) \___________
(∴) 彡(,,,(,,,(ξ⊃
という感じです。>>925
0928デフォルトの名無しさん
NGNG「1000までに >>915が、エディットボックスに 200という数字を表示させることができるか?」
というスレに変更されました。
0929915
NGNG/::::::\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(´∀` ) < ねんねんねんnenn>>928むかつくねん!
O--⊂ × ) \___________
(∴) 彡(,,,(,,,(ξ⊃
おしえてよ けち。
0930デフォルトの名無しさん
NGNGそれをどこに書いてる?
コンストラクタの中とか言ったら12回ほど死なす。
0931915@天才
NGNGなんやメンバ変数とかいうのをいじって、
m_edit2 = _T("");
こんなのができたところで、""内を変更して
m_edit2 = _T(-""-;) {…。
こうしたところ、無事「(・∀・)」が表示されますた。
やったー。
0932915@天才
NGNGコンストラクタってなに?てへっ
0933デフォルトの名無しさん
NGNGそこで、あらかじめひょうじしたい個所にピクチャを設け、表示させようとしたんですが、
下記のコードは、hogehogeDlg.cppのどこに配置すればいいんでしょうか?
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
CWnd* hgraph=GetDlgItem(IDC_PICT4);//ピクチャhに関すること
CDC* pgraphDC=hgraph->GetDC();
CRect rgraphpict; //ピクチャの領域サイズをrに取得
hgraph->GetClientRect(&rgraphpict);//ピクチャの領域サイズをrに取得
CFont NewFont;
TEXTMETRIC tm;
CString strText;
NewFont.CreateFont(
24 * 20, //高さ(論理単位)
20, //文字の平均幅(論理単位)
900, //傾斜角度
0, //ベースラインとx軸との角度(0.1度単位)
FW_NORMAL, //文字の太さ(1/1000ピクセル単位)
FALSE, //イタリック指定
FALSE, //下線指定
FALSE, //取消し線
ANSI_CHARSET, //フォントの文字セット
OUT_DEFAULT_PRECIS, //出力精度の指定
CLIP_DEFAULT_PRECIS, //クリッピング精度の指定
DEFAULT_QUALITY, //フォントの出力品質の指定
DEFAULT_PITCH|FF_ROMAN, //フォントのピッチとファミリを指定
"Times New Roman" //フォントのタイプフェイス名
);
CFont* pOldFont = dc.SelectObject(&NewFont);
dc.GetTextMetrics(&tm);
strText.Format("文字文字文字");
pgraphDC->TextOut(rgraphpict.left,rgraphpict.bottom-10,strText);
NewFont.DeleteObject();
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
0934デフォルトの名無しさん
NGNGピクチャかダイアログのOnPaint
0935デフォルトの名無しさん
NGNGあれは問い合わせ1回ごとにコネクションを開始→問い合わせ→切断、するべきなんでしょうか。
0936デフォルトの名無しさん
NGNGすまそ
0937デフォルトの名無しさん
NGNGATL COM AppWizardでサービスを作成します。
文字列リソースの IDS_SERVICENAME の
キャプションに日本語(2バイト文字)を使用します。
WindowsNTだと特に問題ないのですが、
Windows2000だと、作成したサービスの登録
(-Service)後にサービスのプロパティを見ようとすると
「構成マネージャ:一般内部エラーが発生しました」
と言うダイアログが出ます。エラーが出るだけで
ちゃんとプロパティの中身は出ますが、
これの回避方法はあるのでしょうか?
ちなみに、開発環境は
Windows2000 Server(SP2) + VC++6.0 SP5 です。
どなたか情報をご教示下さい。
よろしくお願いします。
0938933
NGNG持っている本には、デバイスコンテキストに表示させるほうほうしか書いてないんですが、
わざわざピクチャを作って、そこに表示するっていう上のようなコードをOnpaint()内に追加したんですが、表示されないんです。
もっと簡単な方法はないんでしょうか?わざわざピクチャを作って表示っていうわずらわしい方法じゃないスマートな方法はないですか?
0939デフォルトの名無しさん
NGNG> NewFont.CreateFont(
> 24 * 20, //高さ(論理単位)
の部分のフォントサイズが大きすぎ!!
> pgraphDC->TextOut(rgraphpict.left,rgraphpict.bottom-10,strText);
底辺から10ピクセルの位置に描画してもフォントが大きすぎて余白部分くらいしか画面内に収まらない。(だから表示されない)
> NewFont.CreateFont(
> 20 , //高さ(論理単位)
これくらいのサイズが普通。
0940デフォルトの名無しさん
NGNG例:
グループA
ラジオボックス1
ラジオボックス2
グループB
ラジオボックス3
ラジオボックス4
グループC
ラジオボックス5
ラジオボックス6
グループD
ラジオボックス7
ラジオボックス8
以下略
ラジオボックスが奇数ならば+0、
偶数ならば+2^(n/2-1)
といった感じです。
この場合デフォルトではどのラジオボタンも押されていない状態なので
デフォルトでは奇数がONの状態にしたい、
そして数字のエディットボックスでも指定できるようにしたいのですが、その場合はラジオボタンを
ONChangeEdit()などから操作できないといけないと思うのです。
しかし、クラスウィザードではラジオボタンはメンバ変数を持たないようなので困っています。
こういう場合はチェックボックスを使わないとだめなんでしょうか?
0941933
NGNGありがとうございました!
おかげさまでうまくいきました.
もうひとつの原因として,
OnPaint()内の
if (IsIconic() {
}
else {
}
で,if内に書いていたことが問題だったようです.else内に書くと旨く行きました.
0942dis ◆NAfP6znE
NGNGを使うと、リストコントロールにEditが出るのですが、
Editを確定した場合、どのようにしてイベントを取ればいいのでしょうか。
おねがいいたします。
0943ss
NGNG0944デフォルトの名無しさん
NGNG0945ss
NGNG0946デフォルトの名無しさん
NGNG取りあえずshine。
0947dis ◆NAfP6znE
NGNGON_NOTIFY(LVN_ENDLABELEDIT , ***, ***)
で解決しました。
0948デフォルトの名無しさん
NGNGInvalidate();
でOSに処理を渡すやりかたは解ります.
しかし,ボタンが押されたらON_BOTTON()を実行し
ON_BOTTON(){
while(){
//何かの計算をする
//その結果をグラフに書く
}
}
をしたいんですが,
計算されてる間に再描画などができなくなります.(あたりまえですが)
どうすればいいのでしょうか?
ダイアログベースで作っているのでON_PAINT()でできないでしょうか?
0949デフォルトの名無しさん
NGNGスレッドを作ってそっちで計算。
0950デフォルトの名無しさん
NGNGラジオボタンのプロパティで「グループ」にチェックを入れてるか?
まあどうしてもだめならCWnd::GetDlgItem(ラジオボタンのID)とかDDX_Checkとかいろいろやってみそ。
0951デフォルトの名無しさん
NGNGON_BOTTON(){
while(){
//何かの計算をする
InvalidareRect(hdlg , NULL , FALSE);
UpdateWindow(hdlg);
//その結果をグラフに書く
}
}
0952951
NGNG-----------------------------------------------
方法1.
ON_BOTTON(){
while(){
//何かの計算をする
InvalidareRect(hdlg , NULL , FALSE);
UpdateWindow(hdlg);
}
}
WM_PAINT:
//その結果をグラフに書く
break;
UpdateWindow で WM_PAINT を呼び出し処理する
-------------------------------------------------
方法2.
ON_BOTTON(){
while(){
//何かの計算をする
hdc = GetDC(hdlg);
//その結果をグラフに書く
ReleaseDC(hdlg , hdc);
}
}
GetDC で直接描画
0953デフォルトの名無しさん
NGNGありがとうございます.
今方法2でやってみましたが,できませんでした.
計算中に,そのアプリを移動しようとしても移動ができず,再描画もしてくれませんでした.
方法2しか駄目なのでしょうか?
0954950,953です
NGNGそれと同時に線を書く.
つまりwhileで10分くらい居続けます.
ということなのですが.
0955デフォルトの名無しさん
NGNG教えてもらえないでしょうか。
リストビューで複数のイメージを使用してるんですが
選択中のアイテムのイメージのインデックス
が知りたいんですけど(LVITTEMを使ってセットした時のiImage)
GetItemStateを使用したらいいとまではわかったのですが
うまく情報取得できません。
ret=GetItemState(index,LVIF_IMAGE);
と書いてるんですがretが常に2になってしまい
困ってます。
なにか根本的に間違ってますか?
初心者的質問ですがよろしくお願いします。
0956デフォルトの名無しさん
NGNGLVIS_STATEIMAGEMASKでなくてはいけないかと思いますが。
0957デフォルトの名無しさん
NGNGつーかスレッド作ったほうが楽だと思ふ・・・・・・・
0958955
NGNGありがとうございます。
そうも思ったんですが
ret=GetItemState(index,LVIS_STATEIMAGEMASK);
とするとretがすべて0になっちゃいましたので。。
ret=GetItemState(index,LVIS_STATEIMAGEMASK);
イメージのインデックス取得するのに
この文のどこがおかしいんでしょうか。
0959デフォルトの名無しさん
NGNGGetItemの方でやってみるとかはダメかな?
MFCのその部分のソースも見てみるといいかも知れず。
0960955
NGNG実は始めそれも調べたのですが
ぜんぜんわからなくて挫折してしまいました。
MSDNでは
「リスト ビュー アイテムの属性のすべてまたは一部を取得します。」
って解説されてるんですが今回の選択中のアイテムの
indexをもとに情報を取得したい場合
どうしたらいいんでしょうか。
定義がBOOL GetItem(LVITEM* pItem) const;
なので引数がひとつしかないので
正直ぜんぜんこの関数の使い方がわからなかったです。
GetItemStateとGetItemどちらもうまく使えてませんが
今回みたいなアイテムのインデックスから
イメージのインデックスを得る場合
どちらを使えばいいでしょうか。
0961デフォルトの名無しさん
NGNGLVITEM構造体調べてくれ…てかそこら辺の説明はSDK使った事無いと
わからんかもw
猫でもわかる〜のサイトでも行ってお勉強してくださいな。
0962951
NGNGマジで?
ループ中に PeekMessage , TranslateMessage , DispatchMessage でメッセージループを作ればいけるかも。
>計算中に,そのアプリを移動しようとしても移動ができず,再描画もしてくれませんでした.
移動なども行いたいならマルチスレッドの方が良いかも。
移動を頻繁に行うならパフォーマンス的にもマルチスレッドが有利
いずれにしろ計算中にボタンを押されると多重に実行される可能性があるのでボタンの有効無効の切り替えが必要
0963教えてほしいです!
NGNGページを開くと他にも次々にページがでるようにしたいんですけど
どうやるかわかる人いますか?
いたらおしえてほしいです!お願いします☆
0964デフォルトの名無しさん
NGNG頭悪いなら氏ね。
0965955
NGNGLVITEM構造体のstateメンバとstateMask
あたりだと思って昨日調べてたんですが
結局挫折してしまいました。
ずばりret=GetItemState(index,LVIS_STATEIMAGEMASK);
のあとretからイメージのインデックスを
取得するにはどういった文が必要なんですか?
もしくはやはりGetItem()でしょうか。。
0966デフォルトの名無しさん
NGNG通報しました.
0967いまいましいチビの女の子達
NGNGヘッダとソースファイルの分割はどうすればいいのでしょうか。
VC++はexportをサポートしていないので
リンクエラーがでてしまいました。
0968デフォルトの名無しさん
NGNG0969いまいましいチビの女の子達
NGNG0970デフォルトの名無しさん
NGNG確か.NETにも無いと思ったけど。
0971950,953,954です
NGNGスレッドってマルチスレッドのことだったんですね(^^A
質問一つのためにスレを立てて,糞スレ立てんなって言われちゃうじゃん!!
って思ってました〜!
やってみます!ありがとうございました!
0972デフォルトの名無しさん
NGNG> スレッドってマルチスレッドのことだったんですね(^^A
も、盲点だった!
君以外はみんなスレッド=マルチスレッドだと思って
このスレ見てたと思うよ・・・
0973デフォルトの名無しさん
NGNGリストボックスの一行ごとに複数の変数(Char)を表示しているのですが
VBでいう Tab(30) ; name ; Tab(50) ; year
といったようにそれぞれの始まる場所を指定したいのです。
どうしてもやり方が見つからなく、今はムリヤリ
スペースを調整して表示しているのですが、きれいにまとまりません、
Tabに近いような命令はあるのでしょうか?
0974デフォルトの名無しさん
NGNGsprintf( buf, "%d\t%d", name, year );
とかでは駄目ですか?
0975デフォルトの名無しさん
NGNGCListBox::SetTabStopsとLBS_USETABSTOPS
MSDN読もう・・・
0976973
NGNGありがとうございます、そのあたりを確認して
また挑戦してみます。
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGiImageとStateImageは別物だよ。(GetItemStateで取れるのは
チェックボックスとか表示するのに使うやつ)
アイコンの方を調べるには、GetItemしてiImage見なくちゃダメ。
セットする時にLVITEM使ってるなら、同じ要領でできると思うがどうか。
0979いまいましいチビの女の子達
NGNGマイクロソフトの怠慢ですね.
素直にテンプレートをやめて書き直します.
うう、面倒くさい.
0980デフォルトの名無しさん
NGNG学校でCの演習はやってましたけど、初歩的なことしか
やってないしC++はやったことないです。
最初に読むのにお勧めの書籍教えてください。
0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNGMFCで組むなら林晴比古のVC++スーパービギナー編でも読んでみたら?
それでサパーリなら諦めなさい(w
0983955
NGNGありがとうございます。
お蔭様でGetItemの使い方もわかり、
無事目的のアイテムのイメージのインデックスの取得
に成功しました。
感謝してます。
みなさん、アドバイスありがとうございました。
0984デフォルトの名無しさん
NGNGレスありがとうございます。
でも、その人の本>>177-179で
すごく不評なんですが大丈夫なんでしょうか?
また、なんで不評なんでしょうか?
0985デフォルトの名無しさん
NGNG長年の経験と勘でが投げ捨てろと言っている。
長年の経験と勘でが投げ捨てろと言っている。
0986955
NGNG私自身勉強中で参考になるかわかりませんが
その本自体は読んだことないですけど
その本の二巻(シニア編)はド忘れした時の辞書代わりになってます。
VCまったくやったことなくてC解るなら
山本信雄って人の書いた
「プログラミング学習シリーズ VisualC++」てのがいいと
思いますよ。
というか私はこれでした。
三巻構成で少々高くつきますがVC1からやるには
かなりよかったです。
1巻ではMFCよりAPIから入ってるのである程度仕組みが
理解できると思います。
2巻は、クラスの利用方法など、(C++やってないならいいかな
3巻がMFC全般。
上級の方からはどう思われるかわからないですけど
勉強中の身の私としてはかなり解りやすい本だと思いました。
参考までに。
0987デフォルトの名無しさん
NGNG経験と勘ですか
確かに推薦図書スレでも不評でした。
>>986
レスどうもです。
ほんとにVC何もわからないので
わかりやすい本がいいです。
とりあえず>>982>>986さんが薦めてくれたのを
立ち読みしてみようと思います。
0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNG終わりかよ!!
0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG今これのビギナー編でVC6.0の勉強中です。
内容は文字通り「VC++6.0」の使い方で
ウィザード使うとこういうことが出来ますよって感じ。
この本読んでプログラムが出来るようにはならないと思うけど
DOS窓しか開けなくて詰まってた私にはちょうど良かったかなとおもう。
でもこれ買った後、友達に>986のやつ薦められました。
0993デフォルトの名無しさん
NGNG結論を再確認する。「投げ捨てろ」
ビギナー編=
開発環境操作本。これを見ながら勉強すれば、
2chへの「わかりません」系マルチポストを防止できる。
シニア編=
基本的なコントロールの使用法を、それなりにまとめてある。
これを見ながら勉強すれば、
2chへの「できません」系マルチポストを防止できる。
0994デフォルトの名無しさん
NGNGあと、まともな質問も結構ある訳だし、次スレ建ててもいいと思うよ。
でも俺はビビりなので自分では建てない罠。
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1021787032/262
0999デフォルトの名無しさん
NGNGごめんね ++が付かなかったよ。
どうやるの?
http://pc.2ch.net/test/read.cgi/tech/1022499000/
1000デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1022499000/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。