LoTW_appの紹介

==========================================================================
【ソ フ ト名】  LoTW_app.exe  LoTW の未CFMデータを抽出する。
【著 作 権者】  太田信博 JA2BQX
【対応  環境】  Windows Xp , Windows 7 で動作確認済みです。
【必要なもの】  
【必要なもの】  MS .NET Framework 3.5 , LoTW_app.mas , Start.htm , Logoff.htm 
                Turbo HAMLOG for Windows の THDLL2VB.DLL と HAMLOG50.DLL 
【ソフト種別】  フリーソフトウエア
【転載  条件】  非商用であれば転載可(事後で結構ですから連絡をお願いします)
============================================================================

    LoTW_app.exe ver 0.08       2015.07.03


このソフトはARRLのLoTW( Logbook of the World )のページより

[ Log On  ] ==> [ Awards ]  ==> [ Select Awards DXCC Account ] から 
[ Your Logbook DXCC Account ] のページの [ View Award Credit Matrix ]

[ DXCC Award Credit Report ] の表を取得し
クレジットがまだ(未CFM、 Xマークが無いモード、バンド)のデータを
Hamlog.hdb や ADIF から抽出するためのものです。

実際に Pending でエンドーズメント申請はしなくくても良いです。
Matrix_new.csv は Pending でエンドーズメント申請をしたと仮定しての
シュミレーション結果と受け止めて下さい。

Matrix_last.csv は 紙QSLでCFMのQSOデータ OnlineDXCC_qsl_need.adi を 
エンドーズメント申請をしたと仮定してのシュミレーション結果と受け止めて下さい。

Online DXCC 申請テスト用として使えます。


[ 使い方 ]
ZIPファイルを解凍します。( 例: C:\LoTW_app\ )

[ MyCallsign ] を入力します。
[ Password ] を入力します。
[ MyCallsign + Password 保存 ]  ボタンをクリックします。

* [ Matrix ] 又は [ Pending ] を取得する時

LoTW のページが表示されたら [ Log On ] ボタンをクリックします。
[ Log On ] が完了したら [ LoTW の Matrix を取得 ] をクリックします。[ Matrix_now.csv ]

次に [ LoTW の Pending を取得 ] ボタンをクリックします。[ Matrix_new.csv ]
取得された各ファイルは [ Matrix 表示 ] にて確認できます。


* 申請用データの抽出
[ File ] [ Hamlog.hdb ] か [ ADIF ] を選択し入力ファイルを指定します。
[ Hamlog.hdb ] を指定した時には [ read hdb + need QSL ] 
[ ADIF ] を指定した時には [ read ADIF + need QSL ] を実行します。
[ OnlineDXCC_qsl_need_print.txt ] 及び
[ OnlineDXCC_qsl_need.dxc ] が出力されます。
[ OnlineDXCC_qsl_need_print.txt ] を印刷してQSLカードを揃えます。
次に [ *.dxc を 申請用に整形 ] の処理に進みます。


*.dxc を 申請用に整形

[ OnlineDXCC_qsl_need_print.txt ] を印刷してQSLカードを揃えます。
[ File Open ] [ dxc ] にて *.dxc を指定すると、表示されます。
1枚のQSLカードに複数QSOデータが記入されている時は
右側の番号を全て同じにします。
( 編集の方法は [ HELP ] の [ 編集方法 ] を参照のこと )
[ Save_CSV ] を実行する。 ARRLの指定順にソートされます。
( 1枚に複数のQSOデータは最後の方に移動します。)
[ Save_ADIF ] を実行する。 [ OnlineDXCC_qsl_need.adi ] が作成されます。
このファイルを ARRL Online DXCC にアップロードします。


ソート順はARRLの指定順、及び Matrix の順に合わせています。
Band : 160 > 80 > 40 > 30 > 17 > 15 > 12 > 10 > 6 > 2  
Mode :  SSB > CW > RTTY
SAT  PSK31 などのデジタルは未処理

但し Online DXCC では特には求められていないようだが
申請を送信(Submit Application)処理した後に、Application Historyのタブを押したのち、
View Applicationボタンからリスト画面を呼び出し、申請書をプリントアウトしてから
JARLのDXCCのフィールドチェックを受ける必要があるので上記ソート順位にしています。

------ ARRL DXCC Page より抜粋 -------
http://www.arrl.org/dxcc-forms

Your cards MUST be sorted in the following order:

1. Band
2. Mode within each band
3. Cards with more than one QSO (multiples) keep together at the end. 
   There is no specific sort order for multiples.

Once sorted, list the cards on the record sheet in exactly the same order in which they were sorted.

Note: Do not sort card(s) by callsign or by entity (country) name.

