HAMLOG プログラム開発室


新着表示
タイトル
記事No
投稿日
投稿者

Re: idx_search
664
2015/02/08(Sun) 11:56:17
JA2BQX 太田
浜田さん、ありがとうございます。 しかしまだ上手くいきません。

> > search_date には search_date = "01/02/03" 形式で良いでしょうか?
>
> 日付は数値で4バイト、時間は2バイトだったような・・・。
> 文字ではなく数値です。
> search_date[0] = 20
> search_date[1] = 1
> search_date[2] = 2
> search_date[3] = 3

Function MakeIndex(ByVal s As String, ByVal k As String, ByVal i As String) As Long を見ると
{"DATE", 4 } なので4バイトか...と思ってはいました。これはバイナリーになった時のバイト数ですね。

Function idx_search(p As TIDXh, ByVal s As String, ByVal l As Long) As Long
これを見るとキーは String ですが?

作成された Date.Ndx を見ると ヘッダー部が 520バイトかと。
データ部は1レコード当たり12バイトのように見えます。

レコード番号 : 4バイト 、日付 : 4バイト 、 ダミー: 4バイト


Date.Ndx のファイルサイズとレコード件数の帳尻が合わないみたいなので
データ構造の調べが間違えているように思っています。
出来ればデータ構造を教えていただけますか?
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: 時間表示をUTCに固定化したい
663
2015/02/08(Sun) 11:36:38
JA2BQX 太田
ここはプログラム開発関係の掲示板です。
Hamlogの使い方は隣の 「HAMLOG BBS」に投稿してください。

> 時間表示を 国内&海外ともにUTCにしたいのですが 何か方法ありませんか、現在 DXに印しを付けておけば UTCになるのですが 国内の局はUTCにするのに作業が必要になります 

せっかくの投稿なので回答しておきますが、
メニューの「オプション」「環境設定」「設定2」の中の「国内局 」の欄を ---------- にでも書き換えて再起動。


HELPの下記に、その旨の記載がありますよ。
http://hamlog.no.coocan.jp/html/HID00077.html

疑問などがあったらまずはHELPをよく読む!  投稿先を良く確認して間違えない事!
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

時間表示をUTCに固定化したい
662
2015/02/08(Sun) 10:00:15
JH1NLE
時間表示を 国内&海外ともにUTCにしたいのですが 何か方法ありませんか、現在 DXに印しを付けておけば UTCになるのですが 国内の局はUTCにするのに作業が必要になります 
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: idx_search
661
2015/02/08(Sun) 08:33:17
JG1MOU浜田
> search_date には search_date = "01/02/03" 形式で良いでしょうか?

日付は数値で4バイト、時間は2バイトだったような・・・。
文字ではなく数値です。

search_date[0] = 20
search_date[1] = 1
search_date[2] = 2
search_date[3] = 3
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: idx_search
660
2015/02/08(Sun) 08:19:02
JA2BQX 太田
こんにちは。

バイナリー・エディターで中身を見ると
Hamlog.hdb と Date.Ndx との1レコード目の Date の16進数は
同じなのですが、検索キーの指定がまずいのかな?
何か事前処理が必要とも思えないのですが、悩んでいます...Hi。

VBユーザーでどなたか同じ処理をして経験がありますか?
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: idx_search
659
2015/02/08(Sun) 07:52:07
JA2BQX 太田
おはようございます。
試しているのですが , DATE と DATE+TIME のレコード番号が取れません。
CALLS と CODE は上手く取れるのですが、先に提示したコードでの
search_date には search_date = "01/02/03" 形式で良いでしょうか?
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: idx_search
658
2015/02/07(Sat) 16:32:52
JA2BQX 太田
浜田さん、こんにちは。
早速の返信ありがとうございました。

> ゼロで大丈夫なはずですよ。
> ゼロを指定すれば、内部で Length(search_date) でサーチします。

分かりました。自宅に戻ったらテストして見ます。
今は山シャックでK1Nの追っかけ中です。
JAからは中央アメリカ、カリブは遠い....。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: idx_search
657
2015/02/07(Sat) 16:03:36
JG1MOU浜田
> idx_search 関数の使い方ですが下記の ? には幾つを指定すれば良いでしょうか?
> rec_no_1st = idx_search(THindx, search_date, ?)

ゼロで大丈夫なはずですよ。
ゼロを指定すれば、内部で Length(search_date) でサーチします。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

idx_search
656
2015/02/07(Sat) 13:53:27
JA2BQX 太田
こんにちは。 何時もお世話になります。

VB2010にて日付けを指定してレコード番号を取得しようとしています。
ソースの一部抜粋が下記です。

Declare Function MakeIndex Lib "Hamlog50.dll" (ByVal s As String, ByVal k As String, ByVal i As String) As int32
Declare Function idx_open Lib "Hamlog50.dll" (ByVal s As String, ByRef p As TIDXh) As Int32
Declare Sub idx_close Lib "Hamlog50.dll" (ByRef p As TIDXh)
Declare Function idx_search Lib "Hamlog50.dll" (ByRef p As TIDXh, ByVal s As String, ByVal l As Int32) As Int32

MakeIndex(hamlogpath, "DATE", "C:\Hamlog\Date.Ndx")
Ret = idx_open("C:\Hamlog\Date.Ndx", THindx)
search_date = "15/02/03"
rec_no_1st = idx_search(THindx, search_date, 8)
Call idx_close(THindx)


idx_search 関数の使い方ですが下記の ? には幾つを指定すれば良いでしょうか?
rec_no_1st = idx_search(THindx, search_date, ?)

Th524ap の Hamlog50.txt にて下記の様に記載されている len です。
search_date = "15/02/03" なら 8 で良いと思いますが、今は山シャックなのでテスト出来ない...。

コールサインの時には ゼロ で上手くサーチ出来ましたが。
 
MakeIndex(hamlogpath, "TIME", "C:\Hamlog\Time.Ndx") の時には
"12:34U" なら 6 で良いでしょうか。



引 数:idx
dBASE互換インデックスファイルの構造体

key
検索するキー。THW_seek()と同様。

len
検索するキーの長さを指定する。コールサインの文字列が全部一致するキーを検索する場合は6。


プリフィックスだけ一致の場合は3。ゼロの場合は、key が通常のヌルターミネート文字列であるとして検索する
 
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: データ新規登録イベント
655
2015/01/05(Mon) 23:47:29
JP7CZE 川辺
JA7UDE 大庭さん,

> 出島OM、太田OM、
>
> アイディアをありがとうございました。定期的なポーリングが必要ということと理解いたしました。
>
> 73
> 大庭
> JA7UDE

もう解決されたかもしれませんが,
私も同様にHamlog のデータが更新されたかどうかのチェックをおこない,更新されていたら交信データを取り込んで処理をするプログラムを作りました.

もともと,入力画面のQTHのデータが変化するのを検知して,変化したら取り込んで処理をさせる目的で,500msごとにコマンドの112でQTHのデータを取り込んでいる処理をしていました.

この入力画面で,QTHのデータが空白になったタイミングというのは,入力データがSAVEされたかキャンセルされたかのいずれかです.

そこで,QTHのデータが,有意な文字列から空白文字列に変化した時点で,初めて交信データの総数を読みに行くようにしました.

直接毎回交信データの総数を読みに行くよりは,Hamlogおよび自作ソフトの負担が軽くなるのではないかということです.

参考にはならないかもしれませんが.

de JP7CZE
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop