フォームアプリケーション

[戻る]
ZES 2008/12/08(月) 11:59:06
C言語はある程度わかるようになった程度なのですが、初めて、VC++でアプリを
作成しようとおもうのですが、ボタンなどをForm1に作成しても、
MessageBoxを作成する程度のことしかできません。
そこで、教えてください!・・・と、言いたいのですが、
何がわからないのかすら説明できません。なので、
勉強方法などを教えていただけると、助かります。
宜しくお願いします。

rin 2008/12/08(月) 12:17:58
参考書を買って、その本にしたがって勉強する

ZES 2008/12/08(月) 13:06:17
失礼しました。
参考書は購入したのですが、(これからはじめるVisualC++2008)私のやりたいことがほと
んどかかれていなかったので、どのような参考書が良いか。などを教えていただけます
か?

aetos 2008/12/08(月) 13:17:58
何をやりたいのか書いてもらわなければ、また的外れな本を紹介してしまうかもしれませ
んよ。

まに 2008/12/08(月) 13:21:19
rinさんが仰ってらっしゃるように、
まずは参考書(入門書)を基に、そこに書かれていることを
できるようにするのが、まず第一歩だと思います。

参考書は、私の場合、林晴比古氏の本を愛読しております。
「VC++2008ビギナー編」はまだ出てないようですが、
「VC++2005ビギナー編」でも、それほどの違いはないはずです。

勉強にも、「段階」と言うものがあります。
ある程度のプログラムが組めるようになってから、
ご自分が作成したいアプリをお作りになられてはいかがでしょうか?

ITO 2008/12/08(月) 13:41:56
 目次をチラッと拝見したけど、C++の基礎やFrameWorkまで書かれていているように
見えますね。
 これをマスターすれば、あと足りない分はMSDNヘルプ、できればお金が高いが
マイクロソフトエクスプレス刊のシリーズを購入して勉強すればいいと思います。

ZES 2008/12/08(月) 14:49:03
>勉強にも、「段階」と言うものがあります。
>ある程度のプログラムが組めるようになってから、
>ご自分が作成したいアプリをお作りになられてはいかがでしょうか?

うーん。。。
一応C++は全くわからないんですが、Cならば、
ある程度のプログラムは書けるようになったつもりです。

>ITOさん

ありがとうございます!
参考にします!

επιστημη [E-Mail] [HomePage] 2008/12/08(月) 15:23:29
> 一応C++は全くわからないんですが

ならばタイトルに"Visual"の付かない、
純粋にC++の教本をひとあたりこなさにゃいかんのじゃないかと。

Formアプリ書くなら C++/CLI についても。

まに 2008/12/08(月) 16:16:49
> Cならば、ある程度のプログラムは書けるようになったつもりです。

「if文や for文、printf文、変数の使い方などは理解してるけど、
それを実際にどう活用したらよいかが分からない」
という感じでしょうか?

C++の勉強は、後回しでいいと思いますよ。自分も後から勉強しましたから。
まずは、VC++の入門書を参考に、まず「動くもの」を作るのが先決だと思います。
それができてから、少しずついろんなことをできるようにしていってはいかがでしょう?

ZES 2008/12/08(月) 16:45:43
>それを実際にどう活用したらよいかが分からない」
>という感じでしょうか?

はい、そうです!

επιστημηさんの意見と、まにさんの意見が食い違っていますが・・・
確かにどちらにしてもC++は、やらなければ
いけなくなりそうなので、思い切って、C++の勉強を始めようと思います!
お二方、並びに他の方々、ありがとうございました!!

まに 2008/12/08(月) 17:17:21
> 思い切って、C++の勉強を始めようと思います!

勉強には、「段階」があると同時に、「順番」もあります。
たぶん、今の段階でC++を勉強しても、そこで学んだ知識を
実際に活用できなければ、効果は薄いと思います。

だから、ちゃんと「Visual」の付く入門書を、私は勧めます。

