検索結果 111 件

by tak
2010年1月13日(水) 23:47
フォーラム: プログラミング質問板
トピック: ローカルIP内でのファイル転送
返信数: 5
閲覧数: 4997

> ps:やっぱりSendMessageの194がわかりません。
> 謎です。。どなたか、なんの指示なのか教えてくれませんでしょうか。。
> WM_SETTEXTの類だと思うのですがWM_SETTEXTは12でしたし・・・謎!

EM_REPLACESEL メッセージ、テキストの選択部分を lParam 引数で指定した文字列で置き換えるメッセージらしいです。


# じつは何とかご協力しようとコード追いかけてたのですが、先に解決されちゃいました。
# こういうところだけにしか回答できないのは我ながら何とも情けない・・・精進せねば
by tak
2009年11月07日(土) 22:00
フォーラム: プログラミング質問板
トピック: コンパイル方法
返信数: 7
閲覧数: 13332

こういうことですかね?
ただし、情報は少々古いですが。

http://www.activebasic.com/forum/viewto ... t=683#2989
by tak
2009年8月05日(水) 17:00
フォーラム: プログラミング質問板
トピック: Select Case と関数ポインタ
返信数: 4
閲覧数: 4690

ごめんなさい。大チョンボやらかしてました。 配列の宣言部分ですが、配列ですので、添え字が必要です。 Dim pPtn[63] As *Sub() 角括弧 [] は丸括弧 () でも同じです(たぶん)。 ただ丸括弧だと、見た目関数呼び出しと紛らわしいので、僕は角括弧を使っています。 まあ、これは好みの問題ですね。 QWord とは、うーん、なるほど。 いま手元にコンパイルできる環境がないので未検証ですが、もしかしたら pPtn[PtnNo]() の表現はコンパイラが理解してくれないかもしれません。 (コンパイラはそんなにバカじゃないと僕は信じていますが、大丈夫だよね?) そのときは、トモカズさん...
by tak
2009年8月05日(水) 03:19
フォーラム: プログラミング質問板
トピック: Select Case と関数ポインタ
返信数: 4
閲覧数: 4690

Re: Select Case と関数ポインタ

はじめに関数ポインタについてお話しします。 概念的には、関数ポインタとは、言うなればある関数の分身のことです。 変数を指すポインタがその変数の分身であることと同様です。 関数ポインタの実体は、変数を指すポインタと同様、メモリ番地(つまりは単なる数値)です。 変数の目的は、何らかの値を保存しておき、必要なときに読み書きすることですから、その分身たるポインタでもその変数を読み書きできます。 また、分身ですから(関数から抜け出すなどして)その変数が無効になった場合、その変数を指すポインタも同時に無効になります。 一方で関数の目的は、呼び出されることです。 ですから、その分身たる関数ポインタでもその関...
by tak
2009年8月02日(日) 17:49
フォーラム: プログラミング質問板
トピック: ボタンにデバイスコンテキストを貼る
返信数: 2
閲覧数: 3533

Re: ボタンにデバイスコンテキストを貼る

> ビットマップは貼れますが、DCを張ることはできますか? まずは一応確認ですが、「DCを張る」とは、何らかのデバイスコンテキスト(にアタッチされているビットマップ)をボタンコントロールのデバイスコンテキストに BitBlt() するということですね? ボタンは本来そのようなことを想定したコントロールではありません。 試しに正攻法(GetDC() → BitBlt())で挑んでみましたが、できないようです。 > できるとすれば、どうやればできますか? オーナー描画という手法があります。 未経験なので詳しいことはわかりませんが、ちょっと調べたところによると、コントロールの再描画が必要になったとき...
by tak
2009年8月01日(土) 00:26
フォーラム: プログラミング質問板
トピック: RADで作ったボタンの再描画・・・・
返信数: 2
閲覧数: 3888

Re: RADで作ったボタンの再描画・・・・

> RADで作ったWNDにボタンがたくさんあります。そこにhMemDCを貼ると、ボタンが消えます。 まずは一応確認ですが、「hMemDCを貼る」とは、hMemDC を ウィンドウの hDC に BitBlt() するということですね? > どうやって再描画するんですか?WNDのサイズを変えると再描画されますが・・・。 一般的に、個別の子ウィンドウ(ボタン等)に関する処理は、子ウィンドウに直接メッセージを送りつけて解決します。 が、今回の問題(再描画)の管轄である WM_PAINT メッセージは専用の UpdateWindow 関数が用意されているので、そちらを使いましょう。 詳しくは⇒ Upd...
by tak
2009年3月29日(日) 01:41
フォーラム: 仕様提案
トピック: 定型句挿入
返信数: 2
閲覧数: 13541

関数化したほうが色々な意味でいいのでは・・・? ええ。三毛CATさんの例だと関数化が最適ですね。 ただ、定型句挿入機能は(必須ではないですが)できれば欲しいです。 プログラミングしていると実に様々な定型句に出くわします。 最も頻繁に登場するものだと If 〜 Then 〜 Else 〜 End If とかがそうです。 あらかじめコピペ用の定型句テンプレートなんぞ準備するまでもないことですが、毎回これを手入力するのは案外面倒なことだと思っています。 コピペよりも手軽に定型句を入力できる手段があれば、僕は大喜びしますよ。 コピペでは手動調整のインデントも自動調整が期待できますし。 入力の効率が上...
by tak
2009年2月21日(土) 09:13
フォーラム: プログラミング質問板
トピック: ライン描画について
返信数: 5
閲覧数: 5870

