一括表示

Hamlog.mst から CFM/WKD 情報の取得 投稿者:JA2BQX 太田 

こんにちは。
VB6にて Hamlog.mst から CFM/WKD 情報の取得 のコードを書いています。

Hamlog.mst を直接バイナリーとして読み込んでの取得は
出来るのですが Th505api , HAMLOG50.txt , THDLL2VB.txt を
参照しての取得に手こずっています。

下記の2例のどちらも tmp1 には 5あ8 などの文字列まで取れています。

ssss にもCFM/WKD や緯度・経度情報も含まれている様ですが
16進数なので文字としての認識は出来ません。

Wget_bit(ByVal w As String, wc As TJccgMas) と
VWget_bit(ByVal w As String, p As TThLog) の使い方が
悪いと思われますが、どなたかご指導頂けませんか?

Hamlogにはテストデータを登録しMSTテキスト出力では
下記が書き込まれている事は確認済みです。

01001 北海道阿寒郡 5あ8 W W W W W W W W W W W W W W W W


Dim log As TThLog
Dim db As TDBFh
Dim TJccgMas_ As TJccgMas
Dim se As Long
Dim ssss As String * 512
Dim wstr_ As String * 80
Dim tmp1 As String
Dim tmp3 As String


Call dbf_open(strPath & "Hamlog.mst", db)
sc = dbf_rsize(db) '56 と取得出来る

ii = 3
se = dbf_read(db, ii, ssss) '01001 北海道阿寒郡 5あ8

tmp1 = fNullCut(ssss) ' OK

Call Wget_bit(wstr_, TJccgMas_) 'NG 空白のまま

tmp3 = fNullCut(wstr_)

Call dbf_close(db)


Call Vdbf_open(strPath & "Hamlog.mst", log)
sc = Vdbf_rsize(log) '56

ii = 3
se = Vdbf_read(log, ii, ssss) '01001 北海道阿寒郡 5あ8
tmp1 = fNullCut(ssss) 'OK

Call VWget_bit(wstr_, log) 'NG 空白のまま
tmp3 = fNullCut(wstr_)

Call Vdbf_close(log)

別コードにてですが THDLL2VB.DLL の下記の
17 = HAMLOG.MST のフルパス は取れますが
24〜26の取得にはまだ成功していません。

24 = HAMLOG.MST のデータ(Code, QTH, フラグ,頭文字,エリア)連続
25 = 戻り値に HAMLOG.MST のカレントレコード番号
26 = 戻り値に HAMLOG.MST のレコード件数

Function ThwString(ByVal s As String, Th As TThLog, ByVal n As Integer) As Long

2008/08/04(Mon) 10:42:44  [No.70]


その後のトライで
Call dbf_open(strPath & "Hamlog.mst", db) を使う方は

'Module1.bas に下記を追加
'Declare Sub MoveMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

se = dbf_read(db, ii, ssss) ' OK 01001 北海道阿寒郡 5あ8
tmp = ssss
tmp1 = fNullCut(ssss) ' OK

MoveMemory TJccgMas_, ByVal ssss, Len(TJccgMas_) 'OK 追加
Call Wget_bit(wstr_, TJccgMas_) 'OK 追加

tmp3 = fNullCut(wstr_)

上記にてCFM/WKD 情報の取得が出来る様になりました。
他は模索中.....

2008/08/04(Mon) 20:01:50  [No.71]


太田さん、こんばんは。
ご無沙汰しています。

なにやら楽しいことを始めたようですね。
アワード用のソフトでしょうか。
公開を楽しみにしています。

hamlog50.dllは使ったことがないので、お役に立てそうにありません。

2008/08/04(Mon) 20:10:06  [No.72]


長野さん、こんばんは。

> ご無沙汰しています。

こちらこそです。 ハムフェアには来られるのかな?

> なにやら楽しいことを始めたようですね。
> アワード用のソフトでしょうか。
> 公開を楽しみにしています。

先日の関ハムで「フリーソフトの作者と語る」の時にHamlog.hdbから
直接CSVを出力するソフトを依頼され、そのテストが終わったところです。
次がHamlog.MSTからの CFM/WKD情報取得との事で試行錯誤中。


> hamlog50.dllは使ったことがないので、お役に立てそうにありません。

DLLを使わない方法は比較的早く出来たのですが ByVal , ByRef 関係は苦手で
先ほどようやく MoveMemory が必要な事に気がつきました。

CSV出力もCFM/WKD情報取得もHamlogに機能があるので本来は
不要だとも思われますが「コマンド一発!」で出したいとか。

2008/08/04(Mon) 20:27:10  [No.73]


長野です。
ずっと仕事が忙しくて、関ハムも行けませんでした。
ハムフェアも無理みたいです。

> 先日の関ハムで「フリーソフトの作者と語る」の時にHamlog.hdbから
> 直接CSVを出力するソフトを依頼され、そのテストが終わったところです。
> 次がHamlog.MSTからの CFM/WKD情報取得との事で試行錯誤中。
> CSV出力もCFM/WKD情報取得もHamlogに機能があるので本来は
> 不要だとも思われますが「コマンド一発!」で出したいとか。

出力したCSVから、またいろいろ遊べそうですね。
そこから発展していくといいですね。

2008/08/15(Fri) 08:12:58  [No.74]


SQLでCSV出力ツール 投稿者:JO1SIM 出島 

> 出力したCSVから、またいろいろ遊べそうですね。
> そこから発展していくといいですね。

私もこのお盆休みでHAMLOGからSQLでCSVを出力するツールを開発していました。なんとか検索式を入力してCSVを作成出来る様にはなったのですが、スピードがいまひとつです・・・。

公開できるレベルになりましたら公開しようと思います!

2008/08/17(Sun) 11:18:19  [No.75]


Re: SQLでCSV出力ツール 投稿者:je6lao長野 

SQLですか! 私はぼちぼち勉強中です。
公開を楽しみにしています。

> 私もこのお盆休みでHAMLOGからSQLでCSVを出力するツールを開発していました。なんとか検索式を入力してCSVを作成出来る様にはなったのですが、スピードがいまひとつです・・・。
>
> 公開できるレベルになりましたら公開しようと思います!

2008/08/20(Wed) 22:45:05  [No.77]


Re: SQLでCSV出力ツール 投稿者:JO1SIM 出島 

長野OM、お返事ありがとうございます。

SQL検索ツールですが、ぼちぼち公開できそうなレベルにはなってきました。SQLといっても、HAMLOG専用の検索機能のみのツールです。
集計関数の利用や他テーブルとの結合はできないのですが、カラムどうしの演算やあいまい検索はそれなりに動作するようになりました。複数カラムを指定した並び替えも可能です。

ただ…
一種のプログラミングツールですので、説明書を作成したりなんだりと、公開まではもうすこしかかりそうです。それに、そもそも公開用のホームページを持っていなかったので、そちらも作らなければならないので大変そうです。

がんばらねば!


> SQLですか! 私はぼちぼち勉強中です。
> 公開を楽しみにしています。
>
> > 私もこのお盆休みでHAMLOGからSQLでCSVを出力するツールを開発していました。なんとか検索式を入力してCSVを作成出来る様にはなったのですが、スピードがいまひとつです・・・。
> >
> > 公開できるレベルになりましたら公開しようと思います!

2008/08/25(Mon) 01:14:35  [No.78]