How to make a file header easily.

ファイルヘッダーを簡単に作る方法


ことさらファイルヘッダーを簡単に作る方法などと言わなくても、もともと簡単なワイアリングでできてしまいます。でも、項目が多くなると楽しいワイヤリングが単なる作業になってしまいますから、もっと簡単にという欲望が自然に湧いてくるでしょう。

ふつうの方法はこんなもんでしょう。

本当は、『98.02.11/改行/5/改行/テスト』などとそっけないものではなく、『Date:98.02.11/改行/データ数:5/改行/Comment:テスト』などのように何をあらわす数値や文字なのかをはっきり記録しておかないと後で見たときにわからなくなってしまいます。でも、文字列の結合がさらに多くなってしまうし、スペースも広くなってしまうので、「まっ、いいか」となりがちです。

一回苦労しておけば後はおまかせというのがプログラミングのいいところですから、解決法を考えてみましょう。

ヘッダーにしたい表示器をクラスターに入れるだけでヘッダー用の文字列ができるというのは魅力的だと思いませんか?

汎用的なサブVIにすることを考えると、クラスターをそのままサブVIで受け取ることはできません。出力側と入力側のクラスターの中身を合わせないと接続できないからです。そこで、Flatten to String関数で渡す方法を考えてみました。

Flatten to String関数に馴染みのない方は、ユーザーマニュアルの付録Aをよく読んで研究してみましょう。クイズのようなもので、けっこう面白いものです。ラベル名"date"という文字列を例にとって解析してみましょう。フラット化すると"type string"と"data string"が出力されます。"type string"はタイプコードやラベルなど表示器の属性(?)情報で、"data string"はデータそのものの情報が記録されています。

ラベルのバイト数やストリング内容のバイト数などからデータを切り出すなど、かなり手間はかかりますが、フラット化したデータからラベルとデータの内容を取り出すことができました。ユーザーマニュアルの付録Aをみながら流れを追いかけてみて下さい。

クラスターの場合は、クラスター自身の情報に加えてクラスターの中の表示器すべてについての情報が含まれています。使いそうな表示器のほとんどの取り出しルーチンを組み込む必要がありますが、多くはバリエーションで対応できますからそれほど大変ではありません。

ダイアグラムがスペース的に肥大化してしまったため縮小して表示しましたので見にくくなってしまいました。クラスター要素のタイプコードをもとにダイアグラムの下の方にあるケース構造でルーチンを切り換えています。

一つの省力化の例として紹介させていただきました。

98.02.11 大橋 康司

ohashi@mac.email.ne.jp


戻る