一括表示
タイトル
記事No
投稿日
投稿者
: hdbの項目幅
: 401
: 2014/02/14(Fri) 19:41:41
: JA2BQX 太田
hdbの項目幅に付いてお願いします。
VB6は大分時代遅れになって来たので最近はVB2010にて作成するようにしています。
そこで、Hamlog50.dll その他でHamlog.hdbから直接、変更可能な項目の幅を取得・設定する関数はありましたでしょうか?
(私の調べた範囲では無いように思います)
「HAMLOGW.INI」からセットされている変更可能な項目幅は取得出来ます。
また、Hamlog.hdbをバイナリーでオープンして項目幅を取得、及び設定する事は出来ますが
Hamlog50.dll にてこれらが関数にて出来ると楽が出来るのですが。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: hdbの項目幅
: 402
: 2014/02/14(Fri) 21:10:09
: JG1MOU浜田
> そこで、Hamlog50.dll その他でHamlog.hdbから直接、変更可能な項目の幅を取得・設定する関数はありましたでしょうか?
> (私の調べた範囲では無いように思います)
VBの場合、私が書いた構造体の定義がかなりの手抜きなので、これでは
無理のようです。
CやPascalなら取得は可能です。
> また、Hamlog.hdbをバイナリーでオープンして項目幅を取得、及び設定する事は出来ますが
> Hamlog50.dll にてこれらが関数にて出来ると楽が出来るのですが。
>
Hamlog本体では、dbf_create()で項目幅の違うデータゼロのHDBを作成し、
元のQSOデータから1レコードずつコピー&アペンドしてます。
これをVB用に書くのはよくわかりません。
HDBファイルのヘッダには、RMKS1******C****n
といった感じで書かれてます。
nはByte型で54が初期値で、Remarks1の幅です。
データゼロの状態でnを書き換えて、そのデータにアペンドしていく、
というやり方しかありません。
新たな関数を作ったとしても、そのような手続きになります。
・・・とまぁ、このあたりはご存知かと思います。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: hdbの項目幅
: 403
: 2014/02/15(Sat) 05:16:38
: JA2BQX 太田
浜田さん、ありがとうございます。
> HDBファイルのヘッダには、RMKS1******C****n
> といった感じで書かれてます。
> nはByte型で54が初期値で、Remarks1の幅です。
はい、これを読み込み、変更するときは新しい値をセットして..としています。
> 新たな関数を作ったとしても、そのような手続きになります。
そうでしたか、「新たな関数」があればもっと楽に対処できるのかと
横着な事を考えてみたものですから、失礼しました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!