ホーム | アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


ホーム > 掲示板 [ 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 ]

掲示板 16

更新 : 2010/04/30

 




[155] shibu 投稿日:2007/01/16(Tue)  19:32
お茶さん、書き込みありがとうございます。

まずは、お詫び申し上げます。
実は、解説を書いている途中、"white.bmp"などを使わなくてもすむようにコンポーネント・コードを変更しました。そのとき、コードを変えるのを忘れてしまい、以前のコードが残ってしまいました。上手く動かないということで、ずいぶん時間を費やしてしまいましたよね? 混乱させて申し訳ありませんでした(ごめんなさい)。解説のページは修正しておきましたので、ご覧ください。

おおまかにですが、修正箇所を書いておきます。
(1)コンポーネントの配置で、TurnBitBtn を廃止。
(2)打ち手の表示切り替え箇所を修正。
(間違い)
TurnBitBtn->Font->Color = clBlue;
TurnBitBtn->Glyph->LoadFromFile("white.bmp");
TurnBitBtn->Caption = "あなたの番です";
(正しい)
TurnLb->Caption = "○ あなたの番です";
Application->ProcessMessages();
(3)乱数発生ルーチンの初期化を OnCreate に移動。
(4)OnPaint イベントを OnShow に変更。
以上。

今回、指摘があるまで、コードの間違いにまったく気づきませんでした。おかげで修正することができました。

これからも何かありましたらお願いします。

[154] お茶 投稿日:2007/01/16(Tue) 16:00
お聞きしたい事があるのですが。質問が多くて申し訳ありません

アプリケーション作成の「コンピュータ対戦型リバーシゲームを作る」を
拝見させて頂きまして、掲載されているコードを記述通りに入力したのですが、
・置いた石が描画されない(石を置ける置けないの判断は出来ている)
・石を置いてもコンピューター側が動かない。
・ラベルの表示が不鮮明(消えたり表示されたりを繰り返してるように見えます)

などのバグが出てしまい、ゲームが進行しません。
どういったところでミスをしているのかアドバイスを頂けないでしょうか?

あと、TurnBitBtnでロードされる”black.bmp”などは
どういったものを用意すればいいのでしょうか?

よろしくお願いします

[153] shibu 投稿日:2006/11/07(Thu) 19:45
Tips の紹介ありがとうございます。

Tips のページでは、SHBrowseForFolder を紹介しましたが、実は、VCL にもフォルダを指定できるダイアログがあるのですよね(あまり使い勝手がよくないので、SHBrowseForFolder を使うことが多いと思います)。

ヘルプに例が出ているのですが、どこかの機会で紹介してみたいと思います。
Tips の紹介時、「VCL には関数がありませんので〜」と書いてしまいすいませんでした(SelectDirectory のこともコメントしておきます)。

また、何かありましたら、ご連絡ください。

[152] BCB使用者(Topicが無くて苦労してる) 投稿日:2006/11/01(Wed) 16:41
私も「フォルダ選択ダイアログ(SHBrowseForFolder)」で、エラーが出て
苦労しました。
結果的に「NO_WIN32_LEAN_AND_MEAN」を使って解決しました。
で、他に色々探していたら以下のものでもフォルダー選択ダイアログを表示することが出来るモノがありました。
------------------------------------------------------------
#include <FileCtrl.hpp >

AnsiString Directory;
if(true == SelectDirectory("作業フォルダを指定してください。","\\",Directory) ){
WorkDirName = Directory;
}
------------------------------------------------------------

[151] エグ 投稿日:2006/10/19(Thu) 20:23
shibu さん、こんにちは。

>#define NO_WIN32_LEAN_AND_MEAN
>#include <shlobj.h>

バッチリです。ありがとうございました(お礼が遅れました・・・)

以前はDelphiで遊んでいましたが(ちょっとブランク有り)Turboシリーズが発表されたのを期に、C  に挑戦しています。
VCLはDelphiとかなり共通部分があり、すっと入れるのですが、変数の扱い等ちょっとしたことですぐ悩んでしまいます。

これからも参考にさせて頂きますので、よろしくお願いします。

[150] shibu 投稿日:2006/10/17(Tue) 22:05
エグさん、こんばんは。
サイトを参考にしていただいてありがとうございます。

さて、"shlobj.h"のエラーですけど、コンパイルオプションに NO_WIN32_LEAN_AND_MEAN を追加してみてください。

(例)
#define NO_WIN32_LEAN_AND_MEAN
#include <shlobj.h>

多重定義でのエラーや windows 構造体が定義できないなどでは、プロジェクトの条件定義に NO_WIN32_LEAN_AND_MEAN を加えると解決できるはずです(これで、ヘッダーファイルが強制的にインクルードされるようになる)。
ちなみに、WIN32_LEAN_AND_MEAN マクロを定義しておくと、NO_WIN32_LEAN_AND_MEAN とは逆に一部のヘッダーファイルを読み込まなくなり、コンパイル時間が短縮できます。

試してみてください。たぶん解決すると思いますよ。

[149] エグ 投稿日:2006/10/17(Tue) 13:57
先日より、TurboC  でプログラミングを始めたエグといいます。
C  Builderの情報は少ないので、ここのページはすごく参考になっています。
さて、フォルダ選択ダイアログ(SHBrowseForFolder)を私の環境で試してみましたが、#include <shlobj.h>の1行を追加するだけでエラーになります。
・[C   エラー] shobjidl.h(8279): E2238 'DESKBANDINFO' の宣言が複数見つかった。
・[C   エラー] shobjidl.h(2372): E2238 'FOLDERSETTINGS' の宣言が複数見つかった
等のエラーメッセージが出てます。
shobjidl.hのコードを修正するのは、さすがに躊躇してしまいます。

何か解決のヒントになる事があれば、教えてください。

環境:WinXP Pro SP.2 TurboC 。



[ ホーム | ページトップ | 前へ | 次へ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.