[Labyrinthe Noir]>[度量衡換算top]

変換率表


Back
 度量衡換算はアプリケーション内に組み込まれた換算率表を使って、各単位系の換算作業をしています。
 一部の単位はユーザーが任意に換算率や数式を設定することができます。
 v1.4から、換算率の修正作業軽減のため内部の組込換算率表を置き換える機能を用意しました。

 【v2.0における表記の変更点】
☆換算率表をドロップしたときのチェック項目を少なくし、単位系を切り換えて単位を読み込むときにチェックを行うのに伴い、下記の変更を行いました。
☆ステータス行で、読込行数を読込単位数に変更。読み込みたい単位の数を指定しています。単位数より大きな数字を設定しても最大数を読み込んで処理します。
☆スペーサーを記号「-」で判別。空の行を作成していましたが、行の頭に「-」があるかどうかで処理します。
☆コメント行の導入。記号「#」を行の頭に置くことで、その行をコメントアウトすることができます。その行はないものとして読み飛ばします。(記録はされますが、単位系を呼び出したときに処理を飛ばします。)

☆通貨、任意、数式は5つの単位までしか設定できませんでしたが、自由に個数を設定できるようになりました。
☆optionキーを押しながらメニューのユーザー設定を選ぶとリソースのテキスト出力が可能になりました。

変換率表

 換算率表は単位系毎にテキストファイルで作成します。新しい換算率表を度量衡換算のウインドウへドロップすると、次にその単位系に切り換えたときに更新された換算率表が適用されます。
 修正が必要な場合、適時「Labyrinthe Noir」で新しい換算率表を配布いたします。

換算率表の更新方法

 フォーマットに従ったテキストファイルを度量衡換算のウインドウへドロップするだけで、簡単に換算率表を差し換えることができます。
 各単位系には個別に決まったリソース名がありますので、これをファイル名に含んだテキストファイルを作製してください。単位系との対応表は以下の通りです。
 また、個別に1つの単位系を1テキストファイルで処理するだけでなく、複数の単位系を1つのテキストファイルにまとめる複合型も可能です。

単位系リソース名サンプルファイル
尺 度UnitLengthUnitLength
面 積UnitSquareUnitSquare
容 積UnitCubeUnitCube
質 量UnitWeightUnitWeight
速 度UnitSpeedUnitSpeed
時 間UnitTimeUnitTime
温 度UnitTemperUnitTemper
情報量UnitInformationUnitInformation
通 貨UnitMoneyUnitMoney
任 意UnitUser
数 式UnitExpression
(複合型)UnitAllUnitAll

 テキストファイルをドロップすると初期設定ファイル内に新しい換算率表を保存します。この換算率表は常に内蔵の換算率表よりも優先されます。
 換算率表の置き換えは必ず上書きされますので、単位の追加・削除の場合でも必要な単位を全て記述する必要があります。(付属のサンプルテキストを修正して使ってください)
 ファイル名に上記の表で示したリソース名が含まれていれば、その前後に文字を足しても読み込むことが可能です。(例:UnitLength2、UnitSpeed仕事用)
 サンプルファイルはMacintosh用テキストファイルのため拡張子がありません。Windowsマシンでクリックしても正しく開かない可能性があります。

差し替えた換算率表の削除

 初期設定ファイル内の換算率表を削除したいときの手順を紹介します。

  1. トップメニューの「換算率表」から
     表示中の単位系に差し換えた換算率表が適用されている場合に「○○を消去」のメニューが使用できます。消去された単位系は標準のリソースに入っている元の換算率表を使用するようになります。
     「全ての率表を消去」を使えば、差し換えられた換算率表の全てを一括消去します。

  2. 空の更新用ファイルをドロップ
     空の更新用ファイルとは、更新時に「UnitLength」をドロップした場合、同じ名前のファイルで内容に文字を一切含まないものを使います。

  3. 更新用ファイルのステータス行の頭に「#」を付加
     作成した更新用ファイルの読み取り行数を「#」にしてからドロップすれば、設定の内容をファイルに残したまま初期設定ファイルの中から変更内容を削除できます。
     複合ファイルをドロップした場合も、各単位系のステータス行に「#」を付ければ、その単位系だけを削除することができます。

