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


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

★初心者にVisual C++を教えるスレ★ Part6
751 名前:デフォルトの名無しさん :03/06/11 11:14
>>750
> コンピュータ等のファイルに保存することを禁じます。

これかぁ。コンパイルするために保存しちゃった。うっかりしていたよ。
指摘してくれてありがとう。

752 名前:749 :03/06/11 11:39
解決しました

「VC++6.0でうまくビルドできない時は」を参考に
myProg.hbrBackground =GetStockObject(WHITE_BRUSH);

myProg.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
と書き換えると上手くいきました
.NETは関係ないと思いうかつにも読み飛ばしたのが敗因でした

>>750さん、ありがとうございました

753 名前:デフォルトの名無しさん :03/06/11 13:04
つうか何でVCみたいなうんこを使うか理解に苦しむ

754 名前:デフォルトの名無しさん :03/06/11 13:04
超激安アダルトDVD18禁
注文時に2ちゃんのどの板からきたか御記入ください
明日6月11日まで消費税をサービスいたします。

http://www.net-de-dvd.com/

755 名前:デフォルトの名無しさん :03/06/11 13:37
現在C++でプログラムを作成しているのですけど、
処理途中に画面をクリアしたいのですけど、どうやればいいのでしょうか?

プログラムイメージは以下の通りです。
(argv[1]とargv[2]のパラメータに入れられた数字の足し算を10秒後に表示するプログラムです。)
#include<stdio.h>
int main(int argc, char *argv[])
{
printf("入力値1:%d\n", argv[1]);
printf("入力値2:%d\n", argv[2]);

printf("\n\n只今計算中!\n");
sleep(10);

// ここで画面クリアしたいです!

int sum;
sum = CInt(argv[1]) + CInt(argv[2]);
printf("答えは%dです\n",sum);

return(0);
}

756 名前:デフォルトの名無しさん :03/06/11 13:42
>>753が何でこのスレにいるのか理解に苦しむ

757 名前:デフォルトの名無しさん :03/06/11 16:41
CListViewの背景にビットマップを表示したいのですが、うまくいきません。
どうしたらいいでしょうか。
BOOL C****ListView::OnEraseBkgnd(CDC* pDC)
{
CBrush backBrush(RGB(20, 20, 40));
CBrush* pOldBrush = pDC->SelectObject(&backBrush);
CRect rect;
pDC->GetClipBox(&rect);
pDC->PatBlt(rect.left, rect.top, rect.Width(),
rect.Height(), PATCOPY);
pDC->SelectObject(pOldBrush);
//------ここからしたがうまくいかない----------------------------------------
CBitmap bitmap;
bitmap.LoadBitmap("C:\\test.bmp");
CDC cdcdc;
cdcdc.CreateCompatibleDC(pDC);
cdcdc.SelectObject(&bitmap);
pDC->BitBlt(0,0,240,170,&cdcdc,0,0,PATCOPY);
cdcdc.DeleteDC();
return TRUE;
}

758 名前:デフォルトの名無しさん :03/06/11 19:09
>>755

DOSコマンドそのままで
system("cls");
でどうですか?

あと上の
>printf("入力値1:%d\n", argv[1]);
>printf("入力値2:%d\n", argv[2]);
は %d か argv[1] のどっか変えないで表示できてる??


