一括表示

[No.15220] FiveQSOで QSL番号が最後の番号と異なる時が 投稿者:JA9AOB 銅子  投稿日:2016/09/26(Mon) 16:01:16

FiveQSO.QSLを変更して使用しています。
データ件数によっては、印刷場所が余るので、
データを印刷後に最後のデータの情報を使ってコメント・Rig等を印刷しています。
所が、よく見ると、関係ないデータが印刷される事に気がつきました。

オリジナルのFiveQSOではどうなるか試して見ました。 Rigは1件目のデータで印刷されるので、問題無いのですが、
QSL番号はデータを印刷後に印刷しているので、ここに注目してテストしてみました。
 結果は コールが切り替わる際には 次の コールの先頭データのレコード番号
 連続している場合を含み 5件印字の際は 最終印刷したデータのレコード番号
となる規則性が有るようです。 私の使っているものも同じ現象でした。
よく考えると #EndLoop で終了は 最終データですが #Readk *1000 等で終了する場合は
インデックスが次に進んでいますのでまさにこの現象と一致しているように思われました。
そこで、これが原因とすれば、#Readk *1000 等で終わるときはインデックスを戻して頂ければ良いような気も致します。
的外れの推測かも分かりませんが、ご検討頂ければ幸いです。
説明不足でわかりにくいかも分かりませんが、よろしくお願い致します。




  


[No.15221] Re: FiveQSOで QSL番号が最後の番号と異なる時が 投稿者:JP7CZE 川辺  投稿日:2016/09/26(Mon) 22:06:56

JA9AOB 銅子さん,

> データを印刷後に最後のデータの情報を使ってコメント・Rig等を印刷しています。
> 所が、よく見ると、関係ないデータが印刷される事に気がつきました。
>
> オリジナルのFiveQSOではどうなるか試して見ました。 Rigは1件目のデータで印刷されるので、問題無いのですが、
> QSL番号はデータを印刷後に印刷しているので、ここに注目してテストしてみました。
>  結果は コールが切り替わる際には 次の コールの先頭データのレコード番号
>  連続している場合を含み 5件印字の際は 最終印刷したデータのレコード番号
> となる規則性が有るようです。 私の使っているものも同じ現象でした。
> よく考えると #EndLoop で終了は 最終データですが #Readk *1000 等で終了する場合は
> インデックスが次に進んでいますのでまさにこの現象と一致しているように思われました。
> そこで、これが原因とすれば、#Readk *1000 等で終わるときはインデックスを戻して頂ければ良いような気も致します。
> 的外れの推測かも分かりませんが、ご検討頂ければ幸いです。
> 説明不足でわかりにくいかも分かりませんが、よろしくお願い致します。

わたしも同じ結果になったこともあって,QSL No.は,交信データの項目の一つとして,他のデータ(日時,Your/My RS,Band などなど)と一緒に書き出すようにしました.
これは,私がQSL No.イコール 交信記録番号 という考え方もあったからです.なので,5行印刷しようが,8行印刷しようがそれぞれのQSOにはそれぞれのQSL No.が付く,ということです.

そんなことで,一交信ごとに,"!NO" を取得して書き込んでいます.
本来は,Rig/Antも,同様に1交信ごとに書き込んでいけば,問題ないはずですが,うっとうしいですよね,いちいち書かれていると.


[No.15222] Re: FiveQSOで QSL番号が最後の番号と異なる時が 投稿者:JA9AOB 銅子  投稿日:2016/09/27(Tue) 07:48:05

> わたしも同じ結果になったこともあって,QSL No.は,交信データの項目の一つとして,他のデータ(日時,Your/My RS,Band などなど)と一緒に書き出すようにしました.
> これは,私がQSL No.イコール 交信記録番号 という考え方もあったからです.なので,5行印刷しようが,8行印刷しようがそれぞれのQSOにはそれぞれのQSL No.が付く,ということです.
>
> そんなことで,一交信ごとに,"!NO" を取得して書き込んでいます.
> 本来は,Rig/Antも,同様に1交信ごとに書き込んでいけば,問題ないはずですが,うっとうしいですよね,いちいち書かれていると.

QSL番号はオリジナルでもこんな現象ですと言う事で、QSL番号を特に印刷したいわけではありません。
従来は、Max5件のみの印刷でしたので、一番最初のデータでRig Remaks等を印刷していました。
しかし、もう少し件数を増やしたくて、7件まで拡張し、目一杯拡張しようとしました。移動先・SAT情報等は個々のデータ毎に印刷する必要があり1行では済まないので、拡張部分は、Rig等の情報を犠牲にせざるを得ません。結局5件までは従来通のデザインで、6件7件の時はこれらの付属情報を
削る方法でやっています。このためには、コメント等の情報は先に印刷するわけに行かず、最後のデータを印刷してその件数をみて印刷せざるを得なくなったのです。
HFのデータしかないのに、なぜか、SATのRigが印刷されたりする事があり、不思議に思い、テストした次第です。
さて、どうしようかな。


