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


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

★初心者にVisual C++を教えるスレ★ Part3
751 名前:719 :03/01/23 18:44
>>749
すごいです。正しく動きました。
正直imbueというのが何なのか理解していませんが、
その辺は自分で勉強しておきます。
有難うございました。

752 名前:山崎渉 :03/01/23 20:00
(^^)

753 名前:デフォルトの名無しさん :03/01/23 20:32
>>750
MFCのクラスツリーを見ることを薦める。
コントロールは全てCWndから派生している。

キャスト使えば実際の型が全然別のものでも実は(ry

754 名前:デフォルトの名無しさん :03/01/23 23:10
VC++6.0を起動したはいいけど何をやったらいいのかわかりません。
VC++6.0の使い方とか書いてあるHPまたは書籍ってないですか?
それからMFCとSDKってなんですか?教えてください。

755 名前:デフォルトの名無しさん :03/01/23 23:21
>>754
適当な入門書買ってこい。
推薦図書/必読書のためのスレッド PART 8
http://pc3.2ch.net/test/read.cgi/tech/1041595397/l50

MFC/SDKについては検索しる

756 名前:  マネーの虎 :03/01/23 23:29

※180度、人生を変えるなら・・・!!!
【今の生活に満足している人はお断り・・・!!!】
http://www3.to/ds821

757 名前:736 :03/01/23 23:32
>>737 >>739アドバイスどうもでした。
gccのライブラリからstrptimeをもらってきて作りました。

char *date;//"23-Jan-2003 06:11"
struct tm tm;
//tmを初期化する(省略)
strptime(date, "%d-%b-%Y %H:%M", &tm);//年月日時分に分解(date→tm)
tm.tm_hour+=17;//時差17時間調整
time_t t_t= mktime(&tm);//システム時刻に変換
strftime(date, 32, "%Y/%m/%d %H:%M", localtime(&t_t));//"2003/01/23 23:11"


758 名前:デフォルトの名無しさん :03/01/24 00:23
インストーラとオンラインヘルプの作り方おしえてください

759 名前:デフォルトの名無しさん :03/01/24 00:26
>>758
お勧め
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3060-7.html

760 名前:名無しさん :03/01/24 01:09

CFileDialog でファイルではなく、ディレクトリを選択
するようにしたいのですが、派生させて大々的に
改造するしかないもんでしょうか?

なんとか手軽に実現できないもんですかね。



761 名前:デフォルトの名無しさん :03/01/24 02:11
>>760
SHBrowseForFolder

762 名前:デフォルトの名無しさん :03/01/24 06:09
>>758
これとか
http://www.kumei.ne.jp/c_lang/index_h.html

763 名前:デフォルトの名無しさん :03/01/24 10:36
スレッドの同期とか非同期ってなに?
どーいういみあんのぉ?

764 名前:デフォルトの名無しさん :03/01/24 10:45
>>763
http://www.google.co.jp/search?q=%83X%83%8C%83b%83h+%93%AF%8A%FA+%94%F1%93%AF%8A%FA&ie=Shift_JIS&hl=ja&btnG=Google+%8C%9F%8D%F5

765 名前:デフォルトの名無しさん :03/01/24 11:46
>>764
ども

766 名前:763 :03/01/24 13:06
非同期だと受信と他の作業を別な感じで
やってくれるってことでいいのかな?
そーいうばーい、送信と受信って
いぺーんにできるの?

767 名前:名無しさん :03/01/24 13:28

CFileFind の IsDirectory() でDebug Assertion Failedエラーが
出て、うまく動作しないのですが、何が問題なのでしょうか?
テストプログラムは下記のような感じです。

int main(int argc, char* argv[])
{
cout << "テストプログラム\n";

CFileFind ff;
char str[] = "C:\\Program Files";

if (ff.FindFile(str)) cout << "ファイル/ディレクトリを発見:" << str << "\n";
else cout <<"ファイル/ディレクトリ " << str << " が発見できませんでした。\n";

if (ff.IsDirectory()) cout << "これはディレクトリです\n";
else cout << "ERROR!\n";

return 0;
}

リリースモードだとエラーは出ませんが、やはり
うまく動作していない模様。


768 名前:名無しさん :03/01/24 13:33
>>761
ありがとうございます。
ちょっと検索してみましたが、英語ドキュメントしか
見つからなくてムズイです。

http://www.bd.wakwak.com/~opapa/VC/API/SHBrowseForFolder.htm
ここで解説を見つけましたが、COMなんたらいうのが
分からなくて、うまく使えないです。パスを取得するところ
まではできたのですが、API側で確保したメモリの解放が
できずにメモリリークになっている感じです。

なにか読むべき適当なテキストなんかありましたら、紹介
いただけるとありがたいです。



769 名前:名無しさん :03/01/24 13:39
>>767追伸
ディレクトリチェック部分を

if (ff.MatchesMask(FILE_ATTRIBUTE_DIRECTORY)) cout << "これはディレクトリです\n";
else cout << "ERROR!2\n";

に変更しても、やはり同様のエラーでした。
何が問題なんだろう。




770 名前:質問です お願いします :03/01/24 13:54
for(;;)文で処理を行ってるのですが
閉じるボタンを押しても反応してくれなかったり
閉じれてもエラーメッセージが表示されます。
ウィンドーからのメッセージはどうやって取ればよいのでしょうか。

771 名前:名無しさん :03/01/24 14:16
>>770
MFCを使っているなら、クラスウイザードで
WM_CLOSEをハンドルする関数を作ってはいかがですか?
それともCベースで1から手打ちですか?


772 名前:デフォルトの名無しさん :03/01/24 14:18
>>767
FindNextFileの呼出が抜けてる。

773 名前:名無しさん :03/01/24 14:24
>>772
FindNextFileを実行すると、ファイルへのポインタが
目的のファイルの次にズレてしまわないですか?
ちょっと試してみます。



774 名前:質問です お願いします :03/01/24 14:27
>>771さん
 クラスウィザードから それっぽいのが追加できそうです。
ありがとうございますm(__)m


775 名前:名無しさん :03/01/24 14:34
>>772
成功しますた!
1回目の呼び出しではポインタずれないんですね。
ちと紛らわしい。

ありがとうございました。

>>774
お互い、がんばりませう。



776 名前:デフォルトの名無しさん :03/01/24 19:20
MD5ハッシュのやり方を教えてくれる人を尊敬します。
教えてください。

777 名前:776 :03/01/24 19:47
解決しました。ありがとうございました。

778 名前:デフォルトの名無しさん :03/01/24 19:53
>>770
forループを別スレッドで行う。
WM_CLOSEを処理する部分が呼ばれないのでWM_CLOSEをハンドリングしても無駄。

779 名前:776 :03/01/24 20:35
777ってだれ?
殺すよ?

780 名前:779 :03/01/24 20:37
嘘です

781 名前:デフォルトの名無しさん :03/01/24 20:49
まあとりあえずrfc1321.txtを嫁。

782 名前:デフォルトの名無しさん :03/01/24 21:15
>>777 & >>780
またかよ!!
でも今日は気分がいいからゆるしてあげましょぉ(ニコニコ(怒

783 名前:名無しさん :03/01/24 22:05

CD-ROMでいいので、Visual C++で利用できる
関数の日本語完全版ってないもんですかねぇ。
6.0付属のMSDN使ってるんですが、ヤフオクとかに
出ている最近のやつはもう少し充実してるんでしょうか?



784 名前:デフォルトの名無しさん :03/01/24 22:14
#定義 厳密
#引用 <窓.変態>
整数 窓適用業務界面 窓主(例操作 変態操作,例操作 変態操作, 長指示文字列零 長指示文字列零指令, 整数 数値指令表示)
{
復帰 零;
}

   ∧∧     ┌──────────
  ( ´ー`)   < シラネーヨ
   \ <     └───/|──────
    \.\______//
      \       /
       ∪∪ ̄∪∪


785 名前:あみ :03/01/24 23:53
だれかMD5おしえてよぉ(涙。
VC++の日本語サンプルのあるところでもいいので教えてください。


786 名前:デフォルトの名無しさん :03/01/25 00:02
>>785
http://www.google.com/search?q=MD5&sourceid=opera&num=0&ie=utf-8&oe=utf-8

787 名前:デフォルトの名無しさん :03/01/25 00:27
マジでアホな質問なんですけど

ワークスペースというウィンドウがいつもでてきます
毎回消していて、それだけですむことですが、
どこを弄ればいつも出ないようになりますか?

788 名前:デフォルトの名無しさん :03/01/25 00:39
>>787
自分のPCじゃないだろ。

789 名前:デフォルトの名無しさん :03/01/25 01:04
#include <unistd.h>
main()
{
int i,j;
printf("program start");
j=fork();
if(j>0)
{
printf("parent-1");
sleep(5);
printf("parent-2");
sleep(5);
printf("parent-3");
}
if(i==0){
printf("child-1");
sleep(8);
printf("child-2")
}
return(0);
}

これ実行できないんですけど教えてください

790 名前:デフォルトの名無しさん :03/01/25 01:10
>sleep(8);
>printf("child-2")
>}
フーン

791 名前:  :03/01/25 01:12
void なのに return(0); なのか?
それとも void ではないのか?

792 名前:デフォルトの名無しさん :03/01/25 01:13
>>789 マルチ氏ね

793 名前:デフォルトの名無しさん :03/01/25 01:19
#include <unistd.h>
main()
{
int i,j;
printf("program start");
j=fork();
if(j>0)
{
printf("parent-1");
sleep(5);
printf("parent-2");
sleep(5);
printf("parent-3");
}
if(i==0){
printf("child-1");
sleep(8);
printf("child-2")
} }
こっちのよーな

794 名前:i って何? :03/01/25 01:44
マルチはノーマナー。

795 名前:名無し@沢村 :03/01/25 02:31
>>791
ヌヒよ、voidではないのよ。

796 名前:デフォルトの名無しさん :03/01/25 03:09
マルチっつーか、それ以前にスレ違いな。

797 名前:デフォルトの名無しさん :03/01/25 11:36
_variant_t の pRecordSet->GetCollect ( L"日付型" );
をCTimeに代入したいですけど、DATE型→CTimeってどうやればいいのでうか?

798 名前:名無し@沢村 :03/01/25 13:08
>>797
しょうがないからヌヒに教えてあげよう。

{
DATE date;

(中略)

COleDateTime ot(date);

SYSTEMTIME st;
ot.GetAsSystemTime(st);

CTime ct(st);
}

799 名前:C++厨 :03/01/25 14:15
>>785
ハァハァ…
あみたんをrapeしながらMD5…

800 名前:デフォルトの名無しさん :03/01/25 14:17
DirectX9をいれたらVC++6.0がやたら強制終了するようになったのですが
仕様でしょうか?(´・ω・`)
OSは98。

801 名前:デフォルトの名無しさん :03/01/25 14:19
手動

802 名前:デフォルトの名無しさん :03/01/25 14:20
9x系ってのがそもそも間違いのような。

803 名前:732 :03/01/25 16:39
色んなvc++の本を読みあさって見ましたが解決方法が見つかりませんでした。
で、vc++をアンインストールしてVC#に切り替えてみたんですが
もしかしたら

testView.cpp(51): error C2065: 'pDC' : 定義されていない識別子です。

っていうエラーが出る原因って
C#で言う所の
System.Console.WriteLine("Hello World!");
のObjectが抜けてるっていう意味ですか?

VC++6でpDC->TextOut ("Hello World!");
と書くだけでコンパイル出来たのが.netに環境を移行してから出来なくなったので
今までVC++6ではC#で言うところのusing System;が自動生成されてたのが
VC++.netから自動生成されなくなったと考えて良いのでしょうか?

大学のキャンパスアグリーメントなるシステムを使ってVSを導入していて手元にCDが
無いのでインストールし直して確認することができません。
どなたか教えていただけないでしょうか?


804 名前:デフォルトの名無しさん :03/01/25 16:49
>>803
いやpDCが定義されてないって言われてんじゃん……
デバイスコンテキストについて勉強しる

805 名前:名無し@沢村 :03/01/25 17:09
>>803
ヌヒよ、どうせ下のコードみたいにpDCがコメントアウトされているんだろ。

void CHelloView::OnDraw(CDC* /*pDC*/)
{
}

806 名前:デフォルトの名無しさん :03/01/25 17:35
そういや、何でコメントアウトしてるんだろ?
コメント外すの面倒なんだけど・・・


807 名前:名無しさん@3周年 :03/01/25 17:54
クラスの新規作成ダイアログで、
クラスの種類にGenericクラスを指定すると、
下に基本クラスを指定できるリストコントロールみたいなものが
表示されるのですが、
このコントロールを使用したいのですが、
公開されているのでしょうか。
リストの要素にドロップダウンリストが埋め込めたりして
かなり便利そうなので、使用してみたいのですが。
識者の方、よろしくおねがいします。



808 名前:デフォルトの名無しさん :03/01/25 22:19
>>807
漏れは常駐ソフトの時に使ったかな。
けどドロップダウンリストの埋め込みとかわからないから
言うのは止めておこうと思ったあの日...

809 名前:デフォルトの名無しさん :03/01/25 22:49
>>807
それってコンボボックスの事じゃないのか?
それならCComboBoxってのがあるべ。

810 名前:デフォルトの名無しさん :03/01/25 22:55
コントロールを自分でCreateして配置するよりダイアログエディタで置いた方がリソース食いますか?

811 名前:あみ :03/01/25 23:00
VC++6.0でMD5のサンプル作ってください。

日本語でお願いします。

>>799

サンプルつくってぇ〜(笑

812 名前:デフォルトの名無しさん :03/01/25 23:09
http://www3.cds.ne.jp/~marimo/data/rfc/rfc1321-jp.txt

813 名前:デフォルトの名無しさん :03/01/25 23:39
>>811
マルチポストすんなネカマ

814 名前:あみ :03/01/26 00:23
>>812
ありがと〜!
>>813
そういう考えばっかしてるから
メル友以外で女の子と話できないってことに
気づいた方がいいんじゃない?

815 名前:デフォルトの名無しさん :03/01/26 01:57
電源設定を変更したいのですが
良い方法ありませんか?

816 名前:797 :03/01/26 02:23
>>798
ありがとうございます。
COleDateTimeのヘルプはちらっと見ていたのですが、
DATE→COleDateTime→SYSTEMTIME→CTimeの繋がりに気がつきませんでした。
多謝多謝。

817 名前:デフォルトの名無しさん :03/01/26 11:34
>>811
氏ね

818 名前:デフォルトの名無しさん :03/01/26 16:22
ファイル構成
-main.cpp
+A
| -hoge.h
| -hoge.cpp
+B
| -hoge.h
| -hoge.cpp
------------------------------
A/hoge.h
namespace A{
  class{
  public:
    void func();
  };
}
------------------------------
B/hoge.h
namespace B{
  class{
  public:
    void func();
  };
}
つづく

819 名前:デフォルトの名無しさん :03/01/26 16:23
つづき

------------------------------
main.cpp
#include "A/hoge.h"
#include "B/hoge.h"
int main()
{
  A::hoge a;
  a.func();
  B::hoge b;
  b.func();
  return 0;
}
って感じのプロジェクトを VC7で作って(A/hoge.cpp & B/hoge.cpp は略)、コンパイルすると
./Debug/hoge.obj
が一つだけ再生されて(後の奴が上書きされて)リンクエラーが出るんですが、コンパイルオプションで何とかなりませんか?

820 名前:デフォルトの名無しさん :03/01/26 17:27
operator newのオーバーロードがうまくいかなくてこまってます。
サンプルに

class Blanks
{
public:
 Blanks(){}
 void *operator new( size_t stAllocateBlock, char chInit );
};
void *Blanks::operator new( size_t stAllocateBlock, char chInit )
{
 void *pvTemp = malloc( stAllocateBlock );
 if( pvTemp != 0 )
  memset( pvTemp, chInit, stAllocateBlock );
 return pvTemp;
}

というのがあります。
が、いざ
 Blanks *a5 = new( 0xa5 ) Blanks;
とやると
 error C2059: 構文エラー : 'constant'
と出ます。
前にoperator newのオーバーロードやって、
そのときはうまくいっていたように思ったんですが。

821 名前:デフォルトの名無しさん :03/01/26 17:36
//ブロックの追加
Add(pBlock);

if(m_bShift){
for(int i = 0; i < GetSize(); i++){
static_cast<CDirBlock*>(GetAt(i))->SetRect(BLOCK_STOCKRECT[i]);
}
}
return pRetObj;

BlockArray.cpp(49) : error C2664: 'SetRect' : 1 番目の引数を 'int' から 'const class CRect &' に変換できません。 (新しい機能 ; ヘルプを参照)
理由: 'int' から 'const class CRect' へは変換できません。
コンストラクタはソース型を持てません、またはコンストラクタのオーバーロード レゾリューションがあいまいです。
このエラーの解決方法教えてkudasai.



822 名前:デフォルトの名無しさん :03/01/26 18:40
>>819
A/hoge.cpp と B/hoge.cpp はプロジェクトに参加させてあるのか?

823 名前:デフォルトの名無しさん :03/01/26 18:47
>>820
よくわからんが Blanks *a5 = new('\xA5') Blanks;

824 名前:デフォルトの名無しさん :03/01/26 18:49
>>821
BLOCK_STOCKRECT の正体は何よ?

825 名前:デフォルトの名無しさん :03/01/26 19:06
>>824
BLOCK_STOCKRECTは変数でタイプはint、アクセス制御はpublicです。
よくわからないんですが、キューだと思います

>>821のはストックブロックなら、描画位置をずらすものって聞いたんですが

826 名前:デフォルトの名無しさん :03/01/26 19:13
BLOCK_STOCKRECT が int 型なら、何で BLOCK_STOCKRECT[i] という書き方ができるんだ?

827 名前:818 :03/01/26 19:36
>>823
させてあります

828 名前:デフォルトの名無しさん :03/01/26 19:48
>>826
理解してないからだろ

829 名前:820 :03/01/26 20:05
んーなんか他の質問とごちゃごちゃになってしまいましたが
私のは独立した質問です。
クラスのnew演算子をオーバーロードしてそれを使おうとすると
必ずコンパイルエラーになります。
上の例ではnewにsize_t以外にもうひとつ引数をつけましたが
単純にnew(size_t)でオーバーロードしても、そのnewを使うと
「関数が不正な 3 個の実引数をともなって呼び出されました」
となります。
なんか自分のVCがおかしいのかな。
誰かnewのオーバーロードしてもコンパイル通るか試して欲しいっす。

830 名前:デフォルトの名無しさん :03/01/26 22:10
MFC AppWizardでアプリ作ってます。
エディットボックスから、正誤判定つき(0-255)整数を16進数
で入力可能にする簡単な方法はあるのでしょうか?

文字列入力して、int型に変換するしかないのでしょうか?

初心者質問スマソ。
お願いします。


831 名前:デフォルトの名無しさん :03/01/26 22:24
>>826
iがポインタなんだろ

832 名前:デフォルトの名無しさん :03/01/26 22:29
>831 納得しますた

833 名前:デフォルトの名無しさん :03/01/26 22:29
でも直前に for(int i = 0; i < GetSize(); i++){ とか書いてあるのな。

834 名前:デフォルトの名無しさん :03/01/27 00:19
MFCのダイアログベースのプログラムで一度ボタンを作成(IDC_BUTTON)して
それを押したときに行う処理をOnButton関数に記述しました。
その後誤ってボタンを削除(正確には切り取り)してしまったので新しいボタンに同じ機能をつけようと
思い同じIDC_BUTTONというボタンを作成しようとしたのですが
「同じIDを持つコントロールがあります」というメッセージがでてきて作成できません。
しかし、一度VCを終了させてしまったので貼り付けもできなくなってしまいました。
どうすればボタンを復活させることができるのでしょうか?
初心者な質問ですみません。

835 名前:デフォルトの名無しさん :03/01/27 00:21
>>834
ダイアログでclassウィザード開いてメンバ関数を削除する。
そうしてもう一度最初からやる。

836 名前:デフォルトの名無しさん :03/01/27 00:53
>>834
.rcファイルをメモ帳か何かで開いて(VisualStudioでも開けるが)、
新しいボタンの IDを IDC_BUTTON に書き換える。

837 名前:デフォルトの名無しさん :03/01/27 01:08
>>835 >>835
ありがとうございました。
コンパイルは通るのですがダイアログが開かないという事態が解決できそうです。


838 名前:名無しさん :03/01/27 04:58
>>834
リソースエディタで、そのままボタンを追加して、
IDをIDC_BUTTONに変更できないんですかね?
表面的に削除しても *.rc からは削除されないのかな?




839 名前:あみ :03/01/27 10:30
>>817
ププッ!図星つかれると
大体そう言うんだよね〜。
なんかかわいそうになってきたよ。
ごめんね〜。24歳素人童貞君!

840 名前:デフォルトの名無しさん :03/01/27 10:41
>>839
ごめんなさい。

841 名前:デフォルトの名無しさん :03/01/27 12:23
ピンフな予感

842 名前:デフォルトの名無しさん :03/01/27 18:34
Visual C++.netだけどF1で範囲選択してヘルプ出したときプラットフォームSDKの英語が優先的に出ちゃうんです。
これを日本語の奴が先に出るように出来ないのかな?ドキュメント検索したら日本語のもしっかりあるみたいなんだけど・・・。
設定もいろいろ見直してみたけど解決せず。どなたかご助言いただけないでしょーか。


843 名前:デフォルトの名無しさん :03/01/27 19:16
>>826は解決できました。答えてくれてくださった方ありがとうございます。
で、またエラーが出て、申し訳ないんですがご協力おねがいします。

Microsoft Visual Studio\LeadBall\LeadBallDoc.cpp(142) : error C2601: 'DrawObjects' : ローカル関数の定義が正しくありません。
void CLeadBallDoc::DrawObjects(CDC *pDC)
{                        ←エラーはここを指してました。
if(m_pBall)
m_pBall->Draw(pDC);
m_stocks.DrawAll(pDC);
m_blocks.DrawAll(pDC);
m_bugs.DrawAll(pDC);
}
LeadBallDocクラスのすべてのメンバ関数に上と同じエラーが出てきて、何がいけないのかさっぱりわかりません。
どなたか教えてください。おねがいします。





844 名前:デフォルトの名無しさん :03/01/27 19:57
名前(アルファベット)五人分入力
         ↓
     辞書式に並び替える
         ↓
  "meido.doc"ファイルに書き込む
というプログラムなんですが、お願いします。

845 名前:デフォルトの名無しさん :03/01/27 21:58
>>844
何をお願いするって?

846 名前:デフォルトの名無しさん :03/01/27 22:41
>>844
辞書式ってなーに?

847 名前:デフォルトの名無しさん :03/01/27 22:54
\ / |=) から \ // ̄ に移行したいんですがなにかアドヴァイスプリーズ 
 \/ |=)     \/ |__ 俺はどんくらいで完全に考えがCにうつれたみたいなかんじで

848 名前:デフォルトの名無しさん :03/01/27 22:58
>>847
日本語でしゃべってくれ。

849 名前:847 :03/01/27 23:19
ン?ナメック語の単位は取ってないんですか?ヤレヤレ

VBからVCに移行したいんですがなにかアドヴァイスプリーズ 
根本的な仕組みの違いがあって、分からん!

具体的に、明確に、VBとVCとの違いを教えてくださいオマイラ

850 名前:デフォルトの名無しさん :03/01/27 23:39
仕組みが違う部分を理解しないと教えようもないんじゃないかな。

851 名前:847 :03/01/27 23:43
どう理解しろと?
参考文献ないかなぁ(^д^)

852 名前:デフォルトの名無しさん :03/01/27 23:47
>>849
細かい事考えずに 1 から覚えろ。
何で VB と VC との違いを知らないと逝けないと思ったんだ?

853 名前:847 :03/01/27 23:52
いや、1から覚えるにはCは敷居が高いかなと・・。
VBの知識→応用→VCの知識→(゜д゜;)ウマー
を狙って。

やっぱ無理?一からしないとダメ?

854 名前:デフォルトの名無しさん :03/01/27 23:52
ネタにマジレスが今の流行ですか?

855 名前:847 :03/01/27 23:54
>>854
バカハダマッテハヤク ネ ロ

856 名前:デフォルトの名無しさん :03/01/27 23:55
>>855
オマエモナー
こんなところで返ってくるかどうかわからない答えを待ってないで、行動しろよ。

857 名前:847 :03/01/28 00:02
VC勉強しながら書き込んでますがナニカ?

858 名前:デフォルトの名無しさん :03/01/28 00:10
>>857
なら教える事は何も無い。

859 名前:デフォルトの名無しさん :03/01/28 05:43
突然失礼しますが,
今c言語の行列演算ライブラリを探しているのですが
どなたかご存知ないでしょうか?
卒業研究のプログラムにいるので必死なんです。
助けてください

860 名前:デフォルトの名無しさん :03/01/28 06:19
>>859
numpackとかそんな名前の有名なやつがあったような記憶。

861 名前:860 :03/01/28 06:30
LAPACKだった。CはCLAPACK、C++はLAPACK++

862 名前:デフォルトの名無しさん :03/01/28 07:18
教えてください!! graphics.hというヘッダファイルが読み込めません。
古いCの本を参考にVCを使って書いているのですが、対応するヘッダファイルがないようなんです。

どうも調べたら今はgraphics.hはOSが提供しているので昔みたいにヘッダファイルを読み込む必要がなくなったから消えたらしいんですが・・
しかしこのヘッダファイルがないと実行できないので非常に困っています。
どなたか解決方法を知っておられたら教えてください!!

863 名前:デフォルトの名無しさん :03/01/28 07:51
>>862
コンソールアプリを作ってるの?

864 名前:デフォルトの名無しさん :03/01/28 08:02
いやー、そういうつもりではないのですが…
単に本どおりやっているだけなんで…

ちょうどこんな感じのです
http://f1.aaacafe.ne.jp/~pointc/log310.html

865 名前:デフォルトの名無しさん :03/01/28 08:14
>>864
そのページを見てもわからなかったらあきらめたほうがいい

866 名前:デフォルトの名無しさん :03/01/28 08:16
>>859
自分で作れよ!卒研にならんぞ!

867 名前:デフォルトの名無しさん :03/01/28 08:41
>>859
その程度もできないようなら卒業すんな

868 名前:デフォルトの名無しさん :03/01/28 09:17

いままで気にもしなかったけど、グラフィック系の関数は
削除されていたのか。MSDNみたけど、Platform SDKか
MFCにしかグラフィック関連の関数はないみたい。でも
これはウインドウ向けでコンソール向けじゃないよね?

まあ、練習ならテキスト処理だけでやるのが妥当じゃないのかな。



869 名前:デフォルトの名無しさん :03/01/28 09:32
>>868
MFCっていうか、GDIというAPIに変わっただけだろ

870 名前:デフォルトの名無しさん :03/01/28 14:48
>>860
教えてくれてありがとう。
参考になりました

871 名前:デフォルトの名無しさん :03/01/28 18:24
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
return (m_wndSplitter.CreateStatic(this,

1,2) // TODO: 行と列の数を調整してください。
&&m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CD2HTreeView),CSize(100,100),pContext)
&&m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(D2HHtmlView),CSize(100,100),pContext));
}