とりあえず、メッセージボックスは、表示できるようになったんですよね?
だったら、次は画像を表示させてみるとか、
エディットボックスに入力した数値を取得して加算して出力させるとか、
ファイルから文字列を読みこんで表示させるとか…
一歩一歩、「できること」を増やしていくのが、
着実な勉強法だと私は思います。

aetos 2008/12/08(月) 19:53:11
> ならばタイトルに"Visual"の付かない、
> 純粋にC++の教本をひとあたりこなさにゃいかんのじゃないかと。

> だから、ちゃんと「Visual」の付く入門書を、私は勧めます。

真っ向対立しましたなw

C++ で何をやりたいのかを先に明らかにした方がいいです。
C++ という言語自体を勉強したいのか、MFC で Windows アプリを作ってみたいの
か、.NET Framework を使ったアプリを作ってみたいのか、etc。

C++ という言語自体を勉強したいのなら、タイトルに「Visual」がつかない本を選んでく
ださい。
MFC アプリを作りたいのなら、タイトルに「Visual」がつく、かつ、タイトルに「MFC」
がつくか、パラパラっとめくってみて「MFC」という言葉が目に付くような本を選んでく
ださい。
.NET Framework で Windows アプリを作ってみたいのなら、タイトルに「Visual」と
「2008」がつく、かつ、パラパラっとめくってみて「MFC」という言葉が目に付かないよ
うな本を選ぶとよいでしょう。

しかし、C++ 自体を知らないのに MFC に手を出そうとすると後で苦労しますから、MFC 
に手を出す前には C++ 言語自体をある程度習得しておくことをお勧めします(クラスと
インスタンス、ポインタ、参照、継承あたり)。

また、.NET Framework アプリを作るために使う C++/CLI という言語は、C++ と字面は似
ていますが全く別の言語だと思った方がいいでしょう。
が、この場合でも C++ 言語で培った知識は無駄になりません。
逆に、C++/CLI だけかじって Windows Form アプリが作れるようになっただけでは、CLI 
でない C++ や MFC に手を出すのは危険と言えます。

さらにさらに。
C++/CLI ってのは、.NET Framework で Windows アプリを作るうえでは決してメジャーな
言語ではありません。
「.NET Framework で Windows アプリ」をメインにしたいのなら、C# や VB.NET を使う
ことを検討した方がよいでしょう。
その上で、どうしても C++ でなければならんとなった場合のみ、C++/CLI を使うことを
お勧めします。

金魚ちゃん 2008/12/08(月) 20:16:05
>一歩一歩、「できること」を増やしていくのが、
>着実な勉強法だと私は思います。
それならC言語、またはC++の言語の知識が先だと思う。

>しかし、C++ 自体を知らないのに MFC に手を出そうとすると後で苦労しますから、
MFC 
>に手を出す前には C++ 言語自体をある程度習得しておくことをお勧めします(クラス>インスタンス、ポインタ、参照、継承あたり)。
僕も賛成。

有名なサイトを紹介。
http://www.kumei.ne.jp/c_lang/
http://wisdom.sakura.ne.jp/system/winapi/
http://www.geocities.jp/ky_webid/win32c/index.html
知っていたらごめんね。

書籍も紹介。
http://www.amazon.co.jp/dp/4797348372/
http://www.amazon.co.jp/dp/4797347597/
持っていたらごめんね。

2008/12/09(火) 09:27:08
自分の初めてC++の本は「詳説C++ 第2版」です。
参考になれば…。
http://www.amazon.co.jp/%E8%A9%B3%E8%AA%ACC-%E7%AC%AC2%E7%89%88-MAGAZINE-%E5%A4%A7%E5%9F%8E-%E6%AD%A3%E5%85%B8/dp/479732743X

επιστημη [E-Mail] [HomePage] 2008/12/09(火) 10:41:02
で、話を戻すんだけども:

> 私のやりたいことがほとんどかかれていなかったので、
> どのような参考書が良いか。などを教えていただけますか?

あなたの知りたい/やりたいことについて一言も触れずに
あなたの望む参考書を薦められるはずもなし。

