HAMLOG開発室は、HAMLOGに関連したプログラム開発(C、パスカル、VB言語等、又はDLL)についての
専用BBSです。プログラム言語に関する投稿以外は通常のHAMLOG相談室に投稿して下さい。
HAMLOG開発室BBS

idx_search 投稿者: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 が通常のヌルターミネート文字列であるとして検索する
 

2015/02/07(Sat) 13:53:27  [No.656]


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
Call 名前 ※必須
文字色
Eメール
タイトル sage
URL
メッセージ 手動改行 強制改行 図表モード
メッセージには上記と同じURLを書き込まないで下さい
画像File  (130kBまで)
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
プレビュー