【C#】フォルダー内のファイル・フォルダーの一覧化プログラム作成 その1
北本です。今回はRaspberry Piから離れて、C#の話題です。
もし、私がプログラミング学習しようとしている初心者にどの言語をやったらよいかと聞かれたら、今ならこう答えるかもしれません。C言語を一通りやってからC#をやるのがよいと。触った言語の数も多くありませんし、偉そうなことを言える立場ではありませんが。
最初にC言語を学ぶことについては置いておいて、その次の言語としてC#を挙げているのは、.NET Frameworkを使って実用的なものを短時間で作りやすいからです。簡単なアプリケーションであれば数日、慣れれば数時間で完成させられます。いわばDIYみたいな感覚です。なので、挫折しにくく、モチベーションを維持しやすいと思います。C言語勉強中に、参考書を見て作れるのはコマンドラインで動くプログラムばかりで、普段使っているソフトみたいなものは何時作れるのだろうと不安に思った初学者も安心です。
C#以外であれば、私が現在取り組んでいるようにRaspberry Piで何か電子工作してみるのもよいと思います(言語問わず)。実用性を求めたモノを作るのは難しいかもしれないですが、PC画面内でなく実際にモノが動くというのは楽しいものです。
この辺り、どちらを選ぶかは、その人の趣味かもしれません。
前置きが少し長くなりましたが、ここで本題に入ります。今回作成したプログラムもC#を使用してDIY感覚での手掛けたものです。Windowsを使用していて痒いと思う所に手を伸ばすために作りました。
プログラムの目的は、フォルダー内のファイルとフォルダーを名前で昇順にして表示することです。これを聞いて、「エクスプローラーで昇順に表示したらええやん」と思った方もいるでしょう。それでは駄目なのです。
私は、以下のように表示してほしいのです。
123abc.txt
124abc
125abc.txt
126abc
つまり、ファイルとフォルダーを別々にソートしてほしくないわけです。
ただ、私がやりたいのは、このようにソートされた一覧を見るということであり、ソートされた所からファイルを開いたりといった操作ができることまでは求めていません。取り敢えず、ソートされたファイル一覧の文字列が取得できればよいので、それを目標としてアプリケーションを作ってみることとします。
仕様は以下のようなものとします。
「フォルダーを開く」ボタンを押下すると、ディレクトリの指定を行うダイアログが表示され、指定を行うと、ボタンの右のスペースにそのディレクトリのパスが表示される。下部のテキストボックスには、そのディレクトリ内のファイルとフォルダーが混在して名前昇順でソートされた一覧の文字列が表示される。サブディレクトリ内のファイルやフォルダーは一覧化の対象としないものとする。また、ダイアログを開かず、フォルダーをドラッグ&ドロップすることによってディレクトリの指定を行うことも可能とする。
では、具体的な実装については次回以降に書いていくこととします。