ZES 2008/12/09(火) 13:01:13
>真っ向対立しましたなw
はい(^^;おそらく私の質問の仕方が悪いからなのでしょうが。。

>.NET Framework を使ったアプリを作ってみたいのか
↑これにあてはまります!


>C++/CLI ってのは、.NET Framework で Windows アプリを作るうえでは決してメジャー
>な言語ではありません

そうなんですね。。今回は与えられた課題なので、とりあえず頑張ります。
皆さんありがとうございました!

たいちう 2008/12/09(火) 13:31:35
> 皆さんありがとうございました!

解決したのかな?それならば解決のチェックを。


ついでに、Visualの付かない本に一票。
C++もMFCも十分難しいものです。
同時に手を出すよりも、C++の基本程度は押さえてからでないと、
MFCで何をやっているのか理解できませんよ。

本でなくても良ければ、ここがお勧め。
「ロベールのC++教室」
http://www7b.biglobe.ne.jp/robe/cpphtml/
(書籍化もされています)


さらについでですが、私が参考書を探すときに気をつける点を。

本の最初の方が理解できるか?
理解できないならば、その本に手を出すのはまだ早いということ。
今買う必要はありません。
もっと実力を付けてから改めて評価しましょう。

本に、やりたいことが載っているか。どの位載っているか。
いくら本全部が理解できたとしても、やりたいことに結びつかないなら
意味はありません。載っている場合も、少し紹介している程度の場合も、
大半がそのテーマである場合もあります。もちろん、後者のほうがニーズに
合うわけです。

大きな本屋でC++やVC++の本をできるだけ多く立ち読みして選んでください。
自分がやりたいことがそのまま載っている本が無い場合も多いので、
本に書かれていることをどれだけ応用できるかが大事です。

最後に、本の値段はあまり気にしないほうが良いと思います。
時給1000円とすると5000円の本は5時間分の労働ですが、
この本を十分理解するための時間は5時間よりはるかに多い場合が普通です。
人それぞれの事情もありますが、高くても良書を選びましょうということです。

ZES 2008/12/11(木) 13:42:25
[[解決]]
遅くなりましたが解決です。
>ついでに、Visualの付かない本に一票。

本当は、私もC++から始めたいのですが・・・
練習用の課題として、1週間という期限をつけられてしまいまして。。。
Cができれば、できるから!!
と言われたので、やっているのですが・・・
参考書を見ても、参考HPをみても記述はC++なのでなんともつらい状況です。
今は本を見ながらなんとかごまかして製作しています。

#上司には聞けない(いない)状況で、行っています。

>最後に、本の値段はあまり気にしないほうが良いと思います。
>時給1000円とすると5000円の本は5時間分の労働ですが、
>この本を十分理解するための時間は5時間よりはるかに多い場合が普通です。

参考書などの金額は一切気にしないようにしてます。
もし、書いてあることが全て覚えることができれば、そんな値段なんて本当に
やすいものですから。もちろん、覚えられればですが。
最後にもう一度、たいちうさん、その前にアドバイスをしていただいた皆さん、
ありがとうございました。

επιστημη [E-Mail] [HomePage] 2008/12/11(木) 14:10:28
> Cができれば、できるから!!
> と言われたので、やっているのですが・・・

うそっぱち。

Cができる程度の能力でできるのは
Cでも書ける程度のものに限ります。

「三日でマスターC言語」なんて本に
書いてある内容は三日でできる程度の事
なのと同様。

ZES 2008/12/11(木) 14:27:56
επιστημη さん

ですよね!!
自分の物覚え&要領が悪いのかと、少し落胆してました。

#前回のレスは、見落としていました。すいません。

まに 2008/12/11(木) 21:04:15
なかなか苦しんでらっしゃるみたいですねw

上司の、「Cができれば、できるから!!」という言葉に、
どれほどの根拠があるのかが、心配です。
もしかすると上司もケツに火が付いていて、
「なんでもいいからとにかくプログラムができる人が欲しい!!」
という心境なのかもしれません。

本来ならちゃんとした手順に従って勉強した方がいいんでしょうけど、
期限付きで課題が与えられると、そうもいきませんよね。
自分も、上司から自分の能力を超える仕事を与えられて、苦しんだことがあります。
VBが、キライになりかけました………

> 最後に、本の値段はあまり気にしないほうが良いと思います。
> 時給1000円とすると5000円の本は5時間分の労働ですが、
> この本を十分理解するための時間は5時間よりはるかに多い場合が普通です。

たいちうさんのこの意見には、激しく同意。
自分への投資だと思えば、参考書の値段なんて安いものですよね!
もっとも、値段の高い本が良書とは限りませんが………

rin 2008/12/12(金) 08:47:36
>練習用の課題として、1週間という期限をつけられてしまいまして。。。
これの内容がはっきりしないので
上司の発言が無茶かどうかは、まったく想像つかないな

アンテッコ 2008/12/12(金) 09:25:50
最低でも
デフォルト・コンストラクタ
コピーコンストラクタ
コピー代入演算子
デストラクタ
ぐらいまでは勉強しておかないと
VisualC++なんてやれないんじゃないかな。

2008/12/12(金) 09:33:28
>もちろん、覚えられればですが。
疑問に感じた事が「あの本のあの辺りに書かれていた様な…」で良いのでは?
引き出しの場所を増やすのが目的で、覚えるのが目的ではない筈。
だって、誰もが最初は初心者なんだから。

επιστημη [E-Mail] [HomePage] 2008/12/12(金) 11:54:14
> 最低でも
> デフォルト・コンストラクタ
> コピーコンストラクタ
> コピー代入演算子
> デストラクタ
> ぐらいまでは勉強しておかないと

全然足りないし、そんなのは本質とは何の関わりもない ^^;

てか、言語うんぬんと共に「オブジェクト指向」を掴んでないと
Cに毛の生えた程度の使い方しかできない。
生半可なC++はタチが悪いよー♪

ZES 2008/12/12(金) 13:10:12
rinさん

>これの内容がはっきりしないので
>上司の発言が無茶かどうかは、まったく想像つかないな

これは、今までCで練習用に作った物をアプリ化すれば良い。
と言われてるので、四則演算に、ちょっと他にも機能を加えた物を作っています。


悠さん

>疑問に感じた事が「あの本のあの辺りに書かれていた様な…」で良いのでは?
>引き出しの場所を増やすのが目的で、覚えるのが目的ではない筈。

確かにその通りですね。
まぁ、理想の話ですので、、、理想としてなら、覚えられるものは覚えたいじゃないで
すか。(^^;)

επιστημηさん

>てか、言語うんぬんと共に「オブジェクト指向」を掴んでないと・・・

やはり、その通りですよね。
επιστημηさんは他掲示板でも良くお見かけしますが、言い方はキツい
(気分を害されたらすみません)ですが、正しい事を言っていますよね。


とりあえず、サンプルとして友人が作成したものを参考にして作成しています。
なんとか、期限には間に合いそうです。
これからも、お世話になると思いますので、宜しくお願いします。

#次回質問する時には、まともな質問をできるようになっておきたいと思います。

ZES 2008/12/12(金) 13:50:18
舌の根どころか、舌の先が乾かないうち質問で申し訳ないのですが、

http://blog.livedoor.jp/yama_90/archives/50965484.html

このHPにかかれている通りに、
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if( !Char.IsDigit( e.KeyChar ) )
    {
        e.Handled = true;
    }
}
このような記述をしても、以下のエラーが出てしまいます。



