C++Builder相談室 Part14

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C++Builderに関する質問・回答や議論等を行う相談室スレッド。




過去スレ・関連サイトは>>2-6あたり。
2デフォルトの名無しさん:2005/05/19(木) 08:59:01
3デフォルトの名無しさん:2005/05/19(木) 08:59:26
<関連スレ>
BorlandBorland C++ BuilderX
http://pc5.2ch.net/test/read.cgi/tech/1065260556/l50
タダで使えるBorland C++ Part4
http://pc5.2ch.net/test/read.cgi/tech/1091066805/l50

<VCL兄貴のDelphiスレ>
くだすれDelphi(超初心者用)その22
http://pc5.2ch.net/test/read.cgi/tech/1107332482/l50
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その21
http://pc5.2ch.net/test/read.cgi/tech/1107333675/l50
Delphi相談室(上級者用)その12
http://pc5.2ch.net/test/read.cgi/tech/1064766880/l50
Delphi初心者】今から始めるDelphi Part01
http://pc5.2ch.net/test/read.cgi/tech/1062422335/l50
【大量・便利】Delphiコンポーネント【再利用】
http://pc5.2ch.net/test/read.cgi/tech/1051802300/l50
【Delphi】 Indyコンポーネント 【C++Builder】
http://pc5.2ch.net/test/read.cgi/tech/1093654251/l50
4デフォルトの名無しさん:2005/05/19(木) 09:00:59
<関連サイト>
公式サイト
http://www.borland.com/cbuilder/
http://www.borland.co.jp/cppbuilder/
builder-ML 過去ログブラウザ
http://leed.issp.u-tokyo.ac.jp/~takeuchi/builder/browse.cgi
http://www.sfdata.jp/ML/cbuilder/newlog.php?ml=cbuilder
C++Builder メーリングリスト
http://www.sfdata.jp/ML/menu.php?ml=cbuilder
C++Builder ML
http://www.jpdoc.com/cbuilder/

<Update>
BCB6/US SP1 は BCB6/JP 製品版に含まれています。
C++Builder 6 Update4 日本語版
ftp://ftp.borland.co.jp/pub/cbuilder/
C++Builder 6 Linker Update
http://www.borland.com/products/downloads/download_cbuilder.html
5デフォルトの名無しさん:2005/05/19(木) 09:01:29
<Tipsなど>
Borland C++Builder最新リンク2005(リンク集)
http://www2.famille.ne.jp/~akio1998/l_cpb.html
C++Builderのお部屋(Tips系)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/
C++Builderによるプログラミング(Tips系)
http://www.geocities.co.jp/SiliconValley/7201/
BCB Tips(Tips系)
http://members.at.infoseek.co.jp/mchos/bcb_tips/
C++Builder Tips(Tips系)
http://www.geocities.co.jp/SiliconValley/4805/bcbtips/bcbtips000.htm
C++Builder/Windowsプログラミング(Tips系)
http://www.kh.rim.or.jp/~maruoka/Builder/index.shtml
C++Builderのお部屋(Tips系)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/index.html
Wininet Programing(Tips系)
http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/
Dr.Bob's C++Builder Gate(Tips系)
http://www.drbob42.com/cbuilder/index.htm
猫でもわかるプログラミング(一般)
http://www.kumei.ne.jp/c_lang/
norika-s Program Tips(一般Tips)
http://hawaii.naist.jp/~norika-s/program_tips/
Delphian World(コンポーネントライブラリ)
http://www6.airnet.ne.jp/~sone_san/delphi/
DelWiki
http://onigiri.s3.xrea.com:8080/delphi/
6デフォルトの名無しさん:2005/05/19(木) 09:13:12
フォルダ内が変更されたかどうかを監視するにはどうしたらよいのでしょうか?
7デフォルトの名無しさん:2005/05/19(木) 09:46:49
<ツール/コンポーネント>
<<フリー>>
フリーカーソル無効化アドイン
http://homepage1.nifty.com/fuu/software/nonfreecursor.htm
GExperts−IDE拡張
http://www.gexperts.org/
BorCVS - IDEにCVSを統合
http://borcvs.sourceforge.net/
Indy
http://www.indyproject.org/
JCL
http://homepages.borland.com/jedi/jcl/
JVCL
http://homepages.borland.com/jedi/jvcl/
TurboPower
http://sourceforge.net/users/tpsfadmin/
<<有料>>
TMS Component Studio
http://www.tmssoftware.com/
8デフォルトの名無しさん:2005/05/19(木) 11:25:08
BCB6バンドルのQuickReportバージョンうp方法教えて下さいでつ。
9デフォルトの名無しさん:2005/05/19(木) 11:45:38
//#include <Clipbrd.hpp>

以下の例では,イメージ,ボタン,および Shape コンポーネントを使用しています。ユーザ ーがボタンをクリックすると,フォームのイメージが FormImage 変数を介してクリップボー ドに格納され,フォームのイメージはイメージコンポーネントにコピーされます。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphics::TBitmap *FormImage = GetFormImage();
try
{
Clipboard()->Assign(FormImage);
Image1->Picture->Assign(Clipboard());
}
__finally
{
delete FormImage;
}
}
//------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Shape1->Shape = stEllipse;
Shape1->Brush->Color = clLime;

Image1->Stretch = true;
}
10デフォルトの名無しさん:2005/05/20(金) 07:04:34
質問させてください、
今VC6を使ってて、VC2005が出たら買い替えようと思ってたのですが
BCBに興味を持ち、色々調べていたところです。

時期Delphi(2006?)に含まれるBCBで、64bitネイティブのコードも書けると
前スレにありましたが、発売時期とかの情報はまだ全く無い状態でしょうか?

あと、BCB6のPersonalとProfessionalの比較を見たのですが
個人で使うとしてもProfessionalの方が開発は楽でしょうか?

あとDirectXSDKをBCBで使ってる人がいれば、使う際に何か
注意点などあれば教えてもらえませんでしょうか。
11デフォルトの名無しさん:2005/05/20(金) 09:36:47
>発売時期とかの情報はまだ全く無い状態でしょうか?
そういうリーク情報が多いのは下記サイト。
ttp://www.drbob42.com/cbuilder/index.htm

>個人で使うとしてもProfessionalの方が開発は楽でしょうか?
PersonalはVCLのソースコードが付いてない。
VCLは滅多に読まないけど、読むとやりたいことが簡単にできるというか、
内部メソッドや内部変数が見つかる。
12デフォルトの名無しさん:2005/05/20(金) 11:09:19
>>10
DirectXSDKにボーランド向けのlibが付かなくなってしまったので、libを作るか下記のようにダウンロードしてくる必要がある。
http://www.nk.rim.or.jp/~m_iida/programming/directX/BCB_DX9.html

漏れは、DirectXプログラミングだけはVC toolkit2003 + PlatformSDKで作っている。(無料)

VCを使っているなら、DirectXはVCの方が楽かも。
それ以外の通常のアプリなら、BCBの方が格段に楽だと思います。
(御存知のようにVisual C++はVisualとか付いているけど、RADじゃないから)
1310:2005/05/20(金) 12:39:41
>>11
>そういうリーク情報が多いのは下記サイト。
ttp://www.drbob42.com/cbuilder/index.htm
ありがとうございます、チェックしてみます。
>PersonalはVCLのソースコードが付いてない。
なるほど〜・・・デバッグの機能にも制限があるようだし
Professionalの方がいいですね。

>>12
>DirectXSDKにボーランド向けのlibが付かなくなってしまったので
なるほど、わかりました。
>DirectXはVCの方が楽かも
微妙に迷うけど、でもBCBに惹かれるんですよね・・・
VCはゴテゴテと余計な物が付いていく(ように僕には見えるw)し、
C++/CLIも個人で書く分にはそんなに魅力感じないし・・・

あともうひとつ質問させてください、
BCBの環境でVCのコンパイラを使うといったことも簡単に出来るでしょうか?
gcc等が使えるというのは読んだ記憶があるのですが、VCのコンパイラでも
問題無くビルドできるのでしょうか。
14デフォルトの名無しさん:2005/05/20(金) 13:01:54
>gcc等が使えるというのは読んだ記憶があるのですが
BCBとBCBXを間違えてまつ。
BCBはVCLでWindowsをターゲット(一時期Linux)、
BCBXはクロスプラットフォーム、組み込みをターゲット。
1510:2005/05/20(金) 13:22:55
>>14
>BCBとBCBXを間違えてまつ。
あ、なるほど・・・納得しましたorz

色々と答えていただいてどうもありがとうございました。
16デフォルトの名無しさん:2005/05/20(金) 19:40:56
QuickReportで用紙トレイを選択する方法教えて下さいでつ。
17デフォルトの名無しさん:2005/05/21(土) 03:13:45
テキスト文書からwebアドレスを抜き出す方法を教えてください
18デフォルトの名無しさん:2005/05/21(土) 09:33:18
19デフォルトの名無しさん:2005/05/21(土) 10:08:01
20デフォルトの名無しさん:2005/05/21(土) 11:01:59
>>18
この書き込み何度か見るが、書き込むやつは何が言いたいのか?
高いと言いたいのか安いと言いたいのか?
21デフォルトの名無しさん:2005/05/21(土) 11:11:14
>>19
BCB違い…
22デフォルトの名無しさん:2005/05/21(土) 14:10:09
>>19
パナは、バッテリーの持ちが悪いからね…
新機種は、持ちが良いらしい(バッテリーの種類も変わる)ので、そっちに期待
23デフォルトの名無しさん:2005/05/21(土) 15:07:36
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString text = "123,45!6,789";
TStringList* ts1 = new TStringList();
TStringList* ts2 = new TStringList();

ts1->CommaText = text;
ts2->Delimiter = '!';
ts2->DelimitedText = text;

StringGrid1->Rows[0] = ts1;
StringGrid1->Rows[1] = ts2;

delete ts1;
delete ts2;
}
24デフォルトの名無しさん:2005/05/21(土) 15:47:26
void __fastcall TForm1::Button1Click(TObject *Sender)
{

AnsiString text = "123,45!6,789";
TStringList* ts1 = new TStringList();
TStringList* ts2 = new TStringList();

ts1->CommaText = text;
ts2->Delimiter = '!';
ts2->DelimitedText = text;

Memo1->Lines->Strings[0] = ts1->Strings[0];
Memo1->Lines->Strings[1] = ts2->Strings[0];

delete ts1;
delete ts2;

}
25デフォルトの名無しさん:2005/05/21(土) 19:06:00
VCってHELPに書いていないこと大杉
スクロール範囲shortにしないと
バーつかめないってどうよ

OnVScrollとONHScrollで捕まえて
GetScrollInfoして何とかなったけど
26デフォルトの名無しさん:2005/05/21(土) 20:51:31
ファイル選択のTOpenDialogを使っていると
表示メニューの選択が保存されなく、詳細(D)を選択しても次に開くと、一覧(L)に
戻ってしまうのが使いにくくてどうにかしたくて調べていたら、過去ログに
C Builder相談室 Part3 972で [Delphi:46188] Re: OpenDialog の状態設定
を発見したのまでは良かったのですが、
なんとDelphiメーリングリストが何故か過去ログ非公開になってました(涙。
どなたか、実現方法を教えてください。

27デフォルトの名無しさん:2005/05/21(土) 21:03:40
28デフォルトの名無しさん:2005/05/21(土) 21:23:36
>27
Veryありがとう。
こんなとこあったのですね。
29デフォルトの名無しさん:2005/05/22(日) 04:12:29
C++Builder内でMMXやSSXを使う方法を教えてください
30デフォルトの名無しさん:2005/05/22(日) 04:22:55
MMX はそのまま書けばアセンブルしてくれるぞよ。
asm{ movq mm0,mm2 } みたいな感じ。
SSE は使ったことないからしらないけども。
31デフォルトの名無しさん:2005/05/22(日) 05:04:47
以前にTEditのコピーを出来なくする方法の質問がありましたが、次のような方法で
実現してみました。

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
// サブクラスを登録する
OldEditWndProc = Edit1->WindowProc;
Edit1->WindowProc = EditWndProc;
}
void __fastcall TForm1::EditWndProc(TMessage& Msg)
{
// マウスの右ボタンを無効にする
if (Msg.Msg == WM_RBUTTONDOWN);
// キーが押されたらクリップボードをクリアする
else if (Msg.Msg == WM_KEYDOWN)
Clipboard()->Clear();
else
OldEditWndProc(Msg);

}

もしくはOnKeyDownでCTRL+Cが押された時だけクリップボードを
クリアするようにしても良いと思います。
32デフォルトの名無しさん:2005/05/22(日) 05:06:11
SSEもSSE2も3DNowもそのまま書けるにょ
33デフォルトの名無しさん:2005/05/22(日) 05:07:38
エラー出ないよ。もしかしたらServicePack違いかもしれないから、このスレを
よく読んでSP3相当にしたらどう?

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphics::TBitmap* tb = new Graphics::TBitmap;

ImageList1->GetBitmap(0, tb);
Image1->Picture->Bitmap = tb;
delete tb;
}
34デフォルトの名無しさん:2005/05/22(日) 05:08:50
で、質問するということは、そのまま書けなかったのだろうから、古いBCBなのかな?
BCB3のときはasmブロック内で「.MMX」て書かないと駄目だったな。
35デフォルトの名無しさん:2005/05/22(日) 05:13:38
>>31, 33
どっちもコピペだな…
新スレになっても消えてくんないんだなこの人。
36デフォルトの名無しさん:2005/05/22(日) 05:42:41











Clipboard()->Clear();
37デフォルトの名無しさん:2005/05/22(日) 05:57:23
実行ファイルに大きいアイコンと小さいアイコンを含めるにはどうしたらよいのでしょうか?
38デフォルトの名無しさん:2005/05/22(日) 06:09:41
>>37
アイコン作るソフトで大きいのと小さいのを含んだアイコンファイルを作るんだにょ。
アイコンファイル(.ico)は複数のサイズのアイコンを持てるから。
39デフォルトの名無しさん:2005/05/22(日) 06:51:12
Windowsで出来るだけ精度のよいタイマーはどれでしょうか?
40デフォルトの名無しさん:2005/05/22(日) 07:09:32
起動時のスプラッシュウィンドウを表示しないようにするには?
41デフォルトの名無しさん:2005/05/22(日) 07:11:32
>>40
TSprashForm::Close Release
4240:2005/05/22(日) 07:45:16
>>41
ありがとう
43デフォルトの名無しさん:2005/05/22(日) 08:19:41
>>41
そんなモンねーぞ。
IDEの事なら bcb /ns で起動しろ。
bcb /? で説明が出てくる。
44デフォルトの名無しさん:2005/05/22(日) 13:42:34
Windowsのエクスプローラではフォルダが別のソフトで削除されたときに、ツリービューが自動的に更新されますが、
同じようなことを独自のソフトで実現するにはどのようにしたらよいのでしょうか?
フォルダやファイルの作成や削除に反応するイベントか何かあるのでしょうか?
45デフォルトの名無しさん:2005/05/22(日) 13:52:08
46本田:2005/05/22(日) 14:04:07
47デフォルトの名無しさん:2005/05/22(日) 14:16:04
最小化イベントに反応する方法を教えてください
48デフォルトの名無しさん:2005/05/22(日) 14:22:22
ListViewでColumnごとにReadOnlyを設定することは出来ないのでしょうか?
49デフォルトの名無しさん:2005/05/22(日) 15:54:50
C++BuilderXの話題はここでよいのでしょうか?
50デフォルトの名無しさん:2005/05/22(日) 15:58:13
51& ◆FC4h7F/wV6 :2005/05/22(日) 15:59:26
>>49

>>3
を見てください。
52本田:2005/05/22(日) 17:56:32
53デフォルトの名無しさん:2005/05/22(日) 22:49:50
Personalを買ったんですけど、Professionalへのバージョンアップの案内って
すぐに来るものですか?
Professionalが安く買えればいいなあ、と思ってるのですが。。。
54デフォルトの名無しさん:2005/05/23(月) 04:10:13
グレードアップは普通は新バージョンが出たときだけだよ。

ただBCBはVer.6以降バージョンアップが止まってるから
年に一回くらいグレードアップキャンペーンをしてたけど。

それも、次バージョンでDelphiと統合って正式にアナウンスされたから
もうしないんじゃないかな?
55デフォルトの名無しさん:2005/05/23(月) 05:11:38
ListViewのSubItemの一部を非表示にすることは出来ますか?
あるColmunをデータを保持しつつ表示からは消したいのですが。
56デフォルトの名無しさん:2005/05/23(月) 07:24:34
>>54
d
そうなんですか・・・orz
57デフォルトの名無しさん:2005/05/23(月) 08:52:19
現在開いているWebページのタイトルをMemoに表示させたいんですけど
どうすればいいんですか?
58デフォルトの名無しさん:2005/05/23(月) 09:08:49
QuickReportのプレビュー画面の上のボタン消す方法教えて下さいでつ。
59デフォルトの名無しさん:2005/05/23(月) 11:20:16
C++BuilderからGeckoエンジンを使う方法
http://homepage2.nifty.com/spw/tips/Gecko.html
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
MozillaBrowser1->GoHome();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ToolButton3Click(TObject *Sender)
{
// 「ホーム」ボタンが押された場合の処理
MozillaBrowser1->GoHome();
}
//---------------------------------------------------------------------------


void __fastcall TForm1::ToolButton2Click(TObject *Sender)
{
// 「中止」ボタンが押された場合の処理
MozillaBrowser1->Stop();
60デフォルトの名無しさん:2005/05/23(月) 13:02:49
>>59
ユーザーにプログラムを配布するときはどうすればいいの?
クラスが登録されていませんと出て、実行できないのですが・・・。
61デフォルトの名無しさん:2005/05/23(月) 17:04:51
IdleイベントはCPUが2つあった場合は、片方がアイドル状態になったときに発生するのですか?
62デフォルトの名無しさん:2005/05/23(月) 17:12:42
しないよ。1つでも2つでもCPUの状態とは関係ない。
63デフォルトの名無しさん:2005/05/23(月) 23:05:11
BCB6ではSelectDirectory()関数は使えますか?
未定義のシンボルと出てコンパイルできませんが・・・
64デフォルトの名無しさん:2005/05/23(月) 23:12:10
>>63
#include <FileCtrl.hpp>
65デフォルトの名無しさん:2005/05/23(月) 23:18:13
>>64
すいませんお騒がせしました
66デフォルトの名無しさん:2005/05/24(火) 05:31:19
フォルダ選択ダイアログ
http://homepage3.nifty.com/flare/pc/bcb/data/076.html
簡単なものであれば、「SelectDirectory()」を使うという手がある。
欠点としては、ネットワークドライブを認識できない問題がある。
67デフォルトの名無しさん:2005/05/24(火) 05:49:29
フォルダの選択ダイアログを表示するには?
Windows API SHBrowseForFolder()を使用します。
http://www.borland.co.jp/qanda/cbuilder/c0005004.html
68デフォルトの名無しさん:2005/05/24(火) 08:35:21
C++BuilderからMySQLを操作するプログラム
http://www.geocities.co.jp/SiliconValley-Bay/1352/
69デフォルトの名無しさん:2005/05/24(火) 10:10:43
>>67
これwinsock使ってるとコンパイルできなくね?
70デフォルトの名無しさん:2005/05/24(火) 11:50:42
VarAsTypeでint64型にキャストしたいのですが、
ヘルプ見てもどれがint64型に該当するのかわかりません。
引数になにを渡したらいいのでしょうか?
もしかして変換できないのでしょうか?
71デフォルトの名無しさん:2005/05/24(火) 12:22:02
varInt64てやつだね
72デフォルトの名無しさん:2005/05/24(火) 16:11:45
WIN XP SP2、CB6の環境です。
InternetパレットのUdpSocketを使用して、サーバー側と
クライアント側のプログラムを作成しましたが
サーバー側のソケットをオープンすると、
コード10049(Winsock Error Code)が発生します。
サーバー側プログラムのUdpSocketのプロパティは
LocalHost:192.168.0.10
LocalPort:10000
クライアント側プログラムのUdpSocketのプロパティは
RemoteHost:192.168.0.10
RemotoPort:10000
と設定してあります。
コンポーネントがバグってるのでしょうか?
73デフォルトの名無しさん:2005/05/24(火) 16:12:20
BCB3とBCB6って同居できますか?
74デフォルトの名無しさん:2005/05/24(火) 16:14:30
>>72

数字がダメ
75デフォルトの名無しさん:2005/05/24(火) 16:18:55
>>74
0.0.0.0だったら、 INADDR_ANYみたいなかんじですか?
76デフォルトの名無しさん:2005/05/24(火) 16:28:42
ホストバイトオーダーに変換しないとだめってことですね・・・
77デフォルトの名無しさん:2005/05/24(火) 17:50:43
>>76
まじで全角で指定してんの?
78デフォルトの名無しさん:2005/05/24(火) 18:04:54

10049 WSAEADDRNOTAVAIL: 無効なネットワークアドレス
79デフォルトの名無しさん:2005/05/24(火) 18:13:32
NMUDPのアクティブとノンアクティブの切り替えは
どうやればいいでしょうか?
80デフォルトの名無しさん:2005/05/24(火) 18:22:32
>>77
してないです
81デフォルトの名無しさん:2005/05/25(水) 09:27:31
82デフォルトの名無しさん:2005/05/25(水) 10:09:18
QuickRep1->Printer->PrintSetup();
で用紙トレイって反映されます?
83デフォルトの名無しさん:2005/05/25(水) 10:33:17
製品版QuickReport買えば、ソース付いてきますか?
幾らくらいなんだろう。
84デフォルトの名無しさん:2005/05/25(水) 11:18:23
時刻の足し算と引き算 2003.03.19



日付の各要素をインクリメントするメソッド群です。マイナス値を指定すればデクリメントします。 当然"1"以外の数値も指定出来ます。 usesにDateUtilsが必要です。他にもいろいろあります。 IncMilliSecond IncMinute IncMonth ■指定の日付時刻から1分引く

var
aDateTime : TDateTime;
begin
aDateTime := StrToDateTime('2003/03/10 01:01:01');
Edit1.Text := DateTimeToStr(IncMinute(aDateTime, -1));
end;
85デフォルトの名無しさん:2005/05/25(水) 11:49:53
mp3の再生方法を教えてください
86デフォルトの名無しさん:2005/05/25(水) 12:49:35
87デフォルトの名無しさん:2005/05/25(水) 12:50:02
88デフォルトの名無しさん:2005/05/25(水) 15:43:49
C++Builderで作ったソフトをEnumWindowsでハンドルを取得してもそのハンドルでウィンドウの操作ができないのですが
これって見えない親ウィンドウがいるからですかね?
普通にEnumWindowsでForm1のハンドルを取得するにはどうしたらいいでしょうか?
89デフォルトの名無しさん:2005/05/25(水) 15:50:42
>>88
いやEnumWindowsで取得できるから、何か間違ってる。
90デフォルトの名無しさん:2005/05/25(水) 15:51:05
>>88
EnumWindowsなら普通にハンドル取れるだろ。
その操作できないハンドル返すウィンドウはウィンドウクラス名がTApplicationの奴じゃないのか?

VCLアプリはタスクバーに表示されてるウィンドウ(TApplicationが生成した非表示ウィンドウ)とメインウィンドウ(TForm派生クラスが生成)は別のウィンドウ。

91デフォルトの名無しさん:2005/05/25(水) 15:56:58
>>89-90
あ、いやいや、えと僕の言い方が悪かったと言うか発見しました。
えとハンドルは取れてちゃんと操作もできるのですが、TForm1クラスだとアイコンがとれないですね
アイコンは>>90さんが言ったようにTApplicationクラスがもってるっぽいので
TForm1クラスからアイコン取る方法を教えてください
それにこれ子ウィンドウになってるんですね
92デフォルトの名無しさん:2005/05/25(水) 16:04:56
ああああ〜
GetClassLongでは無理だったけどSendMessageで取れますた。
93デフォルトの名無しさん:2005/05/25(水) 16:12:32
えと、何がしたかったかっていうと、現在起動されているタスクを表示しようとしていまして
それでタイトルやアイコンが無い、又は親ウィンドウ以外は表示しないようにしていたのですが
そうすると、C++Builderで作ったソフトがTApplicationクラス以外は表示されなくなりまして
GetWindowLong( hWnd, GWL_HWNDPARENT )←これではじく場合にTForm1(例えば)はどうやってスルーさせればいいですか?
94デフォルトの名無しさん:2005/05/25(水) 17:07:02
      
95デフォルトの名無しさん:2005/05/25(水) 17:08:18
誰かRASPを知っている人いませんか??
96デフォルトの名無しさん:2005/05/25(水) 17:40:28
タスクの列挙ならEnumProcessやProcess32Firstでやらないか?普通。
97デフォルトの名無しさん:2005/05/25(水) 17:47:39
馬鹿っ!!よく読んで!!
98デフォルトの名無しさん:2005/05/25(水) 18:44:15
親のクラス名がTApplicationかどうか調べればいいんでない
99デフォルトの名無しさん:2005/05/25(水) 18:44:55
100デフォルトの名無しさん:2005/05/25(水) 18:55:43
>>98
それだっ!!
つかそれどうやってやるんですかね?
101デフォルトの名無しさん:2005/05/25(水) 19:00:13
>>100
GetClassName
102デフォルトの名無しさん:2005/05/25(水) 19:42:04
BCB6#4でChartのヘルプを出そうとするとエラーで出てこないってガイシュツ?
103デフォルトの名無しさん:2005/05/25(水) 21:17:00
                
104デフォルトの名無しさん:2005/05/25(水) 21:51:24
WEBページのタイトルを
Edit1に表示することって
できますか?
105本田& ◆xOS3wf.pJg :2005/05/25(水) 23:26:37
>>102
初耳です。
106本田:2005/05/25(水) 23:28:17
>>104
表示するのはLabelだと思うけど。
107& ◆FC4h7F/wV6 :2005/05/26(木) 00:08:09
>>93
>それでタイトルやアイコンが無い、又は親ウィンドウ以外は表示しないようにしていたのですが

もし、キャプションを表示したくなければ。
void __fastcall TForm1::CreateParams(TCreateParams &Params)
{
TForm::CreateParams(Params);
Params.Style &= ~WS_CAPTION;
}
108本田:2005/05/26(木) 00:09:22
>>107
私です。
109デフォルトの名無しさん:2005/05/26(木) 00:13:09
君はなんかズレてるよね
110104:2005/05/26(木) 06:37:15
間違えました
Labelに表示する方法
教えてください
111デフォルトの名無しさん:2005/05/26(木) 08:07:17
procedure AlphaDraw(X, Y: Integer; {描画先座標}
Bmp1, Bmp2: TBitmap; {ビットマップ}
Alpha: Single; {透過度}
TransParentColor: TColor); {背景色(完全透過します)}

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

procedure AlphaDraw(X, Y: Integer; Bmp1, Bmp2: TBitmap;
Alpha: Single; TransParentColor: TColor);
var
i, j, k, v, z : Integer;
Rect1, Rect2, Rect3 : TRect;
Pnt1, Pnt2 : PRGBArray;
Alp : Single;
begin
//半透明コピー開始

112デフォルトの名無しさん:2005/05/26(木) 08:07:39
//コピー領域をキャッチ
Rect1 := Rect(0, 0, Bmp2.Width, Bmp2.Height);
OffsetRect(Rect1, X, Y);
Rect2 := Rect(0, 0, Bmp1.Width, Bmp1.Height);
IntersectRect(Rect3, Rect1, Rect2);

if(Rect3.Left < Rect3.Right) and (Rect3.Top < Rect3.Bottom) then
begin
//先に透過度の計算をしてしまう
Alp := 1.0 - Alpha;

//コピーする画像の描画開始座標を求める
k := Rect3.Left -X;
z := Rect3.Top -Y;

for j := Rect3.Top to Rect3.Bottom -1 do
begin

Pnt1 := Bmp1.ScanLine[j];
Pnt2 := Bmp2.ScanLine[z];

v := k;

for i := Rect3.Left to Rect3.Right -1 do
begin

113デフォルトの名無しさん:2005/05/26(木) 08:07:48
//背景色じゃないなら書き換えてしまいます
if DWORD(TransParentColor) <> DWORD(Pnt2[v]) then
begin
Pnt1[i].R := Round((Pnt1[i].R*Alp)+(Pnt2[v].R*Alpha));
Pnt1[i].G := Round((Pnt1[i].G*Alp)+(Pnt2[v].G*Alpha));
Pnt1[i].B := Round((Pnt1[i].B*Alp)+(Pnt2[v].B*Alpha));
end;

inc(v);
end;

inc(z);
end;
end;
end;


Alpha が透過度になります(1.0 で100%コピー、0.5 で50%コピー)。
114デフォルトの名無しさん:2005/05/26(木) 08:16:38
C++Builder6 pro にて英語化でしつもんです。

VCLが表示するリソース(例外のメッセージや、「はい」ボタンのキャプションなど)
を英語に書き換えてしまいたいのですが、可能でしょうか?

C++Builder5には英語用のUSVCLが付属していてそれを使用すればよさそうなのですが、
6にはついていませんでした。
そこで、自分で英語に書き換えてしまおうとしましたが
いったいどうやればよいのかがわかりません。
Const.pasとSysConst.pasの日本語を英訳して...
そこからどうしたらよいのでしょうか?

なるべくEXE一本でゆきたいので、
リソースDLLや実行時パッケージは使用しない方向で考えています。

英語版を購入するしかないのでしょうか?
115デフォルトの名無しさん:2005/05/26(木) 08:17:33
http://thunder.prohosting.com/~cbdn/html.htm
RAS
??????????How can I copy phonebook entries?
??????????How can I create a new phonebook entry?
??????????How can I delete phonebook entries?
??????????How can I detect active connections?
??????????How can I establish an Internet connection?
??????????How can I hang up active connections?
??????????How can I list phonebook entries?
116デフォルトの名無しさん:2005/05/26(木) 09:09:13
>>104
void __fastcall TForm1::CppWebBrowser1DocumentComplete(TObject *Sender,
LPDISPATCH pDisp, Variant *URL)
{
IHTMLDocument2 *doc;
wchar_t *title;
CppWebBrowser1->Document->QueryInterface(IID_IHTMLDocument2, (void**)&doc);
doc->get_title(&title);
Caption = title;
}
117デフォルトの名無しさん:2005/05/26(木) 10:40:52
WebDAVに接続して、ファイルをアップロードする方法を教えてください
118デフォルトの名無しさん:2005/05/26(木) 14:02:39
POP3コンポーネントで、直接サーバにコマンドを送る方法を教えてください
119デフォルトの名無しさん:2005/05/26(木) 18:49:27
         
120デフォルトの名無しさん:2005/05/26(木) 20:23:14
>>114
Delphiの仕様では、プロジェクトのフォルダに*.dcu置いておけばライブラリより優先して使われる。
C++Builderだとどうなるかは知らん。すまん。
121デフォルトの名無しさん:2005/05/26(木) 21:28:23
BCBだとConsts.pas/SysConst.pasの編集したやつをコンパイルして.objを作っておいて、
それを英語化したいプロジェクトに追加すると出来るね。
122デフォルトの名無しさん:2005/05/27(金) 05:04:16
メニューをプログラムの中で動的に作成する方法を教えてください
123デフォルトの名無しさん:2005/05/27(金) 06:33:15
リソースにビットマップファイルなどを含めるにはどうしたらよいのでしょうか?
124デフォルトの名無しさん:2005/05/27(金) 07:15:05
>>116
ありがとうございます
しかし次のようなエラーがでました

[C++ Error] Unit1.cpp(143): E2451 Undefined symbol 'IHTMLDocument2'
[C++ Error] Unit1.cpp(143): E2451 Undefined symbol 'doc'
[C++ Error] Unit1.cpp(145): E2451 Undefined symbol 'IID_IHTMLDocument2'
[C++ Error] Unit1.cpp(145): E2285 Could not find a match for 'IUnknown::QueryInterface(undefined,undefined)'

いったい、これは・・・・

お願いします
125デフォルトの名無しさん:2005/05/27(金) 08:26:26
126デフォルトの名無しさん:2005/05/27(金) 09:58:47
HTMLをリソースとして取り込む
http://www.ayu.ne.jp/user/skyblue/program/

http://www.neco.nu/gohodoji/bccfaq/bccfaq.html
IDI_ICON1 ICON "icon1.ico"
127デフォルトの名無しさん:2005/05/27(金) 11:11:25
>>124
っ[ grep ]
128デフォルトの名無しさん:2005/05/27(金) 11:53:06
TImageでなめらかに画像を拡大する方法はありませんか?
129デフォルトの名無しさん:2005/05/27(金) 12:16:02
TListViewでチェックボックスを使用時にチェックにだけ反応するイベントはどうしたら取得できますか?
130デフォルトの名無しさん:2005/05/27(金) 12:20:55
>>127
どういう意味なんですか?
131デフォルトの名無しさん:2005/05/27(金) 12:34:50
FindWindowやFindWindowEXで他のアプリケーションの
ToolBarのハンドルを取得しボタンを追加したいのですが
追加される側のアプリケーションが終了してしまいます。

TBBUTTON button;
(略)
toolhwnd= FindWindowEx(hwnd,NULL, "ToolbarWindow32",NULL);
SendMessage(toolhwnd,TB_INSERTBUTTON , 0, (LPARAM)&button));

