==================================================================================================
【ソ フ ト名】 LoTW2Thw.exe ARRL's Logbook of the World のデータ取得と Hamlog.hdb との照合
【著 作 権者】 太田信博 JA2BQX
【対応 環境】 Windows Xp , Windows 7 で動作確認済みです。
【必要なもの】 .NET Framework 3.5 , HAMLOG50.DLL , THW2VBNET.dll
【ソフト種別】 フリーソフトウエア
【転載 条件】 非商用であれば転載可(事後で結構ですから連絡をお願いします)
==================================================================================================
LoTW2Thw.exe ver0.15 2022.11.08
このソフト LoTW2Thw.exe は ARRL's Logbook of the World のデータ取得と
取得したQSLデータ lotwreport.adi と Hamlog.hdb との照合を行い
QSL受領済マークを書き換えるためのソフトです。
Windows 7 64bit版のパソコンにて
Visual Basic 2010 Express のプロットフォーム x86 にてコンパイルしています。
Microsoft .NET Framework 3.5 が必要です。
HAMLOG50.DLL は 2014.02.28 版が必要です。
JO1SIM 出島さんが作成された下記 THW2VBNET.dll を使用しています。
http://homepage3.nifty.com/jo1sim/
「そのほかのソフトウェア」
http://homepage3.nifty.com/jo1sim/othersoftware.html
THW2VBNET.ZIP 15kbytes (2009/08)
*****************************************************
最後の方に動作確認テストの例について記載してあります。
*****************************************************
初回起動時には「環境設定」ウインドウが表示されます。
[ MyCallsin ] [ Password ] を記入して下さい。
[ Hamlog.hdb ] は「参照」ボタンをクリックして Hamlog.hdb を指定して下さい。
このフォルダには Hamlog.mst も必要です。
メニューの「保存」ボタンをクリックして下さい。
for_LoTW.exe の QSL_rcvd_Mark.csv も利用するなら LoTW2THW.exe と同じフォルダにおいて下さい。
既にlotwreport.adi が取得済の場合にはLoTWページにLonOnしなくても「照合」ウインドウにて
処理の継続も出来ます。
メインウインドウの
「最新の lotwreport.adi のみ取得する。」をクリックして
レ点マークを付けないで「Download report 保存」をすると全ての lotwreport.adi をダウンロードするので時間が掛かります。
一度全ての lotwreport.adi にて「照合」「hdb更新」を済ませてある場合には、
次回からは「最新の lotwreport.adi のみ取得する。」をクリックしてレ点マークを付けて未ダウンロードの
lotwreport.adi のみをダウンロードする様にして下さい。
今回の処に当日の年月日が表示されていますが変更が必要なら変更して下さい。
ARRLのLoTWページにLonOnしたら
「1.Download report 保存」ボタンにて lotwreport.adi を LoTW2Thw.exe と同じフォルダに保存する。
すでにダウンロード済の時には「上書き保存」をして下さい。
ダウンロードが中断したら再開で継続して下さい。
LoTW2Thw.exe にて上手くダウンロード出来ない時にはIEなどにて別途ダウンロードして
LoTW2Thw.exe と同じフォルダにおいて下さい。
「2.Download report 変換」ボタン
ARRLのLoTWページからダウンロードした lotwreport.adi から lotwreport.csv を作成する。
「hdb更新」処理をすると lotwreport.csv を \Last_update\lotwreport.csv にコピーします。
次回 lotwreport.adi をダウンロードして lotwreport.csv を作成する際には新規に追加された分のみの
newadd_lotwreport.csvを作成しています。
各ウインドウは必ず「戻る」ボタンをクリックして下さい。
右角のXでは各ウインドウのサイズと位置の保存が出来ません。
その為に、最小化、最大化、X は非表示にしてあります。
[ 照合 ] 処理には2種類あります。
メインウインドウのメニューの
[ 照合 ] では Hamlog.hdb と同じフォルダ内の Hamlog.id0 インデックスファイルを使用します。
無い場合には Hamlogw.exe を起動して Hamlog.id0 を作成し、終了して下さい。
[ 全てのhdbと照合 ] では Hamlog.id0 インデックスファイルを使用しません。
「照合」ウインドウ・メニューの
「Hamlog.hdb 解析 と 表示」
ARRLのLoTWページからダウンロードした lotwreport.adi から lotwreport.csv にあるコールサインの
データをHamlog.hdbより抽出する。 hamlog_tmp.csv
Hamlog.hdb の全データを読み込み・表示してはいません。
Hamlog.hdb の読み込み範囲は、
lotwreport.csv の中の最も古い年月のー1ケ月から(少し範囲に余裕を持たせるため)
lotwreport.csv の中の最も新しい年月の+1ケ月までで、
lotwreport.csv にあるユニークコールサインのデータです。
こうする事により照合処理の対象データを少なくして処理時間を極力短くしています。
これは HAMLOG.dx0 をサーチしての処理ですが
( eQSL2Thw.exe にて最新に更新した HAMLOG.dx0 を読み込んでいる)
Hamlogのメニューの「オプション」「データの保守」「データ項目の幅変更」
「DX局のコールサインは、/ を含めてデュプチェックする」 にチェックが入っている場合では
「変換開始」処理を済ませた後での HAMLOG.dx0 は
/ を含めた左から6文字のコールサインの HAMLOG.dx0 が作成される。
HK0/EI4KF ==> HK0/EI4
「DX局のコールサインは、/ を含めてデュプチェックする」 にチェックが入っていない場合では
/ が含まれるコールサインの場合には/の左右の桁数の多い方の
左から6文字のコールサインの HAMLOG.dx0 が作成される。
HK0/EI4KF ==> EI4KF
上記の絡みでサーチで引っ掛からなくて出力されない事を避けるために、
Hamlog側がどちらかは人それぞれですので、どちらでも良いように
HK0/EI4KF のような場合には HK0/EI4 と EI4KF の両方サーチにしました。
左右の桁数が同じ
4D71/N0NM のような場合には 4D71 と N0NM と 4D71/N0NM の3種類サーチにしました。
LoTW2Thw.exe にて最新に更新した HAMLOG.dx0 を読み込んでいる。
作成が出来たら hamlog_tmp.csv を表示する。
「Hamlog.hdb 解析結果の表示のみ」
作成済のhamlog_tmp.csv を表示する。
メニューの「 QSL Mark 」
QSL受領マークは新旧ともに半角の英数字、及び記号の1文字のみです。
カンマ [ , ] 、ダブルコーティションマーク [ " ] 、 空白 は使用禁止です。
旧QSL受領マークを新旧QSL受領マークに書き換えるのは
新QSL受領マークが空白では無いもののみです。
[ Hamlog.hdb より取得 ]
hamlog.hdb より使用されているQSL受領マークを取得し qsl_rcvd.csv を作成します。
項目数 3ケ old , LoTW ,new 例 : *,CFM,l
[ for_LoTW.exe の QSL_rcvd_Mark.csv よりも取り込む ]
QSL_rcvd_Mark.csv は LoTW2Thw.exe と同じフォルダにおいて下さい。
for_LoTW.exe の QSL_rcvd_Mark.csv より LoTW2Thw.exe の書式に合わせて変換し
qsl_rcvd.csv にマージし重複は削除します。
項目数 4ケ old , LoTW , eQSL , new 例 : "$","CFM","CFM","L"
[ QSL受領マークの編集 ]
qsl_rcvd.csv を修正・編集します。
「照合」
LoTWでQSLデータがあると言う事は自分のアップロードしたQSOデータが
Hamlogにあるはずなので全てマッチするのが普通です。
もしマッチしないデータがあるとすれば、このソフト LoTW2Thw.exe の不具合か
LoTWにアップロードした後にHamlog側で修正・削除したとか?
Hamlog側の時刻がJSTの時にはUTCに変換してから照合処理をしています。
Hamlog側の時刻がJSTの時でそのままADIFに変換されてアップロード。
QSO相手側も同様にJSTのままADIFに変換されてアップロードすると
LoTWではマッチするのでQSLになります。
しかし LoTW2Thw ではHamlog側をUTCに変換してからの照合なので
マッチしないです。 JA局のNGが多いときは調べて下さい。
lotwreport.csv から lotw_key_ary.csv を作成、配列に読み込む。
hamlog_tmp.csv から hdb_key_ary.csv を作成、配列に読み込む。
lotw_key_ary.csv から作成した配列と、hdb_key_ary.csv から作成した配列とを
照合する。 +15分から -15分以内ならばOKとする。
旧QSL受領マークが qsl_rcvd.csv にあれば新QSL受領マークに置き換える。
照合がOKだったら Match_OK_hdb.csv に出力する。
照合がOKでQSL受領マークの書き換えが必要なら need_update_hdb.csv に出力する。
照合がNGだったら Match_NG_lotw.csv に出力する。
照合がOKならQSOデータのCFM欄は黄色にする。
さらに旧QSL受領マークから新QSL受領マークに置き換えが必要なQSOデータの
CFM欄と新QSL受領マーク欄は空色にする。
[ 照合 全てのhdb ]
Hamlog.hdb の全てを読み込みlotwreport.csv と照合処理をします。
lotwreport.csv から lotw_key_ary.csv を作成、配列に読み込む。
Hamlog.hdb から \all_hdb\hamlog_tmp.csv から \all_hdb\hdb_key_ary.csv を作成、配列に読み込む。
照合がOKだったら \all_hdb\Match_OK_hdb.csv に出力する。
照合がOKでQSL受領マークの書き換えが必要なら \all_hdb\need_update_hdb.csv に出力する。
照合がNGだったら \all_hdb\Match_NG_lotw.csv に出力する。
照合がOKならQSOデータのCFM欄は黄色にする。
さらに旧QSL受領マークから新QSL受領マークに置き換えが必要なQSOデータの
CFM欄と新QSL受領マーク欄は空色にする。
照合がNGだった \all_hdb\Match_NG_lotw.csv と\all_hdb\hdb_key_ary.csv を照合しtw
不一致の原因探しの一助になるように \all_hdb\Match_NG_lotw_csv_Check.txt に出力する。
例えば下記の例では時刻が1時間程違っています。
-------------------------------------------------------------------------------------
# SP5GRM 1998-11-14 07:27U 15M SSB #
SP5GRM 1998-11-14 08:26U 15M SSB 1998-11-14 17:26J
SP5GRM 2001-03-24 05:33U 15M SSB 2001-03-24 14:33J
SP5GRM 2003-10-25 07:46U 15M SSB 2003-10-25 16:46J
-------------------------------------------------------------------------------------
「CFM 検索」
照合がOKで、さらに旧QSL受領マークから新QSL受領マークに置き換えが必要な
QSOデータを検索し、その行にJunpする。
「hdb 更新」
need_update_hdb.csv により
照合がOKで、さらに旧QSL受領マークから新QSL受領マークに置き換える
必要のあるQSOデータのQSL欄を新QSL受領マークに書き換え処理をする。
*****************************************************
動作確認テストについて。
初期設定をして下さい。
for_LoTW.exe の QSL_rcvd_Mark.csv も利用するなら LoTW2Thw.exe と同じフォルダにおいて下さい。
メニューの「 QSL Mark 」
[ Hamlog.hdb より取得 ]
[ for_LoTW.exe の QSL_rcvd_Mark.csv よりも取り込む ]
[ QSL受領マークの編集 ]
テスト用の Hamlog.hdb と Hamlog.mst を LoTW2Thw.exe と同じフォルダにおいて下さい。
「最新の lotwreport.adi のみ取得する。」をクリックしてレ点マークを付けて
未ダウンロードの lotwreport.adi のみをダウンロードする様にして下さい。
今回の処の年月日を適切に(余り多過ぎ無い程度)変更して下さい。
LoTWのページにLOG ONします。
「1.Download report 保存」ボタンにて lotwreport.adi を LoTW2Thw.exe と同じフォルダに保存する。
「2.Download report 変換」ボタンにて lotwreport.adi を lotwreport.csv に変換するする。
lotwreport.csv を見て数件の Hamlog.hdb のQSL受領マークを旧受領マークに書き換える。
「照合」ウインドウにて 「Hamlog.hdb 解析 と 表示」と「照 合」を実行する。
「CFM 検索」にて旧受領マークが新受領マークに書き変わっているかを確認する。
「hdb 更新」をクリックして Hamlog.hdb の旧QSL受領マークを新受領マークに書き換え処理をする。
Hamlogw.exe を起動して旧受領マークが新受領マークに書き変わっているかを確認する。
【サポート等】
バグ修正・要望などは以下の方法でどうぞ。
可能な範囲内にて対応の努力をさせていただきます。
http://www.ja2bqx.sakura.ne.jp/
【免 責】
エラーチェック等を十分にしておりませんので、十分な注意の上ご利用下さい。
本プログラムを利用によって生じた全ての障害、予期しない結果等に対して
一切責任を負いません。プログラムに瑕疵が有る場合も同様です。
【改版 履歴】
Ver 0.15 2022.11.08
[ 照合 ] Form4 [ QSL Mark ] [ Hamlog.hdb より取得 ] にて
左側の項目が本来は1桁のはずが2桁で出力されるのを修正した。
[ QSL_Rcvd_Mark.csv の修正 ] ウインドウを変更した。
Ver 0.14 2019.05.31
MFSK FT4 を FT4 に置き換える )
Ver 0.13 2019.05.11
HAMLOG.dx0 の有無のチェックを修正した。
Ver 0.12 2019.05.07
必要なファイルが無い時にエラーメッセージを出す様に修正した。
Ver 0.11 2019.03.09
error_Form4.log エラーログの出力のミスを修正した。
Ver 0.10 2019.03.03
エラーログの出力関係の修正をした。 error_Form4.log , error_Form14.log
Ver 0.09 2018.12.02
Hamlog.hdb の各項目内に改行コードが入っていると照合でエラーになるので修正した。
Ver 0.08 2016.10.09
ログインが上手く行かないのでログインのアドレスを変更した。
Ver 0.07 2014.05.01
照合処理を再度見直し修正した。
HAMLOG.dx0 サーチ時のコールサインを複数でサーチする様に変更した。
[ 照合 全てのhdb ] のメニューに [ 表示 ] と [ QSL Mark ] を追加した。
[ クリックした行を削除する ] ボタンを追加した。
[ qsl_rcvd.csv ] の [ 保存 ] 時に空白が追加されるのを修正した。
Ver 0.06 2014.04.29
照合処理を再度見直し修正した。
[ 照合 全てのhdb ] を追加した。
照合するバンドに 435MHz 5750MHz を追加した。
照合時のバンドに M または CM を付けるように修正した。
Ver 0.05 2014.04.21
照合処理の不具合を修正した。
照合処理の為の Hamlog.hdb の読み込みを見直しした。
Ver 0.04 2014.04.18
ソフト名を LoTW2Thw に変更した。 ( Thw と小文字に )
幾つかの不具合を修正した。
Ver 0.03 2014.04.14
照合処理の不具合を修正した。
newadd_lotwreport.csv と need_update_hdb.csv の作成を追加した。
Ver 0.02 2014.04.03
幾つかの不具合を修正した。
Ver 0.01 2014.03.14
初版のテスト版。