:\documents and settings\・・・・\my documents\visual studio 2008\projects\・・
\Form1.h(495) : warning C4832: トークン '.' (UDT 'System::Char' の後) は正しく
ありません。
        c:\windows\microsoft.net\framework\v2.0.50727
\mscorlib.dll : 'System::Char' の宣言を確認してください。
c:\documents and settings\・・・・\my documents\visual studio 2008
\projects\・・\Form1.h(495) : error C2275: 'System::Char' : この型は演算子とし
て使用できません
        c:\windows\microsoft.net\framework\v2.0.50727
\mscorlib.dll : 'System::Char' の宣言を確認してください。
c:\documents and settings\・・・・\my documents\visual studio 2008
\projects\・・\Form1.h(495) : error C2228: '.KeyChar' の左側はクラス、構造体、
共用体でなければなりません
        型は 'System::Windows::Forms::KeyPressEventArgs ^' です。
        代わりに '->' を使用しますか?
c:\documents and settings\・・・・\my documents\visual studio 2008
\projects\・・\Form1.h(497) : error C2228: '.Handled' の左側はクラス、構造体、
共用体でなければなりません
        型は 'System::Windows::Forms::KeyPressEventArgs ^' です。
        代わりに '->' を使用しますか?

と、出てしまいます。
どのようにしたら良いのでしょうか?

