[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 08/02 03:19 / Filesize : 168 KB / Number-of Response : 617
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれVisual C++(超初心者用)その4



1 名前:デフォルトの名無しさん [2006/11/29(水) 17:00:54 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Visual C++使いが優しくコメントを返しますが、
お礼はVisual C++の布教と初心者の救済をお願いします。

■過去スレ
前スレ
pc8.2ch.net/test/read.cgi/tech/1150105712/
前々スレ
pc8.2ch.net/test/read.cgi/tech/1141087248/

■遠い親戚スレ
くだすれC++/CLI(初心者用)
pc8.2ch.net/test/read.cgi/tech/1142144110/l50

■関連ページ
Visual C++ Home Page
www.microsoft.com/japan/msdn/visualc/



367 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 23:15:47 ]
小説を書くにはまず日本語を勉強しないといけないのですか?
みたいな質問だな

368 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 23:31:20 ]
>>366
C++はC言語+アルファ(語弊あるけど)。
だからC言語を学ぶことは有効だけど
いけないっていうこともないだろうな。

C++って難しい部分もあるから
簡単なところからはじめたほうがいいっていう意味で
先にC言語を学べってことになってしまう。

ポインタは壁にぶつかるやつが多いからな。
ポインタがわからないやつにC++を使わせるのは危険ともいえる。
そもそもC言語を使わせるのも危険だけど
ポインタを理解してからC++をはじめたほうがいいな。

369 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 23:32:27 ]
>>366
きにすんな。
作っちゃいなよ。
壁にぶつかっちゃいなよ。

370 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 23:39:58 ]
Visual C++ =
CとC++などのコンパイラ(独自拡張有) +
CとC++の標準ライブラリ(独自拡張有) +
Platform SDK(ただしExpressは別) +
MFCやATLなどMS製のライブラリ +
IDE(デバッガこみ) +
MSDN ライブラリ +
各種ツール

およそこんな感じ

371 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 23:45:37 ]
>>366
コンパイラの使い方とかデバッグの仕方とかは
ツールによって異なるからな。
バージョンによってメニューとかも多少変わるぞ。

自力で判るとか
友達に手取り足取り教えてもらえるとか
ヘルプをみながら判るやつなら不要だが
初心者はバージョンも合っている解説書的本があったほうがいいな。


372 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 00:07:58 ]
すまんが聞きたい事がある。フリーソフトでアナログ時計を作って
ベクターに公開しているのだが、ウィンドウズの時計部門の人気順で20位以内に
入っている。オレのプログラミングのレベルはどの位か評価してほしいのだが、頼む。
自分ではVisual C++のレベルが初級を脱した位だと思っているのだが。

373 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 00:13:54 ]
そんなことわかるわけがない。
良いプログラムが書けるかどうかと人気のあるプログラムが書けるかどうかというのは別問題。

374 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 00:17:06 ]
人気とプログラミングレベルに相関関係があると思ってるん?

375 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 02:15:16 ]
ソースアップしてリンク張ってくれれば見るよ
ここだと辛口な意見が多そうだが



376 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 05:25:50 ]
プログラミングのレベルと人気は必ずしも関係ないでそ。
自分は、どの程度的確に言語仕様を理解しているか、とか、
プロジェクトに適した方法で開発できるか、とか、
そういうことだと思う。

ただ、人気のあるソフトを作れるってことは
良いクリエイターなんじゃないかな。

なんていうかな、Flashとか使えるWebDesignerが、
必ずしもプログラムの技術があるとは限らないっていうか。

377 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 06:20:07 ]
サイズのでかいのが結構上位に入ってるな
常駐系はサイズが小さいのが常識だと思ってたけど時代は変わっていく

378 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 17:08:25 ]
非矩形ウィンドウ
システムトレイへの登録
レジストリ操作
多重起動の防止

ぐらい実装していれば中級ではないか

379 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 19:17:13 ]
コピペでも作れるだろ。そのくらい

380 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 19:27:50 ]
通信関連のマルチスレッドと低レベルAPI
コピペでやると一発で落ちる

381 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 19:37:45 ]
非矩形ウィンドウは時計の初歩

382 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 06:52:32 ]
非矩形ウインドウってまだRegion使ってるの?