[No.15224] Re: 対応策が見つかりました 投稿者:JA9AOB 銅子  投稿日:2016/09/29(Thu) 13:05:18

> QSL番号はオリジナルでもこんな現象ですと言う事で、QSL番号を特に印刷したいわけではありません。
> 従来は、Max5件のみの印刷でしたので、一番最初のデータでRig Remaks等を印刷していました。
> しかし、もう少し件数を増やしたくて、7件まで拡張し、目一杯拡張しようとしました。移動先・SAT情報等は個々のデータ毎に印刷する必要があり1行では済まないので、拡張部分は、Rig等の情報を犠牲にせざるを得ません。結局5件までは従来通のデザインで、6件7件の時はこれらの付属情報を
> 削る方法でやっています。このためには、コメント等の情報は先に印刷するわけに行かず、最後のデータを印刷してその件数をみて印刷せざるを得なくなったのです。
> HFのデータしかないのに、なぜか、SATのRigが印刷されたりする事があり、不思議に思い、テストした次第です。
> さて、どうしようかな。
解決策が見つかりました。各データ毎にRigの読み込みをしておけば、川辺さんのご指摘のように、どのような終了であっても最後のデータのRigが読み込まれているので、これを印刷すれば良いだけでした。ヒント有り難う御座いました。
コメント等もその都度読み込み、変数に保存しておけば対応出来ます。例題のQSLNoも同様です。変数不足気味になってきましたが。

【2016/09/29(Thu) 16:38:25 投稿者により修正されました。】


[No.15225] Re: 対応策が見つかりました 投稿者:JP7CZE 川辺  投稿日:2016/09/30(Fri) 13:03:04
Re: 対応策が見つかりました (画像サイズ: 650×155 42kB)

> 解決策が見つかりました。各データ毎にRigの読み込みをしておけば、川辺さんのご指摘のように、どのような終了であっても最後のデータのRigが読み込まれているので、これを印刷すれば良いだけでした。ヒント有り難う御座いました。

無事解決して何よりです.

>どのような終了であっても最後のデータのRigが読み込まれているので、

誤解を与えるかなと思ったので...言い換えると,正確には,

同じCallSignの並びの,次の異なるCallSignの行のデータ,ということになります.

1 AA1AA
2 AA1AA ここまでの1,2の2行が印刷されて(正確では無いかも知れませんが),
3 AA2BB この行が違うと判定され,ループから脱出してAA1AAのカードが印刷される.

上の図の例では,
8N0YAMA/0
8N0YAMA
8N9W7K/9
という並びで,8N0YAMAが続いて,その次が8N9W7K/9だったので,8N0YAMAの2行が印刷された(正確では無いかも知れませんが),

ということですね.逆にややこしかったかしら.

> コメント等もその都度読み込み、変数に保存しておけば対応出来ます。例題のQSLNoも同様です。変数不足気味になってきましたが。

いやぁ,ほんとに.数字変数も文字変数も,ですね.

$$AA のような,2文字の変数と1文字の変数との混在は難しいでしょうが,
$$1A のような,$$の後に数字がきた場合には次の1文字は変数名の2文字目,と決めてしまえば,楽かも知れないですね.

頭で考えるのは楽ですが(^^;

【2016/09/30(Fri) 13:05:24 投稿者により修正されました。】


[No.15226] Re: 対応策が見つかりました 投稿者:JA9AOB 銅子  投稿日:2016/09/30(Fri) 15:31:36

>
> 誤解を与えるかなと思ったので...言い換えると,正確には,
>
> 同じCallSignの並びの,次の異なるCallSignの行のデータ,ということになります.
>
> 1 AA1AA
> 2 AA1AA ここまでの1,2の2行が印刷されて(正確では無いかも知れませんが),
> 3 AA2BB この行が違うと判定され,ループから脱出してAA1AAのカードが印刷される.
>
> 上の図の例では,
> 8N0YAMA/0
> 8N0YAMA
> 8N9W7K/9
> という並びで,8N0YAMAが続いて,その次が8N9W7K/9だったので,8N0YAMAの2行が印刷された(正確では無いかも知れませんが),
>
> ということですね.逆にややこしかったかしら.
そのとうりです。8N9W7K/9を読み込んで初めて、異なっていることが分かる訳ですから。
そこで、切り替わる前のデータの内容を使いたい場合には、
1.ポインターを戻し1つ前のデータを読み直す(ここでは 8N0YAMAに戻す)方法
2.次に変化することを考えて、常に必要な項目を保存しておく方法
 8N0YAMA/0 の時も 8N0YAMA の時も 次のデータは変化するかも分からないので、常に保存しておくと言う事です。
 変化があったら、保存データを使えばいいわけです(行番号、Rig等)