他のアプリケーションのオブジェクトを操作することは出来ないのでしょうか?

132デフォルトの名無しさん:2005/05/27(金) 14:45:21
http://www.ayu.ne.jp/user/skyblue/program/
イースター エッグ
バージョン表示ダイアログにて以下のキーワードをALTキーを押しながら
入力するとスタッフの一覧が表示される。

Altキーを押しながら打つキーワード


TEAM
staff

QUALITY
QA staff

DEVELOPERS
R&D staff

C++Builder5/6 とDelphi6で確認

Delphi6のはスターウォーズのオープニングみたいだよ
追加情報は右記へ:[email protected]
133デフォルトの名無しさん:2005/05/27(金) 14:59:13
>>131
&buttonを渡しても、他のアプリにとっては無効なアドレスなので。
グローバルフックすれば出来るよ。

>>132
またコピペ君か。2chに人のメアド張るのはいかがなものか
134デフォルトの名無しさん:2005/05/27(金) 15:18:54
sndPlaySoundを使うとコンパイル時に未定義ってエラーでるんですけど、これなにをインクルードすればいいですか
135デフォルトの名無しさん:2005/05/27(金) 15:57:39
>>124
MSDN嫁
>>134
MSDN嫁
>>130
ヘッダ検索しる
136デフォルトの名無しさん:2005/05/27(金) 16:06:14
>>135
消えろゴミが
137デフォルトの名無しさん:2005/05/27(金) 16:12:43
毎度おなじみ
138デフォルトの名無しさん:2005/05/27(金) 16:13:36
WinXPでのsndPlaySound不具合
WinXPでのsndPlaySound不具合. [Visual Basic Q & A 掲示板] [過去ログの一覧] ...
WinXPでsndPlaySoundを使ったアプリケーションを使ってるのですが、 音が鳴りません。
同アプリをMeや98SE上で使うと普通に鳴ります。 リソースファイルからメモリに読み
139デフォルトの名無しさん:2005/05/27(金) 16:27:06
>>138
スピーカー
140デフォルトの名無しさん:2005/05/27(金) 16:34:09
うはwwwおkwwwww
http://pointin.jp/home.aspx
141デフォルトの名無しさん:2005/05/27(金) 17:18:16
ずいぶん前に聞いた話なので、本当かはわかりませんけど、
Home Edition はそんな話しは聞きませんが、Profesional Editionには、
16bitAPIを削除して、安定性を得てるという話を聞いたことがあります。
sndPlaySoundは16bitなので、使えないかもしれません。

PlaySoundとかなら確実になると思います。
142デフォルトの名無しさん:2005/05/27(金) 18:10:16
TStringGridの非スクロール領域をボタンにする方法を教えてくださいな
143130:2005/05/27(金) 21:04:35
>>135
検索したら
Search string 'grep' not found
とでましたが・・どうすればいいのですか?
144デフォルトの名無しさん:2005/05/27(金) 21:14:04
ギガワロスラッシュ
145デフォルトの名無しさん:2005/05/27(金) 22:08:21
勘弁してくれ〜。仕事でDelphiで書かれたプログラムのいくつかを
BCBに移植していじらなければならなくなったんだが、頭おかしくなりそう。
バイナリのリンクなら簡単簡単なのに。
146デフォルトの名無しさん:2005/05/27(金) 22:22:02
147デフォルトの名無しさん:2005/05/28(土) 05:49:13
国際化対応尾アプリケーションを作るためにリソースDLLウィザードで
英語と日本語を選択し、ウィザードを最後まですすめ、完了したのですが、
ここから、どうやって英語版のフォームを表示するのかがわかりません。
どなたか教えていただけないでしょうか?
それから、英語版Windowsに作成したプログラムを持って行けば、
自動的に英語版のフォームが選択されるのでしょうか?
それとも手動で選択してやる必要があるのでしょうか?
148age:2005/05/28(土) 10:20:02
>>147
エディタに.DFMファイルが表示されるだけなのですよね?
C++Builder6にはローカライズ対象のフォームを表示できない、という不具合が
あったように思います。
149デフォルトの名無しさん:2005/05/28(土) 10:45:22
>>57
SetWindowText?
150デフォルトの名無しさん:2005/05/28(土) 18:01:27
151デフォルトの名無しさん:2005/05/28(土) 19:22:47
ビルダーをインストールしてないマシンでは
実行ファイルが動かなかったのですが、
どうすればいいのですか?
152デフォルトの名無しさん:2005/05/28(土) 19:30:37
153デフォルトの名無しさん:2005/05/28(土) 21:11:06
>>152
ありがとう
154デフォルトの名無しさん:2005/05/28(土) 22:13:35
BCB5です。
ボタンをクリックすると、TImageが動的に作られ、アイコンが貼り付けられるというプログラムを作っているのですが、
ボタンのOnClickに以下のソースを入れてもアイコンが表示されません。
何か忘れてる気がするんですが教えてもらえますか?


TImage *Image=new TImage(this);

ExtractIconEx(Application->ExeName.c_str(),0,&hIcon,NULL,1);
Icon->Handle = hIcon;
Image->Canvas->Brush->Color = Color;
Image->Canvas->FillRect(Rect(0,0,Image->Width+1,Image->Height+1));
Image->Canvas->Draw(0,0,Icon);
155154:2005/05/28(土) 23:03:08
すんません。
自己解決しました。
Parent書き忘れてました。
156デフォルトの名無しさん:2005/05/28(土) 23:17:43
BCB6のパーソナル版を購入してプログラムの勉強をしています。
アイコンをタスクトレイに表示するところまではできるようになりました。
そこで、タスクトレイのアイコンを右クリックしたら立ち上がっている
ウィンドウをすべて最小化するようにしたいのですが、やり方がさっぱり
わかりません。何かよい方法、もしくはgoogleなどで検索する
キーワードを教えて頂きたいです。
157デフォルトの名無しさん:2005/05/28(土) 23:40:06
>>156
BCB6 タスクトレイ ウィンドウ 最小化
158デフォルトの名無しさん:2005/05/29(日) 02:46:24
>>156
EnumWindows
WM_SYSCOMMAND
159デフォルトの名無しさん:2005/05/29(日) 10:04:29
HICONhIcon;
TIcon*Icon;

Icon = new TIcon();
ExtractIconEx(Application->ExeName.c_str(),0,&hIcon,NULL,1);
Icon->Handle = hIcon;
Image1->Canvas->Brush->Color = Color;
Image1->Canvas->FillRect(Rect(0,0,Image1->Width+1,Image1->Height+1));
Image1->Canvas->Draw(0,0,Icon);
Icon->ReleaseHandle();
DestroyIcon(hIcon);
delete Icon;
160デフォルトの名無しさん:2005/05/29(日) 10:06:46
HICON hIcon;
TIcon*Icon;

Icon = new TIcon();
ExtractIconEx(Application->ExeName.c_str(),0,&hIcon,NULL,1);
Icon->Handle = hIcon;
Image1->Canvas->Brush->Color = Color;
Image1->Canvas->FillRect(Rect(0,0,Image1->Width+1,Image1->Height+1));
Image1->Canvas->Draw(0,0,Icon);
Icon->ReleaseHandle();
DestroyIcon(hIcon);
delete Icon;
161デフォルトの名無しさん:2005/05/29(日) 10:55:33
162デフォルトの名無しさん:2005/05/29(日) 10:58:08
Image1に立体風の文字を書きたいのですが、↓としても白で書いた文字が消されてしまいます。
TextFlags=0;をいれてみたりもしたのですが、だめでした。
背景部分は透過されるようにするにはどうしたらいいですか?

Image1->Canvas->Font->Color=clWhite;
Image1->Canvas->TextOut(2,38,Edit1->Text);
Image1->Canvas->Font->Color=clBlack;
Image1->Canvas->TextOut(0,36,Edit1->Text);
163デフォルトの名無しさん:2005/05/29(日) 11:21:34
国際化対応のアプリの作り方が、ヘルプを読んだのですがわかりませんでした。
英語のテキストはどこに書けばよいのでしょうか?
164デフォルトの名無しさん:2005/05/29(日) 12:31:42
http://www.borland.co.jp/tips/cbuilder/cb012/
文字列の出力では、通常文字列領域を現在のバックグラウンドカラーで塗り つぶします。 バックグラウンドカラーは、TCanvas の Brush プロパティを用い て設定します。
Canvas->Brush->Color = clHighlight;
また、背景を透過にしたい場合には以下のように記述します。
Canvas->Brush->Style = bsClear;
165デフォルトの名無しさん:2005/05/29(日) 12:33:17
Image1->Canvas->Brush->Style = bsClear;
166デフォルトの名無しさん:2005/05/29(日) 12:40:39
Delphi用にはGDI+のコンポーネントがいろいろと紹介されているのですが、
BCB6でも使えるGDI+コンポーネントで有名どころはどこかにないでしょうか?
167162:2005/05/29(日) 12:45:40
>>164
ありがとう
168デフォルトの名無しさん:2005/05/29(日) 15:06:48
C++Builderでフックのやり方を教えてください。
解説してあるページへのリンクでもいです。
169デフォルトの名無しさん:2005/05/29(日) 15:11:02
170デフォルトの名無しさん:2005/05/29(日) 17:57:28
一,

HINSTANCE g_hinstDll = NULL;
HHOOK g_hhook = NULL;
HWND g_hwndPost = NULL;
UINT g_uMsgNotify = WM_USER;


HOOKPROC KeyboardHook_HookProc ( int nCode, WPARAM wParam, LPARAM lParam)
{
LRESULT lResult = CallNextHookEx(g_hhook, nCode, wParam, lParam);
if (nCode == HC_ACTION)
{
PostMessage(g_hwndPost, g_uMsgNotify, wParam, lParam);
}
return((HOOKPROC)lResult);
}
171デフォルトの名無しさん:2005/05/29(日) 17:57:47
///////////
BOOL WINAPI SetKeyboardHook (HWND hWndPost, UINT Msg)
{
HHOOK hhook;
if (g_hhook != NULL) return(FALSE);
g_hwndPost = hWndPost;
g_uMsgNotify = Msg;
Sleep(0);
if (g_hLogHook==NULL)
hhook = SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyboardHook_HookProc,g_hinstDll, 0);
InterlockedExchange((PLONG) &g_hhook, (LONG) hhook);
return(g_hhook != NULL);
}
///
BOOL WINAPI ReleaseKeyboardHook()
{
BOOL fOK = TRUE;

if (g_hhook != NULL)
{
fOK = UnhookWindowsHookEx(g_hhook);
g_hhook = NULL;
}
return(fOK);
}

172デフォルトの名無しさん:2005/05/29(日) 17:57:55
BOOL WINAPI DllMain (HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
g_hinstDll = hinstDll;
break;
}
return(TRUE);
}



二,
173デフォルトの名無しさん:2005/05/30(月) 00:21:20
国際化にはDelphi/Builder対応gettextがお勧め。
http://dybdahl.dk/dxgettext/
GNU-gettextの移植版だが、Windowsの言語設定に対応してるのと、
実行時にフォーム内の文字列を一括変換してくれる、便利な関数がついてる。
(これをCreateイベントハンドラに仕込んでおくだけ)
変換テーブルファイルを外部に持つのが嫌でなければ、リソースいじるよりはるかに楽。
GNU由来のコードは実行ファイルに含まれないので、ライセンスもかなり緩いです。

最低限気をつけるのは、
- フォームやメッセージ文字列は英語で作っておく
- フォント名の文字列も書き換えてくれるが、Charsetまでは変えてくれないので、
あらかじめDEFAULT CHARSETにしとく(これでたいがいはOK)

あとは良くも悪くもgettextなので、それなりのクセはあります。
174デフォルトの名無しさん:2005/05/30(月) 02:48:55
Form1->Caption = "kkk";
SetWindowText(Form1->Handle,"kkk");
175デフォルトの名無しさん:2005/05/30(月) 15:44:50
 
176デフォルトの名無しさん:2005/05/30(月) 18:05:56
C++ With Borland C++Builder: An Introduction to the Ansi/Iso Standard and Object-Oriented Windows Programming
Richard Kaiser (著)
http://www.amazon.co.jp/exec/obidos/ASIN/3540010270/ 
177デフォルトの名無しさん:2005/05/30(月) 18:52:15
コンポーネントパレットのアイコンを加工して.icoファイルにして
自作アプリケーションと一緒にサンプルとして配布したいのですが、
これはやっぱりまずいですかね…
色んなコンポのアイコンが欲しいんですが
178デフォルトの名無しさん:2005/05/30(月) 18:58:05
通報しますた
179デフォルトの名無しさん:2005/05/30(月) 19:03:59
http://blog.livedoor.jp/junki560/archives/cat_854169.html
↑ここに書いてあるようなGDI+を使った2Dグラフィックを楽しみたくて、delphi用
のGDI+ラッパーをいじったけど、うまく動かなかった。

仕方なく、気が向かないけどC#で遊んでいる(.Netは初めからGDI+用の
ラッパーが標準装備。その替わり、従来のGDIを使おうとすると面倒くさい)。

C#Builderも出てしまったし、GDI+はこれからマネージコード専用の方向に
行ってしまうんかね。海外のサイトを検索しても、アンマネージコードでGDI+
のラッパーを作ろうという奇特な香具師はほとんどいないようだし。
180デフォルトの名無しさん:2005/05/30(月) 19:10:22
StringGridで特定の行の色を変更するにはどうしたらいいでしょうか?
FixedColorを使ってみたのですが、一番上の行だけが変わってしまって・・・
181デフォルトの名無しさん:2005/05/30(月) 20:19:13
>>179
一応聞いておくけど、BCBがラッパーなしで、そこと同じ内容のコード書けるのは知ってるの?
BCBは初めからGDI+使うためのヘッダが付いてるけど、Delphiは当然C++のヘッダは使えないから
そうやってラップしてるんだろうけど。

それともその上でもっと楽に使えるラッパーが欲しい、誰か作成しる!という事?
182デフォルトの名無しさん:2005/05/30(月) 20:34:05
>>181
当然知ってる。「猫でもわかる・・・・」は完全にラッパー無しで全部C++で
書いている。しかし、ちょっとした事をするのに物凄く手間がかかるので、
ラッパーにしたい。

VCLコンポーネントになっていれば一番楽なのだが、個人の手に余る。
GDI+のよく使う機能だけコンポーネント化するぐらいならなんとかなるが。
一度楽をする事を覚えると、Win32で書く気が失せる・・・・
183デフォルトの名無しさん:2005/05/30(月) 20:35:57
http://www.leunen.com/cbuilder/gdiplus.html

implib -c -f gdiplus.lib gdiplus.dll
184デフォルトの名無しさん:2005/05/30(月) 20:53:43
>>183
dクス。やってみる。
185デフォルトの名無しさん:2005/05/30(月) 21:24:09
BCB6でGDI+を使う
返信 削除
http://bx.misty.ne.jp/~h-kova/cgi-bin/bbs/cyclamen.cgi?log=faqtip&tree=r12
▽ 2002/3/28 (木) 20:44:02 ▽ michael

z211-19-82-170.dialup.wakwak.ne.jp / Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; T312461)


BCB6にはGDI+のヘッダファイルが含まれています。
使ってみましたので、使用方法を書いておきます。

GDI+とは何かについてはこちらを参考にしてください。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/cpp_gdi+
start_26ic.asp
186デフォルトの名無しさん:2005/05/30(月) 21:25:59
BCB6が出たときにGDI+があったのがなんか驚き。
しばらく新バージョン出てないから、BCB6ってすごく古く感じる。
187デフォルトの名無しさん:2005/05/30(月) 21:42:54
188デフォルトの名無しさん:2005/05/31(火) 10:15:46
189デフォルトの名無しさん:2005/05/31(火) 11:25:29
WM_XBUTTONDOWNメッセージを処理しているのですが、
ダブルクリック並みの速さでクリックすると、2度目のメッセージが来ないのですが、
どうしたら、2回とカウントできるでしょうか?
190デフォルトの名無しさん:2005/05/31(火) 11:44:15
SetDoubleClickTime. 機能. マウスのダブルクリック間隔を設定する.
191デフォルトの名無しさん:2005/05/31(火) 12:40:14
シングルクリック2回で処理できないものなのでしょうか?
192デフォルトの名無しさん:2005/05/31(火) 12:45:49
>>191
どうしてもWindowsに逆らおうってのかい。
193デフォルトの名無しさん:2005/05/31(火) 13:20:54
DblClick
194デフォルトの名無しさん:2005/05/31(火) 13:33:34
bool bUpdateFlg;

bUpdateFlg = false;

... いろんな処理

if (bUpdateFlg) {
... 更新関係の処理
}
195デフォルトの名無しさん:2005/05/31(火) 13:46:44
ダブルクリックイベントの中から、シングルクリックイベント関数を2飼い呼べばいんでないの?
196デフォルトの名無しさん:2005/05/31(火) 13:49:39
そしたら計3回くるだろしねよばか!
197デフォルトの名無しさん:2005/05/31(火) 15:17:43
 
198デフォルトの名無しさん:2005/05/31(火) 16:18:14
>>189
ダブルクリック並みの速さでクリックしたら、

そりゃダブルクリックだよ。
199デフォルトの名無しさん:2005/05/31(火) 16:39:37
C++もC++builderも初心者です。
私なりに調べてみたのですがわからなかったので質問なんですが、
数値(0〜0.5)に合わせて角度(360゚〜0゚)を出して、
イメージ上でメーターのように線を描画したいのですが可能でしょうか?
200デフォルトの名無しさん:2005/05/31(火) 16:40:01
可能
201デフォルトの名無しさん:2005/05/31(火) 16:58:17
PageControlでタブの順番を入れ替えるにはどうしたらいいですか?
202デフォルトの名無しさん:2005/05/31(火) 17:14:49
203デフォルトの名無しさん:2005/05/31(火) 17:24:19
C++Builder1で
try{
}
__finally{
}
を使うとエラーが出てコンパイルができないのは仕様ですか?
204デフォルトの名無しさん:2005/05/31(火) 18:14:20
>>203
__try って使えない?
205デフォルトの名無しさん:2005/05/31(火) 18:20:07
>>204
アンデファインドシンボルエラーが出ますね。
ちなみに、__tryってするとちゃんと予約語の色になるんですけどねえ
206デフォルトの名無しさん:2005/05/31(火) 18:38:25
1の時は、まだ__finally は入ってないんじゃなかったっけ。3か5からだったと思う
207デフォルトの名無しさん:2005/05/31(火) 18:43:51
ええええええええええええええええええええええええええええ!!!!
でもヘルプに書いてるんだよねえ〜
でもコンパイルエラーになるんだよねえ〜
208デフォルトの名無しさん:2005/05/31(火) 18:47:23
当時、確かdelphiには __finally あるのに、builderには無いとかって
文句出てた記憶が…。 3は微妙だけど、1は間違いなくそうだと思う。
builderのMLログにたぶん記録があると思うよ。
209デフォルトの名無しさん:2005/05/31(火) 18:48:44
ようするに1では使えないってことですね、ありがとうございました・・・
210デフォルトの名無しさん:2005/05/31(火) 18:55:28
PageControl上memoを配置してます。
また、Buttol1を押すとタブを動的に作るようにしてます。
アクティブ状態のタブ上にあるMemoの文章を
PageControl上にない別のMemo2に複写したいのですが
どのようにすればいいのですか?
211デフォルトの名無しさん:2005/05/31(火) 19:21:03
>>210
いったん、暫定的にTStringsオブジェクトに内容をコピーして
それをMemo2にまたコピーするとか・・・
212デフォルトの名無しさん:2005/05/31(火) 19:35:46
>>211なぜかできなかったです・・・今考えてるんですが・・・
アクティブ状態ページ上のコンポーネントを指定するやりかたってあるのですか?
213デフォルトの名無しさん:2005/05/31(火) 19:38:12
こんなん
for (int i = 0; i < PageControl1->ActivePage->ControlCount; i++)
{
  TMemo* memo = dynamic_cast<TMemo*>(PageControl1->ActivePage->Controls[i]);

  if (memo)
    Memo2->Text = memo->Text;
}
214デフォルトの名無しさん:2005/05/31(火) 19:48:41
>>201
TTabSheet::PageIndex
215デフォルトの名無しさん:2005/05/31(火) 20:05:02
>>213 
やっとできました。ありがとうございます。
216デフォルトの名無しさん:2005/05/31(火) 20:10:04
>>215
どうやったの?
217デフォルトの名無しさん:2005/05/31(火) 22:41:59
 
218デフォルトの名無しさん:2005/06/01(水) 08:24:02
ImageでJPEGファイルを見ることができないんですけど
どうすればいいのでしょうか?
よろしくお願いします。m(_ _)m
219デフォルトの名無しさん:2005/06/01(水) 08:31:00
TJPEGImage
220デフォルトの名無しさん:2005/06/01(水) 09:05:26
>>214
できました!
ありがとうございました!
221199:2005/06/01(水) 09:46:32
>>202
ありがとうございます!やってみます
222デフォルトの名無しさん:2005/06/01(水) 10:21:16
ボーランドからdelphi2005優待販売の封筒が来たんだが、こやつはまだBCB統合されてないよね?
つかBCB6スターチームってなんなのさ
223デフォルトの名無しさん:2005/06/01(水) 11:29:15
>>222
俺の所にも来た。
そうだな、全然統合されていない。VCLのバージョンが違うんだから当たり前か。
Delphiは.NETも積んでるし。
BCBがマネージコード対応になったら、それはそれで気持ち悪いけど。BCB9
になったらそうなるんだろうな。
224218:2005/06/01(水) 12:38:31
>>219
ありがとうございます。m(_ _)m

でも、TJPEGImageっていうのがないんです。。。(T▽T)
225デフォルトの名無しさん:2005/06/01(水) 12:49:46
>>224
ヘルプには載ってるぞ

>TJPEGImage は jpeg グラフィックをカプセル化します。
>ユニット
>jpeg

226デフォルトの名無しさん:2005/06/01(水) 12:55:22
>>224
あーTJPEGImageを使う時は、ヘッダファイルを手書きしないとだめだぞ。

#include <jpeg.hpp>

こういう細かい所が抜けててあかんなーBCB6は。
227デフォルトの名無しさん:2005/06/01(水) 12:56:54
>>226
> ヘッダファイルを手書き
> #include <jpeg.hpp>