この部分に問題点があれば指摘してくれ

872 名前:デフォルトの名無しさん :03/01/28 18:55
MFC以外でなんかいいクラスライブラリあったら教えてください。

873 名前:デフォルトの名無しさん :03/01/28 18:57
WTL
OWL
VCL
gtk--
QT

874 名前:デフォルトの名無しさん :03/01/28 19:29
クソライブラリばかり

875 名前:名無し@沢村 :03/01/28 23:59
やねうらおSDK

876 名前:アストロ :03/01/29 01:22
Visual Studio.NetでVC++7.0で
プロジェクトにMFCアプリケーションを選択し
Ctrl+F5でビルドしようとすると、
「これらのプロジェクトは古い形式で構成されています」
という警告が出ているんですが、これってなぜなんでしょう?
情けないことに、いつからこのメッセージが出てるか覚えて
いないんです。
どなたかこのメッセージの理由か回避方法知ってる方いた
ら教えてください。
即出だったらごめんなさい。

877 名前:デフォルトの名無しさん :03/01/29 05:28
よく使う機能を持たせた class CMyDialog : public CDialog を作って
クラスウィザードから使うことは可能ですか?可能なら方法を教えてください。


878 名前:デフォルトの名無しさん :03/01/29 07:37
>>877
[プロジェクト] → [プロジェクトへ追加] → [ファイル...]
で*.hと*.cpp(クラスウィザードでつくったなら MyDialog.h と MyDialog.cpp)を追加しる

