C++Builder相談室 Par ..
[2ch|▼Menu]
97:デフォルトの名無しさん
07/02/07 08:06:08
ファイルの選択は、OpenDialogですが、
フォルダの選択ができる部品ってないでしょうか。

98:デフォルトの名無しさん
07/02/07 11:09:23
>>81
抽象的過ぎて分からんがforとか使ってるなら
for(int i = ListBox1->Items->Count; i >= 0; i--)
として、後ろから参照する


99:デフォルトの名無しさん
07/02/07 11:27:18
スマン..Count - 1だったな

100:デフォルトの名無しさん
07/02/07 20:27:20
>>97
SelectDirectory

101:デフォルトの名無しさん
07/02/07 23:39:03
vista で Builder5 を使ってるんだけど、いくつかトラブルあるね。

1.デバッグサービスがインストールされない。
regsvr32.exe bordbk51.dll で解決

2.OpenDialog がバグる?
OpenDialog でファイル名を拾って OpenDialog->FileName の値を見ると、
変な文字が入っていることがある。再現性は低いけど、2割ぐらいの確立で起きる。

3.フォームのレイアウトが崩れる
これは俺の組み方が悪いのかもしれないけど、ボタンとかが隠れちゃうことがある。

って感じ。解決法とかあればお願い。

102:デフォルトの名無しさん
07/02/08 00:04:48
vistaを窓から投げ捨てろ

103:デフォルトの名無しさん
07/02/08 10:21:48
charで受け取ったコードをTColorへ移したいと思ってまして、
StringToColor関数を使ってみているのですけど、
「EConbertErrorクラスの例外を生成しました」
というメッセージが出てうまくいきません。
charで受け取ってる文字列は「#000000」みたいなものなんですけど、、
私のやり方がまずいのでしょうか?

104:デフォルトの名無しさん
07/02/08 10:41:55
>>103
リファレンス嫁
VCL定数の文字列表現かStrToIntで変換できるunsigned longの文字列表現

105:デフォルトの名無しさん
07/02/08 11:29:53
>>104
そのように言われても、いまいちやり方がわからないのですけど・・
できればもうちょっと分かりやすく説明お願いします

106:デフォルトの名無しさん
07/02/08 11:31:55
>>105
"clBlack"とか"0xFF00FF00"。

107:デフォルトの名無しさん
07/02/08 11:41:41
>>105

int i;
AnsiString s;

s = "#000000";
i = ("0x" + s.SubString(2, 6)).ToInt();
Form1->Canvas->Pen->Color = TColor(i);
Form1->Canvas->Brush->Color = TColor(i);

こんな感じで逝けるのでは?

108:デフォルトの名無しさん
07/02/08 12:17:20
>>107
あっ すみません
intの変数じゃなくてTColorの変数へ返したいのですけど


109:デフォルトの名無しさん
07/02/08 12:56:08
しまった。
オーダーがRGBかBGRかによって処理がまた変わってくるんだった。
RGBオーダーの場合は2文字ずつ切って値を移動させないと・・・

>>108
TColor型変数への代入だったら単に
TColor tcHogehoge = TColor(i);
でよいのでは。

110:デフォルトの名無しさん
07/02/08 14:08:33
>>108
TColorは、
type TColor = -$7FFFFFFF-1..$7FFFFFFF;
で定義されているから、整数型変数だ。
ソースなりマニュアルなりよく嫁。

111:デフォルトの名無しさん
07/02/08 16:14:32
実行時に、ボタンを押すと動的配列を使って、memoオブジェクトを数個ずらりと生成する
方法を教えてください。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i = 1;
while( i < 6 )
{
TMemo * aMemo = new TMemo(Form1);
aMemo -> Parent = Form1;
aMemo -> SetBounds( 30 + i * 100 , 30, 100 , 100 );
i++;
}
}
上記のコードでも5個ずらりと並ぶのだがちょっと使えない
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i = 1;
while( i < 6 )
{
TMemo * aMemo = new TMemo(Form1)[10];
aMemo[i] -> Parent = Form1;
aMemo[i] -> SetBounds( 30 + i * 100 , 30, 100 , 100 );
i++;
}
}
このコードも「Cannot convert 'type1' to 'type2'  コンパイラメッセージ」
こんなこと言われるし
型キャストの方法 ?
誰か教えて


112:デフォルトの名無しさん
07/02/08 17:22:28
>>111
何がしたいのかサッパリわからんけど

