ファイル暗号化DLL「ラインドール(rijn.dll)」 最新版クイックダウンロード 説明 ラインドールとは? ラインドール(Rijn.dll)とは、Rijndael(ラインダール)共通鍵暗号技術によるファイル暗号化/復号プログラムをDLL(ダイナミック・リンキング・ライブラリ)化したものです。これを用いれば、誰でも簡単に、解読が著しく困難な強度を備えるファイル暗号化技術を、自らのプログラムに組み込むことが出来ます。 Rijndaelとは? 1997年、NIST(米国商務省標準化局)は、これまで利用されてきたものの、強度面での問題が生じてきた、DES暗号に代わる新たな暗号方式(AES)の採用を公募によって行いました。TwoFishを含めた多くの応募の中、ベルギー人の暗号技術者、ヨアン・ダーメンとビンセント・ライメンによって開発された、Rijndael(ラインダール)アルゴリズムは、その洗練
実際にはもっと細かい情報まで必要とする状況もあるでしょうが、今回はあくまでデモケースなので、このていどにしておきます。 どのみち、情報の取得は単調な繰り返しで、対象要素が変わってもやり方はそれほど変わりません。 本トピックを読み終えるころには、どんな要素でも自在に取り出せるようになっていることでしょう。 正規表現 正規表現とは、一定の規則に従ったパターン文字列を認識するための技術です。 パターンの定義にはメタ文字と呼ばれる特殊な意味を持つ文字を使用します。 概念的には VBA の Like 演算子を思い浮かべると理解しやすいでしょう。 Like 演算子にもいくつかメタ文字が存在します。たとえばメタ文字 "*" は、0 個以上の任意の文字を意味します。 正規表現のメタ文字は、Like 演算子のそれとは少し意味が異なりますが、大雑把に言えば Like 演算子を強力に拡張したものが正規表現(ある
概要 前回までのあらすじ JRA のサイトから出馬表をスクレイピングする、という目標を掲げたものの、肝心の出馬表ページを GET しようとするとパラメータエラーになってしまうことが判明。 URL を確認したところ、別々のページに見えたものがまったく同一の URL になっていましたとさ。 「出馬表 開催選択」画面 「出馬表 レース選択」画面 「出走馬一覧」画面 さて、こういう場合はどうしましょう? 基本 ここで HTTP プロトコルについて、基本をおさらいしておきます。 HTTP プロトコルはいくつかのメソッドをサポートしています。 そのうち最もポピュラーなのは GET と POST でしょう。 GET はサーバにレスポンスを要求するメソッドです。静的な Web ページの取得で用いられるのはもちろんですが、CGI による動的なページをリクエストする場合は、一般的に URI に QuerySt
概要 Web から情報を取得したいというニーズは、いまや当たり前のものになりました。 対象サイトが Web API を提供している場合、話は簡単です。しかし Web API を提供しているサイトばかりではありません。というより、数で言うなら Web API を提供していないサイトの方が圧倒的多数です。そんなサイトの中にほしい情報があった場合は、否応なく Web ページを直接取得して情報を解析・抽出する必要があります。 原始的と言うか地道と言うか、とにかくこのベタなやり方を称して「Web スクレイピング」(文脈によっては単に「スクレイピング」)と呼びます(海外では Web harvesting と呼ぶ場合も多いですが、なぜか日本ではこっちはほとんど用いられないようです)。 Access VBA で Web スクレイピングを行う方法については、本サイトにすでに関連トピックが二つ存在します。 W
DataTable クラスは Select メソッドを使うことで条件に一致する行だけを取得することができます。 DataSet dataset = new DataSet(); DataTable table = dataset.Tables.Add("TEST_TABLE"); table.Columns.Add("COL1"); table.Columns.Add("COL2"); table.Rows.Add(new object[] { "00001", 1 }); // 行A table.Rows.Add(new object[] { "00002", 2 }); // 行B DataRow[] rows = table.Select("COL1 = '00001'"); // 行Aだけ取得できる が、Prepared Statement とかそんな気の利いたものは無いみたいなの
非常に興味深い内容が掲示板に投稿されていたのでメモメモ。 特定の条件下において、DataTable.Selectがちゃんと動作していないという件です。 DataTable.Select の結果がおかしい http://social.msdn.microsoft.com/Forums/ja-JP/csharpgeneralja/thread/5408d830-94b8-4435-b91a-1403e51638e2/ VB2005 .NET2.0 DataTable.Select()メソッドに関して http://social.msdn.microsoft.com/Forums/ja-JP/netfxgeneralja/thread/6f99460f-ffae-40ce-b96b-ab1670ee977f Bug in DataTable internal Index management w
本稿は2004/01/30に初版公開、2008/07/10に改訂された記事を再改訂し、C# 6.0/Visual Basic 14(以下、VB 14)の補完文字列についての記述を追加したものです。また、本稿のコードは全てC# 6.0/VB 14で動作を確認しました。 数値をファイルや帳票に出力する際には、文字列の幅を固定し右詰めにしたり、0埋めで出力したりしたい場合がある。このような用途には、Stringクラス(System名前空間)のFormatメソッドを使うのが簡単だ。 Formatメソッドでは、書式を指定する「書式指定文字列」と、それに対応するオブジェクトを引数で指定する。本稿では、よく用いられるであろう整数値の文字列化に絞って解説する。 また、C# 6.0/VB 14では、「補間文字列」(interpolated string)という機能を使うことで、StringクラスのForma
Windows Forms のコンボボックスは複数列に対応しておりません。Access(アクセス)の様な複数列コンボボックスの動きをさせるには DrawItem イベント内で自前の描画(オーナードロー)を行います。 以下は、簡単なサンプルになります。 まず、標準的なコンボボックスを作成していきます。 データ表示用のデータテーブルを用意します。各列の DataType は初期値の System.String のままで製品ID(ProductID)と製品名(ProductName)の2列を作成します。製品IDは6桁固定で null は無しとします。 サンプルなのでフォームロードイベントでデータテーブルにテストデータを追加します。実際のシステムでは適切なタイミングで処理してください。 C# private void Form1_Load(object sender, EventArgs e) {
SpreadsheetML をいじっている際に Excel の列インデックスをアルファベットの文字列に変換したい部分がありました。 アルファベットの文字列に変換というのは 1 なら “A”、26 なら “Z”、27 なら “AA” になる例の変換です。 まず単純に26進数であると見なして A から Z の文字列をそれぞれ割り当てると、”Z” の次が “BA” になってしまいます。 この件について検索してみたところ Microsoft が提供している情報がありました。 How To Convert Indices (row,col) into Excel-Style A1:C1 Strings でも結局次のようなコードを書きました。26 で割った余りが 0 になる場合に特別な処理をしています。 また引数の index は 1 以上の整数であることが条件です。 // C# public
なお、本稿で作成しているサンプル・アプリケーションのVisual Studio 2008用プロジェクトは以下のリンクよりダウンロードできる。 サンプル・アプリケーションのC#プロジェクト(GetYomiCs.zip) サンプル・アプリケーションのVBプロジェクト(GetYomiVb.zip) 以降では、上記プロジェクトに含まれるソース・ファイルより主要な部分を抜き出して解説する。 Win32 APIの準備 まずは、IME関係のWin32 APIをC#/VBから呼び出せるよう準備しておく。 private const int WM_CHAR = 0x102; private const int WM_IME_COMPOSITION = 0x10F; private const int GCS_RESULTREADSTR = 0x0200; // コンテキスト・ハンドルの取得 [DllImpo
Visual C#にて、Excelファイルを読み込む処理を書いてみました。 ここでは、遅延バインディング方式と呼ばれる方法を使っています。これにより、実行時に、アプリケーションと、ExcelのDLL(Microsoft Excel XXX Object Library。XXXはバージョン)との参照設定が解決されることになるため、開発環境と実行環境にインストールされているExcelのバージョンが異なっていても動作する可能性があります。 たとえば、下記に紹介するプログラムは、Excel2007の環境で開発したのですが、その環境でビルドした実行ファイルを、Excel2003がインストールされている環境で動作させても正常に動きました。 ただし、Excelのバージョンが異なることで、プログラムの仕方も変わるような場合は、どこかで例外が発生すると思います。(試してはいないですが・・・) using S
VB2005から遅延バインディングでDataSetからExcelを作成してみます。リフレクションを使ってと言った方がいいのかもしれません。 事前バインディングの場合、バージョンアップによりオブジェクトのバイナリレイアウトが変わる可能性があるため、作成したアプリケーションのインストール先によって、バージョンに関する問題が発生する場合があります。 例えば、ある環境ではExcel2000がインストールされており、別の環境ではExcel2003がインストールされているといった場合です。 この問題を解消するために、実行時にバインディングするようコーディングします。面倒ですが… この方法は、実行時バインディングとかレイトバインディング、遅延バインディングと呼ばれている方法です。 ここでの方法以外にCreateObjectを使う方法もあるのですが、もうひとつの方法で実装してみます。 DataSetからE
本日 MSDN フォーラムに上がっていた質問 「Strconvの戻り値がおかしくて,とても困っています。」 を解決しようとして、StrConv は LCMapString を内部で使っているから LCMapString で文字列をダイレクトに変換してみるとどうなるだらうと思ひ、サンプルプログラムを作っているうちに事態は解決してしまいました。互換モードが原因だったとは・・・ でもせっかく作ったので、このまま埋もれさせるのも勿体ないから一応ブログに挙げておきます。VB は StrConv 関数があるので使い道はないと思いますが、何かの参考になれば幸いです。ちなみに .NET における LCMapString の使い方に関しては deraw さんのソース を参考にさせて頂きました。<(_ _)> なお以下のコードは VB 2010でコーディングしているため、コードの途中改行個所に _ (アンダー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く