879 名前:877 :03/01/29 08:00
ありがとうございます。しかし説明が足りなかった様です。
派生元をCMyDialogにしてクラスウィザードに表示される様にしたかったのです。
CAppDialog−CMyDialog−CDialog という継承関係です。
が、なにか方法を間違えているような気がしてきました。

880 名前:デフォルトの名無しさん :03/01/29 08:15
>>879
「クラスの種類」を「Genericクラス」にして派生元をCMyDialogにすればいい。
「MFCクラス」内に表示されるのはMFCのクラスではないからムリだと思う。

881 名前:デフォルトの名無しさん :03/01/29 11:53
カスタムAppWizardは?

882 名前:デフォルトの名無しさん :03/01/29 13:51
ダイアログの背景に画像貼るとかできるの?

883 名前:デフォルトの名無しさん :03/01/29 13:54
>>882
できます

884 名前:デフォルトの名無しさん :03/01/29 22:31
>>876
Ctrl+F5は実行コマンドだから
最後にビルドしてから変更があるから
もういっかいビルドしますってことじゃない?

あらかじめShift+Ctrl+Bでビルドしてから
F5なりCtrl+F5で実行すれば警告はでないよ

885 名前:デフォルトの名無しさん :03/01/30 02:36
"BUTTON"ウインドウにWS_TABSTOPを指定しても、TABが効かないのは何故ですか?
親ウインドウにWS_EX_CONTROLPARENTをやってもダメでした。

