Turbo HAMLOG活用相談室は、アマチュア無線業務日誌SOFT「Turbo HAMLOG」の使い方についてのご意見ご質問を受け付ける掲示板です。
Turbo HAMLOG以外の事についての書き込みはご容赦ください。
アマチュア無線全般についての投稿は、アマチュア無線運用情報交換室をご活用下さい。
HAMLOG 活用相談室
このフォームからは投稿できません。
name
e-mail
url
subject
comment

[新規順タイトル表示] [ツリー表示] [新着順記事] [留意事項] [ワード検索] [過去ログ] [管理用]

  [No.19420] Re: コールサインが連続している場合の印刷 投稿者:JA9AOB 銅子   投稿日:2019/11/19(Tue) 08:23:45

> データは連続している局は3局、いずれも2回のQSO。
> {症状} 定義ファイル「FiveQSO.qsl」、JARL指定順で、3局のQSLカード印刷した時。
> 1.1局目のQSL#のNoは2局目の連続するコールサイン2件のうちの1件目のNoが
>   入ってくる。.
> 2.2局目のQSL#のNoは3局目の連続するコールサイン2件のうちの1件目のNoが
>   入ってくる。
> 3..3局目のQSL#のNoは3局目の連続するコールサイン2件のうちの2件目のNoが
>   入ってくる。 JARL指定逆順は1.2.は2件目のNoが、3.は1件目のNoが入る。

色々ご検討の様ですが、定義ファイルを見るとその様に成っているようです。
;-------2回〜5回目をループで印刷する ----------------------------
#Mov $$V=1
#Mov $$U=4
#Mov $$Y=410; 2回目の縦座標
#DoLoop; ループ始まり
#Readk *992; 同じコールサインでなければ*992へ
// 途中略(データの印字)
#Mov $$Y=$$Y+60
#Mov $$V=$$V+1
#Mov $$U=$$U-1
#EndLoop $$U; $$Uがゼロになったらループ終わり

*992
// 途中略
#Print 200, 945, "QSL#:!NO"; QSL No.印刷

データ件数が2〜4件の際は
#Readk *992; 同じコールサインでなければ*992へ
でQSL No 印刷に移動します。
内容は次のデータを読み込んだ所Callが変化していたのでそのレコード番号を印刷します 
ですから、当然次のCallのレコードNoを印刷しています。次のCallがない場合は動作は不定ですが最後のデータのレコードNoを印刷しているのでしょう。

更に5件有る場合は 
$$Uがゼロになったらループ終わり
で次のデータを読み込む前にレコード番号を印刷していますので 最後のデータのレコードNoを印刷します。

原理的に最後のレコードNoを使う事は無理で、最初のレコードNoを使って印刷すれば解決されます。
私は、この方法で行っています。
具体的には 現在の #Print 200, 945, "QSL#:!NO"; QSL No.印刷
の部分を次の部分にコピーし 元のものは「;」を付けてコメントアウトしすれば完了です

#FontSize=12
#Print 20, 350, "!cp"
#Print 260, 350, "!Dd-!DJ-!DY"; 14-Apr-2004
#Print 520, 350, "!TH:!TM"; 時間 08:30
#Print 670, 350, "!HR"; RST
#PrintC 730, 350, 120,"!FR"; 周波数帯
#PrintC 850, 350, 100,"!MD"; モード

#Print 200, 945, "QSL#:!NO"; QSL No.印刷  ここへ移動

#FontName="MS 明朝"


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No 削除キー