------------ ARRL Online DXCC より抜粋 ----------------
http://www.arrl.org/news/online-dxcc-application-to-debut-april-2

Using the Online DXCC Application, the user can select the cards that he or she 
would like to have checked by a card checker and, at his or her convenience, 
type that data into a form (which can be saved and retrieved at any time until submitted) and 
make an application for DXCC. When the application is finished, 
the participant will be able to print the list of cards and take the list and the cards 
(in the same order that they are entered into the form) to a card checker who will check the cards, 
note any changes and send the form to ARRL HQ. The card checker’s job is exactly the same as before, 
except he or she does not need to collect a payment (unless the participant has worked that out with 
the card checker), as the client can pay online. Once submitted, DXCC staff can access the file 
submitted by the client, quickly make any changes noted by the card checker and process the application. 
The Online DXCC Application will have rates that are half those of a traditional paper QSL application 
that is sent to ARRL HQ.

Advantages of submitting your DXCC application using Online DXCC include:
------------------------------------------------------------------------------

[ 編集方法 ]

OnlineDXCC_qsl_need_print.txt をもとに紙QSLカードを揃えて
1枚のQSLカードに複数QSOデータが記入されている場合には
右端の番号を同じに編集するにはメニューの [ File Open ] の [ dxc ] にて 
[ OnlineDXCC_qsl_need.dxc ] を指定します。
表示されたら編集したい [ Edit_No. ] セル(右端の番号)をクリックします。
左上に 数字 が転記されますので修正してから [ カレントセルに値を書き込み ] をクリックします。
変更後の番号が [ Edit_No. ] セルに転記されます。

現在の Matrix ( Matrix_now.csv ) または
現在の Matrix ( Matrix_now.csv ) + Pending ( Matrix_new.csv ) から
追加申請可能な ( Matrix に記号が書かれていない ) QSOデータを抜き出して
申請可能なQSOデータの一覧印刷用ファイル ( OnlineDXCC_qsl_need_print.txt )を出力。
これを元に紙QSLカードを揃えます。
1枚のQSLカードに複数QSOデータが記入されている場合には右端の番号を同じにします。
OnlineDXCC_qsl_need.dxc
例:
元ファイル
    3  3X3AA         15/06/13    12   RTTY  3X    Guinea                        3
    4  3Y0BE         10/03/13    10   RTTY  3Y/b  Bouvet                        4 <==
    5  3Y0BE         15/06/13    12   CW    3Y/b  Bouvet                        5 <==
    6  5D7AT         19/10/12    12   SSB   CN    Morocco                       6

修正後のファイル
    3  3X3AA         15/06/13    12   RTTY  3X    Guinea                        3
    4  3Y0BE         10/03/13    10   RTTY  3Y/b  Bouvet                        401 <==
    5  3Y0BE         15/06/13    12   CW    3Y/b  Bouvet                        402 <==
    6  5D7AT         19/10/12    12   SSB   CN    Morocco                       6

上記の例では1枚のQSLカード内のQSOデータの順番は指定していません。
QSOデータの順番順に並べたい時は下記のように編集します。

編集したい [ Edit_No. ] セルをクリックする。
転記されたセルの値を編集する。
[ カレントセルに値を書き込み ] ボタンをクリックする。
修正後の 番号が [ Edit_No. ] セルに転記されます。
1枚のQSLカードに複数QSOが記載されている時
表示されている [ データ件数 ] より多い番号に変更して下さい。
例:  データ件数 = 123  の時に
右側のレコード番号 4 は 401 の様にして下さい。
QSLカードの中でのデータの順番を指定するには 401 , 402 ., ..などの様にします。
順番が 404 ,401 , 403 , 402 の様に入れ替わっていても構いません。
401 , 402 , 402 , 403 の様な順番に並び変わります。

[ Save_CSV ] ボタンをクリックしてソート処理をします。
[ Save_ADIF ]  ボタンをクリックすればソート処理の結果と申請用の ADIF が出力されます。


紙QSL受領かどうかの判断については
  Logger32.exe などの ADIF では Y のみを紙QSLカードの受領とします。 
  入力がADIFファイルの時には Y のQSOデータは除外します。
  (すでにLoTWにてエンドーズしている可能性があるためです。)

    Turbo HAMLOG for Windows
  QSL欄(3桁)の左側から3文字目の文字が空白では無い時。(通常は * )
  独自に指定・設定するには下記の規則により記入します。
  [ THW の 紙QSL でQSL受領とするマーク ] に
  複数文字を指定する時には半角で区切り文字を入れずに続けて入力します。  
  空白はダメです。  例 : *aA+C  
  [ 受領マーク保存 ] をクリックします。