886 名前:デフォルトの名無しさん :03/01/30 10:01
2chLib.cpp 2chLib.h を創ろう
スレとか作って使い勝手のあるモジュール群を作らないか?

887 名前:デフォルトの名無しさん :03/01/30 12:33
CString sData = lpvData[0].bstrVal;
を実行するとコンパイルエラーになってしまいます。
lpvDataは、LPVARIANTで宣言しております。

'初期化中' : 'BSTR' から 'ATL::CStringT<BaseType,StringTraits>'
に変換できません。


888 名前:TCP/IP :03/01/30 15:42
ちゃ!TCP/IPのクライアントソフト作ってるんですけど、
送信・受信などで悩んでるのでご存知の方がいましたら教えてください。

まずサーバーにログインしたらこっちがサーバーに送信するんですけど、
送信した後に受信するんですけど、普通にやるとブロッキングで受信できないので
今スレッドにしてるんですが、今の状態だと受信したのを確認する前に
次のデータを送信しちゃうんですが、受信完了まで待つにはどうしたらいいですかね?

ループでまわしてうまくいくときもありますが
ちょっと固まった感じになるので
できたらそれも改善したいです。

アドバイスください。

やりたいこと

ログイン  (できました

サーバー ←← クライアント (できました
サーバー →→ クライアント
サーバー ←← クライアント (↑を受信する前に送信してしまう
サーバー →→ クライアント
サーバー ←← クライアント
サーバー →→ クライアント

こんな感じです。

よろしくです。

889 名前:888 :03/01/30 16:12
すみません。補正と追加です。
↑の()内は現在の状況です。

追加ですが、
この処理の後に
いつサーバーから連絡がきてもいいように
受信のスレッドのようなものを
使って監視したいと思ってます。

それで、必要なときには、こちらからサーバーのほうへも
送信したいと思っています。

それで、さらにできれば通信ログも
データ(構造体など)に入れたいと思っています。

よろしくお願いします。

開発環境
Win2k + SP2 
VC++6.0 ダイアログベース

890 名前:デフォルトの名無しさん :03/01/30 16:14
http://www6.ocn.ne.jp/~endou/index2.html
      ★こんなサイト見つけました★

891 名前:デフォルトの名無しさん :03/01/30 17:48
>>888
送信しちゃうって、てめえで勝手に送信してんだろアフォ。

2番目のサーバからの送信を待つ必要があるなら
その時点でクライアントの送信スレッドを作らずに
受信を待てば良いだろ。

892 名前:VC++超初心者 :03/01/30 19:07
糞みたいな質問でスマソですが教えてください。C++の勉強をしようと思って
VC++.netでとりあえず簡単なC++プログラム(コンソールアプリ)を作ってみたんですが、
デバックで実行して実行結果が表示された瞬間、MS-DOS窓が閉じてしまいます。
普通は「Press any key to continue」と出てMS-DOS窓は閉じないらしいのですが・・・
どうすればいいのか教えてください。ソースは次の通りです。

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
int dt;

cout<<"何か整数を入力してください:";
cin>>dt;

cout<<"def="<<dt<<"\n";
cout<<"8進数="<<oct<<dt<<"\n";
cout<<"16進数="<<hex<<dt<<"\n";
cout<<"16進数(大文字)="<<uppercase<<dt<<"\n";
cout<<"今の書式で表示="<<dt<<"\n";
cout<<"16進数(小文字)="<<nouppercase<<dt<<"\n";
cout<<"10進数="<<dec<<dt<<"\n";

return 0;
}


893 名前:VC++超初心者 :03/01/30 20:49
だれか・・・

894 名前:デフォルトの名無しさん :03/01/30 21:15
>>892
VC++6.0の話だから、.net だとちょっと
違うかもしれないけど、
コンパイラの ビルド -> 実行 で実行してる?
そっちだと、すぐに閉じないと思うんだけど。



895 名前:デフォルトの名無しさん :03/01/30 21:23
>>892
Press any key to continueって出るぞ。
んで、キー押すと終了するが。

ちゃんと、コンソールでプロジェクト作ったのか?

896 名前:VC++超初心者 :03/01/30 21:24
おぉ〜レスありがとうございます。・゚・(ノД`)・゚・。
実行はまず「ビルド」メニューの「ソリューションのビルド」でビルドして
「デバッグ」メニューの「開始」で実行してます。
結果はきちんと出てるみたいなんですが
1回実行されるとすぐコマンドプロンプトが閉じるんです・・・

897 名前:VC++超初心者 :03/01/30 21:36
>>895
はい、一応ちゃんと作ったつもりなんですが・・・
新規作成→プロジェクト→Win32プロジェクト→アプリケーションの設定
→コンソールアプリケーションと空のプロジェクトにチェック
でオッケーですよね?

898 名前:デフォルトの名無しさん :03/01/30 21:39
>>897
本当にコンソールアプリケーションってやつちゃんと選んだか?

899 名前:デフォルトの名無しさん :03/01/30 21:41
cin.get(); でも入れておけ。

900 名前:VC++超初心者 :03/01/30 21:46
>>898
実は昨日「Hello World」と表示するプログラム組んだら
Press any key to continueってちゃんとでたんですが、
今日同じ方法で>>892のプログラム組んで実行したらこの症状が出たんです。
それで昨日組んだやつもやってみたんだけどそれもでなくなっちゃって・・・


901 名前:デフォルトの名無しさん :03/01/30 21:56
神降臨! 記念下記子汁!
http://live2.2ch.net/test/read.cgi/news/1043890845/19
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

18 :番組の途中ですが名無しです :03/01/30 10:57 ID:2hKUMfqg
ばばぁひかれるなんて、にちじょうさはんじなわけだ画。
19 :番組の途中ですが名無しです :03/01/30 11:01 ID:QrlbAOxQ
>>18
一応釣られておくけど日常「ちゃはんじ」。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

902 名前:デフォルトの名無しさん :03/01/30 22:22
デバッグを開始じゃなくてただの実行しなさい。


903 名前:VC++超初心者 :03/01/30 22:55
もうしょうがないからreturn 0のまえにcin.get();いれたんだけど
なぜかきえる・・・・なんでだ〜〜〜〜〜〜〜〜〜〜〜〜〜〜

904 名前:デフォルトの名無しさん :03/01/30 22:58
だからデバッグの実行じゃなくてただの実行をしろと

905 名前:VC++超初心者 :03/01/30 23:00
ただの実行ってどうやるんですか?
開始ってやつしかみつからなくて・・・

906 名前:デフォルトの名無しさん :03/01/30 23:02
Ctrl+F5

907 名前:デフォルトの名無しさん :03/01/30 23:04
!がめじるし

908 名前:VC++超初心者 :03/01/30 23:12
デキタ━━━━━━(゚∀゚)━━━━━━!!!!
あなたは神ですか?!!!!
どうして開始からだとだめなんだろう・・・
ちなみにCtrl+F5ってメニューからは無理なんですかね?


909 名前:デフォルトの名無しさん :03/01/30 23:32
カスタマイズ可能

910 名前:VC++超初心者 :03/01/30 23:44
>>909
あ!ありました!「デバックなしで開始」ってやつですね。
いろいろありがとうございましたm(_ _)m

911 名前:デフォルトの名無しさん :03/01/31 06:21
VC++.NETにはデフォで普通の実行がないのか。


912 名前:888 :03/01/31 10:07
>>891
受信をループでまわして中身確認してるんだよ。
んで受信してねぇのにループ抜けちまうんだよ。

向こうが送信する前になんでかループ抜けてるかもな。

だから向こうから送信するまで待つ方法はないかや?

913 名前:デフォルトの名無しさん :03/01/31 10:44
>>912
>んで受信してねぇのにループ抜けちまうんだよ。
おまえのミスじゃんか……

914 名前:デフォルトの名無しさん :03/01/31 12:00
>>913
解決策を書かないとこを見ると
タダの口だけのアフォだな。


915 名前:デフォルトの名無しさん :03/01/31 12:41
VC++6.0で、DLLを作成する場合
エクスポートする関数の順番を明示的に指定する方法は
どうやればいいんでしょうか?

#順番がごちゃごちゃになってしまいとてもきもちわるい・・・(*_*)

916 名前:デフォルトの名無しさん :03/01/31 12:45
>>888 は日本語変だよなあ
は、さておき。Listenでエラー出てるのに気付いていないだけと違うか?
前にレシーブをノーウェイトに設定しながら、OSの設定だと言ってる奴が居たなぁ・・

917 名前:デフォルトの名無しさん :03/01/31 13:33
すみません。
最近VisualStudio.Netを買って
VisualC++の勉強をはじめました。
シリアルポートを使った通信プログラムを作るのが目的です。
GUIの作り方とかファイルの入出力とかは参考書などによく載っているので、
それを読みながら進めているのですが、
シリアル通信について言及されたものが見つからず困っております。
VisualBasic向けのならいくつかあったのですが。
VisualC++によるシリアル通信はどのように実現すればよいのでしょうか。
教えていただけると助かります。

918 名前:デフォルトの名無しさん :03/01/31 14:49
>>914
どうやってループまわしてるのかわからんのに解答を書けるはずがないだろう……

919 名前:デフォルトの名無しさん :03/01/31 14:51
>>915
*.defファイルのEXPORTSに
関数名1    @1
関数名2    @2

とか書くんじゃなかったっけ。

920 名前:デフォルトの名無しさん :03/01/31 15:06
>>912
お前はまず日本語勉強して来い。アフォ。

921 名前:デフォルトの名無しさん :03/01/31 15:10
突っ込みたくても突っ込めない人がいますね。
おまえ自身日本語大してわかってなさそっ。

922 名前:888 :03/01/31 15:19
>>918
すまぬ。わしが悪かった。
以下が受信スレッド(プログラムが汚いという突っ込みはいらぬ)
#defineTIMEOUT10000
CStringstrRecvData;//CTcpDlgクラス
SOCKET TcpSock ;//CTcpDlgクラス

UINT CTcpDlg::RcvThread(LPVOID pParam) {
CTcpDlg *pTcpDlg = (CTcpDlg*)pParam;
CString strSendMsg ;
unsigned int iCnt;
int iTimeOut ;
char chRecvMsg[256] ;

pTcpDlg->strRecvData = "" ;
while(1){
Sleep(50);
memset(chRecvMsg, 0, sizeof(chRecvMsg));//受信メッセージ格納する char を初期化
iCnt = recv(pTcpDlg->TcpSock, chRecvMsg, sizeof(chRecvMsg), 0);//Recv の戻り値を iCnt に代入
if( iCnt == SOCKET_ERROR || iTimeOut == TIMEOUT)//Recvでエラーが返ってきたとき
return -1;
else if(iCnt > 0) {//1文字でも受信できたら
EnterCriticalSection(&g_section);
pTcpDlg->strRecvData += chRecvMsg ;//受信したデータを CString 型に入れる
LeaveCriticalSection(&g_section);
}
if(strstr(chRecvMsg , pTcpDlg->strCRLF) != NULL || iCnt == 0)//改行を含んでいるか、受信文字数が0だったらスレッド終了
return 0;
iTimeOut++ ;
}//総受信メッセージ文字が0より大きかったら繰り返す
return -1;
}

923 名前:デフォルトの名無しさん :03/01/31 15:23
921 名前:デフォルトの名無しさん 本日の投稿:03/01/31 15:10
突っ込みたくても突っ込めない人がいますね。
おまえ自身日本語大してわかってなさそっ。

924 名前:888 :03/01/31 15:27
//続き。んでもってこっちが送信。
//送信はスレッドじゃないので重い(?)。固まりやすい(?)
int CTcpDlg::SubSerSend(CString strSndMsg){

CString strMsg ;
CString strSendMsg ;
unsigned int iStrLenCnt, iCnt;
char *pMsgCnt ;

memset(chSendMsg , 0 , sizeof(chSendMsg) );//char の初期化
strcpy(chSendMsg, strSndMsg );//chSndMsg に送信メッセージを代入
iStrLenCnt = strlen(strSndMsg);//送信メッセージの文字数を代入
pMsgCnt = chSendMsg ;//ポインタにアドレスを代入
do{// 送信終了又は、送信エラーまで繰り返す
iCnt = send(TcpSock, pMsgCnt ,strlen(pMsgCnt) , 0);// 文字列を送信。送信された文字数が返ってくる
if( iCnt == SOCKET_ERROR ){//Sendでエラーが返ってきたとき
MessageBox("送信失敗しました。","1回目で送信失敗",MB_OK|MB_ICONSTOP);//ダイアログ表示
return 0 ;//関数を抜ける
}
if(iCnt > 0){//文字が1文字でも送信できたら
pMsgCnt += iCnt ;//送れた文字数だけポインタをずらす
iStrLenCnt -= iCnt;//総送信メッセージ文字数から送れた分の文字数を引く
}
}while(iStrLenCnt > 0);//まだ送れてない文字があったらループする
strMsg = chSendMsg ;//送信メッセージを CString 型に代入

return 1 ;
}
//続く

925 名前:888 :03/01/31 15:32
//んで呼び出し方はこんな感じ
//初心者なんでわからんのです。ガムシャラです。
if(SubSerSend("てすとちぅ") != 1){
MessageBox("1回目送信","エラー発生",MB_OK|MB_ICONSTOP);
return ;
}
strRecvData = "" ;//初期化
SubRecvStart();
for(int iLp = 0 ; iLp < 100 ; iLp++){
EnterCriticalSection(&g_section);
if(strstr(strRecvData , strCRLF) != NULL && strstr(strRecvData , "VER") != NULL || bRecvComp == TRUE )
break;
LeaveCriticalSection(&g_section);
if(iLp > 99){
MessageBox("1-受信失敗","タイムアウト",MB_OK|MB_ICONSTOP);
return ;
}
}
while(1){//受信完了まで待つ
Sleep(10);
if ( ::WaitForSingleObject(m_pThread->m_hThread, 200) == WAIT_TIMEOUT || strRecvData.Right(2) == "\r\n")
break;
}
if(SubSerSend("テスト2〜") != 1){
MessageBox("2回目送信","エラー発生",MB_OK|MB_ICONSTOP);
return ;
}

926 名前:888 :03/01/31 15:37
>>916
日本語は・・・変かもしれん・・というかへんだな〜

通信関係は初めてなんでよくわからんす。

と、まー以上です。

927 名前:デフォルトの名無しさん :03/01/31 15:41
>>926
分からんのにどうやってそこまで作った?
どこからパクってきたんだ?

928 名前:デフォルトの名無しさん :03/01/31 15:43
コールバック関数の引数の個数と型の調べ方を教えて下さい。


929 名前:デフォルトの名無しさん :03/01/31 15:44
>928
google

930 名前:888 :03/01/31 15:45
>>927
パクリです。
最初はWinSockから聞いて
ログインのあとはサンプルなどを見ながら
コピペで張り切ってます。

931 名前:デフォルトの名無しさん :03/01/31 15:47
>>930
パクってきたんなら、そのまま動くはずだべ。
ちゃんと全部コピペしたか?

それと、受信・送信以前のプロセスでエラー出てないか確認してみ。
ちゃんとsocket作成は成功してるとか。
サーバ側でListenやacceptで失敗してるとかないか?

932 名前:888 :03/01/31 16:06
>>931
送信受信自体はうまくいくんですよ。1文字列を送信して
1文字列を受信してってのをボタンで発動するようにすると
うまくできます。
今回はそれを自動でやれるように関数作ったんだけど
受信を確認する前に次の送信に行っちゃうんですよ。

受信で改行があったら次へ行くようにやってるつもりなんだけどな〜。

933 名前:デフォルトの名無しさん :03/01/31 16:14
while(1){//受信完了まで待つ
Sleep(10);
if ( ::WaitForSingleObject(m_pThread->m_hThread, 200) == WAIT_TIMEOUT || strRecvData.Right(2) == "\r\n")
break;
}
この||になんか違和感がある

934 名前:デフォルトの名無しさん :03/01/31 16:17
単にタイムアウトになってんでは?

935 名前:888 :03/01/31 16:17
>>933
::WaitForSingleObject(m_pThread->m_hThread, 200) == WAIT_TIMEOUT

これ自体はコピペなんですけど

||はおかしいんですかね?

いまいちよくわからないですけど・・・

936 名前:デフォルトの名無しさん :03/01/31 16:20
>>935
だからさ、そこでタイムアウトになってんだべ?

937 名前:デフォルトの名無しさん :03/01/31 16:21
|| ってorじゃないの?
タイムアウトで抜けてるんじゃない?
||以前を削除してやってみたらどうだろう。

これで抜けるなら、改行じゃない文字で終了にしてみ。

938 名前:デフォルトの名無しさん :03/01/31 16:23
while(1){//受信完了まで待つ
Sleep(10);
if ( ::WaitForSingleObject(m_pThread->m_hThread, 200) == WAIT_TIMEOUT) {
MessageBox("タイムアウトしてんぞゴルァ",MB_OK|MB_ICONSTOP);
break;
} else if (strRecvData.Right(2) == "\r\n") {
MessageBox("改行あり",MB_OK|MB_ICONSTOP);
break;
}
}

おい、プログラムこれに差し替えて今すぐ結果教えろこの野郎。

939 名前:888 :03/01/31 16:24
>>937
ありがとうございます。
ちょっとやってみます。

でも試すのは家でかな。
所長の視線が痛ひ・・・

940 名前:デフォルトの名無しさん :03/01/31 16:25
>>938
オツ

941 名前:937 :03/01/31 16:27
>>939

938がソースまで書いてくれたから、それで試してみ。
これではっきりするだろうから。

942 名前:デフォルトの名無しさん :03/01/31 16:29
>>938


943 名前:937 :03/01/31 16:37
ちなみに漏れは、VCは使ったことない。
これから使おうかと思って覗いていたわけだが。
200ってなんだろうなと思ってぐぐってみた。
200ミリセカンドだってさ・・・
ここの調整がいるんだろうな。
どっちにしろ938のように分岐にしないといけないわけだし、
どういう結果になろうと、これで解決だろう。


944 名前:888 :03/01/31 16:43
>>938
ども!サンクス!
今すぐ試したいけど所長はがんばれば振り切れる!
けどこの会社でTCP/IP通信すると会社のサーバーから
接続切られてまうので家でしかできないのが本音。

945 名前:デフォルトの名無しさん :03/01/31 18:24
ワラタ

>>919
バッチリできました。ありがとうございました。


946 名前:アストロ :03/01/31 18:24
>884
むちゃくちゃ亀レスです。
ありがとうございました。あのあといろいろ当ってみたら
あのメッセージは正常のようですね。


947 名前:デフォルトの名無しさん :03/01/31 18:35
C++をダウンロードしたいのですが、ありますか?
やっぱ店に行ってお金払うんですか?

948 名前:デフォルトの名無しさん :03/01/31 18:38
>947
ボーランド

949 名前:デフォルトの名無しさん :03/01/31 18:40
>>948
Visualのスレでその答えは無いだろ?(w

>>947
MSのサイトから.NET Framnework SDKが落とせる。
C++に加えて、C#、VB,NETもコンパイル出来る。
IDEが必要なら、SharpDevelopというアプリもある。検索してみ。

950 名前:C++厨 :03/01/31 18:40
>>947
処理系なら
http://www.cmagazine.jp/link/freedev.html
http://b197199.usr.starcat.ne.jp/~vorga/freedev2.html

仕様ならGoogle

951 名前:ppp1359.va-tyo.hdd.co.jp :03/01/31 18:43
ちょっとテスト

952 名前:947 :03/01/31 18:58
回答ありがとうございます

953 名前:888 :03/02/01 10:58
>>938
ん〜。うまくいきませんね〜。
ってか、受信したやつが空になってます。
スレッドなのでこれをどこかで更新みたいのをやらないとだめなような気はしますが・・・
ブレイクポイントを置き、一つずつやるとうまく送信受信ができます。

954 名前:デフォルトの名無しさん :03/02/01 11:17
938はタイムアウトなのか改行なのか知りたいんだろ
俺も気になるがどっちなんだ?

955 名前:デフォルトの名無しさん :03/02/01 14:00
954に同意。タイムアウトしてるから空なんじゃないのか。
200のところをもっと大きくしたらいいんじゃないのか。

956 名前:888 :03/02/01 16:19
そのままやっても一向に抜けないんですよ。
ループから。なにか受信するまで
待つっていうものはないですかね?

957 名前:デフォルトの名無しさん :03/02/01 16:31
あきれたけど
まあ初心者じゃしょうがないか
http://a414s1.it.nanzan-u.ac.jp/seminar/concurr/concurr/node15.html

958 名前:デフォルトの名無しさん :03/02/01 16:56
>>956
つまり、どちらのダイアログもでないということ?
抜けてしまうのが問題だったのではないのですか?
抜けないはずはないでしょう。
結果報告もしないで勝手に話を次に進めないでください。

せっかく938みたいに親切な人がいるのに、
結果報告ぐらいきちんとできないと誰も助けてくれませんよ。

959 名前:名無し@沢村 :03/02/01 17:08
>>956
ヌヒよ、もうあきらめたらどうだ。

960 名前:デフォルトの名無しさん :03/02/01 17:41
沢村、お前ヌヒとか言うのやめろ。
気持ち悪いんだよ馬鹿が

961 名前:デフォルトの名無しさん :03/02/01 17:58
>>956
おいおい、何矛盾した事言ってるんだ?
ループから抜けちゃうから問題だと言ったのはお前だろう。
ループから抜けないで先に進むなんてあり得ないんだよ。

こりゃあ、想像以上に初心者のようだな・・・。

962 名前:デフォルトの名無しさん :03/02/01 18:04
初心者というか、人との会話方法を知らないのだろう。
本当の初心者でもこんな香具師はいない。

963 名前:デフォルトの名無しさん :03/02/01 18:27
どうせそのうち「釣れた」とか言い出すんだろうな……

964 名前:デフォルトの名無しさん :03/02/01 19:40
VisualC++7.0Professionalまだ出ないんですかね…


965 名前:デフォルトの名無しさん :03/02/02 00:22
>>960
その沢村は偽者だ。相手にするな。

966 名前:デフォルトの名無しさん :03/02/02 00:24
つーか沢村ネタ自体が全くおもしろくない。やってる奴のセンスを疑う。

967 名前:デフォルトの名無しさん :03/02/02 13:15
>>966
放置したくてもできないお前のセンスを疑う。(藁

968 名前:デフォルトの名無しさん :03/02/02 13:35
>>967=沢村


969 名前:デフォルトの名無しさん :03/02/02 14:47
MFCでAPIを使うことはできますか?

970 名前:デフォルトの名無しさん :03/02/02 14:49
はい。

971 名前:デフォルトの名無しさん :03/02/02 14:49
はん?

972 名前:デフォルトの名無しさん :03/02/02 15:12
C++って何でつか?  ( ゚д゚)ポカーン


973 名前:デフォルトの名無しさん :03/02/02 15:52
無知なんですが、↓のソースを簡単な改造で
計算精度を上げるにはどうしたいいですか?
ボーランドのBCCやVC++.NETでビルドしたら
小数点20桁目で限界でした。long doubleしても結果は同じだったので・・・

#include "stdio.h"
#include "stdlib.h"
#include "iostream.h"
void main()
{
double a=0.0;
float b=0.0;
unsigned long l=0;
puts("計算機プログラミング宿題3 第1問:級数ごっこ");
for(l=1;l<1000001;l++) {
a+=( (l%2) ? 1.0 : -1.0) / ((double)l*(double)l);
b+=( (l%2) ? 1.0 : -1.0) / ((double)l*(double)l);
}
printf("1..1000000 with double is -> %.30lf\n",a);
printf("1..1000000 with float is -> %.30lf\n",b);
}

974 名前:デフォルトの名無しさん :03/02/02 16:10
doubleって仮数部56bitだっけ?だとするとそのまま
どんなにがんばっても10進16桁しか有効にならないぞ。

975 名前:デフォルトの名無しさん :03/02/02 16:15
>>973
http://user.ecc.u-tokyo.ac.jp/~tt16369/cp9703.html

あんた東大生?

976 名前:デフォルトの名無しさん :03/02/02 16:20
>>975
すごい、ソース見つけるなんて・・・
いやただ、数値計算のソース適当に書いたら
変な計算結果になったんで、対策方法いろいろと
検索したら、たまたまそこがでてきただけ

ttp://www.nitoyon.com/vc/tips/multi_precision.htm
にある、多倍長とかいうの使えば精度あがるんかな
でも、めんどそう・・・

977 名前:デフォルトの名無しさん :03/02/02 16:35
ゲタ履かせたら?
ていうか任意桁長の"仮数部","小数部"を表すクラスを用意して、
生のdoubleを直接いじる代わりにそれらの中でdouble値をゲタ履かせた
状態で保持しておいて、結果もそのクラスで出すってのは、どう?

オペレータもオーバライドすれば、さらにそれっぽくなるし。


978 名前:デフォルトの名無しさん :03/02/02 18:52
>>972
変数Cの値を1大きくするインクリメント演算子。

979 名前:中卒 :03/02/02 19:02
>doubleって仮数部56bitだっけ?だとするとそのまま
>どんなにがんばっても10進16桁しか有効にならないぞ。

何でだよ
教えろよ
教えて訓ナイトないちゃうぞ

980 名前:デフォルトの名無しさん :03/02/02 19:19
ここ、本当に初心者スレなのか?

981 名前:デフォルトの名無しさん :03/02/02 19:26
VisualC++ 相談室【9】
http://pc2.2ch.net/test/read.cgi/tech/1036897197/l50
これを見つけられないヤツが多いと見た

982 名前:デフォルトの名無しさん :03/02/02 19:41
WINUSER.Hに次のような記述があります。

typedef BOOL (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);

typedefの例文を見ると、このような場合、

DLGPROC foo;

BOOL (CALLBACK* foo)(HWND, UINT, WPARAM, LPARAM);
という意味になるらしいんですが、ここで2つ質問。

この関数を呼び出すときは

(*foo) (hwnd, uint, wParam, lParam);

で良いんですかね? つまりfoo は関数のエントリポイントを差すポインタへのポインタ
ってことでいいのでしょうか?

それからもうひとつ。WINUSER.H では何種類か、この方式で定義されていますが、
これってどこで使用しているのでしょううか? *.rc とかは、これなんかな?




983 名前:デフォルトの名無しさん :03/02/02 21:12
こんばんは。相談なんですが、
std::
って入力した時点でコード補完の候補にcinとかcoutとかcerrとかが
出てこなくなりました。で、前まで大丈夫だったコードがstd::cout
とか使ってるところでエラーがでるようになりました。どうしたら
いいでしょう。すみませんお願いします

984 名前:デフォルトの名無しさん :03/02/02 22:22
いつも思うのだが、どうしてエラーの内容を書かないのだろうか。

985 名前:デフォルトの名無しさん :03/02/02 22:50
Visual C++  ってC言語が理解できない馬鹿がお絵かきツールみたいなのを使ってプログラムするやつなんでしょ?


986 名前:983 :03/02/02 22:57
すみませんです。
------------------構成: 5_0_0 - Win32 Debug--------------------
リンク中...
5_0_0.obj : error LNK2001: 外部シンボル ""class std::basic_istream<char,struct std::char_traits<char> > & __cdecl read(class
std::basic_istream<char,struct std::char_traits<char> > &,struct
Student_info &)" (?read@@YAAAV?$basic_istream@DU?$char_traits@

D@std@@@std@@AAV12@AAUStudent_info@@@Z)" は未解決です
5_0_0.obj : error LNK2001: 外部シンボル ""double __cdecl grade(struct
Student_info const &)" (?grade@@YANABUStudent_info@@@Z)" は未解決です

Debug/5_0_0.exe : fatal error LNK1120: 外部参照 2 が未解決です。
link.exe の実行エラー

5_0_0.exe - エラー 3、警告 0

987 名前:デフォルトの名無しさん :03/02/02 23:01
コンパイル中...
yakyu.c
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x81' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x40' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x81' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x40' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x81' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x40' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x81' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(93) : error C2018: 文字 '0x40' は認識できません。
D:\tomoki\C言語\project1\yakyu.c(107) : fatal error C1004: 予期せぬ EOF が検出されました。
cl.exe の実行エラー

yakyu.exe - エラー 9、警告 0

何度も確認しましたが間違いはないはずなのこうなってしまいます。どうすればいいですか?

988 名前:983 :03/02/02 23:12
すみませんエラーは勘違いでした。それは解決したのですが、補完されなくなって使いにくいです…

989 名前:デフォルトの名無しさん :03/02/02 23:14
すみません私は馬鹿です

990 名前:デフォルトの名無しさん :03/02/02 23:17
めちゃ初歩的な質問です。

ダイアログベースで作成しているのですが、
OKボタン、CANCELボタンを無効にして新しいボタンを2つ作成し、
そのボタンにOK、CANCELボタンの役割を持たせるように
プログラムしました。
その後、エディットボックスを追加したのですが、
IDCが追加されず、2つのボタンだけのIDCだけが表示されます。
どうやったらエディットボックスのIDCを追加することができますか?


991 名前:デフォルトの名無しさん :03/02/02 23:23
>>987
大文字スペースは使えない。

992 名前:デフォルトの名無しさん :03/02/02 23:24
大文字じゃないや、全角文字。

993 名前:デフォルトの名無しさん :03/02/02 23:25
>>990
IDCってリソースのIDのこと?

994 名前:デフォルトの名無しさん :03/02/02 23:27
>>994
そうです。
クラスウィザードでボタンを追加したときは、
IDC_BUTTON1
という風に追加されるのですが、
エディットボタンは表示されません。
ですから、メンバ変数をそこから追加できないのですが、
どのようにすればよいのでしょうか?

995 名前:デフォルトの名無しさん :03/02/02 23:28
>>993
の誤りです。


996 名前:デフォルトの名無しさん :03/02/02 23:28
995

997 名前:デフォルトの名無しさん :03/02/02 23:29
997

998 名前:デフォルトの名無しさん :03/02/02 23:29
998

999 名前:デフォルトの名無しさん :03/02/02 23:30
>>994
神のみぞ知る

1000 名前:1000 :03/02/02 23:30
1000


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