はじめに
C#プログラミングはWindowsパソコンがあれば、視覚障害者でも今すぐに始めることができます。
なぜなら、メモ帳などで書かれたC#プログラムファイルを、実行ファイルに変換するコンパイラと呼ばれるソフトウェアが、すでにWindowsにインストールされているからですね。
Windowsのバージョンは、WindowsVista以降であれば問題ありません。
WindowsXPでもできないことはないんですが、バージョンが古いのでうまく動作しない可能性があります。
できればWindows7以降のパソコンで、C#プログラミングに挑戦していただけると問題なく楽しめると思います。
ちなみに今この説明を書くのに使っているパソコンは、Windows7です。
画面読み上げソフト(スクリーンリーダー)は、あなたがすでに使っているもので問題ないと思いますが、ここでは状況を再現しやすいように誰でも無料で使えるNVDAを使って説明していきます。
さらに、文字だけではわかりにくいという場合には動画解説もあります。
ダウンロードと準備
まずはここをクリックして、このページで使用するC#プログラム一式をダウンロードします。
ZIP形式になっているのでダウンロードしたら解凍します。
ダウンロードしたファイルや、C#プログラムファイルをわかりやすくするために、拡張子を表示する設定にしておいてください。
画面が見えている場合は問題ありませんが、画面が見えていなくてスクリーンリーダーを使っている場合には、ファイルの種類を拡張子で判断するしかありません。
なので、もし拡張子を表示しない設定になっていた場合には、拡張子を表示する設定に変更しておくことをおすすめします。
プログラムを書く
では実際にC#プログラムを書いていきましょう。
プログラムを書いていくことをコーディングと言ったりするので覚えておくとプロっぽい気分になれます(笑)。
メモ帳などのテキストエディタを開いて、下記のプログラムを記述します。
public class Step1
{
public static void Main()
{
System.Windows.Forms.MessageBox.Show("ようこそC#の世界へ!");
}
}
書いたら適当な名前を付けてテキスト形式で保存します。
先ほどダウンロードした中に、「Step1.txt」というファイルがありますが、そこにも同じ内容が書かれています。
ラクしたい場合には、そちらをお使いください。
拡張子を変える
テキストファイルのままでは、パソコンからはただの文字列扱いしかされないので、ファイルの拡張子を変えて、これがC#のプログラムファイルであるということを主張させましょう。
拡張子とは、ファイル名の末尾付近にある「.」以降の文字列のことで、パソコンがそのファイルが何であるかを識別するためのヒントに当たるものです。
例えば、テキストファイルなら「txt」、MIDIファイルなら「mid」、音楽ファイルなら「mp3」などです。
具体的に何をしていくのかというと、先ほどの「Step1.txt」を「Step1.cs」に変えます。
ファイルを選択した状態で右クリックまたは、アプリケーションキーを押して「名前の変更」を選択し「.txt」を「.cs」に変えてEnterキーを押します。
もしよくわからない場合には、バッチファイル「Rename.bat」を実行すると、「Step1.txt」を「Step1.cs」に変えることができます。
これでテキストファイルが、C#のプログラムファイル(ソースファイル)になりました。
実行ファイルを作る
それでは先ほど作ったC#のソースファイルから実行ファイルを作っていきましょう。
ソースファイルから実行ファイルにしていくことをコンパイルといい、それを行うソフトウェアのことをコンパイラといいます。
C#コンパイラの事情
あなたのWindowsパソコンには、すでにC#コンパイラが入っています。
なのでそのコンパイラに先ほど作ったソースファイルをわたしてやれば、実行ファイルにしてくれます。
でも問題は、そのコンパイラがどこにあるのかがわからないことですよね。
なので、まずはコンパイラを探しましょう。
C#コンパイラは、「csc.exe」という名前になっています。
検索すれば一発でわかるんですが、実際に検索すると複数ヒットしてしまいどれを選んだらよいのかわからなくなってしまいます。
C#コンパイラはフレームワークというパッケージに含まれるんですが、これはマイクロソフト社が1から試し試し?いや、びびりながら作っているプログラミング言語なんですね。
なので、最初のころのものより今はその仕様が一部変わったりしています。
まぁ実際、Windowsのバージョンが変わればやれることも変わってきますから仕方ないのかもしれませんが。
そんなマイクロソフト社の都合プラス、最新のWindowsでも以前のバージョンのものが動かせるようにという配慮の結果、今は1台のパソコンにたくさんのバージョンのC#コンパイラが混在するようになったと さ(笑)。
なので、たくさんあるC#コンパイラの中から、適当な「csc.exe」に決める必要があります。
最も無難なのが、最新のつまり最もバージョン番号の大きいものにしておくことです。
コンパイラを探す
では実際に「csc.exe」を探してみましょう。
「csc.exe」で検索するとちょっとたいへんなことになるので、ぼくのパソコン環境での例を示しておきます。
ぼくのパソコン環境では、「C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe」となっています。
これは「v3.5」とあるようにC#コンパイラのバージョンは、3.5です。
バージョン4とかもあるので、そちらでもいいんですが、幅広く配布することを考慮しぼくは3.5にしています。
ウィンドウズキーを押しながらEキーを押すとエクスプローラが立ち上がります。
そこから順に「ローカルディスク(C:)」、「Windows」、「Microsoft.NET」、「Framework」などと選択していきます。
すると、「v3.5」のようにVの後にバージョン番号の書かれたフォルダがいくつか現れるので、適当なものを選びその中に入ります。
念のため「csc.exe」を見つけておきましょう。
とはいってもたくさんのファイルやフォルダがあるので、スクリーンリーダーユーザーの場合は探すのが少し大変ですよね。
なので、「csc.exe」の頭文字であるCキーを何度も押していくと見つけるまでの時間を短縮できます。
コンパイラまでのパスを作る
無事に見つけることができたら、「csc.exe」までのパスを作ります。
Altキーを押しながらDキーを押すと、現在位置までのパスが選択状態になるので、続いてCtrlキーを押しながらCキーを押して、そのパスをコピーしておきます。
新たにメモ帳などのテキストエディタを立ち上げ、貼り付けます。
すると「C:\Windows\Microsoft.NET\Framework\v3.5」みたいになると思うので、末尾に「\csc.exe」を追加するとC#コンパイラまでのパスが完成します。
コンパイル命令の確認
通常であれば、先ほど作ったC#コンパイラまでのパスを環境変数のPathに登録するという面倒なことをするんですが(笑)。
Windowsのバージョンによってそのやり方が微妙に違うので、ここではどの環境にも対応できるようにバッチファイルでコンパイルさせることにします。
「Compile.bat」を選択した状態で右クリックまたは、アプリケーションキーを押して「編集」を選択します。
するとメモ帳などのテキストエディタで「Compile.bat」が開き何が書かれているのかわかるようになります。
ちなみに中身は、「C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe Step1.cs」となっています。
これはC#のソースファイルをコンパイルして実行ファイルを作る命令です。
命令の書式は、まずC#コンパイラまでのパスを指定し、半角スペースを1つ入れてから、コンパイルしたいC#ソースファイルを指定します。
もしこのC#コンパイラのパスで問題なければこのまま閉じて、変更したい場合には変更してから上書き保存して閉じます。
コンパイル
それではいよいよ実行ファイルを作ります。
「Compile.bat」を実行させると、「Step1.cs」から「Step1.exe」ができます。
実行する
では「Step1.exe」を実行させてみましょう。
すると「ようこそC#の世界へ!」と書かれたダイアログボックスが表示されます。
OKボタンを押すとダイアログが閉じます。
これでC#プログラムを書いて、コンパイルし完成したファイルを実行させるという一連の流れが完結しました。
プログラム解説
ここでは先ほど動かしたC#のソースコードについて解説します。
ダイアログボックスを表示するだけのプログラムであるということがわかっているので、説明の必要はないと思われるかもしれませんが…。
ここにはC#プログラミングを行う上で大切な要素が詰まっています。
ソースコード
まずは、改めてコードを見てください。
public class Step1
{
public static void Main()
{
System.Windows.Forms.MessageBox.Show("ようこそC#の世界へ!");
}
}
概観
1行目「public class Step1」で、クラスというプログラムのかたまりがあることを宣言し、名前は「Step1」。
2行目「{」、実際のクラスの開始位置。
3行目「public static void Main()」、Mainメソッドを宣言(これもプログラムのかたまり)。
4行目「{」、実際のMainメソッドの開始位置。
5行目「System.Windows.Forms.MessageBox.Show("ようこそC#の世界へ!");」、ダイアログの呼び出し。
6行目「}」、Mainメソッド終了。
7行目「}」クラス終了。
クラスとメソッド
クラスやメソッドというのは、プログラムをまとめて管理する塊のことです。
クラスの中にメソッドがあります。
どちらも「{」で開始、「}」で終了するので、どれが何をあらわしているのかということをしっかりつかんでおかないとプログラムがわけわからないことになるので注意です。
修飾子
「public」というのは公という意味で、右に続く宣言しているものが幅広くアクセスできることを表します。
「static」は静的という意味で、このメソッド内には動的に変化するものは扱わないという宣言です。
どちらも修飾子に当たります。
Mainメソッド
「void Main()」がMainメソッドを宣言している本体です。
メソッドとはC言語でいうところの関数のことです。
「void」は戻り値の表現で、今回はMainメソッドからは何も値を返さないことを表しています。
「()」のカッコ内には引数を入れるんですが、今回はMainメソッドに何も値を渡さないので、「()」です。
今回のメイン
このプログラムを実行すると、ダイアログが表示されるわけなんですが、それを「System.Windows.Forms.MessageBox.Show("ようこそC#の世界へ!");」で表現しています。
「System.Windows.Forms」で、外部のファイル「System.Windows.Forms.dll」を呼び出しています。
さらにその中にある「MessageBox」内の「Show」という命令を呼び出し、カッコ内の値を渡しています。
お察しの通り、これはダイアログボックスを表示する命令で、渡す値や文字を表示してくれます。
渡す値は「"」で挟むのが基本なので、「ようこそC#の世界へ!」ですね。
命令を書いた後は、「;」を書くルールになっているので、忘れないようにしましょう。
これで、プログラム解説は以上です。