759 名前:デフォルトの名無しさん :03/06/11 20:13
つーかCBitmapって直接ファイルからBitmap読み込めるんや・・・・マジで知らんかった(´Д`;)

760 名前:デフォルトの名無しさん :03/06/11 21:30
>759
できない。

761 名前:デフォルトの名無しさん :03/06/11 22:10
>>757
>bitmap.LoadBitmap("C:\\test.bmp");

これは新しいギャグか?

762 名前:757 :03/06/11 22:14
>>761
大まじめなつもりなんですが・・。ダメなんでしょうか。

763 名前:デフォルトの名無しさん :03/06/11 22:17
リソース名が"C:\\test.bmp"ってできたっけ?

764 名前:デフォルトの名無しさん :03/06/11 22:17
ビットマップをLoadImageで読み込んでCBitmapにAttachしてみては?

765 名前:757 :03/06/11 22:25
>>764
わかりました。ちょっと試してみます。

766 名前:757 :03/06/11 22:38
書いてみましたが、なにも表示してくれません。どうしたらいいんでしょうか。
HANDLE hBmp = LoadImage(AfxGetApp()->m_hInstance, "C:\\test.bmp", IMAGE_BITMAP,240,170,LR_LOADFROMFILE);
CBitmap bitmap;
bitmap.Attach(hBmp);

767 名前:デフォルトの名無しさん :03/06/11 22:49
BITMAPhBmp = ( HBITMAP )LoadImage( NULL, "C:\\test.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE );

こんな感じならどう?

768 名前:デフォルトの名無しさん :03/06/11 22:51
ちょっと間違えた

HBITMAP hBmp = ( HBITMAP )LoadImage( NULL, "C:\\test.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE );



769 名前:757 :03/06/11 22:56
>>767
767氏のコードとPATCOPYをSRCCOPYにかえる事でできました。ご親切にありがとうございました。
HBITMAP hBmp = ( HBITMAP )LoadImage( NULL, "C:\\test.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE );
CBitmap bitmap;
bitmap.Attach(hBmp);

CBitmap* pMemBmp = cdcdc.SelectObject(&bitmap);
pDC->BitBlt(0,0,240,170,&cdcdc,0,0,SRCCOPY);
cdcdc.SelectObject(pMemBmp);
cdcdc.DeleteDC();

770 名前:757 :03/06/11 23:02
あと追加で質問なんですが、ビューをスクロールしても再描画されないので、何かよい方法はないでしょうか。

771 名前:名無し@沢村 :03/06/12 01:06
>>770
OnDraw()で描画する

772 名前:755 :03/06/12 09:43
>>758
情報ありがとうございます。
(亀レスになってしまい申し訳ありませんでした。)
system関数で画面のクリア出来ました。

>printf("入力値1:%d\n", argv[1]);
>printf("入力値2:%d\n", argv[2]);
の件ですが、私が書き間違えました。
正しくは以下の通りCIntで数値変換したものを表示させています。
掲載ミスで申し訳ありませんでした。
printf("入力値1:%d\n", CInt(argv[1]));
printf("入力値2:%d\n", CInt(argv[2]));

773 名前:755 :03/06/12 10:19
もう1件質問がありますので、ご存じの方がいらっしゃいましたら、教えて下さい。
よろしくお願いいたします。
内容は表示される文字に色を付けたいです。
printf("入力値1:%d\n", CInt(argv[1]));
とプログラミングして、例えば画面上に「入力値1:123」と表示される部分の、
123の所だけを青色に変更したいです。

774 名前:デフォルトの名無しさん :03/06/12 17:01
>>773
ググったら初っ端に……。
ttp://www.google.com/search?q=printf+%E8%89%B2

775 名前:デフォルトの名無しさん :03/06/12 17:09
ANSIエスケープシーケンスは、NT系では効きませんヨ。

SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE,
FOREGROUND_BLUE);

776 名前:773 :03/06/12 17:13
>>774
情報ありがとうございます。
早速検索結果一覧からいけるページに行って調べて、
試しにプログラミングしてみたのですけど、
enterキーの文字のようなものが出るだけで色がつかないです。
プログラムの書式が間違っているのでしょうか??
int test_num = 13;
printf("test_num = \x1B[34m%d\n", test_num);
ちなみにVisual C++ Ver6.0でOSはWindows2000 professionalを使っています。
VC++またはWindowsのバージョンが古いとか関係あるのか分かりませんが・・・。

777 名前:デフォルトの名無しさん :03/06/12 17:42
猫でもわかるのこの章で可能かと

ttp://www.kumei.ne.jp/c_lang/intro/no_58.htm

それまでの章を全部理解してなくてもできますねー

>123の所だけを青色に変更したいです。
入力値1: までを普通でいれて数値を表示する直前で変更すればいいかと
そのあと戻すの忘れずにー

778 名前:デフォルトの名無しさん :03/06/12 21:15
フォームビュー内に複数ボタンがあって、ボタン外でマウスの左ボタンを押したまま、

1.あるボタンの上にマウスカーソル移動→そのボタン押下状態にする、
2.そのままボタン外にカーソル移動→そのボタン通常状態に戻す、
3.1の状態でボタン上にてマウスの左ボタンを離す→そのボタンをクリックしたのと同じ動作をする、
4.2の状態から他のボタンへ移動→移動先のボタンを押下状態にする(1の状態)

といった動作をさせたいのですが、どのイベントで判断すれば良いのかわかりません・・・。
どうか教えてください。フォームビューに配置しているボタンはCButtonからの派生クラスで
定義しています。


779 名前:デフォルトの名無しさん :03/06/12 22:56
BUTTONDOWN
BUTTONUP
MOUSEMOVE

780 名前:デフォルトの名無しさん :03/06/13 10:19
ダイアログで自分自身のハンドルでどうやって取得するんですか?

781 名前:デフォルトの名無しさん :03/06/13 10:30
何のダイアログの話だ?
まずそれを明確にしろ

782 名前:デフォルトの名無しさん :03/06/13 11:29
何のってダイアログ作るじゃん自分でフォームよ
なんつの、IDD_DIALOGつうの?
APIにハンドル渡したい時に指定するハンドルさ

783 名前:776 :03/06/13 13:03
>>777
情報有難うございます。
実験してみました所、ちゃんと色がつきました。

784 名前:デフォルトの名無しさん :03/06/13 13:08
>>782
CMyDialog::OnInitDialog()
{
 HWND hMyDlg = GetMyHWNDPlase();
 ・・・
}
こうだ。

785 名前:デフォルトの名無しさん :03/06/13 13:09
↑Pleaseのスペル違った鬱

786 名前:デフォルトの名無しさん :03/06/13 13:49
>>784
ありがdございまs
ちなみにm_なんとかってグローバルみたいなのなかったっけ?

787 名前:デフォルトの名無しさん :03/06/13 13:52
>>784
氏ねうじ虫が!
おまけに>>785でボケの修正格好悪いし


788 名前:デフォルトの名無しさん :03/06/13 13:55
>>784の知障のアク禁要請出してきました

789 名前:784 :03/06/13 15:15
正直すまんかった(w

>>786 正解は m_hWnd 。

790 名前:デフォルトの名無しさん :03/06/13 15:22
>>789
GetSafeHwnd()と言って欲しかったな。

791 名前:デフォルトの名無しさん :03/06/13 15:51
オペレーターが定義されているから
*this

792 名前:デフォルトの名無しさん :03/06/13 23:14
ボタンとかのコントロールってmanifest使えばXPスタイルにできるみたいだけど
メニューってどうやってXPスタイルにするんですか?


793 名前:デフォルトの名無しさん :03/06/14 17:43
すみません。
あるウィンドウ ハンドルから、
プッシュボタンなのかエディットなのかを判定するには
どうしたら良いでしょうか。

794 名前:デフォルトの名無しさん :03/06/14 17:59
>>793
GetClassName()

795 名前:793 :03/06/14 19:02
>>794
すみません。試してみたところ
プッシュボタン、チェックボックス、ラジオボタン、
グループボックスのウィンドウクラス名は全て「Button」です。
プッシュボタンだけ判定するにはどうしたら良いでしょうか?

796 名前:デフォルトの名無しさん :03/06/14 19:41
>>793
GetWindowLong(GWL_STYLE)で例えばBS_PUSHBUTTONフラグが
立っていたらボタンetc

797 名前:793 :03/06/14 21:07
>>796
解決しました。ありがとうございました。

798 名前: :03/06/15 06:32
ExitWindowsEx(EWX_REBOOT,0);
この関数使ってPCをリブートできますが、たまに何かのプログラムが
「このプログラムは応答してません」というダイアログがでてそこで
リブートの工程が止まってしまい結局何時までたってもリブートでき
ません。
何か確実にリブートできる方法はないでしょうか。
(VC6.0 SP5 / WIN-Xp(HE)

799 名前:デフォルトの名無しさん :03/06/15 11:52
現在DOSを起動して
"実行元パス・ファイル名 解凍元パス・ファイル名 解凍先パス・フォルダ名"
(間隔は半角スペース)
と打ち込んで解凍処理をしているのですがファイル名やフォルダ名にスペースが含まれている場合うまく認識してくれません
どうやったら認識してくれるんでしょうか?
[ ]を使うと認識するらしいのですがうまくいきません・・
解決策がありましたらよろしくお願いします
scanfを使ってる以上駄目なんでしょうかね?

int o, size = 0;
for (o = 1; o < argc; o++)
size += int(strlen(argv[o]) + 1);
char *command_line = new char[size + 1];
command_line[0] = '\0';
for (o = 1; o < argc; o++)
{
strcat(command_line, argv[o]);
strcat(command_line, " ");
}
sprintf(sourceStr, "%s",argv[1]);
sprintf(distStr, "%s",argv[2]);

C++.NET/WinXP(Pro)

800 名前:デフォルトの名無しさん :03/06/15 11:55
>>799
普通は

HOGE.exe ARG1 "ARG 2" ARG3

見たいに、スペースを含むものにはダブルクオーテーションで
括って実行するんでないかい?

801 名前:デフォルトの名無しさん :03/06/15 11:59
>>800
そうなんですか?
DOSプログラムが初めてなもので知りませんでした・・
入力する時にスペースがある場合はダブルクオーテーションで区切るのが普通なんですね・・
ありがとうございました

802 名前:デフォルトの名無しさん :03/06/15 11:59
>>799
"C:\Program Files\2ch\test.txt"
のように"で囲むのでは?

803 名前:デフォルトの名無しさん :03/06/15 11:59
一歩遅かった鬱

804 名前:デフォルトの名無しさん :03/06/15 12:04
あ!すいません入力する時は

実行元パス・ファイル名 解凍元パス・ファイル名 解凍先パス・フォルダ名
(間隔は半角スペース)

という風にダブルクオーテーションは使いません・・・スマソ
これでもあまり変わらないけど・・・

>>802
回答ありがとうございます

805 名前:デフォルトの名無しさん :03/06/15 20:19
>>798
ExitWindowsEx(EWX_FORCE | EWX_REBOOT, 0);

じゃ、だめなのか?

806 名前:デフォルトの名無しさん :03/06/15 20:49
すみません。エディットコントロールにて
選択中の文字列を取得するには
どうしたら良いでしょうか。

807 名前:デフォルトの名無しさん :03/06/15 20:51
>>806
SendMessage()でEM_GETSELを指定

808 名前:デフォルトの名無しさん :03/06/15 21:28
>805
ありがとうございます。EWX_FORCEIFHUNGも追加してみます。
いろいろパラメータがあったんですね。


809 名前:デフォルトの名無しさん :03/06/15 22:22
CStringオブジェクト内の文字数を取得したいのですが
GetLengthメソッドだと1つの全角文字を2としたバイト数が
返ってきて「"あa"→"3"」となってしまいます。
バイト数ではなく、「"あa"→"2"」のように1つの全角半角文字を
共に1として文字数を取得するにはどのようにすればよろしいでしょうか?

810 名前:デフォルトの名無しさん :03/06/15 22:26
>>809
CStringのUNICODE版(WCStringか?)か、std::wstringに直す。
もしくは、一字一字判別。


811 名前:デフォルトの名無しさん :03/06/15 22:28
すまん。思いっきり嘘ついた。
#define _UNICODE
でCStringが全てユニコードになる模様。

812 名前:デフォルトの名無しさん :03/06/15 22:40
WM_PAINTは、再描画が必要な時の物ですが、ウインアプリは再描画の時に表示する
物を常に用意しておかないといけないと言うことですか?

813 名前:デフォルトの名無しさん :03/06/15 22:46
そうです

814 名前:デフォルトの名無しさん :03/06/15 22:48
>>813
なら、コンソールアプリみたいにウィンドウに焼き付けることは
出来ますか?出来るなら教えてください。

815 名前:デフォルトの名無しさん :03/06/15 22:50
常にメモリDCに描画して、invalidateされたところを転送すれば
いいんじゃなかろうか。

816 名前:809 :03/06/15 22:52
>>810=811
ありがとうございました。
CStringWを使えば良かったのですね。

817 名前:デフォルトの名無しさん :03/06/15 22:58
>>815
ありがとうございました。勉強してみます。

818 名前:デフォルトの名無しさん :03/06/16 18:15
質問:

複数のソースファイルからなるプログラムをビルドするとき、
順番によっては 「○○ が定義されていません / 再定義されています」 みたいな
エラーが出るんですけど、コンパイルの順番を変えるにはどうすればいいんですか?


819 名前:デフォルトの名無しさん :03/06/16 18:23
>>818
それはソースファイルの構成に問題があるような。
宣言と定義を.hファイルと.c(.cpp)ファイルに分けましょう。
他のソースファイルで定義されている変数はexternで参照するとか。

820 名前:デフォルトの名無しさん :03/06/16 18:28
シューティングゲームを作ろうと思うんですが
一般的に、時機キャラとか敵キャラとかのクラスってヘッダーファイルに
書いたほうがいいんですか?
それともソースファイルですか?
どなたか教えてください。

・・初心者な質問ですいません。

821 名前:デフォルトの名無しさん :03/06/16 18:30
VBやC#なら見つかったのですがプログラム中でコントロールを任意に
追加する方法はVCで無いでしょうか?
例えばボタンを押すとエディットボックスが1つ増えるといった具合に

822 名前:デフォルトの名無しさん :03/06/16 18:47
CEdit* edit = new CEdit();
edit->Create();

こんな雰囲気

823 名前:デフォルトの名無しさん :03/06/16 19:52
>>822
そしてdeleteを忘れる罠

ポインタの配列とかを用意して覚えておかないとね。
CPtrArrayやSTLのvectorクラスあたりを使ったりしてね。

824 名前:デフォルトの名無しさん :03/06/16 19:56
>>820
すぐ上のレスくらい見ようよ・・・

宣言はヘッダファイル、定義(実装部分)はcppファイルをお勧めする。
ヘッダファイルに全部書いても問題はないけれど、デバッグしづらいと思う。

825 名前:デフォルトの名無しさん :03/06/16 20:43
>>820
ヘッダに全部インラインで書け。これ最凶。



※こういうヤシがマジできますた。

826 名前:デフォルトの名無しさん :03/06/16 23:31
>>818
呼び出され関数が呼び出し元より前に無いとそうなる。プロトタイプ宣言をすれば
後に書いても大丈夫。

#include <stdio.h>
void sub(void){puts("sub");}
int main(void){sub();return 0;}

or

#include <stdio.h>
void sub(void);
int main(void){sub();return 0;}
void sub(void){puts("sub");}

827 名前:デフォルトの名無しさん :03/06/16 23:35
VC6スタンダードエディションだと最適化オプションで実行速度優先等
を選べないけど、 何か方法ないですか(レジストリをいじるとか、パッチあてるとか)

828 名前:デフォルトの名無しさん :03/06/16 23:42
>>826の続き
Main.c Heddah1.h Heddah2.h とあるなら、
//Main.c
#include <stdio.h>
void Heddah1Sub(void);
void Heddah2Sub(void);
#include "Heddah1.h"
#include "Heddah2.h"
int main(void){Heddah1Sub();Heddah2Sub();return 0;}
//Heddah1.h
void Heddah1Sub(void){puts("1");}
//Heddah2.h
void Heddah2Sub(void){puts("2");}
みたいにする。このプログラムの場合は後から前を呼び出しているので
プロトタイプ宣言を書かなくてもエラーにならないが、前から後ろに呼び出す
パターンも絶対出てくる。

829 名前:デフォルトの名無しさん :03/06/17 00:23
>>827
通報しますた。

830 名前:デフォルトの名無しさん :03/06/17 00:41
>>824
ありがとうございました

831 名前:デフォルトの名無しさん :03/06/17 00:51
>>829
ありがとうございました

832 名前:名無し@沢村 :03/06/17 02:14
>>823
std::vector<CEdit>
まったく使いもんにならんな。

std::vector<CEdit*>
これで自動的にポインタが解放されるとは驚きだな。

833 名前:デフォルトの名無しさん :03/06/17 06:11
配列へのポインタを引数として受け取る関数内でのデバッグ時、
配列の中身を全て見るにはどうすれば良いですか?

ウォッチウィンドウにp[0],p[1]・・・等と入力すれば見れないことも無いんですが、
関数呼び出しの度に入力は辛すぎるのです。。

834 名前:_ :03/06/17 06:40
http://homepage.mac.com/hiroyuki44/

835 名前:デフォルトの名無しさん :03/06/17 18:28
>>833
一例としては以下のようなコードを埋め込んでおく(MFCの場合)

#ifdef _DEBUG
{
for ( int i=0 ; i < 3 ; ++ i) {
TRACE1(_T("%d "), p[i]);
TRACE(_T("\r\n"));
}
}
#endif


836 名前:デフォルトの名無しさん :03/06/17 19:46
VCPP初心者です、まじで分かりません
_T とは何なんですか?
Cではでてこないと思うのですが。

837 名前:デフォルトの名無しさん :03/06/17 19:59
>>836
_Tの上にマウスポインタを合わせると_Tの中身が表示されそう

838 名前:デフォルトの名無しさん :03/06/17 20:37
>>836
UNICODEに対応させるマクロ。
F12を押せば定義位置が見つかりそう

839 名前:デフォルトの名無しさん :03/06/17 20:42
研究でC++を使って3次元グラフィックスを扱いたいのですが、
どうしたらいいでしょうか。
色々検索した結果OpenGLってのをつかって・・・。
ってことなんですが、誰か丁寧に教えてくれませんか?


840 名前:デフォルトの名無しさん :03/06/17 20:47
そんな聞き方で根絶丁寧に教える香具師はここには居ない。
ポイントを絞ってグ具ってから出直して来い。

841 名前:デフォルトの名無しさん :03/06/17 21:20
>>839

一例として
http://codeguru.com/opengl/index.shtml
のサンプルを眺めていれば方針がつかめるかも。

842 名前:デフォルトの名無しさん :03/06/17 21:40
MFCでのプログラム生成をした後に、最小化・最大化・ウィンドウサイズの変更など、最初に設定した機能を変更する方法はあるでしょうか?

843 名前:デフォルトの名無しさん :03/06/17 21:48
>>842
ある。

844 名前:デフォルトの名無しさん :03/06/17 21:55
(;´Д`)あ、あの、、、その方法を教えてください。