更新した換算率表の出力方法

 トップメニュー「換算率表」の中に「○○を保存」「全ての率表を保存」のメニューがあります。  表示中の単位系または全単位系の内部換算率表をテキストファイルに出力することができます。ただし、換算率表が変更されていない場合はメニューが使えなくなっています。

換算率表の記述フォーマット

 換算率表には単位系によって特徴があります。まずは、全換算率に共通の記述を紹介します。
 各単位系独自の特徴はそれぞれに項目を用意しています。それぞれの単位紹介のページを合わせて参照してください。

【特殊な記号について】
「#」を行の頭に付ければ、その行を読み飛ばします。コメント行や一時的に使用しない単位の行に使います。
「-」を行の頭に付けると、その行はスペーサーとしてボタンに反映されます。

【通常の換算率表】

例:尺度の一部
 1:24,6
 2:#メートル法
 3:Å,,オングストローム,0.0000000001
 4:nm,,ナノメートル,0.000000001
 5:μm,,マイクロメートル,0.000001
 6:mm,,ミリメートル,0.001
 7:cm,,センチメートル,0.01
 8:m,,メートル,1
 9:km,,キロメートル,1000
10:-
11:#尺貫法
12:分,,ぶ,0.1/33
13:寸,,すん,1/33
14:尺,,しゃく,10/33
(以下省略)

サンプルファイル
上記換算率表には行番号を付してありますが、実際には付けないでください。
表内にはステータス部、単位行、スペーサー行の3つの区分があります。

ステータス部
 1行目:「読取単位数,標準単位」

行頭…「#」を付加すると置き換えは行わず、ユーザー設定値の削除を行います。
読取単位数…単位系切換ボタンに表示される単位の個数(上限)。実際より少なくするとその個数で読込を止めます。
 「0」とすると全単位を読み込みます。

標準単位…最初の単位を1番目として、標準単位に設定したい単位の順位。

上記例では、単位の読込数は24個まで、標準単位は(8行目にある)6番目の「m」ということになります。
読取単位数や標準単位の順位を数える時は、「#」や「-」などの特別な記号を含まず実際に利用可能な単位を数えてください。

コメント行
 2行目:「#」…行頭に付けると、その行を読み飛ばします。
スペーサー行
10行目:「-」…スペーサー(単位の切換ボタンで表示される区切り線)
単位行
 9行目:「単位名称,単位記号,読み方,換算率,国表記」

単位名称…単位切換ボタンに表示される単位の名称。

単位記号…例示に使用する単位記号。空白の場合は単位名称を使う。

読み方…単位名称の読み方や説明書き。単位切換ボタンに表示される。

換算率…標準の単位に対する倍率で表示。
そのため、1km=1000mなので、基準単位である「m」は換算率「1」、「km」は「m」の千倍の単位なので換算率が「1000」となっている。
各単位系の中で、基準単位は1つだけなので、記述するすべての単位が基準単位からの倍率で換算率を決定する必要がある。
(注)換算率の中で演算記号を使用する場合、割り算記号「/」に注意が必要です。
計算の誤差を少なくするため、割り算を最後にするように換算率を2つの文字列に分割して計算します。
例1:「2/3*5」は「2/(3*5)」のように解釈されます。正しくは「2*5/3*5」と表記。
例2:「2/3/5」の場合、「2/(3/5)」と解されますので、正しくは「2*5/3」と表記。
例3:「2*3/5」の場合は問題ありません。

国表記…同じ名称の単位がある場合に、それを区別するため使用。

単位記号、国表記は省略可能。

【時間】

1:7,5
2:秒,s,びょう,1
3:分,min,ふん,60
4:時間,h,じかん,3600
5:日,,にち,86400
6:-
7:月,,つき,86400*30,1
8:年,年,ねん,86400*365,12
9:閏年,年,うるうどし,86400*366,12