LoTW + Online DXCC + 紙QSOでの申請 の全ての申請結果が
LoTWに反映(リンク)されている事が前提です。
例えば紙QSLでの申請もしてあるがぉTWにはリンクさせていないとすると
取得した Matrix には紙QSLでのCFM分が入っていません。
従って、loTW_app.exe で抽出した「申請可能QSOデータ」には
既に紙QSLで申請分で出てきてしまうので重複する事になります。
 
入力QSOデータは Turbo HAMLOG for Windows ( THW ) ver 5以上のHDB、
Logger32.exe の ADIF ファイルを対象としています。 
ADIF には DXCC 番号が記載されている必要があります。 
DXCC 番号が記載されていないデータは読み飛ばされます。
THWから出力されたADIFファイルにはDXCC 番号が記載されていないデータは読み飛ばされます。
コールサインからEntity、DXCC番号を取得する機能は盛り込んでありません。

[ read hdb + need QSL ] と [ read ADIF + need QSL ] の処理に付いては
\Matrix_got.csv が作成されていれば [ Log On ] する必要はありません。

[ LoTW の Matrix を取得 ] の処理では
現在の Matrix が  Matrix_now.csv に保存されます。  CFM  ==>  X のみです。
同時に Matrix_got.csv にコピーします。 

[ LoTW の Pending を取得 ] の処理では
エンドーズメント可能な Pending_credits_all_QSOs.csv を作成します。
( Matrix_now.csv ) に + を追記した ( Matrix_new.csv ) を作成します。CFM ==> X に加えて + です。
同時に Matrix_got.csv にコピーします。 

従って [ LoTW の Pending を取得 ] の処理の処理をしなければ
Matrix_got.csv は Matrix_got.csv と同じです。 

Online DXCC 申請可能なデータ(送付するデータ)は OnlineDXCC_qsl_need.adi です。 
このファイルを Matrix に反映したのが Matrix_last.csv で * を記入しています。


現在DXCC追加申請(エンドーズメント)出来るQSOデータは
[ Log On ] ==> [ Awards ] ==> [ Select Awards DXCC Account ] 
==> [ Account Status ]  ==> CW ==> Pending credits  ==>  

[ Log On ] ==> [ Award ] ==> [Account Menu] の中の [ Application ]  
[DXCC Award Application -- Part 1] にての
[Use this form to apply for a new DXCC award or an endorsement] の画面を
保存して申請可能なQSLデータを取得します。
データを取得してから LoTWで endorsement 申請をします。
(実際に申請しなくてもシュミレーションのみでも可)


この *.dxc ファイルから指定順にソートして
ARRLのOnline DXCC申請用(オンライン申請)のADIFファイルを作成します。

Visual Studio Express 2010 にてプログラムしていますので
MicroSoft .NET Framework 3.5 が必要です。


[ LoTW_app.mas について ]
LoTW の [ View Award Credit Matrix ] [ DXCC Award Credit Report ] の(DELETED)行を除いた
順番に合わせてあるので LoTW 側に変更があれば修正が必要。            2013.06.23  by JA2BQX
Entity が追加、削除、変更があった場合には各自でのメンテナンスが必要な事があります。
上から3行はヘッダーです。削除しないで下さい。

例:
    -----  ARRL LoTW Matrix  --------------- =THW== ***** cty.dat ****************DXCC番号
1             SPRATLY ISLANDS                502A   Spratly Islands          1S    247
2   1A0KM     SOV MILITARY ORDER OF MALTA    501A   Sov Mil Order of Malta   1A    246


[ OnlineDXCC_qsl_need.dxc , Rcvd_qsl.csv , Matrix_last.csv の比較チェック ]

メイン画面の[ OnlineDXCC_qsl_need.dxc ] ボタンをクリックすると
 左上に [ OnlineDXCC_qsl_need.dxc ] を表示。 ( DataGridView1 )
 右上に [ Rcvd_qsl.csv ] を表示。  ( DataGridView3 ) 
 右端のQSL受領欄のピンク色は [ OnlineDXCC_qsl_need.dxc ] に出力されている事を示す。
 下側に [ Matrix_last.csv ] を表示。 ( DataGridView2 ) 


DataGridView1 の行をクリックすると、そのCTYのDXCC番号と同じ
CTY の Matrix が DataGridView2 の一番上の行に表示されます。
この時の DataGridView1 のバンド、モードの各セルの色が薄緑に変わります。
 
DataGridView1のDXCC番号と同じ行がDataGridView3の先頭に表示されます。


DataGridView2の行をクリックした時には、
その行のDXCC番号が同じデータがDataGridView3 にあれば一番上に表示されます。


DataGridView3の行をクリックした時には、その行のDXCC番号と同じ
DXCC番号がDataGridView2の一番上に表示されます。