845 名前:デフォルトの名無しさん :03/06/17 21:58
知りたいか?

846 名前:デフォルトの名無しさん :03/06/17 21:59
>>839
一般的にはダイレクトXってのをつかってるよ
でも最初はむずかしいからライブラリをつかってやろうね
ライブラリはいろんな人が作ってくれてるからネットで探してみようね


847 名前:デフォルトの名無しさん :03/06/17 22:02
角度が60度のときのコサインの値を求めるプログラムを
作ったのですがなぜか実行結果が-1690193024とかいう
わけわからん数値になってしまいました
なぜなんでしょうか?
#include<stdio.h>
#include<math.h>
void main(void){
printf("%d",cos(60*3.14159/180));
getchar();
}

848 名前:844 :03/06/17 22:05
>>845
(;´Д`)意地悪しないで教えてください。
お願いします。

849 名前:デフォルトの名無しさん :03/06/17 22:05
>>847
printfの書式指定が間違ってる。
%dは整数だ。

あとは好きなだけ調べて来い
ttp://www.google.com/search?q=printf+%E6%9B%B8%E5%BC%8F

850 名前:デフォルトの名無しさん :03/06/17 22:06
>840,841,846
ありがとうございます。
もう少し調べて的を絞ってからまた質問に来ます

851 名前:843じゃないけど :03/06/17 22:07
>>842
・最大化・最小化
 ShowWindow
・ウィンドウサイズの変更
 MoveWindow

タイトルバーのボタンならModifyStyleとかでできるんじゃないかな

852 名前:269 :03/06/17 22:13
>>849
おお!
うっかりしてた!

ありがとう!


853 名前:836 :03/06/17 22:48
今グレップして探したんですが、
TCHAR.H内で
#define _T __T

その前に
#define __T(x) L ## x

若しくは
#define __T(x)

となっていました。

L"ほげ" でUNICODE対応になるということですか?

ここがよく分かりませんが。
とりあえず今まで気にかかっていたものが少し解けました。
どうもありがとうございます。


854 名前:デフォルトの名無しさん :03/06/17 23:10
aiueo

855 名前:デフォルトの名無しさん :03/06/18 00:08
>>852
ネタかと思ったYO!

856 名前:デフォルトの名無しさん :03/06/18 01:43
>>827
釣りかな?
Professional EditionとStandard Editionの違いの一つだからねえ。普通に考えて無理だろう。
NT系OSも、Workstation版をServer版にしてしまうようなワザはなくなってるっぽいし

>>840
一撃で根絶させてくるのにはまいるよな

857 名前:デフォルトの名無しさん :03/06/18 01:45
VisualC++6で、現在PCで流れている音量を読み取って
音量がある一定のレベルにたっしているときだけ
ある変数がTRUEまたは1などに変わるというプログラムは
作成可能でしょうか?
それともPC以外に音響設備が必要でしょうか?


858 名前:デフォルトの名無しさん :03/06/18 06:45
どんな事するのか知らないけれどオーディオに関する基礎知識とプログラミング
を知ってないとかなり難しいかも。

859 名前:デフォルトの名無しさん :03/06/18 14:40
そうなんですか・・・
数ヶ月で実現するにはちょっと厳しいですかね・・
VisualC++のいろんな本を見ていますが、なかなか載っていません・・
DirectSound?などを勉強したりするんでしょうか・・・

それとは別にそれではWAVEファイルを読み取って
上のようなことは作成可能でしょうか?

860 名前:デフォルトの名無しさん :03/06/18 16:06
>>859
それなら可能。
WAVEファイルのフォーマットを調べてみよう。

861 名前:デフォルトの名無しさん :03/06/18 18:56
保存しようとすると、

○○ を保存できません。他のアプリケーションで使用されている可能性があります。

ってのがやたらに多く出るんですが、これって異常じゃないですか?
どこからも開かれてないはずなんですが。。。

862 名前:デフォルトの名無しさん :03/06/18 19:01
MFCを使ってプログラムを書いています。
たとえば1秒後とカウントした値をエディットボックスに表示するにはどうすればよいのでしょうか。
クラスは基本クラスがないクラスを作ってその中でソースを書いています。


int i;
int j;
for(i;i<10;i++){
j=i;
sleep(1000);
}
}
jに格納した値をエディットボックスに表示するにはどうすればよいのか教えていただけるとうれしいです。


863 名前:デフォルトの名無しさん :03/06/18 19:03
>>862
すまないがネタとしか思えない。
初心者用の教本をまず買ってくることをお勧めする。

864 名前:デフォルトの名無しさん :03/06/18 19:37
>>862 です
UpdateData(false)
とかやってもできないんです!ボタンを押したら表示するっというのはできるんですけど
ボタンを押さずに処理するのってどうすれば良いのかなぁと思ったんですけど・・・・
すいません。簡単なことがわからなくて・・・



865 名前:デフォルトの名無しさん :03/06/18 20:09
>>864
>>863

MSDNさえも見ようとしないのか。

>>861
俺もよく出る。
VC++内で何かやってるんじゃないのかな。
気にせずもう一度保存すると大抵保存できる。

866 名前:デフォルトの名無しさん :03/06/18 20:42
>>861
俺もかなりの確率で出てくる。
ウイルスチェックが関係ありそうだという話を
聞いたことがあるが、効果ある奴とない奴と居るらしい。
だれかほんとの理由知らないか?

867 名前:デフォルトの名無しさん :03/06/18 20:43
やらないか?

868 名前:デフォルトの名無しさん :03/06/18 22:13
猫でも分かる・・・のSDK編のイントロダクションを
コピぺしてビルドしたら以下のエラーがでます。

error C2440: '=' : 'void *' から 'struct HBRUSH__ *' に変換することはできません。(新しい動作 ; ヘルプを参照)
'void*' から非 'void' 型への変換には明示的なキャストが必要です。
cl.exe の実行エラー

原因が良く分かりません。ちなみにVisualC++6.0です。
どなたか教えてくださいまし。

869 名前:デフォルトの名無しさん :03/06/18 22:15
VC++6.0でうまくビルドできない時は をミロ。

870 名前:デフォルトの名無しさん :03/06/18 22:18
いや、やってもうまくいかないんですよ。
プロジェクトは毎回ちゃんと作ってますし。

871 名前:デフォルトの名無しさん :03/06/18 22:20
PGのひと、見てね
http://mypage.odn.ne.jp/home/dongrico


872 名前:デフォルトの名無しさん :03/06/18 22:21
hoge = (HBRUSH*)obj;

のように明示的にキャスト汁。

873 名前:デフォルトの名無しさん :03/06/18 22:22
ポインタじゃないだろ

874 名前:デフォルトの名無しさん :03/06/18 22:23
プログラミングのお供に・・・
http://mypage.odn.ne.jp/home/dongrico


875 名前:デフォルトの名無しさん :03/06/18 22:38
myProg.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
こんな感じでいいんですよね?なんで通らない・・・。

876 名前:デフォルトの名無しさん :03/06/18 22:49
ごめんなさい。できました。
いろいろいじってて、MFCの設定が間違ってたみたいです。
MFCを使用しないにしたら一発でいけました・・・。

872さん、873さんありがとうございました。
勉強になりました。

877 名前:デフォルトの名無しさん :03/06/18 23:00
windows xpではRaw socketを完全サポートってあるんですが。
IPアドレスを偽造することはできるって書いてあったんですが、
ポート番号やTCPの制御フラグ(rst,syn..)とかも自分で作れるんですか?

878 名前:デフォルトの名無しさん :03/06/18 23:04
>>876
猫のSDK講座はプロジェクト作るとき MFCApplicationじゃなくてWin32 Applicationでやらんとあかんよ。

879 名前:デフォルトの名無しさん :03/06/19 12:26
すみません。
「\」を文字として扱うにはどのようにすれば良いでしょうか?

880 名前:デフォルトの名無しさん :03/06/19 12:32
'\\'

881 名前:879 :03/06/19 12:39
>>880
どうもありがとうございました。

882 名前:デフォルトの名無しさん :03/06/19 13:04
(´Д`;)