ZES 2008/12/12(金) 13:51:33
失礼しました・・・
参考にしてたのがC#でした。

επιστημη [E-Mail] [HomePage] 2008/12/12(金) 17:07:06
キツいかなぁ...そっかー...

ITO 2008/12/12(金) 19:26:36
>キツいかなぁ...そっかー...
いいやー、そんなことないと思うけど(^^;
ZESさんも気にしないでといってるしそのままでいいと思います。

まに 2008/12/12(金) 20:22:09
επιστημηさんと意見が食い違った俺は、間違ったことを言ってるってことです
か。そうですか…

επιστημη [E-Mail] [HomePage] 2008/12/12(金) 21:38:27
どっちも正しいんじゃねぇですか。

モチベーションの維持には
「できることをふくらます」
のが効果的でしょうし。

ITO 2008/12/13(土) 21:23:41
 うーーん、まにさんの意見も正しいでね。
ただ、今回はC++の知識が不足していることをZESさんも認めていますし、
C++の学習もしたほうがいいと思います。
 まだ、知識としてなにが不足しているのか分からないのであれば、まにさん
の意見で「とにかくやってみよう」でいいと思います。
それに、VC2005以降だとC++/CLIを使うことになると思いますので、C++の知識は
よけい必要になると思います。

ZES 2008/12/15(月) 14:10:07
>επιστημηさんと意見が食い違った俺は、間違ったことを言ってるってことです
か。そうですか…
>まにさん

失礼しました。確かに、そのように取れてしまう文脈ですね。私が言いたかったのは
>あなたの知りたい/やりたいことについて一言も触れずに
>あなたの望む参考書を薦められるはずもなし。
これに対しての、レスのつもりでした。(今まで、色々な掲示板でεπιστημηのレ
スを見てて思っていたことを伝えたかったのが大きいです。)
私にとっては、まにさんに言っていただいた、このまま進めてしまって大丈夫!という
ような、意見のほうがありがたい、、というか安心します!!
>ITOさん
まとめていただいてありがとうございます!!

ZES 2008/12/15(月) 14:22:56
追記

>επιστημηさん

わかっていてだけてるとは思いますが念のため。。。
私は、επιστημηさんの知識などに、敬意を払ってます。
今回このような事を言ったのは否定するためではなく、むしろ肯定したかったからで
す。
決して、煽りや注意(私のようなものがそのような事ができわけもなく)では無いとい
うことを、ご理解ください。

#余計な事で、まにさん、並びにεπιστημηさんの気分を悪くさせてしまい申し
訳ないです。

まに 2008/12/15(月) 20:55:41
いえいえ、怒ってるわけではないんですけどね。(^^;
επιστημηさんの意見の方が多数派のように思えたので、
ちょっとスネてみただけです。

こちらの方こそ、12/11の発言は、受け止め方によっては
ひとごとみたいに捉えられるかも…と心配してました。
(もし気分を害されてましたらスミマセン…)

自分も、デカい口叩いてしまいましたが、それほどのレベルではないんです。
他のスレで知識のなさを思い知って、勉強不足を痛感させられてる今日この頃です。

古いスレッドには追加発言できません。