くだすれVisual C++( ..
475:デフォルトの名無しさん
07/04/01 17:29:35
>>473の文字列追加した後で、別のルーチンから文字列追加を大量に
行ったら、ちゃんとスクロールしてくれました。
>>473の処理はEM_SCROLLCARETの一行をコメントにしても変わらず…
なにか条件があるんでしょうか…
476:デフォルトの名無しさん
07/04/02 12:02:01
>>468
ブロック崩しを作りたいなら
@まず持ってるVCの基本操作を覚える(プロジェクト作成の仕方、コンパイルの仕方、実行の仕方、
できればブレークポイントを使った基本的なデバッグ手法やコンパイルオプションの違い等も。)
ACを覚える(基本文法・関数・ポインタ等。これはどんなCプログラムが作りたかろうが全ての人が通る道。)
BWin32APIに触ってみる(ウィンドウを使ったプログラムの作成。)
Cグラフィカルなプログラムを作ってみる(GDIを使うorDirectXを使う。どっちでもお好きに。)
Dブロック崩しを作ってみる(ゲーム特有のアルゴリズム・当たり判定や入力制御等を学ぶ)
酷く大まかだけどこんな感じでいいんじゃないでしょうか。
ちなみにかかる時間はAが一番長くなると思います。
477:デフォルトの名無しさん
07/04/03 01:18:00
嘘だ、絶対4だ。
478:デフォルトの名無しさん
07/04/03 08:14:48
でも挫折するのはたいてい3じゃないか?
479:デフォルトの名無しさん
07/04/03 10:05:53
M$と相性が合わないなら(1)で挫折するはず
480:デフォルトの名無しさん
07/04/03 12:02:09
ゲームは昔から出来合いのゲームのソースをいじりながら覚えたもんだが
BASIC限定だったのかもしれないな
481:デフォルトの名無しさん
07/04/03 12:34:05
basicでゲームやったことありますとか言い出すやつは使いものにならない。
たとえそういう経験あったとしても黙っておくもの
482:デフォルトの名無しさん
07/04/03 12:57:19
< ワタシ ヲ ヨンダ??
●/
<■
/ >
483:デフォルトの名無しさん
07/04/03 13:59:52
>>481
そういう話じゃないでしょ。
既存のソースの改造から始めるのはどうかという話では。
484:デフォルトの名無しさん
07/04/03 14:17:17
いきなり改造から始めるなんて聞いたことがない。
VCの場合コードの量が半端じゃないし、
他人の書いたコード読んで仕様まで理解できたら相当なレベルだと思う。
初心者レベルだとビルドできなくて投げ出すのがせいぜい。
485:デフォルトの名無しさん
07/04/03 14:25:47
いやだからBASICの話でしょ改造なのはw
486:デフォルトの名無しさん
07/04/03 14:48:20
昔はね。
今でも新しいことやるのはサンプルソースからやるけど。
487:デフォルトの名無しさん
07/04/03 14:51:03
┏┳┳┓ ハイ. ┏┳┳┓
┏┫┃┃┃ 雑談は ┃┃┃┣┓
┃┃┃┃┣┓ ここまで.┏┫┃┃┃┃
┃ ┃┃┏━━┓┃┃ ┃
┃ 雑談 ┣┫ . ・∀・ ┣┫. STOP!┃
┗━━┛┗┳━┳┛┗━━┛
┏┻┓┃
┏━┛ ┣┻┓
┗━━┫ ┗━┓
┗━━┛
488:デフォルトの名無しさん
07/04/03 21:53:49
┌┬┬┐ ハイ. ┌┬┬┐
┌┤│││ 雑談は │││├┐
││││├┐ ここから.┌┤││││
│ ││┌──┐││ │
│ 雑談 ├┤ . ・∀・ ├┤ START.!!│
└──┘└┬─┬┘└──┘
┌┴┐│
┌─┘ ├┴┐
└──┤ └─┐
└──┘
489:デフォルトの名無しさん
07/04/03 23:58:42
初心者なんですが、どうしても分からない事があります。お教え頂けないでしょうか?
フックプロシージャで、VK_DOWNをVK_TABに変換しているのですが、PostMessageだとうまく行くのに
SendMessageに変えると動作しません。
ソースは次のようなものです。
static LRESULT CALLBACK OnKeyHook( int nCode, WPARAM wparam, LPARAM lparam )
{
if( nCode < 0 )
return CallNextHookEx( HHook, nCode, wparam, lparam );
UINT msg;
if( lparam & 0x80000000 ){
msg = WM_KEYUP;
}else{
msg = WM_KEYDOWN;
}
switch( wparam ){
case VK_DOWN:
PostMessage( GetFocus(), msg, VK_TAB, lparam ); ←ココです。
return TRUE;
default:
...
break;
}
return CallNextHookEx( HHook, nCode, wparam, lparam );
}
VK_UP を SHIFT + VK_TAB に変換するのに SetKeyboardState を使いたいので、SendMessage で
行いたいので困っています。
私の知らない何かがあるのでしょうか?
どうかご教授下さい。よろしくお願い致します。
490:デフォルトの名無しさん
07/04/04 01:25:54
あまり詳しくないけどSendMessageはメッセージキューを経由しない
(TranslateMessageを通らない)のでWM_KEYDOWNのSendでは
WM_CHARが発生しないとか何とか。
↑↓でフォーカス移動をするだけなら、キーボードイベントを捏造するより
WM_NEXTDLGCTLをポストしたほうが楽だと思う。
491:デフォルトの名無しさん
07/04/04 12:02:54
MessageBoxみたく、手軽に小さいウィンドウを出して
ユーザに文字列を入力させたいんですが、そういう関数ってありますか?
492:デフォルトの名無しさん
07/04/04 12:28:47
>>491
DialogBox
493:デフォルトの名無しさん
07/04/04 12:36:55
>>492
素早い返答thx!!!
494:デフォルトの名無しさん
07/04/04 12:40:06
どういやDialogBoxと自分でウィンドウ作るのとどう違うんだろう・・・
495:デフォルトの名無しさん
07/04/04 12:44:21
>>494
ダイアログテンプレート以外の違い?
モーダルとモードレスで違うべ。
モードレスは自分で作る場合に近いな。
自分でメッセージループ持たせてモーダルにすることもできるけど。
496:デフォルトの名無しさん
07/04/04 15:14:21
>>490さん
ありがとうございます。SendMessageはあきらめました。
ところで WM_NEXTDLGCTL ってダイアログでしか使えないんでしょうか?
今ダイアログを使ってなくて、普通のフォームのEDITとかCreateWindowで貼り付けてる状態で、
WM_NEXTDLGCTLは効かないみたいなんです orz
>>494さんの疑問は私も悩んでいる点です
初心者でいっぺんにいろいろ覚えられないので、とりあえずダイアログを使わずにフォームをゴリゴリ
書いて、きつくなってきた所でダイアログの恩恵にあやかろうという方針を立てていました。
でも、そもそもの使用目的が違うような気がしてきて、にもかかわらず、その辺りの指針がはっきり
せず、すっきりしません。
皆さんはどういう基準で使い分けられてるんでしょうか。
497:デフォルトの名無しさん
07/04/04 18:09:55
今思ったんですが、普通のウィンドウとDialogの違いってメニューを付けられるかどうかじゃないでしょうか?
普通のウィンドウ、Dialog ともにモーダル、モードレスにできるし、どれで始めて、どう遷移していけばいいか
迷うんですけど...
ひょっとしてDialogにもメニュー付けられたりして OTL
498:デフォルトの名無しさん
07/04/04 18:27:22
たしか付けられるはず。
499:デフォルトの名無しさん
07/04/04 18:37:25
基本的にダイアログテンプレートを使うか使わないかでわければいいじゃん
500:デフォルトの名無しさん
07/04/04 20:37:30
ウィンドウには色々なスタイルがあって、
その中の一部分をダイアログと呼ぶ、というだけ。
てか、ダイアログをメインウィンドウにした方が
色々と楽だと思うのは俺だけ?
501:デフォルトの名無しさん
07/04/04 20:41:57
>>496
ダイアログ以外では使えないと思う。
MFCのCFormViewなどでは通常のウィンドウの上にモードレスダイアログを貼り付けて
ダイアログリソースを利用しているので WM_NEXTDLGCTLも動く。
VistaのUIのガイドラインではウィンドウ全体を表示するためにスクロールバーを必要とする
ダイアログは使うな。ダイアログはメニューバーやステータスバーを持つな。となってるけど
ユーティリティのようなトップレベルウィンドウがダイアログの場合は除くとなっている。
トップレベルウィンドウをダイアログにするか、通常ウィンドウにするかの基準は、ざっと見た限りは
見つからなかった。
URLリンク(msdn.microsoft.com)
502:デフォルトの名無しさん
07/04/04 20:45:04
>>496
IsDialogMessageでを使えるようにならない?
503:デフォルトの名無しさん
07/04/04 20:45:13
あと、ウィンドウクラスが #37770 じゃ困ることもあるべ
504:デフォルトの名無しさん
07/04/04 20:46:34
>>498
メニュー簡単に付きました orz
>>499
ですよね
現在ダイアログに傾倒して行ってるところです。
できれば全部これでやりたいと思い初めています。メイン画面から全部。
でもどのサンプルを見ても通常フォームから始まってるんですよね...
ダイアログでは実現できない事って、例えばどんな事なんでしょうか。
505:デフォルトの名無しさん
07/04/04 20:47:02
>>503
ダイアログでもウィンドウクラスを指定できる。
指定したときには、そっちになり#37770にはならない。
506:デフォルトの名無しさん
07/04/04 20:51:03
WM_PAINTとかWM_CHARとかウィンドウそのものに関するメッセージを使うときには
普通のウィンドウにして、ダイアログにしない気がする。
あと、501のとおりメニューやスクロールバー、ステータスバーが付くときも
ダイアログは使われていないと思う(でもたしかにユーティリティでは見かけたことある)。
505みたいにどっちつかずな面もあるけど。
507:デフォルトの名無しさん
07/04/04 20:58:21
>>500
私もメインウィンドウをダイアログで行こうと考えています。
>>501
ありがとうございました。指針を示して頂いて、安心しました。
MSDN英語で読めるっていいですね。私はMSDN日本語でも頭がぐるぐるしてくるんです。
>>496
だめでした。
>>503
ダイアログのWM_CREATE(?)から CREATESTRUCT は取れるんですか?
508:デフォルトの名無しさん
07/04/04 21:01:26
まちがえました。
>>502
IsDialogMessageをメッセージループに入れてもだめでした。
509:デフォルトの名無しさん
07/04/05 00:50:55
ダイアログをメインフォームにしようとしているのですが、分からない事が出てきました。
DialogBoxParam でモーダル起動した場合、メッセージループが内部にあるから IsDialogMessage を組み込めないと
思うのですが、何か方法があるのでしょうか?
CreateDialogParam でモードレスダイアログを作って、メッセージループを準備するのが正しいやり方なのでしょうか?
どうかお教え下さい。よろしくお願いします。
510:デフォルトの名無しさん
07/04/05 01:42:26
ModalならIsDialogMessageは必要ないだろ
511:デフォルトの名無しさん
07/04/05 02:11:46
2個スレッドを作って、一つでユーザーインターフェースの処理
でもう一方で計算をさせたいと考えてます。
で、AfxBeginThreadと制御関数でマルチスレッドぽくはできました。
ただ、計算の進歩状況の表示や中断をさせられません。
今のところボタンをクリックされた後イベントハンドラ中で
while文を回して進歩状況を表示していて意味がないんです。
ユーザー インターフェイス スレッド?を作れば一つは解決ですか?
512:デフォルトの名無しさん
07/04/05 02:27:39
>>510
本当だ!IsDialogMessage を入れないと TAB キーが使えないのかと思ってました。
ありがとうございます。
513:デフォルトの名無しさん
07/04/05 02:43:43
ウィンドウ登録、作成、メッセージループをダイアログに任せるだけで、こんなにもソースがすっきり!VBみたい
しかもコントールをXP風にできました。
うれしいです (↑∇↑) ありがとうございました。
514:511
07/04/05 05:12:06
ようするに、
WinMain()に別のスレッドから進歩状況を伝えて
イベントを起こして表示させる方法を教えてください。
ということだったんですが、今もう一度探したら
PeekMessage()というのを見つけました。
どうも自分が行わせたい処理はマルチスレッドを使わなくても
よいように思うんでPeekMessage()を使ってみます。
できたあとの話になるんですが、処理にかかった時間を計測とか
できるんでしょうか?関数の実行に要した時間なんですが…
515:511
07/04/05 05:26:52
timeGetTime見つけました。
スレ汚し申し訳ない…
516:デフォルトの名無しさん
07/04/05 05:30:31
>>514
皆さん寝てるんじゃないですか。
スレッドは以前覚えたんだけど...確かセマフォとかミューテックスとかあってご要望の事もできる筈だけど
使わなかったので忘れましたヾ(≧▽≦)ノ
明日の夜ぐらいにはエロいひとが来て、答えてくれるんじゃないかなぁ。
とりあえず ↓ に目を通しておかれたらいいかも。
URLリンク(www2m.biglobe.ne.jp)
関数の実行に要した時間は簡単にとれると思うけど...
517:デフォルトの名無しさん
07/04/05 05:48:31
>>505
ダイアログにウィンドウクラスを指定する方法を是非ともお教え下さい。お願いします┏○
518:デフォルトの名無しさん
07/04/05 08:03:06
>>517
URLリンク(wisdom.sakura.ne.jp)
519:デフォルトの名無しさん
07/04/05 20:08:04
>>518
ありがとうございます ┏○
520:デフォルトの名無しさん
07/04/05 20:40:11
COM(ActivX?)が良く分かりません。以前VBでコントロール作ったり、ActiveX.Exe,ActiveX.Dllを作ったぐらいで...
将来的にやりたい事は、以下の2つです。できればMFCなしで行いたいんです。
1.ブラウザ上に貼り付けて利用するもの。
2.DirectX,DirectShow がComベースらしいので理解したい。
疑問点は以下の2つです。
1.MFC使わずにATL だけで実現可能でしょうか?
2.VS.NET 2003 で作成できるのでしょうか?(No Managedで)
今まではVC6の ATL COM AppWizard で作成してたんですが、VS.NET 2003 ではどの AppWizard で作ればいいのか
分かりません 。
どうかよろしくお願いします。
521:デフォルトの名無しさん
07/04/05 21:21:17
┏ ・:∴○ ドシュッ
522:デフォルトの名無しさん
07/04/06 04:01:26
520ですが、1は自己解決しました。
VC付属の OLE VIEWER で右クリックしたらHTML用にOBJECTタグを作ってくれて、ブラウザ上で動作しました。
ろくに試しもせずに質問してしまい、申し訳ありませんでした。
523:デフォルトの名無しさん
07/04/06 10:45:33
聞きたいことがあったんだけど、レス書いてたら答えに気づいたw
524:デフォルトの名無しさん
07/04/06 18:07:19
そういうことって結構あるよ。
文章にするというのが軽く気分転換になっていると思う。
525:デフォルトの名無しさん
07/04/07 12:09:26
すみません。
変数の定義(int型)をmainメソッドの中の中間あたりで行うと
「そのような識別子はありません」とエラーが出てしまうんですが
(定義をmainの先頭に持ってくるとエラーが出なくなります)
なぜなんでしょう。先頭と中間での定義の間で
printf、scanf、while関数等を使っているんですが、何か関係がありますか?
526:デフォルトの名無しさん
07/04/07 12:14:54
>>525
言語は何?
古いCでは変数宣言はブロックの先頭にある必要がある。
#勿論、ブロックの先頭ならよいので以下の例は問題ない。
int main()
{
printf("foo\n");
{
int foo = getchar();
printf("%c\n", foo);
}
return 0;
}
どうでもいいが、while関数なんてものは無いし、
一般的にcではメソッドとは言わない。用語は間違わないように。
527:デフォルトの名無しさん
07/04/07 12:23:03
知ってるけどスレ違いだから教えてやらない
528:デフォルトの名無しさん
07/04/07 12:29:35
そうなんですか、ちなみに言語はCですね。失礼しました。
getch()等が「古い型」だと注意されるのはなんだろうと思っていましたが。
ブロックを設けて先頭へ記述するようにします。
用語も適当に使っていました。
529:デフォルトの名無しさん
07/04/07 12:29:56
まさか
printf("%d", a);
int a;
なんてやってるオチでは…
530:デフォルトの名無しさん
07/04/07 12:31:23
>>526
インデントぐらいつけなよ
531:デフォルトの名無しさん
07/04/07 12:51:13
あー、普段はエディタが勝手にインデントするし、どうせ見えないと思って割愛した。許せ。
532:デフォルトの名無しさん
07/04/08 18:03:44
自動コード整形のパターンってカスタマイズできるんでしょうか?
533:デフォルトの名無しさん
07/04/08 20:30:36
2chにソース張ること自体ねぇ・・・
どっか引っ越そうぜ
534:デフォルトの名無しさん
07/04/08 22:01:23
int main() {
using std::vector;
typedef std::vector<int>::size_type vec_sz;
vector<int> Integers;
int Integers_num = 112, Integers_max = 100, Integers_min = 0 ;
make_randnums( Integers, Integers_num, Integers_min, Integers_max);
vector< vector<int> > Devided;
vec_sz Devided_num = 4;
Devided.resize( Devided_num );
vec_sz Dev_contents_num = Integers.size() / Devided_num ;
for ( vec_sz i = 0; i < Devided_num - 1 ; i++ )
Devided.at(i).resize( Dev_contents_num );
vec_sz last_num = Integers.size() - ( Devided_num - 1 ) * Dev_contents_num;
Devided.back().resize( last_num );
if ( Integers.size() ==
( Devided.size() - 1 ) * Devided.at(0).size() + Devided.back().size() ) {
}else exit(1);
std::sort( Integers.begin(), Integers.end() );
std::reverse( Integers.begin(), Integers.end() );
vector<int>::iterator
start_ptr = Integers.begin(),
end_ptr = start_ptr ;
for ( vec_sz i = 0; i < Devided.size(); i++ ) {
std::copy( start_ptr, end_ptr += Devided.at(i).size(), Devided.at(i).begin() );
start_ptr += Devided.at(i).size();
}
return 0; }
535:534
07/04/08 22:05:10
このプログラムは某入門書の例題でヘタレの俺なりの回答案です
80行以上あったプログラムがコメントとか{}消したら1レスに収まっちゃったわけですが
コレって元の書き方が悪いんですかねぇ?
536:デフォルトの名無しさん
07/04/08 22:07:06
勿論全体ではなく一部なんですが
それでも80超行が30行ちょっとってのは無いでしょうってことです
537:536は535=534です
07/04/08 22:07:45
すみません
538:デフォルトの名無しさん
07/04/08 22:08:20
激しく読みにくくてウザい
539:デフォルトの名無しさん
07/04/08 22:11:33
ゴミ
540:デフォルトの名無しさん
07/04/08 22:23:15
>>534
コメントは消すなよw
541:デフォルトの名無しさん
07/04/08 22:32:43
こういうのだったら消していい。
int i; /*ループ変数*/
542:デフォルトの名無しさん
07/04/08 22:37:41
良いプログラムとは、コードよりコメントの行数の方が多い
543:デフォルトの名無しさん
07/04/08 22:54:13
ん?
元のソースはわからないけど
これよりはマシだったんだろうなぁと思う。
544:デフォルトの名無しさん
07/04/09 14:18:52
良いプログラムとは、コード自体がコメントのように読める
545:デフォルトの名無しさん
07/04/09 14:24:59
良いプログラムとはコードのないプログラム
546:デフォルトの名無しさん
07/04/09 14:42:14
良いプログラムとは、ドキュメントだけでコードが理解できる ( ・`ω・´)ノ
547:デフォルトの名無しさん
07/04/09 15:18:10
それは読んでる人の性能がいいだけじゃ・・・
548:デフォルトの名無しさん
07/04/09 15:26:57
学習用の過程で作ったものだったら
それこそ8割がコメントとかでもいいんじゃないの?
コメントに表現しようとあれこれ考えるのも理解の助けになるし
549:デフォルトの名無しさん
07/04/09 17:44:31
8割コメントって、学生かい ( ・ω・)
一応、クラス3分、関数30秒(=4行くらい)
で、読み終わる程度がいいとされてる
限られたスページと時間で、どれだけ理解させるかが文章力だ m9( ・`ω・´)
仕様100ページもあったら、結局何書いてるか分からんし
マニュアルも全部読まないでしょ、バージョン上がったらゴミになるし
550:デフォルトの名無しさん
07/04/09 17:46:33
>仕様100ページもあったら、結局何書いてるか分からんし
・・・
551:デフォルトの名無しさん
07/04/09 18:03:46
Boostのビルドも出来ん雑魚はほっとけ
552:デフォルトの名無しさん
07/04/09 19:48:20
仕様書以外に何が用意されているかが問題だな。
サンプル一切無しなら死ねる。
553:デフォルトの名無しさん
07/04/10 16:10:07
どれだけコードを綺麗に区切ってまとめられるかと、
それにどれだけ適切なコメントをできるかが
勝負の分かれ目
コメントは付けりゃいいってもんじゃない
8割コメントはちょっとアホだろ・・・w
場合によるけどさ
554:デフォルトの名無しさん
07/04/10 20:28:35
ここって結構底辺なのなww
555: ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
07/04/10 21:08:38
_____
/::::::::::::::::::::::::::\ _
/::::::::::::::::::::::::::::::::::::::\ /  ̄  ̄ \
|:::::::::::::::::|_|_|_|_| /、 ヽ
|;;;;;;;;;;ノ \,, ,,/ ヽ |・ |―-、 | きみ頭だいじょうぶ?
|::( 6 ー─◎─◎ ) q -´ 二 ヽ |
|ノ (∵∴ ( o o)∴) ノ_ ー | |
/| < ∵ 3 ∵> \. ̄` | /
::::::\ ヽ ノ\ O===== |
:::::::::::::\_____ノ:::::::::::\ / |
556:デフォルトの名無しさん
07/04/11 12:22:23
それがくだすれのくだすれたる所以
557:デフォルトの名無しさん
07/04/15 09:36:39
class Fred;
typedef auto_ptr<Fred> FredPtr;
class Fred{
public:
static FredPtr create() throw(bad_alloc);
static FredPtr create(int i) throw(bad_alloc);
static FredPtr create(const Fred& x) throw(bad_alloc);
virtual void goBowling();
private:
Fred(int i=10) throw();
Fred(const Fred& x) throw();
int i_;
};
FredPtr Fred::create() throw(bad_alloc)
{ return new Fred(); }
FredPtr Fred::create(int i) throw(bad_alloc)
{ return new Fred(i); }
FredPtr Fred::create(const Fred& x) throw(bad_alloc)
{ return new Fred(x); }
void Fred::goBowling(){
std::cout << this->i_;
}
Fred::Fred(int i) throw() : i_(i){}
Fred::Fred(const Fred& x) throw() : i_(x.i_){}
void sample()
{
FredPtr p(Fred::create(5));
p->goBowling();
}
558:デフォルトの名無しさん
07/04/15 09:37:49
C++QAにあるソースなんですが、
p->goBowling();でアクセス違反が起こります。
なんで?
559:デフォルトの名無しさん
07/04/15 21:24:47
元々は正社員だったのに取引先にフリーのほうが稼げるとか騙されて
結局派遣やってるバカがいるんだけどw
なんか派遣先といい関係、とか言ってたから思わず吹き出しちゃったよw
最近はマネージャーもやってるとか寝言言ってるし、派遣がまねぇじゃぁ?はあ!?w
そもそも信頼されてるなら直接契約するか正社員にするはずだが、
いつでも切れる派遣会社経由って舐められてんだよ
派遣期間が長くならないうちに早く就職しろ、と忠告したら、ウッキー!って逆ギレw
バカで頑固だから何度言っても理解できない
騙されたとはいえ結局は自分で決めて派遣やってる癖に逆ギレしちゃってまぁ
人間として本当に恥ずかしい
560:デフォルトの名無しさん
07/04/15 22:34:31
そうか、とりあえずスレタイ読み直せ。
561:デフォルトの名無しさん
07/04/17 17:01:15
>>559
派遣と言ってもいろいろあるんだけど知らんのか?
数十人の派遣プログラマがいればマネージメントする人間も当然必要になる
だろ。その人間は責任を負うと同時に給与も高いって仕組み。
派遣は確かに「いつでも切れる」存在ではあるけど、切るためにはそれなり
の理由が必要だし、むやみに切れば信頼関係が損なわれて派遣を採用する
会社側にも損失はあるんだよ。
そもそもお前のそのレスから簡単にプロファイリングするに、
お前自身がちょっとどうかと思う人間に見えるわけだが…。
562:デフォルトの名無しさん
07/04/17 17:03:00
よくみかけるコピペだけど
563:デフォルトの名無しさん
07/04/17 17:12:48
>>562
そうなの?俺ははじめて見た。
どこが笑い所のコピペなの?
564:デフォルトの名無しさん
07/04/17 17:21:10
URLリンク(www.google.co.jp)
565:デフォルトの名無しさん
07/04/17 17:57:12
>>564
数あるコピペから>>559はなぜこれを選んだんだろ。
貼り付けた理由が理解不能。しかもこのコピペ、ちっとも面白くない。
あとスレ違いも甚だしい。なんなんだコイツは。
566:デフォルトの名無しさん
07/04/17 18:21:21
面白くない上に長いから、嫌がらせにはちょうどいいということじゃないのか
あまり長すぎると1行も読まれないから、あのくらいにしたんだろう
567:デフォルトの名無しさん
07/04/17 21:00:57
あの長さなのにコードが一行も無い時点で読まない
568:デフォルトの名無しさん
07/04/17 21:43:20
流れ読まずに投下スマソ
WTL7.1 の AppWizard でダイアログベースのプロジェクトを作って、
ダイアログのフォントを MS UI ゴシック/9pt に設定したんだが、
実行時に文字化けを起こす。
教えてエロい人><
569:デフォルトの名無しさん
07/04/17 21:57:48
>>568
WTLだと言語がデフォルトで「英語」になってるはず。
開発環境によって違うが、リソースエディタのどこかに言語を設定するところがあるから
そこを「日本語」に変えてみ。
570:デフォルトの名無しさん
07/04/17 22:53:43
>>569
おっしゃるとおり、リソース自体の言語が 英語 になってますた!
最初日本語にしても「あれ?カワンネ」と思いリビルドしたらうまくいった!
thxエロイ人!!!!!!!!!!
571:デフォルトの名無しさん
07/04/17 23:12:59
以下のような全角半角変換関数を作ったのですが、変換成功判定がうまくいきません。
『×』の行がおかしいところです。
どうすればいいのかお願いします。
ちなみにVC++6です。
//全角→半角変換関数
BOOL CDlg050Imp::ConvertZenToHan(CString gZenNum, CString& gHanNum){
BOOL bRet = TRUE;//変換成功フラグ
CString gAfter = _T("");//gHanNumを直接使うと前回のバッファが残っているので別変数を間にかます。
int nLenValue = gZenNum.GetLength();
int nRet = LCMapString(GetUserDefaultLCID(), LCMAP_HALFWIDTH, gZenNum, nLenValue, gAfter.GetBuffer( nLenValue ), nLenValue);
gHanNum = gAfter;//コピー
× int nLenAfter = gAfter.GetLength();//必ず0になってしまう。
× int nLenHanNum = gHanNum.GetLength();//必ず0になってしまう。
if(nLenValue != nLenAfter)//文字数が違うなら
bRet = FALSE;//変換失敗
else
{
for(int nMoji = 0; nMoji<nLenValue; nMoji++ )
{
CString gOneZen = gZenNum.Mid(nMoji, 1);
× CString gOneAfter = gAfter.Mid(nMoji, 1);//nLenAfterが0なので当然ながらアプリエラーが起きる。
if(gOneZen == gOneAfter)//同じ文字があるなら
{
bRet = FALSE;//変換失敗
break;
}
}
}
}
572:デフォルトの名無しさん
07/04/17 23:19:26
ReleaseBufferはどこだ?
573:571
07/04/17 23:32:23
× gAfter.ReleaseBuffer(nLenValue);//アプリエラーが起きる
int nLenAfter = gAfter.GetLength();//正常に長さが取れた
↑
ReleaseBufferを入れてみたら、アプリエラーは起きますけど長さは取れました。
って、やり方が違うのかな…
574:デフォルトの名無しさん
07/04/18 00:00:51
>>561
論点ずれまくりだろ
自分で正社員を辞めて派遣になったのにブーたれてるような人間は
何をやってもダメだと思うぞ
575:デフォルトの名無しさん
07/04/18 02:26:59
プログラムをコンパイル→実行したあと自動的に閉じないようにできますか?
576:デフォルトの名無しさん
07/04/18 03:05:08
できます。
577:デフォルトの名無しさん
07/04/18 12:32:28
質問よろしいでしょうか。
VisulC++6.0で
exe→pdf呼び出しを行いたいのですが、コンポーネントの追加にAdobe PDF Readerを追加し、ダイアログに貼り付けようとしたら「ActiveXコントロールのインスタンスは作成されませんでした」とメッセージが表示され、貼り付けることができません。
exeから呼び出しを行いたいので、ShellExcuteEXを使わない方法以外にはないのでしょうか?
どなたかご教示お願いします。
578:デフォルトの名無しさん
07/04/18 14:38:01
>>577
ネタか?
CreateProcessの引数にpdf
579:デフォルトの名無しさん
07/04/18 14:58:38
IEがやってるようにActiveXを上手いこと使いたいんでないの。
580:デフォルトの名無しさん
07/04/18 15:04:49
じゃIE貼っとけ
581:デフォルトの名無しさん
07/04/18 15:23:54
577です。
Acrobat SDKのActiveViewみたいなことをと思っておりました・・・。
質問の意図が意味不明になっており、ご迷惑をおかけしました。
579氏、580氏
IEを貼る手法で行いたいと思います。。
ありがとうございました。
582:デフォルトの名無しさん
07/04/18 19:31:46
>>576
どうやるの?
ソースに余分な関数入れるんじゃなくて設定でできるの?
583:デフォルトの名無しさん
07/04/18 20:02:45
つ デバッグ無しで開始
584:デフォルトの名無しさん
07/04/18 21:17:49
>>583
ありがとうございます。出来ました(゚∀゚)
すごく助かりました
585:デフォルトの名無しさん
07/04/19 11:01:38
ウィンドウプログラミングで
ウィンドウハンドル、ウィンドウプロシージャで作るのと
ビュークラスやダイアログクラスで作るのと
2つあるみたいですけど・・・何が違うのですか?
どちらが主流なんですかね
586:デフォルトの名無しさん
07/04/19 19:25:37
>>585
>ウィンドウハンドル、ウィンドウプロシージャで作るのと
これは低レベル(抽象度が低いって意味ね。「高級言語」とかいう時の高級/低級)。
>ビュークラスやダイアログクラスで作るのと
中で上の低レベルなものを使ってる。
Win32APIだけで作るのはだいぶ面倒くさい。既にあるものは使った方がいい。
587:デフォルトの名無しさん
07/04/21 17:24:44
Visual C++6.0 のインストールを行っています。
続けてサービスパック6を入手しインストールしようとしましたが、
「ファイル C:\Windows\System32\MSFLXGRD.OCX を開くことができませんでした」
となり、セットアップが正常終了しません。
セットアップ手順に誤りがあるのでしょうか。
(MSDNからサービスパック6を入手し、展開先のフォルダで setupsp6.exe を実行しました)
588:デフォルトの名無しさん
07/04/21 17:32:13
CDにMSFLXGRD.OCX入ってるだろ
589:デフォルトの名無しさん
07/04/21 17:55:15
>>588
迅速なレス感謝です!
そもそも、Visual C++6.0インストール時のオプション設定で選んだインストール構成では MSFLXGRF.OCX が不要
(つまり、今発生しているSp6適用時のエラーは無視してよい)なのか、
それとも、CDからOCXファイルをコピーしてきてでも本セットアップ(SP6)をあてるべきなのかがわかりません。
590:デフォルトの名無しさん
07/04/21 18:08:11
今や貴重なコントロールなんだから入れておけば?<FlexGrid
591:デフォルトの名無しさん
07/04/21 20:46:48
Sp6のセットアップエラーを無視しても動きましたが、
一応FLXGRD入れておくことにしました。
助言ありがとうございましたm(__)m
592:デフォルトの名無しさん
07/04/22 23:26:17
winXPでMicrosoft Visual C++ .NETを使っています。
ご相談したいのは、
「新規作成」→「プロジェクト」→C++の「MFC アプリケーション」で作成して
その後のウィザードで「アプリケーションの種類」→「ダイアログ ベース」に設定して「完了」を押すと
〔〜.ncd〕〔〜.sln〕〔〜.suo〕〔〜.vcproj〕しか作られません。
どうすれば良いでしょうか。
御教授をお願いします。
593:デフォルトの名無しさん
07/04/23 01:19:05
まずは日本語の勉強してきてくれ。
難しいなら敬語は使わなくてもいいよ。
594:デフォルトの名無しさん
07/04/23 15:03:05
どの辺が分かり難かったでしょうか?
要約をさせていただくと、「〔〜.ncd〕〔〜.sln〕〔〜.suo〕〔〜.vcproj〕以外のも作られるようにするには
どうすればいいのでしょうか」ということです。
どなたか、ご返答をお願いします。
595:デフォルトの名無しさん
07/04/23 15:19:48
それ以外の何を作りたいのかさっぱり。
596:デフォルトの名無しさん
07/04/23 15:34:02
>>594
クラスビューやソリューションエクスプローラなどで「追加」すればいい。
色んな所で右クリックしてどういうメニューが出るかとか、
上に並んでるメニューの中の項目を一通り試してみるとか、しないか?普通。
IDEもGUIアプリなんだしさ。
597:デフォルトの名無しさん
07/04/23 16:26:34
ウィザード使ったらビルドすれば実行可能な状態のソースまで作ってくれる。
空のプロジェクトなら自分でソース追加しなきゃ始まらないけど、
ダイアログベースならダイアログ出すソースができてるはず。
598:デフォルトの名無しさん
07/04/23 17:15:52
>595-596はたぶんMFC使ったことないから無視で
599:デフォルトの名無しさん
07/04/23 17:28:06
ビルドしなくてもソースは生成されていないとおかしい
操作ミスなのではないか?
600:599
07/04/23 17:28:58
あ、何か誤読してたスマソ
601:592
07/04/23 18:02:29
すいません。
書き忘れていたことがありました。
「スケルトンが作成されない」のです。
本当に申し訳ありません。
602:デフォルトの名無しさん
07/04/23 19:02:34
2005じゃないということはだいぶ前にインストールした?
それから何回か使った?
全く状況がわからん
603:592
07/04/23 20:04:15
>>602
2003です。
インストールしたの半年前です。
604:592
07/04/23 23:00:15
>>596
ご返答ありがとうございます。
「開始」を押すと
「デバックを開始できません」
「プログラム'〜.exe'を開始できません。」
「指定したファイルが見つかりません」
というウィンドウが出てしまうので、ただスケルトンが表示できていない
のではと思うのですが、それ以上は私にはわかりません。
605:デフォルトの名無しさん
07/04/25 10:08:10
>>604
ダイアログ以外はどうなんの?
606:デフォルトの名無しさん
07/04/25 12:10:32
大学のVisual studio2003でWM_MOUSEWHEELメッセージを拾おうとしたら
WM_MOUSEWHEELは定義されていないというエラーが出ました。
マウスカーソルをWM_MOUSEWHEELの上に持っていくと、
#define WM_MOUSEWHEEL 0x020A
とちゃんと出ているので自分でその値をdefineしたらビルドが通ったのですが、
なんで自分で置かないとWM_MOUSEWHEELが定義されていないと出るのでしょう?
607:デフォルトの名無しさん
07/04/25 12:28:19
WM_MOUSEWHEEL はあとから追加されただけで
windows.hに無いからね
608:607
07/04/25 12:29:41
#define _WIN32_WINNT 0x0400
を入れれば有効になると思うよ
609:デフォルトの名無しさん
07/04/25 12:44:00
>>607
ありがとうございます。
後からというのは自宅のvisual studio2005では普通に出来たのでそこからということでしょうか?
ちなみにソースコードのWM_MOUSEWHEELにマウスカーソルを持っていくと
#define WM_MOUSEWHEEL 0x020A とちゃんとdefineされているように出てくるのは何でなのですか?
610:デフォルトの名無しさん
07/04/25 14:49:48
「条件」によって存在しなかったことになる。
611:デフォルトの名無しさん
07/04/25 16:56:44
>>610
本当にすまないのですがまだ無知ゆえもう少し詳しくお願いできますか?
612:デフォルトの名無しさん
07/04/25 17:02:50
条件コンパイル
613:デフォルトの名無しさん
07/04/25 17:20:47
>>612
なるほど、そういうことでしたか!
よく分かりました、ありがとうございます><
614:デフォルトの名無しさん
07/04/25 22:12:59
質問させてください。
FLOAT型の変数の値をMessageBoxで表示させたいのですが、ビルドを実行すると
2番目の引数を'float'から'LPCSTR'に変換できません。と出ます。float型をLPCSTR型に
変換するにはどうしたらよいのでしょう?コードはこのような感じで書いてます。
float a = 0.3f;
MessageBox(NULL, a, NULL, MB_OK);
615:デフォルトの名無しさん
07/04/25 22:15:25
sprintf
616:デフォルトの名無しさん
07/04/25 22:26:30
>>615
できました!ありがとうございます!
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5307日前に更新/168 KB
担当:undef