TMemo * aMemo[10]; //大域変数

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i = 1;
while( i < 6 )
{
aMemo[i] = new TMemo(Form1);
aMemo[i] -> Parent = Form1;
aMemo[i] -> SetBounds( 30 + i * 100 , 30, 100 , 100 );
i++;
}
}

こんなんじゃダメ?

113:111
07/02/08 18:18:13
112さん
ありがとう!

114:デフォルトの名無しさん
07/02/09 02:08:48
>>100
SelectDirectory ですか。
お礼遅れました。
ありがとうございました。

115:デフォルトの名無しさん
07/02/09 12:12:50
QuickReportを使った印刷について教えてください。

クリップボードから画像をTQRImage上に貼り付けて
それを印刷する、ということをしているのですが、
Previewでは正しく画像が表示されているにもかかわらず
実際に紙に印刷すると真っ黒に塗りつぶされて
出力されてしまいます。

何か情報をお持ちの方、教えてください。
環境は C++ Builder 5 (Update済み) + Win XP SP2、
プリンタはHP Officejet 7210です。

116:デフォルトの名無しさん
07/02/09 12:22:27
ヒント:画像減色

117:デフォルトの名無しさん
07/02/09 16:14:44
>>116
ありがとうございます。
確かに PixelFormat が pfDevice になっていたので
pf24bit に変更したところ、今のところうまくいくようになりました。

ただ、以前の状態でも何回かはうまくいくけどときどき
真っ黒になる、という感じだったのでもう少し様子を見てみます。

118:デフォルトの名無しさん
07/02/09 19:52:23
TClientSocketについて質問があります。
TClientSocketでローカルポートを設定できなくて困っています。
ヘルプを見ると
『クライアントソケットは任意のローカルなポート番号を使います。ほかのソケットがクライアントソケットを見つけ出す必要はないからです。』
とあり設定できそうにありません。
どうにかローカルポートを設定できないものでしょうか?

119:デフォルトの名無しさん
07/02/10 02:12:39
VCLとSTLを混ぜない方がいいのかな。
std::list<AnsiString> とかダメ?

120:デフォルトの名無しさん
07/02/10 05:24:48
BDS2006です。
CodeGuardを使うと、fstreamファイル内で「関数に不正なファイルストリームが渡された」とでたり、
(fopenではなく)_wfopenで開いたファイルに対して、feofなどを行っても、同じエラーがでます。

