電子QSLの定義  元に戻る  条件命令   各項目   Turbo HAMLOG/WinQSL印刷定義ファイルと似ていますが、ミリではなくピクセル単位となります。
定義ファイルの命令に従い電子QSLを作成し、そのまま送信します。イメージを表示させ、あらかじめ確認することができます。
付属の定義ファイルに手を加えて自分専用の定義ファイルにしたら、必ず名前を変えて保存して下さい。

◎各命令について条件命令について各項目について
以下に示す命令以外はコメントと見なします。各命令は、行頭から記述して下さい。
行頭から記述されてない場合は、コメントとなります。 #の後に空白を入れてもかまいません。

画像サイズの指定
#Size Width, Height, [Color]
生成する電子QSLのサイズ(JPEG画像サイズ)を指定します。数値はピクセル単位で指定します。
  構文  #Size <横の長さ>, <縦の長さ>
  構文  #Size <横の長さ>, <縦の長さ>, <背景色>
サイズの上限、下限は、(528+336) <= (Width+Height) <= (800+510)の範囲です。
つまり、横と縦を足した値が864以上 1,310以下の範囲で設定できます。縦長もOKです。
定義ファイルの上のほうで、必ず1回だけ指定する必要があります。
背景色は、命令メニューのフォント色の指定で選択すると便利です。
三つ目のパラメータが無い(背景色の指定がない)場合の背景色は、白です。
文字列の表示命令
#Print
文字列を表示します。表示位置の座標と文字列をカンマで区切ってください。
カンマで区切る考え方は、CSVファイルの1行と同じ要領です。
文字列は、基本的にダブルクォーテーションで括って下さい。ダブルクォーテーションそのものを表示したい場合は、""のように続けてください。
なお、文字列をダブルクォーテーションで括らなくても動作しますが、その場合は文字列中にカンマを入れたり、右端にコメントを入れることはできません。
文字列の中では、!マークから始まる各項目用変数が使用できます。(座標はピクセル単位)
 構文  #Print <横座標>, <縦座標>, "文字列"
【例1】  #Print 31,45,"交信時間は!TH:!TMでした。"
上の例では、左から31ピクセル、上から45ピクセルの位置から交信時間を表示します。
【例2】 #Print -1000,45,"おやすみなさい。"
横座標を -1000とすると、直前の#Print命令による文字列の次に続けで表示します。フォントを変えることもできます。
上の例では、【交信時間は23:50でした。おやすみなさい。】のようになります。
#PrintA
文字列が長くてJPEG画像の右端からはみ出してしまう場合に、自動的に改行して表示します。
また、文字列中に<BR>という文字があれば、その位置で改行します。<Br>や<br>では改行しません。
改行したときの行間隔をピクセル単位で指定します。それ以外は、#Printと同じです。
 構文 #PrintA <横座標>, <縦座標>, <行間幅>, "文字列"
【例】  #PrintA 20,190,10,"QSO有難うございました。<BR>CU AGN"
#PrintC
指定した範囲の中央に印刷します。いわゆるセンタリングです。
 構文  #PrintC <横座標>, <縦座標>, <範囲>, "文字列"
【例】  #PrintC 50,210,150,"!FR"  ; 7MHzでも1200MHzでも真ん中に表示する。
文字列の長さが<範囲>で指定した長さよりも長かった場合は、#Printと同じです。
#PrintK
文字列を均等割り付けして表示します。それ以外は、#Printと同じです。
 構文  #PrintK <横座標>, <縦座標>, <均等割付する幅>, "文字列"
<均等割付する幅>が小さいと、密着割付となります。
#PrintL
文字列を斜め、縦、逆さま等、角度を変えて表示します。角度は0〜360度が指定できます。
文字のサイズは、 #Printで表示したときと微妙に違う場合があり得ますが、それ以外はほぼ #Printと同じです。
フォントは、「MS ゴシック」、「MS 明朝」のように、フォントサイズの変更可能な TrueTypeフォントを使って下さい。
 構文  #PrintL <横座標>, <縦座標>, <角度>, "文字列"
#PrintR
文字列を右寄せで表示します。<横座標>は、文字列の右端の位置を指定します。
 構文  #PrintR <横座標>, <縦座標>, "右寄せ文字列"