言ってる事と、やってる事に違いが…(w
228デフォルトの名無しさん:2005/06/01(水) 13:08:22
>>227
ゴメソ
×ヘッダ・ファイルを手書き
○インクルード・ヘッダを手書き

VCLコンポーネントを貼り付けるとほとんど自動的にインクルード・ヘッダが
挿入されるので、それに慣れてるとやっちゃいやすい。俺も初めの頃は
悩んだ。
229222:2005/06/01(水) 16:11:07
>223
やっぱ統合されてないか。ならヴぁーじょんうpイラネ
いつになったらDelphi統合されるのやら・・・
230218:2005/06/01(水) 16:14:30
>>225
ありがとうございました。
いまひとつわからないんですけど、できました。(^▽^)
また、よろしくお願いします。m(_ _)m
231デフォルトの名無しさん:2005/06/01(水) 16:43:34
#include <jpeg.hpp>
#pragma link "jpeg"

//Image1にimage.jpeを読みこみ表示する場合
Image1->Picture->LoadFromFile("image.jpg");

// TJEPGImageにimage.jpeを読みむ場合
// ↓の場合は初期化なしで読みこめます。
TJPEGImage* pJPEGImage = new TJPEGImage();
pJPEGImage->LoadFromFile("image.jpg");

保存も簡単に行えます。TImageに表示されたいるグラフィックをJPEG形式で保存する
場合は、TJPEGImageオブジェクトにAssignメソッドを使ってグラフィックをコピーして SaveToFileメソッドで保存します。
その時、JPEGのクオリティーはCompressionQualityプロパティで指定できます。

//Image1の画像をクオリティー50、ファイル名”image.jpg"で保存する
TJPEGImage* pJPEGImage = new TJPEGImage();
pJPEGImage->Assign(Image1->Picture->Graphic);
pJPEGImage->CompressionQuality = 50;
pJPEGImage->SaveToFile("image.jpg");
delete pJPEGImage;
232デフォルトの名無しさん:2005/06/01(水) 17:40:18
TPrinter を使って、印刷を行う場合、
PDFへの印刷は、プリンタ名にAcrobat Distillerを指定すればよいと思うのですが、
任意の場所(C:\PDF)に任意の名前(TestPDF.pdf)でPDFファイルを出力するには
どのように設定してやればよいのでしょうか?
233デフォルトの名無しさん:2005/06/01(水) 18:58:05
PageControlで特定のシートをEnable==FALSEにしたいんですけど、
コード上でどう書いたらいいでしょうか?
指定方法がよくわからないです・・・
234デフォルトの名無しさん:2005/06/01(水) 19:03:21
>>233
PageControl1->Pages[インデックス]->Enabled = false;

みたいにできない?
235デフォルトの名無しさん:2005/06/02(木) 01:36:02
    
236デフォルトの名無しさん:2005/06/02(木) 01:54:25
BCB5 Proを使ってます。
TList *lstButtonに動的生成したイメージを追加していって、10個程度追加したところでRemoveしていくと、途中からイメージが削除されなくなってしまいます。

(追加)
TImage *button=new TImage(this);

button->Parent=Form1;
button->Canvas->Brush->Color=(TColor)(0x907070);
button->Canvas->Ellipse(Rect(0,2,76,76));

lstButton->Add(button);

(削除)
lstButton->Remove((TObject *)lstButton->Items[n番目]);

たぶん、これだけではわからないと思うので、ソースを↓にアップしました。
ttp://sempron.hp.infoseek.co.jp/BCB5_TEST.zip

解決方法を教えてください。
よろしくお願いします。
237デフォルトの名無しさん:2005/06/02(木) 02:43:47
>>236
それリストの項目が減ってるだけで、イメージ自体は1個も削除されてないよ。
で、リストに残ったイメージを移動させてるから、場合によって一見削除されてるように見えるだけ。

BCB5にTObjectListがあるなら、
lstButton=new TList;

lstButton = new TObjectList(true);

って変更だけでいいはず。Remove時にリスト側で中身(イメージ)を削除してくれる。
BCB5に無ければ自分でdelete。
238236:2005/06/02(木) 02:58:32
>>237
おーできました。
ありがとう!
239218:2005/06/02(木) 08:14:44
>>231
遅くなりましたが、
ありがとうございました。m(_ _)m
240デフォルトの名無しさん:2005/06/02(木) 10:15:59
>>234
できました!
ありがとうございます!
241デフォルトの名無しさん:2005/06/02(木) 16:08:47
 
242デフォルトの名無しさん:2005/06/02(木) 16:15:41
243デフォルトの名無しさん:2005/06/02(木) 16:17:25
おまえが書けよww
244デフォルトの名無しさん:2005/06/02(木) 17:59:44

245デフォルトの名無しさん:2005/06/02(木) 18:06:20
BCB9まだか
246デフォルトの名無しさん:2005/06/02(木) 19:32:46
ttp://homepage2.nifty.com/love/

BCB新しいの早く出てほひい
247デフォルトの名無しさん:2005/06/02(木) 19:46:37
Rect1, Rect2, Rect3 : TRect;
248デフォルトの名無しさん:2005/06/02(木) 22:20:55
次が出るのはもうアナウンス済みなんだから、気長に待つしかないよな。
Visual Studio 2005より先に出てくれれば、確実に買うのだけどな。
Visual Studio 2005より後なら、Visual Studio 2005を買っちまうだろうな。
きっとMSまたキャッシュバックとか一大セールやるだろうし。
249デフォルトの名無しさん:2005/06/03(金) 12:45:48
個人で買ったBCB6Personalをインストールしているのですが、
今度会社でBCB5Enterpriseをインストールしないといけなくなりそう
なのですが、BCB6を消さずにBCB5をインストールしても問題ないでしょうか?
#BCB5EnterpriseをインストールするのはBCB6PersonalではQuickRepなどが
#ないためです。
250デフォルトの名無しさん:2005/06/03(金) 16:17:30
IEで、マウスのポインタがリンクを張ったところにおくと
ステータスバーにそのリンク先のURLが表示されますよね
これってどうやればいいのですか?

251デフォルトの名無しさん:2005/06/03(金) 16:17:37
IEで、マウスのポインタがリンクを張ったところにおくと
ステータスバーにそのリンク先のURLが表示されますよね
これってどうやればいいのですか?

252デフォルトの名無しさん:2005/06/03(金) 16:22:52
>>251
OnStatusTextChange ってまんまイベントがある
253デフォルトの名無しさん:2005/06/03(金) 17:27:57
>>252
すいません、まだ素人なものであまり詳しくないです
ソース教えてもらえませんか
254デフォルトの名無しさん:2005/06/03(金) 17:37:24
もすかしてCppWebBrowserの質問じゃないんか
255デフォルトの名無しさん:2005/06/03(金) 17:55:54
>>251
質問は明確に。

ステータスバーにテキストを出すやり方なのか、
マウスが何かの上に来たときに処理をさせるやり方なのか、
あるいはIEを自作したいのか。
256デフォルトの名無しさん:2005/06/03(金) 18:20:56
またまたすいません。
マウスを、リンク張ってある文字や画像に合わせると
ステータスバーにそのリンク先のURLを
表示できるようにしたいです
257256:2005/06/03(金) 18:34:07
CppWebBrowserを使ってます
258デフォルトの名無しさん:2005/06/03(金) 18:39:01
こう
void __fastcall TForm1::CppWebBrowser1StatusTextChange(TObject *Sender, BSTR URL)
{
  StatusBar1->SimpleText = URL;
}
259デフォルトの名無しさん:2005/06/03(金) 18:48:54
C++Builder5にそのイベントあるのか?ああん?
260デフォルトの名無しさん:2005/06/03(金) 18:55:53
( ´,_ゝ`)プッ
261256:2005/06/03(金) 19:09:23
>>258
ありがとうございます。感謝です
262デフォルトの名無しさん:2005/06/03(金) 19:17:22
            
263デフォルトの名無しさん:2005/06/03(金) 19:23:51
// TODO: この場所にネイティブ データ用の描画コードを追加します。
pDC->TextOut(0,0,"HelloWorld");
264デフォルトの名無しさん:2005/06/03(金) 19:55:27
http://www.asahi-net.or.jp/~yf8k-kbys/vcpp0.html

VC++5.0入門 1 基礎知識1 GUI 97/7/14
VC++5.0入門 2 基礎知識2 能書き 97/7/22
VC++5.0入門 3 基礎知識3 ウインドウを描くサンプル 97/7/28
VC++5.0入門 4 基礎知識4 アプリケーションとウインドウ 97/8/4
VC++5.0入門 5 基礎知識5 メッセージマップ 97/8/11
VC++5.0入門 6 基礎知識6 デバイスコンテキスト 97/8/18
VC++5.0入門 7 はじめてのAppWizard 97/8/25
VC++5.0入門 8 続・はじめてのAppWizard 97/9/1
VC++5.0入門 9 新しいプロジェクト 97/10/19
VC++5.0入門10 マウスのキャプチャ 97/10/26
VC++5.0入門11 ドキュメントとOnDraw 97/11/3
VC++5.0入門12 CArray 97/11/9
265デフォルトの名無しさん:2005/06/04(土) 04:05:43
        
266デフォルトの名無しさん:2005/06/04(土) 14:33:04
今度、C++ Builderを新たに購入して、Excelを自動操作するようなアプリを
組もうと思ってます。

C++Builder6のPersonal版でもOfficeのコンポーネントは入ってるでしょうか?
267デフォルトの名無しさん:2005/06/04(土) 14:33:43
>>266
Proのほうがいいとおもわれ
268デフォルトの名無しさん:2005/06/04(土) 14:40:17
>>267
レスありがとうございます。
マジっすか、Personal版だとOfficeコンポーネント付いてこないんですか。
Proの6万円は予算的にはキッツイなぁ……。

Personal版だと、下のようなモジュール集も使えないわけでしょうか?
http://www.vector.co.jp/soft/win95/prog/se231565.html?g
269デフォルトの名無しさん:2005/06/04(土) 15:04:34
いまどき、その手のコンポがPersonal版だからといって省略されてるようなことはないはず。
個人ユースでも需要のあるモノだからね。
十中八九大丈夫だからPersonal版にしとき。
270デフォルトの名無しさん:2005/06/04(土) 15:06:58
>>266
そのコンポーネント一度も使ったことがないが、何するき?
271デフォルトの名無しさん:2005/06/04(土) 15:15:21
>>270
Excelと連携をとって、Excel上のセルの値を取得したり、逆にセルにデータを
書き込んだりというようなことです。
272デフォルトの名無しさん:2005/06/04(土) 15:24:56
Excelのコンポって‥‥単にActiveXコントロールの取り込みで作成するだけじゃ?
つかそんなコンポProでもないお。BCB入れてるPCにOffice入れてないから取り込めるかは知らん。

ただ、Proはいろいろやろうとする時に必要になってくるVCLソース付いてるのが大きい。
273デフォルトの名無しさん:2005/06/04(土) 15:27:47
>>272
あんまり適当な嘘を垂れ流さないように。

http://www.borland.co.jp/cppbuilder/papers/servers/servers1.html
274sage:2005/06/04(土) 15:30:05
スレ違いだけどC++Builder6.0にはInterBase6.0の日本語マニュアルが付いてて
なんでDelphi7には日本語版のマニュアルが付いてないんだ?
つい数日前に知ったわけだけど結構ショック受けたよ・・・
275デフォルトの名無しさん:2005/06/04(土) 15:31:13
久しぶりに書き込んだら間違って下がってない・・・
276デフォルトの名無しさん:2005/06/04(土) 16:15:22
>>273
(・〜・)?
277デフォルトの名無しさん:2005/06/04(土) 16:25:22
Office オートメーションコンポーネントの利用
プロジェクト|タイプライブラリの取り込み
http://www.borland.co.jp/cppbuilder/papers/servers/servers1.html
278デフォルトの名無しさん:2005/06/04(土) 16:25:52
Office オートメーションコンポーネントの利用
プロジェクト|タイプライブラリの取り込み
http://www.borland.co.jp/cppbuilder/papers/servers/servers1.html
279デフォルトの名無しさん:2005/06/04(土) 17:21:34
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant V = Variant::CreateObject("Word.Application");
V.OlePropertySet("Visible", true);// プロパティの設定
ShowMessage("Word を表示しました");
V.OleFunction("Quit");// メソッドの呼び出し
V = Unassigned;
}
280デフォルトの名無しさん:2005/06/04(土) 20:51:42
http://blog.livedoor.jp/junki560/archives/24062326.html
[Delphi] GDI+ テキストの縦書き
281デフォルトの名無しさん:2005/06/04(土) 21:43:43
Editに数字が入力されたらShowMessage("入力が完了しました")
数字以外ならShowMessage("入力ミス")
と表示するようにしたいのですが、どのようにすればいいでしょうか?
282デフォルトの名無しさん:2005/06/04(土) 22:39:21

if(atoi(Edit->Text.c_str()) == 0)
{
ShowMessage("入力ミス");
}
else
{
ShowMessage("入力が完了しました");
}

もしくは AnsiString の ToIntDef(int) メソッドを使うとか・・・。
283デフォルトの名無しさん:2005/06/04(土) 22:44:15
StrToInt(AnsiString Str); を使うとか・・・。
数字以外のときは例外処理しなきゃならんけど。
284デフォルトの名無しさん:2005/06/04(土) 22:56:49
>>281
Edit->Text.Length() バイトを、1バイトづつ( 0x30<=x && x<=0x39 ) で比較。
範囲外のバイトがあればエラー。
できれば比較前に、Edit->Text は全角to半角変換をかける。
285デフォルトの名無しさん:2005/06/04(土) 22:59:18
半角文字しか入力出来ないようにしたいのですが。
クリップボードからの貼り付けも出来ないようにしたいです。
http://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200403_04030067.html
286うう:2005/06/05(日) 00:08:30
graphic.hくれ〜あそべない〜。
287デフォルトの名無しさん:2005/06/05(日) 00:54:45
>>266
C++Builder6Proを持ってる漏れがマジレス

TExcelApplicationは、ProにしかついてないYO(・∀・)
288287:2005/06/05(日) 01:02:51
しかし、Variantを使えば、PersonalでもOK

http://www.borland.co.jp/delphi/papers/servers/
289本田:2005/06/05(日) 01:53:21
290デフォルトの名無しさん:2005/06/05(日) 05:11:28
TImageで拡大縮小時の補間アルゴリズムを指定することは出来ないのでしょうか?
291デフォルトの名無しさん:2005/06/05(日) 06:14:17
>>229
同封されている案内の方(バージョンアップ価格が記載されている方)に
「Delphiの時期メジャーリリースで統合予定」とある。
292デフォルトの名無しさん:2005/06/05(日) 06:49:10
次期バージョンはエディタを良くしてくれ。
今の入力支援は重すぎなんで機能切ってるしなぁ・・・。
293デフォルトの名無しさん:2005/06/05(日) 10:55:49
>>290
Win32APIのStretchBlt()とSetStretchBltMode()
使ったら?といってもたいした伸縮モードは選べるわけじゃないけど
294デフォルトの名無しさん:2005/06/05(日) 16:01:06
>>287
ありがとうございます。
\65000は痛かったけど、覚悟を決めてPro版買ってきました。
もう後にはひけません!
295デフォルトの名無しさん:2005/06/05(日) 16:44:31
http://store.nifty.com/goods/goods.aspx?goods=00801BOL1147
Borland C++Builder 6 Professional StarTeam Edition
56,666円
StarTeam Editionなしの無印Professionalってもう売っていないんだね。
296デフォルトの名無しさん:2005/06/05(日) 17:18:47
>>295
もっと安いのもあったのにって嘲笑いたいわけ?
orzとでもレスすれば満足?
297デフォルトの名無しさん:2005/06/05(日) 17:56:03
エクスプローラからアプリケーションへのファイルのドラッグアンドドロップはわかったのですが、
逆に、アプリケーションからエクスプローラへのやり方がわかりません。どなたか教えてください。
298デフォルトの名無しさん:2005/06/05(日) 18:38:35
>>296
(・〜・)?
無印も定価\68,000だお

一時期\48,000パッケージもあったけど
299デフォルトの名無しさん:2005/06/05(日) 19:22:03
>>282
>>283
>>284
サンクスです。ビルダー使い始めた素人
なので>>282さんのソースを借りました。

0を入れたとき入力ミスと判定されましたけど、
0のときも("入力が完了しました");
としたいです。 それで、StrToInt(Edit1->Text) != 0
の条件も追加したらエラーになりました。
どう修復した方がいいです?
300デフォルトの名無しさん:2005/06/05(日) 19:31:02
int value;
if (TryStrToInt(Edit1->Text, value))
  ShowMessage("入力が完了しました");
else
  ShowMessage("入力ミス");
301ミ,,゚Д゚彡 ◆A6VzDeLphI :2005/06/05(日) 21:30:18
>>297
それがVCLでは難しいのねー。

昔は有名なコンポーネントがあったのだが
どこかへ消失してしまったらしい。

Delphiだとこのへんかしら。

サンプル: "Drag & Drop でファイル名を受け渡す"
http://forum.nifty.com/fdelphi/samples/01406.html
302デフォルトの名無しさん:2005/06/06(月) 04:22:28
フォームをタスクバーより前面に表示するには
どうしたらいいですか?教えてください。
303デフォルトの名無しさん:2005/06/06(月) 09:57:47
>>294
業務目的だとPersonal使えないし
この際Proでよかったんじゃない?
がんばれ〜
304デフォルトの名無しさん:2005/06/06(月) 10:03:33
>>302
たぶんフォームでこれをやる

::SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width,Height,
              SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);

305デフォルトの名無しさん:2005/06/06(月) 12:54:24
>>304
その方法でうまくいきました、有難うございます。
306ApplicationEvents1SettingChange:2005/06/06(月) 21:12:14
ApplicationEvents1SettingChange
307デフォルトの名無しさん:2005/06/06(月) 23:15:04
 
308デフォルトの名無しさん:2005/06/07(火) 18:06:54
エンジニア

はてなのシステムの開発、運用、保守に携わって頂ける 方を募集します。PerlやApache、MySQL等のRDBMSの 知識が必要となりますが、これらの知識をこれから身に 付けたいという意欲のある方も歓迎します。

必須な知識

Perl 言語の使用経験
ウェブアプリケーションの開発・運用経験
オブジェクト指向プログラミングの基礎知識
RDBMS の基礎知識
Linux の基礎知識

あると好ましい知識

オリジナルのソフトウェア、ウェブアプリケーション などの設計経験
MySQL を前提とした大規模な RDBMS 環境の構 築・運用知識
XML関連技術に関する知識
blogに関する技術の知識
Linux やその他 OS に関する高度な知識 (ネイ ティブアプリケーションの開発経験、カーネルのコ ードレベルでのチューニング技術など)
(C言語、Perlを問わず)Apache API を用いたアプ リケーション開発に関する知識
mod_perl によるウェブアプリケーションンプログラ ミングの知識

上記に当てはまらない得意な技術に関しても、都度評 価・加味いたします。

また、英語のネイティブスピーカーを優遇します。

We demand an English native speaker with precedence. However, Japanese minimum conversation skill is needed.

デザイナー
309デフォルトの名無しさん:2005/06/07(火) 18:13:13
コピペ荒らし氏ね
310デフォルトの名無しさん:2005/06/07(火) 20:04:18
PageControlを配置して、実行後にForm1の大きさを変えると、
Form1の大きさに合わせてPageControlの大きさも変化するように
するにはどうすればいいのですか?

大きさを変えると、その大きさがPageControlより小さくなると
PageControlが隠れてしまいます
311デフォルトの名無しさん:2005/06/07(火) 20:08:01
>>310
PageControl->Align = alClient;
312デフォルトの名無しさん:2005/06/07(火) 20:57:41
>>311
ありがとうございます。
それだとボタンとかのコンポーネントみんな隠れていまします・・・。
PageControlにCppWebBrowserを配置してて
PageControl->Align = alClient;
だと、CppWebBrowserが隠れてしまいます。
しかもスクロールバーも隠れてしまい、なんだか
変になってしまいました・・・
313312:2005/06/07(火) 21:15:12
自己解決しました
すいません
314デフォルトの名無しさん:2005/06/08(水) 00:53:24
BCB4からBCB6にアップグレードしたんですが、
リソーススクリプト(.rc)が含まれるプロジェクトがビルドできなくなりました。
rcファイルにはwavファイル、アイコン、ビットマップが1つ記述してあります。
"全てのプロジェクトを再構築"してもexeが出来ないので、
"その後に全てのプロジェクトをメイク"するとようやく出来上がります。

.rcファイルを除外してからビルドすると一発でできる。。。
これって何とかならないでしょうか?俺だけ?
315デフォルトの名無しさん:2005/06/08(水) 01:05:53
今作ってるプロジェクトまさにその状態。もう慣れてしもうた。
316デフォルトの名無しさん:2005/06/08(水) 01:16:55
>>314
リソーススクリプトはbrcc32.exeで手動コンパイルしてresをプロジェクトに入れろって某乱堂のエロい人が言ってた
317デフォルトの名無しさん:2005/06/08(水) 01:18:08
あ俺そうしよう
318デフォルトの名無しさん:2005/06/08(水) 01:29:45
ヘルプお願いします!
SysUtilsルーチンのMidStr()という文字列の一部分を抜き出す関数が、
正常に動作してくれません!

AnsiString str;
str=MidStr("12345ハロー",5,2);
ShowMessage(substr);

上のソースで、"12345ハロー"という文字列の5番目から2文字分取って
きて「5ハ」という文字列が表示されなきゃいけません。
それなのに実行すると「5・」とかになってしまいます。
これは何が間違ってるのでしょうか……
319デフォルトの名無しさん:2005/06/08(水) 01:35:24
>>318
どっこいしょ!!!

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString ansiA = "12345ハロー";
Caption = ( (WideString)ansiA ).SubString(5,2);//5ハ
}
320デフォルトの名無しさん:2005/06/08(水) 01:37:43
すいません、一カ所訂正します。

×SysUtils ○StrUtils
321デフォルトの名無しさん:2005/06/08(水) 01:43:26
>>319
うややや、アッサリうまく行きました!!か、ネ申!!

じ、じゃあ……↓のページの解説は間違いなんでしょうか……
ttp://www11.plala.or.jp/studyhall/cpp/BcbAnsiString.html
322316:2005/06/08(水) 01:49:26
>>314
とりあえずBCBのReadme.txt読もう。な!
323デフォルトの名無しさん:2005/06/08(水) 01:53:20
うちちゃんと5ハって出る
324デフォルトの名無しさん:2005/06/08(水) 01:56:26
>>323
なんと!
うちはBCB6のPro版ですが、MidStrの文字カウントはbyte単位になっちゃってます。
325デフォルトの名無しさん:2005/06/08(水) 02:02:42
>>324
じゃパッチ当ててないとか。うちもBCB6Proだから。
326デフォルトの名無しさん:2005/06/08(水) 02:06:21
>>325
Borland C++Builder 6 アップデートパック #4 は当ててあるので、たぶん
違いの原因は別にあるんだと思います。
うーん、、、
327デフォルトの名無しさん:2005/06/08(水) 02:08:41
うぉ実行時パッケージ有効にしたら5・になった。
328デフォルトの名無しさん:2005/06/08(水) 02:38:01
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//コンポーネント パッケージのインストール 実行時パッケージを無効
//#include <StrUtils.hpp>
AnsiString str;
str=MidStr("12345ハロー",5,2);
Caption = str;
}
329デフォルトの名無しさん:2005/06/08(水) 09:48:32
VBみたいなファイルパスを指定できるコンポーネントないですか?
330デフォルトの名無しさん:2005/06/08(水) 11:18:44
331デフォルトの名無しさん:2005/06/08(水) 11:25:19
>>329
フォルダツリー?
332デフォルトの名無しさん:2005/06/08(水) 12:02:04
StringGridの1セルに、パネルにTEditとかのコントロールを置いたものを
表示する説明をしたWebページがあったのですが、URLを失念してしまいました。

誰か教えて・・・・
333332:2005/06/08(水) 12:04:47
すいません解決しました。
忘れたんじゃなくて、同サイトの違うページのURLをブックマークしてただけでした。
334デフォルトの名無しさん:2005/06/08(水) 19:40:58
TCppWebBrowserを最上、最下にスクロールしたいんですがMemoの場合

Memo1->Perform(EM_SCROLL, SB_BOTTOM(SB_TOP), 0);

の第一引数の指定方法が解りません。何と入力すればいいですか?

335デフォルトの名無しさん:2005/06/08(水) 19:54:38
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//コンポーネント パッケージのインストール 実行時パッケージを無効
//#include <StrUtils.hpp>
AnsiString str;
str=MidStr("12345ハロー",5,2);
Caption = str;
}

336デフォルトの名無しさん:2005/06/08(水) 20:10:15
>>334
APIのSetScrollPos()使ってみたら?
337デフォルトの名無しさん:2005/06/08(水) 20:43:53
>>336
ありがとうございます。しかしそれだとスクロールバーの
位置は変更できてもオブジェクトのスクロールが行われません。
良く解ってなくてすいません。
338デフォルトの名無しさん:2005/06/08(水) 20:51:55
>>337
じゃあ、ScrollWindowかScrollWindowExはどうかな
339デフォルトの名無しさん:2005/06/08(水) 20:53:49
>>338だと直後にUpdateWindow()が要るかもしれん
340デフォルトの名無しさん:2005/06/08(水) 21:08:11
WebBrowser使うなら、とりあえずここ見といたほうがいい。スクロールの方法も載ってる
http://hogehoge2001.at.infoseek.co.jp/note-delphi.html
341デフォルトの名無しさん:2005/06/08(水) 21:23:56
>>338-340
皆さんありがとうございます。
一番上に持ってきたいのですが

HWND hwnd = CppWebBrowser1->Handle;
int pos = GetScrollPos(hwnd, SB_VERT);
SetScrollPos(hwnd, SB_VERT, 0, true);
ScrollWindow(hwnd, 0, -pos, NULL, NULL);
UpdateWindow(hwnd);

どこがいけないのかご指摘願います。
342デフォルトの名無しさん:2005/06/08(水) 21:28:40
340見てないやん
343デフォルトの名無しさん:2005/06/08(水) 22:11:51
>>341
> HWND hwnd = CppWebBrowser1->Handle;

            CppWebBrowser1->HWND  じゃないのかな?

> ScrollWindow(hwnd, 0, -pos, NULL, NULL);

                          ↑ここで領域矩形を指定してないよ
344デフォルトの名無しさん:2005/06/08(水) 22:29:02
>>342
すいません難しすぎて解りません

>>343
TRectで渡せないのですがどうやればいいですか?
345デフォルトの名無しさん:2005/06/08(水) 22:35:20
横レスだけどCppWebBrowserのHWNDって取得できなくない?なんか例外出る。
346デフォルトの名無しさん:2005/06/08(水) 22:39:55
>>345
出ます。”不明なエラー”っていう例外が。
347デフォルトの名無しさん:2005/06/08(水) 22:40:10
>>344
> TRectで渡せないのですがどうやればいいですか?

RECT r = ClientRect;
とかやって&r を引数にわたしてやるとか・・・
348デフォルトの名無しさん:2005/06/08(水) 22:43:27
RECT* をとる引数にはTRectのアドレスそのまま渡せるよ
349デフォルトの名無しさん:2005/06/08(水) 22:51:12
ScrollWindowとかで出来るならみんなそうしてそう。でも各所で説明されてるのは別な方法だから無理なんだと思う。
普通にインターフェースを取得していってもいいけど、Variant使うと見た目はアレだけど簡単。

// 上へ
OleVariant(CppWebBrowser1->Document).OlePropertyGet("body").OlePropertySet("scrollTop", 0);

// 下へ
long scrollHeight = OleVariant(CppWebBrowser1->Document).OlePropertyGet("body").OlePropertyGet("scrollHeight");
OleVariant(CppWebBrowser1->Document).OlePropertyGet("body").OlePropertySet("scrollTop", scrollHeight);
350デフォルトの名無しさん:2005/06/08(水) 22:52:03
ううっ、ダメダー

TRect r = CppWebBrowser1->ClientRect;
ScrollWindow(hwnd, 0, -pos , NULL, &r);

ちょこっとスクロールするだけで一番上まできません。
351デフォルトの名無しさん:2005/06/08(水) 22:59:20
>>340のやりかただと
#iclude<sysvari.h>

OleVariant(CppWebBrowser1->Document).body.scrollTop := ピクセル位置;

とでもやるのかなあ、Delphiはようわからん
352デフォルトの名無しさん:2005/06/08(水) 22:59:38
>>349
その方法であっさりできました。記述がBCBっぽくなくて
素人には理解不能ですが勉強になりました。

わざわざ付き合ってくださった皆さんどうもありがとうございました。
もっと勉強して今度は自分が他人に教えられるようになりたいと思います。
お騒がせしました。
353351:2005/06/08(水) 23:01:50
すまん、まちがい↑
354デフォルトの名無しさん:2005/06/09(木) 13:50:07
Borland C++ BuilderのTMemoオブジェクト
で中国語のキー入力を受付させる為にはどうすればよいでしょうか?
IMEを中国語(簡体字)-QuanPinにして中国語で「好」と入力しているにも
関わらず、簡体文字の「好」の文字コード(BAC3)ではなく、
JISコードの「好」の文字コード (8D44)がTemoの文字列領域に書き込まれて
しまう為、正常に「好」という字が表示されません。

オブジェクトの設定を下記のように設定していますが、
この他にも設定が必要でしょうか?
ご存知の方がいましたら教えてください。

オブジェクト:TMemo
プロパティの設定
FontName:SimSun (中国語 簡体文字をサポートしているフォント)
CharSet:GB2312_CHARSET (中国語 簡体文字をサポートしてる文字セット)
ImeMode imChinese
ImeName 中国語(簡体文字)-QuanPin


環境
Borland C++ Builder
Version5.0 (Build 12.34)
355デフォルトの名無しさん:2005/06/09(木) 14:02:46
これ、かなり使いやすいよね
VBから入ったユーザーだけど、コードをC++へ変換するような感じで簡単に学習できる
356デフォルトの名無しさん:2005/06/09(木) 14:58:36
>>354 Unicode対応コンポ使うとか
http://www.tntware.com/delphicontrols/unicode/
357デフォルトの名無しさん:2005/06/09(木) 15:23:16
>>331
そうです。フォルダツリーです。
358デフォルトの名無しさん:2005/06/09(木) 17:35:19
>>354
Unicode対応コンポを入れることによりステップ実行ができなくなるなどの
現象が起きてしまっていますが、とりあえず中国語を表示することが
できました。
回答ありがとうございます。
359デフォルトの名無しさん:2005/06/09(木) 17:37:36
↑まちがえました>>354ではなく
>>356でした。
360デフォルトの名無しさん:2005/06/09(木) 17:49:04
361デフォルトの名無しさん:2005/06/09(木) 17:52:12
>>360
shlobj.h のインクルードが要るかも
362デフォルトの名無しさん:2005/06/09(木) 17:59:09
統合アーカイバコンポーネント for Delphi/C++Builder v1.44
ってC++Builder6じゃつかえないんでしょうか?
インストールしても、項目が表示されないっす・・・
363デフォルトの名無しさん:2005/06/10(金) 07:48:13
CとWin32APIだけで書いてあるソースがあるんですが
これのデバッグ用にC++Builder6を使えますか?
コンソールからbcc32を使って普通にビルドした実行ファイルが
ちゃんと動作するのは確認済みです。
364age:2005/06/10(金) 07:54:24
>>363
使えます
365デフォルトの名無しさん:2005/06/10(金) 18:18:47
>>363
ちゃんと動作するものであれば、
デバッグの必要がないだろ。
366デフォルトの名無しさん:2005/06/10(金) 19:24:11
ナイスつっこみ!
367デフォルトの名無しさん:2005/06/10(金) 20:13:42
くだらね
368デフォルトの名無しさん:2005/06/10(金) 23:33:03
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//コンポーネント パッケージのインストール 実行時パッケージを無効
//#include <StrUtils.hpp>
AnsiString str;
str=MidStr("12345ハロー",5,2);
Caption = str;
}
369デフォルトの名無しさん:2005/06/11(土) 09:05:44
      
370デフォルトの名無しさん:2005/06/11(土) 23:47:08
     
371デフォルトの名無しさん:2005/06/12(日) 02:50:08
372デフォルトの名無しさん:2005/06/12(日) 09:46:28
TStringGridのあるセルが画面に見えているか、スクロールして
見えない状態かを知るにはどうしたらいいでしょうか。

プロパティかメソッド等でわかるのかと思ったのですが・・・
373デフォルトの名無しさん:2005/06/12(日) 10:25:57
なんそんなのあったな。忘れた
374デフォルトの名無しさん:2005/06/12(日) 11:25:05
>>372
LeftCol
TopRow
VisibleColCount
VisibleRowCount

辺りでない?
375372:2005/06/12(日) 18:12:29
>>374
これです!
ありがとうございます。

ヘルプ見たら普通に載ってましたねorz
376デフォルトの名無しさん:2005/06/13(月) 04:08:44
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//コンポーネント パッケージのインストール 実行時パッケージを無効
//#include <StrUtils.hpp>
AnsiString str;
str=MidStr("12345ハロー",5,2);
Caption = str;
}
377デフォルトの名無しさん:2005/06/13(月) 06:21:03
http://blog.livedoor.jp/junki560/

コメント、ありがとうございます。

しかしながら、がんばるつもりは毛頭ありません。
趣味ですから、飽きたらやめますし、おもしろければ続けます。
ここは、ほとんど自分用のコード貯蔵庫 兼 メモです。

読まれることはとってもうれしいですけど、そのためにコードの
解説や説明などを書くつもりはないです。1ヶ月後に自分でも
忘れそうなことだけをメモしておきます。
しかし宣伝のURL書いちゃいました。
378デフォルトの名無しさん:2005/06/13(月) 09:49:18
リストビューのラベルのところ(文字の上)でマウスの左ボタンを押して
マウスを動かしても項目を複数選択できるようにするにはどうしたらいいでしょうか?
プロパティは↓のように設定してます。

MultiSelect = true;
ViewStyle = vsReport;
379デフォルトの名無しさん:2005/06/13(月) 09:50:47
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):
  2次元配列に格納されている4次元方行列A=[aij](要素は実数)において、
  a11+a22+a33a+a44 および、a14+a23+a32+a41
  を求めて表示する。ただし、上記の和はfor文による繰り返しにより記述する。
  計算に先立ち、行列の各要素の値はキーボードにより、以下のように入力する。
  a11...a14=1.0 2.0 3.0 4.0
a21...a24=5.0 6.0 3.1 2.0
a31...a34=1.3 2.5 9.0 4.3
a41...a44=1.3 2.5 9.0 4.3

[3] 環境
 [3.1] OS:Windows2000
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C++
[4] 期限:6月15日12:00まで
[5] その他の制限:for,while,if,switch,break,配列まで習いました。

一週間ほど考えましたが、ムリでした・・・。
どうかお願いします。。
380379:2005/06/13(月) 09:52:53
すいません。
板間違えてしまいました。
本当にすいませんでした。
381デフォルトの名無しさん:2005/06/13(月) 10:33:29
>>379   答えは8です。
382デフォルトの名無しさん:2005/06/13(月) 15:59:35
なんか懐かしいな。初期のCって感じで。

標準入力をそのままスキャンするなボケとか言われる奴。
383デフォルトの名無しさん:2005/06/13(月) 20:04:03
特定の警告メッセージを表示しないように設定できないでしょうか?
正しいのに警告されると鬱陶しいです
384デフォルトの名無しさん:2005/06/13(月) 20:40:14
>>383
#pragma warn -xxx
#pragma option -w-xxx
385デフォルトの名無しさん:2005/06/13(月) 20:41:51
あとプロジェクト全体ならプロジェクトオプションで選択できる
386デフォルトの名無しさん:2005/06/13(月) 22:20:23
IEで右クリック→ソースの表示で、メモ帳でソースコードがでますが、
CppWebBrowserとbutton1を使って、
Button1を押すとメモ帳でソースコード表示がでるようにするってできますか?
387デフォルトの名無しさん:2005/06/13(月) 22:32:01
できます。
388デフォルトの名無しさん:2005/06/14(火) 02:46:00
BDNtv: C++Builder Hello World Application in DeXter
ttp://bdn.borland.com/article/0,1410,33085,00.html
389デフォルトの名無しさん:2005/06/14(火) 02:46:54
DeXter = Delphi2006のこと
390デフォルトの名無しさん:2005/06/14(火) 03:35:54
391デフォルトの名無しさん:2005/06/14(火) 03:49:11
Borland C++Builder開発者の皆さまへ
http://www.borland.co.jp/about/message/openletter_cb.html
http://bdntv.borland.com/cppbuilder/DeXterCPP_HelloWorldVCL.html
ボーランドならびに弊社C++Builder製品群に対し、
長期間にわたるご支 援を賜りまして誠にありがとうございます。
 
392デフォルトの名無しさん:2005/06/14(火) 06:14:57
>>387
教えてくれませんか?
393デフォルトの名無しさん:2005/06/14(火) 08:50:12
>>384
>>385
うまくいきました!
ありがとうございます
394デフォルトの名無しさん:2005/06/14(火) 08:55:25
>>392=386
チミが できますか? って聞いてるから、親切な>>387が できます って教えてるじゃないか。

できるかできないかを聞かれたら、答えはできるかできないしかないだろう。
395デフォルトの名無しさん:2005/06/14(火) 11:53:09
とりあえず談話室から転載しておきますね

BDNtv: C++Builder Hello World Application in DeXter
http://bdn.borland.com/article/0,1410,33085,00.html
396デフォルトの名無しさん:2005/06/14(火) 20:20:44
C++ Builder for .NETはないのね。
ま、いいけど。
397デフォルトの名無しさん:2005/06/14(火) 23:22:34
C++ Builder for .NET ないの?
じゃあ、買う気半減だなぁ。
398デフォルトの名無しさん:2005/06/14(火) 23:38:09
.NETなんてイラネ
それよか64bitコンパイラ早くだしてくれ
399デフォルトの名無しさん:2005/06/15(水) 00:52:45
.NETをわざわざ使う理由がよくわからんのだけど
Longhornだと.NETアプリしか動かんとかいうなら困るが
400デフォルトの名無しさん:2005/06/15(水) 04:01:48
Variant IEbrowser = Variant::CreateObject("InternetExplorer.Application");
IEbrowser.OlePropertySet("Visible","true");
IEbrowser.OleProcedure("Navigate","http://www.google.com");
Sleep(1000);//
if(IEbrowser.OlePropertyGet("Busy")<1)
ShowMessage("show");


///

require 'win32ole'

ie = WIN32OLE.new('InternetExplorer.Application')
ie.Navigate("http://www.google.co.jp/")
ie.Visible = true
while ie.busy
sleep 1
end
q = ie.document.all.Item("q")
q.Value = "ruby"
btnG = ie.document.all.Item("btnG")
btnG.click()
401デフォルトの名無しさん:2005/06/15(水) 13:06:34
>>391
希望書くけど、
Win64、英語リソース標準添付、かな。
402デフォルトの名無しさん:2005/06/15(水) 17:22:22
TPanelはMouseDownイベントに以下のコードで移動できるようになるのですが
これをTImageでやるにはどうしたらいいですか?
{
 ReleaseCapture();
 dynamic_cast<TImage *>(Sender)->Perform( WM_SYSCOMMAND, 0xF012, 0 );
}
403デフォルトの名無しさん:2005/06/16(木) 02:08:01
かなり基本的な事柄の質問で気が引けるのですが、ひとつ質問させてください。

C++BuilderでMDIアプリを作ろうとしてます。
で、子フォーム(ダイアログ)にて入力された値を、変数を介して親フォーム
のほうで参照するにはどうしたらいいのでしょうか?
コンポーネントのTextプロパティなどを介して値をやり取りすることはできて
るのですが、グローバル変数のようなものを介して値を受け渡す方法がうまく
いきません。
子フォームで入力された名前を配列に収めて、親フォームで使いたいのですが……。
404デフォルトの名無しさん:2005/06/16(木) 03:07:58
>>403
1.そのままグローバル変数を使う。
2.子フォームのメンバに配列なり何なりを追加する。
3.子フォームのメンバに配列なり何なりのポインタ/参照を追加し、
 子フォームのコンストラクタで呼出もとのもつ配列なり何なりの
 ポインタ/参照を引き渡すようにする。

などなど。
405デフォルトの名無しさん:2005/06/16(木) 05:20:34
その1
ダイアログでOKが押されてたら
親の変数に代入する
Txxx::OKButtonClick(TObject *Sender)
{
親へのポインタ->変数=Edit1->text;
}

その2
ShowModal()でOKで帰ってきたら
値を読み出してから
ダイアログを破棄する
if(ダイアログクラスへのポインタ->ShowModal()==mrOk){
変数=ダイアログクラスへのポインタ->Edit1->text;
}
delete ダイアログクラスへのポインタ;

ってこんな単純なことでいいのかな?
406デフォルトの名無しさん:2005/06/16(木) 11:48:54
>>402
ネタいただきました。
ありがとう。

ttp://homepage2.nifty.com/love/005.html
407デフォルトの名無しさん:2005/06/16(木) 12:19:33
>>406
あー、これTImageはやっぱこの方法しかないのか〜
408デフォルトの名無しさん:2005/06/16(木) 18:48:21
try{
 if( なんとか ) ここでcatchにいかせたい
}
catch(...){
}
上記のtryの中のifで条件が真ならcatchに飛ばす方法を教えてください
409デフォルトの名無しさん:2005/06/16(木) 19:04:22
throw 0;
とかでいいですかね?
410デフォルトの名無しさん:2005/06/16(木) 19:04:23
>>408
例外投げればいいじゃない
411デフォルトの名無しさん:2005/06/16(木) 21:20:55
例えば下のようなプログラムがあった場合、結局どのボタンも
同じ処理をしてることになりますよね?
これってうまくまとめたりできませんか?

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Text="テスト";
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
Memo2->Text="テスト";
}

void __fastcall TForm1::Button3Click(TObject *Sender)
{
Memo3->Text="テスト";
}

void __fastcall TForm1::Button4Click(TObject *Sender)
{
Memo4->Text="テスト";
}
412デフォルトの名無しさん:2005/06/16(木) 21:30:15
>>411
ヒント: [ dynamic_cast<TMemo*>(Sender) ]
413デフォルトの名無しさん:2005/06/16(木) 21:32:09
SenderはTButtonな罠。
Button1とMemo1、Button2とMemo2という風に、2つを関連付ける何かさえ用意すればまとめられるよ。
414デフォルトの名無しさん:2005/06/16(木) 21:34:09
>>411
Button1以外のButtonは
オブジェクトインスペクタ→イベントタブ→OnClick→Button1Click
を選択すればいいだけ。
それでどのボタンをクリックしてもButton1Clickが呼ばれる。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
// Sender で場合分け
}
415デフォルトの名無しさん:2005/06/16(木) 21:34:19
それとこの場合は必要ないけどTObject派生クラス(Delphi型クラス)は実行時型識別で基底クラスのポインタから派生先のクラスも知ることができる。
416デフォルトの名無しさん:2005/06/16(木) 21:34:49
>>413
しまったorz
417411:2005/06/16(木) 21:51:36
まだド素人なものでよくわかりません・・・
どうやったらいいんですか?
418デフォルトの名無しさん:2005/06/16(木) 21:51:40
mapなんかもええで
std::map<TObject*, TMemo*> MemoMap;

MemoMap[Button1] = Memo1;
MemoMap[Button2] = Memo2;

void __fastcall TForm1::ButtonClick(TObject *Sender)
{
  MemoMap[Sender]->Text = "テスト";
}
419デフォルトの名無しさん:2005/06/16(木) 22:02:17
TAGかなんかにポインタでもインデックスでも入れときゃ良かろう
420デフォルトの名無しさん:2005/06/16(木) 22:04:21
>>418
サンクスです

なぜかエラーがでました・・・
[C++ Error] Unit1.cpp(17): E2316 'map' is not a member of 'std'
[C++ Error] Unit1.cpp(17): E2040 Declaration terminated incorrectly
[C++ Error] Unit1.cpp(18): E2451 Undefined symbol 'Button1'
[C++ Error] Unit1.cpp(18): E2275 { expected
[C++ Error] Unit1.cpp(19): E2451 Undefined symbol 'Button2'
[C++ Error] Unit1.cpp(19): E2238 Multiple declaration for 'MemoMap'
[C++ Error] Unit1.cpp(18): E2344 Earlier declaration of 'MemoMap'
[C++ Error] Unit1.cpp(19): E2275 { expected
[C++ Error] Unit1.cpp(23): E2316 '_fastcall TForm1::ButtonClick(TObject *)' is not a member of 'TForm1'
[C++ Error] Unit1.cpp(24): E2206 Illegal character ' ' (0x8140)
[C++ Error] Unit1.cpp(24): E2206 Illegal character ' ' (0x8140)
[C++ Error] Unit1.cpp(24): E2206 Illegal character 'テ' (0x8365)
[C++ Error] Unit1.cpp(24): E2206 Illegal character 'ス' (0x8358)
[C++ Error] Unit1.cpp(24): E2206 Illegal character 'ト' (0x8367)
421デフォルトの名無しさん:2005/06/16(木) 22:08:40
> [C++ Error] Unit1.cpp(24): E2206 Illegal character ' ' (0x8140)
> [C++ Error] Unit1.cpp(24): E2206 Illegal character ' ' (0x8140)
> [C++ Error] Unit1.cpp(24): E2206 Illegal character 'テ' (0x8365)

おい
422デフォルトの名無しさん:2005/06/16(木) 22:11:58
>>420
>>418をマネるなら

・#include <map>を書く
・MemoMap[Button1] = Memo1とかはTForm1のコンストラクタにでも書く
・Button1をダブルクリックしてButton1Clickを作り、その中にMemoMap[Sender]->Text = "テスト";を書く
・Button2〜Button4のOnClickにButton1Clickを設定する。
423デフォルトの名無しさん:2005/06/16(木) 22:13:16
>>419
昔のCグラマがintに何でも突っ込んでたという本に書いてた話を思い出した
424デフォルトの名無しさん:2005/06/16(木) 22:18:55
初心者過ぎやしないか・・・
425デフォルトの名無しさん:2005/06/16(木) 22:25:43
とりあえずC++の入門書でも買ってきてC++のオブジェクト指向とSTLでも勉強した方がいいに1票
426デフォルトの名無しさん:2005/06/16(木) 22:41:58
    _, ,_
 ( ・д・)
427デフォルトの名無しさん:2005/06/17(金) 02:40:48
自治スレからコピペ
> 425 名前:デフォルトの名無しさん[] 投稿日:2005/06/17(金) 00:28:55
> 強制IDの投票中です
>
> プログラム技術板に強制ID制を導入すべきか否か
> http://etc4.2ch.net/test/read.cgi/vote/1118144381/
428デフォルトの名無しさん:2005/06/17(金) 07:02:41
でもこのスレは教えるのが趣旨だからねぇ
429デフォルトの名無しさん:2005/06/17(金) 10:21:53
>>410
例外投る記述を教えてください
430デフォルトの名無しさん:2005/06/17(金) 10:37:53
つ[throw]
431デフォルトの名無しさん:2005/06/17(金) 12:29:16
throw 0ってやったらそこでエラーになってとまっちゃうんだけど0ってダメんzんですかね?
0以外なら正常に動作するんだが・
432デフォルトの名無しさん:2005/06/17(金) 13:26:03
>>431
日記はチラシの裏に書け

質問なら自分の書いたコードとエラーメッセージを晒せ
話はそれからだ
433デフォルトの名無しさん:2005/06/17(金) 13:42:56
>>432
馬鹿には聞いてませんよ?
質問の意味が理解できないならレスしないでね、お前のレスは荒らしと同じだよ
434デフォルトの名無しさん:2005/06/17(金) 13:48:19
馬鹿に馬鹿と言われるかわいそうな>>432
435デフォルトの名無しさん:2005/06/17(金) 13:55:16
スレ違いってことに気づけない馬鹿が居る件について
436デフォルトの名無しさん:2005/06/17(金) 14:03:12
プックスクス
437デフォルトの名無しさん:2005/06/17(金) 14:08:52
エラー対処の質問は、エラーが発生するソースを提示するのが大原則。

ソースを提示しようとしない質問者は、ほとんどの場合、問題外の無茶苦茶なコードを書いている。
本人もその自覚があるから、なんのかんのと言い逃れて提示しようとはしないんだな。

それでは誰も相手してくれないよ。
438デフォルトの名無しさん:2005/06/17(金) 14:31:06
質問の意図を理解できなくてソースだせって・・・
それソースみてもお前じゃわかんないと思うぜ?
439デフォルトの名無しさん:2005/06/17(金) 14:33:19
ここでもゆとり世代が大活躍
440デフォルトの名無しさん:2005/06/17(金) 14:33:48
どうやら回答者は神レベルのチョースーパーハカーでないとダメな
ようですな。
441デフォルトの名無しさん:2005/06/17(金) 14:42:04
ん?VIPから乱入中?
442デフォルトの名無しさん:2005/06/17(金) 14:45:19
いやまぁ、>>431読んだだけで「こいつ、えらい勘違いしてんだろうな」ってのは分かるんだがw
そしてこの手のやつは最後まで情報を小出しにしてスレを無駄に消費するだろうなってのも
なんとなく分かる。

ソース晒せば大抵は簡単に解決するんだけどね。
443デフォルトの名無しさん:2005/06/17(金) 14:56:27
言いたいことはそれだけか?
情けないこと
444デフォルトの名無しさん:2005/06/17(金) 15:07:04
質問する人間が勘違いしている場合は
フィルタのかかった話をいくら聞いたって無駄なんだよね
445デフォルトの名無しさん:2005/06/17(金) 15:41:13
はぁ・・・
理解できないからって逆に煽ることしかできないのかこいつらって
446デフォルトの名無しさん:2005/06/17(金) 15:57:46
うんうん、だからもうここには来ないようにするんだよ。
447デフォルトの名無しさん:2005/06/17(金) 16:03:05
理解できる奴が現れるまでほっときゃいいっす。答えが無くても自業自得っす。
こっちから問い直すなんて優しすぎっす。
448デフォルトの名無しさん:2005/06/17(金) 16:20:14
>>441
いつもの馬鹿が沸いてるだけ。放置しる。
449デフォルトの名無しさん:2005/06/17(金) 17:20:48
An Introduction To Digital Image Processing

ここからダウンロードできる ImageProc.pdf は、初歩のデジタルイメージ処理の解説としてはとても素晴らしい内容だ。コード例は、C であるが解説方 法がよいので分かりやすく、他の言語にも簡単に移植できるだろう。さっそく Delphi でも応用してみるか。
450デフォルトの名無しさん:2005/06/17(金) 19:52:11
Project1.exe、project2.exeがあって、
Project1.exeのButton1を押すとproject2.exeを実行
することってどうやるの?
451デフォルトの名無しさん:2005/06/17(金) 23:46:38
ShellExecute ShellExecuteEx WinExec
452デフォルトの名無しさん:2005/06/18(土) 00:54:39
CreateProcess
453デフォルトの名無しさん:2005/06/18(土) 01:15:44
system()
454デフォルトの名無しさん:2005/06/18(土) 01:33:08
spawnl
spawnle
spawnlp
spawnlpe
spawnv
spawnve
spawnvp
spawnvpe
455デフォルトの名無しさん:2005/06/18(土) 05:39:25
456デフォルトの名無しさん:2005/06/18(土) 12:54:10
strlen
457デフォルトの名無しさん:2005/06/18(土) 13:40:33
C++Builderの新しいバージョンのベータ版は公開されるのかな??
458デフォルトの名無しさん:2005/06/18(土) 18:26:14
UWSCのようなマクロツール機能を自作アプリに組み込みたいんだけど、
Win32APIを叩かず、VCLで実現することってできますかね?
459デフォルトの名無しさん:2005/06/18(土) 18:34:17
1)マウスカーソルの位置変更
2)マウスクリック発生
3)任意のキー押下イベント発生
4)任意のアプリの最大化、最小化などの制御
5)画面上の任意の座標のピクセル色を取得

とりあえず、このくらい。
1、2はVCLで実現できそうなんだけど、他が実現可能かどうかよくわかんないっす。
460デフォルトの名無しさん:2005/06/18(土) 18:59:12
1) TMouse::CursorPos
2) mouse_event
3) keybd_event
4) ShowWindow
5) GetDC(0)

1ぐらいな希ガス。2ってできる?
461デフォルトの名無しさん:2005/06/18(土) 19:05:00
いま実験してみたら、CursorPosプロパティが読み取り専用みたいで、
1すら実現できなかったorz
462デフォルトの名無しさん:2005/06/18(土) 19:07:53
古いBCBか。BCB6なら1はできるけどね。
463デフォルトの名無しさん:2005/06/18(土) 19:13:58
ちなみに俺が昔不思議だった罠
Mouse->CursorPos.x = 0;
Mouse->CursorPos.y = 0;

こういうのは駄目ね
464デフォルトの名無しさん:2005/06/18(土) 20:22:26
>>463
 Mouse->CursorPosy = TPoint(0,0);
がどう違うか?  って良い練習問題だな。
これが即答できればVCL入門編は合格とw
465デフォルトの名無しさん:2005/06/18(土) 21:53:27
質問です。BCB5ですが
Examples\Toolsapi\Keybindings
っていうのがあるんですが、これって何に使えば良いんですか?
エディタでの置換にも関連しているような内容をメモってたのです
が、使い方がわかりません。

よろしくお願いします。
466デフォルトの名無しさん:2005/06/18(土) 22:51:46
>>465
ウイルス
467デフォルトの名無しさん:2005/06/18(土) 22:54:42
>>464
それエラー出るよ。
Tpoint型はLong型に代入できませんって
468デフォルトの名無しさん:2005/06/18(土) 23:03:46
いや CursorPosy って何?ってエラーが出るはずだ
469デフォルトの名無しさん:2005/06/18(土) 23:19:58
CursorPosyはたぶん単純にCursorPos.y のミスタイプかと。
470デフォルトの名無しさん:2005/06/18(土) 23:22:36
いや y いらんだろ。TPoint代入してるんだから
471デフォルトの名無しさん:2005/06/18(土) 23:24:03
×CursorPosy=TPoint(0,0);
○CursorPos=TPoint(0,0);

タイポはタイポとして

 Mouse->CursorPos.x = 0;
 Mouse->CursorPos.y = 0;
これと
 Mouse->CursorPos = TPoint(0,0);
の違いがマジで分からんのか?

あと、古いBCBはホントにTMouse::CursorPosが読み出し専用になってる?
だれか確認できたら教えて。
472デフォルトの名無しさん:2005/06/18(土) 23:30:07
ちなみにBCB4以降では全てread/write両用。>TMouse::CursorPos
473デフォルトの名無しさん:2005/06/18(土) 23:31:53
まあ Mouse->CursorPos.x = 〜 ってやっちゃっただけだろうな
474デフォルトの名無しさん:2005/06/18(土) 23:45:59
>>471
んー、前者と後者で違う結果になるのはなんで?
475デフォルトの名無しさん:2005/06/19(日) 00:14:52
>>474

 Mouse->CursorPos.x=0;
これは次と同値。
 Mouse->GetCursorPos().x=0
GetCursorPos()の返すTPoint型一時オブジェクトのxに代入している。
Application::Mouseには反映されない。

 Mouse->CursorPos=TPoint(0,0);
これは次と同値。
 Mouse->SetCursorPos( TPoint(0,0) );
Application::Mouseに反映される。

まぁ、初心者の引っかかりやすいところではある。
476デフォルトの名無しさん:2005/06/19(日) 01:19:46
>>475
解説どうもです!
477デフォルトの名無しさん:2005/06/19(日) 01:21:31
>>465
その名の通りキーバインディング追加や変更のサンプル
478デフォルトの名無しさん:2005/06/19(日) 07:17:25
Panel1の大きさを
Panel1->align=Left;
にした。
そこで、横の幅をウィンドウの幅のちょうど半分にするってできる?
ウィンドウの大きさを変えればそれに伴って、Panelの大きさも
変わるようにしたい
479デフォルトの名無しさん:2005/06/19(日) 07:26:56
>>478
FormのOnResizeに
Panel1->Width = Width / 2;
でできるはず
480デフォルトの名無しさん:2005/06/19(日) 08:08:37
>>479

39!
481デフォルトの名無しさん:2005/06/19(日) 10:20:32
ところでBCBのヘルプがほとんどの場合、何の役にも立たないのは仕様
ですか?
それともおいらの脳みそが足らない?
482デフォルトの名無しさん:2005/06/19(日) 10:47:02
>>481
IDEまわりのことなら仕様。VCLリファレンスやSTL、標準ライブラリが役に立たないなら脳味噌が足りない。
483デフォルトの名無しさん:2005/06/19(日) 11:03:44
うは、VCLリファレンス役に立たない思ってた・・・・
なんで使用例のソースコードをのっけてくれないんだろ。
484デフォルトの名無しさん:2005/06/19(日) 11:31:36
使用例が無くても普通はわかるからなぁ。
ぱっと見分からんと思うものはちゃんと例を載せてくれてる。

俺的にVCLのリファレンスはMSDNライブラリよりはるかに分かりやすい。
485デフォルトの名無しさん:2005/06/19(日) 11:59:41
でも、Builder 5 と Builder 6 では、
「コンポーネントパレットの概要」のヘルプの表示が、
順番が変わって使いにくくなった。
486デフォルトの名無しさん:2005/06/19(日) 12:07:27
487デフォルトの名無しさん:2005/06/19(日) 13:13:35
1
AnsiString __fastcall classFoo::mojiget(AnsiString file, int nIndex)
{
AnsiString tmp;
TStringList *ls = new TStringlist;
ls->LoadFromFile(file);
tmp =ls->Strings[nIndex];
ls ->Free();
return tmp;
}

2
void __fastcall classFoo::main()
{
AnsiString Args;
AnsiString aRet;
Args ="c:/test.txt";

Class_mojiget *m = new Class_mojiget;
aRet =m->read(Args).Strings[1];

m->Free;
}
1の方法を2の方法に書き換えたいのですが、この書き換え方は可能ですか?
フォームを追加してその中に関数を埋め込む方法とかは勘弁して下さい…
488デフォルトの名無しさん:2005/06/19(日) 13:34:03
まあできない理由は見当たらんけども
489デフォルトの名無しさん:2005/06/19(日) 19:22:12
>>481-482
今までの経験上、VCLのヘルプが分かりにくいという人は
C++とOOPが分かってないケースがほとんど。
「C++の開発環境使うならこんぐらいは当然知ってるでしょ」
という前提知識がないってこと。

しかし、C++標準ライブラリヘルプは実際使いにくいっしょ。
VCLヘルプみたいにリンクが張ってあったらいいんだけど。
訳が酷いのはもうあきらめてるがw
490デフォルトの名無しさん:2005/06/19(日) 19:25:23
>>487
Free()は使うなとヘルプに書いてあるはずだが
491487:2005/06/19(日) 19:48:04
>490
えっ!マジっスか!?知らなかった…
Freeしなくても関数抜けると勝手にガベージコレクトっぽい事してくれんの??
492デフォルトの名無しさん:2005/06/19(日) 19:52:47
>>491
ヘルプ嫁
493487:2005/06/19(日) 20:02:07
>492
Free メソッドは,オブジェクトインスタンスが NULL ではない場合には自動的にデストラクタを呼び出します。
だそうな。
Free使うとメモリの内容が壊れてしまうんですか?
494デフォルトの名無しさん:2005/06/19(日) 20:08:46
>>489
ヘルプに載ってないobjectは検索ととりあえず勘でテキトーにコーディングしてみて上手く動いたら多分こーいう使い方なんだろう
って方法でlib増やしてく方法?
495デフォルトの名無しさん:2005/06/19(日) 20:12:26
>オブジェクトの Free メソッドは呼び出さないでください。かわりに delete キーワードを使
>用してください。delete キーワードは Free メソッドを呼び出してオブジェクトを破棄します。
496487:2005/06/19(日) 20:37:01
>>495
なんか詳しそうだから弟子にしてくれよ。頼む
497デフォルトの名無しさん:2005/06/19(日) 21:07:21
new と delete は対になってないと気持ち悪い、と思うのは俺だけか?
498デフォルトの名無しさん:2005/06/19(日) 22:07:06
>>489
たしかにそうかも。
BCBのヘルプに不満のある自分は、C++歴1週間ほど。
BCBにくる前に1ヶ月ほどVC#やってて、その知識の応用でプログラムしてました。
自分の知識不足は正直否定できないっす。
いまだに->を使う場合と.を使う場合がいまいち区別ついてないぐらいで。
ただ、そういう初心者でも、逆に使用例のコードさえ見れば、かなり複雑な
実用プログラムでもがんがん作れるんで使用例は個々のトピックごとに掲載
してほしいなあと。
ちなみにVC#2005βのエディタの支援機能はかなり神ですた。あれは初心者の入門
開発環境として最適ですね。
499デフォルトの名無しさん:2005/06/19(日) 22:21:51
BCBじゃエディタのコード自動補完は(遅すぎて使い物にならないから)OFFにするのが常識だからな(゚∀゚)
500デフォルトの名無しさん:2005/06/19(日) 23:10:23
>>477
>>486
有り難うございます。理解するには少し時間がかかりそうです。
501デフォルトの名無しさん:2005/06/19(日) 23:45:20
>>499
いやーBCB6が出たころならそうだが、
いまどきのPCなら牛丼並クラスでも
結構サクサク動くぞw
502デフォルトの名無しさん:2005/06/19(日) 23:54:02
>>498
VBやC#は開発環境と言語が結びついてるから
開発環境のほうで言語初心者の面倒も見る必要があるが
C/C++は汎用言語だから
「開発環境使うならまず自分で言語を勉強して来い」
ってことでしょ。

>ただ、そういう初心者でも、逆に使用例のコードさえ見れば、かなり複雑な
実用プログラムでもがんがん作れるんで使用例は個々のトピックごとに掲載
してほしいなあと

はっきり言うけど、これを望むならVBなりC#を使うべき。
503デフォルトの名無しさん:2005/06/20(月) 00:13:08
Pen4の1.6Gだと重い>コード補完
VC使ったら涙出るよホント。

でも次期バージョンのデモ見る限り今度はちゃんと軽くなってそうで吉。
504デフォルトの名無しさん:2005/06/20(月) 00:14:29
>>502
VC#メインで使いたいんだけど、現状だと.NET依存のアプリを配布するのは
ちょっと厳しいものがあるんだよね。
505デフォルトの名無しさん:2005/06/20(月) 00:22:28
いまどき牛丼並でもセロD335だからなぁ

という、うちのメインはセロ2.4Gだがストレスは感じないよ。
506デフォルトの名無しさん:2005/06/20(月) 08:57:08
Athlon2800+/Mem1G でストレスありまくり。
507デフォルトの名無しさん:2005/06/20(月) 09:48:13
セロ0.85G+メモリ768MBでストレスだらけ
508デフォルトの名無しさん:2005/06/20(月) 09:59:15
ところで牛丼並ってなによ?
509デフォルトの名無しさん:2005/06/20(月) 10:02:19
牛丼パソコン
たしかアキバで見たことある
たぶんそれかと
510デフォルトの名無しさん:2005/06/20(月) 10:43:42
これだな。初めて見た。
ttp://tenpo.sofmap.com/tenpo/event/5111174.htm

すき屋がカレー80円引き券配ってるから
今から豚丼くいに行って来るよ・・・。
511デフォルトの名無しさん:2005/06/20(月) 13:11:24
京都競馬場に行くたび、吉野屋の牛丼を食ってる俺は勝ち組。





馬券は激しく負け組・・・。
512デフォルトの名無しさん:2005/06/20(月) 17:31:59
ちょっとお前等ちょっとごみに質問ですが?
513デフォルトの名無しさん:2005/06/20(月) 18:53:57
フォームの最小化ボタンを押しても反応しないフォームがあるのですが、
どうやったら最小化できるんでしょうか?
メインフォーム→サブフォームのように作っています。
サブフォームは最小化できますが、
メインフォームが最小化できません。
常に前面に配置するような指定はしていません。
誰か助けてください・・・
514デフォルトの名無しさん:2005/06/20(月) 19:00:48
ExitProcess(0);で全部消える
515デフォルトの名無しさん:2005/06/20(月) 23:47:58
>>513

class TSubForm : public TForm
{
// 省略

// ウィンドウプロシージャをオーバーライド
void __fastcall WndProc(TMessage &Message);
};

////////////////////////////////////////////////////////////////

void __fastcall TSubForm::WndProc(TMessage &Message)
{
TSubForm::WndProc(Message);

if(Message.Msg == WM_SYSCOMMAND && Message.WParam == SC_MINIMIZE)
{
SendMessage(MainForm->Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
}
}

これで出来ると思うけど、どうでしょう。
516デフォルトの名無しさん:2005/06/21(火) 11:40:21
>>514
記述場所がわかりませんでした。
すいません。

>>515

試しに処理を入れてみると、

EStackOverflowクラスの例外を生成しました。
スタックオーバロー
プロセスは停止しています。再開するにはステップ実行または実行を選択してください。

とエラーがでます。

何らかの方法で、メモリ確保しないとダメですか?
自作のDLLが悪さしているような気も・・・
517デフォルトの名無しさん:2005/06/21(火) 12:18:58
>フォームの最小化ボタンを押しても反応しないフォームがあるのですが、
この時点ですでにエラー起こしてるじゃ?
518デフォルトの名無しさん:2005/06/21(火) 13:22:57
なんか他に原因ありそうだな・・・
519デフォルトの名無しさん:2005/06/21(火) 15:03:01
どーでもいいが、スタック溢れるって、巨大な配列か何かをスタックに置いてたりする?
520デフォルトの名無しさん:2005/06/21(火) 15:11:12
確か、イベントハンドラを再帰コールさせたらスタックオーバーフローしたよ。

つまり、再帰で無限にコールされてない?
521デフォルトの名無しさん:2005/06/21(火) 15:27:10
class TSubForm : public TForm
{
// 省略

// ウィンドウプロシージャをオーバーライド
void __fastcall WndProc(TMessage &Message);
};

////////////////////////////////////////////////////////////////

void __fastcall TSubForm::WndProc(TMessage &Message)
{
TForm::WndProc(Message);           // ゴメンここにバグあったw 
                           // TSubForm  じゃなくて TForm ね。 スマン

if(Message.Msg == WM_SYSCOMMAND && Message.WParam == SC_MINIMIZE)
{
SendMessage(MainForm->Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
}
}
522521:2005/06/21(火) 15:29:06
そりゃ無限ループにもなるわ・・・
523デフォルトの名無しさん:2005/06/21(火) 15:32:08
>>515が再帰してるんだよ
524デフォルトの名無しさん:2005/06/21(火) 16:34:33
>>517
自分で処理を書いていないので、エラーはわからないです。

>>518
メーリングリストもチェックしてみたのですが、
最小化できなくなるのは多々あるようです。
解決策がありませんでしたが・・・

>>519
>>520
再帰処理で溢れているようですね

>>521
修正してみましたが、やはり最小化イベントが何度も走っているようです。
(フォームが点滅しているので、最小化したり、元にもどったりの繰り返し?)
で、ある一定の回数を越えたらオーバーフローしているようです。
525デフォルトの名無しさん:2005/06/21(火) 16:41:06
フォーム明滅プログラムと命名して完成ってことで。
526デフォルトの名無しさん:2005/06/21(火) 16:47:19
>>521のコードを試したら問題なく動いたんで
おそらく他に問題があると思われ。
527デフォルトの名無しさん:2005/06/21(火) 19:50:21
528デフォルトの名無しさん:2005/06/21(火) 23:08:47
529デフォルトの名無しさん:2005/06/21(火) 23:09:04
530デフォルトの名無しさん:2005/06/21(火) 23:09:21
531デフォルトの名無しさん:2005/06/21(火) 23:09:36
532sage:2005/06/21(火) 23:11:55
>>527
わかった。
わかったから。
よくやったよ。
533デフォルトの名無しさん:2005/06/22(水) 10:41:03
C++Builder6がコンパイル中に「Assertion failed ...」
マジかよ・・・
534デフォルトの名無しさん:2005/06/22(水) 11:31:42
3から5に変えたら同じコードでも実行ファイルのサイズが150Kくらい増えたんだけど
これって5から6に変えたらどれくらいふえてる?
535デフォルトの名無しさん:2005/06/22(水) 12:19:25
2バイト〜600メガバイトくらいかな
536デフォルトの名無しさん:2005/06/22(水) 12:53:39
馬鹿なレスはいりません。さっさと消えてください。うざいです
537デフォルトの名無しさん:2005/06/22(水) 12:55:28
>>536
オマエモナー
538デフォルトの名無しさん:2005/06/22(水) 14:01:18
複数の子フォームから名前(Nameプロパティ)で検索する方法を教えてください
539デフォルトの名無しさん:2005/06/22(水) 14:37:08
FindComponent
540デフォルトの名無しさん:2005/06/22(水) 14:38:31
ヒント:TComponent::ComponentCount, TComponent::Components, TControl::Name
541デフォルトの名無しさん:2005/06/22(水) 14:52:19
>>538
MDIChildCountとMDIChildrenでループをまわす
FindComponent、ComponentCountは使えない
542デフォルトの名無しさん:2005/06/22(水) 16:44:36
>>539-540
それはよくボタンとかのコントロールの時につかってたけど、それってフォームでもできる?
>>541
だよね?
今はMDIChildrenのNameと比較してやってるんだけど、FindComponentみたいにフォームをさがしてくれる
のがあるかな〜っておもって聞いてみますた
どうやら、なさそうでつね
543(7):2005/06/22(水) 20:42:22
すみませんちょっと教えてください。
ブラウザコンポーネント(CppWebBrowser)を使うと、IEの履歴に残って
しまいますが、これを抑止する方法ってご存じのかたありませんでしょうか?
544デフォルトの名無しさん:2005/06/22(水) 21:57:58
_int64の最大値はいくつですか?
545デフォルトの名無しさん:2005/06/22(水) 22:02:41
>>544
111111111111111111111111111111111111111111111111111111111111111
546デフォルトの名無しさん:2005/06/22(水) 22:11:54
>542
Screen->Formsとかじゃいかんですか
547デフォルトの名無しさん:2005/06/22(水) 22:35:23
Application->FindComponent とか
548デフォルトの名無しさん:2005/06/22(水) 23:28:39
ランタイム無しに実行できる形式にコンパイルしたプログラムが、開発マシン
と、それ以外のPCで動作が違ってしまって困ってます。
OSは両マシンともにWin2000です。

プログラムはテキスト置換ツールで、置換テーブルを読み込み、
テキストファイルを読み込んで特定ワードを置換し、置換後の内容を
ファイルに吐き出すという、まあ単純なものです。
ファイルの入出力のあたりは正常に動作してるのですが、開発マシン以外
で実行すると、肝心の文字列置換がぜんぜんできていません。

どのへんに原因がありそうでしょうか? 使用しているのはBCB6です。
549デフォルトの名無しさん:2005/06/22(水) 23:56:28
>>548
>どのへんに原因がありそうでしょうか?
ソースコード
550デフォルトの名無しさん:2005/06/23(木) 01:01:52
>>548
ダイナミックRTLのチェックは外した?
551デフォルトの名無しさん:2005/06/23(木) 01:29:44
>>548
エラー対処の質問は必ずソースを提示すること。
ソースを見ずにあれこれ言い合っても何の解決にもならない。
ソースは当面の問題に直接関係しないところを省いて、
しかし問題の発生が確認できる必要最小限のものを提示すること。

実のところ、そうやって問題のありかを絞っていくうちに
大抵は自分で解決できるものだが。
552デフォルトの名無しさん:2005/06/23(木) 02:30:42
エラーじゃないじゃんw
553デフォルトの名無しさん:2005/06/23(木) 16:44:19
よくわからないリンカエラがでるのでご教示を。
C++ Builder 6でプログラムを作成しています。

ヘッダに以下のよう関数宣言されています。
INT16 ELCALLTYPE cmd_printf(char *p, ...);
コンパイルすると、リンカエラーが出てきます。
ただ、可変長引数を削除して
INT16 ELCALLTYPE cmd_printf(char *p);
とするとリンカエラーが出なくなります。が、可変長引数が使えなくて...
もともと、VC++を推奨している製品で、その関数を利用しているので
そこの問題かなぁとも思うのですが。

可変長引数の仮引数の記述の仕方がVC++と異なるってことはありますか?
おねがいします。
554デフォルトの名無しさん:2005/06/23(木) 18:26:14
ダラダラ書いてても肝心なエラーメッセージは無いのな
555デフォルトの名無しさん:2005/06/23(木) 19:07:02
うるさいよおまえ
556デフォルトの名無しさん:2005/06/23(木) 22:44:05
>553
確かに、可変長引数の関数のシンボルの付け方が、VC++とはちがうっぽい。
単に_が付くかどうかの差だけなんだけど。

俺もapr_pstrcatとかが全然リンクできなくて
BC++対応をあきらめた覚えがある。
557& ◆D3ra0B2LiQ :2005/06/24(金) 00:14:36
>554
そうですね、エラーメッセージなかったです。
[リンカエラー]外部シンボル’_cmd_printf’が未解決
となっています。おねがいします。

>556
う〜む、あきらめられない・・・(^^;)
>単に_が付くかどうかの差だけなんだけど。
どこに「_(アンダーバー)」がつくのですか?
「...」以外の記述の仕方があれば試してみようかと思っていますが。
558デフォルトの名無しさん:2005/06/24(金) 01:07:34
アンダーバーを付加するかどうかなら

 プロジェクト→オプション→コンパイル(詳細)→出力→下線を生成

で選択できるが、これがリンクエラーの原因かどうかは分からない。
559デフォルトの名無しさん:2005/06/24(金) 01:07:51
XMLDocumentをフォームに張り付けてアプリケーションは
作成できるのですが、フォーム無しでDLLで使用する方法がわかりません。
ご存知の方、教えてください。
参照する情報やURLおよびサンプルコードがあれば教えてください。
560デフォルトの名無しさん:2005/06/24(金) 01:19:11
>>559
#include <msxmldom.hpp>
#include <xmldom.hpp>
#include <XMLDoc.hpp>
#include <XMLIntf.hpp>
#pragma link "xmlrtl.lib"

でいんでない?
561デフォルトの名無しさん:2005/06/24(金) 01:22:53
>>557
関数の実体ってDLLにあるの?
562556:2005/06/24(金) 01:53:45
apr(http://apr.apache.org/)のWIN32版は、
declspec(dllexport) __stdcallなので、非可変引数の関数には_は付かないけど
可変引数の奴は、あえて__stdcallが付けられていないみたい。
ただ、それが原因かどうかはわからないけど、
(いろいろ宣言を工夫しても)正しい呼び出し形式のまま、両方をリンクすることは出来なかった覚えがある。

で、今、さらっとimplibを実行してみたら
-a Add '_' alias for MS flavor cdecl functions
というオプションがあった。
可変引数というのは、要するに__stdcallであっても__cdeclになるということなので
試してみると良いかも。

俺は面倒なのでもうやらないけど
もしうまくいったら報告よろしく。
563556:2005/06/24(金) 03:07:39
気になったので、一応試してみた。

ヘッダにこう
char* apr_pstrcat(apr_pool_t *p, ...);
char* apr_pstrdup(apr_pool_t *p, const char * s);
宣言されている関数を bcc32 test.cpp とすると
Error: 外部シンボル '_apr_pstrcat' が未解決(F:\TMP\TEST.OBJ が参照)
Error: 外部シンボル 'apr_pstrdup' が未解決(F:\TMP\TEST.OBJ が参照)
と出る。

で、
implib -a apr_bor libapr.dll libaprutil.dll
してから、
bcc32 test.cpp apr_bor.lib
とすると、リンクエラーは出ず、正常に動いた。

一応テストコード。
int main(int ac, const char *const *av) {
 apr_app_initialize(&ac, &av, NULL);
 apr_pool_t *pool;
 apr_pool_create(&pool, NULL);
 char *s = apr_pstrcat(pool, "abc", "DEF", "123", NULL);
 printf("s=[%s]\n", s);
 char *v = apr_pstrdup(pool, s);
 printf("v=[%s]\n", v);
}
564デフォルトの名無しさん:2005/06/24(金) 04:06:27
>>548
自己解決しました。遅ればせながら報告を。
原因:PCのロケールが「英語(US)」になってましたorz

そのせいで全角文字のleadbyteを検出する部分が正常動作しなかったようです。
というわけでお騒がせしました。
565デフォルトの名無しさん:2005/06/24(金) 17:02:46
Builder 5です。
基本的な質問で申し訳ないのですが
あるクラスを継承して新規クラスを作成する場合って、手書きで行うのでしょうか。
それとも、VC++のよなwizardで作成可能でしょうか。
TThreadから継承する場合は、新規作成-スレッドオブジェクトで可能なことは発見しました。
566553:2005/06/24(金) 19:46:45
>562 さん
>563 さん
implibでオプション-aをつけてやってみたら、
リンカエラーがでずにうまくいきました。
ありがとうございます。問題解決です。

>558 さん
自分の設定では「下線を生成」にチェックがついていたので
これはエラーの原因ではないようでした。
でも、ありがとうございます。



567デフォルトの名無しさん:2005/06/25(土) 00:26:24
>>565
VCLのコンポーネントを継承したカスタムコンポーネントは「新規コンポーネント」から。
VCL以外のライブラリで派生クラスを書くときは自力で書く。
568デフォルトの名無しさん:2005/06/25(土) 11:41:34
しかし、クラスエクスプローラから新規クラス作れなかったりするのは何とかならんのかねぃ
569デフォルトの名無しさん:2005/06/25(土) 12:14:54
まぁ、完全に時代遅れのソフトだから。操作性に関してはね。
570デフォルトの名無しさん:2005/06/25(土) 12:24:19
次世代版はいつ出るんだべか・・・
571デフォルトの名無しさん:2005/06/25(土) 20:33:30
年末
572デフォルトの名無しさん:2005/06/25(土) 21:09:43
年内に出てくれるかなー・・・

VS2005は年内に出るんだったよね・・・
573565:2005/06/26(日) 02:26:56
>>567 サンクスです。
やっぱ基本的には自力なんですね。
574デフォルトの名無しさん:2005/06/26(日) 06:04:00
winampのように、ウインドウが画面の端に吸着するような動作はどのように実装すればよいのでしょうか?
575デフォルトの名無しさん:2005/06/26(日) 07:03:00
>> 574
WM_WINDOWPOSCHANGINGで

const SNAP_RANGE = 10;
WINDOWPOS* wndPos = (WINDOWPOS*)message.LParam;

if ((wndPos->flags & SWP_NOMOVE) == 0) {
    if (wndPos->x < Screen->WorkAreaLeft + SNAP_RANGE) wndPos->x = Screen->WorkAreaLeft;
    if (wndPos->y < Screen->WorkAreaTop  + SNAP_RANGE) wndPos->y = Screen->WorkAreaTop;
    if (wndPos->x > Screen->WorkAreaRect.Right  - wndPos->cx - SNAP_RANGE) wndPos->x = Screen->WorkAreaRect.Right  - wndPos->cx;
    if (wndPos->y > Screen->WorkAreaRect.Bottom - wndPos->cy - SNAP_RANGE) wndPos->y = Screen->WorkAreaRect.Bottom - wndPos->cy;
}
576デフォルトの名無しさん:2005/06/26(日) 10:04:37
>>575
danke
577デフォルトの名無しさん:2005/06/26(日) 21:15:49
C++Builder5です
アイコンファイルからSetWindowRgn()に渡すためのマスク用ビットマップを作りたいのですが、OpenJaneViewや
Adobe系など一部のアイコンは透過色が8ビットになっているらしく、単色で境界線を判定すると、当然ながら
境界線がきれいに切り取れません。
うまく境界線を切り取る方法について、知恵を貸してください。
578デフォルトの名無しさん:2005/06/26(日) 21:29:09
↑書き忘れました。
リージョンの生成は下のサイトのコードCreateBmpRgn2()をそのまま使いました
ttp://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-054.html
579デフォルトの名無しさん:2005/06/27(月) 09:48:35
C++Builder5で、ActiveXコントロール(MSComm)を使って
RS232Cでバイナリ受信しようとしています。
OleVariant型にバイト配列として取り込む所までは出来たのですが、
そのデータを取り出す方法が解りません。
OleVariant InBuff;
long nRet;
byte InputData[2000];

pMSComm->InputLen = 0;
pMSComm->InputMode= 1; // comInputModeBinary
InBuff = pMSComm->Input;
if(InBuff.IsArray()){
   //ここには入る
   nRet=InBuff.ArrayHighBound(); //nRetは241(正規の値)
}
~~~~~~~~~~~~~
このInBuffからInputDataに取り出したいのですが・・
どなたか教えて頂けないでしょうか
580デフォルトの名無しさん:2005/06/27(月) 10:02:54
>>579
よく知らんがOleVariant::operator Byte*()は?
581デフォルトの名無しさん:2005/06/27(月) 10:10:18
>>580
レス有り難う御座います
恥ずかしながら、それの使い方(構文)が解りません。
教えて頂けないでしょうか?
582デフォルトの名無しさん:2005/06/27(月) 10:44:58
>>581
ヘルプに載ってるのになぜか未定義っぽい。
Variant::ArrayLock()のがよさげ。
583デフォルトの名無しさん:2005/06/27(月) 11:19:04
>>577
リージョンから除外したい領域に複数の色が使われてるという意味ですか?
584デフォルトの名無しさん:2005/06/27(月) 11:22:33
>>582
ArrayLock()で変換出来ました!
助かりました、有り難うございました。
585デフォルトの名無しさん:2005/06/27(月) 19:16:20
libpq.dllを使いたいのですが、
どこかにC++Builder用のLibファイルはないでしょうか?
MAKEファイルもうまくいかず、
IMPLIB libpq.lib libpq.dll -a
で作成やってみたのですがうまくいきませんでした。
ラッパーもあったのですが、なるべくDLL本体で使いたいので
よろしくお願いします。
586デフォルトの名無しさん:2005/06/27(月) 21:08:39
Button1を押すとメモ帳で作ったreadmeを開くようにしたいんだけど
どのようにすればいいの?
587デフォルトの名無しさん:2005/06/27(月) 21:21:57
>>586
知っているが(ry
588デフォルトの名無しさん:2005/06/27(月) 22:16:16
>>586
なぁ、拡張子って知ってるか?

しってるなら>>451で分かるでしょ。
589586:2005/06/27(月) 22:25:19
拡張子って.txtとか.javaとかのこと?
でも>>451の意味がよくわかりません・・・・
590デフォルトの名無しさん:2005/06/27(月) 22:38:52
調(ry
591デフォルトの名無しさん:2005/06/27(月) 22:45:57
>>586
それはメモ帳を起動させてreadmeを見られるようにしたいということかね?
「開く」だけではわからん
592デフォルトの名無しさん:2005/06/27(月) 22:50:07
>>589
そのレベルならプログラミングより先にWindowsの操作を覚えなさい。
593デフォルトの名無しさん:2005/06/27(月) 23:35:59
AnsiStringとして"TEST\nTEST"という文字列があるのですが、DrawTextに渡すために普通に.c_str()で変換すると
当然ながら\nのエスケープシーケンスがただの文字列のままで改行になりません。
\nをエスケープシーケンスとしてうまくDrawTextに渡してやるためにはどうしたらいいでしょうか?
594デフォルトの名無しさん:2005/06/27(月) 23:41:27
>>593
改行は \r\n じゃないのかな?
595デフォルトの名無しさん:2005/06/27(月) 23:46:44
>>593
DrawText()で
DT_SINGLELINE
を指定してると改行してくれないよ
596593:2005/06/27(月) 23:58:15
>>593
RECT r;
r.left=0;
r.top=0;
r.right=96;
r.bottom=96;

::DrawText(Image1->Canvas->Handle,"TEST\nTEST",-1,&r,DT_CENTER | DT_WORDBREAK);

と直接値を指定すれば改行されますが、この値がini->ReadString()から読み込んだ値 = AnsiStringなので、
\n(\\n)をエスケープシーケンスとしてchar *に変換したいんです。

>>595
書き忘れました。
DrawText()にはDT_CENTER | DT_WORDBREAKを指定しています。
597593:2005/06/27(月) 23:59:00
↑アンカー間違いました。
× >>593
○ >>594
598デフォルトの名無しさん:2005/06/28(火) 00:07:00
>>596
そら自力で "\\n"を'\n'に変換せな
599デフォルトの名無しさん:2005/06/28(火) 00:09:22
レジストリとかINIファイルって改行を値に含められないんじゃないの?
600デフォルトの名無しさん:2005/06/28(火) 00:14:45
iniファイルに
 value=TEST\nTEST
って書いてあるって話じゃ?
601デフォルトの名無しさん:2005/06/28(火) 00:16:16
文字として\nを書き込んでるってことだろう。
AnsiReplaceStr(text, "\\n", "\n").c_str() を渡してみたら?
602593:2005/06/28(火) 01:11:11
>>601
その様な関数はないのでStringReplaceで置き換えてみたんですが、構文エラーになるんですが・・・

::DrawText(Image1->Canvas->Handle,StringReplace(Edit1->Text,"\\n","\n",).c_str(),-1,&r,DT_CENTER | DT_WORDBREAK | DT_END_ELLIPSIS | DT_EDITCONTROL);
603デフォルトの名無しさん:2005/06/28(火) 01:17:42
>>602
ヘルプ見ろ
AnsiReplaceStrは存在する
StringReplaceは引数が>>601とは異なる

結論:おまえ馬鹿だろ
604593:2005/06/28(火) 01:19:30
すんません。
自分のケアレスミスでした。
フラグにTReplaceFlags()<<rfReplaceAll入れるの忘れてただけでした。
表示もできました。
ありがとうございました。
605593:2005/06/28(火) 01:22:37
>>603
いえ、ヘルプにはありません。
テキスト検索にもキーワード検索にも引っかかってきませんし。
606デフォルトの名無しさん:2005/06/28(火) 02:04:27
AnsiReplaceStrはBCB6からだよーん、確か。
607デフォルトの名無しさん:2005/06/28(火) 06:08:59
CppWebBrowserに独自のPopupMenuを割り当てたいんですが
オブジェクトインスペクタで指定しても既定の右クリックメニューが
表示されてしまいます。どのようにすれば実現できますか?
608586:2005/06/28(火) 07:02:08
>>591
そうです
教えてください・・・
609デフォルトの名無しさん:2005/06/28(火) 08:54:39
>>607
http://bdn.borland.com/article/0,1410,28797,00.html
これのShowContextMenuでデフォルトのメニューを禁止しつつ、自作のを表示
610デフォルトの名無しさん:2005/06/28(火) 10:30:27
611デフォルトの名無しさん:2005/06/28(火) 10:37:31
[リンカ 警告] パブリックシンボル _*** がモジュール C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\test1.OBJ と C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\test2.OBJ の両方に定義されている
このような警告が出るのですが、何か弊害はあるのでしょうか?
612デフォルトの名無しさん:2005/06/28(火) 10:40:40
>>585
最初からMLに投げればいいのに。
613デフォルトの名無しさん:2005/06/28(火) 10:44:08
>611
どっかおかしい場合が多いし
初期化とかが無効になる場合もあるし
メンテが面倒になるし
614デフォルトの名無しさん:2005/06/28(火) 10:56:39
>>613
なるほど。
ありがとうございました。
615デフォルトの名無しさん:2005/06/28(火) 11:12:18
教えて下さい。
ある外部接続機器の状態をなるべく短い間隔で取得し、フォームに表示・更新します。
勿論これ自体は可能なのですが、フォームへの状態表示・更新はそのままに
これとは別のフォームも表示し、こちらではキー入力も可能にしたいのです。
単純にやらかすと、状態表示フォームにCPUパワーを全部持って行かれて
キー入力フォームをアクティブにすることすら出来ません。
どのようにすればいいのでしょうか?
616デフォルトの名無しさん:2005/06/28(火) 11:17:35
>>615
それは「状態表示・更新」の方法や更新間隔に問題があるのでは?
617608:2005/06/28(火) 13:57:23
>>451の意味がわかりません・・・・・
618デフォルトの名無しさん:2005/06/28(火) 14:01:30
>>617
ヘルプで検索しろ。
それでも分からなかったらプログラミングなんぞ止めろ。
おまえの脳みそじゃムリだ。
619デフォルトの名無しさん:2005/06/28(火) 14:46:01
支援機能って言うのかな?
Button1-> まで書いたら後に続く候補がポップアップするやつね。
この支援機能ってタイムアウトとかあるんですかね?
プロジェクトのあるファイルだけ「構文に誤りが〜」のエラーが出て
上手く働いてくれない。
もちろん、コンパイルは通るし、各行を調べてここからエラーが発生するって
行も見つけたけど、特に問題もない。
途中の行からエラーが出るファイルは、他のファイルよりかなりデカいので、
単にタイムアウトみたいな物なのかなぁと思ってますが。
これの回避方法あったら教えて下さいな。
620デフォルトの名無しさん:2005/06/28(火) 14:49:21
>>586
つ[TFileRun]
621デフォルトの名無しさん:2005/06/28(火) 15:51:55
>>619
憤りを感じるなら
[ツール]→[エディタオプション]→[支援機能]のコード補完を
切ってしまへば良いのである
支援を使いたいのであればCtrl+Spaceを押せば出てくるしな
622デフォルトの名無しさん:2005/06/28(火) 17:12:06
>>617
意味分からないなら、なんでヘルプやネット検索しようとしないわけ?
ヒントっちゅうか ズバリ正解ワード提示してくれてるのにさ。
その姿勢でプログラミングって、そらあかんわ。
623デフォルトの名無しさん:2005/06/28(火) 18:32:16
>>619
エラーって、コンパイルエラーじゃなくて支援機能の部分が出すエラー?
624デフォルトの名無しさん:2005/06/28(火) 19:18:12
                    





625デフォルトの名無しさん:2005/06/28(火) 19:45:23
626619:2005/06/28(火) 20:11:59
>623
そうですね、コンパイルエラーではないです。

[C++ エラー] Frm_Main.cpp(1): ソースコードにエラーがあるためコード補完をおこなえません

こういうエラーが出るわけです。
例えば
if       //( がない
  Edit1->
と書くとエラーが出るのは当然ですが
if(Edit1->
と書いても同様のエラーが出るわけです。
それで、その行だけを消してコンパイルを通すと、問題なくコンパイル出来ます。
627デフォルトの名無しさん:2005/06/28(火) 21:30:18
俺は単にBCBの補完能力の限界だと思ってるけどな。
ヘッダ内を含めて、ソースを遡ったところに、何か補完機能に理解不能な部分があるんでない?
COMとかで例通りにFAILEDマクロ使ってると、確実にそのエラーが出て、補完機能が役立たずになるんだよなー。
628デフォルトの名無しさん:2005/06/28(火) 23:04:09
>>619
うちも.cppがある程度のサイズを超えると、支援機能はエラーしか
返さなくなるよ。
少しずつコードを小さくしていくとわかる。

なぜエラーになるのか調べてるうちに気づいたけど、BCB6はエラーでも
BCB5では問題なく機能する・・・
629デフォルトの名無しさん:2005/06/28(火) 23:22:04
>>609
遅レスすいません。ありがとうございます

新規フォームのUnit1.hとUnit1.cppを
書き換えるだけでいいんでしょうか?
630デフォルトの名無しさん:2005/06/28(火) 23:50:44
>>629
新規フォームにTCppWebBrowser貼り付けた状態で、
#include "mshtmhst.h" を忘れないことと、あそこには書いてないけどTForm1のメンバに
MyDocHandler* dochandler を持たせれば、ほぼコピペでいける。
631デフォルトの名無しさん:2005/06/29(水) 07:07:45
>>630
コンパイルは通りデフォルトのメニューは表示されなく
なりましたが肝心のオリジナルの方も表示されません。
難しいス
632lo:2005/06/29(水) 09:51:19
お世話になります。
loと申します。よろしくお願いいたします。
ビットの操作が分からなくて、悩んでいます。
大変申し訳ないのですが、皆様の力をお貸しください。

下記のプログラムにて、
bufに格納されている、数値(No)を取り出し、
その数値(No)を書き換えたあと、
再度、bufに格納する。
というプログラムを書きたいのですが、
再度、bufに格納する方法が分かりません。。。
大変お手数ですが、やり方をお教え願えないでしょうか?
よろしくお願いいたします。

*********************************************
unsigned charNo;
unsigned longbuf;
No = (unsigned char)( ( buf >> 14 ) & 0x07l );
// Noに任意の数値を格納する。
// bufに書き戻す。
*********************************************
633デフォルトの名無しさん:2005/06/29(水) 10:20:41
>>632
スレタイを声に出して百回読むこと。
634デフォルトの名無しさん:2005/06/29(水) 10:23:29
http://blog.livedoor.jp/junki560/

#どこかの BBS にここの URL を貼り付けている私がおられるようだが、もっとみてみてもらいたいような・・・
635デフォルトの名無しさん:2005/06/29(水) 10:57:54
↑この人って例の質問しては荒らしていったあの人?
636デフォルトの名無しさん:2005/06/29(水) 11:13:04
>>631
ShowContextMenuの中でPopupMenu1->Popupみたいに自分で呼ぶんだよ
637デフォルトの名無しさん:2005/06/29(水) 12:22:17
プロセッサの数を取得する方法を教えてください。できればHTかどうかもわかると良いのですが
638デフォルトの名無しさん:2005/06/29(水) 12:25:37
TCheckBoxをいくつか並べて、処理が進む毎にチェックを入れて
その進行状況を示しています。(インストーラみたいな感じ)
ユーザーにチェックを入れてもらう為ではないので、それを禁止したいのですが
TMemoのReadOnlyのようなプロパティがあれば早いのですがありません。
良い方法を教えてもらえませんか?
639デフォルトの名無しさん:2005/06/29(水) 12:29:15
>>638
プログレスバーに変える
640デフォルトの名無しさん:2005/06/29(水) 12:55:24
>>637
数はGetSystemInfoのdwProcessorType。
HTは↓のQueryHyperThreadingか。HTじゃないんで試せないけど。
http://66.102.7.104/search?q=cache:qan2Udz4xwIJ:hazelware.luggle.com/tutorials/cpuinfo.html

>>638
サブクラス化してマウスメッセージ無視とか。でも描いたほうが無駄にウィンドウ増やすよりいいんじゃない。
DrawFrameControl(Canvas->Handle, &TRect(0, 0, 13, 13), DFC_BUTTON, DFCS_BUTTONCHECK | DFCS_CHECKED);
641デフォルトの名無しさん:2005/06/29(水) 12:59:53
dwProcessorTypeじゃないや、dwNumberOfProcessorsだ。
642デフォルトの名無しさん :2005/06/29(水) 13:05:55
C言語で二つの整数値を読み込んで後者が前者の約数であれば
BはAの約数です。と表示しそうでなければ
BはAの約数ではありません。と表示するプログラム教えてください
二つの整数を入力してください。
整数A:12
整数B:6
BはAの約数です。
こうなるようお願いします
643デフォルトの名無しさん:2005/06/29(水) 13:07:44
>>642

C言語なら俺に聞け! Part 109
http://pc8.2ch.net/test/read.cgi/tech/1119435171/

C/C++の宿題を片付けます 46代目
http://pc8.2ch.net/test/read.cgi/tech/1119514274/
644デフォルトの名無しさん:2005/06/29(水) 13:11:21
>>643
すいませんスレ違いでした
645デフォルトの名無しさん:2005/06/29(水) 20:29:15




















646デフォルトの名無しさん:2005/06/29(水) 21:19:34
>>636
virtual HRESULT STDMETHODCALLTYPE ShowContextMenu(
/* [in] */ DWORD dwID,
/* [in] */ POINT __RPC_FAR *ppt,
/* [in] */ IUnknown __RPC_FAR *pcmdtReserved,
/* [in] */ IDispatch __RPC_FAR *pdispReserved) {

TPoint p;
GetCursorPos(&p);
Form1->PopupMenu1->Popup(p.x, p.y);

return S_OK;
}

エラーが出てコンパイルできません
未定義のシンボルForm1
647デフォルトの名無しさん:2005/06/29(水) 21:23:13
>>646
そのエラーでなんで原因が特定できないのか小一時間問いつめたい
648646:2005/06/29(水) 22:00:31
ちゃんと

#include "Unit1.h"(Form1)

しているんですが。
649デフォルトの名無しさん:2005/06/29(水) 22:03:09
どんなコードになってるか知らんけど、定義の流れ追ってけば、簡単に分かるはずなんだがな。
650デフォルトの名無しさん:2005/06/29(水) 23:35:54
たとえばForm1->Button1をクリックしたときにForm2->OnMouseDownイベントを発生されるにはどうしたらいいでしょうか
651デフォルトの名無しさん:2005/06/29(水) 23:40:55
uUnit1.h

class MyDocHandler :public IDocHostUIHandler
{
long refcount;
public:

MyDocHandler() :refcount(1){ }
.
.
.
.
class TForm1 : public TForm
{
__published:// IDE 管理のコンポーネント
TCppWebBrowser *CppWebBrowser1;
TPopupMenu *PopupMenu1;
TMenuItem *N1231;
private:// ユーザー宣言
//MyDocHandler* dochandler;
public:// ユーザー宣言
__fastcall TForm1(TComponent* Owner);
__fastcall ~TForm1();
}
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif


これじゃだめですか?
652デフォルトの名無しさん:2005/06/30(木) 00:03:17
>>650
Form1から
SendMessage()でForm2にマウスメッセージを送るとか
Form2->Perform();でForm2にマウスメッセージを送るとか

Form1->OnMouseDown = TForm2->:Button1MouseDown; とか
653デフォルトの名無しさん:2005/06/30(木) 00:04:54
>>651
MyDocHandlerクラスの定義内で、ShowContextMenuもインラインで書いてるんだと思うけど、
自分がコンパイラだと思って、上から順にコードを辿って
Form1->PopupMenu1->...
ってとこに来た時に、それまでにForm1という文字を見たかどうか考えれば分かるんじゃまいか。
654デフォルトの名無しさん:2005/06/30(木) 00:11:06
>>653
>>651の書式だと
ShowContextMenu内のPopupMenu1->Popupで
PopupMenu1が未定義といわれます

class TForm1の後にclass MyDocHandler :public IDocHostUIHandler
とすると

private:// ユーザー宣言
MyDocHandler* dochandler;

が未定義と言われます
655650:2005/06/30(木) 00:12:12
>>652
あ、それでよかったんですね。盲点でした。
ありがとうございました。
それともうひとつ、Image1からOnMouswWheelイベントを発生させることはできないのでしょうか
656デフォルトの名無しさん:2005/06/30(木) 00:12:18
>>650
Form1::Button1のOnClickイベント内でForm2->OnMouseDownを直接呼び出したら良いやン。
イベントハンドラも関数だからそのまま呼び出せるよ。必要な引数だけ適当に按配すると。
657デフォルトの名無しさん:2005/06/30(木) 00:32:09
>>654
そういう時は、ShowContextMenuをインライン定義しないで、ソースのほうに書くとか、
TForm1の後にMyDocHandlerを定義するなら、TForm1の定義の前に、

class MyDocHandler;

と、前方宣言しておくというお決まりのテクニックを使うんだよ。
658デフォルトの名無しさん:2005/06/30(木) 01:24:08
>>655
TImageは
TWinControlから派生してないから直接はむりだねえ

TWinControlから派生している
TCustomControlから自前で派生クラスのコントロールをつくって
Image1->Picture->BitmapをこのクラスのCanvasにPaint()でDraw()してやる
この自前のコントロールでならOnMouswWheelイベントを処理できるのでは?

こうすれば見かけ上TImageでOnMouswWheelイベントを処理したように見える
659デフォルトの名無しさん:2005/06/30(木) 04:05:55
PanelのDockSiteをtrueにして、そこにフォームをいくつかドッキングさせてます。
ドッキングされているフォームの一つを任意の幅に変更したいのですが
どうやれば良いのですか?
WidthやLRDockWidthを色々触っているんだけど、どうも上手く行かない。

DockManager->LoadFromStream( ) で復元は出来ているのですが
最初に起動した際、保存しているファイルがないのでLoadFromStream( )が使えず
丁度幅が50%になっているのを何とかしたいのです。
660デフォルトの名無しさん:2005/06/30(木) 05:00:38
>>659
>最初に起動した際、保存しているファイルがない

これだけが問題なら
生でAPI使うことになるけど
リソースにユーザ定義データとして初期値を格納しておくってのはダメカナ?
661654:2005/06/30(木) 06:37:03
>>657さん
その方法で試したところ見事オリジナルの方を表示する
ことが出来ました
まだC++初めて一週間のど素人に優しく教えていただき
有難うございました
HPで公開させていただきます

662659:2005/06/30(木) 08:59:44
>>660
え、それは普通にプログラム側から幅を変更する方法がないということ?
私が知らないだけで、Form->Width = 200; 程手軽ではないとしても
幅を制御する方法があるものと思ってたのですが。
663デフォルトの名無しさん:2005/06/30(木) 15:10:09
664デフォルトの名無しさん:2005/06/30(木) 17:50:13
BCB6でBoostをスムーズに入れる方法ってあります?
BCB用の設定とかあるけど、なぜかうまくいかない。
665デフォルトの名無しさん:2005/06/30(木) 19:52:40
DirectshowでIEEE1419接続でリアルタイムにキャプチャできる
プログラムってどこかにありますか?探しても見当たらなくて…
666デフォルトの名無しさん:2005/06/30(木) 20:04:34
667デフォルトの名無しさん:2005/07/01(金) 20:00:09
Length('あいうえおABCDE')は15です。
Length(WideString('あいうえおABCDE'))は10です。
668デフォルトの名無しさん:2005/07/01(金) 22:21:33
あの Delphiユーザーの素朴な疑問なのですが、
Cって *char で いちいちメモリ確保しないといけないでしょ。
vcl使えるのでありそうなきもするのですが
C++は どうなんでしょうか
delphiと同じ stringみたいなのがあるのでしょうか?
669デフォルトの名無しさん:2005/07/01(金) 22:22:45
>>668
Cよりはずっとましだ。
C++標準ライブラリのstd::stringやBCBにはAnsiStringがある。
670デフォルトの名無しさん:2005/07/01(金) 22:30:30
>>669
お返事ありがとうございます
あったんですか。。。

Cにはないから長年Delphi2つかってたんですけど・・・
じゃあ、次のDelphiからC++Builderが統合されるので
次のバージョンからDelphi言語やめてC++で作っていこうと思います♪
671デフォルトの名無しさん:2005/07/01(金) 22:48:39
AnsiStringを使いこなすには
http://www.geocities.co.jp/SiliconValley/7201/tech.html#AnsiString
AnsiString s=" abc_ABC_z ";(前後にスペースが一つずつ入っています) に 対して、次のような操作ができます。

・n番目の文字を取り出す(ただし、s[1]が一番前の文字) s[2] → "a"

・大文字小文字を区別して比較する s.AnsiCompare(" abc_abc_z ") → 1(大 きい。小さいときは-1、等しいときは0)

・大文字小文字を区別せずに比較する s.AnsiCompareIC(" abc_abc_z ") → 0(等しい。大きいときは1、等しいときは0)

・一番最後の文字を取り出す s.AnsiLastChar() → " "(スペース)

・char *へ代入する char *str=s.c_str();
672デフォルトの名無しさん:2005/07/01(金) 22:57:56
>>671
ありがとうございます。
忘れないようにHDDに.txtで保存しました。
673デフォルトの名無しさん:2005/07/02(土) 00:14:03
っていうか、VCLはほとんどそのままDelphiからBCBに移植されてるやン。
それに加えてSTL他の標準ライブラリが使える点は有利だな。
その分覚えるの大変だけど。
674デフォルトの名無しさん:2005/07/02(土) 09:42:35
__fastcall AnsiString(const std::string& src);
↑がないのが気に入らない

>>670
ちなみにAnsiStringとObjectPascalのstring型はメモリ上の互換性がある。
[]演算子でのアクセスもObjectPascal互換で一文字目が[1] (std::stringやchar[]は[0])
675デフォルトの名無しさん:2005/07/02(土) 13:32:59
なんかAnsiStringの方が遅いって話も聞いたことがあるんだけど
676デフォルトの名無しさん:2005/07/02(土) 14:16:00
jpeg2000の画像の読み書きが可能なコンポーネントか何かありませんか?
677デフォルトの名無しさん:2005/07/03(日) 01:35:11
Win32APIの勉強をしています。
使ってるはずのOS関連のDLLに対応するlibファイルを書かなくても
リンクできてしまいます(オプションは-Wと-wだけです)が、
bcc32がリンカを呼び出すときに勝手に追加してくれてるのでしょうか?
678677:2005/07/03(日) 01:37:05
あ、コマンドラインでbcc32を使った場合の話です。
679デフォルトの名無しさん:2005/07/03(日) 08:44:43
>>677
ヘルプにはこんなことが書いてある。

デフォルトでは,BCC32 は C0X32.OBJ,CW32MT.LIB,および IMPORT32.LIB(それぞれ初期化モジュール,ランタイムライブラリ,および Windows インポートライブラリ)を使って ILINK32 を呼び出します。
680デフォルトの名無しさん:2005/07/03(日) 11:18:51
>>677
kernel32、user32、gdi32あたりの基本的なものは自動リンク。
winmm.libとかはリンクされない。
681デフォルトの名無しさん:2005/07/03(日) 18:59:48
プログラム板が荒れているため、IDを導入するか検討中です。
賛成の方も反対の方も、このスレで自分は賛成か反対かをお書きください。

プログラム技術板に強制ID制を導入すべきか否か
http://etc4.2ch.net/test/read.cgi/vote/1118144381/

理由などの記入は別に構いません。
<<賛成>>か<<反対>>かだけ御記入頂ければ結構です。
ちなみに、当たり前ですが運営の方にIPが見えているので、1日ごとにIDが変わるからといって多重投稿しないでください。
682デフォルトの名無しさん:2005/07/03(日) 23:10:25
反対の賛成なのら
683677:2005/07/04(月) 02:52:19
>>679-680
やっぱりそういうことでしたか。納得しました。
ありがとうございました。
684デフォルトの名無しさん:2005/07/04(月) 04:29:24
 プログラム板って荒れてるのか

 ここは、平和だからわからん。
685デフォルトの名無しさん:2005/07/04(月) 06:25:02
C++Builderは仕事で使ってる人が少ないから
気持ちが荒れてる人も少ないんじゃないか?
686デフォルトの名無しさん:2005/07/04(月) 06:31:26
気持ちが荒れても社会人ならこんなとこにぶつけたりしない。
687デフォルトの名無しさん:2005/07/04(月) 09:07:59
どんなとこにぶつけるの?
688デフォルトの名無しさん:2005/07/04(月) 09:28:56
エロ本とか。
689デフォルトの名無しさん:2005/07/04(月) 09:32:42
それはぶっかけるのでは
690デフォルトの名無しさん:2005/07/04(月) 09:35:48
ワロタ
691デフォルトの名無しさん:2005/07/04(月) 14:15:00
俺も最近C#ばかり使うようになってから、BCB6起動すると心が荒れる
ようになりますた。
692デフォルトの名無しさん:2005/07/05(火) 02:28:18
コンポーネント活用ガイドのBCB 6版のデータベース編
買ったけど
BCB3版のDB活用ガイドに比べて内容薄くなってるな...
参照項目さえろくすっぽ載っってない
ダイアログエディタについてもなにも載ってない

QuickReportの参考書としてしか使えん
693デフォルトの名無しさん:2005/07/05(火) 02:36:46
Builderはヘルプと根性があればおk。
694デフォルトの名無しさん:2005/07/05(火) 02:43:53
そうだよなぁ。
ヘルプを読み解くのに根性いる時あるもんなぁ。(しみじみ)
695デフォルトの名無しさん:2005/07/05(火) 21:15:26
CppWebBrowserの新しいページにジャンプ
するときのカチカチいう音が気に入りません
どうやったら消せますか?
696デフォルトの名無しさん:2005/07/05(火) 22:47:10
>>695
専用ブラウザがやってるように、直接描画するしかないんじゃない?
http://www.monazilla.org/
ここにやり方かいてある。
697デフォルトの名無しさん:2005/07/05(火) 22:55:57
698デフォルトの名無しさん:2005/07/05(火) 23:02:57
>>696
すいませんどこですか?

>>697
自分のアプリケーションのみで音を消したいのです。
699デフォルトの名無しさん:2005/07/06(水) 02:16:52
>>698
資料室にあるサンプルコード。
でも、Delphiのコードだね。
C++ Builderで作られた専用ブラウザってあったと思うけど、何だっけな?
調べて作者に聞いてみるとか?
700デフォルトの名無しさん:2005/07/06(水) 10:01:16
C++BuilderからGeckoエンジンを使う方法
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { MozillaBrowser1->GoHome
(); } //---------------------------------------------------------------------------
void __fastcall TForm1::ToolButton3Click(TObject *Sender) ...
homepage2.nifty.com/spw/tips/Gecko.html
701デフォルトの名無しさん:2005/07/06(水) 10:59:55
ブラウザを指定URLで開く処理をやりたいのですが、
どうやったらできるでしょうか?
702デフォルトの名無しさん:2005/07/06(水) 11:26:34
>ブラウザを指定URLで開く
・・・??
「指定URLをブラウザで開く」の間違いなら ShellExecute 使え。
703698:2005/07/06(水) 12:42:03
>>699
ありがとうございます
さっぱり解りませんでした。難しいですね。
704デフォルトの名無しさん:2005/07/06(水) 13:39:05
>>703
ちみの質問がさっぱり解りませんでした。
ソフトのことよく理解してないんじゃない?
705デフォルトの名無しさん:2005/07/06(水) 14:23:45
カチカチ
706デフォルトの名無しさん:2005/07/06(水) 14:42:59
>>704
そうか?俺解ったぞ。
707デフォルトの名無しさん:2005/07/06(水) 17:28:28
>>704
俺もわかったけど。馬鹿?
708デフォルトの名無しさん:2005/07/06(水) 18:21:46
>>704
さっぱり解らないのに、どうしてソフトのこと理解していないって
解るんだ?
ちみの言ってることが、さっぱり解らないな。
709デフォルトの名無しさん:2005/07/06(水) 18:35:44
馬鹿にしたつもりが逆に馬鹿にされる704
カコイイ
710デフォルトの名無しさん:2005/07/06(水) 21:57:35
律儀に夏厨の相手をするおまいらに惚れてしまいそうだ
711デフォルトの名無しさん:2005/07/06(水) 22:29:49
もうそんな季節か・・・
712デフォルトの名無しさん:2005/07/07(木) 02:03:17
■ShellExecute()

#include <windows>

int main(int argc, char *argv[])
{
// 秀丸を起動する
ShellExecute(NULL, "open", "C:\\Program Files\\Hidemaru\\Hidemaru.exe", NULL, NULL, SW_SHOW);

// 秀丸を起動してD:\TEST\Sample\ReadMe.txtを開く
ShellExecute(NULL, "open", "C:\\Program Files\\Hidemaru\\Hidemaru.exe",
"D:\\TEST\\Sample\\ReadMe.txt", NULL, SW_SHOW);

// http://www.tagu.info/をブラウザで開く
ShellExecute(NULL, "open", "http://www.tagu.info/", NULL, NULL, SW_SHOW);

return 0;

}


Windows APIのShellExecute()は実行したコマンドが終了しなくとも次の行に進んでしまう。
上の例だと次々に秀丸二つとブラウザが一つ開いてしまう。
713デフォルトの名無しさん:2005/07/07(木) 03:13:34
>>712
ShellExecuteの解説か? それとも質問?

起動した秀丸の終了を待ちたいなら、
 CreateProcess()
 WaitForSingleObject()
 CloseHandle()
の3点セットAPIが使えるな。
714デフォルトの名無しさん:2005/07/07(木) 05:21:17
gccのmakeは使えますか?
715デフォルトの名無しさん:2005/07/08(金) 01:16:28
BCB5で使えるフォルダを開くダイアログのコンポーネントはないでしょうか?
716デフォルトの名無しさん:2005/07/08(金) 01:27:03
フォルダ選択ダイアログ
http://homepage3.nifty.com/flare/pc/bcb/data/076.html
簡単なものであれば、「SelectDirectory()」を使うという手がある。
欠点としては、ネットワークドライブを認識できない問題がある。

//

フォルダの選択ダイアログを表示するには?
Windows API SHBrowseForFolder()を使用します。
http://www.borland.co.jp/qanda/cbuilder/c0005004.html
#define NO_WIN32_LEAN_AND_MEAN
717デフォルトの名無しさん:2005/07/08(金) 01:30:08
718デフォルトの名無しさん:2005/07/08(金) 01:38:05
719715:2005/07/08(金) 01:44:40
ありがとうございます。
紹介いただいた方法で試したのですが、オプションで実行時パッケージを使って構築のチェックをはずすと
コンパイルできなくなります。
単体で配布したいのですが、どうしたらいいですか?
720デフォルトの名無しさん:2005/07/08(金) 01:47:55
>>719
Unit1.hに
#include <FileCtrl.hpp> //追加
721715:2005/07/08(金) 01:50:50
>>720
できました。
ありがとうございました。
722デフォルトの名無しさん:2005/07/08(金) 09:14:14
OpenGLを使う
http://homepage3.nifty.com/endou/tips/03/tips29.htm
使用する関 数、クラス
OpenGL

API
OpenGL

ポイント
TFormのCanvasを指定する
Windows98以降で利用できるはずであるが、DLLの関係から か、OSの状況によってはうまく動かないこともある

出典、参考
OpenGLをDelphiで使う(http://nakg.hp.infoseek.co.jp/ opengl/)
「OpenGL 3Dプログラミング」CQ出版 酒井幸市,2000

OpenGLは3Dではデファクトスタンダードな(?)グラフィックライブラリーです。ただ し、利用するためにはちょっとやかいです。
ホームページと本ににあったのを自分なりに書き直してみました。
OpenGLを利用するためのヘッダファイルUOpengl.hとルーチンUOpenGL.cpp
この2つのファイルをプロジェクトに追加して利用します。
利用例
723デフォルトの名無しさん:2005/07/08(金) 14:45:47
TMemoのSelTextを取得したいんですが2バイト文字は
一バイトとカウントされてしまうんでしょうか・・・

Memo1の内容
   ↓
Memo1あいうえお

"いうえお"を選択状態にして

ShowMessage(Memo1->SelText);

とすると "・い"
と表示されてしまいますorz



724デフォルトの名無しさん:2005/07/08(金) 15:00:12
>>723
再現できまへんな。ちゃんと"いうえお"って表示される。
725デフォルトの名無しさん:2005/07/08(金) 16:45:17
BCBのバージョンぐらいは書こうな。
726デフォルトの名無しさん:2005/07/08(金) 17:09:07
だまれ
727デフォルトの名無しさん:2005/07/08(金) 19:48:19
BCB5 Pro使いです。
Eidt1->Textに入力された文字列(1バイト2バイト混在)が64バイトを超えるとカットされるようにしたいのですが、
どうしたらいいでしょうか?
ByteToCharLenで丸めた長さの文字数が帰ってくるかなと思ったんですが、うまくいかず困ってます。
728デフォルトの名無しさん:2005/07/08(金) 19:57:26
>>727
MaxLength
729727:2005/07/08(金) 20:06:34
>>728
すいません、書き忘れましたが、64バイトに丸める文字列は、Edit1に入力される以外に直接ストリームから入力
されることもあるため、こちらからも64バイトに丸める必要があるため、特定のコンポーネントにあるメソッドではなく
普通の関数の範囲で処理したいのです。
730デフォルトの名無しさん:2005/07/08(金) 20:14:24
>>729
情報を小出しにするな。

その場合は、自前で丸めろ。
731デフォルトの名無しさん:2005/07/08(金) 22:05:02
BCB3のころからそうなんだが
TQuery使って IDE環境からSQL文を何度も実行してると
メモリエラー起こしてBDEが起動しなくなるよね...
もはや個人的には仕様かと思っているんだが
むかつく

732723:2005/07/08(金) 23:15:11
>>724-725
遅れてすいませんBCB6proです
新規プロジェクトでは問題なく取得できます。
なにが原因でこうなるんでしょうか。
733デフォルトの名無しさん:2005/07/09(土) 00:12:19
BCB3でディレクトリのタイムスタンプを取得するにはどうしたらいいでしょうか?
734732:2005/07/09(土) 12:37:56
自分で調べた結果

ttp://www.delphi-gems.com/supplement/download.php?ID=55
の下のほうの
WindowsXP manifest resource

これをプロジェクトからはずした結果問題が解決しました。
ほかにXPスタイルを適用するための方法はありませんか?

exeと同じディレクトリにmanifestをおくやり方ではなく
リソースに組み込みたいです。
735734:2005/07/09(土) 12:48:49
ああやっぱりだめです
XPスタイルを適用するとどんな方法であれ
>>723のような現象が起こってしまいます。

この問題を解消する方法はありませんか?
736デフォルトの名無しさん:2005/07/10(日) 02:50:35
737デフォルトの名無しさん:2005/07/10(日) 11:18:49
Borland、業績不振でCEO降板

Borlandの社長兼CEO、デイル・フラー氏が降板した。
同社4〜6月期決算の最終損益は1株当たり24〜26ドルの赤字。

http://www.itmedia.co.jp/news/articles/0507/09/news015.html
738デフォルトの名無しさん:2005/07/10(日) 11:24:25
#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1

#define CONTROL_PANEL_RESOURCE_ID 123

#define RT_MANIFEST 24
739デフォルトの名無しさん:2005/07/10(日) 15:22:17
MSより先に64bitコンパイラー出すくらいでないとな。この先きびしいよな。
VS2005出たら買っちゃうことになるよな。
Builderの新バージョンがVS2005より先に出れば、Builderの新バージョンっていうか統合されたバージョン買うだろうけど
その逆ならVS2005買うだろうし、2本もコンパイラ買う金ないしな。

740デフォルトの名無しさん:2005/07/11(月) 23:39:39
こんばんは。現在BCB6Proにてプログラムを組んでいるのですが、Project1.cppにおけるApplication->Run();を削ると何か不具合は発生するでしょうか?
実現したいことは、・Form1のコンストラクタにおける起動準備で何か問題が生じた時に、フォームが一瞬たりとも表示されないように終了する。
・コマンドライン引数があるときにはForm1のメソッドをいろいろと使いつつ特定の処理をして、フォームを一瞬たりとも表示されないように終了する。・・・ということです。
そこで、問題がおきた時(特定の処理が終わった時)にはフラグを立ててApplication->Run();を実行しないようにすることで、とりあえず目的は達成できました。
しかし、Application->Run();を削ることによって、終了時のいろいろな後始末がきちんとおこなわれているのか不安になりました。
調べたところ、Application->Run();はメッセージループであるからメッセージの処理が必要なければ削ってもよいとの指摘もあれば、実際は暗黙に作られるApllicationウィンドウやFromMainのウィンドウを
破棄するためにWM_QUITやWM_CLOSEのメッセージ処理が必要との指摘もあり、結論はどうなったのかわかりませんでした。
長文で申し訳ありませんが、おわかりになる方はご教授お願いします。
741デフォルトの名無しさん:2005/07/12(火) 00:01:06
>>740
メインフォームもApplicationもちゃんとデストラクタ呼ばれるし、
CodeGuardも何も報告しないから、大丈夫でない?
742740:2005/07/12(火) 00:34:38
>>741
早速のご返答ありがとうございます。
メインフォームやApplicationのデストラクタは両方ともしっかりと呼ばれるのですね。(たしかにFormDestroyは呼ばれておりました。)
とりあえず問題なしと考えて良さそうですかね。
ただ、Application->Run();内での処理がトリガーとなって破棄の手順が開始されると思い込んでいたのですが、Run()なしでもOKとなると、どこがトリガーとなっているか謎ですね。
Runのあとはexitくらいしかない気がするんですが。理解できてないので変なことを行っているかもしれません(^^;
743デフォルトの名無しさん:2005/07/12(火) 00:55:48
Delphiにはアプリ終了時に実行されるfinalizationていうブロックがあるから、破棄の手順を開始するトリガーというのはそれだろう。
WinMainの出口にブレークポイントを置いてステップ実行していけば、
Application.Freeやその他の終了処理にたどり着くよ。
744デフォルトの名無しさん:2005/07/12(火) 00:56:36
ステップじゃなくてトレースだった
745デフォルトの名無しさん:2005/07/12(火) 12:21:05
>>742
単にウィンドウを表示させたくないのであれば、
ウィンドウスタイルを変えればいいんジャマイカ?
746デフォルトの名無しさん:2005/07/12(火) 14:26:19
TStringGridでセルが編集されたがどうかをしらべるプロパティーかメソッドがあったら教えてください
747デフォルトの名無しさん:2005/07/12(火) 15:08:31
セルが編集されたが、どうか?
748デフォルトの名無しさん:2005/07/12(火) 15:20:56
はい
749デフォルトの名無しさん:2005/07/12(火) 15:23:05
ああ、>>747は間違いを指摘してるわけですね。
セルが編集されたかどうか と書きたかったんですがね、
まあ言おうとしている意図もわからず言葉の間違いだけを指摘してる奴には何の期待もしてないけどね
750デフォルトの名無しさん:2005/07/12(火) 15:24:06

ここから煽りタイムが始まるわけですね。わかってるよ

751デフォルトの名無しさん:2005/07/12(火) 15:30:13
自己解決しました
752デフォルトの名無しさん:2005/07/12(火) 16:16:13
まるであなたの書いたプログラムのようですね


まあ言おうとしている意図もわからず言葉の間違いだけを指摘してるコンパイラには何の期待もしてないけどね(藁
753デフォルトの名無しさん:2005/07/12(火) 16:16:18
教えてください。
TDateTime dt = TDateTime( "1999/01/01 00:00:00:00" );
上記のコードを英語OSで行うとエラーがでてしまいます。日本語OSは大丈夫です。
たぶん英語OSの日時の書式がMM/DD/YYになってるのが原因だと思うのですが
この書式を取得する方法を教えてください
754デフォルトの名無しさん:2005/07/12(火) 16:39:21
>>753
GetLocaleInfoから手作業で変換とか

ちなみに日本語WindowsでもMM/DD/YYYYに設定してるとEConvertError例外飛んでくるお
755デフォルトの名無しさん:2005/07/12(火) 16:47:42
>>749
ヘルプすら見ない香具師に言う資格ないと思うがな。


OnSetEditText
756デフォルトの名無しさん:2005/07/12(火) 17:44:05
>>754
あ、そうですね。英語日本語関係なく書式がMM/DD/YYYYになってると例外おきますねこれ。
GetLocaleInfoから変換を試みて見ます。ありがとうございました。
757740:2005/07/12(火) 19:49:09
>>743
なるほど、勉強になります。ありがとうございます!

>>745
そうですね。
Application->ShowMainForm=false;
ShowWindow(Application->Handle,SW_HIDE);
を使う方法もありますね。試してみたいと思います。
758みか:2005/07/12(火) 23:59:17
C++Builder5.5なんですがPanelを起動中にドラッグして動かせるようにするにはどうしたらいいですか?どなたか教えてください
759デフォルトの名無しさん:2005/07/13(水) 00:05:19
女の名前なら答えが返ってきやすいと思ったのかな。
みかだのレイナだのハゲワロスwww
760デフォルトの名無しさん:2005/07/13(水) 00:11:25
Archwayのソースから引用しようと思ったけど名前見てやめた。
761みか:2005/07/13(水) 00:38:23
レイナって誰ですか?本当にどなたか教えてください(;_;)
762デフォルトの名無しさん:2005/07/13(水) 00:44:13
びっくりするほどユートピア…
763デフォルトの名無しさん:2005/07/13(水) 00:51:23
>>761
こ  と  わ  る
764デフォルトの名無しさん:2005/07/13(水) 01:35:22
>758は見事な釣りだな。
765みかん:2005/07/13(水) 01:58:57
さっさとおしエログズども
766むか:2005/07/13(水) 03:07:26
C++Builder7なんですがPanelを起動中にドラッグして動かせるようにするにはどうしたらいいですか?どなたか教えてください 
767デフォルトの名無しさん:2005/07/13(水) 03:12:12
つっこまない。ぐっと我慢する。
768デフォルトの名無しさん:2005/07/13(水) 03:48:37
ドピュッ
769デフォルトの名無しさん:2005/07/13(水) 04:12:13
マウスで位置を移動する
http://tcnweb.ne.jp/~sumion/tips/panel.html
コンポーネント(コントロール)系の「マウスでコントロールの位置を移動する」とかぶってます が、こっちは全然楽 ですね。
これはMouseDownのイベントのみで出来ちゃいます。
770デフォルトの名無しさん:2005/07/13(水) 09:51:13
void __fastcall TForm1::Panel1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
ReleaseCapture( );
dynamic_cast<TPanel *>(Sender)->Perform( WM_SYSCOMMAND, 0xF012, 0 );
}
771ゲロ:2005/07/13(水) 18:32:10
C++Builder8なんですがPanelを起動中にドラッグして動かせるようにするにはどうしたらいいですか?どなたか教えてください
772沙織:2005/07/13(水) 19:31:28
C++Builder8.1Application Frameworks なんですがPanelを起動中にドラッグして動かせるようにするにはどうしたらいいですか?どなたか教えてください
773テルミ:2005/07/13(水) 20:19:27
C++Builder8なんですがPanelを起動中にドラッグして動かせるようにするにはどうしたらいいですか?どなたか教えてください
774満子:2005/07/13(水) 22:01:26
C+++++++++++++++++++++++Builder3.1415なんですがPanelを起動中にドラッグして動かせるようにするにはどうしたらいいですか?どなたか教えてください
775デフォルトの名無しさん:2005/07/13(水) 22:30:24
受けていると思って繰り返しているなら、やめたほうがよいぞ。
776デフォルトの名無しさん:2005/07/13(水) 23:25:24
なんか ネカマまつりになってしまった。
777デフォルトの名無しさん:2005/07/13(水) 23:26:02
777get
778デフォルトの名無しさん:2005/07/14(木) 02:56:24
>>777
俺の777返せ
779http://blog.livedoor.jp/junki560/:2005/07/14(木) 08:44:54
 
780デフォルトの名無しさん:2005/07/14(木) 09:45:20
↑の人って、質問しては荒らしていった例の人?
781デフォルトの名無しさん:2005/07/14(木) 10:12:20
 
782デフォルトの名無しさん:2005/07/14(木) 15:04:13
>>780
私怨?
783デフォルトの名無しさん:2005/07/14(木) 17:42:40
void __fastcall TForm1::ExcelApplication1NewWorkbook(TObject *Sender,
ExcelWorkbook *Wb)
{

}
784デフォルトの名無しさん:2005/07/15(金) 09:44:58
libファイルをプロジェクトに追加していたのものを
不要になってプロジェクトから削除したのですが、
メインプログラムを起動時に削除したDLLを要求されます。
他にもどこか変更しないとだめなんでしょうか?
785デフォルトの名無しさん:2005/07/15(金) 10:05:04
bpkファイル(テキスト)の中に記述があるならそれを
786デフォルトの名無しさん:2005/07/15(金) 10:06:17
bprだったかもw
787デフォルトの名無しさん:2005/07/15(金) 10:19:52
再構築すればいいんでねーの?
788デフォルトの名無しさん:2005/07/15(金) 12:20:39
785>>いけました!ありがとうございます。

787>>再構築だけだとダメみたいです
789デフォルトの名無しさん:2005/07/15(金) 18:16:22
 
790デフォルトの名無しさん:2005/07/15(金) 21:14:25
#define NO_WIN32_LEAN_AND_MEAN
791デフォルトの名無しさん:2005/07/18(月) 12:38:44
 
TJPEGImageを使うには、下準備が必要です。
ます、JPEGを使うユニットで”JPEG.hpp"をインクルードします。
次に#pragma link "jpeg"を追加します。
これは、TPicture::LoadFromFileを拡張して、jpegイメージを読みこめるようにするた めにはFakeInitJPEGLibメソッドを呼び出して、初期化する必要があるのですが、この 一行を追加する事によってBCBが初期化してくれます。
こっちの方が初期化のタイミングを考えなくて良いのでお勧めです。
これで、TPictureからも簡単にJPEGファイルを読みこめます。

#include <jpeg.hpp>
#pragma link "jpeg"

//Image1にimage.jpeを読みこみ表示する場合
Image1->Picture->LoadFromFile("image.jpg");

// TJEPGImageにimage.jpeを読みむ場合
// ↓の場合は初期化なしで読みこめます。
TJPEGImage* pJPEGImage = new TJPEGImage();
pJPEGImage->LoadFromFile("image.jpg");

保存も簡単に行えます。TImageに表示されたいるグラフィックをJPEG形式で保存する
場合は、TJPEGImageオブジェクトにAssignメソッドを使ってグラフィックをコピーして SaveToFileメソッドで保存します。
その時、JPEGのクオリティーはCompressionQualityプロパティで指定できます。

//Image1の画像をクオリティー50、ファイル名”image.jpg"で保存する
TJPEGImage* pJPEGImage = new TJPEGImage();
pJPEGImage->Assign(Image1->Picture->Graphic);
pJPEGImage->CompressionQuality = 50;
pJPEGImage->SaveToFile("image.jpg");
delete pJPEGImage;
792デフォルトの名無しさん:2005/07/20(水) 08:47:14
メーリングリストの鯖が落ちてる・・・
793デフォルトの名無しさん:2005/07/21(木) 19:06:28
プログラムの中で画像のオプション(「そのまま」「引き伸ばし」「中央に置く」)
を指定してImageListに画像を追加する方法ってありますか?
ググッっても、ヘルプを調べても出てきません…
794デフォルトの名無しさん:2005/07/21(木) 20:49:28
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphics::TBitmap* tb = new Graphics::TBitmap;

ImageList1->GetBitmap(0, tb);
Image1->Picture->Bitmap = tb;
delete tb;
}
795デフォルトの名無しさん:2005/07/22(金) 00:34:50
教えてください。
ListView1->Items->Item[i]->SubItems->Strings[3]にファイルサイズ(バイト単位)が入っています。
これを操作するためにAnsiStringから__int64に変換するにはどうしたらいいでしょうか。
796デフォルトの名無しさん:2005/07/22(金) 00:38:32
>>795
StrToInt
797795:2005/07/22(金) 00:49:01
>>796
あーそうか、StrToInt64を使えばいいのか。
ToIntばかり考えてました。
ありがとう。
798デフォルトの名無しさん:2005/07/22(金) 03:59:07
QuickReport関連コンポーネントの使い方とか、簡単な解説が載ってるサイトってありませんか?
もしくはお勧めの書籍を教えてください。
799793:2005/07/22(金) 11:04:57
>>794
画像のオプションを指定しなくても、
tbを編集してImageList1に追加すればいいということですね。
ありがとうございます!
800デフォルトの名無しさん:2005/07/22(金) 11:10:46
ListViewにアイテムを追加するために、

for(int i = 0; i < 5; i++)
ListView1->Items->Add()->ImageIndex = i; //ImageIndex=0〜4のアイテムを追加

とやっているんですが、個々のアイテムのCaptionも0〜4と指定するには
どうすればいいですか?
801デフォルトの名無しさん:2005/07/22(金) 11:43:33
>>798
ttp://www.cutt.co.jp/book/4-87783-063-4.html
これくらいしか無いと思う。
802デフォルトの名無しさん:2005/07/22(金) 13:55:39
>>801
資料少ないですよねぇ・・・
みなさん、どうやって使い方覚えたんでしょう
本屋行ってみます
803デフォルトの名無しさん:2005/07/22(金) 16:49:43
>>800
for (int i = 0; i < 5; i++) {
  TListItem* item = ListView1->Items->Add();

  item->ImageIndex = i;
  item->Caption = IntToStr(i);
}
804デフォルトの名無しさん:2005/07/22(金) 20:19:37
805デフォルトの名無しさん:2005/07/23(土) 17:24:30
TDateTime型を使って現在時刻を取得したんだが、
0:00:00ピッタリの時は時刻が入ってなかった(´・ω・`)

通常だと"2005/07/23 12:34:56"みたいな感じに入っているけど、
0時のときは"2005/07/23"だけだな

ガイシュツかもしれんが、知らない人は気をつけてくれ

ついでに、0時〜9時59分までは1桁少ないのもミソ
806デフォルトの名無しさん:2005/07/23(土) 18:08:37
Delphi だと TDateTime は Double 型なんで 少数点以下が時刻で整数部分は日にち。
だから、入ってないとかいうことはない。文字列に移すときだけの問題。
807デフォルトの名無しさん:2005/07/23(土) 18:47:37
Caption = Format("%2.2d", OPENARRAY(TVarRec, (5))); //05
808デフォルトの名無しさん:2005/07/23(土) 18:49:10
数値をカンマ形式に変換したいのですが?


FormatFloat 関数を使用すれば簡単に実現できます。


// 9,000 の値で表示される
ShowMessage( FormatFloat( "#,###,###", 9000 ));
809デフォルトの名無しさん:2005/07/23(土) 18:50:29
Caption = Format("%2.2d", OPENARRAY(TVarRec, (0))); //00
810デフォルトの名無しさん:2005/07/23(土) 19:13:49
Caption = EncodeDateTime(2005, 7, 23, 0, 0, 0, 0).FormatString("yyyy/mm/dd hh:nn:ss");
811デフォルトの名無しさん:2005/07/23(土) 19:40:17
>>808
Caption = CurrToStrF(9000 , ffNumber, 0);
812デフォルトの名無しさん:2005/07/23(土) 21:12:08
>805は何かの勘違いだろ。
時刻が入っていないという表現も意味不明だし。
TDateTime i=Now();したとき
iの整数部だけ置き換わって、小数部は変化しないことを確認したとでもいうのか。
813デフォルトの名無しさん:2005/07/23(土) 22:59:48
いや意味わかるけど。
Caption = EncodeDateTime(2005, 7, 23, 0, 0, 0, 0).DateTimeString();
としたとき、文字列に時刻部分が含まれてないってこったろ。
814デフォルトの名無しさん:2005/07/24(日) 01:16:44
そこで、FormatString()ですよ。
815デフォルトの名無しさん:2005/07/24(日) 04:37:03
Caption = Now().FormatString("yyyy'年'm'月'd'日('ddd') 'hh'時'nn'分'ss'秒'");
816デフォルトの名無しさん:2005/07/24(日) 05:44:06
攻撃されています、解説してください宜しくお願いします

[whois.apnic.net node-1]
Whois data copyright terms http://www.apnic.net/db/dbcopyright.html

inetnum: 220.151.0.0 - 220.151.255.255
netname: usen
descr: U's Communications Corp.
descr: 9-1 Shinsen-cho, Shibuya-ku, Tokyo
country: JP
admin-c: JNIC1-AP
tech-c: JNIC1-AP
status: ALLOCATED PORTABLE
remarks: Email address for spam or abuse complaints : [email protected]
mnt-by: MAINT-JPNIC
mnt-lower: MAINT-JPNIC
changed: [email protected] 20040722
source: APNIC
817デフォルトの名無しさん:2005/07/24(日) 05:45:12
inetnum: 220.151.241.0 - 220.151.241.255
netname: ITS-NET
descr: ITS Co.
country: JP
admin-c: AY1568JP
tech-c: YH5793JP
remarks: This information has been partially mirrored by APNIC from
remarks: JPNIC. To obtain more specific information, please use the
remarks: JPNIC WHOIS Gateway at
remarks: http://www.nic.ad.jp/en/db/whois/en-gateway.html or
remarks: whois.nic.ad.jp for WHOIS client. (The WHOIS client
remarks: defaults to Japanese output, use the /e switch for for
remarks: English output)
changed: [email protected] 20050112
source: JPNIC

818デフォルトの名無しさん:2005/07/24(日) 06:08:14
stlのstringとAnsiStringの違いを教えてくだすれ
819デフォルトの名無しさん:2005/07/24(日) 07:16:17
std::stringは、C++標準ライブラリの文字列。std::basic_string<char>をtypedefしたもの
AnsiStringは、Delphi形式の(長い)文字列。VCLとのやりとりはこれが使われる。

STLとは、(一般的には)C++標準ライブラリのうち、templateを使って構成された
コンテナ(vector,list等)とアルゴリズムの総称。
C++標準ライブラリであったとしても、例えtemplateで作られていたとしても
iostream,string,complex等は、(一般的には)STLとは呼ばない。
http://www005.upp.so-net.ne.jp/episteme/html/stlprog/
http://www005.upp.so-net.ne.jp/episteme/html/stlprog/string.html#string
820デフォルトの名無しさん:2005/07/24(日) 13:01:21
ついでにBCBのiostreamはストリーミング演算子の右辺値としてAnsiStringが使える。
821805:2005/07/25(月) 17:44:15
亀レスでスマソ
>>813に似てるかな(同じになるんかな?)
AnsiString aaa = TDateTime(〜, 〜, 〜, 〜);
ってな感じに使ってた
んで、これのaaaの中身が0時の時だと時分秒が
入ってないってことね
>>806が言ってる小数部が0だとこうなるんかな?

TDateTimeがdoubleだとはしらなんだ
dクス
822デフォルトの名無しさん:2005/07/25(月) 22:20:19
823デフォルトの名無しさん:2005/07/25(月) 23:40:25
↑この人って例の質問しては荒らしていったあの人?
824デフォルトの名無しさん:2005/07/26(火) 05:40:07
そのレスはセットになってんの?
825デフォルトの名無しさん:2005/07/26(火) 08:41:03
次から >>822->>824 がセットになる悪寒
826デフォルトの名無しさん:2005/07/26(火) 15:58:36
BCB5 で ActiveX DLLを使おうとしたら、パラメータの省略方法が
分かりませんでした。

Sub Read(ByVal Code As String, [ByVal Delivery As Date], [ByVal Strike As Double])

このメソッドを後ろ2つのパラメータを省略して呼び出したいのですが
どうすればいいのでしょうか?
827デフォルトの名無しさん:2005/07/26(火) 18:33:37
Subってなんだ
828デフォルトの名無しさん:2005/07/26(火) 18:59:38
>Subってなんだ

ActiveX DLL のメソッドの説明がVB風になっていたという話です。
sub はsubroutineのことです。
829デフォルトの名無しさん:2005/07/26(火) 20:22:22
EmptyParam渡しても引数がVariantじゃないからやっぱ駄目なのかな。
Delphiは>>826みたいのは省略できず、全部指定しないと駄目とどっかに書いてあった。BCBもそうかも?
830デフォルトの名無しさん:2005/07/26(火) 20:25:53
引数がVariantか文字列の時はサンプルが見つかったんですが。
831デフォルトの名無しさん:2005/07/27(水) 01:30:37
832デフォルトの名無しさん:2005/07/27(水) 06:08:48
私自身 C++ Builder 6 のファンなんでかが 皆様はどういった 理由で
ユーザさん ですか ご教授下さいませ。
833デフォルトの名無しさん:2005/07/27(水) 06:16:23
ご教授という言葉をネットで使う奴は
なぜか大抵日本語が変。
834デフォルトの名無しさん:2005/07/27(水) 17:16:06
>>832
誤爆だろ
こちらへドゾ つ ttp://pc8.2ch.net/test/read.cgi/prog/1121498900/
835デフォルトの名無しさん:2005/07/27(水) 19:11:47
>>832
朝鮮人はどっか逝け。
836デフォルトの名無しさん:2005/07/28(木) 00:27:37
フリーコンパイラで、ウィンドウを表示するだけのプログラムをコンパイルしようとしたら、外部シンボル'_main'が未解決(cox32.objが参照)・・・って出てコンパイルできません。どうしてでしょうか?
837デフォルトの名無しさん:2005/07/28(木) 00:37:51
>>836
WinMain()から始まるプログラムには-Wオプションを指定する必要がある。
838デフォルトの名無しさん:2005/07/28(木) 00:41:41
スレ違い。こっち。

タダで使えるBorland C++ Part4
http://pc8.2ch.net/test/read.cgi/tech/1091066805/l50
839デフォルトの名無しさん:2005/07/28(木) 02:52:07
Shareみたいなリストビューのツールチップのカスタマイズのやり方が分からない。
普通のコントロールのツールヒントはできたんだけど・・・。
ShareはGUIも凝ってて凄いな。
840デフォルトの名無しさん:2005/07/28(木) 03:52:03
Shareのコンポーネントが欲しい・・・
841デフォルトの名無しさん:2005/07/28(木) 11:57:18
>>837-838 dです
842デフォルトの名無しさん:2005/07/29(金) 15:20:04
TListView上のアイコンをドラッグ&ドロップしてそのアイコンが指すファイルをエクスプローラ(デスクトップとか)に落とすにはどうすればいいですか?
843デフォルトの名無しさん:2005/07/29(金) 17:17:32
みんなって 何がほしい
844デフォルトの名無しさん:2005/07/29(金) 19:09:01
>>842
DoDragDrop()、IDropSource
845デフォルトの名無しさん:2005/07/31(日) 11:33:24
マルチスレッドやるんでスレッドオブジェクトを新規作成したんですが
これらの異なるユニットで共有するグローバル変数は
どのように定義したら良いのですか
846デフォルトの名無しさん:2005/07/31(日) 11:35:36
TThread 派生クラスそのものはメインスレッドのもの。そのフィールド変数でOK。排他を忘れずに
847845:2005/07/31(日) 11:51:35
>>846
早々とありがとうございます
すいません、具体例をいただけますか?
848デフォルトの名無しさん:2005/07/31(日) 13:27:23
まいったなあ
D5+BCB5で何の不満もなくて来てたんだけど、
パソコンを 2000からXPのに買い換えたら(もはや2000の選択枝はない)

DLLのデバッグが出来なくなってしまった。 D5からもBCB5からも出来ない。
D5は出来ないというFAQがあったから覚悟してたしD7買ってHDDのこやしにしてたから
D7にゆっくり移動しようと思うのだけど、

BCBって最新バージョンが6だよね? Delphiとバージョンが合わないと不便そうに思うのだけど、
そこらへん大丈夫なんだろうか?
win2000に戻そうと別のHDDにMSDNからインストールしようとしたけど
許諾書が無いとかでインストールできないし、困ったなあ・・・・・

>>847
だから、スレッドってのはメモリについてはタスク全体で共有される=同じメモリ空間だから
特にややこしい定義が必要なわけじゃない。普通に定義すればいい。

ただ、両方から読み書きするようにはしないほうがいい。
volatile宣言して、片方からだけ読むように。
849デフォルトの名無しさん:2005/07/31(日) 13:56:23
dcc32.dll入れ替えてDel7のVCLソースから再ビルド(ry

ライセンス的に大いに問題ありそうだけどな⊂(。Д。⊂⌒`つ
850848:2005/07/31(日) 14:53:00
ダメだ。 win98を先にインストールしてからwin2000のsetupを実行してやろうと
したけど、Win98インストール中にキーボードやマウスを認識しなくなる。
win2000はどうも俺のスキルじゃインストール出来ないや。


BCB6の英語版トライアルを落としてみて XPで DLLのデバッグが出来るようならBCB6を
購入するしかないか。
ってわけで、アップグレードの申込書捨てちゃった。 アップグレード代っていくらだったっけ?

アップグレードまで時間がかかりそうだから、
DLLのデバッグだけなんで、BCB6 Personal で間に合わせるとしたら、
「実行中のプロセスへのアタッチと・・・」 ってDLLデバッグはPersonal じゃ出来ないって事なのかな?

ああ、わからん
851848:2005/07/31(日) 15:33:45
BCB6の英語版トライアルで試した結果、
6ならXPでもDLLのデバッグが出来る様子。 HostApplicationを指定して確認した。

D5の http://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=37 
>DLL にブレークポイントが設定できない
>今までWin2000 + Del5Entの環境で開発していました。
>OSをWinXPに変えたところ、DLLのデバッグができなくて困っています。
>D5 + WinXP では DLL のデバッグができないようです。
と同じ結果みたい。

852asshole:2005/07/31(日) 16:01:30
>>842
SHELLについて勉強してみてください
あとCOM(OLE)にも関係があります 
インターフェイスって利用した事はあるでしょうか
比較的横の知識が要る部類に入ると思います 
Delphiのテキストに参考になるものがありました
ttp://forum.nifty.com/fdelphi/samples/01406.html
853asshole:2005/07/31(日) 16:40:40
indy9をbcb5で利用してもとくに問題は見つからない(見つけきれない?)
のですが
bcb6でindyを使うと TTCPServerがちゃんと動かない不具合があるのですが
何方か対処法ご存知ないでしょうか
こんなことがおきました
TTCPServer.Active := true/falseどちらでもいいです
オブジェクトインスペクタからのプロパティーの操作に関しては
ちゃんと実行時にもその値が反映されていて問題ないように見えるのですが
その状態より先は(いったん実行してしまうと)プロパティーにアクセスしても何の反応もしません
なので正常な終了は当然できません
もちろんそのインスタンスを作ってもやはり何も反映されていないようで(Activeにできない)
ただのメモリの塊ができるだけで どう利用したものか・・・
よろしくお願いします

854800:2005/07/31(日) 16:42:42
>>803
うお!できた。
ありがとうございます!
855デフォルトの名無しさん:2005/07/31(日) 18:24:27
学生の名前と成績で構成される構造体を使って、
一クラス分の表を表示するプログラムを作りたい。
しかし、「学生数は最初に入力するものとする」と
指定されているのです。
これって構造体をいくつ用意すればよいかわからないってこと??
こんな場合どうすれば??
856デフォルトの名無しさん:2005/07/31(日) 18:33:13
>>855
スレ違い宿題スレ池
#include <vector>

class Student { <略> };

std::vector<Student> s;
for(int i=0; i<student_num; i++) {
  Student _s;
  _s.name = "ひろゆき";
  <略>
  s.push_back(Student);
}
857デフォルトの名無しさん:2005/08/01(月) 00:14:05
>>853
とりあえずIndy作ってるとこに連絡

英語であれこれ書くよりも問題のコードを提示した上で
このコードはBCB5では動くけど6ではここが問題だとか書いておく。

コードは、例えばボタンクリックイベント内に必要なものを全部書いて、
向こうがそれだけでコンパイル/問題をチェックできるようにしておいた
ほうがいい。
858デフォルトの名無しさん:2005/08/01(月) 01:17:45
つーか今Indy10になってるし、BCB6は見捨てられてるっぽ・・・・
859デフォルトの名無しさん:2005/08/01(月) 22:26:19
今日、本屋に行ったらVS2005の解説本が売っていた。

ぱらぱらめくったら結構良さそうだった。
つーか、BCB と作ってる人同じなんだから、
もうC#でもいいじゃんって気がしてきた。

このままではVS2005に乗り換えそうだYO!!

BCB9の続報でてないですかねぇ・・・orz
860デフォルトの名無しさん:2005/08/02(火) 02:02:20
>BCB と作ってる人同じなんだから
大きな間違い。

しかし、いろんなツールを使うことは悪いことではないので、VS に乗り換えたら?
861デフォルトの名無しさん:2005/08/02(火) 02:31:22
まぁ、BCBに未来がないことは確かだ。
862デフォルトの名無しさん:2005/08/02(火) 06:19:57
道具に未来が無いんじゃない。 そんな思考のあなたに未来が無いって可能性は?
863デフォルトの名無しさん:2005/08/02(火) 06:23:53
むしろ道具の未来を考えない人の未来は危うい
864デフォルトの名無しさん:2005/08/02(火) 06:32:24
未来未来ばぁ〜
865デフォルトの名無しさん:2005/08/02(火) 07:20:07
俺はBCBを使い続けるお
866デフォルトの名無しさん:2005/08/02(火) 08:28:35
道具に使われてるやつはダメだ
道具を選べないような仕事をしてるやつもダメだ
結局は労働者じゃダメさ
867デフォルトの名無しさん:2005/08/02(火) 08:48:39
働いたら負けだと思っている
868デフォルトの名無しさん:2005/08/02(火) 09:19:27
>>860
どのへんが?どっちも Anders Hejlsberg ちゃうの?
869デフォルトの名無しさん:2005/08/02(火) 10:05:09
それはDelphi
870デフォルトの名無しさん:2005/08/02(火) 10:06:43
ま、DelphiのRADそのものが、元々VBを真似たものだしな。
871デフォルトの名無しさん:2005/08/02(火) 10:07:45
RADという概念はVBとは関係ないだろ。
872デフォルトの名無しさん:2005/08/02(火) 10:51:05
>>870
画面にコンポーネントを貼り付けて、イベントドリブンな組み方をする所が、
DelphiはVBの猿まねだって言ってんだよ。
873デフォルトの名無しさん:2005/08/02(火) 10:51:34
ありゃ
×>>870
>>871
874848:2005/08/02(火) 11:24:37
>>851のそれから

BCB6の英語版トライアルをインストールしてから
BCB5GUIでコンパイルしようとするとリンカでLME279・LME347が出るようになった。
直接 BCC32を呼び出せば出ないけど・・・・
875デフォルトの名無しさん:2005/08/02(火) 20:09:46
>>872
画面にコンポーネントを貼り付けて、イベントドリブンな組み方をする所が、
VBはFM-TOWNS Gearの(ry

…いや実際、TOWNS Gearは言語もBASICだったしボソボソ
876デフォルトの名無しさん:2005/08/02(火) 20:17:08
見かけと真の 2-way-tool を混乱するところが厨だな
877デフォルトの名無しさん:2005/08/02(火) 21:02:26
どっちが先かなんてどうでもいいんだよ。
例えばWindowsは何のマネか、なんてどうてもいいこった。逆に
Macはそんな話に花が咲いてるこったろう。
そういう議論してる時点で、もうエピローグは始まってんだって。
878848:2005/08/02(火) 21:51:50
>>874
BCB.exeを  ”互換モードでこのプログラムを実行する” にチェックを入れていた為に
起きた問題でした。

DLLのデバッグが出来ない為に、色々試していて元に戻すのを忘れていたようです
879デフォルトの名無しさん:2005/08/03(水) 08:25:36
>872
Winアプリ作るのにイベントドリブンじゃない方法って何だろう(*´・ω・)(・ω・`*)ネー
880デフォルトの名無しさん:2005/08/03(水) 08:35:53
ヒント:「画面にコンポーネントを貼り付けて」「イベント関数自動生成」

VBの構想自体誰でも思いつくものなので、猿真似とは俺は言わぬが。
881デフォルトの名無しさん:2005/08/03(水) 10:55:22

VC++でもダイアログベースで、画面に貼り付けるんだが。
ということは、
VC++もVBの猿真似になるわけかw
882デフォルトの名無しさん:2005/08/03(水) 11:40:51
あまり正確な論理でいじめると
何一つ言えなくなってAA荒らしに移行するだろうから
ほどほどにな。
883デフォルトの名無しさん:2005/08/03(水) 12:55:53
少なくとも>>881は正確な論理ではないわけだが。MicrosoftがMicrosoftの真似ですか。
884デフォルトの名無しさん:2005/08/03(水) 13:04:58
>VC++もVBの猿真似になるわけかw
こうなれば理想郷だったのに、VC++は全くVisual系じゃなかた。
m$的にもC++を撃沈出来てブビチュウを増やせておk、だったらしい。
が、失敗はブビチュウが生育せずキラーアプリを作れない厨でしかなかったこと。
で、ドトネトでブビチュウを廃棄するんだって。
885デフォルトの名無しさん:2005/08/03(水) 13:30:42
C#。
886デフォルトの名無しさん:2005/08/03(水) 14:36:38
BCB/Delphi/VCL/VCL.NETは独自路線だけど、C丼よりはC++である分使いまわし利く。
887デフォルトの名無しさん:2005/08/03(水) 14:51:03
ていうかネイティブコンパイラ以外使い道がない
888デフォルトの名無しさん:2005/08/03(水) 17:01:31
>>883
放っておいたら「地球人が地球人の真似ですか」とか言いそうだね。
889デフォルトの名無しさん:2005/08/03(水) 17:06:04
そろそろ↓へ

ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その24
http://pc8.2ch.net/test/read.cgi/tech/1120195090/
890デフォルトの名無しさん:2005/08/03(水) 18:08:25
>>83
必死すぎ(w
891デフォルトの名無しさん:2005/08/03(水) 18:12:14
×>>83
>>883
892デフォルトの名無しさん:2005/08/04(木) 19:06:43
質問です。タイトルバーにアイコンの出るプログラムを実行させようと思っています。
作業しているディレクトリには、icon1.ico、test.cpp、test.exe、test.obj、test.rc
があります。
borland c++ builder 6.0 Professionalのbcc32とbrc32を使って
実行ファイルにリソースのリンクがうまくできないのはなぜですか?

Borland C++ builder 6.0 Professionalで
bcc32 -W test.c でコンパイルした後、
brc32 test.rc test.exeとリソースを実行ファイルに結合します。
リソースのコンパイル、リンクではエラーも何もなしに成功します。
test.exe   で実行してみるとアイコンが表示されません。
しかし、Borlandの無料配布されているコンパイラで
同じようにコンパイルした後、リソースをbrc32 test.rc test.exeで結合
するとうまくタイトルバーにアイコンが表示されます。
Professionalで生成した実行ファイルもリソースがちゃんとリンクされていないのか
ファイルサイズも小さいです。
C++ builderのbcc32のバージョンは、5.6.4です。
無料のコンパイラの方は、5.5.1です。
OS:windows XPです。

893デフォルトの名無しさん:2005/08/04(木) 21:55:19
>>892
readme.txt > 注意事項: 一般 > リソーススクリプトファイル (.rc ファイル) を含むプロジェクトの構築時の問題
894デフォルトの名無しさん:2005/08/05(金) 11:39:52
質問です。
C++Builder6(Update#4)でGIFファイルを扱おうと思い、
ttp://www.delphi32.com/vcl/673/
から取ってきた(有名らしい)Anders Melanderさん作のライブラリを
コンポーネントのインストールにてインストールしたのですが、
リンク時に下のようなエラーが出て実行できません。

[リンカ エラー] 未解決の外部参照 '__fastcall Gifimage::TGIFImage::~TGIFImage()' が C:\PROGRAM FILES\BORLAND\
CBUILDER6\PROJECTS\BITMAP\VCLUTILS.OBJ から参照されました
[リンカ エラー] 未解決の外部参照 'Gifimage::TGIFImage::' が C:\PROGRAM FILES\BORLAND\
CBUILDER6\PROJECTS\BITMAP\VCLUTILS.OBJ から参照されました
[リンカ エラー] 未解決の外部参照 '__fastcall Gifimage::TGIFImage::TGIFImage()' が C:\PROGRAM FILES\BORLAND\
CBUILDER6\PROJECTS\BITMAP\VCLUTILS.OBJ から参照されました

vclutls.cppは、Unit1.cppとは別のファイルで、プロジェクトに後から追加したものです。
この中でTGIFImageを使うと、このようなエラーが出ます。
Unit1.cppで使うとなぜかエラーが出ないのですが、分割コンパイルにしたくて、別ファイル
の中で使いたいのですが、無理なんでしょうか?
895894:2005/08/05(金) 12:05:59
現在のworkaroundは、Unit1にダミーのTGIFImageを扱う関数(実際は呼び出しません)を
置いてコンパイルして、リンカエラーを回避しています。
896デフォルトの名無しさん:2005/08/05(金) 12:49:59
解決方法は(有名らしい)あそこを参照
897894:2005/08/05(金) 12:50:48
失礼しました。結局、Unit1.hppに、
#include "gifimage.hpp"の一行を書くだけで解決するようですので、
当分これで行こうと思います。
リンクの順番を変えたらうまく行くのかもしれませんが、こちらの方が簡単
そうですので。

それと、Unit1にダミーの関数を置かなくてもいいようでした。
898894:2005/08/05(金) 12:53:09
>>896
あそこ?すみません、ちょっとわかりません。
原因は、恐らく、元々のTGIFImageライブラリがDelphi用に書かれているため、
分割コンパイルに対応してないせいかと思ったりしています。
もしよろしかったらURLを教えてください。。
>>5のどれかだと思うのですが・・・・
899デフォルトの名無しさん:2005/08/05(金) 13:21:34
>Delphi用に書かれているため、
>分割コンパイルに対応してないせいかと思ったりしています。
???
900デフォルトの名無しさん:2005/08/05(金) 16:21:41
OpenDialogで開かれるディレクトリを指定したいのですが、うまくいきません。
OpenDialog1->InitialDirに開かせたいパスを指定しているのですが、そのディレクトリを開いてくれるのは最初だけで、
二回目からは、前回ファイルを選択したディレクトリが開かれてしまいます。
OpenDialog1->Execute()をする前にInitialDirにパスを再度指定したり、SetCurrentDirectoryでカレントディレクトリを設定したりしても、
二回目以降は、前回開いたディレクトリが初期のディレクトリになってしまいます。
何か方法はないでしょうか?
901デフォルトの名無しさん:2005/08/05(金) 16:25:02
InitialDirはその名の通り最初だけ
FileNameにフルパス入れればいけなかったっけかこれって
902デフォルトの名無しさん:2005/08/05(金) 16:37:47
>>901
FileNameに入れたら出来ました。ただし、
"C:\\1\\2"だと1が開かれて、入力欄に2が入ります。
"C:\\1\\2\\"だとファイルを開くダイアログボックス自体が起動しません。

なので、

"C:\\1\\2\\*"みたいな感じでやってますが、なんかスマートじゃないですよね。(*の部分は何でもいい)

ここら辺で妥協するしかないですか?
903デフォルトの名無しさん:2005/08/05(金) 17:29:13
>>902
MSDNのOPENFILENAME構造体のlpstrInitialDirの説明を見るといい。
Win2K/XPの場合、初期ディレクトリはInitialDirよりFileNameのパスが優先される。
だからFileNameに何か入れるんじゃなくて、消してから開けばInitialDirで指定したところが開くようになる。
904デフォルトの名無しさん:2005/08/05(金) 17:47:53
>>900-903
保存用。

>>903
返答ありがとうございます。試してみます。
905デフォルトの名無しさん:2005/08/07(日) 00:44:17
bcb6のソースコードから仕様書を出力するようなツールはありますか?
有料でもよいです
906デフォルトの名無しさん:2005/08/07(日) 03:01:32
doxygen使っとけ
907デフォルトの名無しさん:2005/08/07(日) 10:18:41
908デフォルトの名無しさん:2005/08/07(日) 13:47:44
あまり自動化にばかり頼ってると、いざという時に>>905自身が無能になるぞ。
Doxygenを試用して笑って捨てる気持ちでいないとな。
909デフォルトの名無しさん:2005/08/07(日) 16:58:31
__propertyキーワードを付けて作ったプロパティを別ファイルに置いて、
分割コンパイルすると、リンカエラーが出ます。

具体的には、

class Class {
 int get();
public:
 __proprety int data[int x] = {read = get};
};

をfile2.h とし、file2.cppで、このクラスを定義します。

file1.hでfile2.hをインクルードし、file1.cpp内でこのプロパティdata[]を
使おうとすると、

[リンカ エラー] 未解決の外部参照 'Class:get(void)' が FILE1.OBJ から参照されました
と言われてしまい、先に進めません。どうすればうまく分割コンパイルできますか?
910デフォルトの名無しさん:2005/08/07(日) 17:01:38
×__proprety
○__property

ただのtypoですすみません。元のプログラムではちゃんと正しく書いています。
911デフォルトの名無しさん:2005/08/07(日) 17:13:55
単にfile2.objをリンクしてないだけじゃ?

いちいちリンク書くの面倒なら#pragma linkでもつかっとけ
912デフォルトの名無しさん:2005/08/07(日) 19:09:38
>>911
file2もプロジェクトに追加していますから、間違いなくリンクされているはずです。
file1からはfile2にある他の関数もいくつか呼び出しており、そちらはリンカエラー
にならない事から、リンクはされていると思います。

__propertyだけがおかしな動きをするので困ってました。もう少しぐぐって調べて
みます。ありがとうございました。
913912:2005/08/07(日) 19:21:01
何度も済みません。突然解決しました。

初歩的ミスでした。inline定義してました。ごめんなさい。

それか、ClassをTObjectからpublic派生させ、__property宣言部分を
__published:部に入れ、get()を__fastcall呼び出し規約にしてもOKな
ようです。お騒がせしました。
914デフォルトの名無しさん:2005/08/09(火) 15:49:18
int aa = 0xFFFFFFFF;
AnsiString buf = Format( "%d", ARRAYOFCONST((aa)) );
これでaaをunsigned intで文字列に変換したいのですが、キャストを行うとコンパイルエラーがでます。
どう記述したらいいですか?
915デフォルトの名無しさん:2005/08/09(火) 15:58:47
AnsiString buf.sprintf("%u", aa);
916デフォルトの名無しさん:2005/08/09(火) 16:05:31
AnsiString buf = AnsiString().sprintf("%u", aa);
917デフォルトの名無しさん:2005/08/09(火) 16:09:37
>>915-916
ありがとう!!
なるほど、そういえば%uってあったんだ・・
918デフォルトの名無しさん:2005/08/09(火) 18:00:07
StringGridのコピーを保存したくて
CopyGrid = new TStringGrid(this);
CopyGrid->Assign( StringGrid );
としたのですが、実行時にエラーになります。
Assignみたいな感じでグリッドをまるまんまコピーする方法を教えてください
919デフォルトの名無しさん:2005/08/10(水) 12:08:42
配列バリアントの要素数を返す関数ってないですか?
920データボックス:2005/08/10(水) 12:10:41
C++ Builderなら、イベントハンドラにC言語のソースコードを差し込むだけでもプログラムが作れるようだな。
921デフォルトの名無しさん:2005/08/10(水) 13:22:51
UTF-8でエンコードされているテキストファイルを
StringGridで表示させるにはどうしたらいいのでしょうか?
Utf8ToAnsiを使用しても文字化けが起こってしまうのですが
922デフォルトの名無しさん:2005/08/10(水) 13:41:01
どう化けるのか分からんが、
>UTF-8でエンコードされているテキストファイルを
先頭2バイトはUTF-8であることを示す余分な文字コードが入っている。
923デフォルトの名無しさん:2005/08/10(水) 16:08:09
TOpenDialogのOnTypeChangeイベント内で
現在ダイアログに表示されているフォルダを変更する方法を教えてください
924デフォルトの名無しさん:2005/08/10(水) 19:12:37
\source\vcl\rtlconsts.pasのresourcestring節のメッセージを自作C++クラス内で使いたいのですがどうすればいいのでしょうか?
VCLソース上ではException.CreateResFmtメソッドを読んでいる様なのですがBCBのヘルプ上ではCreateResFmtが載ってないようですorz
925デフォルトの名無しさん:2005/08/10(水) 19:50:56
>>924
例えば SAncestorNotFound なら、

#include <RTLConsts.hpp>

AnsiString hoge = Rtlconsts_SAncestorNotFound;
926924:2005/08/10(水) 21:36:45
>>925
ありがとうございました
そんなところにマクロが定義されてたのね_| ̄|○
927デフォルトの名無しさん:2005/08/12(金) 07:34:06
ど素人なもんでよくわかりません。助けてください。


MainMenu1のメニューデザイナで「バージョン情報」というのを作り、
「ファイル」→「新規作成」→「フォーム」→「バージョン情報」で作って
Unit2で保存しました。実行できたのですが
しかし、このUnit2関連のファイル全てを間違えて消してしまい
Unit1関連のものしかありません。

実行するとUnit2.hが開けないとのエラーがでます。

そこでUnit2だけ、作り直そうと思ってこの「バージョン情報」をMeinMenu
から消したり、ソースコード中のUnit2の名前がある部分を全て消したら、
もっと意味不明になりました・・・。

どうしたら「バージョン情報」の部分がなおるか教えてください。
928927:2005/08/12(金) 08:42:04
書き忘れました。すいません
Unit2のファイルはUnit1とは違う別のフォルダに入ってて、そのフォルダを
消してしまった、ということです。
929デフォルトの名無しさん:2005/08/12(金) 09:10:17
プロジェクトを作り直してUnit1をコピーしたらどう?

というか、ソースファイル名は意味のある名前で作ろうよ
930デフォルトの名無しさん:2005/08/12(金) 10:17:35
>>927
bprファイルをエディット。BCBのプロジェクトは糞だから、これぐらいは
出来るようになっておくと幸せになれる。
931デフォルトの名無しさん:2005/08/12(金) 10:30:31
というかUnit1.cppの「#include "Unit2.h"」を消せばいいだけな様な気が‥‥
932927:2005/08/12(金) 12:22:32
>>931
消すと
「The requested file does not exit. You may creat one of the following file tuypes instead」

ってでてきます、

これをキャンセルすると

「Cannot open file C:テスト\Unit2.cpp」

とでてきます・・・


よくわかりません・・・
933デフォルトの名無しさん:2005/08/12(金) 13:11:31
>>932
bprファイルをメモ帳などで開いて、
<PROJECT>
<MACROS>
<VERSION value="BCB.06.00"/>
<PROJECT value="Project1.exe"/>
<OBJFILES value="Project1.obj Unit1.obj Unit2.obj"/>

の Unit2.obj というのを削除してみろ。
934927:2005/08/12(金) 14:33:57
<?xml version='1.0' encoding='utf-8' ?>
<!-- C++Builder XML Project -->
<PROJECT>
<MACROS>
<VERSION value="BCB.06.00"/>
<PROJECT value="Project1.exe"/>
<OBJFILES value="Project1.obj Unit1.obj ..\テスト\Unit2.obj"/>

自分の場合は↑のようのなってました・・


そして消したら
「project rule not found」
とエラーがでました・・・
935デフォルトの名無しさん:2005/08/12(金) 15:01:06
>>934
どんな風に消したか、編集後も見せてくれ
936927:2005/08/12(金) 17:17:06
ありがとうございます、解決できました。

ついでといってはなんですけど


新規作成→フォーム→バージョン情報で
バージョン情報フォームができますが、
実行後、保存して終了して、またこのフォーム
を編集したいのですが、
このバージョン情報フォームを開くには
どうすればいいのですか?












937デフォルトの名無しさん:2005/08/12(金) 17:24:42
>>936
知らん。どう解決したかも開示しない奴に教えない。
938936:2005/08/12(金) 17:32:00
>>937
あなたに教えてくれとは一言も言っていません。
どなたか教えてください。
939デフォルトの名無しさん:2005/08/12(金) 18:01:00
>>938
脱!教えて君同盟でググれ。
940デフォルトの名無しさん:2005/08/12(金) 18:01:48
>>938
クレクレ厨は氏ね
941デフォルトの名無しさん:2005/08/12(金) 18:19:18
>>940
必死だなwwwpgr
942デフォルトの名無しさん:2005/08/12(金) 18:57:25
お盆だねぇ
943936:2005/08/12(金) 20:43:57
938は偽物です。どなたか教えてください。

それとも誰も知らないんですか?
944デフォルトの名無しさん:2005/08/12(金) 21:00:22
煽るなやw
945デフォルトの名無しさん:2005/08/12(金) 21:05:02
知らないから答えられないんだろお前らw
946デフォルトの名無しさん:2005/08/12(金) 21:33:49
というか、>>936がなぜ分からないか、その方がよっぽど分からん。
一応日本語の読み書きは出来るようだし、IQが80以下というわけでもなさそうだし、
はて?
947デフォルトの名無しさん:2005/08/12(金) 22:17:49
と書けば、説明できない恥ずかしさをごまかせるとでも
思ってるのだろうか ;-)
948デフォルトの名無しさん:2005/08/12(金) 22:36:10
メニューの「表示」に「フォーム」ってあるし、ツールバーにも「フォーム表示」ってのあるべ。
プロジェクトマネージャのフォームのアイコンダブルクリックして表示されるし。どれか1個ぐらいは気付きそうだけどな。
949デフォルトの名無しさん:2005/08/12(金) 23:03:37
ファイル→開く
で直接ユニットファイルを開いてもヲケ。

ま、少し調べるか試せば分かることを一々人に聞くなと。
950936:2005/08/13(土) 00:00:11
>>948-949
からかうのはやめてください
951デフォルトの名無しさん:2005/08/13(土) 00:15:38
>>950
からかってなんかいないよ、偽者君。
952デフォルトの名無しさん:2005/08/13(土) 01:54:42
ある書き込みが偽物だとわかるのは本物だけなんだがな。
つまり・・・。
953デフォルトの名無しさん:2005/08/13(土) 07:15:26
騙りの指摘見るの初めてなんですね^^
954デフォルトの名無しさん:2005/08/13(土) 07:24:38
>ある書き込みが偽物だとわかるのは本物だけなんだがな。

プゲラ
955デフォルトの名無しさん:2005/08/13(土) 10:20:59
バレてから急に煽り連発しても無駄かと ;-)
956デフォルトの名無しさん:2005/08/13(土) 10:26:13
948=951=俺だけど、俺が936本人だとしたら、どういう意図の自演なんだ?w
957デフォルトの名無しさん:2005/08/13(土) 11:13:43
誰も本人とは言ってないと思うがw
958デフォルトの名無しさん:2005/08/13(土) 11:22:52
>>957
え、俺の勘違い?952の本物って何のことだ
959デフォルトの名無しさん:2005/08/13(土) 11:43:06
C++ Builder の AnsiString 型変数は、Builder 無しで、コマンドラインコンパイラの
Borland C++ Compiler だけ組み込まれたパソコンでも使用することはできますか。
960デフォルトの名無しさん:2005/08/13(土) 11:46:21
>>1-959
からかうのはやめてください
961デフォルトの名無しさん:2005/08/13(土) 11:52:55
>>959
使えない
962デフォルトの名無しさん:2005/08/13(土) 11:57:59
>>959
vcl.hでもインクルードしたらどうかしら?
963デフォルトの名無しさん:2005/08/13(土) 11:58:40
>>959
あらご免遊ばせ。BCBが入ってないパソコン?それは無理ですわ。
964デフォルトの名無しさん:2005/08/13(土) 12:18:59
            _
          / ̄   ̄ \
         /        ヽ
         l      ●   ●  ハブ──!!
         |   (       l
        |    \       |
          l    ヾ_\  。 。 ノ
⊂ 、 ` ヽ、 ,/   ヾ _ _ ,ノλ
   `ヽ  ソ   ヾ _  _ ノ
    l    ヾ _  _ 丿
    ヽ  ヾ _  _ ,ノ
      `` ‐ -  ´
965データボックス:2005/08/14(日) 12:57:12
普段は、C 言語で MS-DOS プロンプトのプログラムばっかり作ってて、たまに
C++ Builder で Windows プログラムを作るときは、ほとんど C 言語スタイ
ルでコーディングしてるが、恥か?
966初心者:2005/08/14(日) 21:11:49
初心者で基本的な質問で恐れ入ります。
C++Buidlerで作成したTForm1などのClass関数からLinuxから移植した別ファイ
ルのC言語の関数を呼ぼうとするとリンクエラーが出てしまいBuildできませ
ん。TFormを含むUnit1.cppでローカルのC言語関数を定義した場合には、正常
にBuildできて実行できるのですが。。。
どなたか分かる方教えて頂けないでしょうか?
967デフォルトの名無しさん:2005/08/14(日) 21:40:08
自称初心者は嫌われるぜ
968デフォルトの名無しさん:2005/08/15(月) 00:10:53
あと、初心者の分際で質問のレベルを勝手に「基本的」だと判断するな。
最初の一行と最後の一行は要らなす。
969デフォルトの名無しさん:2005/08/15(月) 02:53:40
>>966
extern "C"
970デフォルトの名無しさん:2005/08/15(月) 14:14:36
>>966
すでに答は出ているけど、それは、C++Builderの問題ではなくて、
C++とC言語を混在させる場合に一般的に起こる問題。C++Builder固有の話
じゃないので、理由は説明しないけど、extern "C"でぐぐるとよいかも。

メンドクサイなら、Linuxから持ってきた .cファイルを .cpp に改名する。

.cなファイルをコンパイルしたときと、.cppなファイルのときでは、コンパイラが
出力するラベルの形式が違うのだ。なぜラベルの形式が違うかというと、
C++は同じ名前の関数を複数宣言して引数の型で区別するということを許して
いるから。

>>967,968
気持ちは分からんでもないけど、文句をつけるだけってのはよくないぞ。
971デフォルトの名無しさん:2005/08/15(月) 17:57:25
>>966
”名前マングリング”でぐぐってみ。
972デフォルトの名無しさん:2005/08/15(月) 19:38:37
>>971
エロネタかと思った……
973デフォルトの名無しさん:2005/08/15(月) 21:23:48
マングってみました
974デフォルトの名無しさん:2005/08/16(火) 11:09:17
TOpenDialogのOnTypeChangeイベント内で
現在ダイアログに表示されているフォルダを変更する方法を教えてください
975デフォルトの名無しさん:2005/08/16(火) 16:37:59
TCppWebBrowserについての質問です。
例えば改行のない長い一行の文章があった場合、HTMLによっては
横方向にスクロールバーを表示せず、折り返して表示します。
仮にTCppWebBrowserのWidthが400であって、それでは足りない場合
折り返されるわけです。
そこでTCppWebBrowserのWidthがいくつであれば折り返されないのか?を
知りたい場合、それを調べる方法はないものでしょうか?
言い方を変えると、そのHTMLを表示するのに必要なWidthとHeightの値を
得る方法ということです。

IHTMLElement2 *el2;
el2->get_scrollWidth(&s);
el2->get_clientWidth(&c);
scrollWidthやclientWidthを参照してみましたが、これはWidth値が
設定されているTCppWebBrowserに描画されたHTMLに基づいた
数値でしたのでダメでした。
976975:2005/08/16(火) 16:39:54
追記
イメージとしては、CalcHintRect のようなイメージです。
977 ◆IEhzwfel16 :2005/08/16(火) 21:48:43
>>965
ナカーマ。
978デフォルトの名無しさん:2005/08/21(日) 12:37:42
こんにちは、質問です。
TObject *Sender
この時Senderのハンドルはどうやって取得すればいいのでしょうか。
お願いします。
979デフォルトの名無しさん:2005/08/21(日) 12:59:32
>>978
if ( TWinControl* ptr = dynamic_cast<TWinControl*>( Sender ) )
 HWND hndl = ptr->Handle;

キャストする先はケースバイケース。自分で考えるべし。
980デフォルトの名無しさん:2005/08/21(日) 13:02:15
>>979
なるほど、Handleが取れればTEditだろうがTLabelだろうが
関係ないって事ですね。サンクス。
981デフォルトの名無しさん:2005/08/21(日) 15:01:44
>>980
>なるほど、Handleが取れればTEditだろうがTLabelだろうが
>関係ないって事ですね。サンクス。

if ( TEdit* ptr = dynamic_cast<TEdit*>( Sender ) )
 HWND hndl = ptr->Handle;

なことを言ってるんなら呼び出し元がTListViewとかだったりするとキャストに失敗して例外飛んでくるぞ。
単純にハンドル欲しいだけならTWinControlでもいいが
Senderを処理するってことは送られてくるSenderの実際の型はコーディング時に分かってるはずだからその型にキャストした方がいいかと。


982979:2005/08/21(日) 15:37:51
>>981
>なことを言ってるんなら呼び出し元がTListViewとかだったりするとキャストに失敗して例外飛んでくるぞ。
それは嘘。
例外が送出されるのはキャスト先が参照で、キャストに失敗した場合。
キャスト先がポインタなら、キャストできない場合、単にヌルポインタが返る。
てか、だから ifでくくってんだけど。
983デフォルトの名無しさん:2005/08/21(日) 16:42:34
TOleContainer に Word 文書を入れると、
背景色が灰色で表示されてしまいます。
Word 文書だから背景色を白で表示したいのですが、
どのようにしたらよいでしょうか。
よろしくお願い致します。
984デフォルトの名無しさん:2005/08/21(日) 18:09:05
質問を切って悪いけど
次スレ
C++Builder相談室 Part15
ttp://pc8.2ch.net/test/read.cgi/tech/1124614110/

適当なところで移動してください。
985デフォルトの名無しさん:2005/08/21(日) 20:15:21
移動するまでにBCBが生き残ってるかどうか…
986デフォルトの名無しさん:2005/08/21(日) 22:20:26
9を拝むまでは死ねないよ・・・
987デフォルトの名無しさん
>>983
関係ないけど、実行時にダブルクリックしたらびびった。
編集できたりフォームに勝手にツールバーまでついたりして…なんかすごいなActiveXって。