サンプルファイル

ステータス部
1行目:「読取単位数,標準単位」

通常の単位と同じです。この例では5番目の「月」が標準単位になります。

単位行
2行目:「単位名称,単位記号,読み方,換算率」

通常の単位と同じです。

7行目:「単位名称,単位記号,読み方,換算率1,換算率2」

換算率1…秒を基準にした換算率
換算率2…月を基準にした換算率
(注)どちらの換算率を使用するかは換算率2が存在するかどうかで自動的に判別します。そのため、換算率2がいらない単位の行で、換算率2の位置に不要なデータを追加しないようにしてください。
基準単位と換算単位の単位記号がどちらも同じ場合(例の8行目と9行目の「年」)は、換算率1を使用します。
単位名称が「閏年」の場合は、特殊な計算をするようになっています。(1年目と4年毎に366日として計算)

【通貨、任意】

1:5,1,http://quote.yahoo.co.jp/m3?u,2001.4.10
2:¥,,えん:日本,1
3:$,,ドル:米国,0.008016
4:EURO,,ユーロ:欧州,0.008946
5:£,,ポンド:英国,0.005549
6:Fr,,フラン:仏国,0.058692

サンプルファイル

ステータス部
1行目:「読取単位数,標準単位,URL,更新日」

URL…参照画面を呼び出すためのURL
更新日…度量衡換算で設定画面を使って内容の更新をした日付が自動的に入るため省略可能

単位行
2行目:「単位名称,単位記号,読み方,換算率」

単位名称…「-」を記述すればスペーサーになります。
換算率…通常の場合と違い、比率による換算を行うため、各単位の換算率はそれぞれが等しい値となるように設定します。

【温度、数式】

1:4,1
2:℃,,摂氏温度,0
3:・,,華氏温度,℃*1.8+32,(・-32)/1.8
4:K,,絶対温度,℃+273.15,K-273.15
5:R,,列子温度,℃*80/100,R*100/80

サンプルファイル

ステータス部
1行目:「読取単位数,標準単位,URL,更新日」

標準単位…「1」に固定。

URL…数式の場合のみ。

更新日…数式の場合、設定画面で更新した日付を表示。

単位行
2行目:「単位名称,単位記号,読み方,標準値」

単位行の1行目はかならず標準単位の行とする。

標準値…例示に使用する計算の基準となる数値。

3行目:「単位名称,単位記号,読み方,換算式,逆算式」

単位名称…「-」を記述すればスペーサーとなる。

換算式…「x」または標準単位記号に数値を代入し、その行の単位に換算するための式。

逆算式…「x」またはその行の単位記号に数値を代入し、標準単位へ換算するための式。

【複合型】

「UnitAll」というファイル名を使い、複数の単位系を1つのテキストファイルにしたもので、一括して換算率表を置き換えます。

 1:UnitLength
 2:2,1
 3:Å,,オングストローム,0.0000000001
 4:nm,,ナノメートル,0.000000001
 5:
 6:UnitSquare
 7:2,1
 8:・,,平方ミリメートル,0.000001
 9:・,,平方センチメートル,0.0001

サンプルファイル
1つの単位系のデータの上に単位系のリソース名を記述します。そこから次の単位系リソース名までを個別の単位系ファイルと同じように処理しています。
変更が必要な単位系のみ記述すれば、その単位系だけが置き換えされます。

単位系表記部
1行目:置き換える単位系を示しています。
ステータス部
2行目:各単位系の記述方法に同じ
単位行
3行目:各単位系の記述方法に同じ
5行目:空白行を入れて次の単位系と見分けやすくしていますが、処理上は必要ではありません。

【換算率表の配布について】

 作成した換算率表は、使用の適正を確認した後、自由に配布することができます。
 ただし、将来において、換算率表のフォーマットを変更する可能性もありますので、その適正を保証するものではありません。動作確認をしたバージョンを添えておくと良いでしょう。


Back