383 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 07:20:51 ]
描画するだけならカラーキー設定して切り抜く
クリック範囲とかなら、リージョン使わないでどうやってるん?

384 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 17:51:20 ]
画像の処理を行うクラスを作ろうとしています。
メモリDCを確保してビットマップの操作等を行うのですが
その場合は CWnd クラスの派生クラスとする必要があるのでしょうか?

385 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 18:00:51 ]
ウィンドウハンドルが必要ならメンバに持ってればいいわけだから
別に継承する必要ないだろ



386 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 18:54:06 ]
DCならCDCが思い浮かびそうなもの

387 名前:384 mailto:sage [2007/03/14(水) 21:31:57 ]
そもそもDCがよくわかっていません。
メモリDCを確保する際に、CreateCompatibleDC()の引数に
メイン側でGetDC()したポインタを渡せばうまくいくのですが
そうしないでこのクラスだけでCreateCompatibleDC()するには
何を渡せばいいのかわかりません。
NULL だと真っ黒になってしまって・・・

388 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:47:18 ]
なんだ既存のクラスがよくわからない人が作ろうとしてるのか
それだったら1から自分で作れ

389 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:49:35 ]
>>387
CreateCompatibleDCに渡すべきデバイスコンテキストのハンドルを
引数に受け取ればいいだろ。

390 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 21:59:54 ]
>>389
class GAZOU
{
 void Gazou(CDC* pDC)
 {
  CDC memDC = CreateCompatibleDC(pDC);
  ・・・
 }
}

ダイアログ等
 Gazou gazou(GetDC());
 gazou.hogehoge();

という感じでしょうか?
今の処理はこの通りで、うまく動作しているのですが
これ以外のやり方(CDCのポインタを渡さない)はないでしょうか?
GAZOUクラス内だけで処理できないものかと思っています。

391 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 22:06:12 ]
>>390
NULLかデスクトップのウィンドウハンドルでDCを用意し
そのDCにコンパチブルなメモリDCを作成するのはどうかな。
出来るかどうか俺は保障しないが。

DCなしでビットマップを操作したいところだがWindowsがそういう仕組みなんで仕方ない。
DCってのは画面用とかプリンタ用とかそれらのコンパチブルなメモリDCなどがあって
ペンとかブラシとかを指定して対象物に描画するときに必須という面倒な代物だな。

392 名前:384 mailto:sage [2007/03/14(水) 22:25:44 ]
>>391
画像処理クラスにおいて
CWnd* pDesktop = CWnd::GetDesktopWindow();
CDC* pDC = pDesktop->GetDC();
CDC memDC = CreateCompatibleDC(pDC);
・・・
と記述してうまく動作しました。
どうもありがとうございました。
レス頂いた他の皆さんも、ありがとうございました。
よく理解していないため、変な質問で済みませんでした。

393 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 23:12:32 ]
スクリーン互換のDCなら、CreateCompatibleDCは引数NULLでOK。
あと、ウィンドウからDCを取るときは、必要に応じてCWindowDCかCClientDC使うと楽。

394 名前:384 mailto:sage [2007/03/15(木) 00:20:23 ]
>>393
ありがとうございます。

CDC memDC;
CBitmap memBmp;

CreateCompatibleDC(NULL);
memBmp.CreateCompatibleBitmap(&memDC, width, height);
memDC.SelectObject(&memBmp);

としてみましたが、どうもモノクロになってしまうようです。
使い方が間違っているのでしょうか?

395 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:57:20 ]
CreateCompatibleBitmapにはmemDCじゃなく392のpDCを渡すのだ。
MSDN - CBitmap::CreateCompatibleBitmapの解説を参照



396 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:59:43 ]
それ以前にCreateCompatibleDC(NULL)の左側が抜けてるな

397 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 09:51:10 ]
デフォルトでは、素のDCにはモノクロの1x1のビットマップが選択されている
それと互換のビットマップを作ったらモノクロになるのは当然

398 名前:384 mailto:sage [2007/03/15(木) 22:41:43 ]
>>395-397
なるほど 何となくわかりました。
皆さんのアドバイスを基に、以下のコードに落ち着きました。

CWnd* pDesktop = CWnd::GetDesktopWindow();
CDC* pDC = pDesktop->GetDC();

