[掲示板へもどる]
一括表示

  [No.22303] QSL定義ファイルについて 投稿者:JJ1BUZ   投稿日:2021/07/07(Wed) 23:27:14

一つの定義ファイルで同一コールサイン複数QSOだけ書式を分けようと思い、次のような定義ファイルを作成しました。
書式は切り替わるのですが、交信データが最後の一交信だけ印字され、複数印字されません。
ご指南いただければ幸いです


#Yoko

; 既成の白紙QSLカードに直接印刷する・
;複数交信と一交信を区別して印刷・

;-----共有ヘッダー部-----

#Size 1480, 1000
#LineS 2, 0, 255 ; JARL転送枠
#LineR 85, 98, 175, 165,
#LineR 85, 188, 175, 255,
#LineR 85, 278, 175, 345,
#LineR 85, 368, 175, 435,
#LineR 85, 458, 175, 525,
#LineR 85, 548, 175, 615,
#FontName="@MS ゴシック"
#FontSize=20
#FontColor=0
#FontStyle=0
#Print 95, 550, "!C1"; JARL転送枠1文字目
#Print 95, 460, "!C2"
#Print 95, 370, "!C3"
#Print 95, 280, "!C4"
#Print 95, 190, "!C5"
#Print 95, 100, "!C6"

;-----ライン指定-----
#LineS 2, 0, 33023



;-----複数or一交信の分岐 一交信だと*100へ-----
#Readk *1000

;-----複数交信データ枠-----

#LineX 260, 177, 1140, ; データ罫線 
#LineX 260, 222, 1140,


#FontName="Georgia"
#FontSize=9
#FontColor=0
#FontStyle=0
#PrintC 260, 180, 160, "Year"    ; 年
#PrintC 430, 180, 150, "Month"    ; 月
#PrintC 580, 180, 130, "Day"    ; 日
? UTC!
#PrintC 710, 180, 190, "JST" ; 時間
? UTC
#PrintC 710, 180, 90, "UTC"

? Data7! "JT65" ; モードがJT65以外
? Data7! "JT9" ; モードがJT9以外
#PrintC 900, 180, 160, "RST" ; RSTを印字
? Data7 "JT65" ; モードがJT65
#PrintC 900, 180, 160, "dB" ; dBを印字
? Data7 "JT9" ; モードがJT9
#PrintC 900, 180, 160, "dB" ; dBを印字

#PrintC 1060, 180, 170, "MHz"   ; 運用帯   
#PrintC 1230, 180, 170, "2Way" ; モード


#FontName="HG丸ゴシックM-PRO"
#FontSize=10
#FontColor=0
#FontStyle=0
#PrintC 265, 230, 150, "!DY" ; 2012
#PrintC 435, 230, 140, "!DJ" ; Feb
#PrintC 585, 230, 120, "!DD" ; 11
#PrintC 715, 230, 180, "!TH:!TM" ; 08:30
#PrintC 905, 230, 150, "!HR" ; 599
#PrintC 1065, 230, 160, "!FR" ; 1200
#PrintC 1235, 230, 160, "!MD" ; SSB


;-------2回〜5回目をループで印刷する ----------------------------
#Mov $$V=1
#Mov $$U=3
#Mov $$Y=275; 2回目の縦座標
#DoLoop; ループ始まり
#Readk *992; 同じコールサインでなければ*992へ

#PrintC 265, $$Y, 150, "!DY"; 2021
#PrintC 435, $$Y, 140, "!DJ"; Feb
#PrintC 585, $$Y, 120, "!DD"; 11
#PrintC 715, $$Y, 180, "!TH:!TM"; 時間 08:30
#PrintC 905, $$Y, 150, "!HR"; RST
#PrintC 1065, $$Y, 160,"!FR"; 周波数帯
#PrintC 1235, $$Y, 160,"!MD"; モード

#Mov $$Y=$$Y+45
#Mov $$V=$$V+1
#Mov $$U=$$U-1
#EndLoop $$U; $$Uがゼロになったらループ終わり

*992
#Mov $$A=$$V; 数値を文字列に変換
#FontSize=8
#Print 570, $$Y, "--- End of QSO-DATA(!$$A) ---"

#FontName="AR PPOP4B"
#FontSize=8
#FontColor=0x00FF8080
#FontStyle=0
#Print 320, $$Y+35, "TNX FB QSO HPE CU AGN"
? Rcv!
#Print 1200, $$Y+35, "QSL Pse"
? Rcv
#Print 1200, $$Y+35, "QSL Tnx"