883 名前:デフォルトの名無しさん :03/06/19 14:12
ファイル名から検索してヒットしたファイルのパスを表示しようと思っていますが
afx.hをインクルードしただけで

path.cpp
WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)
リンクしています...
nafxcwd.lib(thrdcore.obj) : error LNK2019: 未解決の外部シンボル
__endthreadex が関数 "void __stdcall AfxEndThread(unsigned int,int)" (?AfxEndThread@@YGXIH@Z) で参照されました。
nafxcwd.lib(thrdcore.obj) : error LNK2019: 未解決の外部シンボル
__beginthreadex が関数 "public: int __thiscall CWinThread::CreateThread(unsigned long,unsigned int,struct _SECURITY_ATTRIBUTES *)" (?CreateThread@CWinThread@@QAEHKIPAU_SECURITY_ATTRIBUTES@@@Z) で参照されました。
Debug/path.exe : fatal error LNK1120: 外部参照 2 が未解決です。

というエラーが出ます、windows.hをインクルードすればエラーが消えるのですが
今度は「windows.hはインクルードされているのでwindows.hをインクルードしないで」
というエラーが出てしまいます

あとcout・endlを定義してくださいというエラーが出るのですが
これはどんな型で定義すればいいのでしょう?


解決策がありましたらよろしくお願いします

