■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

★初心者にVisual C++を教えるスレ★
501 名前:デフォルトの名無しさん :02/07/08 22:06
>>500
LoadBitmapとか成功してるか?
戻り値をチェックするコード入れて見れ。

502 名前:デフォルトの名無しさん :02/07/08 22:12
>>495
あんまりスマートな書き方じゃないが、

CTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: この場所にネイティブ データ用の描画コードを追加します。
CDC pM;
CBitmap pB1,pB2;
//上の2行は必要な変数(というか領域)を用意しています。

pM.CreateCompatibleDC(pDC);// 窓と同じ属性のメモリー領域を確保して
pB1.LoadBitmap(IDB_BITMAP1); // IDB_BITMAP1を選択して
pB2.LoadBitmap(IDB_BITMAP2); // IDB_BITMAP2を選択する

pM.SelectObject(&pB1);
// 確保したメモリー領域にIDB_BITMAP1をコピーしたのち、
// pDC,つまり現在の窓、に表示します。
pDC->BitBlt(0, 0,100,100,&pM,0,0,SRCCOPY);

pM.SelectObject(&pB2);
pDC->BitBlt(0,110,100,100,&pM,0,0,SRCCOPY);// 座標を変えて表示します。

以上のようにやると美味くいきます。
俺も詳しいわけじゃないけど、

>>pB.LoadBitmap(IDB_BITMAP2);// 同様にIDB_BITMAP2を選択し、
の部分でエラーが起きているのです。
Loadをするなら、以前の後始末をきちんとしろって事だと思う。
訂正あったら、言ってくれ。

503 名前:しつもん :02/07/08 22:13
>>501
そうなんです。
そのへんがあやしいはずなんです。

すいません初心者なんで戻り値っていうと・・・
void??どこさわったら・・

504 名前:デフォルトの名無しさん :02/07/08 22:14
「赤エラー」って何?

>>501の言う通りLoadBitmapやSelectObjectは
不成功であろうが成功であろうがコンパイラは知ったこっちゃ無いからな。

505 名前:しつもん :02/07/08 22:14
ああとしまつ・・・??
パニくってきた

506 名前:デフォルトの名無しさん :02/07/08 22:19
>>503
たとえば、こういう感じ。

BOOL res = pB.LoadBitmap(IDB_BITMAP1);
if (res == 0) {
TRACE("IDB_BITMAP1のロード失敗してるよん\n");
}

つーか、手本にしてるページのコード、すげー素人っぽいな。
ポインタでもないのにpのプレフィックスつけたり。
ケチって、そんなヘボイページ見てないで、本買えよ。

507 名前:502 :02/07/08 22:20
>>505
MSDNにも書いてあるが、
LoadBitmapで読み込んだら、DeleteObjectで消さなきゃ再利用できん。(と思う。またまた訂正求む)


508 名前:デフォルトの名無しさん :02/07/08 22:24
正直、WinSDKとC++をある程度理解していないと
MFCは辛いと思うが…。

509 名前:しつもん :02/07/08 22:27
あのーおこらないでつきあってください。
ぶっちゃけ、どこをどう直すorどんな文をつけたすのですか?
原因わかります?

ヒマな人でいいので一度やってみてください。

510 名前:デフォルトの名無しさん :02/07/08 22:27
>>508
同感。
SDKは知らなくても、ある程度まではいけるかも知れんが
C++は使いこなせる程度じゃないと、飽かん。
作るものに拠るが。

511 名前:502 :02/07/08 22:33
>>509
直したつもりだし、文も付け足したし、原因も説明したし
俺暇人だったし。

どうしろと?

512 名前:デフォルトの名無しさん :02/07/08 22:34
>>509
>>506を実行すればよいと思われ。
508だけど、やっぱりC++の基本から勉強しような。
漏れはMFCを使わないからよく解らんが、VBからの移行の時に
MFCを使ってみて混乱してしまった。
今、回り道しても後でお釣りが来るから心配すんな。

513 名前:デフォルトの名無しさん :02/07/08 22:38
>>509
「定番」 言って来。
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/

514 名前:しつもん :02/07/08 22:38
>>502
神様です。ありがとう。
しかしながら、なんでだめだったんだろう・・
勉強しなおします

515 名前:デフォルトの名無しさん :02/07/08 22:41
(・Å・)ノ 質問です

VC6でVB6から使えるdllを作る方法を教えてください。例えば、

extern "C" __declspec(dllexport) long WINAPI Add(long x, long y)
{
return x + y;
}

こういう関数を作ってそれをVB6で

Private Declare Function Add Lib "SampleDll.dll" ( _
ByVal x As Long, _
ByVal y As Long _
) As Long

って感じに使いたいのですが、dll内で関数名が_Add@8に変わってしまっており、
VBでは先頭に _ が付いたり @ が含まれている関数名は使えないので
困っています。どなたか、よろしくお願いします。

516 名前:デフォルトの名無しさん :02/07/08 22:41
>>514
C++からな。

517 名前:デフォルトの名無しさん :02/07/08 22:59
>>515
C++Builderなら_とか@はつきませんよ
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )  Borland C++Builder6 Enterprise
 | 某|  イマナラ\378,000ポッキリダ
 (__)_)

518 名前:デフォルトの名無しさん :02/07/08 23:00
>>517
Osakaだとずれるんでやめてください

519 名前:515 :02/07/08 23:03
スマソ。自分で解決できました。
VBで使うときにAliasで指定すればいいだけでした。


520 名前:デフォルトの名無しさん :02/07/08 23:31
初心者です。
C/C++で、指定のディレクトリ内のファイル名のみを、
全てchar型文字列で取得したいのですが、
何か方法ありますか?


521 名前:デフォルトの名無しさん :02/07/08 23:32
>>520
少なくともCの標準関数では無理。

522 名前:デフォルトの名無しさん :02/07/08 23:33
char型は文字列じゃ無いんで無理かと。
それから、c/c++標準でエントリを取得する方法はありません

523 名前:デフォルトの名無しさん :02/07/08 23:37
無理なんですか・・・そうですか・・・わかりました・・・どうも・・・

(char型文字列って言わないんですね。)