;-----RIG,ANT,RMKS-----

#FontName="meiryo ui"
#FontSize=11
#FontColor=0
#FontStyle=0
#PrintC 350, 490, 130, "Rig:" ; RIG
#Print 500, 490, "!RG Output !Pww" ; RIG
#PrintC 350, 535, 130, "Ant:" ; ANT
#Print 500, 535, "!AN !Hi mH" ; ANT
#PrintC 350, 580, 130, "Rmks:" ; RMKS
#Print 500, 580, "!Co" ; RMKS


;-----自局コールサイン-----
#FontName="DFP太丸ゴシック体N"
#FontName="HGep054"
#FontName="HGep044"
#FontName="HGep030"
#FontName="HGep007"
#FontName="HGep002"
#FontName="CRPC&Gブーケ04"
#FontName="AR P丸ゴシック体M"
#FontName="meiryo ui"
#FontName="AR PPOP4B04"
#FontName="BIZ UDP明朝 Medium"

#FontSize=36
#FontColor=0x00A00000
#FontStyle=1
#Print 480, 640, "******"

;-----QTH,OP-----
#FontName="meiryo ui"
#FontSize=11
#FontColor=0
#FontStyle=0
#Print 450, 760, "*************"
#Print 370, 810, "********"
#FontSize=10
#Print 670, 815, "****************"



;-----Rmks_2-----
#FontName="CRPC&Gブーケ04" #FontSize=16
#FontColor=0x000080FF
#FontStyle=3
#PrintC 200, 880, 1000, "!R2"


#Exit


*1000
;-----一交信用-----
;-----交信データ-----
#LineX 210, 177, 1210,
#LineX 210, 185, 1210,
#LineX 210, 240, 1210,
#LineX 210, 330, 1210,
#LineX 210, 338, 1210

#FontName="AR PPOP4B"
#FontSize=9
#FontColor=0x00FF8080
#FontStyle=0
#PrintC 240, 200, 160, "Year"    ; 年
#PrintC 420, 200, 150, "Month"    ; 月
#PrintC 580, 200, 130, "Day"    ; 日
? UTC!
#PrintC 710, 200, 190, "JST" ; 時間
? UTC
#PrintC 710, 200, 90, "UTC"

? Data7! "JT65" ; モードがJT65以外
? Data7! "JT9" ; モードがJT9以外
#PrintC 900, 200, 160, "RST" ; RSTを印字
? Data7 "JT65" ; モードがJT65
#PrintC 900, 200, 160, "dB" ; dBを印字
? Data7 "JT9" ; モードがJT9
#PrintC 900, 200, 160, "dB" ; dBを印字

#PrintC 1060, 200, 170, "MHz"   ; 運用帯   
#PrintC 1230, 200, 170, "2Way" ; モード

#FontName="HG丸ゴシックM-PRO"
#FontName="meiryo ui"
#FontSize=13
#FontColor=0
#FontStyle=0
#PrintC 245, 260, 150, "!DY" ; 2012
#PrintC 425, 260, 140, "!DJ" ; Feb
#PrintC 585, 260, 120, "!DD" ; 11
#PrintC 715, 260, 180, "!TH:!TM" ; 08:30
#PrintC 905, 260, 150, "!HR" ; 599
#PrintC 1065, 260, 160, "!FR" ; 1200
#PrintC 1235, 260, 160, "!MD" ; SSB

;-----RIG,ANT,RMKS-----
#FontName="AR PPOP4B"
#FontSize=8
#FontColor=0x00FF8080
#FontStyle=0
#Print 320, 345, "TNX FB QSO HPE CU AGN"
? Rcv!
#Print 1200, 345, "QSL Pse"
? Rcv
#Print 1200, 345, "QSL Tnx"

#FontName="meiryo ui"
#FontSize=11
#FontColor=0
#FontStyle=0

#PrintC 300, 390, 130, "Rig:" ; RIG
#Print 450, 390, "!RG Output !Pww" ; RIG
#PrintC 300, 435, 130, "Ant:" ; ANT
#Print 450, 435, "!AN !Hi mH" ; ANT
#PrintC 300, 480, 130, "Rmks:" ; RMKS
#Print 450, 480, "!Co" ; RMKS


