複合条件検索ログリスト出力定義ファイル
各命令について
 以下に示す命令以外はコメントと見なします。各命令は、行頭から記述して下さい。行頭から記述されてない場合は、コメントとなります。
 
印字命令
#Print
文字列を印字します。文字列はダブルクオーテーションで括って下さい。
文字列の中では、 !マークと %マークの各項目用変数が使用できます。(座標は0.1ミリ単位で指定)
構文  #Print <横座標>, <縦座標>, "文字列"
【例】 #Print 1100, 2600, "(%D) -%N-"
※ 左から110ミリ、上から260ミリの位置に日付と頁番号を印字します。
!マークの変数は、バッファ(メモリ)上に読み込まれてあるデータに置き換わります。

#PrintK
文字列を均等割り付けして印字します。それ以外は、#Printと同じです。
構文  #PrintK <横座標>, <縦座標>, <均等割付する幅>, "文字列"
もし、<均等割付する幅>の中に入りきらない場合は、自動的にフォントを小さくして入るように調整されます。
従って、「MS ゴシック」、「MS 明朝」のようにな、フォントサイズの変更可能なTrueTypeフォントを使って下さい。
ここで印字される文字列は、均等割付のため、右側に空白がある場合は除去して印字します。

#Data
データを印字します。文字列中に !マークの変数があれば、 実行後に次のデータをバッファに読み込みます。
従って、1データにつき #Dataは一つです。
この命令を #Whileの次に書くことにより、データを次々に出力することができます。構文は #Printと同じです。
繰り返し命令(C)
#While
#Whileの次の1行に記述する印字命令を、指定した回数繰り返します。
#Print #Data #LineXが対象となり、これらの命令の縦座標は無視されます。
構文  #While <印字開始縦座標>,<行間隔>,<回数>
【例】 #While 250, 50, 32
#Data 20, 0, "!n!c!d !t"
※ 左から2ミリ、上から25ミリの位置から5ミリ間隔で32行、コールサイン・日付・時間等を印字します。

#End
#While〜#Endの間を指定した回数繰り返します。#Endが無ければ、#Whileの次の1行のみが繰り返されます。
このループを使うと、文字列を絶対座標で指定しますので、 テキスト出力の場合は印字命令ごとに改行されます。
【例】 #While 250, 50, 32
#Print 20, 0,"!n"
#Print 150,0,"!c"
#Print 360,0,"!d"
#Print 550,0,"!t"
#Print 700,0,"!h"
#Data 780,0,"!m" ; 次のデータを読み込む
#End
  
フォントの指定(F)
#FontName
印字フォントの名前を指定します。フォント名は、ダブルクォーテーションで括って下さい。
【例】#FontName="MS ゴシック"

#FontSize
印字フォントのサイズを指定します。
【例】#FontSize=16

#FontColor
印字フォントのカラーを10進数または16進数で指定 します。
どの数字がどの色にあたるかは難しいので、フォント設定ダイアログの中の で設定して下さい。

#FontStyle
印字フォントのスタイルを指定します。(ボールド、イタリック等)
これら設定したフォントの内容は、次の指定が現れるまで有効です。また、個々に指定可能です。
フォントは、定義ファイル中で 最低限一度は指定してください。
  
ナンバリング
#1stNum
!Bで出力する最初の数値、及び桁幅を指定します。
#1stNumの指定がなければ !Bは1番から連続した数字を5バイト幅で出力します。
構文  #1stNum=<最初の番号>, <桁幅> ; 桁幅の指定がなければ、桁幅は5バイト
【例】 #1stNum=1001,6 ; !Bは、1001から始まる連続した数値を6バイトの幅で出力する。
#1stNum=500,-5 ; !Bは、500から始まる連続した数値を出力する。5バイトの幅で左寄せ。
印刷の縦横変換(T)
#Yoko
縦横を変換して印刷します。これは、必ず1行目で1回だけ指定して下さい。
用紙サイズの指定(W)
#Size
印刷イメージを確認するときに必要です。数値は0.1ミリ単位で指定します。
構文  #Size <横の長さ>, <縦の長さ>
  
テキストの右側空白除去(M)
#Trim
これがあれば、テキストファイルに出力する際に、右側の空白を切り詰めて出力します。印刷時には影響ありません。
罫線を引く (QSL定義ファイルと同じ)
#LineS
罫線の種類(S)を指定します。スピードバーに表示されている、罫線ボタンをクリックすると、命令が挿入されます。
横スクロールバーが罫線の太さ、●印が罫線の色です。
罫線に関する命令では、次の#LineSが現れる行までこの設定が有効です。
 #LineS Pen, Style, Color