CDC memDC;
memDC.CreateCompatibleDC(NULL);
CBitmap memBmp;
memBmp.CreateCompatibleBitmap(pDC, width, height);
memDC.SelectObject(&memBmp);

399 名前:デフォルトの名無しさん [2007/03/18(日) 15:42:26 ]
【ネガティブ派遣根性チェック】

3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。

□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□派遣先に尻尾を振り、いつまでも派遣を続けることが大切だ


400 名前:初心者以前です。 mailto:sage [2007/03/18(日) 23:46:37 ]
 すみません。教えて下さい。
VisualC++2005ExpressEditionをMSのサイトから
DLして使用したいと考えているのですが、
ズバリ、フリーのデーターベースであるFirebirdと
繋げられるのでしょうか?

やはり製品版でないと無理なのでしょうか?

自分は、単純に初心者向けプログラムである。
CDやDVDの在庫管理アプリを作りたいだけなんですが、
自分の労力以外は、極力フリーで作りたいと思っています。
可能でしょうか?

宜しくお願いします。

401 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 00:02:40 ]
繋げる意味がよく分からんが、実質フォーマットさえ分かってしまえば作れるんじゃないの?

402 名前:400 mailto:sage [2007/03/19(月) 00:19:01 ]
>>401

言葉足らずで、すみません。
ただ単に、フリーのDB(FireBird)に基本テーブルやら
履歴テーブルやらを作成して、
そのDBの記録を読み書きさせたいだけです。

403 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 00:21:43 ]
製品でも繋がるかどうか知らない。
MicrosoftからしてみればフリーのFirebird用の
ライブラリを用意する義理なんてないでしょうし(推測)。

Firebird用のADOがあれば繋がるんじゃい(推測)?
ADO.NETじゃないよ。
あるいはODBC。

実際はDBMS固有の色々あるからすんなり行くか判らんけどね。

404 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 00:23:51 ]
Visual C++ 2005 ExpressだとATLとかないんだっけ?
ADOはActiveX(COM)だからちょっと大変かもな。


405 名前:400 mailto:sage [2007/03/19(月) 02:24:40 ]
>>403,404様
本当に、レスありがとうございます。

そうですか、難しいですか・・・。
やはり、SQLServerExpressを使用しないといけない見たいですね。
こちらも、フリーなのですが4G制限等があるからイヤだったんですよねぇ。

実は、図書館レベルとは言わないが、資料がたくさんあるので4Gで収まるか
自信ないんですよねぇ。何件分くらい入るもんでしょうか?
はぁ・・・。
でも、SQLServerExpresとVisualC++2005Expressとの組み合わせなら、
初心者でも簡単にDBアプリ(資料メディア管理アプリ)出来ますでしょうか?
又、DBアプリに関してわかり易いサイトって、MS以外にありますか?
よろしくお願いします。
ちなみに、ググッても分かりませんでした。(検索が悪いとは思いますが)



406 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 21:27:13 ]
最初は誰でも初心者だけど
それを免罪符にして疑問を○投げって姿勢は良くないお

407 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 21:35:11 ]
もうSQLiteでいいんじゃね?

408 名前:400 mailto:sage [2007/03/19(月) 21:58:57 ]
>>406
その通りですね。

>>ALL
取り合えず、初心者なんだからDBは置いといて
C++の勉強から先に始めたいと思います。
ある程度、出来てからまた質問させて頂きたいと思います。

みなさまレスありがとうございまいした。


409 名前:日付の罠 mailto:sage [2007/03/20(火) 02:35:56 ]
↑にハマっています。

すみません。
単純な日付計算が出来なくて困っています。

dateTimePicker1の日付から、dateTimePicker2の日付の差である。
日付をラベルに出力する方法をお願いいたします。

自分の想像では、

日付変数の宣言
日付変数=dateTimePicker2−dateTimePicker1
ラベル.Text=型変換(日付変数)

だと想像するのですが、HELPにも乗っていません。
ご教授お願いします。


410 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:07:14 ]
日付に罠が仕掛けられていたり、使用法がHELPにのっていないような開発ツールは
使わないほうが良いと思いますよ。

411 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:13:26 ]
dateTimePicker って VB?

412 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:15:14 ]
dotnet

413 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:25:38 ]
>>409
それはC++/CLIかな?それともMscomct2.ocx?