DataGridView3の行をクリックした時には、
その行のDXCC番号、コールサイン、バンド、モードが同じデータが
DataGridView1にあれば一番上に表示されます。



[ 申請可能かのテスト方法 ]
期待通りに処理が行われているかどうかの確認するテストの例。

\CFM_not_CFM\Not_CFM.csv は未CFMの Entity,Mode,Band のデータです。
例:
3X,Guinea,107,RT,-   <== RTTY not cfm yet
3X,Guinea,107,-,80   <== 80M  not cfm yet
3X,Guinea,107,-,30   <== 30M  not cfm yet
3X,Guinea,107,-,12   <== 12M  not cfm yet

ADIF での入力ファイル ( *.adi ) に仮のQSOデータを追加します。

3X3AA 20130613 0118 SSB 12M 
24 599 599 Y 107 

3X3AA 20130615 1054 CW 30M 
24 599 599 Y 107 

3X3AA 20130612 0028 RTTY 12M 
24 599 599 Y 107 

SSB 12M だけでは RTTY が足りませんが 12M はCFM出来ます。
SSB 12M に加えて RTTY 12M も申請すれば CFM出来ますが申請データ数が2件になってしまいます。

この例では SSB 12M では無くて RTTY 12M で申請すれば1件のデータで済みます。
CW 30M も未CFMなので申請可能データとして残るはずです。

期待する結果:
1,3X3AA,15/06/13,30,CW, 3X    Guinea,1
2,3X3AA,12/06/13,12,RTTY, 3X    Guinea,2

[ NO_read_Hamlog_hdb ] をクリックしてメニューに レ点を付けると
Hamlog.hdb は読み込まずに中間ファイルの \Hamlog_tmp\Hamlog_qsl.csv\ の
読み込みから処理を始めます。実際にはQSOしていない局、バンド、モードの
テストデータにて動作の確認に使用出来ます。

ADIF の場合には \Logger32.adi\ の様にログソフトからADIFを出力した
ファイルにテストQSOデータを書いて下さい。


【サポート等】
  バグ修正・要望などは以下の方法でどうぞ。
  可能な範囲内にて対応の努力をさせていただきます。

  http://www10.ocn.ne.jp/~ja2bqx/
  ja2bqx@proof.ocn.ne.jp

【免 責】
 エラーチェック等を十分にしておりませんので、十分な注意の上ご利用下さい。
 本プログラムを利用によって生じた全ての障害、予期しない結果等に対して
 一切責任を負いません。プログラムに瑕疵が有る場合も同様です。

【Copywrite】
 このソフト(LoTW_appx.exe) の著作権はJA2BQX・太田にあります。
 Turbo Hamlog の著作権はJG1MOU・浜田氏にあります。
 THDLL2VB.DLL の著作権はJG1MOU・浜田氏にあります。
 HAMLOG50.DLL の著作権はJG1MOU・浜田氏にあります。
 LoTW の著作権は ARRL にあります。
 Windows の著作権は Microsoft社にあります。


【改版 履歴】
Ver 0.08   2015.07.03
          Matrix 取得の不具合を修正した。

Ver 0.07    2014.05.01
          照合処理を再度見直し修正した。
          HAMLOG.dx0 サーチ時のコールサインを複数でサーチする様に変更した。
          [ 照合 全てのhdb ] のメニューに [ 表示 ] と [ QSL Mark ] を追加した。
          [ クリックした行を削除する ] ボタンを追加した。
          [ qsl_rcvd.csv ] の [ 保存 ] 時に空白が追加されるのを修正した。 Ver 0.06 2013.12.08           入力ファイルにLogger32 の ADIF を追加した。           JSTからUTCへの変換時のミスを修正した。 Ver 0.05 2013.07.31           [ Save ADIF ] にてレコード出力が1件足りない不具合を修正した。           [ *.dxc を 申請用に整形 ] にての [編集方法] を加筆した。  Ver 0.04 2013.07.03           ADIFの読み込み処理を修正した。           ADIFの読み込み処理時間を time_adif.txt に保存。            Hamlog.hdb の読み込み処理時間を time_hdb.txt に保存。  Ver 0.03 2013.07.01           ADIF 紙QSLの未CFMも出力されてしまうので修正した。           QSLカードのバンドのソート順を SSB > CW > RTTY 変更した。           OnlineDXCC_qsl_need.dxc , Rcvd_qsl.csv , Matrix_last.csv の           比較チェックをする機能を追加した。 Ver 0.02 2013.06.26           ADIFからの変換の不具合を修正した。 Ver 0.01 2013.06.25           テスト版公開。 

-----------------------------

【ダウンロード】 LoTW_app_008.zip のダウンロード (約 135 kバイト)


 戻る