524 名前:デフォルトの名無しさん :02/07/08 23:38
>>523
OS名を書け
それとchar型の配列

525 名前:デフォルトの名無しさん :02/07/08 23:41
http://www52.tok2.com/home/katohp/paintb/bbsnote.cgi
荒らしてくれやVer.1.0

526 名前:デフォルトの名無しさん :02/07/08 23:41
ああ、「char型の配列」ですか。すんまそん。

OSは、Windows95以降、一応VC++です・・・

527 名前:デフォルトの名無しさん :02/07/08 23:41
一応?

528 名前:デフォルトの名無しさん :02/07/08 23:42
>>526
Winはしらねーや
MSDNライブラリを持っているんだろ?それで調べろ。

529 名前:デフォルトの名無しさん :02/07/08 23:44
初心者なので、VC++の深いところはわからないので・・・

530 名前:デフォルトの名無しさん :02/07/08 23:46
>>526
FindFirstFileとFindNextFile

531 名前:デフォルトの名無しさん :02/07/08 23:52

FindFirstFileとFindNextFileですか?

Cの関数でしょうか?
調べてみます・・・どうもありがとう・・・



532 名前:デフォルトの名無しさん :02/07/08 23:53
>>531
WindowsのAPIだよ

533 名前:デフォルトの名無しさん :02/07/08 23:53
>>531
多分Cのプログラムから呼び出せる。

534 名前:デフォルトの名無しさん :02/07/08 23:54
>>531
お手元のMSDNライブラリで検索かけてくらはい。

535 名前:デフォルトの名無しさん :02/07/08 23:55
>>534
インストールCDしか落としていないので(以下略

536 名前:デフォルトの名無しさん :02/07/08 23:55
>>531
ぐぐってもいい

537 名前:デフォルトの名無しさん :02/07/09 00:03
>>535
通報しますた。

538 名前:デフォルトの名無しさん :02/07/09 02:08
>>531
MFCを使ってるならCFileFindを使った方が楽だと答えようと思ったけど
やめておく。

539 名前:デフォルトの名無しさん :02/07/09 07:57
クラス内で使う定数を#defineからconstメンバにしようかな〜と思います。
でも
cont int MAXFILES = 10;
とかやると純粋仮想関数のエラーとかなんとか言われます。
どの様に回避したらいいですか?

540 名前:デフォルトの名無しさん :02/07/09 08:55
コンストラクタで初期化しる!それが美しくないと思うなら、
http://pc.2ch.net/test/read.cgi/tech/1008593126/674
みたいなテンプレートクラスを作り、使うべし。

541 名前:デフォルトの名無しさん :02/07/09 12:20
>>539

enum { MAXFILES = 10 };


542 名前:デフォルトの名無しさん :02/07/09 13:22


543 名前:  :02/07/09 14:01
スンマソーン。

VBAで、

if a>b
1
else
0

end if

という文をVC++で書いたらどうなります???

VC++学び始め1日目です。


544 名前:デフォルトの名無しさん :02/07/09 14:10
1や0がなんかの式ならば

if(a>b)
{
 1;
}
else
{
 0;
}

即値ならば

(a>b) ? 1 : 0;

545 名前:543 :02/07/09 14:12
ありがとーん!
うーん。。VBAをやってからCをやったほうが
わかりやすいですね、俺ににとっては。
VBAやる前にC勉強した時はパンクしてましたもの。

546 名前:デフォルトの名無しさん :02/07/09 14:17
>>543
本屋行ってK&R買って読め。

547 名前:543 :02/07/09 14:20
K&R???
ワカリマセン。それ。
俺が持ってる本は
「新C++言語入門 ビギナー編」 by 林 晴比古

DQNかい?

548 名前:デフォルトの名無しさん :02/07/09 14:21
正直、晴比古は嫌い。

549 名前:デフォルトの名無しさん :02/07/09 14:43
>>545
俺はDELPHI→VBA→C→C++の順だが?

550 名前:デフォルトの名無しさん :02/07/09 15:16
言語がわかるかどうかは、問題ではない。そのツール(言語)で使えるプログラムが書けるかどうかが問題。
言語マニアは実は使えない。

551 名前:デフォルトの名無しさん :02/07/09 15:27
スレ違いになりかけっす。

552 名前:  :02/07/09 15:44
>>550
外国語で文法ばっかり勉強してる奴と、
一ヶ国語でも(欧州語)を喋る事ができる奴
ってな感じすか?

たとえになってない?

553 名前:543 :02/07/09 15:59
スマソ。
短いプログラムを書いてみました。
内容は、値を2つ代入させて、和をとるというものです(実行するとわかる)。
無駄がありまっしゃろか?診断きぼん。


#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
int a,b,i,sm;
sm = 0;

cout << "最初の値:" ;
cin >> a;
cout << "最後の値:" ;
cin >> b;

if(a<=b)
{

for (i=a; i<= b; i=i+1)
sm = sm + i;


cout << "sum = " << sm << '\n';

}

else

{
cout << "計算できません" << '\n';
}

return 0;
}

554 名前:デフォルトの名無しさん :02/07/09 16:00
>>543さん、それはVCというより、Cでは。



555 名前:デフォルトの名無しさん :02/07/09 16:01
なんで
#include "stdafx.h"
なの?

556 名前: :02/07/09 16:00
上の方に書いたMFCでSetTimerを使いビットマップ動画を使った
ゲームを作ってるものですが、800回実行?したあたりで
いきなり画像が消えてしまいます。小さな点だけのこり
ゲームは動きつづけます。
なんでしょうかこれ。

というかそもそもMFCでゲームは向いてないですよね。
シューティングゲームとかつくりたいなら、なにがいい?
Win32APIってやつ??
クラスとかも自分で作るやつがいいのかな。

557 名前:543 :02/07/09 16:03
一応、VC++でやってます。
上の #include"stdafx.h"って削除すると
ビルドでエラーが出ます。

558 名前:デフォルトの名無しさん :02/07/09 16:03
上のほうってどこやねん?

559 名前:デフォルトの名無しさん :02/07/09 16:06
そういうもんだとおもっとけ。


560 名前:デフォルトの名無しさん :02/07/09 16:07
>>543
sum=sum+i

sum+=i

i=i+1