414 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:38:16 ]
C++とC++/CLIの区別がつかず、知らずににC++/CLIを使ってる初心者が増えている。
これはMSの罠だな。

415 名前:409 mailto:sage [2007/03/20(火) 10:52:25 ]
>>413
レスありがとうございます。
Microsoft Visual C++ 2005 Express Editionを使用しています。
只単に、カレンダー1とカレンダー2との差を表示したいだけです。
例:”期間は、Y年M月D日です。”または、”日数のみ計算でXXX日です。”

C++/CLIが何かさえ分らない自分ですが、よろしくお願いします。

>>414
そうなんですよ。
HELPが分りにくくて・・・理解しにくいし検索もHITしないんです。
なんか、単純計算使用例みたいなのも載ってないっぽいです。
もちろん、頭が悪い自分が一番悪いだろうけどね。



416 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 11:21:12 ]
>>415
DateTimePickerで検索したら、値を取り出すサンプルが出てきたぞ。
値を取り出すとDateTime型のようだから、DateTime型のメソッドがそのまま利用できる筈なんだが。

417 名前:416 mailto:sage [2007/03/20(火) 11:23:26 ]
あ、検索したのはMSDNね。

418 名前:409 mailto:sage [2007/03/20(火) 18:49:03 ]
>>417
レスありがとうです。

でも、理解出来ませんでした。(T_T)
何がどうなっているのやら・・・。

まず、>>409の1行目の予定の
日付変数の宣言方法さえ分りません。
Int型は、市販の書籍に載ってたんですけどねぇ。
お手数ですが、簡単なソースにコメントを書いて頂ければ幸いです。

教えて頂いたサイトから、
「プログラミング チャレンジ スクエア」って言うのも
見つけたんですが、C++は無いのです。
あんな感じのサイトのVisualC++2005ExpressのHPは無いんでしょうか。

宜しくお願いします。

419 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 18:57:47 ]
そういうやつのためにC#があるんだから素直にそっち使っとけ

420 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 18:58:45 ]
最早C++/CLIはC++じゃない(と言い切ってもいい位の)存在だから、
C++をやりたいならGUIは一旦横に置くべきだし、GUIをやりたいならC#に乗り換えるべき。

421 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 21:09:00 ]
2つの日時の値を引き算すると、時間間隔を表すTimeSpan型が返る。
TimeSpan span = dateTimePicker1->Value - dateTimePicker2->Value;

でそのTimeSpanから日の部分だけを取り出し文字列に変換してラベルにセット
label1->Text = span.Days.ToString();

最初はMSDNが理解しにくいのはわかるけど、あれを読めるようにならないと進歩はないよ。

422 名前:409 mailto:sage [2007/03/21(水) 10:44:52 ]
>>421
ありがとうございます!私にも分りやすいです。
そういう答えが欲しかったんです。m(_ _)m
本当に感謝しています。私にとっては貴方は神です。

>>419,>>420さんの忠告もありがとうございます。
自分が求めているのがC++ではなくC#だと気付かされました。

何より、またこのスレで>>421神に頼るのは心苦しく思います。
C++は、置いといてC#をダウンロードして試してみます。


423 名前:デフォルトの名無しさん [2007/03/22(木) 21:29:05 ]
質問があります。
あるデータベース的な2次元vector vecがあって、
性質の違う2つのクラスA,Bからそのvecを参照したり、書き換えたり
したいのですが、そのvecはどんなクラスにしてA,Bからどんな風に
使えばよろしいのでしょうか?

考えた範囲ではvecを静的データメンバにして参照するという方法ですが、
何か「vecはA,Bに含まれるよー」という雰囲気が出せないので他に方法が
あるかのかなぁと思っています。

424 名前:423 mailto:sage [2007/03/22(木) 21:42:50 ]
追加で質問です。教えてクンですみません・・。
2次元vector(大きさは確定)をデータメンバに持つクラスにおいて、
どうすれば綺麗に初期化すればよいのか教えてください。

考えたのは、以下のとおりです。
Class hogeData{
 std::vector< std::vector<char*> > data;
 hogeData(){
  data.resize(I);
  for(int i=0; i<I ; i++){
   data[i].resize(J);
  }
  // ...dataに代入など
 }
}

気分的には std::vector< std::vector<char*> > data(I,J);
というように一発で初期化したいのですが、クラスのメンバだと
そうもいかず・・。

