FormIO とは
FormIOは Form Input/Outputを意味し、文字通り「書式付き入出力」を行うためのライブラリで、コムラッド・カスタム・コントロール(=CCCシリーズ)で使用されているものです。他のCCCシリーズではDLL形式で提供されていますが、このPerfectGridでは、特に高速処理を必要とするため、コントロール内部に組み込まれています。
PerfectGridでは、セルテキスト(CellTextメソッド)を解釈し、セル書式(FormatStringプロパティ、RowFormatString,ColFormatString, CellFormatStringメソッド)にしたがってセル表示文字列(CellDisplayStringメソッド)を生成するために使用されています。セル書式では、このFormIOの出力書式がそのまま適用されますから、このドキュメント(の特にFormIO出力書式)を理解する必要があります。 では、なぜこのようなライブラリが必要なのでしょうか? 私達は日常生活で数多くの書式を無意識のうちに使用しています。特に日付や時刻を表すための書式は多種多様で、「94-11-21」「H6.11.21」「9:15am」「11月21日」「9時15分」など、数え上げればきりがありません。しかも、たとえば「94-11-21」を例にとれば「94/11/21」でも「1994-11-21」でも、さらに「11-21-94」でも「21-11-94」でも「西暦1994年11月21日」と難無く理解してしまいます。 ところが、これをコンピュータに理解させようとすると、なかなか厄介なことになります。なぜなら「どこに・何が」記述されているかがはっきりしない状態では、文字列のどの部分を特定の要素(たとえば「年」)として評価すればよいのか、の判断が困難になるからです。そこで、マークシートが利用されたり、予め決められた位置や枠内に数字を記入させたりといった方法がよくとられるわけです。 しかし、このような固定の書式では、不便を感じることもあるはずです。逆に、入力がどのような書式であれ、特定の書式で印刷したいといったこともあるでしょう。 そういった場合に、強力な手助けとなるのが、FormIOなのです。 FormIOは、ごく普通に入力された文字列を適切に判断し、指定された出力書式に合わせた文字列に変換するという作業を行います。 たとえば入力が「94-11-21 12:34:56」で、出力書式が「gggE年M月D日 午前/午後H時M分S秒」である場合、出力は「平成6年11月21日午後0時34分56秒」となります。同じ入力でも、出力書式が「ge.m.d h:mam/pm」ならば、出力は「H6.11.210:34pm」となります。 このような働きをするのが、FormIOです。 |