++i

だよ。

561 名前:543 :02/07/09 16:08
>560
???
まだ実行していないけど、
++iじゃなくて、i++じゃない?


562 名前:デフォルトの名無しさん :02/07/09 16:09
i++でもいいが、++iのほうがいい。
少し意味が違うが。

563 名前:543 :02/07/09 16:09
一応、
a=1
b=10
の場合、最終結果は
1+2+3+...+9+10 = 55

となるように組んでいます。

564 名前:デフォルトの名無しさん :02/07/09 16:09
>>543
あと、ループ用のiを関数の先頭で宣言してるけど、
for(int i=0;...
みたく、forの中で宣言したほうがいいね。

565 名前:デフォルトの名無しさん :02/07/09 16:10
>>564
それはVCではトラブルの元になる

566 名前:543 :02/07/09 16:12
>564
今やってみたらエラーが出ました。

567 名前:デフォルトの名無しさん :02/07/09 16:13
>>565
平気だと思う。


568 名前:デフォルトの名無しさん :02/07/09 16:15
>>567
VCではforの初期化部で宣言した変数のスコープがfor以降でもつづいちまう
#define for if(0); forでもすれば別だが。

569 名前:デフォルトの名無しさん :02/07/09 16:16
まちがえた。else抜けてる

570 名前:543 :02/07/09 16:20
この程度のプログラムしか書けませんが、
皆さんのご指摘等、マジ参考になるっす。
ありがたいっす。

571 名前:デフォルトの名無しさん :02/07/09 16:21
>>568
> VCではforの初期化部で宣言した変数のスコープがfor以降でもつづいちまう

それ自体は問題ないじゃん。
昔はみんな、そういう仕様でやってたんだし。

互換性が要求されるとか、そういう局面じゃなかったら
ぜんぜん問題ないでしょ。

572 名前:デフォルトの名無しさん :02/07/09 20:04
VC++6.0 OSはWin2Kで宿題をやってます。
SDI形式のプログラムで、リソースエディタを使って作ったダイアログを
別クラスから呼び出そうとすると「サポートされていない操作を実行しました」
とだけでて、ダイアログが出てくれません。
つい数時間前までは出ていたのですが・・・・。
おそらく、ちょこちょこいじったところがダメなんだと思うのですが、正直
自分がどこをいじったのかわからなくなってしまいました・・・。

ダイアログのクラス名を「CSave」として、読み出しクラスは「C***View」クラス

CSave dlg;

if(dlg.DoModal() == IDOK){
処理
}

としています。
リソースのほうか、ダイアログのクラスのほうをいじらないとだめですか?

573 名前:デフォルトの名無しさん :02/07/09 20:04
VC++6.0 OSはWin2Kで宿題をやってます。
SDI形式のプログラムで、リソースエディタを使って作ったダイアログを
別クラスから呼び出そうとすると「サポートされていない操作を実行しました」
とだけでて、ダイアログが出てくれません。
つい数時間前までは出ていたのですが・・・・。
おそらく、ちょこちょこいじったところがダメなんだと思うのですが、正直
自分がどこをいじったのかわからなくなってしまいました・・・。

ダイアログのクラス名を「CSave」として、読み出しクラスは「C***View」クラス

CSave dlg;

if(dlg.DoModal() == IDOK){
処理
}

としています。
リソースのほうか、ダイアログのクラスのほうをいじらないとだめですか?

574 名前:デフォルトの名無しさん :02/07/09 20:06
二重投稿すみません(汗

575 名前:超初心者 :02/07/09 20:06
for文中から関数から抜けるのって
exit;
じゃだめなの?
ワーニングでるんですけど・・・

576 名前:デフォルトの名無しさん :02/07/09 20:26
warnigの意味を考えれ

577 名前:デフォルトの名無しさん :02/07/09 20:39
前前から思ってるんだけど、>>575みたいな間違えをする人って、
入門書とか一切買わずに、手探りで勉強してるのだろうか?
return の説明なんて、どんなヘボイ本にも載ってるとおもうけど。

578 名前:デフォルトの名無しさん :02/07/09 20:51
ねぇ、みんななんでふるいバージョンのVC++についてはなしてんの?

579 名前:デフォルトの名無しさん :02/07/09 21:01
7を買う金が無い

580 名前:デフォルトの名無しさん :02/07/09 21:03
.NETをインストロールする勇気がない

581 名前:デフォルトの名無しさん :02/07/09 21:07
>>577
そういう人たちは全部2chで習得しようとする真の2ちゃんねら。

582 名前:デフォルトの名無しさん :02/07/09 21:07
>>572
ちょこちょこっと何をいじったのかわからなければ助言のしようもない。

583 名前:デフォルトの名無しさん :02/07/09 21:49
>>577
どうもです。
returnの次にexit書いてました。
returnは戻り値のみを決定するもんで、
関数は抜けないと勝手に決め付けてました。
VBの(関数名)=戻り値 と一緒だと・・・・
スレ汚しすみませんでした。

584 名前:デフォルトの名無しさん :02/07/09 22:39
>>553
> for (i=a; i<= b; i=i+1)
>sm = sm + i;

これを、

sm = ((a + b) * (b - a + 1)) / 2;

じゃだめ? 効率考えたらこっちのほうがよさげ。
ってそういう問題じゃない?

585 名前:デフォルトの名無しさん :02/07/10 02:50
たしか、VCのswitch文には
default:に処理が来ることの無いと言うことを明示する(ジャンプテーブル変換のヒント)
構文があったと思うのですが、検索しても出てきません。
どなたか教えてもらえませんか?

586 名前:デフォルトの名無しさん :02/07/10 03:38
>>585
__assume

ttp://www.sun-inet.or.jp/~yaneurao/rsp/rsp11to18.html
でも上によると、何もしなくても最適化してくれるみたい。


587 名前:デフォルトの名無しさん :02/07/10 14:46
ファイルをインクルードする順番はどう判断したらいいのですか?

#include "mona.h"
#include "giko.h"

#include "giko.h"
#include "mona.h"
と書いたらエラーになる時とかありますよね?

588 名前:デフォルトの名無しさん :02/07/10 19:44
SetTimerで発生するイベントは、
他の関数内を実行している時でも
割り込み的にSetTimerの関数が実行されるのでしょうか?
それとも、実行中の関数から抜けるまで
プールされるのでしょうか?
どなたかご教授お願い致します。

589 名前:デフォルトの名無しさん :02/07/10 20:44
>>587
そのくらいでエラーが出るなら、ヘッダファイルがウンコなだけだと思われ。

590 名前:デフォルトの名無しさん :02/07/10 21:20
>>588
割り込み的に発生する・・・・・・・・・と思う。

591 名前:デフォルトの名無しさん :02/07/10 21:43
>>550
遅レスだが言語は材料であり道具でもある。
様々な材料の特性・用途を知らないのでは、適材適所の判断は下せない。

592 名前:543 :02/07/10 23:46
543です。
スレ違いとは思いますが、ちょっと書かせてください。
ここの
ttp://village.infoweb.ne.jp/~ishidate/vcpp.htm

VC++入門で、(3)を見ながら初めてexe作りました。
色んなファイルをいじくるので良くわかっていませんが、
exeをちょっと頑張れば作ることが出来るという喜び・楽しみを
実感しました。いや〜・・・感慨深いっす。
もしここを見てるVC++初心者で、
「何が解らないって、何も解らんのよ」
っている人がいたら見てみてください。


593 名前:デフォルトの名無しさん :02/07/12 16:19
>>592
が書き込んでから誰も来なくなったね・・・

594 名前:デフォルトの名無しさん :02/07/12 23:36
>>593
つまり、初心者がMFCに手を出すのは危険である
と言う結論が導き出されたので、終了しますた。

595 名前:デフォルトの名無しさん :02/07/13 17:22
MFCがうまいこと(?)隠蔽してる部分で
つまずくことが多いのかな。

MFC使ったことないからわかんないけど

596 名前:デフォルトの名無しさん :02/07/13 18:01
クラスAでpublic宣言したメンバ変数をクラスBで参照、変更する方法を教えてください。

597 名前:デフォルトの名無しさん :02/07/13 18:03
ゲーム作りたいです。基礎から教えて下さい

598 名前:デフォルトの名無しさん :02/07/13 18:12
>>597
Cの入門書かう

K&Rかう

ペゾルド本買う


599 名前:デフォルトの名無しさん :02/07/13 18:15
>>596
publicでしょ?問題ないやん

600 名前:デフォルトの名無しさん :02/07/13 18:18
>>599
いやなんかCDialogから派生したクラスAでダイアログエディタで登録したボタンに
割りつけたCButton m_Button_1を同じくCDialogから派生したクラスBから
A::m_Button_1.EnableWindow( TRUE );とかやろうとするとエラーが出ますです・・・。

601 名前:デフォルトの名無しさん :02/07/13 18:24
エラーがでたら、そのメッセージを正確に記述する

602 名前:デフォルトの名無しさん :02/07/13 18:25
>>601
今自宅なんで正直よく覚えてないんですけど、
「m_Button_1はクラス、又は構造体ではありません」みたいな感じだったように思います。

603 名前:デフォルトの名無しさん :02/07/13 18:29
>>602
publicは関係ないっぽくない?


604 名前:デフォルトの名無しさん :02/07/13 18:29
class Button{};
class Dialog{};

class A : public Dialog {
public: Button m_Button_1;
};

class B : public Dialog {
void func()
{
A::m_Button_1.〜();
}
};

って事?
こりゃ無理に決まってるやん

605 名前:デフォルトの名無しさん :02/07/13 18:32
>>604
まさしくこんな感じです(^^;
無理なんですか?こういうの。
publicの意味がいまいちわかってないですね私・・・。

606 名前:デフォルトの名無しさん :02/07/13 18:34
>605
publicは関係ない。

607 名前:デフォルトの名無しさん :02/07/13 18:35
Bのスコープ内にAのインスタンスがないんだから、
アクセスできるわけ無いじゃん。

608 名前:デフォルトの名無しさん :02/07/13 18:38
>>604
あんたすごいな。

609 名前:デフォルトの名無しさん :02/07/13 18:58
>>608
なにが?

610 名前:デフォルトの名無しさん :02/07/13 20:26
SDKとAPIとMFCの違いを
面白おかしく教えてください

611 名前:デフォルトの名無しさん :02/07/14 01:13
>>367と似たような質問なんですけど、ES_NUMBERだと
数字しか入力できないですよね?
そこで、数字と小数点だけしか入力できないようにするには
どうしたらいいでしょうか?
お願いします。

612 名前:デフォルトの名無しさん :02/07/14 01:18
>>610
違いもなにも、何か共通点があるのか?

613 名前:デフォルトの名無しさん :02/07/14 01:24
ATLとSTLとTDLの違いを
殺伐とおしえてください。

614 名前:デフォルトの名無しさん :02/07/14 01:32
>613
死ぬか
貴様。

615 名前:デフォルトの名無しさん :02/07/14 01:34
VCとVBの違いを
小一時間教えてください。

616 名前:デフォルトの名無しさん :02/07/14 01:40
そんなに暇じゃありません。

617 名前:デフォルトの名無しさん :02/07/14 01:43
MLとHaskellの違いを(略

618 名前:デフォルトの名無しさん :02/07/14 01:53
まんこと女性の違いを


619 名前:デフォルトの名無しさん :02/07/14 01:59
sageは賢者。
俺は天才。

620 名前:デフォルトの名無しさん :02/07/14 06:24
>>610
S サ
D ド
K かい?

A アナル
P プレイが
I イイ

M む
F ふっ
C C

621 名前:デフォルトの名無しさん :02/07/14 11:55
ワラタとワロタの違いを教えてください

622 名前:デフォルトの名無しさん :02/07/14 12:05
>>621
ワラタは関東人、ワロタは関西人
上品さが違います。

623 名前:デフォルトの名無しさん :02/07/14 12:57
おしっこ、おうんこ、おぱんつ
おを付けると上品です。

624 名前:デフォルトの名無しさん :02/07/14 15:01
このスレ、イイ感じに壊れてきたね

625 名前:デフォルトの名無しさん :02/07/14 18:24
sage進行でたのむわ。

626 名前:  :02/07/14 19:25
今関数を勉強してるんですが
プログラム中に関数を作ろうとすると必ずエラーになってしまいます。
なぜですか?
#include <stdio.h>
void main(void)
{
int a=10,b=3,wa;
float syou;

wa=kasan(a,b);
syou=jozan(a,b);
printf("%d%d%d%.1f\n",a,b,wa,syou);
}
int kasan(int x,int y)
{
int z;
z=x+y;
return z;
}
float jozan(int a , int b)
{
return(a/b);
}


627 名前:デフォルトの名無しさん :02/07/14 19:30
.net の優待パッケージって
VC++のアカデミック所持者でも使えるんですか?

628 名前:デフォルトの名無しさん :02/07/14 20:08
>626
プロトタイプ宣言

629 名前:デフォルトの名無しさん :02/07/14 20:10
>>626
jozanが実質的にはfloatを返せていない

630 名前:  :02/07/14 20:48
>>629
でも教科書にはこうかいてあったんですけど…

631 名前:デフォルトの名無しさん :02/07/14 20:50
>>630
main関数を一番後ろに移動させてみたら?あと

float jozan(int a, int b)
{
 return (float)a/b;
}

632 名前:デフォルトの名無しさん :02/07/14 20:54
なんでこのスレで聞くんだ。。

633 名前:デフォルトの名無しさん :02/07/14 20:55
>632
単にVCを使っているだけなんじゃない?

634 名前:=・ :02/07/14 20:55
>>626はうんこを二回食べる

635 名前:デフォルトの名無しさん :02/07/14 20:58
>>634はうんこを一回しか食べない

636 名前:=・ :02/07/14 20:59
>>66はGOTOとGTOは一緒だと思っている

637 名前:デフォルトの名無しさん :02/07/14 20:59
俺は未だにGOSUBを使っている

638 名前:デフォルトの名無しさん :02/07/14 21:02
>>626
まぁすれ違いということで。

639 名前:デフォルトの名無しさん :02/07/14 22:53
わりと評判がよかった 山本信男の「visual c++1,2,3」を勉強してみました。
大体理解しました。
次、どんな本で勉強すればいいですか?
お勧めの書籍を、頓知で教えてください。

640 名前:デフォルトの名無しさん :02/07/14 22:56
>>639
「反対にすると、返事を書くことを意味する言葉になるもの」が違う

641 名前:しんえもん :02/07/14 22:59
一休さんへ
私にもわかる程度の頓知でおねがいします

642 名前:デフォルトの名無しさん :02/07/14 23:00
>>639
互いに近くを通り、それぞれ反対方向へ行く。

643 名前:さよ :02/07/14 23:02
スレちがい 二度とくんな ってことよ
しんえもんさん

644 名前:デフォルトの名無しさん :02/07/14 23:18
CTreeCtrl の SetItemData や GetItemData での
『アイテムに関連付けされた32 ビットアプリケーション固有の値』って具体的には何なんですか?


645 名前:デフォルトの名無しさん :02/07/14 23:19
アトム?

646 名前:デフォルトの名無しさん :02/07/14 23:22
>>642
イイ!!

647 名前:しんうぇもん :02/07/14 23:25
>>642が分からぬ

648 名前:デフォルトの名無しさん :02/07/14 23:26
すれ違う
ばかか?

649 名前:デフォルトの名無しさん :02/07/14 23:26
>>644
任意の値。
void*を突っ込んだり、好きな値を突っ込んだり

650 名前:デフォルトの名無しさん :02/07/14 23:56
C++ で、次みたいな定数の構造体配列をやるのって
どうやるんですか??
struct const struct_foo[] = { { "AAA",1,2 } ,
{ "AAA",1,2 } ,
...}
マニアックな質問だったらスマソ。

651 名前:デフォルトの名無しさん :02/07/14 23:58
なんのために?

652 名前:デフォルトの名無しさん :02/07/15 00:04
だって、C++ でグローバル変数にテーブル置くの
カッコワルイし。。。
一応全部クラス経由でコードしたいし。
switch とかで直にコード打つと後でめんどいし。
・・・という理由からです。

653 名前:デフォルトの名無しさん :02/07/15 00:05
何をするプログラムなの?

654 名前:デフォルトの名無しさん :02/07/15 00:10
>>650
struct_fooにコンストラクタを定義して、

const struct_foo foo[] = {struct_foo("AAA",1,2),struct_foo("AAA",1,2),struct_foo("AAA",1,2)};

655 名前:デフォルトの名無しさん :02/07/15 00:11
はぁ。レンダラーの pov-ray の pov 形式のファイルを
自分のゲームで動かそうってのが発想っす。
イチイチモデル作るのメンドイし、共通フォーマットでいきたいし。
で、ファイルの識別子のテーブルが作れないのに気づいた・・・。
C++ はクラスは動的メモリで動いてるから、ひょっとして無理カモ??

656 名前:デフォルトの名無しさん :02/07/15 00:11
キーワードのカウントときやるかな。

657 名前:デフォルトの名無しさん :02/07/15 00:12
C++ はクラスは動的メモリで動いてるの?

658 名前:644 :02/07/15 00:18
>>649 どうもです。
サンプルだとアイテムのハンドルをセットしてるし、
GetItemDataでは0と比較してるだけなので、なんのこっちゃ?と思ってました。

m_TreeCtrl.SetItemData( hItem, (DWORD)"あいうえお" );
としておいて
CString str = (char*)m_TreeCtrl.SetItemData( hItem );
が可能という判断で問題ないですか?これで一応期待した通りに動きましたが。

ついでというわけでもありませんが、DWORD と DWORD_PTR の違いは
将来Windowsが64ビット化した時のことを考えなければ無視してかまわない。
という認識でOKですか?

659 名前:デフォルトの名無しさん :02/07/15 00:20
>654
今トライしてます。
>656
???
>657
クラスなんぞ、明らかに malloc のラップでしょ、多分。
じゃなきゃあんな柔軟に new , delete しないのでわ?

C++ は、なんであんなに普及しないんだ?ファームで
C++ 使ってるの見た事ないぞ。。。

660 名前:デフォルトの名無しさん :02/07/15 00:25
>659
オーバーヘッドが増えパフォーマンスが落ちる。
サイズが肥大化する。
以上。

661 名前:デフォルトの名無しさん :02/07/15 00:25
>654
できましたよ〜〜!!
後は使うだけだ〜〜
くだらぬ質問スマソ。。。

662 名前:デフォルトの名無しさん :02/07/15 00:28
>660
なる。C++ の勉強は無意味になりかねないカモ。
時代は ANSI C という事で。。。

663 名前:デフォルトの名無しさん :02/07/15 00:30
おれはC++が大好きですが、何か?

664 名前:デフォルトの名無しさん :02/07/15 00:31
アレを見ていた世代が、あずまんがを見ているということですか?

665 名前:デフォルトの名無しさん :02/07/15 00:32
俺も好きだよ。愛してる。
ケコーンしよ

666 名前:デフォルトの名無しさん :02/07/15 00:33
>>664
誤爆しましたすみません

667 名前:デフォルトの名無しさん :02/07/15 00:37
>>667
回線気って首吊って以下略

668 名前:デフォルトの名無しさん :02/07/15 00:38
おれはN88-BASICが大好きですが、何か?
仕事だったらC++ムズいから使いたくない。
マタリとVB に逃げたい今日このごろ。

669 名前:デフォルトの名無しさん :02/07/15 00:43
現実は避けて通れないだろ。
大人らしく我慢すれ

670 名前:デフォルトの名無しさん :02/07/15 00:44
要は、ちゃんとしたモノが作れたらなんでもいい。

671 名前:デフォルトの名無しさん :02/07/15 00:48
>670
あなたはね。俺とは違うし。

672 名前:デフォルトの名無しさん :02/07/15 01:01
>>671
だ、誰?

673 名前:ロリ :02/07/15 19:58
すいません。C初心者です。
#include "stdafx.h"
#include <iostream>
using namespace std;

double heikin(double x,double y);

int main()
{
double a,b,ave;

cout << "a=" ;
cin >> a;
cout << "b=" ;
cin >> b;
ave=heikin(a,b);
cout << "平均 = " << ave <<'\n';


return 0;
}

double heikin(double x, double y)
{
double z;
z=(x+y)/2.0;

return z;

}
というプログラムを本を見ながら作ってみましたが、
関数"heikin"以外に、例えば掛け算(a*b)をさせる関数を作った場合、
やはり”int main()”の上に関数名を書かないといけないのですか?

よろしくお願いします。

674 名前:デフォルトの名無しさん :02/07/15 20:00
>>673
書かなければどうなった?

675 名前:デフォルトの名無しさん :02/07/15 20:00
>>673
使う前に宣言するのは当然じゃない?

676 名前:ロリ :02/07/15 20:01
>674
エラーが出ました。
私としては、どうして最初に関数名を書かないといけないのかが
全然ワカリマセン。

677 名前:デフォルトの名無しさん :02/07/15 20:02
いやなら全部mainの前で定義する

678 名前:ロリ :02/07/15 20:02
すると、自分で関数を作って利用する場合、
一々一番上(int main())に明記しないといけないと?

679 名前:デフォルトの名無しさん :02/07/15 20:02
そのためのヘッダ

680 名前:ロリ :02/07/15 20:04
試しにmainの上に書いて、最初に書いた関数名を消したら
同じ結果になりました。
・・・

何か不便のような。。。


681 名前:デフォルトの名無しさん :02/07/15 20:05
C++になってからはプロトタイプ宣言は必須。


682 名前:ロリ :02/07/15 20:07
Cでは書かなくても良かったのですか?


683 名前:デフォルトの名無しさん :02/07/15 20:12
ていうかさ、なんでもかんでも聞くなよ。
別スレの質問解決したんか?
わからなけりゃとりあえず数字は
intに代入しとけ。
char型になんていれるな。
わかってりゃいいだけどね。
それに本にプロトタイプの解説なかったのか?
次にプロトタイプ 解説
で検索したか?
基本的にプログラムってのは上から解読されるから
いきなりave=heikin(a,b);
っていわれるとheikinってなんだよ?って聞かれるわけ。
だから前に宣言だけしとく。
プロトタイプしたくなけりゃ。。わかるよな?
とにかく初心者の癖に仕様に愚痴るなよな。
愚痴るくらいならやめとけ。
あとひとつ、ここではこの質問はすれ違いだ。
これで全て解決することを望む。

684 名前:デフォルトの名無しさん :02/07/15 21:51
メンバ変数としてCWinthread* m_Threadと宣言しておいて、
AfxBeginThreadでスレッド立ち上げてWaitForObject〜AfxEndThreadでスレッド終了
させるようなプログラム組んだんですけど、デバッグで見てると
メモリリークが発生してしまいます。どうやって解決すればいいですか?

685 名前:デフォルトの名無しさん :02/07/15 22:09
>>684
見なかったことにする

686 名前:デフォルトの名無しさん :02/07/15 23:56
>685
みたんだろ?

687 名前:デフォルトの名無しさん :02/07/16 00:07
いままで、BCB(VCL)使ってました。
BCBでは、プロジェクトの設定で2カ所ほどチェック外すだけで
exe単体で起動するアプリ(関連DLL等を一緒にインストールしなくて良い)が
作成できて、作ったアプリを友人とかに試してもらうときに重宝していたのですが、
VC++ではそんな簡単には同じようなこと出来ないんでしょうか?
自分でDLL等を静的リンクさせなきゃ無理ですか?



688 名前:デフォルトの名無しさん :02/07/16 00:13
ころっけ

689 名前:デフォルトの名無しさん :02/07/16 12:53
>>687 コンボボックス一つで設定できますが何か?

690 名前:デフォルトの名無しさん :02/07/16 19:44
>>689
でも、それだと自分で静的リンクを指定しないと無理ですよね?

691 名前:687 :02/07/17 01:26
>>689-690
ど・どこの話をされてるっすか?
プロジェクトの設定、一般タブの「MFCのスタティックライブラリを使用」ですか?
コンボボックスだと、そんな気がするのはそれくらいしか・・・・・

キーワードだけでも教えてやってください。
がむばって、googleますんで。


692 名前:デフォルトの名無しさん :02/07/17 01:31
バイナリを吐かせるのに何を使えばいいですか?

693 名前:デフォルトの名無しさん :02/07/17 01:40
>>692
fopen("file.txt","wb")


694 名前:デフォルトの名無しさん :02/07/17 02:49
>>691
分かってるんだったら聞くなよ

695 名前:687 :02/07/17 23:49
>>694
ん?自分の思いっきりカンで書いたのはあってるんですか?
>>689の内容が気になるんですが、何か適当に試してみます。
くだらん質問でスンマソン


696 名前:デフォルトの名無しさん :02/07/18 01:20
S D K

697 名前:デフォルトの名無しさん :02/07/23 21:35
VC持ってるだけで、ほとんど使っていない初心者です。

VCを使ってGNUのようなソースを公開されているプログラムをビルドするには
どうすれば良いんでしょうか?
フォルダごとファイルを読み込んでビルドするだけのような気もするのですが、
そのやり方もわかりません。

よろしくおながいします。

698 名前:デフォルトの名無しさん :02/07/24 01:47
>>697
Readmeを読む
超運が良ければ書いてある


699 名前:デフォルトの名無しさん :02/07/24 01:54
WindowsのSDK種類一杯在るしサイズデカイし落とせないよ〜

700 名前:>>1 :02/07/24 02:42
#include <windows.h>
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg, WPARAM wp,LPARAM lp){
switch(msg){
case WM_CLOSE:
PostQuitMessage(0);
return 0;}
return DefWindowProc(hwnd,msg,wp,lp);
}

int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,LPSTR lpCmdShow,
int nShowCmd){
HWND hwnd; MSG msg; WNDCLASS wcls;
wcls.style = CS_HREDRAW | CS_VREDRAW;
wcls.lpfnWndProc = WndProc;
wcls.cbClsExtra = cbWndExtra =0;
wcls.hInstance = hInstance;
wcls.hIcon = LoadIcon(NULL,IDI_HAND);
wcls.hCursor = LoadCursor(NULL,IDC_ARROW);
wcls.hbrBackground = (HBRUSH)GetStockMessage(WHITE_BRUSH);
wcls.lpszMenuName = NULL;
wcls.lpszClassName = TEXT(EDIT);

if(!RegisterClass(&wcls)) return 0;

hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,
TEXT("EDIT"),TEXT("WINDOWS"),
WS_OVERLAPPEDWINDOW,
200,200,640,480,
NULL,NULL,
hInstance,NULL);
ShowWindow(hwnd,SW_SHOW);
while(GetMessage(&msg,NULL,0,0))DispatchMessage(&msg);
return msg.wParam;
}

701 名前:デフォルトの名無しさん :02/07/27 19:49
ウィンドウにBMP等を描画するとちらつくんですが、
対処法は在りませんか?

702 名前:デフォルトの名無しさん :02/07/27 19:54
>>701
いまどうやって描画しているかを書かないと対処できんよ。
裏に仮想スクリーン作ってそっから転送とか?

703 名前:デフォルトの名無しさん :02/07/27 20:03
WM_PAINTが発生した時に、LoadBitmapでロードしたビットマップを
BitBltでタイル状に描画してその上にRectangle等でグラフィックを描いているんですけど。
ウィンドウのサイズを変更した時などちらつく上に処理が遅くなるので、
何か良い方法がないかと。

704 名前:デフォルトの名無しさん :02/07/27 20:09
>>703
CreateCompatibleDCとかCreateCompatibleBitmapとかで、
スクリーンと同じサイズの仮想スクリーンを作り、Rectangle等の
出力はそこに行って、WM_PAINTで本来のウィンドウに丸ごと
転送するとかはスレ違いか?

705 名前:デフォルトの名無しさん :02/07/27 20:12
>>703
> 何か良い方法がないかと。
>>702 が...
> 裏に仮想スクリーン作ってそっから転送とか?
って書いてるけど。

706 名前:デフォルトの名無しさん :02/07/27 20:45
>>701
その二つはすでに使って見たんですけど、処理が重かったんですが。

>>702
その方法がわかりません。

707 名前:デフォルトの名無しさん :02/07/27 21:30
>>701
v-syncを待つ

708 名前:デフォルトの名無しさん :02/07/28 12:59
>>703
ウインドウズのサイズ変更した場合等、再描画する際は
毎回クライアントの画面クリアが行われる為ちらつきます。
WM_ERASEBKGND捕まえて、FALSEを返してやる。
これで、画面クリアを抑制。
あとは>>704のやり方で目的の画像を描画。

709 名前:デフォルトの名無しさん :02/07/29 14:28
VC6のIDEで他のエディタ使うことってできましたっけ?

710 名前:デフォルトの名無しさん :02/07/29 19:11
あげ

711 名前:デフォルトの名無しさん :02/07/30 17:52
VC++でコンパイラのデフォルトオプションの設定方法って無いでしょうか?
設定ファイルとか環境変数が良いのですが。


712 名前:デフォルトの名無しさん :02/07/30 18:21
質問でーす。
SDK(MFC不可です)でウィンドウ分割をしたいんですけど、
どうしたらいいんでしょう?MDIっぽいのではなくて、
エクスプローラみたいな分割をしたいんです。
「猫でも分かる〜」に行ったら擬似分割みたいなのありましたけど
擬似ではない方法を知りたいです。お願いします。

713 名前:712 :02/07/30 18:36
あれ?エクスプローラみたいのってMDIで作られてましたっけ?
うん、とにかく分割できればいいです。擬似ではなくて・・・。

714 名前:デフォルトの名無しさん :02/07/30 18:40
自前でハンドリングする

715 名前:デフォルトの名無しさん :02/07/31 17:16
つか、MFC/WTLのSplitterのソース嫁よ、、、

716 名前:デフォルトの名無しさん :02/07/31 19:28
WTLのSplitterってデフォルトじゃescでキャンセル出来ないんだよな。
あと、リサイズがインタラクティブなのもあまり好きじゃない。
ていうか、そもそもSplitterごときで一つウインドウ作るのがイヤだ

717 名前:名無し :02/08/03 08:32
「タコ」というのはリナックス初心者のことでは?

718 名前:デフォルトの名無しさん :02/08/03 09:16
タコタコ(・∀・)タコタコ

719 名前:デフォルトの名無しさん :02/08/03 13:01
MFCの入門書読んで勉強してるんだけど、
ウィンドウに○とか△とか書くのに
デバイス コンテキストってのを使う
ことは分かったんだよ。

で、このデバイスコンテキストって
何者?と思ったけど、その入門書には
詳しいこと書いてなかったし、MSDNの
説明読んでも全然訳が分からない。

どこかに、このデバイス コンテキスト
について、分かりやすく説明してある本
ってないかな?

720 名前:デフォルトの名無しさん :02/08/03 15:51
よーするに対象となるウィンドウを描画可能にします、ってこと。

721 名前:719 :02/08/03 16:25
>>720
間違ってはいないかもしれないが、何の意味もない説明だな。
それこそMSDNに書いてあったのと同じぐらい無意味な説明だ。


722 名前:デフォルトの名無しさん :02/08/03 17:00
>>721
のび太のくせに生意気だぞ。

723 名前:初心者(東大電子工卒) :02/08/03 20:21
今日、visualstudio.netを買ってきました。
よろしくお願いします。

724 名前:デフォルトの名無しさん :02/08/03 20:57
>>719
「デバイスコンテキスト」てのは「描画対象オブジェクト」を
表しますよーとか言ってみるテスト。
    TextOut(dc, x, y, "hoge", strlen("hoge"));
は「デバイスコンテキスト dc の座標(x,y)に "hoge" という文字を
書きなさい」という命令です。
ほら,ファイルの入出力なんかで
    fprintf(fp, "hoge");
は「ファイル fp に "hoge" を出力しなさい」じゃないスか。
あんな感じのノリで。
# 命令というよりは,オブジェクト指向的に言えば
# 「メッセージ」て言うべきなのかなとも思います

オススメは
  坂本千尋著「アドベンチャーゲーム プログラミング 美少女ゲームの作り方」ソフトバンク
あたりかな,と。
タイトルはアレだけど,私はこの本でなんとな〜くコツをつかみました。

725 名前:デフォルトの名無しさん :02/08/03 21:09
買う時に勇気がいるだろうな、その本。

726 名前:719 :02/08/03 23:49
>>724
なるほど、fprintfなどになぞらえて貰うと
ピンと来るよ。ぼんやりと感触が掴めてきたので
お勧めの本を入手して読んでみる。ありがとう。

>>725
amazonとかで買うから心配要らないよ。


727 名前:デフォルトの名無しさん :02/08/03 23:50
>>719
あなた、本じゃないと納得いかないクチですか?
googleで“デバイスコンテキストとは”で検索してみれ!

728 名前:719 :02/08/04 00:10
>>727
そんなことは聞かれる前に当然やった。
が、まとまった、キチンとした説明がされたページが
全然みつからないので、あえてここで質問させて
いただいた、というわけ。悪いね。

729 名前:デフォルトの名無しさん :02/08/04 01:05
デバイスコンテキストを勉強するつもりが、「美少女ゲーム」を作ってみたくなるという罠

730 名前:デフォルトの名無しさん :02/08/04 01:20
デバイスコンテキストを理解するには、
画面に出力するゲームだけ考えずに、
一度印刷プログラムを書いてみれば一発で分かる。

731 名前:デフォルトの名無しさん :02/08/04 21:39
cl.exe の実行エラー ってなるんですがどうしたら直るんですか?

732 名前:デフォルトの名無しさん :02/08/04 21:48
よーし、パパ、このスレ読んで頑張っちゃうぞ!

733 名前:デフォルトの名無しさん :02/08/04 21:53
>>731
バグを直す。

734 名前:デフォルトの名無しさん :02/08/04 21:57
>>732
パパ、すごーい!

735 名前:デフォルトの名無しさん :02/08/04 22:01
>>733
ありがとうございます。ただの自分のミスでした。

736 名前:最近 :02/08/07 20:44
Cの知識だけでVC++はじめたんですけどMFCって使わないとこのコンパイラ
使ってる意味ないんでしょうかね?
それからもうひとつ、C++が分かればMFCも分かるんですか?


737 名前:デフォルトの名無しさん :02/08/07 20:46
MFC == 神のクラス。
凡人には歯が立ちません。

738 名前:Rina ◆tI333vNE :02/08/07 20:48
ぶっちゃけ、MFC分からんっす…。

739 名前:デフォルトの名無しさん :02/08/07 20:49
MFCって、分かる/分からんより、知っている/知らん(or 使ったことがある/ない)
ってかんじじゃない?

740 名前:Rina ◆tI333vNE :02/08/07 20:51
使ったことあるけど挫折しますた…。
い、いいもん、私サーバプログラミングしかしないし!

…いつかマスターしようとは思ってるんですよ?w

741 名前:デフォルトの名無しさん :02/08/07 20:52
MFC使うならC#を使った方がいいらしいよ。

742 名前:デフォルトの名無しさん :02/08/07 20:52
>>740
(;´Д`)ハァハァかわい

743 名前:デフォルトの名無しさん :02/08/07 21:01
MFCをクソと感じる方は弊社のC++Builder
をどうぞ。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )  トリアエズ トライアルガワリニ
 | 某|  Delphi6 Personalサワッテミテネ
 (__)_)

744 名前:デフォルトの名無しさん :02/08/07 21:09
MFCもある日突然わかりだすね。あの感覚って不思議だよねー

745 名前:323 :02/08/07 22:12
>>741
でも、VS.netのMFCはデフォルトでXPスタイルが使えるというどーでもいい特典あり。

746 名前:736 :02/08/07 22:34
結局GUIのプログラムが作れればそれで満足なんですけどね。
UNIXではろくなプログラムが作れないというか、ややこしい・・


747 名前:デフォルトの名無しさん :02/08/07 22:35
サーバプログラミングってなんじゃ?

748 名前:デフォルトの名無しさん :02/08/07 22:36
>>747
クライアントは無いのか?

749 名前:デフォルトの名無しさん :02/08/07 22:36
漏れはCの標準関数で挫折しますた

750 名前:デフォルトの名無しさん :02/08/07 22:37
>>749
どう挫折したのよ?


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.