425 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:47:26 ]
boost::numeric::ublas::matrixとか使った方が良くね?



426 名前:423 mailto:sage [2007/03/22(木) 22:14:19 ]
>>425 返信ありがとうございます!そんなのもあるんですね。
ぜひ勉強してみます。今ちょっと調べてみたのですが、
vecに対してよく使うことになると思われるsortに関しては、
どうもSTLのvectorの方が速そうです....

ttp://archives.free.net.ph/message/20070223.210148.7ae631a4.en.html

427 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:31:53 ]
Linux環境でgetopt()を使うためにunistd.hをincludeしているソースを、
VisualC++でコンパイルしたところ、unistd.hが見つからないと言われました。
代替になるインクルードファイルはありますでしょうか?
よろしくお願いします。

428 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:40:00 ]
ない

429 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 00:38:21 ]
無いんですか・・ありがとうございます

430 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 04:52:12 ]
ほんとかよ、と思ってしまう回答だがはて…

431 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 06:59:30 ]
getopt()があればどれだけ楽か……

432 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:42:42 ]
CUI環境の話だったらC++スレとかでやってほしい。
激しくどうでもいい

433 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:51:10 ]
GUI環境しか使えない香具師は只単に読み飛ばすということさえ出来ないらしい。困ったもんだ。

434 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:54:59 ]
腐るぐらいスレがあるのにわざわざここで質問するやつの気が知れない。

435 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:57:28 ]
VCだからだろ。



436 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:02:18 ]
Linux依存→依存なしの移植だろ
VC関係ない

437 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:33:42 ]
getopt()だからLinux依存じゃないぞ。VCがPOSIX準拠してないのが問題なんだ。

438 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:35:20 ]
>unistd.hをincludeしているソースを

uniって何の略?

439 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:40:06 ]
>>438
少なくともLinuxの略ではないな。

440 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:42:19 ]
初心者だったら基本やってりゃいいんだよ
実力もないのにややこしいことやろうとすんな

1 初心者には無理だから素直にあきらめる
2 初心者卒業してからやる
3 教えてくれるまで暴れる

441 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:51:59 ]
と、実力もないのに初心者を脱出したと思い込んでいる>432=434=436=438=440が申しております。

442 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:57:07 ]
>>439
unix standardって感じか? システムコール系の関数が詰まってるね。 

443 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 13:49:52 ]
自分が答えられそうにもないCUI系の質問が来るだけで
火病起こす奴ってなんなの?

444 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 21:47:01 ]
openFileDialogのOKボタンが押されると、c_printfuncにファイル名を渡して
呼び出し、その関数の内部でファイル名を標準出力したいです。
以下のようにしているのですか何も出力されません。
どこが間違ってるのでしょうか・・?

--------------------
[openFileDialogのOKボタン押された時]
private: System::Void openFileDialog1_FileOk(System::Object^ sender,
 System::ComponentModel::CancelEventArgs^ e) {
 String^ fname;
 if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK) {
  fname = openFileDialog1->FileName;
  c_printfunc(fname);
 }
}
----------------------
[c_printfunc.cpp]
#include "stdafx.h"
#include <stdio.h>
int c_printfunc(char* fname) {
 printf("%s\n", fname);
 return 0;
}

445 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:03:30 ]
すみません今リブルドしたところ、エラーが出ていました
1>f:\documents and settings\(省略)\Form1.h(485) : error C3861: 'c_printfunc': 識別子が見つかりませんでした



446 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:17:51 ]
なんどもすみません
openFileDialogの中からどうやってc_printfuncを認識させるのでしょうか?
今日始めたばかりでわけわかめ状態です;;

447 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 23:11:19 ]
質問とは関係ないけど
そういえばアウトプットウインドウにデバッグストリング出力する機能があったな
デバッガばっかり使ってて存在自体を忘れてた

448 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 00:48:25 ]
だからCUIというかソースレベルの質問はスレ違いだって
過去スレ見ればわかるだろ
ここはVisualCの機能や使い方を答える程度のレベルのスレなの

449 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 00:56:51 ]
>>1も読めない初心者未満が何か言ってる

450 名前:446 mailto:sage [2007/03/25(日) 10:16:58 ]
関数プロトタイプを記述することで自己解決しました
お騒がせしました