フォントの指定
#FontName
表示フォントの名前を指定します。フォント名は、ダブルクォーテーションで括って下さい。
【例】 #FontName="MS ゴシック"
#FontSize
表示フォントのサイズを指定します。
【例】 #FontSize=13
#FontColor
表示フォントのカラーを10進数または16進数で指定 します。
どの数字がどの色にあたるかは難しいので、フォント設定ダイアログの中ので設定して下さい。
#FontStyle
表示フォントのスタイルを指定します。(ボールド、イタリック等)
これら設定したフォントの内容は、次の指定が現れるまで有効です。
また、個々に指定可能です。フォントは、定義ファイル中 #Print命令よりも上の行で、最低限一度は必ず指定してください。

命令の終わり
#Exit
下の行の命令を無視して、ここで定義ファイルの実行が終わります。
#Goto命令で最後の方にジャンプしたのと同じです。画像は生成されます。
#ExitZ
下の行の命令を無視して、ここで定義ファイルの実行が終わります。
画像は生成されず、次の交信データを読みに行きます。
ただし、定義ファイル編集中のイメージでは、次のデータは読みに行かずに#Exitと同じ動作となります。
指定行へジャンプ
#Goto
指定したラベルのある行へ処理をジャンプさせます。つまり、目印のある行までジャンプです。
無限ループ防止のため、上の行へはジャンプできません。ラベルは、行頭から *123 のように * と適当な数字を使用します。
8桁以下の数字であれば何でも構いません。
  【例】 #Goto *950   ; 行頭に *950 と書いてある行にジャンプ
行番号を絶対行で指定することもできます。
これより下の行の命令を無視し、強制的に用紙を排出させるには、最下行よりも大きい数字を指定します。
  【例】 #Goto 107    ; 107行目にジャンプ
罫線の表示
#LineS
罫線の種類(S)を指定します。スピードバーに表示されている、罫線ボタンをクリックすると、命令が挿入されます。
横スクロールバーが罫線の太さ、●印が罫線の色です。罫線に関する命令では、次の#LineSが現れる行までこの設定が有効です。
罫線を表示する場合は、必ずこの命令で最低限一度は罫線の種類を指定して下さい。
 #LineS Pen, Style, Color
  Pen
罫線の太さをピクセル単位で指定する(太さは、あまり正確ではありません。)
罫線の太さをピクセル単位で直に指定したい場合は、この数値をマイナスにしてください。
この場合は、印刷イメージと実際の印刷では、解像度の違いから太さが大きく異なります。
  Style
罫線の種類(0=実線, 1=破線, 2=点線, 3=一点鎖線, 4=二点鎖線)
  Color
罫線の色を指定する。カラーは、10進数か16進数の数字。
※注意※ Windowsの仕様のため、実線以外の罫線を指定する場合は、罫線の太さを最低にしてください。
  【例】  #LineS 1, 0, 0
#Line
斜め罫線(L)を表示します。#Print同様、ピクセル単位で指定します。
 #Line x1, y1, x2, y2
  x1
左からの開始位置をピクセル単位で指定する
  y1
上からの開始位置をピクセル単位で指定する
  x2
左からの終了位置をピクセル単位で指定する
  y2
上からの終了位置をピクセル単位で指定する
#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
左からの開始位置をピクセル単位で指定する
  y1
上からの開始位置をピクセル単位で指定する
  Length
罫線の長さをピクセル単位で指定する
#LineY
縦罫線(Y)を表示します。
 #LineY x1, y1, Height
  x1
左からの開始位置をピクセル単位で指定する
  y1
上からの開始位置をピクセル単位で指定する
  Height
罫線の長さをピクセル単位で指定する
#Ellipse
円や楕円の罫線を表示します。
 #Ellipse Left, Top, Width, Height
  Left
左からの開始位置をピクセル単位で指定する。
  Top
上からの開始位置をピクセル単位で指定する。
  Width
円や楕円の幅をピクセル単位で指定する。
  Height
円や楕円の高さをピクセル単位で指定する。省略した場合はWidthと同じ長さ(真円)
QSL発行済みマーク
#Mark
ここで指定した文字(半角)が、QSOデータにQSL発行済みのマークとして、QSLの入力項目のうち2文字目に書き込まれます。
電子QSL環境設定QSL発行済みマークよりも優先されます。=は入れても入れなくても動作します。書き込む文字は6文字まで指定できます。
""の場合は、QSL発行済みマークを記入しません。
" "の場合は、QSL発行済みであってもスペースを書き込んで未発行とします。
【例】 ? DXST
    #Mark = "" ; DX局のときはQSL発行済みマークを書き込まない。
【例】 ? nData7 "FT8,FT4,JT65" ; デジタルのときは
    #Mark = "123" ; まず1を書き込む。すでに1が書き込まれていたら2を書き込む。すでに2が書き込まれていたら3を書き込む。 123のいずれかが書き込まれていたら書き込まない。
