新着表示
タイトル
記事No
投稿日
投稿者
: Re: テスト書き込みです
: 1096
: 2025/01/23(Thu) 19:08:44
: JG1MOU浜田
うまく書き込めているようです。
> HAMLOG プログラム開発室 テスト
>
> 書き込みのテスト
タイトル
記事No
投稿日
投稿者
: テスト書き込みです
: 1095
: 2025/01/23(Thu) 18:39:05
: JG1MOU浜田
HAMLOG プログラム開発室 テスト
書き込みのテスト
タイトル
記事No
投稿日
投稿者
: Re: PythonからHAMLOG DBを操作する
: 1094
: 2025/01/20(Mon) 08:49:11
: JK1NBV 倉部
2の件、了解しました。
> JK1NBV 倉部様
>
> お役に立っているようでとても嬉しいです。
> ご指摘もありがとうございます。
>
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: DBの共有と更新の確認画面の関係について
: 1093
: 2025/01/20(Mon) 08:46:56
: JK1NBV 倉部
回答ありがとうございました。
了解しました。
> はい。そういう仕様です。
> ファイル共有している場合は、安全のために「QSOデータを登録してよろしいですか?」
> が表示されているときは排他状態で、別のHAMLOGからは書き込めないようにしています。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: DBの共有と更新の確認画面の関係について
: 1092
: 2025/01/19(Sun) 07:34:00
: JG1MOU浜田
はい。そういう仕様です。
ファイル共有している場合は、安全のために「QSOデータを登録してよろしいですか?」
が表示されているときは排他状態で、別のHAMLOGからは書き込めないようにしています。
> Python からアクセスしています。
>
> setDbsShareで1を渡して読んだ後、HamlogOpenをします。
> その際、thwUpdateのmes パラメータに、KAKUNIN_NO の値を渡しても、修正の確認画面が表示されます。
>
> HamlogOpenしたときに、他のプロセスでHamlogOpen していても、いなくても、修正の確認画面が表示されます。
>
> setDbsShareを呼ばずに、HamlogOpenをして、thwUpdateのmesパラメータにKAKUNIN_NOを渡すと、修正の確認画面は表示されません。
> これは、仕様でしょうか
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: DBの共有と更新の確認画面の関係について
: 1091
: 2025/01/18(Sat) 12:25:54
: JK1NBV 倉部
Python からアクセスしています。
setDbsShareで1を渡して読んだ後、HamlogOpenをします。
その際、thwUpdateのmes パラメータに、KAKUNIN_NO の値を渡しても、修正の確認画面が表示されます。
HamlogOpenしたときに、他のプロセスでHamlogOpen していても、いなくても、修正の確認画面が表示されます。
setDbsShareを呼ばずに、HamlogOpenをして、thwUpdateのmesパラメータにKAKUNIN_NOを渡すと、修正の確認画面は表示されません。
これは、仕様でしょうか
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: PythonからHAMLOG DBを操作する
: 1090
: 2025/01/17(Fri) 07:08:13
: JI1JDI 神宮
JK1NBV 倉部様
お役に立っているようでとても嬉しいです。
ご指摘もありがとうございます。
> 1. フィールド名がdata ではなく、dateではないでしょうか?誤記でした。ありがとうございます。
> 2. ブログ(1)にありますサンプルプログラムで、> rst_sent を Hiss> rst_rcvd を Myrs> にしていますが、相手から受信した値がHiss、相手に送った値がMyrs なので、逆ではないでしょうか?HAMLOGのマニュアルには次のように記載されていますので合っていそうです。
His ~ (相手局に送った)自局が受信した相手局の信号レポート
My ~ (相手局から送られた)相手局が受信した自局の信号レポート
ADIFの仕様書には次のように記載されていて、相手から送られたものがRST_RCVD、
相手に送ったものがRST_SENTのようです。
RST_RCVD signal report from the contacted station
RST_SENT signal report sent to the contacted station
(参考)「入力項目→RST」
https://hamlog.sakura.ne.jp/html/HID00037.html(参考)ADIF Specification
https://adif.org.uk/315/ADIF_315.htm#QSO_Fields
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: PythonからHAMLOG DBを操作する
: 1089
: 2025/01/15(Wed) 17:47:19
: JK1NBV 倉部
JI1JDI 神宮様
Pythonで色々自分なりのライブラリーを作らせていただいています。
ホント助かっています。
いくつか気になった点がありますので、報告させていただきます。
1. フィールド名がdata ではなく、dateではないでしょうか?
class TLogData(ctypes.Structure):
_pack_ = 1
_fields_ =
[ ("calls", c_ubyte * 20),
("data", c_ubyte * 4),
2. ブログ(1)にありますサンプルプログラムで、
rst_sent を Hiss
rst_rcvd を Myrs
にしていますが、相手から受信した値がHiss、相手に送った値がMyrs なので、逆ではないでしょうか?
TurboHamlog でadiファイルを出力し、比較もしてみました。
rst_sent = ctypes.cast(log.Qso.Hiss, ctypes.c_char_p).value.decode()
rst_rcvd = ctypes.cast(log.Qso.Myrs, ctypes.c_char_p).value.decode()
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: PythonからHAMLOG DBを操作する
: 1087
: 2024/12/31(Tue) 08:53:41
: JI1JDI 神宮
JK1NBV 倉部様
文字コードの指定(cp932)とKAKUNIN_NOの件、ありがとうございます。
確かに記事中にKAKUNIN_NOが何の説明もなく出てきてしまっていますね。
後ほど追記します。
Pythonで扱えるようになると、HAMLOGの周辺ツールも作りやすくなりそうですね。
今後ともよろしくお願いいたします。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: PythonからHAMLOG DBを操作する
: 1086
: 2024/12/29(Sun) 10:38:11
: JK1NBV 倉部
JI1JDI 神宮様
ブログの(4)を参考にDBのアップデートもできました。
ありがとうございます。
HAMLOG50.Hにある下記の定数も提示しておいた方が良いかも知れません。
とくに、4番目のUpdateで、突然 KAKUNIN_NOが出てきますので。
Pythonで扱えるようになり、簡単にプログラムが開発できるようになり大変助かっています。
# HAMLOG50.Hで定義されている定数をPython用に書き換えたもの
WKD_STAT = 45
#
HAMLOG.MSTの45バイト目から4バイト
IsQSOdata =
16
IsMASdata =
32
DbsCallDX =
IsQSOdata
#
CALL
DbsCodeDX =
(1 | IsQSOdata)
#
CODE
MasCodeDX =
(2 | IsMASdata)
#
CODE
M1NDX
MasFCodeDX =
(3 | IsMASdata)
#
FLG+CODE
M2NDX
MasFHedEDX =
(4 | IsMASdata)
#
FLG+HED+ERIA
DbsGlidDX =
(5 | IsQSOdata)
#
GL
D3NDX
DbsNoNDX =
(8 | IsQSOdata)
#
NONDX_S
MasNoNDX =
(9 | IsMASdata)
#
NONDX_M
isDXQSO =
8
isCQ_CALLED =
16
Chk1_Checked =
32
Chk2_Checked =
64
DX_SKIP = 256
#
501B 以上をスキップ
DUP__CHECK = 512
#
該当データは複数あるか?
#
Key[0]==0 で帰れば複数あり
Top2Flag_43 =
43
#
flag1の位置まで
SUCCESS =
0
#
成 功
SUCCESS_ = 1
#
成功・書き換えや変更あり
NODBF =
2
#
TDBFhでない
NONDX =
3
#
NDXでない
NODBT =
4
#
DBTでない
NOPEN =
5
#
オープンできない・されていない
NOMEM
= 6
#
メモリーが確保できない
R_IOERR = 7
#
インデックスリードエラー
W_IOERR = 8
#
インデックスライトエラー
TOLRG
= 9
#
ブロックが大きすぎる
DBFEOF = 10
#
TDBFhの終わり
DBFBOF = 11
#
TDBFhのはじめ
NDXEOF = 12
#
NDXの終わり
NDXBOF = 13
#
NDXのはじめ
OUTRG =
14
#
指定番号が範囲外
NOSYC =
15
#
TDBFh と NDX が不整合
NOSET =
16
#
キーポインタが未設定
NOKEY =
17
#
キーが無い
MAYBE =
18
#
キーが部分一致
OUTSZ =
19
#
文字列が長すぎる
CFAIL =
20
#
変換失敗
RD_ERR = 21
#
ディスクリードエラー
WR_ERR = 22
#
ディスクライトエラー
MKIDXERR = 23
#
インデックス構築エラー
NO_DBR = 24
#
データが不整合
NOTEMP = 25
#
作業ファイルが作れない
NO_KEY = 26
#
キー表現式が不正
NO_STK = 27
#
スタックオーバーフロー
EMM_ERR =
28
#
EMSメモリが確保できない
NO_SORT =
29
#
不正なソート、又は重複
LDBF_NOPEN = 40
#
HAMLOG.DBSがオープンできない
MDBF_NOPEN = 42
#
HAMLOG.MSTがオープンできない
KAKUNIN_NO =
0X0010
#
データ登録時確認メッセージ無し
IsQSOdata = 16
> JI1JDI 神宮様
>
> PythonでHamlogをアクセスする情報ありがとうございます。
> この掲示板に5月頃に私の投稿がありますように、Pythonでできず、Delphiでトライしておりました。
>
> Rmk1については、
> rmk1 = ctypes.cast(log.Qso.Rmk1, ctypes.c_char_p).value.decode('cp932')
> で表示できることも確認しました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!