451 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 14:09:16 ]
ダウンロードするのに住所や電話番号を登録するようですが、
何か連絡が来ることってあるんでしょうか?

452 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:22:46 ]
無いよ

453 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 01:52:44 ]
#include <stdio.h>
main()
{
printf("文字表示のテスト");
}

これを実行した時に、F5(デバッグあり)で実行すると
すぐにウィンドウが閉じてしまいますが
ctrl+F5(デバッグなし)で実行すると、ウィンドウが表示されたままに
なるのは何故なんでしょうか。

また、DOS窓でなく、通常のウィンドウへの描画は
どのような手順で行うのが簡潔でしょうか。

454 名前:453 mailto:sage [2007/03/30(金) 01:56:21 ]
環境はVC++8.0ですが、学習のためにCの記述をしています。

また、8.0以前のサンプルを開こうとした時に、変換を行った後
そのソリューションを実行するにはどうすればいいでしょうか。

455 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 04:26:58 ]
#include <conio.h>
を追加して

}の前にgetch();追加で
キー一回押すまで進行停止が出来るよ



456 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 06:19:55 ]
>453
裏で別のプログラムが面倒みてくれてる

457 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 07:36:32 ]
>>455

cinのがよくね?

458 名前:453 mailto:sage [2007/03/30(金) 07:55:11 ]
すみません、自分で読み直してみて、一度に質問を書き込みすぎました。
でも、皆さん親切に教えていただけるので、とても嬉しいです(;;)

459 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 09:04:24 ]
微妙に回答のポイントがずれてる希ガス

460 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:36:22 ]
じゃ、簡潔に。

>ctrl+F5(デバッグなし)で実行すると、ウィンドウが表示されたままに
>なるのは何故なんでしょうか。
仕様です。

>また、DOS窓でなく、通常のウィンドウへの描画は
>どのような手順で行うのが簡潔でしょうか。
WinAPIを使えばできますが、その為には先ず一通りCの知識が必要になります。

461 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:40:20 ]
EEなら該当スレみつけてSDKインストール

462 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:50:54 ]
>また、DOS窓でなく、通常のウィンドウへの描画は
>どのような手順で行うのが簡潔でしょうか。

まとめると
(1)MicrosoftのサイトからPlatformSDKをダウンロードしてインストール
  (これでWin32APIを使うことができる)
(2)ウィンドウ作成
  (Win32APIはmainの代わりにWinMainを使う)
(3)ウィンドウに文字を出力

463 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:07:35 ]
>通常のウィンドウへの描画は...

通常のウィンドウをどうやって作るかにもよるんだけど
1. Win32(C or C++)
  基本だけど全てを自分でやる必要がある。
2. MFCアプリ(C++)
  MFCが多くのことをやってくれるけど、構造の理解に時間がかかる。
3. CLRのWindowsフォームアプリ(C++/CLI)
  上の二つとは異質だけど初心者には楽。いわゆるドットネット。

他にも選択肢はあるけど、普通はこの3択。誘導される前のスレッドを見る限り
VC8EEなんだろうな。その場合2は選択できない。1を選ぶなら>>462で。
プロジェクトの変換については情報不足杉。

464 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:27:54 ]
>>463
MFCアプリ(C++)、CLR(C++/CLI)になってるけど、
この二つは、C言語形式で書けないの?
勉強中でよくわからない・・・

465 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:40:54 ]
MFCの場合、自分のロジックはCと互換性のある書き方もできるけど、
WindowsとのI/FはC++でないとコンパイルできない。

CLRの場合、最早Cと互換性を持たせることが無意味。
何故なら、文字列から日付け処理からメモリ管理から何もかも流儀が全て違う。



466 名前:453 mailto:sage [2007/03/30(金) 16:51:55 ]
ありがとうございます、通常のウィンドウへの描画は
WindowsのAPIを使ってみることにします。
まだ、ポインタもわかってないので(というか勉強がまだなので)
地道にCの言語仕様を学んだ後で、SDK取りに行きます。

バージョンの古いサンプルが開けない、というのは
恐らくツールの使い方がわかっていないだけだと思うので
もう少し自分で頑張ります。

467 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:25:52 ]
そのレベルなら1年は覚悟した方がいいよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<168KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef