新着表示
タイトル
記事No
投稿日
投稿者
: Re: データ新規登録イベント
: 596
: 2014/10/13(Mon) 15:39:29
: JO1SIM・出島
> 外部プログラムで、ハムログにおいて新規交信データが登録された(ハムログ入力ウィンドウのSAVEボタンが押された)ということを検知するにはどうすればよいでしょうか。
新規交信データの追加かどうかは分からないかもしれませんが、hamlog.hdbのタイムスタンプに変化が起きることを検知してみるというのはいかがでしょうか?(定期的なポーリングが必要ですが)
容量も見ていれば「追加」も分かるかもしれません。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: データ新規登録イベント
: 595
: 2014/10/12(Sun) 22:18:28
: JA7UDE 大庭
外部プログラムで、ハムログにおいて新規交信データが登録された(ハムログ入力ウィンドウのSAVEボタンが押された)ということを検知するにはどうすればよいでしょうか。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: VC++ Run-Time Check Failure #0
: 594
: 2014/10/05(Sun) 11:07:24
: JO1SIM・出島
うまくいったようでなによりです。
またなにかありましたら!
> >
> > CStringはLPCTSTRへのキャストが利きますので(一部冗長ですが)、
> >
> > WideCharToMultiByte(CP_ACP, 0, CString(_T("なにがし")), -1,buf, sizeof(buff), NULL, NULL);
> >
> > といった感じで1発変換可能ですよ。
> 本当ですね。思い込みでした。うまくいきました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: VC++ Run-Time Check Failure #0
: 593
: 2014/10/05(Sun) 07:31:36
: JA9AOB 銅子
>
> CStringはLPCTSTRへのキャストが利きますので(一部冗長ですが)、
>
> WideCharToMultiByte(CP_ACP, 0, CString(_T("なにがし")), -1,buf, sizeof(buff), NULL, NULL);
>
> といった感じで1発変換可能ですよ。
本当ですね。思い込みでした。うまくいきました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: VC++ Run-Time Check Failure #0
: 592
: 2014/10/04(Sat) 23:12:19
: JO1SIM・出島
銅子OM
でしまです。
CStringはLPCTSTRへのキャストが利きますので(一部冗長ですが)、
WideCharToMultiByte(CP_ACP, 0, CString(_T("なにがし")), -1,buf, sizeof(buff), NULL, NULL);
といった感じで1発変換可能ですよ。
> > CSTRINGとの変換ですが、
> >
> > WideCharToMultiByte/MultiByteToWideCharで変換すればよいと思いますが、検索結果をSJISのまま直接ファイルに吐き出したり、GDI等で画面に描画をするような場合ならば、邪道ですが、Wideにわざわざ変換せず、ANSIのAPIを直接呼び出してしまうような手もあると思います。
> >
> 一発で CString から char[] に変換方法ありますか。
>
> TCHAR sBuf[256];
>
> char buf[512];
>
> int wLen;
>
>
> wLen = wsprintf(sBuf, TEXT("%ls"), *b);
>
> wLen = WideCharToMultiByte(CP_ACP, 0, sBuf, -1, buf, (sizeof buf) - 1, NULL, NULL);
>
> return THW_seek(a, buf, c);
> の様に CString を TCHAR さらにchar[]の2段階でやむなくやっています。逆も同じく
> char[] を TCHAR TCHARからCStringは = の代入で変換していますがやはり2段階でやっています。いい方法があるなら教えてください。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: VC++ Run-Time Check Failure #0
: 591
: 2014/10/04(Sat) 06:34:10
: JA9AOB 銅子
> CSTRINGとの変換ですが、
>
> WideCharToMultiByte/MultiByteToWideCharで変換すればよいと思いますが、検索結果をSJISのまま直接ファイルに吐き出したり、GDI等で画面に描画をするような場合ならば、邪道ですが、Wideにわざわざ変換せず、ANSIのAPIを直接呼び出してしまうような手もあると思います。
>
一発で CString から char[] に変換方法ありますか。
TCHAR sBuf[256];
char buf[512];
int wLen;
wLen = wsprintf(sBuf, TEXT("%ls"), *b);
wLen = WideCharToMultiByte(CP_ACP, 0, sBuf, -1, buf, (sizeof buf) - 1, NULL, NULL);
return THW_seek(a, buf, c);
の様に CString を TCHAR さらにchar[]の2段階でやむなくやっています。逆も同じく
char[] を TCHAR TCHARからCStringは = の代入で変換していますがやはり2段階でやっています。いい方法があるなら教えてください。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: VC++ Run-Time Check Failure #0
: 590
: 2014/10/03(Fri) 22:09:09
: JO1SIM・出島
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: VC++ Run-Time Check Failure #0
: 589
: 2014/10/03(Fri) 21:57:51
: JO1SIM・出島
うまくいったみたいですね。私もホッとしています。
よくよく考えると、Windowの初期からの仕様なので本来は間違えようもなく、すぐに答えが出ると思ったのですが、ネットを調べると誤った情報ばかりで、なかなかコレというまともな答えが出てこないのもにも困ったものです…。
でも、正しい答えが出ましたので、この掲示板は健全ということでしょうか!(笑)
改めて勉強になりました。
> __stdcall を指定すると extern "C"を付けても名前修飾が付くので
> 更にDEFで指定することで、名前修飾を取ることが出来ました。
> Lib作成時にこの手法で行い、このLibでLinkを行うと無事静的にLink出来ました。もちろん、Hamlog50の関数はextern "C" や__stdcall を付けたHamlog50.hを作成しての話ですが。
> やっと安心して続けられます。スタックOverなんて心配で本気になれませんでした。ではまたご指導ください。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: enum freq_tag のMAXBAND SATELLITEの件
: 588
: 2014/10/02(Thu) 21:32:08
: JA9AOB 銅子
>
> あれー? なぜか間違ってたみたいです。
> 以下のとおりお願いします。
>
> enum freq_tag {
> X19MHZ,
> X35MHZ, //3.5MHz~3.8MHz
> X7_MHZ,
> X10MHZ,
> X14MHZ,
> X18MHZ,
> X21MHZ,
> X24MHZ,
> X28MHZ, // 28MHz ~ 29MHz
> X50MHZ,
> X144MHZ,
> X430MHZ,
> X120MHZ,
> X240MHZ,
> X560MHZ,
> SATELLITE,
> MAXBAND };
些細な事で申し訳ありません。こちらで直して使えばいいだけですが。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: enum freq_tag のMAXBAND SATELLITEの件
: 587
: 2014/10/02(Thu) 19:07:12
: JG1MOU浜田
> Hamlog50の FreqPCheck()で得る結果が
> enum freq_tag の中で、SATELLITE とMAXBAND の関係がどうしても逆の結果になるような気がするのですが、如何でしょうか。
>
> 0.135 0.500 等を入れると 16
> 145/435 435/145 等で 15
> が返ってくるのですが。これでいいのですか???。
あれー? なぜか間違ってたみたいです。
以下のとおりお願いします。
enum freq_tag {
X19MHZ,
X35MHZ, //3.5MHz~3.8MHz
X7_MHZ,
X10MHZ,
X14MHZ,
X18MHZ,
X21MHZ,
X24MHZ,
X28MHZ, // 28MHz ~ 29MHz
X50MHZ,
X144MHZ,
X430MHZ,
X120MHZ,
X240MHZ,
X560MHZ,
SATELLITE,
MAXBAND };
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!