それではまた、できるだけ、ソースの1行ごとに説明していきます。
- 1行目は、Coount2() という
サブルーチン の開始です。
初級1のステップ1は Count1 でした。
今回はステップ2なので、Count2 という名前にしてサブルーチンを作成しています。
- 2〜3行目は、コメントです。
コメントとは、プログラムの実行とは関係の無いメモのようなものです。
ステップ1の実行の時に、F8 キーを押していって、飛ばされてしまったどうか確認しましたか?
なんとなくでも「飛ばされてしまった」と感じたでしょうか?
今回も F5 キーでけでなく、F8 キーも押して、たくさん経験して慣れましょう。
そして今のうちから、コメントを書く習慣を身に付けておきましょう。
きっといつの日か、役に立ちますよ。 (^^)
- 4行目は、変数の宣言です。
Dim は「
変数
の宣言をやるよ」という意味でしたね。これは、大切なので覚えてくださいね。
Dim の次が変数名で、4行目は、gyo という名前を付けています。
変数名の次は As でした。そして As の次が変数の型です。
4行目は、String(文字列型)にしています。
Dim 変数名 As データ型
という構文でしたね。
この変数 gyo は、テキストファイル mojisu.txt の1行目の内容を入れるために用意しました。
(変数とは、なにか値を入れるものでしたね。)
- 5行目も、変数の宣言です。
5行目の変数は、moji_su という名前で、Long(長整数型)で宣言しています。
この変数 moji_su は、入力された文字列の文字数を入れるために用意しました。
これは、ステップ1と同じですね。
- 6行目は、仕様の 1.の部分にあたります。
マイ ドキュメントのフォルダにあるテキストファイル mojisu.txt をオープンします。
Open というステートメント(命令)は、何かのファイルを開くことを、
コンピューターに要求します。次の "C:\My Documents\mojisu.txt" が開くべきファイル名です。
ここでは「C ドライブにあるマイ ドキュメントのフォルダにある mojisu.txt」を指定しています。
もしあなたのコンピューターの「マイ ドキュメント」が C ドライブになかったら、
C を正しいドライブにしないと、このままではエラーになります。
旧タイプの PC-98 をお持ちのかたは、C でなく A にしてください。
PC-98NX 以降は C のままで構いません。
ファイル名の次の For は「予約語」なので、このまま書いてください。
次の Input は、「入力用にファイルを開く」ことを意味します。
当然「出力用にファイルを開く」場合は、Output を代わりに書きます。
「入力用にファイルを開く」というのは、指定した名前のファイルをコンピューターが読み込みに使いますよ、
という意味です。決してファイルを書き換えたりはしません。
ファイルを読み込むことは入力で、ファイルを書き込むことは出力だから、
「入力用」に開いたファイルはいわゆる「リード・オンリー」になるわけですね。
次の As は「予約語」ですから、このまま書いてください。
最後の #1 は、今のところは、このまま覚えてください。
' アポストロフィー(または シングル・クォーテーション)は、コメントでしたね。
こんな風に行の先頭でなくても使えます。
' のうしろに命令を書いても実行時に無視されますので、気を付けてください。
- 7行目は、ファイルから入力(読み込み)された文字列を gyo という変数に入れます。
仕様の 2.の前半分 「mojisu.txt の1行目を読み込んで、」にあたります。
Line Input は、開いてあるファイルから1行読み込めというステートメント(命令)です。
Line Input #1, 変数名
という構文です。
今のところは #1 で覚えましょう。次の , カンマもお忘れなく。
さて、コンピューターに入力した(読み込んだ)データは、とにかくどっかに置いとかないといけません。
「どっかに置いとく」というのは、プログラム上では、何かの変数に入れることです。
ここでは , カンマの後に、その変数名を書きます。
7行目では、gyo という名前の変数に入力した(読み込んだ)データを入れるように指示しています。
このようにステートメントやキーワード等の予約語と変数との組み合わせや、
それらの順序には必ず約束があり、その約束は人間の言語のように「文法」と呼ばれています。
そして、コンピューターは融通が利かないので、たとえ1文字でも、1箇所でも間違えると
「コンパイルエラー」を起こしてしまいます。気をつけましょうね。
と言っても、人間は間違いを犯すもの。
余り神経質にならずに、実行テストを丁寧にやったほうが効果的かも知れませんね。
- 8行目は、入力された文字列の文字数を計算するところです。
ファイルから入力(読み込み)された文字列は、7行目で gyo という変数に入れました。
だから gyo の長さを出せば、それがつまり入力された文字列の文字数になります。
文字列の長さは Len() という
関数
を使います。Len はステップ1でも使いました。これからも何度も出てきます。
仲良しになっておきましょうね。(^^)
変数名 = Len(文字列)
が構文です。
Len() の括弧 () の中に、長さを出したい文字列を入れます。→ Len(gyo)
その結果(長さ)を、moji_su という変数に入れます。→ moji_su = Len(gyo)
=
は ← の意味でしたね。つまり、= の右の値を、= の左に代入するのです。
慣れてきましたか? (^^)
8行目は、ステップ1とほとんど同じですね。
- 9行目と10行目は、仕様の 2.の後「その内容と文字数をメッセージボックスで表示します。」にあたります。
- 9行目は、「先頭行は」という文字と、入力した文字列とカギ括弧を表示します。
「先頭行は」という文字と、入力した文字列(gyo) とカギ括弧を、
& でつないでいます。
- 10目は、「文字数は」という文字と、文字数とを表示します。
「文字数は」という文字と、文字数とを
& でつないでいます。
- 11行目は、使用したファイルを閉じます。
仕様の 3.の部分にあたります。開いたものは、必ず閉じてくださいね。
ファイルは使用前には必ず開いて、使用後は必ず閉じないと、エラーになります。
これは、「コンパイルエラー」でなく、「実行時エラー」になります。
- 12行目は、サブルーチンの終了を表します。
プログラムは、ここまで。
|