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

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

画像サイズの指定
#Size Width, Height, [Color]
生成する電子QSLのサイズ(JPEG画像サイズ)を指定します。数値はピクセル単位で指定します。
  構文  #Size <横の長さ>, <縦の長さ>
  構文  #Size <横の長さ>, <縦の長さ>, <背景色>
サイズの上限、下限は、(528+336) <= (Width+Height) <= (800+510)の範囲です。
つまり、横と縦を足した値が864以上 1,310以下の範囲で設定できます。縦長もOKです。
定義ファイルの上のほうで、必ず1回だけ指定する必要があります。
背景色は、命令メニューのフォント色の指定で選択すると便利です。
三つ目のパラメータが無い(背景色の指定がない)場合の背景色は、白です。
JPEG写真を表示
#Jpg
デジカメ写真など、JPEG画像ファイル(*.jpg)を読み込み、電子QSL上に表示します。次のいずれかの構文で指定します。
 #Jpg Left, Top, 0, 0, "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に比例して適正な高さで表示されます。
Width と Height の両方をゼロにした場合、写真本来のサイズで表示されます。(おすすめ)
 "FileName.jpg"
JPEG画像のファイル名を指定します。ファイル名はダブルクォーテーションマークで括って下さい。
フォルダの指定が無ければ、定義ファイルの存在するフォルダにあるものとしてオープンしようとします。
定義ファイルの存在するフォルダの下層のフォルダに置く場合は、"Folder\Gazou.jpg"のようにフォルダ名を付けてください。
もし、別のフォルダにあるJPEGファイルを表示する場合は、フルパスで指定してください。
ファイル名の文字列には、!マークから始まる各項目用変数が使用できます。

以下の例では、左から10ピクセル、上から48ピクセルの位置を左上端として、JPEG写真を幅320ピクセルの大きさで表示します。
写真の高さは自動的に調整されます。
 【例1】#Jpg 10, 48, 320, 0, "Jpeg\Photo1.jpg"
 【例2】#Mov $$A = "QSL\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] "写真1.jpg"を、あらかじめ画像編集ソフトで640x408の画像にリサイズしておく。
 #Size 640,408
 #Alpha 0,280,640,228,10 ;写真の下の方に対して少し濃い目の半透明処理
 #Jpg 0,0,0,0,"写真1.jpg" ;画像そのままのサイズで表示
ビットマップを挿入
#Bmp
ビットマップ(*.bmp)ファイルを読み込みます。概要は #Jpgと同じです。
QRコードを表示
#QRCode  Turbo HAMLOG/Winに付属のThwQRCode.DLLが必要です。
任意の文字列をQRコードにして表示します。次のいずれかの構文で指定します。
WidthとHeightの両方をゼロにした場合は、本来のサイズで表示します。(おすすめ)
 #QRCode Left, Top, 0, 0, "文字列"
 #QRCode Left, Top, Width, 0, "文字列"
 #QRCode Left, Top, 0, Height, "文字列"
 Left
左からの表示位置をピクセル単位で指定します。
 Top
上からの表示位置をピクセル単位で指定します。
 Width
QRコードの幅をピクセル単位で指定します。
Widthがゼロの場合は、Heightを指定してください。比例して適正な幅で表示されます。
 Height
QRコードの高さをピクセル単位で指定します。
Heightがゼロの場合は、Widthに比例して適正な高さで表示されます。
 "文字列"
文字列は、ダブルクォーテーションマークで括って下さい。
文字列には、!マークから始まる各項目用変数が使用できます。
 以下の例では、左から10ピクセル、上から48ピクセルの位置を左上端として、QRコードを表示します。
 【例1】#QRCode 10, 48, 0, 0, "https://hamlog.sakura.ne.jp/mou/qsl/qslteigi.html"
 【例2】#Mov $$A = "https://hamlog.sakura.ne.jp/"
     #QRCode 10, 48, 120, 0, "!$$A"
6個目のパラメータを付けると、QRコード周囲の余白を調整することができます。
 #QRCode 10,100,0,0,"http://www.hamlog.com/","0"
QRコードの余白は4セル以上の余白が必要とのことですが、本ソフトでは見栄えをよくするため2セルを初期値としています。推奨値の半分です。
余白を切り詰めると、コード部分をうまく認識できず読み取れない場合があるそうですので、あらかじめ確認してください。
"0" ・・・ 余白は4セル(QRコードの仕様どおり)
"1" ・・・ 余白は3セル(1セル削除して表示)
"2" ・・・ 余白は2セル(2セル削除して表示。本ソフトの初期値)
"3" ・・・ 余白は1セル(3セル削除して表示)
"4" ・・・ 余白無し
文字列の表示命令
#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進数の整数で指定します。(HTMLでのカラーは、文字列なので青と赤が逆です。)
16進数の場合は、0xFF0000=青0x00FF00=緑0x0000FF=赤 となります。
HTMLのカラーコード表では、#ff0000 となりますが、hQSLでは 0x0000ff となります。
フォント設定ダイアログの中ので設定するのが簡単です。
#FontStyle
表示フォントのスタイルを指定します。(ボールド、イタリック等)
これら設定したフォントの内容は、次の指定が現れるまで有効です。
また、個々に指定可能です。フォントは、定義ファイル中 #Print命令よりも上の行で、最低限一度は必ず指定してください。

命令の終わり
#Exit
下の行の命令を無視して、ここで定義ファイルの実行が終わります。
#Goto命令で最後の方にジャンプしたのと同じです。画像は生成されます。
指定行へジャンプ
#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のいずれかが書き込まれていたら書き込まない。
挿入文書の設定
#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 が数値専用の変数です。代入した数値は、主にQSLに表示する座標指定で使います。
 【例】
#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 #ExitZ #Adif #SetXY #PrnLoad #Yoko #MaxCall #Read #Readc #Readd #Reade #Readj #Readk #Readf

先頭に戻る