JPEG写真を挿入
#Jpg
デジカメ写真など、JPEG画像ファイル(*.jpg)を読み込み、電子QSL上に表示します。次のいずれかの構文で指定します。
 #Jpg Left, Top, Width, Height, "Photo1.jpg"
 #Jpg Left, Top, Width, 0, "Photo1.jpg"
 #Jpg Left, Top, 0, Height, "Photo1.jpg"
  Left
左からの表示位置をピクセル単位で指定します。
  Top
上からの表示位置をピクセル単位で指定します。
  Width
JPEG画像の幅をピクセル単位で指定します。
Widthがゼロの場合は、Heightを指定してください。比例して適正な幅で表示されます。
  Height
JPEG画像の高さをピクセル単位で指定します。
Heightがゼロの場合は、Widthに比例して適正な高さで表示されます。
  FileName
JPEG画像のファイル名を指定します。ファイル名は、ダブルクォーテーションマークで括って下さい。
フォルダの指定が無ければ、定義ファイルの存在するフォルダにあるものとしてオープンしようとします。
もし、別のフォルダにあるJPEGファイルを印刷する場合は、フルパスで指定してください。
ファイル名の文字列には、!マークから始まる各項目用変数が使用できます。

以下の例では、左から10ピクセル、上から48ピクセルの位置を左上端として、JPEG写真を幅320ピクセルの大きさで印刷します。
写真の高さは自動的に調整されます。
 【例1】#Jpg 10, 48, 320, 0, "Photo1.jpg"
 【例2】#Mov $$A = "Photo2"
     #Jpg 10, 48, 220, 0, "!$$A.jpg"

最近のデジカメは、画素数がとても大きいので、ペイントなどを使って画像サイズを小さく調整してみてください。

#Alpha  (Turbo HAMLOG/Winには存在しません。)
写真の背景を半透明にします。
  #Alpha Left, Top, Width, Height, [薄さ]
必ず、#Jpg命令の直前に(1行上で)記述してください。
5個目のパラメータで透明度を、1〜25の範囲で指定することができます。数字が大きいほど透明になります。
薄さの指定がない場合は、17を指定したものとなります。
  【注意】
#Alphaで指定する座標は、写真本来の画素数に合わせた座標としてください。[例1]
あるいは、あらかじめ写真のサイズを本ソフト規定の大きさにリサイズしておいてください。[例2]
そうしないと、関係のない場所が半透明になります。
[例1] 1024x768の"写真1.jpg"をそのまま読み込み、640x408の電子QSLにして下の方を半透明にする場合。
 #Size 640,408
 #Alpha 0,464,1024,304 ;写真の元の大きさで下の方に対して半透明処理
 #Jpg 0,0,640,0,"写真1.jpg" ;横幅640に縮小して表示

[例2] 1024x768の"写真1.jpg"を、あらかじめオプションメニューで640x408の画像にリサイズしておく。
 #Size 640,408
 #Alpha 0,280,640,228 ; リサイズ後の写真の下の方に対して半透明処理
 #Jpg 0,0,640,0,"写真1.jpg" ;横幅640をそのまま表示

ビットマップを挿入
#Bmp
ビットマップ(*.bmp)ファイルを読み込みます。概要は #Jpgと同じです。
挿入文書の設定
#Text
電子QSLに長い文章を表示させたいときに利用してください。
この下の行から、#End までの間の文字列を表示します。
行間隔の指定がなければ、フォントの大きさに応じて自動的に改行されます。
文字列は、 ""でくくる必要はありません。 座標や行間隔の数値は ピクセル単位です。
文字列には、!マークから始まる各項目用変数や、!$$Aなどの変数が使用できます。
#End
挿入文書の終わりを示します。

#Text <横座標>, <縦座標>, <行間隔>
ここで長い文章を印刷します。
アワードの紹介や自己紹介などの長い文章を書くと良いでしょう。
#End
矩形領域の塗りつぶし
#FillBox
指定した矩形領域を塗りつぶします。
 #FillBox Left, Top, Width, Height, Color
  Left
左からの開始位置をピクセル単位で指定する。
  Top
上からの開始位置をピクセル単位で指定する。
  Width
矩形領域の幅をピクセル単位で指定する。
  Height
矩形領域の高さをピクセル単位で指定する。
  Color
塗りつぶす色の指定。省略した場合は黒。10進数または16進数で指定します。
円や楕円領域の塗りつぶし
#EllipsF
指定した円や楕円の領域を塗りつぶします。
 #EllipsF Left, Top, Width, Height, Color
  Left
左からの開始位置をピクセル単位で指定する。
  Top
上からの開始位置をピクセル単位で指定する。
  Width
矩形領域の幅をピクセル単位で指定する。
  Height
矩形領域の高さをピクセル単位で指定する。ゼロを指定した場合はWidthと同じ長さ(真円)
  Color
塗りつぶす色の指定。省略した場合は黒。10進数または16進数で指定します。
文字列や数値を一時変数に代入
#Mov
変数に文字列や数値を代入します。
$$A $$T が文字列専用の変数です。代入する文字列には、他の変数も含まれます。
また、#Jpg命令,#Bmp命令,#Load命令のファイル名や、#Text命令の文字列にも変数使えます。
$$U $$Z が数値専用の変数です。代入した数値は、主に印刷する座標指定で使います。
 【例】
#Mov $$A="to radio !cp"
? Potbl
#Mov $$A="!$$A 運用地:!QT"
#Mov $$X = 16
#Mov $$Y = 30
#Mov $$Y = $$Y+30
#Print $$X+100, $$Y, "【!$$A】"
 ※マイナスを使用するときは、数字や変数との間に空白を入れないでください。(500 - $$W とか $$Y - 200 では動作しない)
 ※加減のみ演算ができます。 【例】 #Mov $$Z=$$Z+1
ループ命令
#DoLoop 〜 #EndLoop
#EndLoopに続く数値変数がゼロになるまで繰り返し処理をします。
無限ループ防止のため、ループが1,000回を超えるとエラーになります。
#DoLoopと#EndLoopをネスト(ループの中にループ)した記述はできません。
 【例】
#Mov $$Y=100
#Mov $$U=5
#DoLoop
#Mov $$A=$$U  ; 数値を文字列に変換
#Print 100, $$Y, "!$$A !cp"
#Mov $$Y=$$Y+30 ; 30ピクセル下へ
#Mov $$U=$$U-1
#EndLoop $$U ; $$Uがゼロになったらループ脱出
別の定義ファイルを読み込む
#Load 現在うまく機能しません。Turbo HAMLOG/Winからの移植がうまくいっていないようです。
定義ファイル実行中に、別の定義ファイルを実行します。別の定義ファイルの実行が完了したら、元の定義ファイルの次の行に戻ります。
別の定義ファイルから、さらに別の定義ファイルの実行はできません。
別の定義ファイル中で、#Load命令 は使えません。
 【例】  #Load "sonota.mqsl"
条件分岐するだけの定義ファイルを作り、その中から条件に応じ、いろいろな定義ファイルを実行するようにしてみると便利かもしれません。
ファイル名の文字列には、!マークから始まる各項目用変数が使用できます。
Rig/Antの指定
#Rig#n
Rig/Antの設定ウインドウの行番号を直接指定し、自局のリグ・アンテナ等の設定が読み込まれます。
次のQSOデータを読み込むまで、または定義ファイル中に次の#Rig#命令が現れるまで有効です。
Remarks1・2欄に書き込んだRig#??の指定よりも優先されます。
  【例】
? Freq 3      ; 7MHzで、かつ・・・
? Data13 "%/1"  ; Remarks1に自局の移動運用地が記載されていれば、
#Rig#6       ; 6行目のリグ・アンテナを読み込む。
#Rig=xxxx
Rig/Antの設定ウインドウEtc欄の文字列を指定し、一致する行のリグ・アンテナ等の設定が読み込まれます。
  【例】
? Freq 12      ; 430MHzだったら
#Rig=430MHz移動用 ; Etc欄に一致する文字列がある行のRig/Antを表示
JST←→UTC変換
#Jst2Utc
交信時刻がJSTで記録されている場合、UTCに変換します。9時間遅れの年月日時分となります。
交信年月日や交信時刻を表示する行よりも上の行でこの命令を記述してください。
#Utc2Jst
交信時刻がUTCで記録されている場合、JSTに変換します。#Jst2Utcと逆です。
交信年月日や交信時刻を表示する行よりも上の行でこの命令を記述してください。
DXのチェックマークに関係なく、UTCであればJSTに変換されます。
機能しない命令
 Turbo HAMLOG/WinのQSL印刷命令のうち、次の命令は機能しません。

#ExitX #Adif #SetXY #PrnLoad #Yoko #MaxCall #Read #Readc #Readd #Reade #Readj #Readk #Readf

先頭に戻る