884 名前:デフォルトの名無しさん :03/06/19 14:12
// path.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
#include <windows.h>
#include <afx.h>

int _tmain(int argc, _TCHAR* argv[])
{

CFileFind finder;
BOOL bWorking = finder.FindFile("test.lzh");
while (bWorking)
{
bWorking = finder.FindNextFile();
//cout << (LPCTSTR) finder.GetFilePath() << endl;
//printf("%s",finder.GetFilePath());
}

finder.Close();
return 0;
}

885 名前:デフォルトの名無しさん :03/06/19 14:39
VC6使ってるんですけどダイアログリソースのエクスポートってできないですよね。
作ったダイアログを他のプロジェクトで再利用するにはどのような方法がありますか?

>>883
プロジェクトの新規作成のときに何を選択したの? Win32Application ?

886 名前:デフォルトの名無しさん :03/06/19 14:44
>>885
リソースファイルを移植する。

887 名前:885 :03/06/19 14:57
>>886
.rcファイル内の必要なダイアログリソースだけコピペして、
resource.hの #defineコピペして、番号割り振って
_APS_NEXT_RESOURCE_VALUEとかいじるしかないですか?

888 名前:デフォルトの名無しさん :03/06/19 15:33
デバッグモードに関して質問です。

デバッグしている時、何か操作をすると毎回デバッグウィンドウに
「'C:\WINNT\MUI\fallback\0411\msctf.dll.mui' をロードしました…」
と言った旨のメッセージが出ますが、コード内で自分でTRACEした部分だけ見れれば良いので、
これら(ロードしました)のメッセージだけ非表示にしたいのですが可能でしょうか?
また、その方法など教えて頂けると有難いです。

889 名前:デフォルトの名無しさん :03/06/19 17:29
>>885
Win32コンソールプロジェクトです
C++.NETでプログラムしています

890 名前:885 :03/06/19 17:43
>>889
VC6ではプロジェクトの新規作成のときに「Win32 Console Application」を選択して
アップウィザードのステップ1/1の時に「MFCをサポートするアプリケーション」を選択すれば
Afx.hやWindows.hをインクルードしなくてもStdAfx.hでインクルードしてるから
CFileFindとかそのまま使えるようになるよ。
C++.NETはしらないけど。

891 名前:デフォルトの名無しさん :03/06/19 18:50
VC++6でDllのデバッグしようとすると、
「ブレークポイントの位置」というメッセージが出て
ステップ実行が混合モードで止まってしまいます。

ブレークポイントを打ってなくてもこの現象がでます。
ソースを見ても何が原因かわかりません。
この現象が起こる原因をご存知の方教えて頂けないでしょうか。


892 名前:891 :03/06/19 19:23
デバッグウィンドウに以下のメッセージが出ます。
Second Change Assertion Failed : File dbgheap.c Line 1044.
該当ソースを見てもさっぱりわかりません。

バグが出てると思われるコードが分かりました。

vector0, vector1 はint型のvectorで、
i0, i1 はそれぞれのイテレータです。

for(i0 = vector0.begin(); i0 != vector0.end(); ++i0)
{
  for(i1 = vector1.begin(); i1 != vector1.end(); ++i1)
  {
    if(*i0 != *i1)
    {
      vector0.erace(i0);
      break;
    }
  }
}

イテレータの使い方の間違いでしょうか。もう少し調べてみます。

893 名前:デフォルトの名無しさん :03/06/19 20:41
ちょっと漠然とした質問ですが、おききください。
VC++6.0、SDKで勉強中です。

テキストファイルから1行ずつデータを読み込みたい場合、
1回ReadFileにて一回全データをバッファに読み込んでから、
改行コードでバラバラにする、 という方法でよろしいのでしょうか?

それかもっとスマートな方法はあるのでしょうか?

894 名前:デフォルトの名無しさん :03/06/19 20:50
fgetsの使い方から覚えたほうがいいんじゃなかろうか。

895 名前:デフォルトの名無しさん :03/06/19 20:53
C++標準クラスのfstream とstringを使ったほうがスマートかもね。
遅くなりそうだけど。

896 名前:デフォルトの名無しさん :03/06/19 21:03
さっそくのレスありがとうございます。
正直fgetsが使えるとは思わなかったです。dqnですた!
ではfgetsでいってみます。ありがとでした!


897 名前:デフォルトの名無しさん :03/06/19 21:07
質問おながいします。
VC++6.0Proを使っているのですが、UNICODEでコンパイルすると
LINK : fatal error LNK1104: ファイル "mfc42ud.lib" を開けません。
というメッセージが出てコンパイルできません。
なにか考えられる原因はありますでしょうか。

898 名前:ランランラン :03/06/19 21:18
たくさんあるので1つづつ書かせて頂きます。
6個とも何を計算するプログラムかを教えてください
@void main()
{
int a,b,x,y,s=0;
scanf("%d",&x),scanf("%d",&y);
for(a=0;a<x;a++) {
for(b=0;b<y;b++)
s+=b;
}
printf("%d\n",s);
}

899 名前:ランランラン :03/06/19 21:19
Avoid main()
{
int a,b,x,s=0;
scanf("%d",&x);
for(a=0;a<x;a++) {
for(b=0;b<y;b++)
s+=b;
}
printf("%d\n",s);
}

900 名前:ランランラン :03/06/19 21:19
Bvoid main()
{
int a,x,s=0;
scanf("%d",&x);
while (x--) {
s+=x;
}
printf("%d %d\n",x,s);
}

901 名前:デフォルトの名無しさん :03/06/19 21:19
>>897
mfc42ud.libをプロジェクトでリンクするように指定する。

902 名前:ランランラン :03/06/19 21:20
Cvoid main()
{
int x,y=0;
x=0;
while (y<=200) {
x++;y+=x;
}
printf("%d\n",x);
}

903 名前:ランランラン :03/06/19 21:20
Dvoid main()
{
int x,y=0,a;
x=0;
scanf("%d",&a);
while (y<=a) {
x++;y+=x;
}
printf("%d\n",x);
}

904 名前:ランランラン :03/06/19 21:21
Evoid main()
{
int x,y=0,a,w;
x=0;
scanf("%d",&a);
while (y<=a) {
x++;
for(w=1;w<=x;w++)
y+=w;
}
printf("%d\n",x);
}
以上です。お手数ですがお願いします

905 名前:デフォルトの名無しさん :03/06/19 21:22
>>ランランラン
スレ違い。

906 名前:デフォルトの名無しさん :03/06/19 21:24
ちょっと大きめな構造体を定義すると実行するとスタックオーバーフローですっ飛ぶんですが
どうにかなるもんなんでしょうか?

907 名前:ランランラン :03/06/19 21:30
すいません!!
間違えました


908 名前:デフォルトの名無しさん :03/06/19 21:36
>>906
new でインスタンスつくる

909 名前:デフォルトの名無しさん :03/06/19 21:37
ワラタ

910 名前:デフォルトの名無しさん :03/06/19 22:21
>>906
「プロジェクト」→「設定」→「リンク」→「アウトプット」でスタックの大きさを変えるとか。

ところで、ちょっと大きめってどれくらい?

911 名前:デフォルトの名無しさん :03/06/19 23:39
>>910
10Mくらい。

912 名前:デフォルトの名無しさん :03/06/20 19:23
右クリックを禁止するにはどうしたらいいですか?


913 名前:デフォルトの名無しさん :03/06/20 21:34
>>912
AfxMessageBox("右クリックをするのはやめてね♥")


914 名前:デフォルトの名無しさん :03/06/20 22:05
>>91
右クリックイベントを捕まえて何もせずに返す

915 名前:デフォルトの名無しさん :03/06/20 23:21
UINTって型はunsignedなのに何故、文字列やら-1やらを入れて良いんですか??

916 名前:デフォルトの名無しさん :03/06/20 23:47
質問なんですが、VC++でコンパイルした後にエラー0、警告0って出るんですが、これはエラーがないよって事なんですか?

917 名前:デフォルトの名無しさん :03/06/21 00:06
>915
代入後には既に文字列や-1として扱われてないから。
>916
コンパイルエラーやリンクエラーは見当たらないという事。
バグが無いとは一言も言ってないけど。

918 名前:デフォルトの名無しさん :03/06/21 00:08
>>917
ありがとうございました。

919 名前:デフォルトの名無しさん :03/06/21 00:13
>>890
プロパティでMFCの設定を変えたらエラーがなくなりました
ありがとうございました

920 名前:デフォルトの名無しさん :03/06/21 00:48
>>917
渡された方でなにやら行って正の数値として扱っているという事ですか。
それともある文字もしくは-1が場合によっては特別に正の数値として扱えるのかな?
ん〜便利のためなんだろうけど紛らわしい。
ありがとうございました。

921 名前:デフォルトの名無しさん :03/06/21 00:57
>>920
16bitならshort -32767〜32768、unsigned short 0〜65535
-1を渡す言う事はFFFF、shortなら-1、unsigned shortなら65535になる。

922 名前:デフォルトの名無しさん :03/06/21 01:40
>920
むしろ逆というか、unsignedでないほうのintなどは
最上位のビットを数値でなく符号として特別に扱っている。
unsignedはそこも数値とみなす。

923 名前:デフォルトの名無しさん :03/06/21 10:48
すいません、ものすごいアホな質問なんですが、VC++はどうやって起動するんでしょうか。

インストールして何度か使ってはいたんですが、まちがってプログラムメニューから消されてしまって復帰できません。
Dドライブにインストールしたので多分
D:\Program Files\Microsoft Visual Studio\VC98\Bin以下にあると思ったんですが、
特定できないんです。
VB6なんかはD:\Program Files\Microsoft Visual Studio\VB98にVB6.EXEがあるんでわかりやすいんですが。VC++はそれっぽい名前のファイルがないもので。
片っ端からやればいいんでしょうがそれも怖くて……。

どうかお願いします。

924 名前:デフォルトの名無しさん :03/06/21 10:52
>>923
D:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE

Microsoft Developer Studio

925 名前:デフォルトの名無しさん :03/06/21 11:02
>>924
ありがとうございます!!
ちゃんと全部のフォルダをのぞいていれば見つかったのですね。わざわざすいません。
アイコンも同じだし……。
VC98以下にあると思いこんでいたのが良くなかったか。