;-----自局コールサイン-----
#FontName="DFP太丸ゴシック体N"
#FontName="HGep054"
#FontName="HGep044"
#FontName="HGep030"
#FontName="HGep007"
#FontName="HGep002"
#FontName="CRPC&Gブーケ04"
#FontName="AR P丸ゴシック体M"
#FontName="meiryo ui"
#FontName="AR PPOP4B04"
#FontName="BIZ UDP明朝 Medium"

#FontSize=32
#FontColor=0x00A00000
#FontStyle=1
#Print 470, 570, "******"

;-----QTH,OP-----
#FontName="meiryo ui"
#FontSize=11
#FontColor=0
#FontStyle=0
#Print 450, 680, "****************"
#Print 450, 730, "神奈川県***"
#FontSize=10
#Print 770, 730, "JCC#****"
#Print 770, 775, "GL:******"


;-----Rmks_2-----
#FontName="CRPC&Gブーケ04"
#FontSize=18
#FontColor=0x000080FF
#FontStyle=3
#PrintC 200, 860, 1000, "!R2"


  [No.22304] Re: QSL定義ファイルについて 投稿者:JA9AOB 銅子   投稿日:2021/07/08(Thu) 08:11:57

> 一つの定義ファイルで同一コールサイン複数QSOだけ書式を分けようと思い、次のような定義ファイルを作成しました。
> 書式は切り替わるのですが、交信データが最後の一交信だけ印字され、複数印字されません。
> ご指南いただければ幸いです

#MaxCall=5; 5回分

等を指定するする必要があります。 
一回目の処理中(転送枠印刷直後)に

;-----複数or一交信の分岐 一交信だと*100へ-----
#Readk *1000

;-----複数交信データ枠-----

がありますが、これでは1件目を処理する前に2件目を読み出しています。疑問のある処理です

FiveQSO.qsl
と言うファイルがありますので これを参考に拡張されたら如何でしょう

追伸
FiveQSO.qsl での処理の進捗を確認ください
QSL定義ファイルを読み出した際には1件目のデータが読み出されていますので、このデータでQSLの体裁(相手のコールや自局のコール・QTH等)を成しています。
;-------2回〜5回目をループで印刷する ----------------------------
以下で 引き続き同じコールの場合に QSOデータを読み出し 印刷しています

最後に コールが変化または指定件数を超えたとき
QSL 番号(最後に印字したレコード番号)等を印刷して終了
と成っています。

【2021/07/08(Thu) 08:31:56 投稿者により修正されました。】


  [No.22305] Re: QSL定義ファイルについて 投稿者:JJ1BUZ   投稿日:2021/07/08(Thu) 22:03:45

JA9AOB 銅子様

ご教示ありがとうございます。
#Readk の挿入位置がポイントですね、
次データを読み出すタイミングを整理してトライしてみます。
ありがとうございました。


  [No.22306] Re: QSL定義ファイルについて 投稿者:JA9AOB 銅子   投稿日:2021/07/09(Fri) 06:26:53

> JA9AOB 銅子様
>
> ご教示ありがとうございます。
> #Readk の挿入位置がポイントですね、
> 次データを読み出すタイミングを整理してトライしてみます。
> ありがとうございました。

;-----複数or一交信の分岐 一交信だと*100へ-----
#Readk *1000

;-----複数交信データ枠-----

この部分は サブルーチン呼び出しの感じに成っていますが これを使うのであれば 別ファイルに書いて  #Load "QSL_1Line_SUB.QSL" ; 1行印刷
の様に #Load "ファイル名"  を使う必要があります。
少なくても ここで #Readk *1000 はあり得ません。


  [No.22309] Re: QSL定義ファイルについて 投稿者:JJ1BUZ   投稿日:2021/07/09(Fri) 19:05:11

JA9AOB 銅子様

重ね重ねのご教示ありがとうございます。
#Loadの使い方を勉強してみます

ありがとうございました

> ;-----複数or一交信の分岐 一交信だと*100へ-----
> #Readk *1000
>
> ;-----複数交信データ枠-----
>
> この部分は サブルーチン呼び出しの感じに成っていますが これを使うのであれば 別ファイルに書いて  #Load "QSL_1Line_SUB.QSL" ; 1行印刷
> の様に #Load "ファイル名"  を使う必要があります。
> 少なくても ここで #Readk *1000 はあり得ません。