Pen 罫線の太さをピクセル単位で指定する
Style 罫線の種類(0=実線, 1=破線, 2=点線, 3=一点鎖線, 4=二点鎖線)
Color 罫線の色を指定する。カラーは、10進数か16進数の数字

#Line
斜め罫線(L)を印字します。#Print同様、0.1ミリ単位で指定します。
 #Line x1, y1, x2, y2
x1 左からの開始位置を0.1ミリ単位で指定する
y1 上からの開始位置を0.1ミリ単位で指定する
x2 左からの終了位置を0.1ミリ単位で指定する
y2 上からの終了位置を0.1ミリ単位で指定する

#LineR
四角形を描く(R)
 #LineR x1, y1, x2, y2 ※ パラメータは#Lineと同じ

#LineC
角の丸い四角形を描く(C)
 #LineC x1, y1, x2, y2 ,x3, y3 ※ パラメータは#Lineと同じ
x3 横方向の丸みの長さを指定します。
y3 縦方向の丸みの長さを指定します。

#LineX
横罫線(X) を印字します。
 #LineX x1, y1, Length
x1 左からの開始位置を0.1ミリ単位で指定する
y1 上からの開始位置を0.1ミリ単位で指定する
Length 罫線の長さを0.1ミリ単位で指定する

#LineY
縦罫線(Y)を印字します。
 #LineY x1, y1, Height
x1 左からの開始位置を0.1ミリ単位で指定する
y1 上からの開始位置を0.1ミリ単位で指定する
Height 罫線の長さを0.1ミリ単位で指定する

#Print , #PrintK 及び #Data で指定する変数は次のとおりです。(#DataについてはDOS版とほぼ同じ)

%D  現在の日付(yy/mm/dd) 8バイト
%Y  現在の日付(yyyy/mm/dd) 10バイト
%T  現在の時間(hh:mm) 5バイト
%N  現在の頁番号 最低1バイト
!B  ナンバリング 任意のバイト数

!n  レコードナンバー 6 バイト
!c  コールサイン/移動地 9バイト
!cn  コールサイン/移動地(nはコールサインの出力バイト数・6〜20を指定)
!C  コールサイン/移動地 18バイト <== 全角で出力
!Cn  コールサイン/移動地(nはコールサインの全角文字数・6〜20を指定)

!Y  交信年月日 10 バイト(yyyy/mm/dd)
!d  交信年月日 8 バイト(yy/mm/dd)
!D  交信年月日 5 バイト(mm/dd)
!t  交信開始時間 6 バイト "10:20J"
!T  交信開始時間 6 バイト "10:21 " <== J や U が空白
!u  JSTかUTC "JST"または"UTC"という文字列
!h  相手のRSTレポート 3 バイト
!m  自分のRSTレポート 3 バイト
!f  周波数 4 バイト
!F  周波数 7〜16 バイト
!M  電波型式 3〜16 バイト

!j   JCCコード 6 バイト
!J  JCCコード 6 バイト <== 町村コードの場合、最後のアルファベットが空白
!g  グリッドロケータ 6 バイト
!q  QSL 1 バイト
!s  SENT(QSL発行済み) 1 バイト
!r  QCV(QSL受領済み) 1 バイト
!Nnn  相手の氏名(nnは氏名の出力バイト数・1〜64を指定)
!Qnn  QTH(nnはQTHの出力バイト数・1〜99を指定)
!Qxnn  コードを基にして、マスターデータから取得したQTH(nnはQTHの出力バイト数・1〜99を指定)

!Qgnn  コードを基にして、マスターデータから取得したQTH。ただし、町村の場合でも郡まで出力
!QXnn  コードを基にして、マスターデータから取得したQTHで、都道府県名はカット。nnは都道府県名をカットした分多めに指定してください。
!QGnn  コードを基にして、マスターデータから取得したQTH。ただし、都道府県名をカットし町村の場合でも郡まで出力。その他!QXと同様。
!Hxnn  !Qxnnと同様ですが、マスターデータの消滅市町村マークの *06/02 をカットします。同様に、!Hgnn !HXnn !HGnnもあります。

!Rn1,n2  備考 REMARKS1(n1は出力開始位置 00〜MAX-1,n2は出力バイト数 01〜99)
!Kn1,n2  備考 REMARKS2(同上)
      !R06,32の場合は、REMARKS1の左6バイト目から、32バイト出力するということです。ゼロから数える点に注意!
      !R00,28 の場合は、REMARKS1を左から28バイト出力する。
      n1,n2 に数字が書かれていない場合は、動作は未定義です。

(46)