CodeGuardをOFFにした際の動作は、期待通りのものであるんですが、
なぜこのようなエラーメッセージがでるのでしょうか。(自分が間違ってる可能性が高いですか?

121:デフォルトの名無しさん
07/02/13 01:23:03
BCB6 を使っています。

TComboBox の ->Style が csDropDown で、
->Items が "abcde" で、 ->Text が "ab" にして実行した時に、
▽ をクリックすると "ab" が自動的に "abcde" になりますが、
この時 OnChange が無反応です。反応したいです。
日本語でおk

122:デフォルトの名無しさん
07/02/14 19:58:41
BCB6でメニューを使ってMDI子フォームを表示させるのに、
  Sample = new TSample(Application);
としてるんだけど、なぜかnewでエラーになります・・・

フォームは自動対象から外していて、数あるメニューの
中でも、これ1つだけが突然エラーになってしまいました。

どの辺りから手をつければいいのやら・・・

123:デフォルトの名無しさん
07/02/14 20:18:20
>>122
なんで引数がTApplicationなんだ。
MDI Childなら普通親はMDIフレームだろ。

124:デフォルトの名無しさん
07/02/15 09:19:24
>>122
どんなエラーが出たか書きなさいって、お母さんいつも言ってるでしょ。

125:デフォルトの名無しさん
07/02/15 12:44:31
>>124

エラーは一般保護違反です。
アドレス****の****に対する書き込みがどうの・・っていう。

126:122
07/02/15 14:37:55
大きく勘違いしてて、それに気づくのが遅かっただけですた。
レスくれたひとサンクス

127:デフォルトの名無しさん
07/02/21 02:35:42
TCppWebBrowserで縁を出さないようにするにはどうすればよいでしょうか?
webを読み込んでいない状態だとでないのですが、
読み込むとでてきてしまいます。

フォームなどの
BorderStyle = bsNone
的なのをやりたいです。

if(CppWebBrowser1->Document){
  IHTMLDocument2 *doc = NULL;
  CppWebBrowser1->Document->QueryInterface(IID_IHTMLDocument2, (void **)&doc);
  if(doc){
    IHTMLElement *elem = NULL;
    doc->get_body(&elem);
    if(elem){
      IHTMLStyle *style;
      elem->get_style(&style);
      if(style){
        style->put_border(TVariant(0));
      }
    }
  }
}
とやってみましたが、全然でした。

128:デフォルトの名無しさん
07/02/21 19:52:14
Alt+Tabしたときのリストに表示されないようにするにはどうすればよいでしょうか?

129:デフォルトの名無しさん
07/02/22 15:58:20
ボタンをクリックしたところでフォームを表示させたいのですが
ボタンなどにどのようなソースを書けばいいのでしょうか?

130:デフォルトの名無しさん
07/02/22 16:06:20
TForm2 *Form2 = new TForm2(this);
try {
 Form2->init( /*必要なパラメタ。但しTForm2にinitメソッドを作っておく事!*/);
 Form2->ShowModal();
} __finally {
 delete Form2;
}

131:デフォルトの名無しさん
07/02/22 17:03:29
>>130
うまくいきました。ありがとうございます

132:デフォルトの名無しさん
07/02/23 01:06:25
こういうのじゃ駄目だったっけ?

Form2=new TForm2(this);
if(Form2->ShowModal()==mrOk){
//ごにょごにょ
}
delete Form2;

133:デフォルトの名無しさん
07/02/23 01:24:44
DelphiR 2007 for Win32 が発表されましたが、これのC++版 (C++Builder 2007 ??) は出るのかなぁ

誰か詳しい事情、知ってる人いる?


134:デフォルトの名無しさん
07/02/23 08:41:45
>>132

//ごにょごにょ
があるんなら、そういうときこそtry __finallyで囲むべき。

135:デフォルトの名無しさん
07/02/23 11:15:05
>133
それが出たらぜひ買いたい。
出るといいなぁ。。

136:デフォルトの名無しさん
07/02/23 11:31:01
DelとBCBが分かれてくれたのは良いんだけど、
AJAXがEnt版だけなので、Del.EntとBCB.Entを揃えるのはきつい。
というか、買えんだろうな。
Pro版は両方揃えてまつ。

137:デフォルトの名無しさん
07/02/24 01:05:21
>>133
出ません

138:デフォルトの名無しさん
07/02/24 01:52:54
えええーーー!!
CodeGearはC++を切り捨てるつもりか!
対して手間でもないだろうに、C++を付けろ!

139:デフォルトの名無しさん
07/02/24 02:08:36
>>133
C++ Builder 2007も数か月内に出る。
Highlanderよりも早い時期。

>>136
スタンダードサポートに入ればおkじゃねえか?
それかHighlanderまで待てば全部入りだし。

140:デフォルトの名無しさん
07/02/24 03:28:45
BDS2006からHighlanderへの優待コースはあるのでしょうか?

141:デフォルトの名無しさん
07/02/24 17:14:14
当然あるだろ

142:デフォルトの名無しさん
07/02/24 17:51:04
AC版でも、ですか?

143:デフォルトの名無しさん
07/02/24 21:26:41
アカデミック版のこと?
買ったことないから知らない。
BDS2006の時にアップグレード価格で購入できたのなら、今回も同じじゃないのか?

144:デフォルトの名無しさん
07/02/24 21:44:29
アップグレードの時は、AC版も通常版と同じ値段で通常版にアップグレードできる。

145:デフォルトの名無しさん
07/02/26 08:52:51
>>139
それ、AJAX付き?

146:デフォルトの名無しさん
07/02/26 21:45:30
まだ情報が出てない。


147:デフォルトの名無しさん
07/02/27 08:59:31
TListView の HideSelection 的なことを TStringGrid でやりたいのですが
どうしたらいいのでしょうか?

Delphiでそれらしきものを見つけたのですがナニがナニやら・・・
URLリンク(forum.nifty.com)


148:デフォルトの名無しさん
07/02/27 23:32:04
>147
そのサンプルはDelphi上でTStringGridを継承した新しいコンポーネントを作るというもの。
それで問題なければ新規ユニット(.pas)をそのままサンプルのとおりに作ってパッケージに組み込めばいい。

149:デフォルトの名無しさん
07/02/28 01:21:23
TStringGridって基本的にアレだから使いたくない


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5114日前に更新/47 KB
担当:undef