数点だけ補足させてもらいますね。 結局のところラインを引くのに必要な情報は「始点」と「終点」。 直線を描画するアルゴリズムに他に偶然的な要素が入る余地は無い と思うので、(以下略) そうなんですよね。僕もそこが不気味に感じます。 そういうことが起き得るいくつかの仮説は立てられないこともないです。 ただ、そのような仮説を立てたところで検証が困難なので、深くは追求はしません。 たとえば、 GDI は複数の直線描画アルゴリズムを有していて、状況によって使い分けているとか。 そんなのどうやって調べろと(笑) 正直なところGDIが"一定の描画結果を得られる保証がない。"ってのは ちょ...
by tak
2009年2月20日(金) 23:35
フォーラム: プログラミング質問板
トピック: ライン描画について
返信数: 5
閲覧数: 5870

Re: ライン描画について

問題点は LineTo() で、一定の描画結果を得られる保証がない。 描画速度が安定しない。 ということでよろしいですか。 僕からアドバイスをひとつ贈るとするなら   「気にするな」 …てことですかね、どっちも。 実際、どうしようもないことだと思うのですよ。 1. に関して、他の環境にプログラムを持って行ったら違った描画になることも考えられます。 ドキュメントなどで動作結果が厳密に保証されているわけではないので、GDI を使う限り諦めるしかないです。 2. についても、それがよほど大問題でなければ受け入れるしかないでしょうね。 そもそも速度的にシビアなプログラムなら GDI は使うべきでないで...
by tak
2009年1月26日(月) 23:38
フォーラム: プログラミング質問板
トピック: RS232通信について
返信数: 2
閲覧数: 4228

Re: RS232通信について

RS232C は今でも地味に需要があるのですね。
実はこのフォーラムでも何度かトピックがたっています。

RS232C でGoogleサイト内検索

過去に RS232C 制御のサンプルコードが投稿されたよなとおもって検索をかけてみたわけですが、意外に結構ヒットしてびっくりしました。
そのサンプルはこちら。

[AB4]RS232C通信プログラム(ソース)

LZH アーカイブへのリンクになっていますが、まだ切れていないようです。
by tak
2008年11月25日(火) 15:57
フォーラム: プログラミング質問板
トピック: コントロールのHDC取得について
返信数: 2
閲覧数: 4119

Re: コントロールのHDC取得について

GetDC() に渡すべき値はウィンドウの ID(TestLabel など)ではなくウィンドウのハンドル(HWND)です。 ハンドルは GetDlgItem() を用いて次のように取得します。 Dim hWndLabel As HWND hWndLabel = GetDlgItem(hMainWnd, TestLabel) HDC を取得したいとのことなので、この hWndLabel を GetDC() に渡してやれば良いでしょう。 しかし、現在僕の手元に検証できる環境がないので確かなことではありませんが、ラベルコントロールはもともと HDC を持ってなかったような気がします。 もしかすると ...
by tak
2008年8月07日(木) 21:50
フォーラム: プログラミング質問板
トピック: メモリ解放時のエラー
返信数: 8
閲覧数: 9963

Re: メモリ解放時のエラー

HEAP[wavelast_debug.exe]: Heap block at 00191D30 modified at 0019C97C past requested size of ac44 スレッド(&HDE0)のブレーク ポイント(EPI=&H77F75554)。 HEAP[wavelast_debug.exe]: Invalid Address specified to RtlFreeHeap( 00140000, 00191D38 ) スレッド(&HDE0)のブレーク ポイント(EPI=&H77F75554)。 この警告メッセージは、HeapAll...
by tak
2008年4月25日(金) 13:24
フォーラム: プログラミング質問板
トピック: チェックボックスのキーボード操作
返信数: 2
閲覧数: 3310

Re: チェックボックスのキーボード操作

チェックボックスにフォーカスをあわせて、SPACE キーで操作できませんか?
Windows 標準の動作ですので、おかしなことをしてない限りできると思います。

あと、Alt キー同時押しによるアクセラレーション(下線付きアルファベットのやつ)も検討してみてはいかがでしょう。
by tak
2008年4月18日(金) 18:39
フォーラム: 雑談所
トピック: コンパイル時の最適化について
返信数: 7
閲覧数: 18910

> そのVisualBasicが、VBAの事を言っているのでなければコンパイル型の言語だったと思いますが、どうなんでしょう?

後期のバージョンでは一応コンパイルもできますが、申し訳程度です。
従来は p-code のインタープリタで動作していました。

> #ところで思ったのですが、64bit版コンパイラの機械語レベルでの最適化ってVLIWの事なんですかね?

VLIW は関係ないような…少なくともABのターゲットである AMD64 には。
by tak
2008年1月16日(水) 06:31
フォーラム: 仕様提案
トピック: For~Next構文について
返信数: 7
閲覧数: 19677

あれー?

とりあうず cdecl による引数渡しが実装されただけで、可変引数はサポートされていないんですかね?
まあどのみち、最初に引数の数を与えてやらないといけないので、問題大ありなんですが。