2008年5月メタ文字のエスケープsqlインジェクション対策の一つのメタ文字のエスケープ処理。ローカルで利用するwindowsアプリケーションなので、インターネット上のwebアプリのように攻撃されることはないけれど、操作している上でメタ文字を入力してしまうということが起こりうるため一応対策。“‘”(シングルクォート)をエスケープ処理する。入力文字列中にシングルクォートが存在すれば、その前にもう一個シングルクォートを挿入するようにコーディングする。シングルクォートを見つける手段は正規表現を使うことにする。正規表現メタ文字のエスケープにコメントwindowsアプリケーションに最新バージョン確認の機能を追加する現在使用しているwindowsアプリケーションのバージョンが、公開されている最新バージョンであるかどうかを確認するための機能を追加してみる。いう実装にするのが最善かまだ見えていないけれど、単純に考えるなら最新バージョンの情報があるファイルをサイトからダウンロードして、そのファイルにあるバージョン情報を読み取り、現在のアプリケーションのバージョンと比較をするというのが簡単に実現できそうだ。この機能を実現するにはインターネットにアクセスして対象のファイルをダウンロードするという方法をとらなければならない。アプリケーションを公開する側では、公開時にリリースするソフトと一緒にそのバージョンが記されたファイル(テキストファイルなど)をするという準備が必要になる。ソフト側では最新バージョンのチェックを行ったらそのバージョンが記されたファイルをダウンロードするという手順になる。筋道としてはこんな感じだろうか。・・・ということを想定して実装してテストを繰り返せば致命的なエラーにはならない、かな。2005のwindowsアプリケーションを作成する場合に使うコントロールの一つにMonthCalendarというのがある。これをフォーム内に配置して表示確認を行ったところ、どうもxpとvistaではデザインとサイズが大幅に異なるようになっている。サイズの変更ができず、どちらかに合わせることもできない。xpとvistaの両方で同じように表示する方法は一つあって、コンパイル時の設定でxpのスタイルを無効に設定することで一応、同じように表示はすることができる。これはデザインがクラシックスタイルになってしまってせっかくのvistaの美しいインターフェースが使えなくなってしまう。フォームに埋め込み式でMonthCalendarを使う場合にはサイズの問題でxpとvistaに両対応させることは難しい。