どうもありがとうございました。
(´-`).。oO(こんな恥ずかしい質問したなんて、一生誰にも言えない……)

926 名前:デフォルトの名無しさん :03/06/21 11:09
多分VBだけだ。IDEも言語名のついたフォルダ以下にあるのは。
VJ++もVIDもIDEはCommon以下にある。

927 名前:デフォルトの名無しさん :03/06/21 11:44
STLについて質問です
STLのfor_eachにおいてコンテナのメンバ仮想関数はよびだせないのでしょうか?

class cBaseOBJ{
virtual void _Dec(){;}
}
class cOBJ :pulic cBase{
void _Dec(){/* 軟化の処理*/;}
}
std::vector<cOBJ> OBJS;

std::for_each(OBJS.begin(), OBJS.end(),std::mem_fun(&cOBJ::_Dec));

error C2064: 関数ポインタとして評価されない式を使って、関数を呼び出そうとしました。


boost が必要なのかな?
それとも根本的に間違ってますか?

928 名前:デフォルトの名無しさん :03/06/21 11:47
訂正
誤 class cOBJ :pulic cBase{
正 class cOBJ :pulic cBaseOBJ{

上ごみが書き込まれてたらごめんなさい

929 名前:デフォルトの名無しさん :03/06/21 14:24
どうすれば、ULONGLONG 型や、__int64 の数字を文字で表示できますか?

ULONGLONG ull;
char s1[50];
ull = ( ULONGLONG ) ~0;
wsprint( s1, "%u", ull );

で変換すると、s1 は「4294967295」で、UINT 型の最大値が表示されてしまいます。
デバッグで見ると、ull はちゃんと ULONGLONG 値の最大値が入っている…
どなたか知っている方、お願いいたします。

もちろん sizeof( ULONGLONG ) の値は 8 です。

930 名前:デフォルトの名無しさん :03/06/21 14:34
ヘルプでprintf見ようや。

931 名前:929 :03/06/21 14:56
結局printfじゃ分からなかったんで、_ui64toa使った。

932 名前:デフォルトの名無しさん :03/06/21 15:05
まぁ sprintf使って %i64u なんだけどね

933 名前:929 :03/06/21 15:46
>>932
それだと、-164uと出力されてしまうんですが…俺のやり方が間違っているのか?

934 名前:デフォルトの名無しさん :03/06/21 16:30
”LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です”
というようなエラーが出てしまいました。これはどうすれば解消されるんでしょうか?



935 名前:デフォルトの名無しさん :03/06/21 16:43
まぁ %I64u を %i64u と間違えたわけだけどね

936 名前:デフォルトの名無しさん :03/06/21 17:23
>>934
そのまんま、main関数がないってことでしょ。

937 名前:929 :03/06/21 20:34
>>935
できました。
しかし、なんでwsprintfだと変換されなかったんだろ…
sprintfだと正常に変換できるのに。

MSDNに載ってた%I64は変換できない…

938 名前:デフォルトの名無しさん :03/06/21 22:16
>>927
やるんであれば、 vector<cOBJ*> かと。
まぁ、やりたいことは vector<cBaseOBJ*> なんだろうけど。

939 名前:デフォルトの名無しさん :03/06/21 23:08
>>937
LPTSTRとか理解してる?

940 名前:デフォルトの名無しさん :03/06/21 23:57
スイマセン、文字列の結合ってどうやるんですか?
今日は休みだったので朝から、「猫でもわかる〜」を見ながら
勉強していたんですが、、、
char StrA にchar StrBを追加したいんですが、
strcat(StrA, StrB)とやってもStrAはそのままでした。

「猫でもわかる〜」でも少しかかれていましたが、
いまいち文字列、文字の配列?、ポインタがわかっていないです。
perlだったらStrA . StrBってたったのそれだけのことで丸一日...
教えてください、お願いします。

941 名前:デフォルトの名無しさん :03/06/22 00:18
>>940
#include <iostream>
#include <string>

// 関数内で…
using namespace std;
string a = "abc";
string b = "def";
string c = a + b;

cout << c << endl;


942 名前:929 :03/06/22 00:32
>>939
あまりしてない。つーか、変換自体と関係あるんですか?

>>940
char StrA[10];
char StrB[10];
strcpy( StrA, "AAA" );
strcpy( StrB, "BBB" );

strcat( StrA, StrB );

StrA の内容「AAABBB」になる。
これじゃ駄目?

943 名前:デフォルトの名無しさん :03/06/22 00:36
>>940
char StrA にchar StrB

もう満杯でーす

944 名前:940 :03/06/22 00:45
940です。
皆さん早速ありがとうございます。
>>941さん
コンパイルしたらエラー 14、警告 3
'using' : 定義されていない識別子です。

なんか根本的に間違ってるんですね。

>>942さん
やはりその方法も使えるのですね。
使い方が間違っているんですね。

>>943さん
すみません、ちょっとわからないです。

皆さんありがとうございます。
ヒントを元に調べてみます。

945 名前:デフォルトの名無しさん :03/06/22 00:50
>>944
>>943はchar StrA にchar StrBだと文字型の変数になるから、
一文字しか入れれなくて満杯だといってんじゃねーのか?

946 名前:デフォルトの名無しさん :03/06/22 00:56
>>944
拡張子を .c から .cpp に変える。

947 名前:デフォルトの名無しさん :03/06/22 01:07
文字列の結合がしたいと言いながら実際にやりたいのは文字の結合ってか

948 名前:デフォルトの名無しさん :03/06/22 03:00
はははあっははははっはははhっははははっはh


949 名前:940 :03/06/22 11:42
どうも皆さんありがとうございます。
拡張子cでした。すいません。

「文字型の変数」ですか。
文字列、文字、配列、ポインタ、あたりで調べてるんですが、
どうもperlで楽しすぎたせいかますます混乱してます。

いろいろありがとうございます。
ヒントも沢山もらったので、
今日は文字の扱いを中心に調べたいと思います。

950 名前:デフォルトの名無しさん :03/06/22 12:39
↓次スレよろしこ。

951 名前:デフォルトの名無しさん :03/06/22 13:12
↓   ↑
→→→→

952 名前:デフォルトの名無しさん :03/06/22 19:04
│次スレよろ。
│    ┌─┐
↓    │  ↓

953 名前:デフォルトの名無しさん :03/06/22 19:17

↓ 無理ですた。


954 名前: ◆kom52wwBZ6 :03/06/22 20:04
行ってみる

955 名前: ◆kom52wwBZ6 :03/06/22 20:16
★初心者にVisual C++を教えるスレ★ Part7
http://pc2.2ch.net/test/read.cgi/tech/1056280510/l50

956 名前:デフォルトの名無しさん :03/06/22 21:23
そういえばVS6.0をインストールすると、何かアプリが飛ぶとダイアログが出るよね。

"0xXXXXXXXX"の命令が"0xYYYYYYYY"のメモリを参照しました。メモリが"written"になることはできませんでした。

プログラムを終了するには[OK]をクリックしてください
プログラムをデバックするには[キャンセル]をクリックしてください

ってやつ。あれキャンセル押したらVSが起動してそのあとハングアップするんだけど、
何か回避方法は無いかな?
以前はキャンセルを押しても普通に動いたんだけど、
OSを再インストールしたあとから動かなくなったなぁ。

957 名前:名無し@沢村 :03/06/22 22:59
>>939
ヌヒよ、sprintfのUNICODE板はswprintfだと言う事実を知らないようだな。 (´゚c_,゚` ) プッ

958 名前:デフォルトの名無しさん :03/06/23 01:29
wsprintf のUNICODE版は wsprintfW
sprintf のUNICODE版は swprintf

959 名前:デフォルトの名無しさん :03/06/23 14:47
すいません。
C++でRound 処理したい場合どうすればいいのでしょうか?

何をインクルードすればいいのかわかりません。

あほな質問ですいません

960 名前:デフォルトの名無しさん :03/06/23 15:19
質問おながいします。
プロジェクトをUNICODE版でビルドしようと思い、
プリプロセッサに_UNICODEを追加したのですが、

msvcrtd.lib(crtexew.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
Debug/Edit.exe : fatal error LNK1120: 外部参照 1 が未解決です。

というメッセージが出てビルドできません。
考えられる問題はありますでしょうか?

961 名前:デフォルトの名無しさん :03/06/23 15:22
追加しないでビルドしたらどうなりますか?

962 名前:デフォルトの名無しさん :03/06/23 15:23
>>961
_MBCSだと普通にビルドできます。
_MBCSを削除して、_UNICODEを追加すると上記のメッセージが
でます。。。

963 名前:デフォルトの名無しさん :03/06/23 15:24
>>msvcrtd.lib(crtexew.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
これはプロジェクトの選択を間違った時に良く出るが・・・。
コンソールアプリをつくるのにWin32Applicationを選んだ時とか。

964 名前:963 :03/06/23 15:24
あーじゃちがうね。

965 名前:960 :03/06/23 15:28
>>963
ありがとうございます。

>これはプロジェクトの選択を間違った時に良く出るが・・・。
ですよね(--);;
エディタのMFCアプリなのですが、ユニコードでテストしてみようと
思ったのですが...
もうちょっといろいろいじくってみますネ。。。


966 名前:デフォルトの名無しさん :03/06/23 15:32
継承をはずして_UNICODEを追加してみたけど、何の問題もなくコンパイル完了

967 名前:960 :03/06/23 15:35
>>966
ですか。。。
僕もいま単純なMFCアプリ(FrameWndを表示するだけ)で
やってみたのですが、やはり同じエラーが出ます。
なんでだろう。。。

968 名前:デフォルトの名無しさん :03/06/23 15:54
そういえばMFCを使っているのなら、MFC*U.*系のdllなりlibなりを使わないとエラーが出るけど

969 名前:960 :03/06/23 15:57
>>968
U系のLibは自分でプロジェクト設定のリンクタブで指定
しないとダメでしょうか?(一応mfc42ud.libと書いてみたのですが
やはりダメでした)

970 名前:960 :03/06/23 16:21
なんどもしみません。訳がわからないのですが
解決しました。
UNICODEで動いている他のプロジェクトで、プロジェクト
の設定のリンクタブのアウトプットのエントリポイント
シンボルに"wWinMainCRTStartup"と書いてあったので
それをマネしたら動きました。
レスを下さった方ありがとうございました。m(__)m

971 名前:デフォルトの名無しさん :03/06/23 16:53
VCでつくられたプロジェクトで、それがDLLなのか
exeなのかといったプロジェクトの属性を知るには
どうすればいいのでしょうか?

972 名前:デフォルトの名無しさん :03/06/23 17:01
どの場面で知りたいの?

973 名前:デフォルトの名無しさん :03/06/23 17:05
プロジェクト作成のときに、DLLかWinアプリかの指定
がありますが、それを知りたいです。
dswファイルを開いた時点で知りたいのですが...

974 名前:デフォルトの名無しさん :03/06/23 17:13
VS.NETならプロジェクトプロパティから構成の種類で分かるけど、
古いのは手元にないので何ともいえない

975 名前:971 :03/06/23 17:24
>>974
ほんとですね。VS.NETだと「構成の種類」として
出ていますね。
VS6.0だと出ていません。


976 名前:デフォルトの名無しさん :03/06/23 19:33
質問させて!
memsetで変数に文字列を入れてMessageBoxで表示させると、

hogehogehoge・・・・

と、末尾に ・・・・ というのが入ってしまいます。
これを取り除くにはどうすればよいのでしょうか?

977 名前:976 :03/06/23 19:35
しくった、memsetではなく、 memcpy で変数から変数へコピーしてます。

978 名前:デフォルトの名無しさん :03/06/23 20:07
>>977
strcpyを使え!
でなければmemsetで変数を初期化しろ!

979 名前:デフォルトの名無しさん :03/06/23 20:18
スマソ!事故解決!
\0 の入れかた間違ってた!
ほんとスマソ!ソマソ!

980 名前:デフォルトの名無しさん :03/06/23 21:08
tomasson

981 名前:デフォルトの名無しさん :03/06/23 22:04
int型の配列をまとめてある数値に初期化する関数はありますか?

982 名前:デフォルトの名無しさん :03/06/23 22:15
>>981
FillMemoryが使えるかも

983 名前:デフォルトの名無しさん :03/06/24 00:45
コモンダイアログを開くと、実行は問題ないのですが、デバッグのログに
例外処理 (初回) は test.exe (KERNEL32.DLL) にあります: 0x000006B5: (名前がありません)。
と出てくるのですが、何か問題あるのでしょうか。

OPENFILENAME構造体の
.lStructSize .hwndOwner .hInstance .nFilterIndex .lpstrFile .nMaxFile .lpstrFilter .lpstrTitle
.Flags .lpstrDefExt
には値を入れています。

984 名前:デフォルトの名無しさん :03/06/24 21:50
>>982
サンクス!!

985 名前:デフォルトの名無しさん :03/06/24 22:14
>>983
ちょっとちがうかもしれないけど、
IEコンポーネントを貼り付けてリサイズすると鬼のように例外が発生していますが動作には問題ないです。
内部的に処理済みの例外かと。

986 名前:デフォルトの名無しさん :03/06/25 18:15
指定したフォルダ内のサブディレクトリ名とファイル名を表示したいと思い
Directory.GetFileSystemEntriesを使おうと思ったのですが
インクルードの下に
#using <mscorlib.dll>
といれると

fatal error C1190: マネージ対象コードには '#using <mscorlib.dll>' と '/clr' が必要です。
というエラーが出てしまいます解決策がありましたらよろしくお願いします

#include "stdafx.h"
#include <afx.h>
#include <windows.h>

#using <mscorlib.dll>
//using namespace System;


int _tmain(int argc, _TCHAR* argv[])
{
・・・・・
}

987 名前:986 :03/06/25 22:10
プロジェクトのプロパティで拡張マネージを変更したら解決しました
スマソ

988 名前:デフォルトの名無しさん :03/06/25 22:20
おばんです。
おせてくそ。
スタティックライブラリでできる*.libファイルと
dllプロジェクトでできる*.libファイルは、前者は
実装入りで、後者は実装なし(実装はDLL本体内)と
いう解釈でいいのでしょうか?
またなぜリンカはdllを直接参照せずにlibファイルを
必要とするのでしょうか?


989 名前:初心者 :03/06/25 22:52
/* 文字列に代入された数値データをint型に変換する */
#include <stdlib.h>
#include <stdio.h>

int main()
{
char *text = "352";
int integer = atoi(text);
printf( "integer = %d\n" , integer );
return 0;
}
char *text = "352"; なぜ*がいるんですか?


990 名前:デフォルトの名無しさん :03/06/25 23:06
>>989
壮大にスレ違い。Cスレ池。

991 名前:デフォルトの名無しさん :03/06/25 23:11
>988
DLLには序列でしか公開していないものもある。

992 名前:988 :03/06/25 23:39
>>991
なるほど。すべてのdllが自身がエクスポートしている
関数の名前を見せてくれるワケではないんですネ。
どもどもでした。。。

993 名前:デフォルトの名無しさん :03/06/26 00:17
VCがいつのまにか上書きモードになって
しまうのですが(ミスタッチで)
いい方法はないでつか?

994 名前:デフォルトの名無しさん :03/06/26 00:19
Insertキーをぶっ壊せ

995 名前:デフォルトの名無しさん :03/06/26 00:33
■■■かわいそうな「ゲーム君」を2ちゃんの力でトップにしよう!■■■
                
HSPプログラムコンテスト2003オンライン投票                   
http://www.onionsoft.net/hsp/contest2003/entryn1.html
 
HSPプログラムコンテスト2003に一番乗りで出展したものの
Windowsに標準でついてくるゲームを手軽に起動できるという(というかただのショートカットつめあわせ)
しょーもないプログラムでたたかれまくっているプログラミング暦3年(!)の高校生の
作品、ゲーム君をみんなの力で一位にしよう。
【【【 投票方法 】】】            
http://www.onionsoft.net/hsp/contest2003/entryn1.html の一番下、エントリーNo8の「ゲーム君」
評価を「A」で選んでコメントを記入して「送信」(コメントいれるとなおよし)           
http://www.onionsoft.net/hsp/contest2003/eval/eval.cgi?md=cmt&id=8
でいままで送信されたコメントが見えるよ!(けっこう笑える)                       

996 名前:デフォルトの名無しさん :03/06/26 00:37
このスレってBorland C++ Builderもいい?

997 名前:デフォルトの名無しさん :03/06/26 01:14
「この」スレだけならいい。
次スレは不可(w

998 名前:デフォルトの名無しさん :03/06/26 01:17
>>993 キーカスタマイズ汁

999 名前:デフォルトの名無しさん :03/06/26 01:18
       , --- 、_
      /ミミミヾヾヽ、_
   ∠ヾヾヾヾヾヾjj┴彡ニヽ
  / , -ー‐'"´´´    ヾ.三ヽ
  ,' /            ヾ三ヽ
  j |             / }ミ i
  | |              / /ミ  !
  } | r、          l ゙iミ __」
  |]ムヽ、_    __∠二、__,ィ|/ ィ }
  |    ̄`ミl==r'´     / |lぅ lj
  「!ヽ、_____j ヽ、_  -'  レ'r'/
   `!     j  ヽ        j_ノ
   ',    ヽァ_ '┘     ,i
    ヽ  ___'...__   i   ハ__
     ヽ ゙二二 `  ,' // 八
      ヽ        /'´   / ヽ
      |ヽ、__, '´ /   /   \

1000は君にやろう、アンダーソン君...


1000 名前:デフォルトの名無しさん :03/06/26 01:18
1000 GET〜!


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