くだすれC++Builder(超初心者用)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。

Borland Home Page
http://www.borland.co.jp/

兄弟すれ
くだすれDelphi(超初心者用)その24
http://pc8.2ch.net/test/read.cgi/tech/1115581376/l50
2 ◆2getr4TXt6 :2005/05/28(土) 05:52:09
2get
3デフォルトの名無しさん:2005/05/29(日) 03:14:53
TMediaPlayerではmp3はサポートしていないのでしょうか?
ファイルにmp3ファイルを指定したのですが再生できません。
4デフォルトの名無しさん:2005/05/29(日) 16:18:38
例外をデバッガで捕捉したくないのですが、どうしたらよいのでしょうか?
5デフォルトの名無しさん:2005/05/30(月) 08:27:30
ユーザー少ないのに、こんなスレ要るか?

>>3
してない。

>>4
[デバッガオプション]-[言語固有の例外]-[統合開発環境を使う]をクリア。
64:2005/05/30(月) 11:24:56
>>5
ありがとう。うまくいきました。
7デフォルトの名無しさん:2005/05/30(月) 13:14:53
どなたかBCB6でTCppWebBrowser使ってるかたいます?

このコンポーネントでページを表示させると、ページ上の文字を
コピーしてもバッファに入らないみたいなのです。同じページを
IEで表示したら問題ありません。
それからtextareaで改行が入力できないという不可解な現象も
あります。
このあたりどなたかご存じないでしょうか?
8デフォルトの名無しさん:2005/05/30(月) 13:22:14
FAQだな
OleInitializeでぐぐれ
9(7):2005/05/30(月) 13:55:35
ありがとうございます。おまじないが必要だったんですね・・・

コピーはできるようになりましたが、改行が入らないのは変わりません。
javascriptでonkeydownイベントをつかまえてみましたが、ちゃんとenter
キーはブラウザに渡っているようなのですが・・・・・・・
10デフォルトの名無しさん:2005/05/30(月) 15:36:08
11(7):2005/05/30(月) 16:50:39
>10
どもども。実はそのページは自分でみつけたんですが、ちょっとBCBへ
トランスレートできそうになかったのです。

で,いろいろやってみてhtmlのほうを修正して回避する方法をみつけました。
今回は特定のページが表示できればよかったのでとりあえず・・・

しかしみんな困ってないのかなぁ。BCBでブラウザ作るやつなんて居ない
ってことか・・・
12デフォルトの名無しさん:2005/05/30(月) 19:04:41
そらBCBに移せなさそうなところが見当たらんから、誰も困らんと思うぞ。
13デフォルトの名無しさん:2005/06/01(水) 09:50:49
BCB6のトライアル版を入れてみたんですが、
ヘルプが英語で読めません・・・orz
日本語に変換ってどうやるんですか?
14デフォルトの名無しさん:2005/06/01(水) 10:08:07
15デフォルトの名無しさん:2005/06/01(水) 13:37:15
日本語のヘルプって入ってないのかなぁ・・・('・ω・`)
16デフォルトの名無しさん:2005/06/02(木) 10:33:13
Windowsのエクスプローラみたいなフォルダのツリー表示を行いたいのですが、
TTreeViewで自力で書くしかないのでしょうか?
こんぽーねんとはないのでしゅか?
17デフォルトの名無しさん:2005/06/02(木) 12:51:11
BCBって見た目はDelphiと似てるけどコンパイルは遅い?
18デフォルトの名無しさん:2005/06/02(木) 15:06:50
遅い。
19デフォルトの名無しさん:2005/06/02(木) 15:47:00
じゃあDelphiよりもBCBを選ぶ理由はC/C++の資源利用と慣れくらいのもの?
出来上がった実行ファイルの速さは同程度だよね?
20デフォルトの名無しさん:2005/06/02(木) 16:50:24
そう。実行ファイルは同じ。
21デフォルトの名無しさん:2005/06/02(木) 17:08:43
STLが無いのは困る
22デフォルトの名無しさん:2005/06/02(木) 20:51:44
基本的には、Delphiのコンパイル速度を取るか、C/C++の資産(含慣れ)を取るかの違いしかないのだが
ちょっと注意しておきたいのが、BCBだとAnsiStringが組み込み型ではない、
つまり静的なAnsiStringを作れないこと。
もちろんこれはstd::string等にもあてはまるのだが。

例えばForm1->Caption = "あいうえお";のような単純なソースだけでも
コンパイラは一時オブジェクトのコンストラクタ/デストラクタに加え
例外処理コードも追加される。
(対するDelphiのコードは、ただアドレスを引数にして呼び出すだけ)
こういうのが積み重なった結果、速度は遅くなり実行ファイルは巨大になる。
UI部分だけでなく、DB系やらIndyやらでも基本はAnsiStringだから
ロジック部分以外の占める割合が大きい場合、Delphiの方が利点が多くなる。

まあ俺はC/C++しか書けないから関係無いが。
23デフォルトの名無しさん:2005/06/02(木) 22:46:35
実行ファイルはDelphiの方が大きくなるものだと根拠なく思い込んでたよ。
BCBの方が若干分が悪いのね。
私はDelphi使いなんだけどBCB6 Star Teamの優待販売にちょっと気持ちが揺れたんだな。
24デフォルトの名無しさん:2005/06/02(木) 23:06:06
インライン展開がある分BCBのほうが大きくなりそう。templateとか展開されまくるし。
その分速度はアドバンテージあるだろうけど。
25デフォルトの名無しさん:2005/06/02(木) 23:24:10
どちらかと言うとファイルサイズよりも実行速度の方が重要だと思う。
Delphiも2005からはインライン展開できるんだっけ。
26デフォルトの名無しさん:2005/06/02(木) 23:33:10
Delphi進化しとるな
BCBいつまで6なんだ
27デフォルトの名無しさん:2005/06/02(木) 23:47:10
BCBは6で終わりじゃなかった?次からはDelphiに統合されるはず。
で、Delphiはと言うと素直に進化と呼んで良いものか悩ましい。
4-6くらいが一番バランス良いと思う。
28デフォルトの名無しさん:2005/06/03(金) 00:20:56
>>21
STLあるよ
29デフォルトの名無しさん:2005/06/03(金) 01:33:40
>>27
7が最高!!
30本田:2005/06/03(金) 05:00:36
>>16
DirectoryListBox
31本田:2005/06/03(金) 05:14:54
>>11
>BCBでブラウザ作るやつなんて居ないってことか・・・

>C++BuilderからGeckoエンジンを使う方法
http://homepage2.nifty.com/spw/tips/Gecko.html
32デフォルトの名無しさん:2005/06/03(金) 08:39:42
>>30
それって旧世代の遺物?
33デフォルトの名無しさん:2005/06/03(金) 23:27:58
C99には対応していますか?
34& ◆atpr8p5IFs :2005/06/04(土) 05:55:34
>>33
> C99には対応していますか?
未対応。
35& ◆po73KQOmZk :2005/06/04(土) 05:58:03
36本田:2005/06/04(土) 05:59:22
37デフォルトの名無しさん:2005/06/04(土) 14:35:09
>>33
かろうじて、long long intだけはある。
38デフォルトの名無しさん:2005/06/04(土) 18:41:37
Visual C++のプロジェクトもコンパイルできるのでしょうか?
MFCは使用できますか?
39& ◆FC4h7F/wV6 :2005/06/05(日) 00:50:00
>>38
>Visual C++のプロジェクトもコンパイルできるのでしょうか?
VCプロジェクトをBCBに変換する機能はある、だだし不完全。
>MFCは使用できますか?
Professonalバージョンには付いてる。
40デフォルトの名無しさん:2005/06/05(日) 17:21:22
BEGIN_MESSAGE_MAPのところで
switchを含む関数はインライン展開できないというウォーニングが出るのですが、
どのような構文にすればよいのでしょうか?
41デフォルトの名無しさん:2005/06/05(日) 18:02:10
そりゃ警告ちゅうかお知らせって感じだから気にするもんじゃないよ、無視汁。警告が邪魔なら
#pragma warn -inl で消せる。

でもあんな汚いマクロを置くぐらいなら、自分でDispatchやWndProcを書いたほうがいいと思うのは俺だけすかそうすか。
42デフォルトの名無しさん:2005/06/05(日) 18:21:02
>>41
やっぱり
BEGIN_MESSAGE_MAP
は使わない方がよいのでしょうか?
もっと汚くない他のやり方を教えていただけないでしょうか?
43デフォルトの名無しさん:2005/06/05(日) 19:10:28
>>42
いや使わないほうがいいという事じゃなくて、激しく好みの問題。
あのマクロのおかげで行数が減って綺麗になったなぁと感じる人もいるかもしれない。

でメッセージに反応するのはWndProcをオーバーライドするだけす
void __fastcall TForm1::WndProc(TMessage& message)
{
  switch (message.Msg) {
    case WM_〜
      :

    case WM_〜
      :
  }
  TForm::WndProc(message);
}
44デフォルトの名無しさん :2005/06/06(月) 07:43:51
メッセンジャーがインストール出来ません。どなたか教えてください<(__)>
45デフォルトの名無しさん:2005/06/06(月) 14:19:13
BEGIN_MESSAGE_MAP はボーランドのtipsのページにもありますが、なんで、ウォーニングが出るようなものを使っているのでしょう?
46デフォルトの名無しさん:2005/06/06(月) 14:25:37
気にする必要0な警告だから。
47デフォルトの名無しさん:2005/06/06(月) 14:32:49
switch使わなければ(例えばifで置き換えれば)展開されるかもしれませんよって言うアドバイスみたいなもんだ。
48デフォルトの名無しさん:2005/06/07(火) 15:08:45
OnKeyUpやOnKeyDownにコードを書いて、処理しているのですが、
キーを押しっぱなしの時、入力を連続して受け付けたい場合どこにどのようなコードを描けばよいのでしょうか?
49デフォルトの名無しさん:2005/06/07(火) 23:20:18
こんばんは、よろしくお願いします。
関数の本文の前にconst をつけるわけを教えていただきたいのですが、
int get_c() const{return cc};
このような文をよく見かけますが、
何を変更できないようにしているのでしょか。
50デフォルトの名無しさん:2005/06/07(火) 23:32:12
>>49です
ネットを検索していると、詳しく説明してあるところを見つけたので、
読んでみます。すみませんでした。
51デフォルトの名無しさん:2005/06/07(火) 23:57:31
>>48
推しっぱなしだとオートリピート機能があるから
OnKeyDownが何度も呼ばれるんじゃないの?
52デフォルトの名無しさん:2005/06/08(水) 00:13:23
>>48
最初のOnKeyDownイベントが来たらフラグをONにして
OnKeyUpが来たらフラグをOFFにするような仕組みをつくる

で、TApplication::OnIdle のイベントハンドラの中で上記のフラグを
見張っておいて、フラグがONの時にのみキー押下時の処理をする

というのはどう?
53困った:2005/06/08(水) 20:56:38
はじめまして。ここで質問してよいのやら分からないのですが、
C++Builder6のデータベースデスクトップでInterBase(バージョン7)
のテーブルを作成しようとしています。
テーブルの新規作成でInterBaseを指定してLONG型などはテーブル作成
できるのですがDATE型で作成しようとすると「テーブル作成要求が無効です」
というエラーがでるのですがDATE型は作成できないのでしょうか。
ヘルプによれば、できるように書いてありました。
どなたかよろしくお願い致します。
54デフォルトの名無しさん:2005/06/11(土) 15:35:26
isqlやibconsoleでスクリプトから作成した方が良いと思うぞ。
それからDBに関してはinterbaseスレやfirebirdスレ(DB板)の方が
レス付き易いと思うぞ。
55デフォルトの名無しさん:2005/06/11(土) 15:37:15
ついでなんで、Date型に関してはdiarectの設定で挙動が変わってくるから気をつけて。
56デフォルトの名無しさん:2005/06/16(木) 15:14:59
コンポーネントをインストールしてもパレットに追加されません。
どうすればいいですか?
57デフォルトの名無しさん:2005/06/17(金) 03:38:33
>>56
それはあなたが馬鹿だからです。
58デフォルトの名無しさん:2005/06/17(金) 06:57:47
Indyを使えばMD5は簡単に求まることがわかったのですが、
Secure Hash Algorithmを使いたい場合、何かよい方法はないでしょうか?
59デフォルトの名無しさん:2005/06/17(金) 08:10:21
>>56
どういうコンポをどういう手順でインストールしたらどうなった、を書いたら誰かアドバイスしてくれかも。

>>58
MD5にしてもSHAにしてもRFCにサンプルコードが載ってるから、そのまま使えばいいんでねーの?
60デフォルトの名無しさん:2005/06/23(木) 16:52:37
TPanelでIEでのHoverの様な振る舞い(つまり、マウスがコントロール内に入ったり出たりするときに反応したい)を実装するにはどのようにしたらよいのでしょうか?
入る動作はOnMouseMove内に書けば良さそうなのですが、出るときに反応する方法がわかりません。

より具体的にはJavaScriptで言うところのonMouseEnterとOnMouseLeaveイベントを実装したいのです。
61デフォルトの名無しさん:2005/06/23(木) 20:55:23
>>60
Win32APIのGetCursorPos()でマウスカーソル座標見張って
パネルの占める位置と常に比較すれば?
62デフォルトの名無しさん:2005/06/23(木) 21:02:43
>>60
TPanelを囲んでるコントロールのOnMouseMoveで見張るとか。
TPanelからマウスカーソルが外へ出れば、TPanelを置いてあるTFormとかに
マウスイベントが来るでしょ
63デフォルトの名無しさん:2005/06/23(木) 21:46:19
出入りするときは、CM_MOUSEENTER/CM_MOUSELEAVE つーメッセージが来るけどね。
場合によって来ないケースがあったような気がしなくもない。
64デフォルトの名無しさん:2005/06/24(金) 00:36:44
>>60
APIのGetCapture()で返り値がパネルのHandleのときが
マウスカーソルがパネル上にあると判断すればいいのではないでしょか?
65デフォルトの名無しさん:2005/06/26(日) 03:17:53
ダブルクリック時にシングルクリックを動作させない方法を教えてください
66デフォルトの名無しさん:2005/06/26(日) 05:18:35
>>65
シングルクリックのあとダブルクリックイベントが来るまでの時間
何もしないようにすればいい、ダブルクリックイベントが結局こなかったら
シングルクリックの動作を行えばいい

これだとシングルクリック時の動作開始が遅れることになるが
67デフォルトの名無しさん:2005/07/09(土) 02:58:43
国際化対応尾アプリケーションを作るためにリソースDLLウィザードで 
英語と日本語を選択し、ウィザードを最後まですすめ、完了したのですが、 
ここから、どうやって英語版のフォームを表示するのかがわかりません。 
どなたか教えていただけないでしょうか? 
それから、英語版Windowsに作成したプログラムを持って行けば、 
自動的に英語版のフォームが選択されるのでしょうか? 
それとも手動で選択してやる必要があるのでしょうか? 
68デフォルトの名無しさん:2005/07/09(土) 16:32:18
  BDEを使って、ODBC経由で空のデータベースを作成する
ことは可能でしょうか??

  現在使用しているのはAccessのDriverです。
  ADOとかでできるようなのですが、Builderで取り込むときに
TTableあたりと名前がぶつかってだめでした。

  できないようであれば他の方法を考えますが、ご存知の方が
おられれば後教授お願いいたします。

69age:2005/07/09(土) 18:01:27
>英語版のフォームを表示
C++Builder6に限った話ですが、この部分の機能に不具合があって、そもそも表示できなかったかも。
70レイナ:2005/07/12(火) 23:44:07
Formに貼ったPanelを起動中にドラッグして動かせるようにするにはどうしたらいいですか?教えてくださいm(__)m
71デフォルトの名無しさん:2005/07/13(水) 00:16:44
起動中は難しいかも。実行時なら簡単
72レイナ:2005/07/13(水) 00:35:23
実行時にするにはどうしたらいいんですか?
73デフォルトの名無しさん:2005/07/13(水) 03:10:54
>>70
OnMouseMoveイベントハンドラで
左ボタンが押されてるときだけ
マウス位置の移動分
Left, Topを書き換えてやる
74レイナ:2005/07/13(水) 05:06:28
ポインタの静的型と、仮想関数の振る舞いについて教えてください。

struct A { virtual void f(); };
struct B { virtual void f(); };
struct C: public A, public B {};

C* pc = new C;
pc->f(); // (1) A::f() と B::f() のどちらか分からないのでコンパイルエラー
A* pa = pc;
pa->f(); // (2) A::f() がコールされる
B* pb = pc;
pb->f(); // (3) B::f() がコールされる

struct D: public A, public B { virtual void f(); };
D* pd = new D;
pd->f(); // (4) D::f() がコールされる
pa = pd;
pa->f(); // (5) D::f() がコールされる
pb = pd;
pb->f(); // (6) D::f() がコールされる

struct C の仮想関数テーブルの f() のエントリはどうなっているのでしょう?
派生クラスが仮想関数をオーバライドしない場合、このエントリは基底クラスの
関数ポインタがそのままコピーされると思います。しかし、A::f と B::f のど
ちらを採用すべきかコンパイル時に決定できないはずです。
ところが上記(2)のように、動的型が struct C であっても、静的型を struct A
とするとコンパイルが通り A::f() がコールされます。動的型の struct C の仮
想関数テーブルの f() のエントリは決定できていないはずなのに、何故 (2)(3)
のような呼び分けができるのでしょう?
実際 struct D のように f() をオーバライドすると、静的型に関係なく動的型
の仮想関数がコールされるので、f() のエントリは1つだと思うのですが。
どういうカラクリになっているのでしょう?
75デフォルトの名無しさん:2005/07/13(水) 07:31:38
>>74
多重継承するとその分だけ仮想関数テーブルが作られる。
だからstruct C/Dではstruct Aとstruct Bの両方のテーブルが存在する。
テーブルのA::fの部分にA::f()、B::fにはB::f()が入れられる。
struct DだとテーブルのA::fとB::fの両方にD::fが入れられる。
76デフォルトの名無しさん:2005/07/13(水) 15:38:25
お前らネカマに釣られすぎ
77デフォルトの名無しさん:2005/07/13(水) 20:17:28
mp3タグの表示・編集の方法をご存知の方、ご教授願いますm(_ _)m
78デフォルトの名無しさん:2005/07/13(水) 20:37:40
79デフォルトの名無しさん:2005/07/23(土) 21:47:47
Builderって64ビットネイティブコード吐けるの?
80デフォルトの名無しさん:2005/07/23(土) 23:22:17
まさか
81デフォルトの名無しさん:2005/07/25(月) 09:23:27
じゃあ将来、吐けるように進化する気はあるの?
82デフォルトの名無しさん:2005/07/28(木) 17:05:44
ご質問です。
C++Builder6#4を使用しておりますが、全画面アプリを作成するには
どのようにしたらよろしいのでしようか?
FormのAlignをalClientとすると確かに全画面にはなるのですが、これではなく、
モニタの解像度を変更して全画面表示を出来ればと思います。
どうか宜しくお願い致します。
83デフォルトの名無しさん:2005/07/28(木) 21:45:50
>>82
ChangeDisplaySettings
8482:2005/07/29(金) 15:27:37
>>83ありがとうございます。
解像度の変更はできました!

int FCount = 0;
DEVMODE DevMode;
// 使用可能な解像度を調べる
while(EnumDisplaySettings(NULL, FCount, &DevMode)){
FCount++;
// 希望の解像度かどうか
if(DevMode.dmPelsWidth == 800 && DevMode.dmPelsHeight == 600){
ChangeDisplaySettings(&DevMode, CDS_FULLSCREEN);
break;
}
}

そして新たに2つの疑問がでました・・・_| ̄|○
1、全面にアプリを表示できない?
2、IMEバーが解像度につられて位置が変わる

ゲームではないのですが、ゲームで行っているような全画面表示に
したいのですが、どのようにすればよいのでしょうか?
8582:2005/07/29(金) 15:38:16
よく見たら色もなんか変だった・・・
256色で表示されてるっぽ
86デフォルトの名無しさん:2005/07/29(金) 19:27:31
>>84
全面に表示するのは
Form1->BorderStyle = bsNone;
Form1->BoundsRect = TRect(0, 0, 800, 600);
かな?

ゲームなんかは大概 DirectDraw の SetCooperativeLevel と SetDisplayMode 使ってるんでないかな。
87デフォルトの名無しさん:2005/07/31(日) 16:36:04
BCB6でメイクしたら
”[リンカ 致命的エラー] Fatal: ファイル名が必要 :”
って出るんですが、何がいけないのか分かりません。
88デフォルトの名無しさん:2005/07/31(日) 17:01:46
要求されているファイルが存在するか否か > 87
存在するなら、BCB6 の最新のパッチを当ててからもう一度。
89デフォルトの名無しさん:2005/07/31(日) 17:19:02
よくわからないエラーは、エラーメッセージをググると結構解決したりする。
>>87
BCBのインストール先や、プロジェクトを保存してるフォルダ名に"+"や"-"が入ってたりしない?
90デフォルトの名無しさん:2005/07/31(日) 19:56:14
>>89
あ、+が入ってました。なるほどどうも。
91デフォルトの名無しさん:2005/07/31(日) 19:59:30
もうずっと人大杉

携帯 でのアクセスについて

■とりあえずスレッドを読むには■


人大杉についてもっと詳しく知りたい


お願い。
くれぐれもメールで問い合わせ無いようにして下さい。


9282=84:2005/08/01(月) 15:38:38
>>86(・∀・)キタヨコレ!!
亀ですみませんでした。
ひとまず>>86の指示通りで全面表示できました。

色についてはEnumDisplaySettings()のチェックを
// 希望の解像度かどうか
if( (DevMode.dmPelsWidth == 800) && (DevMode.dmPelsHeight == 600) &&
(DevMode.dmBitsPerPel == 32) && (DevMode.dmDisplayFrequency == 75)) {
とやった結果、32Bit色と周波数のチェックもできました。

どうやら、IMEバーについては、解像度を戻す時に
ChangeDisplaySettings(&temp, 0);
とやっているのが原因っぽかったです。
&tempは解像度変更前に保存しているステータス

何もしなくても、そのままアプリを終了させれば元に戻るんですね。
とりあえずこれで理想的なものはできそうです!
ありがとうございました。
93デフォルトの名無しさん:2005/08/03(水) 16:33:22
タイトルバーにアイコンの出るプログラムを実行させようと思っています。
作業しているディレクトリには、icon1.ico、test.cpp、test.exe、test.obj、test.rc
があります。
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です。
94デフォルトの名無しさん:2005/08/03(水) 17:22:53
>>93
チラシの裏?それとも質問?
95デフォルトの名無しさん:2005/08/03(水) 18:12:33
>94
93です。質問です。チラシの裏とはなんでしょうか?
96デフォルトの名無しさん:2005/08/03(水) 19:01:56
>>95
それはともかく、キンタマの裏は見たことある?
97デフォルトの名無しさん:2005/08/03(水) 20:17:02
>>95
状況はわかった
質問は何?
98デフォルトの名無しさん:2005/08/03(水) 20:30:06
93です。
質問は、borland c++ builder 6.0 Professionalのbcc32とbrc32を使って
実行ファイルにリソースのリンクがうまくできないのはなぜですか?
ということです。
99デフォルトの名無しさん:2005/08/04(木) 00:20:34
>>98
こっち
C++Builder相談室 Part14
ttp://pc8.2ch.net/test/read.cgi/tech/1116460578/l50
100デフォルトの名無しさん:2005/08/04(木) 11:47:45
101デフォルトの名無しさん:2005/08/06(土) 00:42:51
102デフォルトの名無しさん:2005/08/15(月) 13:01:48
スレッドについて

スレッドの練習なんですが、例としてForm1にLabel1とButton1を置いて
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{

int i;

TestThread *theThread;
theThread = new TestThread(true);
theThread->FreeOnTerminate = true;
theThread->Resume();

Label1->Caption = IntToStr(i);

}
//---------------------------------------------------------------------------
とし、
スレッドには
//---------------------------------------------------------------------------
void __fastcall TestThread::Execute()
{
// TODO : スレッドとして実行したいコードを以下に記述 */
i++;
}
//---------------------------------------------------------------------------
として、ボタンを押すごとにiをインクリメントしてLabel1に表示したいのですが
どうなおせばいいですか
103デフォルトの名無しさん:2005/08/15(月) 13:44:24
頼むからスレッドの前にC/C++の基本、つまり
変数のスコープとか生存期間とか、その辺を勉強してくれ。
104デフォルトの名無しさん:2005/08/15(月) 14:05:06
>>103
それを教えてください
105デフォルトの名無しさん:2005/08/15(月) 16:30:28
てゆーか、くだスレだし、
「この場合は」に限定して書いてやればヨロシ
わざわざ意地悪する必要無し
106デフォルトの名無しさん:2005/08/15(月) 17:28:04
次バージョンはいつでますか?
107デフォルトの名無しさん:2005/08/15(月) 17:56:21
>>102
int i; なぞ使わず、LabelのCaptionプロパティそのまま使えばいいでしょ。
但しSynchronizeメソッド通しとけよ。VCLはマルチスレッド対応じゃないから。
108デフォルトの名無しさん:2005/08/15(月) 17:58:12
引数渡してやれば?
或いはスレッド側でラベル読取・演算・ラベル書き換えすれば?
109デフォルトの名無しさん:2005/08/16(火) 10:01:48
質問
書き間違いを"typo"と呼ぶのは何故ですか?
110デフォルトの名無しさん:2005/08/16(火) 10:49:03
111デフォルトの名無しさん:2005/08/16(火) 18:20:55
( ´∀`)<たいぽ
112109:2005/08/17(水) 01:21:10
>>110
アリガト!(´▽`)
113デフォルトの名無しさん:2005/08/17(水) 16:51:50
AnsiStringの2次元配列、できんかねぇ
114デフォルトの名無しさん:2005/08/17(水) 20:06:34
>>113
AnsiStringのポインタのポインタでシミュレートすればどう?
生成と解体が面倒だが。継承して新しいStringクラスを作る事が
できないのが痛いね。
115デフォルトの名無しさん:2005/08/17(水) 21:39:05
>>113-114
AnsiStringって2次元配列にしちゃまずいの?
116デフォルトの名無しさん:2005/08/17(水) 21:49:36
>>115
確かにそうだよな。
117デフォルトの名無しさん:2005/08/18(木) 06:55:07
>>114
くだスレレベルを超えてません?

>>115-116
やってみてください
118デフォルトの名無しさん:2005/08/18(木) 07:30:31
>>117
やってみて一見何ともないようだから聞いてみたんだ。
119デフォルトの名無しさん:2005/08/18(木) 07:41:04
>>118
当方問題ありでした
つまり、それぞれに異なる文字列を格納できませんでした
120デフォルトの名無しさん:2005/08/18(木) 07:50:42
>>119
えー…そんなことないけど。どういうコード?
121デフォルトの名無しさん:2005/08/18(木) 11:56:18
>>120
AnsiStringクラスにoperator[]が定義されているのが原因って事じゃね?
122デフォルトの名無しさん:2005/08/18(木) 12:08:09
>>121
それは何の問題もないと思うんだけどねー…。
でも>>113-114みると、周知の事実っぽいから気になる。
123デフォルトの名無しさん:2005/08/18(木) 12:24:20
>>122
>でも>>113-114みると、周知の事実っぽいから気になる。
んなわけねえって。二人そろって勘違いしてるだけ。

>>119
おまえのその問題ありのコード晒せ。どうせお前が間違ってるんだ。
124デフォルトの名無しさん:2005/08/18(木) 13:45:40
ダメと言ってる奴は、なぜ検証できるコードを出さないのか?
125119:2005/08/18(木) 15:51:01
帰宅したらサンプル晒すけど、
マジで二次元で文字列格納できます?
自分は一文字しか格納できんかったですよ
126デフォルトの名無しさん:2005/08/18(木) 16:11:00
まどろっこしいから、さっさとBCB6で検証プログラム作ったぞ。
MemoコンポーネントをFormに2個貼り付けて以下のイベントを書いた。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 AnsiString text[2][2] = {"abcdef", "defghi", "ABCDEF", "DEFGHI"};

 Memo1->Lines->Add(text[0][0]);
 Memo1->Lines->Add(text[0][1]);
 Memo2->Lines->Add(text[1][0]);
 Memo2->Lines->Add(text[1][1]);
}

結果:ちゃんとMemo1には小文字の2つが、Memo2には大文字2つがちゃんと
文字列で表示できた。当たり前だが。
127デフォルトの名無しさん:2005/08/18(木) 16:35:08
>>125
>マジで二次元で文字列格納できます?
>自分は一文字しか格納できんかったですよ

なんか無茶苦茶なことをしている御燗
128119:2005/08/18(木) 23:44:00
すいません、AnsiStringじゃなく
WideStringにしたらできました

逝ってきます
129デフォルトの名無しさん:2005/08/19(金) 00:04:32
>>128
詳しく説明しる!
130デフォルトの名無しさん:2005/08/19(金) 00:08:25
>>128
質問して少なからずレスをもらったんだから
自己解決したにせよ、きちんと経緯を報告すべきだぞ。
それをしないのは単なる教えて君ってことだ。
131119:2005/08/19(金) 00:54:22
>>129
逝ったヲイラがゾンビになって戻ってきましたよ

冗談はともかく
って、あれ?
今はAnsiStringに戻してもできてしまった・・・
なぜ?

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString as[2][2];
as[0][0] = "あいうえお";
as[0][1] = "かきくけこ";
as[1][0] = "さしすせそ";
as[1][1] = "たちつてと";
int i=0;
int j=0;
while(i<2)
{
for(j=0;j<2;j++)
{
Memo1->Lines->Add(as[i][j]);
}
i++;
}
}
でした。
132119:2005/08/19(金) 00:55:47
↓は「改行が多すぎる」とおこられたので空白行は削除してあります。
で、昨日の結果(Memo1)は




とだけ・・・
今は
あいうえお
かきくけこ
さしすせそ
たちつてと
と・・・
133デフォルトの名無しさん:2005/08/19(金) 01:25:54
AnsiString as[2,2];
になってたとか。
134デフォルトの名無しさん:2005/08/19(金) 08:23:55
周辺質問
文字列リストは二次元化できる?
今までタブ区切りでごまかしてきたけど
いい加減面倒になったので
135デフォルトの名無しさん:2005/08/19(金) 09:19:33
今このタイミングで言うのも何なんだけど...





何でStringList使わないの?
136134:2005/08/19(金) 10:13:30
>>135
携帯でアルファベット打つの億劫だから文字列「リスト」って書いたんだけど…
文字列リストってストリングリストのことじゃなかったっけ?
間違ってたらごめん
で、ストリングリストのストリング[]に更に配列が加わらないものかと
137デフォルトの名無しさん:2005/08/24(水) 08:57:49
ぬるぽ
138デフォルトの名無しさん:2005/08/24(水) 09:18:13
ガッ
139デフォルトの名無しさん:2005/08/24(水) 22:25:39
BEGIN_MESSAGE_MAPを使うとswitchを含む関数はインライン展開できないという警告が出るのですがこれは仕様でしょうか?
140デフォルトの名無しさん:2005/08/24(水) 22:59:13
>>139
クラスの宣言の中で定義された関数は、デフォルトでインライン展開の対象に
なるが、switch、for等を含むと、BCBではそういう警告が出る。

もちろんC++の規格上、インライン展開を全くしなくても違反ではないが、
ユーザの意図しないコンパイルのされ方を防止するためにそのような警告が
出るようになってる。
141デフォルトの名無しさん:2005/08/26(金) 14:20:26
アプリケーションの終了値を返したいのですが、exit()で問題ないですか?
なんかこう、BCBらしい終わり方があるんじゃないかと思うのですが
142デフォルトの名無しさん:2005/08/26(金) 14:35:50
構造体のデータを確保した変数に入れるにはどうしたらよいのでしょうか?

確保した領域:char *pBuf = new char[30000];

下記が構造体のデータ

typedef struct __tagGRCMND
{
 USHORTsCommandCode;
 USHORTsResultCode;
 USHORTsSize;
 BYTEcData[ 1 ];
}GRCMND;
typedef GRCMND* LPGRCMND;

環境win2000 VC++6.0 です。よろしくお願いします。
143デフォルトの名無しさん:2005/08/26(金) 17:39:14
>>142
初めからGRCMND *pGrcmnd = new GRCMND;でいいじゃんというのはさておき、
GRCMND *pGrcmnd = reinterpret_cast<GRCMND *>(pBuf);としてここへ書き込めばいいだろ。
144デフォルトの名無しさん:2005/08/26(金) 18:49:45
>>142
new (pBuf) LPGRCMND;
145デフォルトの名無しさん:2005/08/26(金) 19:54:11
CObjectというクラスを作り
CType1 CType2・・・のようにそれぞれのクラスに継承させます

アプリの起動時にCObjectとしてオブジェクトを生成し
CObject* pObj = new CObject[10];

リストなどに連結させオブジェクトプールのようにして
使用時にはプールから抜き取って
CType1などのオブジェクトとして使用したいのですがそのようにするには
どのようにすればいいのでしょうか?
146145:2005/08/26(金) 20:12:28
補足です

イメージとしては
std::list<CObject> lObj; //未使用オブジェクトプール用
std::list<CObject> lType; //使用オブジェクトリスト

lObjにオブジェクトプールとして連結させておいて
使用する必要ができた場合にlObjから抜き出して
CType1としてlTypeに追加してCTlype1のオブジェクトとして
使用することは可能でしょうか?



147デフォルトの名無しさん:2005/08/26(金) 20:27:28
>>145-146
CObjectはCType1の親で、プールされてる各インスタンスはCObjectとして生成されてる?
プールがどうこうより、CObjectとして作られたインスタンスをCType1として使っちゃ駄目だろう。
148デフォルトの名無しさん:2005/08/26(金) 23:42:03
C++Builder 6 Personal を使用しているものです。(WindowsXP)
作成したexeファイルは、BuilderをインストールしていないWindowsマシン上でも動くのでしょうか?

149デフォルトの名無しさん:2005/08/27(土) 00:31:13
>>148
実行時ランタイムを使用しないように指定してコンパイルすればヲケ。
具体的には
 プロジェクト→オプション→パッケージ→実行時パッケージを使用して構築
                →リンカ→共有 RTL DLL を使う
この両方をキャンセルする。

なお、personal版はライセンスで再配布に制限があるので注意。
150デフォルトの名無しさん:2005/08/27(土) 02:36:42
次期バージョンは見捨てられましたか?
151デフォルトの名無しさん:2005/08/27(土) 02:40:40
あと数ヶ月で出るつってるだろ
152デフォルトの名無しさん:2005/08/27(土) 02:42:39
ありがとうございました。
153デフォルトの名無しさん:2005/08/29(月) 08:56:38
FORM1のBUTTONを押したらFORM2を表示するようにしたいのですが、どのようにすればいいのでしょう?
154デフォルトの名無しさん:2005/08/29(月) 11:24:15
>>153
Form2->ShowModal();
もしくは
Form2->Show();

#include "Unit2.h"を忘れずに
155デフォルトの名無しさん:2005/08/29(月) 21:36:03
ある日までの残日数を表示したいのですが、やり方がわかりません。
TDateTimeやStrToDateなどでググッてはみたのですが、それらしい情報が見つかりません。
お願いします。
156デフォルトの名無しさん:2005/08/29(月) 22:01:18
>>155
例えば今から2005/9/1 0:00 までの日数は

#include <DateUtils.hpp>

DaysBetween(Now(), EncodeDateTime(2005, 9, 1, 0, 0, 0, 0));   // 整数で (2日)
DaySpan(Now(), EncodeDateTime(2005, 9, 1, 0, 0, 0, 0));     // 実数で (2.084…日)
157デフォルトの名無しさん:2005/08/29(月) 22:50:28
>>155
TDateTime someday, anyday; //適当に値を設定
int sub = (int)anyday - (int)someday;
158デフォルトの名無しさん:2005/08/29(月) 22:57:43
>>157
日付またぐ時と、そうでない時とで1日の数え方が変わってる
159デフォルトの名無しさん:2005/08/29(月) 23:15:11
あ、いや残日数の捕らえ方で変わるか
160デフォルトの名無しさん:2005/08/29(月) 23:34:49
残日数というときはDaysBetweenより>>157の方が自然だと思ったんだけど。
まぁ、質問者がどっちの結果を望んでるかだな。
161デフォルトの名無しさん:2005/08/30(火) 00:12:32
>>156-160
即レス感謝です!! Editなどに日付を入力するので、次のような形にしてみました。
なんていうか、うまいやり方が思いつきません。_| ̄|○
if(Now()<EncodeDateTime(yd,md,dd,0,0,0,0))
   cntdn=DaysBetween(Now(),EncodeDateTime(yd,md,dd,0,0,0,0))+1;
else if(DaysBetween(Now(),EncodeDateTime(yd,md,dd,0,0,0,0))==0)
   cntdn="今日";
else
   cntdn="過ぎた";
162デフォルトの名無しさん:2005/08/30(火) 00:25:34
>>161
何がしたいか日本語で明確に質問して。
使用するコンポーネント、変数の型と用途もきちんと書くべし。
163デフォルトの名無しさん:2005/08/30(火) 00:39:16
>>161
何がしたいのかよく分からんが例えば

 TDateTime target; //これは適当に設定する
 int sub = (int)target - (int)Now(); //現在時刻からの残日数を求める
 String mes;
 if ( sub > 0 )
  mes = Format( "あと%d日", ARRAYOFCONST((sub)) );
 else if ( sub == 0 )
  mes = "今日";
 else
  mes = "過ぎた";
 ShowMessage( mes );
164デフォルトの名無しさん:2005/09/01(木) 23:12:13
StringGridについて質問です。
マウスで選択したセルがどれか知るには、どうすればいいでしょうか?
セルを選択した状態でボタンを押すと、Labelにセルの内容を表示みたいなことをしたいのですが。
お願いします。
165デフォルトの名無しさん:2005/09/01(木) 23:36:08
printf(%s,'ヌルポ\n');
166デフォルトの名無しさん:2005/09/01(木) 23:45:13
ShowMessage("ガッ");
167デフォルトの名無しさん:2005/09/01(木) 23:51:56
>>164
TStringGrid::Selectionで取得。
168デフォルトの名無しさん:2005/09/02(金) 01:06:39
>>167
ありがとうございます!
169デフォルトの名無しさん:2005/09/05(月) 12:01:56
http://homepage3.nifty.com/flare/pc/bcb/data/007.html
このページを参考にしてDirectXを試してみたのですが、エラーが出て
きてしまいました。
[リンカ エラー] 外部シンボル 'DirectDrawCreate' が未解決(C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ が参照)
ここに書いてある通りにやっているとは思いますが・・・
解像度のイベントは新規プロジェクトでボタンを貼り付けただけのものでボタンのイベントに書いております。
解決するにはどのようにしたらよろしいのでしょうか?
170デフォルトの名無しさん:2005/09/05(月) 12:09:09
>>169
どっかに
#pragma link "ddraw.lib"
って書いてみて
171デフォルトの名無しさん:2005/09/05(月) 13:47:39
自動作成の対象ではないフォームの作成と表示の方法を教えてくだすれ
172デフォルトの名無しさん:2005/09/05(月) 14:44:08
>>171
TFormHoge* hoge = new TFormHoge( Owner );
hoge->Show(); // or ShowModal()
173169:2005/09/05(月) 17:52:31
>>170
先のテストプロのUnit1.cppに書きました。
そしたら
[リンカ 致命的エラー] Fatal: ファイル DDRAW.LIB が開けません
と出てきました。
大変お手数ですが、再度教えていただけないでしょうか?
174デフォルトの名無しさん:2005/09/05(月) 18:12:32
>>173
BCBをインストールしたフォルダのどっかにddraw.libがあるんで、
#pragma link のあとにそのフルパスを指定するか、
プロジェクトオプション」のライブラリパスにddraw.libのあるフォルダのパスを追加するか、
「プロジェクトに追加」でddraw.libを追加。
175デフォルトの名無しさん:2005/09/05(月) 19:23:36
C++Builderはver1.0以来遠ざかっていたのですが、最近再び興味が湧いてきて
遅まきながら C++Builder Hello World Application in DeXter のデモも拝見しました。
ttp://www.drbob42.com/cbuilder/

これを見ると統合の煽りもあってか、ぱっと見C#系というかVisual Studioというか、
フォームを取り巻く環境がが随分と様変わりしているようなのですが、そうなって来ると
今この時点で単独製品としてのBCB6を押さえておく方が良いのかという気にもなってきます。
あるいはここまで来たら新製品のリリースを待つべきなのかどうか、その辺をご教授
頂けないでしょうか。
176デフォルトの名無しさん:2005/09/05(月) 21:30:39
>>175

ボーランドのホームページ見たら、
8月末で現行BCB6の販売が終わったようですよ。

177デフォルトの名無しさん:2005/09/05(月) 21:48:14
>>176
こらこらいいかげんなこと言わない。

>2005/8/31をもちましてC++Builder 6 StarTeam 2005 Editionの販売を終了いたしました。

他のパッケージはまだ売ってるよ。
178デフォルトの名無しさん:2005/09/05(月) 21:54:28
VSライクのIDEはXGAだと作業領域が狭くなりがち
悪いところは真似しなきゃよかったのにね
179176:2005/09/05(月) 23:26:36
>>177
StarTeam付きが終了しただけなのね。
8/31付価格表pdfに載ってますね。
スマソ>>175
180173:2005/09/06(火) 09:25:31
>>174
ありがとうございます。
ライブラリパスの設定でコンパイルは通りました。

ただ、また1点問題が…
フルスクリーン化までは成功しているのですが、解像度の変更が
出来ておりません。
当方の簡単な環境ですが、BCB6#4でディスプレイは1600x1200(32bit)です。
他に何かすることがあるのでしょうか?
181デフォルトの名無しさん:2005/09/06(火) 09:50:04
>>180
http://sz.sakura.ne.jp/~mimi/uti/kaiharu/08.htm
によると24bppはサポートしてない場合があると書いてるけど、他のモードもだめ?
182デフォルトの名無しさん:2005/09/06(火) 10:36:20
>>180
いまどきのモニタなら24bitはサポートしてないでしょ。
8か32でやってみ。
183180:2005/09/06(火) 10:54:11
>>181-182
ありがとうございます。
32bitにしたところ問題無く動作しました。
モニタに依存するものでしたか・・・
>>169で出したページより>>181で教えて頂いたページのほうが
エラーチェックまでしてあって良いですね。

教えて頂きました皆様、ありがとうございました。
184デフォルトの名無しさん:2005/09/06(火) 14:15:11
>>175
とりあえず、BCB6は使いやすいから持っとくべし。
次バージョンはDelphiとの統合で重(ry
185デフォルトの名無しさん:2005/09/07(水) 06:26:33
重(ry だけで済むといいけど
186デフォルトの名無しさん:2005/09/07(水) 10:08:18
次バージョンはいつごろ(ry
187デフォルトの名無しさん:2005/09/07(水) 18:54:54
くだ質ですが下記のようなエラーがでます。
class Hoge : public TForm, public Foo
[C++ エラー] Hoge.h(102): E2246 Foo は、抽象およびパブリックの、
データを持たない単一の継承クラス階層ではない

エラーコードをヘルプで調べたら
    内部コンパイラエラー。コンパイラがクラス階層に制約を強制することがあります。
    この場合,すべてのクラスは抽象クラスであり,
    すべてのクラスに親が 1 つだけ存在するという制約になります。
とありました。

TForm + 他のクラスのような多重継承は出来ないのでしょうか?
188デフォルトの名無しさん:2005/09/07(水) 19:13:20
>>187
ヘルプより

> C++ と異なり,Object Pascal 言語は多重継承をサポートしません。
> VCL か CLX を派生元にして作成されたクラスも,この制約を継承します。
> つまり,VCL/CLX クラスから直接派生したクラスでなくても,
> VCL スタイルの C++ クラスは複数の基本クラスを使用できません。
189デフォルトの名無しさん:2005/09/07(水) 19:33:01
で、エラーメッセージで抽象クラスがどうこう言ってるのは、

> C++ で多重継承を使うケースの多くは,Object Pascal コードではインターフェースで代用できます。
> 純粋仮想関数だけを持ち,データメンバーを持たないクラスがある場合,
> C++Builder のコンパイラは,これを Object Pascal のインターフェースに対応するクラスとして認識します。
> このように,VCL スタイルクラスを作成して,多重継承を使用することが可能です
190187:2005/09/07(水) 23:45:57
>>188-189
ありがとうございます。
共通のインターフェースを実装することが目的だったので
助かりました。

前回は仮想関数で実装していたので純粋仮想関数にして継承させたらうまくいきました。
純粋仮想関数という機能に気づきませんでした。
191デフォルトの名無しさん:2005/09/10(土) 10:20:39
192名無しさん@そうだ選挙に行こう:2005/09/11(日) 18:49:41
BCBは1〜6まで使ってきましたが、Delphiほどそんなにバージョンごとの
差異は感じられませんでした。個人的には5か6で十分かなと思います。
今のうちにBCB6proを確保しておくべきです。絶対にあとで後悔するでしょう。
私はデータベース関係のアプリは作らないので、最近になって、personal版も
買いました。起動爆速、CLXなんて使いもしないライブラリがなくてすっきりです。
>>175
193デフォルトの名無しさん:2005/09/12(月) 05:28:44
.strというファイルが出来たのですが、このファイルはどのような役目のファイルなのでしょうか
194デフォルトの名無しさん:2005/09/12(月) 20:55:43
>>192
起動時の標準コンポーネントからCLXとDB関係を抜けばいいだけな気が‥‥
195デフォルトの名無しさん:2005/09/13(火) 08:16:57
196デフォルトの名無しさん:2005/09/13(火) 16:11:22
VCL は Object Pascal で書かれているんですか?
197デフォルトの名無しさん:2005/09/13(火) 18:35:52
いえ、Delphi言語で書かれています。
198デフォルトの名無しさん:2005/09/16(金) 03:20:49
一部アセンブラです
199デフォルトの名無しさん:2005/09/16(金) 07:55:06
Delphi言語にはアセンブラ表現も可能というか含まれております
200デフォルトの名無しさん:2005/09/18(日) 23:55:39
DelphiとBCBでまったく同じアプリをつくったけど、
どうしてもBCBが200KBほどデカくなる傾向にある。
サイズをできるだけ小さくする方法はないものか
201デフォルトの名無しさん:2005/09/19(月) 00:30:16
MFC使うw
202デフォルトの名無しさん:2005/09/19(月) 01:19:30
おーそーなんだ
200Kはでかいような、気にしないような微妙なサイズですな
203デフォルトの名無しさん:2005/09/19(月) 08:30:34
MFCのスタテックリンクの方が根本的にデカイように思うが

>>199
BCBだとCとDelphiの両方のライブラリをリンクするからじゃないの?
解決法は無いと思うよ。

・基本的にDelphiで作って、Cのコードをはobjでリンクする
・圧縮実行ファイルにして誤魔化す
204デフォルトの名無しさん:2005/09/19(月) 15:32:00
>>199
DOS版のTurbo Pascalの頃すでにそうだったものね

というかCP/M版でもそうだったんだろか
205デフォルトの名無しさん:2005/09/20(火) 03:43:08
>>200
実行時パッケージを使って構築
206デフォルトの名無しさん:2005/09/20(火) 05:32:16
>>199
BCB だと *.asm が混じってたから Delphi もそうだと思ってたよ
207デフォルトの名無しさん:2005/09/20(火) 09:57:52
>>205
すげえ。ダイナミックリンクしといてファイルサイズが(以下略
208デフォルトの名無しさん:2005/09/20(火) 12:42:11
>>206
Turbo Pascalは某が標準PASCALを無視して万能を目指したからだろうね
組み込み屋さんのコードとか見るとasm文のオンパレード
209デフォルトの名無しさん:2005/09/23(金) 07:00:16
568 名前: デフォルトの名無しさん [sage] 投稿日: 2005/09/22(木) 11:44:11
並べてみると壮観だね

A list of features in Dexter
http://groups.google.co.jp/group/borland.public.cppbuilder.non-technical/msg/901d7e5f9cb15e40?hl=ja&
210デフォルトの名無しさん:2005/09/24(土) 02:04:06
ちゃんと動けばいいね。D2005 だってスペックは壮観だったけど、実物はひどかったし
211デフォルトの名無しさん:2005/09/24(土) 03:30:33
無償版のBuilderXは有償版の奴と比べてどうなんですか
212デフォルトの名無しさん:2005/09/24(土) 04:39:38
>>211
スレ違い。こっち。
Borland C++ BuilderX
ttp://pc8.2ch.net/test/read.cgi/tech/1065260556/l50
213デフォルトの名無しさん:2005/09/24(土) 15:04:32
TFormのTって何? ただのFormじゃいかんの?
214デフォルトの名無しさん:2005/09/24(土) 15:17:15
MFCがCで始めるのと同じで、単にTで始めたら クラスとかの型だよって事
215デフォルトの名無しさん:2005/09/24(土) 15:28:05
TForm1* Form1 = new TForm1;

Tがあれば型名。なければ変数名と一目で分かるようになってる。
216デフォルトの名無しさん:2005/09/24(土) 18:42:49
型名だから間違いなくTypeのTだろうな。
217デフォルトの名無しさん:2005/09/24(土) 20:37:01
Typという説もある(ドイツ語)。
218デフォルトの名無しさん:2005/09/25(日) 04:07:53
ボーランドのことだ、Turboかもしれん。
219デフォルトの名無しさん:2005/09/25(日) 11:52:00

OnMouseUpのイベントと
OnMouseDownのイベントの関数を別にしたいんですが、

プロパティ画面でどちらかを変更するともうかたいっぽも同じ関数になります。
どうすればいいんでしょうか。
220219:2005/09/25(日) 12:13:57
一回両方とも空にしてから変更したら別になりました。お騒がせしました。
221デフォルトの名無しさん:2005/09/25(日) 13:49:32
MFCのCは何?Cincoのこと?
222デフォルトの名無しさん:2005/09/25(日) 13:55:12
Cincoってなに?
223デフォルトの名無しさん:2005/09/25(日) 14:13:00
>>222
スペイン語で”5”の事では?
224デフォルトの名無しさん:2005/09/25(日) 15:31:21
Microsoft Foundation Class
225デフォルトの名無しさん:2005/09/26(月) 13:17:05
コードエディタでコードを複数列選択してまとめて字下げさせるのはどうすんの?
選択してTab押したら消えた。
226デフォルトの名無しさん:2005/09/26(月) 13:39:38
>>225
Shift+Ctrl+I で字下げ
Shift+Ctrl+U で地上げ
227デフォルトの名無しさん:2005/09/26(月) 21:53:17
>>225
http://homepage1.nifty.com/fuu/software/nonfreecursor.htm
フリーカーソル無効化&Tab/Shift+Tabで字上げ/字下げIDEコンポ
228デフォルトの名無しさん:2005/09/28(水) 23:50:14
229デフォルトの名無しさん:2005/09/29(木) 17:16:33
ボタンを5つくらい並べて、どれをクリックされても

Edit1->Text = (押されたボタン->Caption);

って動作がしたいんだけど、上手くまとめる方法はないですかねえ?
230デフォルトの名無しさん:2005/09/29(木) 17:23:09
Button2->OnClick = Button1->OnClick;
231デフォルトの名無しさん:2005/09/29(木) 17:26:30
winアプリについてなんですが、エディットの背景色ってかえられないんですか?
232デフォルトの名無しさん:2005/09/29(木) 17:35:01
>>230
例えばボタンが100個に変更されても、
200個に変更されても、ソースの修正点が少なくてすむような、
そんなまとめかたをしたいのです。
233デフォルトの名無しさん:2005/09/29(木) 17:43:20
>>229
別に複数のコンポーネントが1つのイベントハンドラを共有していても問題ないが。
押されたボタンのキャプションはSenderから取得できる。
234デフォルトの名無しさん:2005/09/29(木) 17:45:12
>>232
動的にボタンを生成するという意味ならループまわして>>230が一番簡単だよ。
235デフォルトの名無しさん:2005/09/29(木) 17:56:27
>>233のSenderから取得する方法詳しくおねがいします。

>>231 プロパティのColorじゃだめなの?
236デフォルトの名無しさん:2005/09/29(木) 17:59:07
if ( TButton* bttn = dynamic_cast<TButton*>( Sender ) )
 Edit1->Text = bttn->Caption;
237デフォルトの名無しさん:2005/09/29(木) 18:10:59
>>236
これがしたかったんです!
ありがとうございました。

…っていっても、文見てもどんな動作してるのか分からないので、
もうちょっと検索してみます。
238デフォルトの名無しさん:2005/09/30(金) 00:05:23
関数をどのフォームからでも呼べるようなグローバル関数にするにはどうすれば良いのでしょうか。
239デフォルトの名無しさん:2005/09/30(金) 00:16:32
>>238
DLLにすれば?
240デフォルトの名無しさん:2005/09/30(金) 00:30:53
>>239
アホ

>>237
まずユニットのヘッダのClass{ }の外側に

extern "C" void a(int b);

みたいに宣言する。

でその関数の実体をユニットのソースに

void a(int b){

・・・

}

みたいに書く。これでOK。
241デフォルトの名無しさん:2005/09/30(金) 00:55:32
>>238
素直にヘッダファイル使え
242240:2005/09/30(金) 00:56:30
書き忘れた。
その関数を呼び出すフォームで #includ "Unit〜.h" みたいにインクルードしてから呼ぶべし。  
243デフォルトの名無しさん:2005/09/30(金) 01:17:58
ただグローバル関数にしたいってだけなんだから、extern "C"はイランだろ。勘違いするぞ。
244デフォルトの名無しさん:2005/09/30(金) 01:44:37
//ヘッダファイル hoge.h
#ifndef HOGE_H
#define HOGE_H
#pragma link "hoge"

int hoge( void ); //関数の宣言

#endif


//ソースファイル hoge.cpp
int hoge( void ) //関数の定義
{
 return 0;
}

そしてhoge()を使用したいフォームのソースに #include "hoge.h"を追加



…回答するやつにも超初心者がちらほらするこのスレ。
245デフォルトの名無しさん:2005/09/30(金) 05:57:21
たしかに
246デフォルトの名無しさん:2005/09/30(金) 07:08:14
>>244
一体そのヘッダでどんな関数が書けるのかな、1+1とかかな。ネタだよな。
247デフォルトの名無しさん:2005/09/30(金) 08:17:10
>>244で正解
ただしhoge.cppをプロジェクトに追加するか、
事前にhoge.cppのみコンパイルしておくか。

後者の場合プロジェクトに追加する必要はないが
リンカにパスが通ってる必要はある。
pragma指令にパスを含めるのでもヲケ。
248デフォルトの名無しさん :2005/09/30(金) 09:45:43
win32 api を使い シリアルポート(RS-232C)の送信受信をやりたいのですが
どうもうまくいきません、この手の参考書も少なく困っています
何か良い参考書またはプログラムの見本の様な物が掲載されている
サイトがありましたらご教授御願いします。
249デフォルトの名無しさん:2005/09/30(金) 09:54:06
250デフォルトの名無しさん:2005/09/30(金) 09:58:39
>>247
プロジェクトの追加はあまりよろしくない。
この場合だとhoge.cppが絶対パスでプロジェクトに追加されるっぽい。
もしエディタ等で作成したソースをプロジェクトに組み込みたい場合は
ユニットの新規作成をして、ファイル名を追加したいものと同じにする。
んで、ファイルを上書きすればおk。
251デフォルトの名無しさん:2005/09/30(金) 10:13:17
>>249
間違いを指摘するのはいいことだ。
だがここは”くだすれ”だから回答もしようジャマイカ

>>248
ttp://www.moriq.com/delphi/CommX106.lzh
これでも使っとけ
252デフォルトの名無しさん :2005/09/30(金) 22:28:24
>>251
ご「教授」ありがとう御座います
何とか出来間に合いそうです感謝しています
253デフォルトの名無しさん:2005/10/02(日) 07:58:37
質問です。
ServerSocketなどでマルチスレッドを使う場合、
グローバル変数の競合が発生するらしく、
TThreadListを使うと書いてあったのですが、これはあるスレッドで、

TList *pList = MyThreadList->LockList();

とすると、他のスレッドでは、
MyThreadList->UnlockList();
としない限り、
TList *pList = MyThreadList->LockList();
の*pListは無効ということですか?
254デフォルトの名無しさん:2005/10/02(日) 11:02:59
複数のスレッドで、同時に一つの変数の値を変更したら、不整合が生じるから、
そのようなことがないようにロックされているときは、アンロックされるまで待つんでしょ。
他のスレッドで変更して良いのか?ロックしたスレッドがアンロックしなければ意味がないと思うが?

セマフォとかも勉強したら良いんじゃね?
255デフォルトの名無しさん:2005/10/02(日) 12:00:13
セマフォ
ミューテックス

デッドロック
256デフォルトの名無しさん:2005/10/02(日) 17:32:51
>>254
ありがとうございます。
TThreadListは初めて使うので、使い方を確認したかったのです。
スレッド1でロックしてあると、
スレッド2で TList *pList = MyThreadList->LockList(); としても、
正しいポインタは帰ってこないのかなと。
257デフォルトの名無しさん:2005/10/03(月) 06:50:38
リッチエディットでTEitのように切り取りや貼り付けのある普通の右クリックメニューを出すにはどうすれば良いのですか。
258デフォルトの名無しさん:2005/10/03(月) 07:29:16
TPopupMenu
259デフォルトの名無しさん:2005/10/03(月) 11:40:14
TOpenDialogでファイルではなくフォルダを選択させるにはどうしたら良いのでしょうか?
それともTOpenDialog以外を使わなければいけないのですか?
260デフォルトの名無しさん:2005/10/03(月) 11:43:38
>>259
SelectDirectory ちゅう関数でフォルダ選択ダイアログだせるよ
261デフォルトの名無しさん:2005/10/03(月) 11:57:17
>>260
ありがとうございます。できました。
262デフォルトの名無しさん:2005/10/03(月) 15:21:07
それってデフォフォルダを指定したらそこから上の階層に移動できなかったよね
263デフォルトの名無しさん:2005/10/04(火) 17:00:33
継承元ってどうやって呼ぶんだ
264デフォルトの名無しさん:2005/10/04(火) 17:04:20
ParentClassName::Method();
265デフォルトの名無しさん:2005/10/04(火) 17:14:15
>>264
dクス
sparみたいなのってないのか?
266デフォルトの名無しさん:2005/10/04(火) 19:29:22
   ハハハ
   ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( ^∀^)<  spar
  ( つ ⊂ ) \_________
   .)  ) )
  (__)_)     (^∀^)ゲラゲラ superダロ
267デフォルトの名無しさん:2005/10/05(水) 10:39:55
>>265
こんな感じでどうよ?
http://2ch2.net/.l?=3wel
268デフォルトの名無しさん:2005/10/05(水) 20:50:02
>>265
http://www.hawaiians.co.jp/
こんなのは?
269デフォルトの名無しさん:2005/10/06(木) 14:34:05
TRegistryで質問ですが
reg->WriteBool( "aaaa", true );
で書き込んだキーをDeleteKeyするとエラーになって消せません
reg->DeleteKey( "aaaa" );
どうすれば消せるようになりますか?
270デフォルトの名無しさん:2005/10/06(木) 14:44:26
>>269
それDeleteKeyじゃなくてDeleteValueじゃね?
271デフォルトの名無しさん:2005/10/06(木) 15:51:57
>>270
あ、そっちでしたか。試してみます
272デフォルトの名無しさん:2005/10/07(金) 00:16:04
アプリケーションの終了はメインフォームをClose();させるだけでいいんでしょうか。
確実に解放するEnd関数みたいなのは無いんでしょうか。
273デフォルトの名無しさん:2005/10/07(金) 00:26:40
意図したとおりに動けば、メインフォームのCloseで確実に解放されますよ。
274デフォルトの名無しさん:2005/10/11(火) 01:42:10
TApplication::Terminate
275デフォルトの名無しさん:2005/10/11(火) 02:08:44
メインフォームのClosenのほうがマシ
276デフォルトの名無しさん:2005/10/11(火) 16:46:17
任意の数の配列を取得し、そのグラフ(折れ線)を表示するプログラムを作成してます。
任意ですとデータ系列の追加を手動ではなく
プログラム上で行う必要があるようなのですがその手法が分かりません。
どなたか教えていただけますでしょうか?

例えばhoge[100][30]とかだったらグラフを1〜100までの間で任意の数表示できるようにしたい。
ということです。
277デフォルトの名無しさん:2005/10/11(火) 17:20:35
意味わかんね
グラフは自分で描いてるならどうにでもなるんじゃないの
278デフォルトの名無しさん:2005/10/11(火) 17:21:42
TabSheet1にGroupBox1を貼り付けてGroupBox1にGroupBox2を貼り付けて
GroupBox2にPanelを貼り付けた時にPanelの最上位のParentがTabSheet1だと簡単に取得する方法はありますか?
279デフォルトの名無しさん:2005/10/11(火) 17:36:34
> Panelの最上位のParentがTabSheet1だと

TabSheet1 も子ウィンドウで TPageControl が親、さらにその親がフォームなわけだが
280デフォルトの名無しさん:2005/10/11(火) 18:47:52
じゃあ最上位じゃなくて普通にTabSheet1を簡単に取得したい
フォームはOwnerにあるからいい
281デフォルトの名無しさん:2005/10/11(火) 19:39:13
じゃあ、って・・・
282デフォルトの名無しさん:2005/10/11(火) 19:53:22
>>278
>Panelの最上位のParentがTabSheet1だと簡単に取得する方法

1.PanelがTabsheet1以下のコントロール群の一員であることを確認する。
2.Panelの所属しているコントロールの上位にあるはずのTTabSheet型コントロールのポインタを取得する。

どっちの意味?
283デフォルトの名無しさん:2005/10/11(火) 20:10:53
じゃあ両方教えて
284デフォルトの名無しさん:2005/10/11(火) 20:41:01
1.つ[ContainsControl]
2.つ[dynamic_cast]
285デフォルトの名無しさん:2005/10/11(火) 21:20:12
parent の連鎖を辿っていく

Delphi だとこれでうまくいく

function FindParentTabSheet(ctl: TControl): TTabSheet;
var
  oya: TWinControl;
  flag: Boolean;
begin
  flag := false;
  repeat
    oya := ctl.Parent;
    flag := (oya is TTabSheet) or (oya = nil);
    ctl := oya;
  until flag;
  result := TTabSheet(oya);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  ts: TTabSheet;
begin
  ts := FindParentTabSheet(Panel1);
  if Assigned(ts) then
    Label1.Caption := ts.Name
  else
    Label1.Caption := 'not found';
end;
286デフォルトの名無しさん:2005/10/11(火) 21:24:21
flag := false; これはいらんかった
287デフォルトの名無しさん:2005/10/11(火) 21:55:59
くだすれでDelphiネタふるなよ。
それをC++に読み替えできるようなやつがここで質問するか?
288デフォルトの名無しさん:2005/10/11(火) 22:00:00
疑似コードとして論理をしめしただけだろ。
回答できる人は翻訳ぐらいできるだろ。文句あるなら回答しめせよ。
289デフォルトの名無しさん:2005/10/11(火) 22:13:21
回答は>>284で出てるでしょ。

そもそも、DelphiをC++に翻訳できる人間が
その程度のコード自力で書けないと思ってるわけ?
290デフォルトの名無しさん:2005/10/11(火) 22:22:18
あとからでは何とでも言えるし。
291デフォルトの名無しさん:2005/10/11(火) 22:23:48
そもそも>>284で分かるようなら、くだすれで質問しないし
292デフォルトの名無しさん:2005/10/11(火) 22:30:25
>>290
先にこんな話題が出るわけないじゃん。
あとから言うのは当然。
それを後付の屁理屈みたいに貶めようとしても無駄。
293デフォルトの名無しさん:2005/10/11(火) 23:11:52
質問者の態度が厨だから誰もまともに相手してないだけなんだが。

念のために言っておくと、>>285のコードをC++に翻訳しようとすると、
実は詰まってしまう個所がある。その答え(の1つ)が>>284にあるわけで、
それが見抜けないで>>290って言ってる様じゃ寒い罠。
294デフォルトの名無しさん:2005/10/11(火) 23:15:07
いろいろ後から言っても説得力無いなぁ。>>284 は未来予見超能力コードなのね。
295デフォルトの名無しさん:2005/10/11(火) 23:15:46
いいから速く翻訳しろよ。
296デフォルトの名無しさん:2005/10/11(火) 23:52:26
C++使ってる人はデルファイとか知らないよ。使う必要ないし。
297デフォルトの名無しさん:2005/10/11(火) 23:56:51
今必要になったじゃないか
298デフォルトの名無しさん:2005/10/11(火) 23:57:35
VCLもそうだけど世に出てるフリーソフトは結構Delphiで書かれてる。
かつDelphiで書かれてるOpenJaneとかはオープンソースだから
Delphi読めるようになると結構勉強になる。
299デフォルトの名無しさん:2005/10/12(水) 00:00:41
別にデルファイを非難するわけじゃないが、
C++はその百倍は資産があるよ。
300デフォルトの名無しさん:2005/10/12(水) 00:03:15
確かにそうなんだがVCLを必要とするBCB特有の事情だね
301デフォルトの名無しさん:2005/10/12(水) 00:06:09
C/C++のソースが読めるならDelphiのソースは読めるよ。
Delphiで書けと言われると厳しいが。
BCB使ってるとVCLのソースを読む必要に駆られることが多いから
読むだけならそのうち自然に覚えちゃう。
302デフォルトの名無しさん:2005/10/12(水) 00:13:22
そういうこと。Delphiに文句言ってるとBCBで無駄に苦労する。
Delphiの上に成り立ってるんだから当然と言えば当然だけど。
303デフォルトの名無しさん:2005/10/12(水) 00:30:48
倒産したんだから、どっちも将来性無し。
304デフォルトの名無しさん:2005/10/12(水) 01:19:09
305デフォルトの名無しさん:2005/10/12(水) 11:38:13
じゃあおしえて
306デフォルトの名無しさん:2005/10/12(水) 13:19:25
なにが「じゃあ」なのかおしえて
307デフォルトの名無しさん:2005/10/12(水) 13:46:38
>>306
jar教えて
308デフォルトの名無しさん:2005/10/12(水) 13:52:19
sir知らんがな
309デフォルトの名無しさん:2005/10/12(水) 16:33:44
じゃあ知らないでいいや
310デフォルトの名無しさん:2005/10/13(木) 14:32:24
TListViewで指定行の背景色を変更する方法を教えてください
311デフォルトの名無しさん:2005/10/14(金) 00:09:09
カスタムドロー
312デフォルトの名無しさん:2005/10/14(金) 10:41:53
ガンダムとフォー?
313デフォルトの名無しさん:2005/10/14(金) 12:01:06
CustomDrawSubItemで
if( SubItem == 4 ) Sender->Canvas->Brush->Color = clRed;
とかすると、SubItem4以降もすべてその色になってしまうんですよ
314デフォルトの名無しさん:2005/10/14(金) 13:04:19
じゃ4以外でも色を設定すりゃいじゃないの
315デフォルトの名無しさん:2005/10/14(金) 14:06:25
あ、書き忘れたけど
if( SubItem == 4 ) Sender->Canvas->Brush->Color = clRed;
else Sender->Canvas->Brush->Color = clWindow;
ってやっとりますた
316デフォルトの名無しさん:2005/10/14(金) 22:25:50
if( SubItem == 4 ) Sender->Canvas->Brush->Color = clRed;
else if( SubItem == 5 ) Sender->Canvas->Brush->Color = clBlue;
else if( SubItem == 6 ) Sender->Canvas->Brush->Color = clYellow;
else if( SubItem == 7 ) Sender->Canvas->Brush->Color = clYattaro;
else Sender->Canvas->Brush->Color = clWindow;
317デフォルトの名無しさん:2005/10/16(日) 11:53:31
318VIPから失礼します:2005/10/16(日) 12:00:19

これもVIPクォリティ?
小学6年生の男女が裸体うp祭り中!!!

VIPになら小学6年生ぐらいは来てるだろ?
http://ex11.2ch.net/test/read.cgi/news4vip/1129427490/
319デフォルトの名無しさん:2005/10/17(月) 10:57:33
画像のラベリングのやり方や特徴を調べる方法、仕組みなど教えてください。
お願いします。
320デフォルトの名無しさん:2005/10/17(月) 11:32:27
>>319
誘導されてきたようだが、残念ながらスレ違いだ。
画像処理スレあたりに逝け。

相手してもらえるかどうか判らんが。
321デフォルトの名無しさん:2005/10/17(月) 11:49:07
>画像のラベリングのやり方や特徴を調べる方法、仕組みなど教えてください。

サイトのコンテンツ一つできそうだな
322デフォルトの名無しさん:2005/10/18(火) 12:46:53
すみません、質問です。

BCB6 Personalなんですが、
TToolBarのMenuプロパティに
ファイル(&F)->終了(&X)となっているメニューを指定し、
フォームにはTStringGridを置いています。

実行し、StringGridの上でFキーをおすと
フォーカスがメニューのファイル(&F)に移動してしまいます。

OnKeyPressで処理したいのですが、FとXともにイベントが発生しません。
これをフォーカス移動しないようにできないでしょうか。

よろしくお願いします。
323デフォルトの名無しさん:2005/10/18(火) 17:18:18
BCB5使いです。
..\Borland\CBuilder5\Examples\Internet\Chat
にあるサンプルプログラムで、
1台のPCで、自身のIPに接続し文字入力すると、
ローカルエコーのように入力文字を表示します。

これを別PC(IP)に接続し、2台のPCでチャット
させることは可能なのでしょうか?
324デフォルトの名無しさん:2005/10/18(火) 17:40:35
可能
325デフォルトの名無しさん:2005/10/18(火) 17:44:41
>>319
たらいまわしで済まないけど、正しい質問先はこちら。

画像処理スレッドその5
http://pc8.2ch.net/test/read.cgi/tech/1127705848/l50

過去ログを読むと、情報はあるかも。以前のログへのリンクもある。
326323:2005/10/18(火) 17:53:41
>>324
Address Name に別PCのIP(例:192.168.0.10)を設定して実験してみましたが、
Error connecting to:192.168.0.10
と表示されてしまいます。
ちなみに別PCのIPに対してpingするとtimeoutになります。
192.168.0.10のPCが見えていないようなんですが、なぜなんでしょうか・・・
ご教授ください。よろしくお願いします。
327323:2005/10/18(火) 17:56:23
ついでに・・・、
>>322 Editモードにすればよろしいかと。
328デフォルトの名無しさん:2005/10/18(火) 18:20:09
329323:2005/10/18(火) 18:40:15
ご教授・・・ご教示ください。
なんですね。初めて知りました。ご指摘ありがとうございます。
330322:2005/10/18(火) 18:52:54
>>327
どもです、これなら大丈夫ですね
ただgoEditingは無効(InplaceEditorが完全に出ないよう)にしたいので
今InplaceEditorを弄ってどうにかできないかとやっています

goEditingがtrueの時にどういうことをしているか分かれば楽なんですが…
331322:2005/10/18(火) 19:19:49
何度もすみません。
GetEditTextをオーバーライドしてEditorMode = false
でそれっぽく動くみたいです。

助かりました、ありがとうございます。
332322:2005/10/18(火) 20:03:29
と思ったらgoEditingがtrueだとgoRangeSelectがfalseになっちゃうんだった…
orz

どうにもならなかったらメニューをToolBarに置かないようにします
スレ汚しすみませんでした。
333323:2005/10/18(火) 20:48:08
>>332
ALT+Fのキー操作で行くものではないのですか。知らなかった。
それとBCB5ではTToolBarにMenuプロパティがなかったりします^^
FormのOnKeyPressを使ったりするのは、スマートな方法では無いですね。
と書きながら思ったのですが、StringGridは本当にフォーカスされたんですよねぇ。
BCB5とBCB6ではえらい違ってるのかしら・・・。
334322:2005/10/18(火) 23:14:39
たびたびすみません。

>>323
通常はそうですよね。
同じフォームにあるTreeViewだと大丈夫なんですが、
StringGridにフォーカスがあるときだけ、単一キーで
OnKeyDownが呼ばれた後にメニューにフォーカスが移動します。
(FormでKeyPreview=trueにしてもFormも同じ)

それっぽい情報が見つからないので 謎です。

こういうときにソース見られるといいんですが
なかなか手がでないです…ううむ 
335デフォルトの名無しさん:2005/10/19(水) 00:09:31
既存のボタンやらエディットやらのコンポーネント全部何かして
コンポーネントパレットに表示されなくなったんだけど、
またパレットに表示させて使うにはどうすればいいですか?
336デフォルトの名無しさん:2005/10/19(水) 00:12:54
メインメニュー→コンポーネント→パレットの設定
337335:2005/10/19(水) 00:21:55
うまく元通りできるようになにましたよ。thx
338デフォルトの名無しさん:2005/10/19(水) 10:37:31
>>323はわからない人に教えるのはいいことなのだが、
自分の問題は解決したのか?

ひとまずpingしてtimeoutになる以上BCBのせい以前に
環境の問題だわな。
自分のIPアドレス・相手のIPアドレス・火壁・ノートン先生など
確認すべきではなかろうか。
339デフォルトの名無しさん:2005/10/19(水) 11:28:53
黙れ
340デフォルトの名無しさん:2005/10/19(水) 23:42:32
すみません、助けてください。
「乱数を30000個ずつ3行発生させるプログラム」がどうしても作れません…。
誰か助けてください…。
341デフォルトの名無しさん:2005/10/20(木) 00:03:18
次回作は出ますか?
342デフォルトの名無しさん:2005/10/20(木) 00:35:29
>>340
こっち
C/C++の宿題を片づけます 51代目
http://pc8.2ch.net/test/read.cgi/tech/1128493272/
343323:2005/10/20(木) 12:34:49
>>338
はい>>326のレスで、なんとか自力で・・・と試行錯誤の据え通信が出来ました。
結果はファイヤーウォールの除外にIPをセットしてOKでした。
ただ、数万文字分のデータを一括に受信出来ないのですよ。なんでだろ。
何かのオブジェクトでリミット等が存在するのかな?
AnsiStringは2^31個まで認識可能みたいなのに・・・。
>>339
・・・寂しい(はあと)
344デフォルトの名無しさん:2005/10/20(木) 14:28:37
MDI子フォームのグローバル座標を取得する方法を教えてください
345デフォルトの名無しさん:2005/10/20(木) 19:59:05
>>344
試してはいませんが、親フォームのグローバル座標と
子フォームのローカル(?)座標の関係から逆算すれば
良いかと思うのですが・・・どうでしょうか。
346デフォルトの名無しさん:2005/10/20(木) 20:00:25
>345ですが、逆算ではなく・・・計算かな^^
347デフォルトの名無しさん:2005/10/20(木) 20:23:14
^^^
348デフォルトの名無しさん:2005/10/21(金) 00:41:09
>>344
RECT rect;
GetWindowRect( MDIChildWindow->Handle, &rect );
349デフォルトの名無しさん:2005/10/21(金) 00:41:36
>>343>>323
MTU関連かな?
350デフォルトの名無しさん:2005/10/21(金) 14:30:07
フォームのCreateイベントでListView->Items->Clear( )などListViewを操作しても反映されないないのですが
どうやったらCreateイベントでListViewに反映されますか?
ちなみに、Showではできます。
351デフォルトの名無しさん:2005/10/21(金) 14:53:39
>>350
コンストラクタで、必要な初期設定をします。

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
//初期設定


}
352デフォルトの名無しさん:2005/10/22(土) 00:10:57
ものすごい回答だな
353デフォルトの名無しさん:2005/10/22(土) 00:27:01
>>350
OnCreate内でListView->Items->Clear()する意味が分からない。
まさかと思うが、以下の点を明確にせよ。

1.ListViewが載っているフォームはメインフォームか否か。
2.操作が反映されないのはどのタイミングか。
 1)フォームが最初に表示されたとき
 2)フォームが2度目以降に表示されたとき



>>351-352
まぁ、「TForm::OnCreateはつかうな、コンストラクタ使え」とはヘルプに書いてある罠。
しかし、>>350の原因は別にありそうだ。
354デフォルトの名無しさん:2005/10/22(土) 08:33:37
OnCreate イベントは,フォームを作成したときに発生します。

__property Classes::TNotifyEvent OnCreate = {read=FOnCreate, write=FOnCreate, stored
=IsForm};

説明

OnCreate イベントハンドラを記述すると,フォームが作成され,
TCustomForm のコンストラクタによって呼び出されたときに
特別な処理を実行することができます。イベントハンドラを実装,
あるいは TCustomForm のコンストラクタのオーバーライドのいずれかを
行う必要がありますが,両方を行ってはなりません。
OnCreate イベントで作成されたオブジェクトは OnDestroy イベントで解放する必要があります。
フォームが作成されるとき,Visible プロパティが true であれば
イベントが以下の順序で発生します。

1. OnCreate
2. OnShow
3. OnActivate
4. OnPaint

注意フォームのコンストラクタとのやり取りが不良になる可能性が
あるので,C++Builder で OnCreate イベントを使うことはお勧めできません(OldCreateOrder を参照)。かわりに,フォームコンストラクタをオーバーライドすることをお勧めします。
355デフォルトの名無しさん:2005/10/22(土) 18:57:12
動的に生成したボタンのclickイベントのイベントハンドラー
はどうやって作ればいいの?
356デフォルトの名無しさん:2005/10/22(土) 19:01:59
>>355
新しく作ることは出来ないから
あるものを割り当てる
357デフォルトの名無しさん:2005/10/22(土) 19:13:00
>>355
適当なクラスのメンバ関数作って、それ代入すりゃいいよ
358デフォルトの名無しさん:2005/10/22(土) 19:44:47
http://www.ahris.jp/ahris/tips/bcb/bcb0005.txt
 ///////
実行時にコンポーネントを作成する(BCB4用)
 
btnNew->OnClick = btnNewOnClick; //クリックされた時に呼び出す関数
//設定できるイベントはコンポーネントに
//よって変化する。


//イベントによって呼び出される関数を作成する。
//引数が同じならば、他のコンポーネントの関数を流用する事も可能。
void __fastcall TForm1::btnNewOnClick(TObject *Sender)
{
ShowMessage("");
}



フォームのヘッダに関数の宣言を追加しておく
------
private:// ユーザー宣言
void __fastcall TForm1::btnNewOnClick(TObject *Sender);


 
359デフォルトの名無しさん:2005/10/23(日) 20:40:11
#define hage[8] {3,4,3,3,2,3,5,3}
int n = hage[0];

でエラー出るんだけどこれ使い方間違ってます?
360デフォルトの名無しさん:2005/10/23(日) 21:01:23
8≠0
int≠{・・・・}
361322:2005/10/23(日) 21:48:13
const int hage[8] = {3,4,3,3,2,3,5,3};
362デフォルトの名無しさん:2005/10/23(日) 21:52:09
あれ、ミスった
どうしても#define使いたいんじゃなければ↑でいいかなと…

それだと hage[8] と書いたのが {3,4,3,3,2,3,5,3} に置き換わるように定義してるから
おかしいのはなんとなくわかる…はず
363デフォルトの名無しさん:2005/10/23(日) 21:57:32
いや hage が [8] {3,4,3,3,2,3,5,3} に置き換わるべ
364デフォルトの名無しさん:2005/10/24(月) 00:42:57
>>359
C++Builder と全然関係ない問題じゃん。Cの初心者スレに行ってくれ。
365デフォルトの名無しさん:2005/10/24(月) 00:52:11
Cスレじゃ、さすがに相手にしてくれんだろw
366デフォルトの名無しさん:2005/10/25(火) 13:42:33
StringGridの現在のセル(StringGrid->Col, StringGridRow)の座標を取得する方法を教えてください
367デフォルトの名無しさん:2005/10/25(火) 23:13:31
座標? 意味わからん
368デフォルトの名無しさん:2005/10/25(火) 23:15:27
CellRect とか?
369デフォルトの名無しさん:2005/10/26(水) 16:04:35
意味わからん馬鹿はレスしないでください。スレが荒れます
370デフォルトの名無しさん:2005/10/26(水) 18:06:09
明日のセルの座標を取得する方法を教えてください
371デフォルトの名無しさん:2005/10/27(木) 10:45:33
TCanvas *Canvas;
Canvas = new TCanvas( );
した時にCanvasのサイズを指定する方法を教えてください
372デフォルトの名無しさん:2005/10/27(木) 11:20:28
>>371
Canvasは何らかのコントロールに貼り付けないと意味ないのでは?
で、コントロールの大きさ自身がCanvasになってる。
373デフォルトの名無しさん:2005/10/27(木) 11:27:37
http://www.borland.co.jp/qanda/cbuilder/c0003051.html
void __fastcall TForm1::FormCreate( TObject *Sender );
{
Graphics::TBitmap *Bitmap1; //ビットマップを保存するための一時変数

Bitmap1 = new Graphics::TBitmap; //ビットマップオブジェクトを作成します
Bitmap1->Width = 200; //幅の初期値を指定します
Bitmap1->Height = 200; //高さの初期値を指定します

//ビットマップをイメージコンポーネントに割り当てます
Image1->Picture->Graphic = Bitmap1;
}
374デフォルトの名無しさん:2005/10/27(木) 13:50:53
>>371
TCanvasはただのデバイスコンテキストハンドルのラッパだからHandleにHDC入れないと全く意味のないクラス。
375デフォルトの名無しさん:2005/10/27(木) 15:46:14
>>372-374
ありがとうございます。
376デフォルトの名無しさん:2005/10/27(木) 15:50:46
全角のアルファベットや数字を半角に変換する方法を教えてくだあい
377デフォルトの名無しさん:2005/10/27(木) 16:08:21
378デフォルトの名無しさん:2005/10/28(金) 01:36:44
mciSendString("play music NOTIFY",NULL,0,hwnd)
のようにNOTIFY フラグを指定してやると、再生が終わった時に
hwndウインドウにMM_MCINOTIFYメッセージが送られて来る
とネットで検索して見つけたのですが、このMM_MCINOTIFYというのを
どうやって受け取っていいのか分かりません、、、
というかhwndウインドウというのも理解していない状況です
なんとか再生はすることは出来ているのですが、ひとつが終わったら
その次を再生、みたいなことを考えています
全くの初心者ですみませんがご教授いただけたらうれしいです
379デフォルトの名無しさん:2005/10/28(金) 02:07:12
>>378
TMediaPlayer使え





TMediaPlayerって何ですか? と訊き返される御燗
380デフォルトの名無しさん:2005/10/28(金) 02:11:29
mciSendString("play music NOTIFY",NULL,0,Form1->Handle);


http://72.14.203.104/search?q=cache:Eo1yMexBjFUJ:bcbjournal.org/bcbcaq/CAQs/caq8.htm+MESSAGE_HANDLER(MM_MCINOTIFY,+TMessage,+MMMCINotify)&hl=ja&client=opera
void __fastcall MMMCINotify(TMessage &Msg);

public:
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(MM_MCINOTIFY, TMessage, MMMCINotify)
END_MESSAGE_MAP(TForm)
381デフォルトの名無しさん:2005/10/28(金) 02:33:04
 void __fastcall WndProc(Messages::TMessage &Message);
......
......
};

......
......

void __fastcall TForm1::WndProc(Messages::TMessage &Message)
{
if ( Message.Msg == WM_PAINT )
{
......
......
}

TForm::WndProc( Message ); // Default.
}
382デフォルトの名無しさん:2005/10/28(金) 10:36:34
TOpenDialogを詳細表示で起動する方法を教えてください
383デフォルトの名無しさん:2005/10/28(金) 10:46:51
>>378
TForm::WndProcをオーバーライド、またはBEGIN_MESSAGE_MAPマクロ。
あとは非ビジュアルコンポーネントのメッセージ処理に使われる、AllocateHWnd()でメッセージ捕まえる方法も。←TTimerのソース参照
384デフォルトの名無しさん:2005/10/28(金) 15:06:44
TPageControlの枠の色は親FormのColorと同じになりますが、
親FormのColorを実行中に変更してもすぐに反映されません。
一度Visibleをfalseにしてから再度trueにすると反映されますが、
もうちょっとスマートな方法は無いでしょうか。
385デフォルトの名無しさん:2005/10/28(金) 16:11:23
>>384
InvalidateRect(PageControl1->Handle, NULL, TRUE);
386デフォルトの名無しさん:2005/10/29(土) 06:08:12
Button1Click の動作を別のところから呼び出すにはどうしたらいいですか?
Button1Click();
の括弧の中にthisとか入れてみたのですが例外のエラーが発生します。
よろしくお願いいたします。
387デフォルトの名無しさん:2005/10/29(土) 06:10:11
InvalidateRect()
BOOL InvalidateRect(HWND hWnd , CONST RECT *lpRect , BOOL bErase);

指定された長方形を更新領域として追加する

hWnd - ウィンドウのハンドルを指定。NULL の場合、全てのウィンドウを無効化します
lpRect - RECT 構造体のポインタを指定。NULL の場合クライアント領域全体が対象
bErase - TRUE なら BeginPaint() 実行時に背景を消去、FALSE ならそのまま

戻り値 - 成功すれば 0 以外、失敗すれば 0
388デフォルトの名無しさん:2005/10/29(土) 06:13:22
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Button1->Click();
}
389デフォルトの名無しさん:2005/10/29(土) 06:21:12
::InvalidateRect(0,0,false); //画面全体に再描画を要求
390デフォルトの名無しさん:2005/10/29(土) 08:42:12
>>388
即レスありがとうございました
すごくうれしいです
391デフォルトの名無しさん:2005/10/29(土) 09:58:39
TForm1::TForm1で動的(?)にエディットボックスとかをたくさん作っているのですが
なんか出来かけ(?)でフォームが表示されてしまってなんとなく醜いのです
コントロールが全部完全に出来るまで待ってからフォームを表示させることはできないでしょうか?
392デフォルトの名無しさん:2005/10/29(土) 10:01:32
>>391
スプラッシュウィンドウ
Splash Window
Splash Screen
393デフォルトの名無しさん:2005/10/29(土) 10:13:53
http://www.geocities.co.jp/SiliconValley-SanJose/2560/delphi4/forms/Splash.htm

Delphi

Form2 := TForm2.Create(Self);
Form2.Show;
Form2.Refresh;
Sleep(2000); // <--テストの場合。実際には時間のかかる処理を行う。
Form2.Release;
394デフォルトの名無しさん:2005/10/29(土) 11:08:48
初歩的な質問で申し訳ないのですが、
__fastcallってmethod作成の場合使うのですがどういう意味なのですか?
なかったらどうなるのですか?
395デフォルトの名無しさん:2005/10/29(土) 15:25:34
>>394
C標準のスタック渡しでなく、できる限りレジスタを利用するコードになる
繰り返し実行するメソッドなどで引数の少ないものに使うと若干の性能Upに繋がる

上記で判らなければ、使わない事が吉
396デフォルトの名無しさん:2005/10/29(土) 17:09:00
>>395
わかりやすい説明 dクス!
用途に応じて使ってみます。
397391です:2005/10/29(土) 20:55:13
>>392-393
なんとか実現しました
とても表示がすっきりしていい感じになりました
ありがとうございました
398デフォルトの名無しさん:2005/10/29(土) 21:08:52
ファンクションキーに機能を割り当てているのですが、F10で困っています。
例えば Edit1->SetFocus() を割り当てた場合、その動作自体は問題ないのですが、その後にすぐ、
メニュー(TMainMenu)をつけているフォームなので、メニューにフォーカスが入ってしまいます。
Windows標準の動作なのでこれは仕方ないのかなとも思ってはいますが、
F10を押してもメニューにフォーカスが入らないようにする方法があればご教授下さい。
よろしくお願いいたします。
399デフォルトの名無しさん:2005/10/29(土) 21:17:26
400デフォルトの名無しさん:2005/10/30(日) 20:24:14
>>399
ありがとうございました。
F10に割り当てるのをやめようか、どうしようか考えていたので助かりました。
401デフォルトの名無しさん:2005/10/30(日) 21:26:13
VCLってUNICODEアプリケーションでも使うことできる?
402デフォルトの名無しさん:2005/10/30(日) 22:44:53
メッセージボックスを画面中央ではなくって
フォーム中央に表示する方法を教えてくだすれ
403デフォルトの名無しさん:2005/10/30(日) 22:45:17
404デフォルトの名無しさん:2005/10/31(月) 02:39:38
>>401
UNICODE用コントロール集のコンポーネントがあったはず。
Delスレで聞いて見れ
405デフォルトの名無しさん:2005/10/31(月) 02:54:55
エディットボックスをマウスで選択したときに、
表示されているテキスト全部を反転させるやり方を
教しえていただけませんでしょうか?
406デフォルトの名無しさん:2005/10/31(月) 06:50:43
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->SetFocus();
}
407デフォルトの名無しさん:2005/10/31(月) 08:46:08
408デフォルトの名無しさん:2005/10/31(月) 13:27:50
Canvasに描画するときにmmをピクセルに変換する方法を教えてください。
409デフォルトの名無しさん:2005/10/31(月) 13:43:58
Screen の PixelsPerInch から逆算する
410デフォルトの名無しさん:2005/10/31(月) 14:36:51
>>409
詳しく
411デフォルトの名無しさん:2005/10/31(月) 15:03:30
>>410
たとえばPixelPerInchが96だとしたら
inch = mm / 25.4;
pixel = 96 * inch;
412デフォルトの名無しさん:2005/10/31(月) 17:50:25
>>411
ありがとうございます!!!
413デフォルトの名無しさん:2005/10/31(月) 23:05:12
無料のbcc55を使っています。ものすごく基本的な質問なんですけど
JPEGを読み込みたいんですけど<jpeg.hpp>が見つからないし、それによりTJPEGImageが使えません。
VC++の<gdiplus.h>も無いです。

JPEGを読み込む為には、BCBかVC++を買うしか無いのでしょうか?
貧乏人はおとなしくLoadImageでBMPでも読み込んでろという事でしょうか?
414デフォルトの名無しさん:2005/10/31(月) 23:14:24
415デフォルトの名無しさん:2005/10/31(月) 23:21:52
>>413
ここはBCBのスレですよ貧乏人さん^^
416デフォルトの名無しさん:2005/10/31(月) 23:53:19
520 名前:デフォルトの名無しさん[sage] 投稿日:2005/10/31(月) 23:46:33
Win32APIでJPEGを読み込むAPIはあるんでしょうか?
BMPはLoadImageで取得できるんですけどそのJPEG版みたいなみたいな奴です。

現在の開発環境は
Borland C++ Compiler 5.5.1とメモ帳だけです。
よって、MFCとかは使えません。

誰か、貧乏な私に知恵を授けて下さい...
417デフォルトの名無しさん:2005/11/01(火) 01:55:12
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;


418デフォルトの名無しさん:2005/11/01(火) 09:36:02
http://shop.borland.com/dr/v2/ec_Main.Entry17c?SID=39696&SP=10023&CID=0&PID=772647&PN=1&V1=772647&CUR=840&DSP=&PGRP=0&CACHE_ID=0
Pre-order Delphi 2006 and receive a 15% discount off the list price
(special pre-order pricing good from 10/17 to 12/1)

Delphi 2006 includes complete RAD support for Delphi for Win32®, Delphi for .NET, C++, and C# programming languages.
419デフォルトの名無しさん:2005/11/01(火) 11:27:38
http://itpro.nikkeibp.co.jp/article/USNEWS/20051011/222518/

Delphi 2006,C++Builder 2006,C#Builder 2006は,
10月17日〜12月1日まで先行予約を受け付ける。先行予約者に対しては,
15%のディスカウントが適用される。商品の出荷は12月初旬が予定されている。
420デフォルトの名無しさん:2005/11/01(火) 11:58:52
日本語版じゃないと買ってやらないよ
421デフォルトの名無しさん:2005/11/01(火) 18:17:40
>>413
gdiplus.hはPratform SDKをインストールすれば手に入る。
(インポートライブラリはそれ付属のではなく自分でimplibする必要がある)
422デフォルトの名無しさん:2005/11/02(水) 13:51:59
hello, worldでたYOヽ(´ー`)ノ
423デフォルトの名無しさん:2005/11/02(水) 16:17:13
>>422
よくやった、おめでd
424デフォルトの名無しさん:2005/11/03(木) 03:38:23
425デフォルトの名無しさん:2005/11/03(木) 12:24:33
!【緊急】開発言語PHPに“最悪”のセキュリティ・ホール,全ユーザーは今すぐ対処を
http://news19.2ch.net/test/read.cgi/newsplus/1130985853/l50

お前ら様方大丈夫ですか?これ
WEB系開発者は対応しないとまずいのでは?
426デフォルトの名無しさん:2005/11/03(木) 18:34:36
dbExpressを用いたパッケージを配布したく、ヘルプの「dbExpress データベースアプリケーションの配布」を見て静的リンクを作成しようと思いますがよくわかりません。
include文で書くのか、「プロジェクト」「オプション」で組み込むのかいろいろやってみましたができません。
MySQLを使っているのでdbExpMYSQL.dcu, crtl.dcu, MidasLib.dcuが必要だと思うのですが、よろしくお願いします。

C++ Builder 6 Pro
427デフォルトの名無しさん:2005/11/03(木) 21:59:57
BCB6ProでマルチスレッドやるときはTThreadクラスですか、ウィンドウズAPIですか
428デフォルトの名無しさん:2005/11/03(木) 22:19:24
5年前にC++Builder5 Professionalを買って、
チュートリアルで挫折しましたorz
PC-9801上とMS-DOSでのC言語なら、
少しはわかってるつもりだったんですが…

何がわかっていないのかすらよくわかりません。
まず、何から手を付けるべきでしょうか?
429428:2005/11/03(木) 22:28:06
sageてたんでageます。
430デフォルトの名無しさん:2005/11/03(木) 22:40:13
>>428
どこで挫折したのか書かないと分からない希ガス。
とりあえずOOPの知識つけないと、簡単にスパゲッティコードができあがるからそのあたりかな?

>>427
_beginthreadのこともたまには思い出してあげてください
431デフォルトの名無しさん:2005/11/03(木) 22:43:30
コボラーですが、Cでポインタを使うメリットを教えてください。
432デフォルトの名無しさん:2005/11/03(木) 22:49:27
>>430
CreateThreadのこともたまには思い出してあげてください。
433デフォルトの名無しさん:2005/11/03(木) 22:58:41
>>428
CとC++は違う
C++の勉強からはじめろ
434デフォルトの名無しさん:2005/11/03(木) 23:12:18
>>425
!【緊急】開発言語PHPに“最悪”のセキュリティ・ホール,全ユーザーは今すぐ対処を
これみてさっきyumでPHPのアップデートしたのね。
そしたらセッションが保存されなくなったんだけど原因てなにが考えられる?
PHPINFOの設定は確認したけどアップデート前と同じだし、HTTPDもきちんと再起動してるしセッションがつかえなくなってかなりピンチです。
435デフォルトの名無しさん:2005/11/03(木) 23:18:35
>>432
>CreateThreadのこともたまには思い出してあげてください。

どう見てもWindowsAPIです
本当にありがとうございました
436428:2005/11/03(木) 23:33:06
>>430
まず、「用語がわからん!」って一番基本的なところで…
「C++なんて、C言語に毛が生えたようなもの」とナメてました。
自分でも捜してますが、お勧めなサイトありますか?
たいていは「抽象的すぎて何のお話かわけわからん」か、
「わからない用語の解説がわからない用語でしてあるから結局わけわからん」の、
どちらかで…
437428:2005/11/03(木) 23:37:48
あぁ、リロードすれば良かった。

>>433
そうですね。やっぱりそこからですよね。
なんかこう、C言語とC++の違いを、
ソースを併記して解説してる所なんか無いでしょうか?

でもやっぱり「そんな娘としないで一から勉強し直せ」って事…ですよね?
438428:2005/11/03(木) 23:39:33
×そんな娘としないで
○そんな事しないで

あぁ…なんかすんげー変な女と一発やっちゃったみたいだorz
439デフォルトの名無しさん:2005/11/04(金) 00:24:11
>>437
金ケチらないで本買え。
>なんかこう、C言語とC++の違いを、
>ソースを併記して解説してる所なんか無いでしょうか?
その程度の甘い考えなら何年たっても使えるようにならん。
440422:2005/11/04(金) 01:15:35
>>423
>>424
ドモドモ♪でも来るべきスレを間違えたッス。C++Builder喪ってないんで、、アハッ
441デフォルトの名無しさん:2005/11/04(金) 16:21:20
>>437
違いを簡単に言うとオブジェクト指向やジェネリックプログラミングを言語としてサポートしているかどうかだよ。
442428:2005/11/04(金) 18:48:55
>>493
BCB5を買ったときに、オフィシャルコースウェアを買いました。
まだBCB5用のオフィシャルコースウエアが出ていなかったので、
BCB4用ですが。基礎編と応用編です。
あと、後日アスキー出版の、
「C++Builder5 プログラミング入門」も買いました。

>>441
そう言う説明がちゃんと理解できないんですうぅぅ…
443デフォルトの名無しさん:2005/11/04(金) 18:54:34
>>442
諦めたら?
444デフォルトの名無しさん:2005/11/04(金) 19:05:56
買って読んでないとか
445デフォルトの名無しさん:2005/11/04(金) 19:27:01
買って読んではいるけど脳が動いてないとか
446デフォルトの名無しさん:2005/11/04(金) 21:40:45
>>442
BCB以前のC++に対する理解が足りてないと思う。
必要なのはC++の入門本。
447デフォルトの名無しさん:2005/11/04(金) 22:24:07
そ、BCBの入門書は、読者がC++を理解していることを前提としている。
それをいきなり読もうとしても428には無理無駄無意味。
448428:2005/11/04(金) 23:14:30
>>446-447
了解しました。BCB以前にC++勉強します!
449デフォルトの名無しさん:2005/11/06(日) 00:10:28
ハードディスクの物理ドライブのシリアル番号を
取得したいのですが、APIのGetVolumeInformation、
WMIのwin32_LogicalDriveクラス等では、
論理ドライブのシリアル番号(DOSコマンドDirで表示される値)しか取得できません。
ドライバを作成して取得するという方法があったのですが、ドライバの作成方法がわかりませんでした。
簡単に取得できる方法はないのでしょうか?
よろしくお願い致します。
450デフォルトの名無しさん:2005/11/06(日) 02:11:44
451デフォルトの名無しさん:2005/11/06(日) 13:10:43
>>450 それ関係ない
452デフォルトの名無しさん:2005/11/06(日) 23:31:51
クラスのコンストラクタで文字配列を扱ってるのですが、
それを外に受け渡すように書き換える方法がわかりません。

例えば、今は

class Test{
public:
Test();
~Test();
};

Test::Test(){
string word[]={"その1","その2","その3"};
}

みたいになってるのですが、このwordの部分を外部から読み出したいのです。
そもそも、配列をクラス内のプライベートorパブリックに置く方法、という基本的なこともわかってないので、
何卒よろしくお願いします。

453デフォルトの名無しさん:2005/11/06(日) 23:34:21
あ、もひとつ。
このクラスを派生させた場合の書き方も加えて教えていただければ。

・・・初心者の質問じゃないかな?
一応C++は始めて1週間もたってません(VBとか他の言語はそれなりに触ってますが)
454デフォルトの名無しさん:2005/11/06(日) 23:41:04
>>452
そうやるとwordはTest::Test()のローカル変数になる。
メンバ変数にしないといけない。(つまりclass Testの宣言の中にwordの宣言を書く必要がある。)
455デフォルトの名無しさん:2005/11/07(月) 00:01:45
>>447
俺はCもC++もVCLもWindowsAPIも何も知らないでFillyにも挑戦したけど挫折した。
唯一知ってたのはポケコンのBASICだった。
そんな状況でDelphiではなくBCBを選んだ俺。
入門書もC++ではなくBCBの入門書からだった
ここはこう言うものと覚えとけとか投げやりな解説に萎えた。
今はダウンロード数数万本の適当なフリーソフトくらいは作れるようになった。
456デフォルトの名無しさん:2005/11/07(月) 00:06:02
class Test{
public:
Test();
~Test();
string word[]={
}

void Test(){
word
}
457デフォルトの名無しさん:2005/11/07(月) 00:07:03
うっかり送信しちゃった。
あってるかどうかも分からんけどもうめんどくさいからやーめた。
458デフォルトの名無しさん:2005/11/07(月) 00:11:29
>>454-456
色々ありがとーです。
ちょっと挑戦しなおしてみますわ。
>>455
Filly!ずいぶんと懐かしい名前がでたな、おい。
俺、その前身のRayで作品作ったことあるよ。
459デフォルトの名無しさん:2005/11/07(月) 00:49:49
>>456
むちゃくちゃだろそれ
クラス定義内で配列の初期化はできんぞ。

配列をメンバにしたいなら要素数を定数で指定する必要がある。

class Test{
 string word[3];
public:
 Test();
 ~Test();
};

Test::Test() {
 word[0]="その1";
 word[1]="その2";
 word[2]="その3";
}
要素数を決めうち出来ないならポインタをメンバにして動的に領域を確保する
ただ、どちらにせよ配列よりvectorを使うほうを推奨するが
460デフォルトの名無しさん:2005/11/07(月) 00:52:04
>>453
だから君みたいな人間は>>446
461デフォルトの名無しさん:2005/11/07(月) 00:59:14
BCB的な解決の仕方だとこんな感じな希ガス

class Test{
 TStringList *word;
public:
 Test();
 ~Test() { delete word; }
 __property TStringList* Words = { read=word };
};

Test::Test() {
 word = new TStringList();
 word->Add("その1");
 word->Add("その2");
 word->Add("その3");
}

main() {
 Test test;
 std::cout << test.Words[0] << std::endl;
}
462デフォルトの名無しさん:2005/11/07(月) 06:39:30
>>vector?
>>460
現状専門書も買わず、ネット講座だけなんすが、やっぱまずいっすかね・・・
お勧めの本とかあります?

>>461
おー、それすっきりしてよさげ。

463デフォルトの名無しさん:2005/11/07(月) 07:27:03
bmpをjpgに変換して保存する方法を教えてくだすれ
464デフォルトの名無しさん:2005/11/07(月) 08:52:37
>>463
bmpを読み込み、それを何かjpegに変換するライブラリに渡すだけ。
465デフォルトの名無しさん:2005/11/07(月) 09:59:53
466デフォルトの名無しさん:2005/11/07(月) 10:12:44
>>463
TBitmap *bmp;
TJPEGBitmap *jpg;

jpg->Assign(bmp);
467462:2005/11/07(月) 10:14:07
追加質問。
Borland C++ CompilerですがTStringListってつかえます?
VCL.hというのが必要らしいんだけど・・・
無理なら、vectorの使い方教えてください。

やっぱ本買おうかな?
468デフォルトの名無しさん:2005/11/07(月) 10:34:07
>>467
スレタイを声に出して百回読んだ上でこっち逝け

タダで使えるBorland C++ Part4
ttp://pc8.2ch.net/test/read.cgi/tech/1091066805/l50

しかし、君はまず>>446
469デフォルトの名無しさん:2005/11/07(月) 10:54:18
470デフォルトの名無しさん:2005/11/07(月) 11:17:46
>>469
http://ccccc.host.sk/kouza.htm#no4

<TITLE>戦う女性を凄惨に拷問して秘密を吐かせたい!</TITLE>



(゚д゚)<
471デフォルトの名無しさん:2005/11/07(月) 11:21:00
       |
       |
   ぱくっ|
     /V\
    /◎;;;,;,,,,ヽ   そんなエサで
 _ ム::::(,,゚Д゚)::|   俺様が釣られると思ってんのか!!
ヽツ.(ノ:::::::::.:::::::.:..|)     【From】ム板
  ヾソ:::::::::::::::::.:ノ      【2ch歴】5年
   ` ー U'"U'      【お魚No.】1匹目
            【釣られた回数】4回
          【釣られた時の餌】>>470
472デフォルトの名無しさん:2005/11/07(月) 11:28:43
http://ccccc.host.sk/knowhow.htm

こっちも同じタイトルだな。一体何を狙ってるんだか。
473デフォルトの名無しさん:2005/11/07(月) 11:44:07
普通のアプリケーションからは、Application->ExeName  で
自分自身のフルパス名が取得できますが、DLL からこれを実行
すると、「呼び出し元」のアプリケーションのフルパス名が取得
されます。「DLLファイル自身」のフルパス名を取得するためには
どのようにしたらよいのでしょうか?
474デフォルトの名無しさん:2005/11/07(月) 11:48:15
boostはつかえますか?
475デフォルトの名無しさん:2005/11/07(月) 11:58:48
POP3サーバからUIDLを取得する方法を教えてください
476デフォルトの名無しさん:2005/11/07(月) 13:41:29
TStringGridでCellsが編集されたかどうかを知る方法を教えてください
477デフォルトの名無しさん:2005/11/07(月) 14:14:47
TPrintDialogでデフォルトの用紙を指定する方法を教えて下さい
478デフォルトの名無しさん:2005/11/07(月) 14:23:35
やだ
479デフォルトの名無しさん:2005/11/07(月) 14:27:23
>>473
無理
>>474
つかえる
>>475
Indyを使え
>>476
OnSetEditText
>>477
プリンタの設定
480462:2005/11/07(月) 14:30:05
自己解決。

#include <iostream>
#include <vector>

using namespace std;

class Menu{
protected:
vector<string> name;
public:
Menu();
void func();
};


Menu::Menu(){
string list[]={"その1","その2","その3"};
for(int i=0;i<3;i++)
name.push_back(list[i]);
}

void Menu::func(){
for (int i=0; i<3; i++)
cout <<i<<":"<<name[i] << " "<< endl;
}

int main()
{
Menu p;
p.func();
}
481462:2005/11/07(月) 14:32:16
ただ新たな問題がでて、派生させようと思ってポインタ使おうとすると未解決エラーが・・・
Vector使うときはポインタ設定が違うんでしょうか?
482デフォルトの名無しさん:2005/11/07(月) 14:33:05
うげ
483デフォルトの名無しさん:2005/11/07(月) 14:51:10
>>480
スレ違いだってのボケ>>468
んで>>446
おまいの書いてるコードは無茶苦茶
484デフォルトの名無しさん:2005/11/07(月) 15:01:44
>>483
コンパイラの話じゃなくて純粋にC++の話題だからBCCスレもスレ違いでしょ。

>>462
ここはBCB(Borland C++Builder)っていう開発環境のスレなのであなたの質問はスレ違い。
多分ここがあなたに相応しいスレ↓

【初心者歓迎】C/C++室 Ver.22【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1128872687/l50

もっとも、ここより手荒い歓迎をされるかもしれないよ。
485デフォルトの名無しさん:2005/11/07(月) 15:05:46
フォームの右上のXアイコンをグレーにして押せなくする方法を教えてください
486デフォルトの名無しさん:2005/11/07(月) 16:13:50
>>485
そんなことが出来るソフトがあったら教えてもらいたい
487デフォルトの名無しさん:2005/11/07(月) 16:50:16
>>486
馬鹿はレスするなって^^
APIでできる
488デフォルトの名無しさん:2005/11/07(月) 17:04:25
インターネットを通した自動アップデートを考えているのですが、
プログラムから自分自身を置き換えるのはどのようにしてやればよいのでしょうか?
489デフォルトの名無しさん:2005/11/07(月) 17:15:08
>>488
無理だからアップデートするプログラムを別にしなさい。
490デフォルトの名無しさん:2005/11/07(月) 17:18:17
テンポラリフォルダにアップデートするための
プログラムを展開して本体を終了時にそれを実行汁。
491デフォルトの名無しさん:2005/11/07(月) 17:36:00
>>485
void __fastcall TForm1::Button1Click(TObject *Sender)
{
BorderIcons = TBorderIcons() >> biSystemMenu;
}
492デフォルトの名無しさん:2005/11/07(月) 18:10:41
>>474
一部の機能が使えない(コンパイラが完全な標準に準拠してないので)
493デフォルトの名無しさん:2005/11/07(月) 19:29:41
年末に米でリリース予定のDelphi/BCB/BCSB2006はboost使えるらしい。
494デフォルトの名無しさん:2005/11/07(月) 20:06:42
lexical_castしか使ったこと無いな。
495デフォルトの名無しさん:2005/11/07(月) 21:41:31
俺スマートポインタだけ・・・
496デフォルトの名無しさん:2005/11/07(月) 22:36:36
regex、shared_ptr、string用アルゴリズム
かな、俺が使ったことあるのは。まぁお約束なラインナップ。
497デフォルトの名無しさん:2005/11/09(水) 00:30:52
アセンブラのコードをCのコードの中に書くにはどのようにしたらよいのですか?
498デフォルトの名無しさん:2005/11/09(水) 00:40:32
__asm
{
mov eax,1
}
とか
499デフォルトの名無しさん:2005/11/09(水) 00:40:49
asm じゃなかった?
500デフォルトの名無しさん:2005/11/09(水) 00:56:44
asm
_asm
__asm

でれでもいいようだ
501デフォルトの名無しさん:2005/11/09(水) 03:02:07
TImageで画像拡大時に、補完するような指定は出来ませんか?
502デフォルトの名無しさん:2005/11/09(水) 09:45:44
自分で補間関数を書く。VCL にはない。
503デフォルトの名無しさん:2005/11/09(水) 16:04:13
Visual C++のプロジェクトを変換ユーティリティで変換したんだけど、リソースファイルで
コンパイルエラーが出る。
afxres.h がない、と怒られるのだがインクルードパスも設定してあるのに…
なぜでしょうか?
504デフォルトの名無しさん:2005/11/09(水) 18:35:50
ファイルのフルパスから、ファイル名だけを取り出すのには
どうしたらいいのでしょうか、お願いできませんでしょうか?
505デフォルトの名無しさん:2005/11/09(水) 18:45:37
ExtractFileName
506デフォルトの名無しさん:2005/11/09(水) 20:57:59
ちょっとわからないので質問させてください。
Cプログラミングをしたいと思い、ボーランドのCコンパイラ5.5をインストールしたのですが、プログラムはメモ帳でも良いのでしょうか?
拡張子は.txtのままで良いのでしょうか?
507デフォルトの名無しさん:2005/11/09(水) 21:11:30
>>506
少々不便かもしれないがメモ帳で出来なくもない。
Cの拡張子はcだが、C++の拡張子cppのほうが良い。
508デフォルトの名無しさん:2005/11/09(水) 21:17:03
>>505
ありがとうございました!
509デフォルトの名無しさん:2005/11/09(水) 23:03:38
>>506
タダで使えるBorland C++ Part4
http://pc8.2ch.net/test/read.cgi/tech/1091066805/

BCC Developerを使うと便利
半角スペースと全角スペースを見分けられるエディタや、
C言語のキーワードに色をつけてくれるエディタだと
ケアレスミスを減らすことができる

というかBCB買え
510デフォルトの名無しさん:2005/11/10(木) 00:52:57
向こうのスレはタイトルにCompiler5.5を追加する必要があるよなぁ
511デフォルトの名無しさん:2005/11/10(木) 07:20:11
MemoTxt = new TMemo(this);
としてTMemoを非表示で使いたいのですが、
長い文字列を1行に入れたいのですが、途中(半角32文字)で
切れてしまいます
残りは次の行に入っているようなのですが、半角32文字以上の
文字列を1行に収めることはできないでしょうか?
512デフォルトの名無しさん:2005/11/10(木) 08:04:35
よくわからんけど
MemoTxt->WordWrap = false;
じゃだめなん?
513デフォルトの名無しさん:2005/11/10(木) 08:34:45
>>512
TStringList使えば?
514デフォルトの名無しさん:2005/11/10(木) 14:02:03
AMD Core Math Libraryは使えますか?
515デフォルトの名無しさん:2005/11/10(木) 15:07:54
AnsiStringでいいんじゃね?
516デフォルトの名無しさん:2005/11/11(金) 01:37:25
517デフォルトの名無しさん:2005/11/12(土) 16:31:18
TPaintBoxにGraphics::TBitmapからイメージをコピーしてるんですけど
どういう訳かちらつきが出てしまいます。
PaintBoxのOnPaintに

Graphics::TBitmap *bmp=new Graphics::TBitmap;
bmp->Width=PaintBox->Width;
bmp->Height=PaintBox->Height;
bmp->Canvas->Brush->Color=clInfoBk;
bmp->Canvas->FillRect(Rect(0,0,bmp->Width,bmp->Height));
PaintBox->Canvas->Draw(0,0,bmp);
518デフォルトの名無しさん:2005/11/12(土) 16:51:38
a(y
519デフォルトの名無しさん:2005/11/12(土) 18:19:26
>>517
PaintBox の OnPaint に描画コードを書いて Refresh が正当な描画法
520デフォルトの名無しさん:2005/11/12(土) 18:57:01
相対パスc:\aaa\bbb.txtを持っていて
ここから、拡張子を抜いたファイル名bbb(もしくは\bbb)を得ることは可能でしょうか?

ExtractFileNameなどでは、bbb.txtしか抜けませんでした
521デフォルトの名無しさん:2005/11/12(土) 19:04:09
>>520
ChangeFileExt()
522デフォルトの名無しさん:2005/11/12(土) 19:11:00
・・・なるほど、拡張子""にすればいいわけですね
気づきませんでした

ありがとうございました
523デフォルトの名無しさん:2005/11/12(土) 23:09:46
C++BuilderのTipsみたいなサイトでライブカメラの画像を表示する例を
2〜30行くらいのコードで紹介しているサイトがあったのですが、
ご存知の方おられませんでしょうか?
いつか使おうとブックマークしていたつもりなのですが分からなくなってしまって、、、
他でもライブカメラを扱う例を紹介いただけるとありがたいです
よろしくお願いいたします
524デフォルトの名無しさん:2005/11/13(日) 05:53:33
525デフォルトの名無しさん:2005/11/13(日) 11:20:38
>>517
#include <vcl.h>
#pragma hdrstop

Graphics::TBitmap *bmp = new Graphics::TBitmap;

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::PaintBoxPaint(TObject *Sender)
{

//PaintBox->Refresh();
bmp->Width=PaintBox->Width;
bmp->Height=PaintBox->Height;
bmp->Canvas->Brush->Color=clInfoBk;
bmp->LoadFromFile("C:\\Program Files\\Common Files\\Borland Shared\\Images\\Splash\\256color\\factory.bmp");
PaintBox->Canvas->Draw(0,0,bmp);

}
//------------
526517:2005/11/13(日) 18:58:13
>525
塗りつぶしを実行するようにした上で
フォームのサイズを変更するとちらつくんですよ。
あれはどうにもならないんでしょうかね?
でもCanvasにDrawで上書きしているわけだからPaintBoxの下の背景色が表示されるわけ無いんだけど…
527デフォルトの名無しさん:2005/11/13(日) 20:53:54
>>526
StretchBlt()つかえよ
528ななしへたぐらま ◆XcB18Bks.Y :2005/11/14(月) 02:27:12
当方Delphiユーザーですが….

>>517
フォームのコンストラクタかLoadedメソッドをオーバーライドして
PaintBoxの親であるコントロールのDoubleBufferedプロパティをTrueにしてみて下さい.

この場合はプロパティの名前の通り,VCLの方でダブルバッファリングの処理をしてくれますので
プログラマーがオフスクリーンビットマップを用意する必要はありません.
(PaintBoxのキャンバスに直接描画して構いません)

ちらつきの原因は親であるコントロールがPaintBoxの領域まで(親の)Colorプロパティで指定された色で塗りつぶしてしまうためみたいです.
PaintBox自体は描画に関する処理は何もしていません(OnPaintイベントハンドラがあればそれを実行するだけ).

ちなみにTBitmapのLoadFromFileメソッドは
既存の画像の上に読み込んだ画像を描画するのではなく,既存の画像を置き換えます.
よってLoadFromFileより前の幅と高さの変更は意味がありません.
529デフォルトの名無しさん:2005/11/14(月) 02:36:38
良い入門書を教えてくだすれ
530デフォルトの名無しさん:2005/11/14(月) 03:09:53
531517:2005/11/14(月) 04:41:12
>528
ネ申!
532デフォルトの名無しさん:2005/11/14(月) 16:50:30
newしたエリアはFormのDestroyとデストラクタとどっちで開放するのがいいですか?
533デフォルトの名無しさん:2005/11/14(月) 21:12:10
Destroyって「(Pascal側の)デストラクタそのもの」では…
534デフォルトの名無しさん:2005/11/14(月) 21:57:21
(▼_▼メ)デストローイ
535デフォルトの名無しさん:2005/11/15(火) 05:54:10
BCCからBCBに乗り換えたのですが、メモに文章を表示させる方法がわかりません。
TstringやLineのあたりが怪しいと思うのですが、付属のマニュアルにも載ってないし。

あと、BCBの良い専門書のおすすめとかありますか?
近所の本屋ではVC++のしか売ってないので、取り寄せようと思ってます。
536デフォルトの名無しさん:2005/11/15(火) 07:56:32
>535
┌─────┐
│カットシステム│[検索]
└─────┘
537デフォルトの名無しさん:2005/11/15(火) 08:38:54
>>535
ボーランド公式見てからまたこいw
538デフォルトの名無しさん:2005/11/15(火) 10:47:00
>>535
固定文字ならオブジェクトインスペクタで。
動的に追加するならMemo1->Lines->Add( "(゚д゚)ウマー" );
539デフォルトの名無しさん:2005/11/15(火) 10:48:20
C言語でボーランドから無料のって出ていませんでしたっけ?
540デフォルトの名無しさん:2005/11/15(火) 13:31:35
出てるよ.BCC+が無料で使える.ただし,公式webから登録が必要
541デフォルトの名無しさん:2005/11/15(火) 13:41:08
>>535
>>530
ちったぁスレ読め
542デフォルトの名無しさん:2005/11/15(火) 18:28:00
>>541
知らないならレスしないで下さい。ウザイです。荒らしですか?
543デフォルトの名無しさん:2005/11/15(火) 18:34:45
リンク先見ろよバカw
544デフォルトの名無しさん:2005/11/15(火) 18:45:17
答えれない人ってすぐ煽るんですよね
545デフォルトの名無しさん:2005/11/15(火) 18:51:42
誰も分からないんですか?
546デフォルトの名無しさん:2005/11/15(火) 18:59:26
[問題4/中級]文字列 MOJI に代入されている文字の中から、数字(0から9)だけ
を取り出して、それを小さい順に表示するプログラムを作りなさい。
例えば、MOJI[]="9B2C3ADC31" ならば 12339 と表示する。

「問題6/上級]次の問題の中から、どれか1つを選び、プログラムを作成して答えを
求めなさい。
(問題6−1)太郎君が9歳になるまで,花子さんの年齢が太郎君の年齢の整数倍にな
る年がちょうど7回ある。このとき、太郎君と花子さんの年齢差はいくつか?
 

547デフォルトの名無しさん:2005/11/15(火) 19:01:17
>535
ヘルプ嫁。バカ。

付属のマニュアルにも載ってないし。って釣りか?
548デフォルトの名無しさん:2005/11/15(火) 19:16:29
>>537
こういうやつはこの超初心者スレには不要だ
うぜろ
549デフォルトの名無しさん:2005/11/15(火) 19:59:01
と、泣きながら反撃を試みるも嘲笑されて終わる
言語の初心者以前にコミュニケーション初心者な負け犬でしたとさ。

> うぜろ
550デフォルトの名無しさん:2005/11/16(水) 00:29:20
おまえらつめたいな

>>535
つ SendMessage(Memo1->Handle,WM_SETTEXT,0,(LPARAM)"this is a pen");
551デフォルトの名無しさん:2005/11/16(水) 00:37:26
>>550
をいをい、教えてクンにエサやるなよw
552デフォルトの名無しさん:2005/11/16(水) 02:30:04
Labelの背景を透明化させるにはどうすれば良いのですか?
553デフォルトの名無しさん:2005/11/16(水) 09:02:28
Label->Reqest(背景,透明になれ);
554デフォルトの名無しさん:2005/11/16(水) 09:24:35
>>551
ここはくだすれなんだが……
555デフォルトの名無しさん:2005/11/16(水) 09:43:19
Transparent=true;
556デフォルトの名無しさん:2005/11/16(水) 12:38:10
>>554
くだすれでも教えてクンは嫌われる






という以前に、>>550のワビサビが判らんのだろ'うな、教えてクンにはw
557デフォルトの名無しさん:2005/11/16(水) 13:47:40
>>555
ありがとうございました。
558デフォルトの名無しさん:2005/11/16(水) 15:22:42
TTimerの処理についてご質問です。
例えばインターバルが1000msecとして、処理に1000msec以上
かかった場合、次のイベントの扱いはどのようになるのでしょうか?
 1、ぴったり1000msecで次のイベントが実行される
 2、前のイベントが終わるまで待って実行される
 3、イベントは無かったことになる
559デフォルトの名無しさん:2005/11/16(水) 15:22:51
ここで煽ってる厨房はなんなんだ?
>>556とかスレの趣旨がわかってない馬鹿には消えてほしいねえ
560デフォルトの名無しさん:2005/11/16(水) 15:24:03
>>558
イベントから抜けてから1000ms経ってからまたイベに突入
561デフォルトの名無しさん:2005/11/16(水) 15:35:15
>>535については>>538>>541とで回答はすんでいる。

そのあとの流れは質問者本人か偽者かは分からんが
煽りとそれに応じたネタレスばかりだな。
スレの趣旨も何もないだろ。
562デフォルトの名無しさん:2005/11/16(水) 15:38:03
粘着ウザイし
563デフォルトの名無しさん:2005/11/16(水) 16:24:43
>>560
ありがとうございます。
もう少し掘り下げた質問になるのですが、仮に処理が990msec
かかったとした時に、次のイベが来るのは10msec後になるか
1000msec後になるかはどちらでしょうか?
564デフォルトの名無しさん:2005/11/16(水) 17:07:00
565デフォルトの名無しさん:2005/11/16(水) 17:20:50
>>564
…ですね。 質問繰り返してどーすんだ漏れorz
ありがとうございました!
566デフォルトの名無しさん:2005/11/16(水) 17:37:27
> イベントから抜けてから1000ms経ってからまたイベに突入

そんなことないよ。WM_TIMER がメッセージキューにあればすぐ実行される。
複数たまればひとつにまとめられる。
567デフォルトの名無しさん:2005/11/16(水) 17:39:21
だから、>>563 への回答は、イベントハンドラ抜けてから、だいたい10ms後が正しい
568558=563:2005/11/16(水) 18:19:47
動作を確認していたらなんか変だ…と思いまた見に来たら
>>566-567で訂正されているし…
やはりこういう動きになりますよね。
ということは、処理が毎回1000msec以上の場合だと無限ループに
近い状態になる、と。
まぁ強制的に次のイベントが発行されるわけではなくて安心しました。
569カラス:2005/11/16(水) 20:40:29
イエータウ
570デフォルトの名無しさん:2005/11/19(土) 11:17:26
Memoコンポーネントのスクロールバーを、必要なとき(文字が大量にあるとき)だけ出したいんですが
ssbothを指定すると常に出てしまいます

どうすればいいんでしょうか?
571デフォルトの名無しさん:2005/11/20(日) 01:42:10
必要なときに ssNone と入れ換え
572デフォルトの名無しさん:2005/11/20(日) 08:01:24
それって、常にMemoを監視しとかないといけない、ってこと?
573デフォルトの名無しさん:2005/11/20(日) 11:14:31
何のためのOnChangeイベントだ
574デフォルトの名無しさん:2005/11/20(日) 14:32:47
確かに・・・
575デフォルトの名無しさん:2005/11/21(月) 02:37:12
連番の16bitのグレースケールtiff画像を読み込み輝度値を3次元配列に格納したいと考えています。

SusieプラグインにてBitmap形式で出力は出来たのですが
8bitのBitmapになっているようで16bitの輝度値を取り出せません。

どのようにしたらいいでしょうか?
576デフォルトの名無しさん:2005/11/21(月) 09:49:05
>>575
自前でTIFF読むしかない。
てかTIFFって圧縮されてなければ単なるベタフォーマットだったはずだから簡単に読めるような‥‥
577デフォルトの名無しさん:2005/11/24(木) 12:42:18
構造体について質問です
構造体を返り値とする関数を使う時、
構造体の宣言はどこでやればいいですか
リンカ?、cppのグローバルな部分?
578デフォルトの名無しさん:2005/11/24(木) 15:13:11
>>577
ヘッダつかえ
579デフォルトの名無しさん:2005/11/24(木) 18:02:59
>>577
関数が構造体を返すということは、その関数を呼出す側は
その構造体を知っている必要があるということ。
なので、構造体の定義と関数の宣言をヘッダファイルにまとめて、
           ^^^^      ^^^^
その関数・構造体を利用する個々のソースファイルで
インクルードするようにするのが普通。
構造体の定義だけで独立したヘッダを使うのでももちろんヲケ。
580デフォルトの名無しさん:2005/11/24(木) 23:25:46
<pre>ヘッダで
private:// ユーザー宣言
struct mystruct {
AnsiString Awriter;
AnsiString adate;
AnsiString title;
AnsiString naiyou;
} ;
mystruct __fastcall Getwriter(AnsiString);

としてあって、ソースで
mystruct __fastcall TForm1::Getwriter(AnsiString strgot)
{
mystruct stdata;

とすると、ソースで
[C++ エラー] Unit1.cpp(349): E2141 宣言の構文エラー
と言われるのは何故です?
どうするのが正しいですか?
</pre>
581デフォルトの名無しさん:2005/11/24(木) 23:26:45
おっと、
[C++ エラー] Unit1.cpp(349): E2141 宣言の構文エラー
が出るのは
mystruct __fastcall TForm1::Getwriter(AnsiString strgot)
の部分です
582デフォルトの名無しさん:2005/11/25(金) 00:04:52
>>580
mystructの定義をグローバルにする(TForm1の定義から出せ)

C++の入門書読まんと、要らん苦労するばかりだぞ
583デフォルトの名無しさん:2005/11/25(金) 00:13:25
↑補足
Getwriteがprivateなら
 TForm1::mystruct __fastcall TForm1::Getwrite(AnsiString strgot)
でヲケ
584デフォルトの名無しさん:2005/11/25(金) 00:23:23
ボーランド、マルチ言語対応の統合開発環境「Borland Developer Studio 2006」
http://enterprise.watch.impress.co.jp/cda/software/2005/11/24/6673.html
585デフォルトの名無しさん:2005/11/25(金) 03:13:58
int banshow(HANDLE);
int Locate(HANDLE, int, int);
int check_location(int, int); //すでに駒がおかれていないかどうか調べる
int judge();
int stonerecord(int, int); //置いた石の位置を記録する
int replay(HANDLE, int); //ゲームを再現する
int comp_put(char *); //コンピュータが駒を置きます
int ban[MASU][MASU];

int banshow(HANDLE);やint Locate(HANDLE, int, int);など説明がないところは、
どのように書けばよろしいでしょうか?
586デフォルトの名無しさん:2005/11/25(金) 05:44:22
587デフォルトの名無しさん:2005/11/25(金) 07:38:59
>>583-584
ありがとうございます

インプレスの「C++基礎講座」読んでる範囲ではわからなかった…
588デフォルトの名無しさん:2005/11/25(金) 10:05:09
TForm1::mystruct __fastcall TForm1::Getwriter(AnsiString strgot)
{
}
589デフォルトの名無しさん:2005/11/25(金) 11:51:46
>>583
common.hにmystructの宣言を放り込み
#include "common.h"して
ソースからTForm1::を取り去る
もやってみて、うまくいきました。
ありがとうございました。
590デフォルトの名無しさん:2005/11/25(金) 15:12:52
用語は正確に
 struct hoge; //hogeの宣言
 struct hoge { void foo(); /*...*/ }; // hogeの定義
 void hoge::foo() { /*...*/} //hogeのメンバ関数定義
591デフォルトの名無しさん:2005/11/25(金) 19:42:48
突然すみません。私はプログラム初心者です。
C言語かC++を学びはじめたいと思っています。
用途としては、数値計算をするプログラムを将来作りたいと思っています。
そこで、質問なのですがCとC++どちらを始めた方がよいですか?
誰か親切な方、教えてくれませんか?
592デフォルトの名無しさん:2005/11/26(土) 02:24:49
>>591
正直どっちでもいいけど、C++をやるなら、既存のCで書かれたライブラリを呼び出すのに
extern "C" だけ忘れないようにすればよい。

どうせ数値計算ライブラリなんて、そんなに種類はない。
593デフォルトの名無しさん:2005/11/28(月) 04:06:14
Developer Studio 2006
バージョンアップ
http://store.borland.co.jp/upgrade/delphi_upgrade_0727.html
594デフォルトの名無しさん:2005/11/28(月) 04:36:10
※Borland C++Builder/C#Builder ユーザー様へは、別途バージョンアップのご案内をお送りいたします。Delphi、C++Builder、C#Builderを複数お持ちのユーザー様は、C++Builderからのバージョンアップ価格の方が安価になる場合がありますのでご注意ください。
595デフォルトの名無しさん:2005/11/29(火) 01:07:46
C#なんてつかわんのに
596デフォルトの名無しさん:2005/11/29(火) 01:15:19
verup版はいくらなの?
597デフォルトの名無しさん:2005/11/29(火) 01:17:50
PS2とかXBOX対応のゲームってC++で書かれているんですか?
あと焼き方はなんか特殊なやつなんですよね?
598デフォルトの名無しさん:2005/11/29(火) 03:50:55
>>597
大抵Builderです
599 ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄:2005/11/29(火) 15:28:33
    ∧_∧
    ( ´・ω・`)       ∧_∧
   /    \      (´∀` ) ハハハ
__| |     | |_   /    ヽ
||\  ̄ ̄ ̄ ̄   / .|   | |
||\..∧_∧    (⌒\|__./ ./
||. . (    )     ~\_____ノ|  ∧_∧.
.  _/   ヽ          \|   ( ´_ゝ`) 何だコイツ?
.  |     ヽ          \ /    ヽ.
.  |    |ヽ、二⌒)       / .|   | |
.  .|    ヽ \∧_∧   (⌒\|__./ ./
   ヽ、___ (    ) プッ  ~\_____ノ|  ∧_∧
.         _/   ヽ          \|  (´Д` )ダセー
.         |     ヽ          \ /    ヽ、
.         |    |ヽ、二⌒)       / .|   | |
.         .|    ヽ \\       (⌒\|__./ ./
.         ヽ、____ \\       ~\_____ノ|
600デフォルトの名無しさん:2005/11/30(水) 18:19:51
601デフォルトの名無しさん:2005/11/30(水) 23:10:07
現在、タスクトレイに常駐するランチャを作成しています。
そこで、タクストレイを右クリックしたら起動しているプログラム
がすべて最小化するようにしたいのですがどのようにすれば
よいでしょうか?
602デフォルトの名無しさん:2005/11/30(水) 23:19:01
そのようにコーディングするだけ
603デフォルトの名無しさん:2005/12/01(木) 11:26:23
>>602
知らないならレスしないでください。ウザイです。
604デフォルトの名無しさん:2005/12/01(木) 12:05:05
知ってるがおまえには教えない
605デフォルトの名無しさん:2005/12/01(木) 12:32:07
トレイアイコン右クリならわかるけど
タスクトレイか
俺も知りたいな
606601:2005/12/01(木) 12:50:55
>>602
すいません。
googlで検索したのですが、いいキーワードがみつからなくて・・・
607601:2005/12/01(木) 12:53:38
>>605
あ、タスクトレイではなくトレイアイコンでした。
すいません。(´・ω・`)
608デフォルトの名無しさん:2005/12/01(木) 14:25:38
トレイアイコン関連なら某のFAQあたりに載ってるし、最小化ならメッセージ投げるだけだろ。
609デフォルトの名無しさん:2005/12/01(木) 14:35:10
>>604
役立たずの言い訳乙!

(・∀・)ニヤニヤ
610デフォルトの名無しさん:2005/12/01(木) 14:40:23
>>604みたいな奴に限って知らないんだよな(´,_ゝ`)プッ
611デフォルトの名無しさん:2005/12/01(木) 15:11:29
二度書かなくてもいいのに
612デフォルトの名無しさん:2005/12/01(木) 15:39:28
>>604
ぷぎゃーwwwwwwwwwwwww
613デフォルトの名無しさん:2005/12/01(木) 15:40:09
>>604
(´_ゝ`) フーン
614デフォルトの名無しさん:2005/12/01(木) 17:13:46
BDEについての質問もココでよろしいでしょうか?
複数フィールドを持つParadoxのTTableに対して
各々のフィールドの値がコレ!というレコードに移動したいのですが…
whileループで回すのってダサいと思うので、瞬時に移動出来るメソッドがあれば、と。
615デフォルトの名無しさん:2005/12/01(木) 21:22:43
マルチ市ね
616デフォルトの名無しさん:2005/12/02(金) 05:04:02
Developer Studio 2006のIndyのバージョンを教えてください。
617デフォルトの名無しさん:2005/12/02(金) 16:50:50
618デフォルトの名無しさん:2005/12/02(金) 19:43:32
C++Builderを使い始めたばかりの初心者です。

グレースケールのbitmapを読み込み処理したいのですが、読み込みの部分が全くわかりません。
実際の処理または適当なサンプルが置いてある場所など教えていただけないでしょうか?

現在の超初心者スレのレベルよりさらに低い質問になってしまいますが、ご教授願えればと思っております。
よろしくお願いします。
619デフォルトの名無しさん:2005/12/03(土) 01:03:36
たぶんインストールしたファイルに含まれてるから
自分のディスクから検索してごらんw
620デフォルトの名無しさん:2005/12/03(土) 08:28:10
>>618
適当なTStream派生クラスにビットマップ読み込んで
TBitmap::LoadFromStream(TStream*);

TFileStreamで扱える物なら
TBitmap::LoadFromFile(AnsiString);
621デフォルトの名無しさん:2005/12/05(月) 18:32:29
仮想リストビューはBuilderではどのようにすれば使えますか?
622デフォルトの名無しさん:2005/12/05(月) 23:31:11
DVD-ROM 上のファイルに対して、fread() すると、まるでデタラメな
ものを返してくる環境が(主に 9x で)たまにあるようなのですが、
fread() とかって、この時代にはもう使っちゃいかんものと思った方がいいのでしょうか?
623デフォルトの名無しさん:2005/12/08(木) 15:11:17
TFileStreamってCloseがないけどこれってdeleteするまでは
何回オープンしても問題はないですか?
624デフォルトの名無しさん:2005/12/08(木) 16:59:10
フォームにTPantBoxはりつけて絵を描いてたんですが、
ふと更新の際のちらつきが気になってダブルバッファ処理をしたくなりました。
どうやるのですか?
625デフォルトの名無しさん:2005/12/08(木) 17:11:28
>>623
どうやって何回もオープンするつもりなのかそれを教えてくれ
626デフォルトの名無しさん:2005/12/08(木) 17:12:12
>>624
TImageつかえばいいやん
627デフォルトの名無しさん:2005/12/08(木) 17:28:15
>>625
ポインタに、何回もnewをして代入する。
628デフォルトの名無しさん:2005/12/08(木) 18:51:43
>>627
どうみてもメモリリークしてます。
629デフォルトの名無しさん:2005/12/09(金) 11:55:19
ペンの端を角張らせたいときVCだとExtCreatePen(PS_GEOMETRIC | PS_SOLID | PS_ENDCAP_FLAT | PS_JOIN_MITER,・・・
などとするがBCBだとどうすんの?
630デフォルトの名無しさん:2005/12/09(金) 12:02:49
>>623
Freeがあるだろ
631デフォルトの名無しさん:2005/12/09(金) 12:12:24
>>629
自己レス
Canvas->Handle使ってExtCreatePenで描けたが
他に方法ないか?
632デフォルトの名無しさん:2005/12/09(金) 14:53:34
TMemoコンポーネントの中で、一番文字列幅が長い行を探す、というのはどうすればいいんでしょうか?

やっぱループでTextWidthを見ていくしかないのかなぁ
内容変わるたんびに呼んでたらやたら時間がかかっちゃいそうだけど・・・orz
633デフォルトの名無しさん:2005/12/09(金) 16:47:00
>>630
FreeとCreateは呼び出すなゴルァってヘルプに書いてある
634デフォルトの名無しさん:2005/12/09(金) 17:15:11
>>633
書いてあっても呼び出しますが何か?
635デフォルトの名無しさん:2005/12/11(日) 12:39:01
他ファイルに定義・実装したクラスをフォーム(TForm1)のクラス内で宣言しようとしたら
E2303型名が必要
E2139宣言に;がない
と言われました。
ちゃんと
myClass o;
みたいにしてるのに><
636デフォルトの名無しさん:2005/12/11(日) 12:49:57
>>635
そうか、それは困ったな

で、それがどうかしたか?
637635:2005/12/11(日) 13:27:48
自己解決しました><
638635:2005/12/11(日) 13:29:39
>>636
このサド!><
639デフォルトの名無しさん:2005/12/11(日) 16:23:40
C++Builderのコンパイルを数倍速くする方法

1.
http://andy.jgknet.de/cpp/index.php
http://andy.jgknet.de/cpp/index.php?page=idecompilerspeedfix
↑のDownloadからファイルをそれぞれダウンロードし適当な場所に解凍する

2.
bcc32ide.exeを $(BCB)\bin フォルダにコピー

3.
BCBを起動し、パッケージのインストール→追加で解凍したファイルをインストールする
bcc32pchPlugin60.bplとIDECompilerSpeedFix60.bplをインストール(BCB5なら50.bplのファイル)

以上でインストール終了です。
プロジェクトの再構築をしてみましょう。奇跡が起きます!
640デフォルトの名無しさん:2005/12/11(日) 18:38:25
はええええええええええええええええ
641デフォルトの名無しさん:2005/12/11(日) 18:48:06
おいおい、ちゃんと「再構築」で比較してるか?
速くはなるがそこまでびっくりするほどじゃないぞw
642デフォルトの名無しさん:2005/12/11(日) 20:56:47
いや、BCB再起動してみ。
コード補間めっちゃ早くなってるから。
643デフォルトの名無しさん:2005/12/11(日) 20:58:46
これ、テンプレ入り確定だな。
644デフォルトの名無しさん:2005/12/11(日) 23:37:17
これって裏で何をやってるんでしょうか?
645デフォルトの名無しさん:2005/12/11(日) 23:39:13
>>639のサイト読めば書いてあるだろ
646デフォルトの名無しさん:2005/12/11(日) 23:40:04
ソースあるだろ!

俺は読んでないけど。
647デフォルトの名無しさん:2005/12/12(月) 01:19:04
>>638
一応レスしておくが、>>635のどこにも疑問文がないので答えようがない、というツッコミだと思う。
648デフォルトの名無しさん:2005/12/12(月) 12:00:42
>>639に書いてある『IDECompilerSpeedFix60.bpl』が解凍しても無い漏れは負け組み?
サイトにもリドミにもこのファイルについて書いていないのだが…
649デフォルトの名無しさん:2005/12/12(月) 16:00:03
ttp://unvclx.sf.net/downloads/IDECompilerSpeedFix.zip
この中にあるけど・・・
650デフォルトの名無しさん:2005/12/13(火) 00:41:43
bcc32pchPlugin60.bpl入れたらF9とかが効かなく…
(つд⊂)エーン
651デフォルトの名無しさん:2005/12/13(火) 01:12:53
>>639の方法間違ってるよ。
サイト読めば分かる。
652デフォルトの名無しさん:2005/12/13(火) 06:55:27
1.3キタ(゚∀゚)!!
653デフォルトの名無しさん:2005/12/13(火) 07:34:30
>>650
だからやめろっていったのに、こんなウイルス
654デフォルトの名無しさん:2005/12/13(火) 12:02:35
入れたら補完が効かなくなった
655ななしへたぐらま ◆XcB18Bks.Y :2005/12/13(火) 14:32:55
全部未確認ですが…

>>621
・OwnerDataをTrueに(これで仮想リストになります).
・項目数が変わったら→Items.Countにデータ数を代入
・OnDataイベントハンドラ(必須)でパラメータItem.CaptionやItem.SubItemsにデータを設定.
・項目の中身が変わったら→UpdateItemsで指定範囲のインデックスの項目を再描画
みたいな感じです.

>>624
描画しているのが出来合いの画像なら>626,
そうでなければペイントボックスの親コントロールの
DoubleBufferedをTrueにするとうまくいくかも.

>>632
恐らくTextWidthでテキストの幅を調べるより
Memo1->Linesで各行のテキストを取得するのに時間がかかるでしょう.
(1行ごとにMEMOコントロールにメッセージを送り,結果が帰ってくるのを待っているため)
1行ずつLinesを参照するよりMemo1->Textを参照して丸ごと読み込んでから
(メッセージを送るのが1回になる)
1行ずつ切り出すようにすれば多少速くなるかもしれません.
(切り出しはTStringListを使うか改行コードを検索すれば良いと思います)
C++Builderはわからないのですが以下のような感じでしょうか.

TStringList sl;
new(sl);
sl -> Text = Memo1->Text;
(以下省略)
656デフォルトの名無しさん:2005/12/14(水) 19:26:45
TCustomPaneから新たなコンポーネントを作ったのですが、
実行時に設定したプロパティの内容が反映されません。
何が考えられるでしょうか?
657デフォルトの名無しさん:2005/12/14(水) 21:12:33
コンポーネントの実装不具合
658デフォルトの名無しさん:2005/12/14(水) 23:53:30
あるフォルダ以下のファイル全て(下位フォルダはない)を他のフォルダに
全てコピーしたいんだけどそういう関数ある?
ファイル1つならCopyFile関数で出来るんだが・・・
ないとしたらそのフォルダ以下のファイルパスを全部取得して
一つずつコピーすると思うんだけどその取得方法がわからない
どういう風に取得させるのか教えてください
659デフォルトの名無しさん:2005/12/15(木) 00:03:08
SHFileOperation
660デフォルトの名無しさん:2005/12/15(木) 03:01:14
あの爆速プリコンパイルヘッダ・コンポーネントの「bcc32ide.exe」って致命的な
副作用があって駄目だな。
フォームにコンポーネントを貼り付けたり削除したりしてからメイクや再構築しても
その変更がまったく反映されない・・・orz
メニュー[プロジェクト(P)]配下のアドオン、CleanもDelete PCHも効き目無し。
フォームに変更を掛けたらその都度BCB再起動ののち再構築しろってことか?!
これって意味がない気が・・・。

もう一方の「IDECompilerSpeedFix60.bpl」だけで様子を見てみるか。
661デフォルトの名無しさん:2005/12/18(日) 12:43:07
TCppWebBrowserでスクロールバーを表示させないようにするには
どうしたらいいですか?
あとリソースのDLに失敗した時のイベントはありますか?
662デフォルトの名無しさん:2005/12/20(火) 01:34:43
すいません、かなり初歩的なことですが教えて下さい。
Borland C++Compiler 5.5をインストールしたのですが、
コマンドプロンプトで、以下のように出てコンパイルができません。

-------------------------------------------------------------------
C:\prg\Sample\01\01>bcc32 -W 01.c
'bcc32' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
-------------------------------------------------------------------

何が足りないのでしょうか。
OS:WinXpHomeEditionです。

また、このあたりの解説が出ているHPがあれば、
教えていただけるとありがたいです。


663デフォルトの名無しさん:2005/12/20(火) 02:02:30
664デフォルトの名無しさん:2005/12/20(火) 02:07:26
>>662
スレ違い こっち

タダで使えるBorland C++ Part4
ttp://pc8.2ch.net/test/read.cgi/tech/1091066805/l50
665662:2005/12/20(火) 22:15:49
>>664
THX! 感謝です。コンパイルできました。
当分は教えていただいたとこのお世話になると思いますが。

>> 663
頑張ってしらべたのですが、力及ばす。
自分の求めてる回答までいきつきませんでした。

ご教授ありがとうございました。
666デフォルトの名無しさん:2005/12/21(水) 01:50:13
TCustomControlから初めて自作コンポーネント作ろうと思うんだけど、
デストラクタつくんなくていいの?
667教えてください:2005/12/21(水) 02:17:57
Visual C++ 6.0でプログラムをしていますが、
Windowsプログラムは初めてなので分らないことが多くて
困っています。教えてください。

1.レジストリにXXX.regをコピーしたいのですが簡単な方法はありますか?
  今のところ、
   RegCreateKeyEx
   RegSetValue
   RegCloseKey
  という流れで考えています。
  もっと簡単な方法があれば教えてください。

2.上記処理でもCreateエラーやSetエラーなどを考えないと
  いけませんか?

3.HDD中のファイルを移動したいのですが、
  私の知識では、
  ファイルを読み込んで、
  クリエイトして、、、
  となってしまいますが
  簡単なAPIがあれば教えてください。

よろしくお願いします。

668デフォルトの名無しさん:2005/12/21(水) 02:26:30
>>667
スレタイを声に出して百回読んだ後、回線切って氏ね
669デフォルトの名無しさん:2005/12/21(水) 10:11:58
久々に切れ味鋭い返しをみせてもらった。(`・ω・´)
670デフォルトの名無しさん:2005/12/21(水) 12:46:39
>>661
IHTMLDocument2インタフェース取ってきてスタイルシートいじればいけるはず
671デフォルトの名無しさん:2005/12/21(水) 13:48:51
class cWrdn : public TPersistent
{
:
}

class Box : public TCustomControl
{
private:
 cWrdn* FCWrdn;
protected:
 virtual void __fastcall SetCWrdn(cWrdn* value);
 virtual void __fastcall Paint();
public:
 __property Canvas;
 __property Parent;
 __property cWrdn* CWrdn = {read=FCWrdn, write=SetCWrdn};//error
 __fastcall Box(TComponent* Owner);
__published:
 __property Align;
};

コンポーネント作成中のヘッダです。
errorの行が、E2040宣言が正しく終了していない
と言われます。
間違いを教えて下さい><
672デフォルトの名無しさん:2005/12/21(水) 21:15:37
>>667
1. RegファイルならShellExecuteやCreateProcessでregedit.exeの引数に渡せば適当に読み込んでくれる。
3. ShFileOperationあるいはMoveFile
673デフォルトの名無しさん:2005/12/21(水) 21:21:09
>>671
FCWrdn()はどこにあるの?
674デフォルトの名無しさん:2005/12/21(水) 21:21:44
>>673
あーわかった。
×cWrdn* FCWrdn;
○cWrdn* FCWrdn();
675デフォルトの名無しさん:2005/12/21(水) 21:59:16
なんでやねん
676デフォルトの名無しさん:2005/12/21(水) 22:00:03
>>673
FCWrdnはポインタで、要するにreadはダイレクトにアクセスするだけで
読みだし用メソッドは考えておりません。
677デフォルトの名無しさん:2005/12/21(水) 22:05:28
なら、privateの変数をpublicで直接読み出そうとするからだろ。
確かこういう場合は読み取りメソッドを挟まないと駄目でそ?
678デフォルトの名無しさん:2005/12/21(水) 22:06:03
あ、もちろん__propertyの場合の話ね。
679デフォルトの名無しさん:2005/12/21(水) 22:09:30
>>677
そんな事はない。
680デフォルトの名無しさん:2005/12/21(水) 22:20:00
class cWrdn : public TPersistent
{
} ←のセミコロンの抜けがただの写し忘れだとして、
>>671のはコンパイル通るから、そのコードからじゃ分からなさそう
681デフォルトの名無しさん:2005/12/21(水) 22:37:14
わかんないです><
682ななしへたぐらま ◆XcB18Bks.Y :2005/12/22(木) 01:20:13
>>666
(例によってBCB未体験ですが)
コンポーネントがオブジェクトを所有している場合,
たとえばコンポーネント内でオブジェクトを生成した場合などをのぞけば
デストラクタのオーバーライドは基本的に不要だと考えてよいと思います.
683デフォルトの名無しさん:2005/12/22(木) 01:48:53
>>682
ありがとうございました
684671:2005/12/22(木) 11:49:04
cWrdnって単なるTPersistentを継承したクラスでいいの?
プロパティ一個もない単なるクラスなんだけど
685デフォルトの名無しさん:2005/12/22(木) 16:06:10
プログラムをいじろうとしたら赤の矢印とか四角がでてエラーになります
どうすればいいですか
686デフォルトの名無しさん:2005/12/22(木) 16:07:10
これはもうだめかもわからんね
687デフォルトの名無しさん:2005/12/23(金) 19:26:48
AnsiString =""
とかの""内に、テキストとしての"を入れたいんですけどどうすればいいですか?
688デフォルトの名無しさん:2005/12/23(金) 19:50:46
\"
689デフォルトの名無しさん:2005/12/25(日) 12:30:10
>>688
あまりにストレートな回答で
687が気付かないと懸念するが如何
690デフォルトの名無しさん:2005/12/26(月) 13:34:11
キーボードが押されたキーをフックする方法を教えてください
691デフォルトの名無しさん:2005/12/26(月) 16:05:38
>>690
グローバルフックでいけると思う
692デフォルトの名無しさん:2005/12/26(月) 16:41:57
質問です。
2byteのバイナリデータを読み込んで10進数化するにはどうすればよいのでしょうか?
693デフォルトの名無しさん:2005/12/26(月) 16:52:11
お願いします。
リファレンスについて質問です。
関数の仮引数の"const T&"と、(constでない)"T&"のメカニズムが分かりません。
constの場合はなぜ、T型でなくてもいい(そのような仕様にした)のでしょうか?
よろしくお願いします。
694デフォルトの名無しさん:2005/12/26(月) 16:53:42
>>691
すみません。
参考になるHPがあったらURLを教えてください
695デフォルトの名無しさん:2005/12/26(月) 17:01:18
>>692
>2byteのバイナリデータ
16進文字列か数値か、もしくはその他かで話が違う。

>10進数化
10進文字列か数値か、もしくはその他かで話が違う。

数値入力かつ数値出力なら変数に入っている数値をプログラマがどう意識するかの違いだが。
696デフォルトの名無しさん:2005/12/26(月) 17:05:53
>>695
例えば

FF 00 → 255
10 00 →16
10 0A →2576

としたいのですが、簡単な方法は無いでしょうか?
697デフォルトの名無しさん:2005/12/26(月) 17:41:14
HINSTANCE hInst;
HWND handle = ::FindWindow( "Notepad", "無題 - メモ帳" );
hInst = (HINSTANCE)::GetWindowLong( handle, GWL_HINSTANCE );
hMyHook = ::SetWindowsHookEx( WH_KEYBOARD, (HOOKPROC)MyHookProc, hInst, 0 );
if( !hMyHook ) ::MessageBox( Handle, "フックに失敗しました", "Error", MB_OK );
これフックに失敗するのですが、何が原因でしょうか?
698デフォルトの名無しさん:2005/12/26(月) 17:44:44
>>696
BYTE 列を unsigned char b[] 、数値配列(十進と理解できるもの)を int d[] として、

for (int i = 0;i < 10;i++)
d[i] = (short &)b[i*2];
699デフォルトの名無しさん:2005/12/26(月) 17:51:43
>>696
ありがとうございます。早速試してみます。
700デフォルトの名無しさん:2005/12/26(月) 18:21:27
>>697
他のプロセスに対するフックの場合はフックプロシージャ(MyHookProc)はDLLに作らなくてはならず、
SetWindowsHookExの3番目の引数(hInst)は、そのDLLのハンドルでなくてはならない。

その上で特定のスレッド(メモ帳)に対してフックしたいなら、そのスレッドIDを4番目の引数で指定する。
指定しなければグローバルフックになる。
701デフォルトの名無しさん:2005/12/26(月) 18:44:28
>>700
なるほど、確かに色々検索していたらDLLを作るってかいてました。
親切にありがとうごあああいmす
702デフォルトの名無しさん:2005/12/26(月) 21:42:59
フォーカスを持っているコントロールが何かを知りたいのですが
教えていただけないでしょうか
703デフォルトの名無しさん:2005/12/27(火) 00:01:50
>>702
TForm::ActiveControl
TScreen::ActiveControl
704デフォルトの名無しさん:2005/12/27(火) 00:24:34
>>693
便利だから

逆に、非const参照を引数に取る関数は、その引数を書きかえることが前提。
それに一時オブジェクトを渡しても意味がないしバグの温床になりかねないので禁止されてる。
705デフォルトの名無しさん:2005/12/27(火) 01:57:27
>>693
const T&を仮引数にするのは殆どの場合,本来Tにすべきだが効率上の都合だけでconst T&になっている。
だからconst T&がT以外でも受け付けるのは仮引数の型がTの場合と同じ挙動になるようにしているため。
という話を聞いたことがある。
706デフォルトの名無しさん:2005/12/27(火) 23:46:15
特定のキーの動作を、別のキーの動作に変更することは可能でしょうか?
例えばテキストボックスの中で、テンキーの * を押すと
バックスペースの変わりになるとかをしたいのです
よろしくお願いします
707693:2005/12/27(火) 23:50:42
>>704-705

勉強になりました。
ありがとうございました。
708デフォルトの名無しさん:2005/12/27(火) 23:54:26
>>706
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if (Key == '*')
Key = '\b';
}
709デフォルトの名無しさん:2005/12/27(火) 23:56:33
テンキーなのでVK_MULTIPLYの方がいい
710デフォルトの名無しさん:2005/12/27(火) 23:58:26
KeyPressで仮想キーコードは使えない
711デフォルトの名無しさん:2005/12/28(水) 19:58:50
「プログラミング言語C++」を読んで勉強しているのですが、
電卓プログラムと称して以下の表記がありました。
program:
   END
   expr_list END

expr_list:
   expression PRINT
   expression PRINT expr_list

expression:
   expression + term
   expression - term
   term
以下略

しかし、意味がさっぱり分からなくて困っています。
詳しく説明したサイトがあったら、教えて欲しいのですが。
ドラゴンブックを読んでも、上記のような表記法は見あたりませんでした。
よろしくお願いします。
712711の続き:2005/12/28(水) 20:00:23
しかし、意味がさっぱり分からなくて困っています。
詳しく説明したサイトがあったら、教えて欲しいのですが。
ドラゴンブックを読んでも、上記のような表記法は見あたりませんでした。
よろしくお願いします。
713デフォルトの名無しさん:2005/12/28(水) 20:20:11
>>711
なんらかのパーサジェネレーター用のコードだろうなあ。
読み方はprogramは何も無いかexpr_listがひとつあるかどちらかで、expr_listはexpressionのあとにPRINTが続いて終わるかその後にまた同じものが続くかどちらかで…だろう。
それ以上はわからん。yaccとは違うように思える。
その本にポインタが示されて無いか?
714712:2005/12/28(水) 20:26:45
ありがとうございます。
多分BNFだと思うのですが、何でこんな表記が必要なんだろう?
ポインタは示されていません。
引き続き待たせてもらいます。
715デフォルトの名無しさん:2005/12/28(水) 20:32:56
完璧スレ違いという事には気づいてもらえんか
716712:2005/12/28(水) 20:36:12
すみません、きづきませんでした。
おさわがせしました。
さようなら
717デフォルトの名無しさん:2005/12/28(水) 20:38:38
>>711
とりあえずそこをすっ飛ばして先を読んで、
実際に電卓プログラムを打ち込んで動作させてごらん。

なお、「プログラミング言語C++」は初心者が読む本じゃないよ。
一通りの知識とある程度の経験を蓄えて読んだほうが良い。
C++を学ぶ上では必読の本ではあるがね。

あと、微妙にスレ違いの話題だな。
今後はC++スレに行きなさい。
718712:2005/12/28(水) 20:46:50
分かりました。ありがとうございました。
C++スレに逝って来ます。
719デフォルトの名無しさん:2005/12/31(土) 16:27:59
しばらく前に作ったプロジェクト(Indy 9.0.14使用)をコンパイルしようとしたら

[C++ エラー] winsock2.h(109): E2238 'fd_set' の宣言が複数見つかった
[C++ エラー] winsock.h(54): E2344 一つ前の 'fd_set' の定義位置
[C++ エラー] winsock2.h(112): E2146 宣言には識別子が必要
[C++ エラー] winsock2.h(153): E2238 'timeval' の宣言が複数見つかった
:
:
:
[C++ エラー] winsock2.h(625): E2228 エラーあるいは警告が多すぎる

と出てコンパイルできなくなってた…(涙

どうすればいいんでしょ?
720デフォルトの名無しさん:2005/12/31(土) 17:13:07
>>719
プロジェクトオプションの「条件定義」に「_WINSOCKAPI_」を追加汁
721デフォルトの名無しさん:2005/12/31(土) 18:52:23
>>720
だめですた
NO_WIN32_LEAN_AND_MEAN;_WINSOCKAPI;_DEBUG
となっていますが、変化ありません

申し送れましたが、BCB6UPD#4,Win2kSP4です
722デフォルトの名無しさん:2005/12/31(土) 18:57:41
>>721
_WINSOCKAPI  じゃなくて
_WINSOCKAPI_
723デフォルトの名無しさん:2005/12/31(土) 21:26:26
>>722
ありがとうございました

今度は
-----------------------------------------------------------------------------------
if(hThread==NULL){
if(NULL!=(hThread=CreateThread(NULL,0,CaptureThread,0,0,&ThreadId)))  //←ここんとこ
}else{
TerminateThread(hThread,ThreadId);
hThread=NULL;
}
-----------------------------------------------------------------------------------
のところで
[C++ エラー] Unit1.cpp(106): E2451 未定義のシンボル CaptureThread
と言われますた

クソして回線切って引き篭もります
724デフォルトの名無しさん:2005/12/31(土) 22:07:04
>>723
CaptureThreadは何か(と言ってもおそらくCreateThread)の打ち間違いではないかい?
725723:2006/01/01(日) 14:22:36
//---------------------------------------------------------------------------
unsigned long __stdcall CaptureThread(void *ArgList)
{
getkekka(Label4->Caption);
Form1->hThread = NULL;
return (0);
}
//---------------------------------------------------------------------------
726デフォルトの名無しさん:2006/01/01(日) 18:06:12
>>725
単純にUnit1.cppの106行目の時点ではまだCaptureThreadが見えていないと予想。
727デフォルトの名無しさん:2006/01/03(火) 20:19:09
C++にしかない(Cにはない)ファイルのオープン方法はないのでしょうか?
#include <ifctream>
が検索したら、ヒットしました。
文字通り超初心者です。よろしくお願いします。
728デフォルトの名無しさん:2006/01/03(火) 20:53:56
>>727
#include <ifstream>
using namespase std;
   :
   :
ifstream inputFile( "data.txt" );

if (inputFile.good()) {
  //読み込み処理

   :
   :

  inputFile.close();
}

729伝説新人タクシ:2006/01/03(火) 21:08:36
730デフォルトの名無しさん:2006/01/04(水) 16:22:19
ScanLineを利用して画像を表示しています。
とりあえず画はでるようになったのですが、
ScanLineでセットした値と後からPixelsで読み出した値が異なるのですが、
ガンマ変換みたいな処理が何処かで行われているのでしょうか?
確認用にScanLineで全画素各色を0x80(全面灰色)で埋めました。
後からPixselsで読むとR=84h,G=82h,B=84hで返ってきます。

アドバイス宜しくお願いします。
731デフォルトの名無しさん:2006/01/04(水) 17:02:10
>>730
画面の表示色数が16bitで、そのビットマップをフォームか何かに描画した色を読んでるとかじゃなくて?
732730:2006/01/04(水) 17:30:20
まさしくその通りでした。
有り難うございました。
733デフォルトの名無しさん:2006/01/05(木) 10:40:33
BCB6でプロジェクトのオプションを変更したら、
SysInit.hppでエラーが発生する様になってしまいました。
オプションを元に戻しても直りません。
一度プロジェクトを作り直しと現象をおさまりますがオプションを変更すると再発します。
単体実行可能なEXEファイルを作ろうとオプションを変更しているだけなのですが。
[C++ エラー] SysInit.hpp(18): E2141 宣言の構文エラー
[C++ エラー] SysInit.hpp(25): E2141 宣言の構文エラー
宜しくお願いします。
734デフォルトの名無しさん:2006/01/07(土) 16:31:49
Editコンポーネントで数字だけが入力できるようにしたいのですが、
OnChangeイベントは変更後に来てしまっていて、変更前に
入力を拒否することは出来ないみたいです。

半角数字以外の入力を拒否できるようにならないでしょうか。
735デフォルトの名無しさん:2006/01/07(土) 19:09:05
>>733
リンカオプション弄ってコンパイルエラー?なんて妙なこと言ってるようにしか読めないので
何のオプションを変えてるかも書いた方がいいと思われ
>>734
OnKeyPress
736734:2006/01/07(土) 21:26:16
>>735
出来ました!
ありがとうございました!
737デフォルトの名無しさん:2006/01/09(月) 22:02:20
web上からファイルを拾ってきて、実行ファイルと同じディレクトリに保存するという
プログラムを作りたいんですが、どのコンポーネントを使えばいいんですか?
738デフォルトの名無しさん:2006/01/09(月) 22:39:41
>>738
俺ならIdHTTP
739デフォルトの名無しさん:2006/01/11(水) 07:37:06
http://www.cmpt.phys.tohoku.ac.jp/~genya/bcc.html
上記URLのHPからGSLをダウンロードしてプロジェクトに
数値計算用のライブラリを追加しようと考えています。
とりあえず[プロジェクト → プロジェクトへ追加]
からlibフォルダにあるgsl.libおよびgslcblas.libをプロジェクトに追加しました。

で、実際に関数を使おうと思って(例としてベッセル関数)、ヘッダファイルに
#include <gsl/gsl_sf_bessel.h>を追加してコンパイルしましたが

[C++ エラー] Unit1.h(14): E2209 インクルードファイル 'gsl/gsl_sf_bessel.h' をオープンできない

となります。なにが不味いのでしょうか?
というかC++自体初心者ですので自分がやっていることが正しいのかどうか
ほとんど分からない状況です。
よろしくお願いします。上記していること意外はなにもいじっていません
740デフォルトの名無しさん:2006/01/11(水) 10:10:15
ヒント:インクルードパス
741デフォルトの名無しさん:2006/01/11(水) 13:01:23
>>739
君の頭が不味い。
742デフォルトの名無しさん:2006/01/11(水) 13:08:30
>>739
プロジェクト→オプション→ディレクトリ
 インクルードパスにヘッダのディレクトリを追加
 ライブラリパスにlibのディレクトリを追加
743デフォルトの名無しさん:2006/01/12(木) 11:07:40
>742
君の頭も不味い。

"〜";
744デフォルトの名無しさん:2006/01/12(木) 12:26:38
>>737
その程度ならURLDownloadToFile()で十分じゃん。
745デフォルトの名無しさん:2006/01/15(日) 01:20:14
TCppWebBrowserに表示されてるhtmlドキュメント上のリンクなどを
マウス使わずに踏むにはどうしたらいいですか?
746デフォルトの名無しさん:2006/01/15(日) 01:59:45
>>745
踏みたいエレメントの _Click() を呼ぶ
747デフォルトの名無しさん:2006/01/15(日) 06:41:45
TransparentBlt()を使いたいのですが、
msimg32.libをリンカにインポートするとはどういう意味ですか?
748デフォルトの名無しさん:2006/01/15(日) 06:42:23
すみません、age忘れました。
749デフォルトの名無しさん:2006/01/15(日) 10:33:59
>>748
あんま聞かない表現だけど、リンカに渡してやればいいんでしょ。
プロジェクトオプションの「ディレクトリ/条件」タブの「ライブラリパス」に「$(BCB)\lib\psdk」を追加して、
ソースのどっかに「#pragma link "msimg32.lib"」って書けば使えるよ。
750デフォルトの名無しさん:2006/01/15(日) 15:40:30
>>746
もうちょっとkwsk
751747:2006/01/15(日) 20:58:40
>>749
レスありがとうございます。
ですが、「ディレクトリ/条件タブ」がみつかりませんでした・・・。
すみませんがどこにあるのか教えていただけないでしょうか?
752デフォルトの名無しさん:2006/01/15(日) 21:52:31
質問なんですがC++(Borlandの無料の奴)で

COMポートをオープンして、ボーレートとかの設定してデータの送受信をしたいのですがどうしたらよいのでしょう?

インターネットネットで調べてみたのですが超初心者の私にはさっぱりわかりませんでした。
どなたか教えて下さい。宜しくお願いします。
753デフォルトの名無しさん:2006/01/15(日) 22:46:09
>>751
メインメニュー→プロジェクト→オプション→…
なお#pragma link指令は普通ヘッダに書く

>>752
スレ違い。こっち↓
タダで使えるBorland C++ Part5
ttp://pc8.2ch.net/test/read.cgi/tech/1135127048/l50
754デフォルトの名無しさん:2006/01/15(日) 23:03:55
> #pragma link指令は普通ヘッダに書く

んなこたねー
755752:2006/01/15(日) 23:13:50
>>753さん

ありがとうございました。
誘導先で質問してみます。
756747:2006/01/16(月) 06:34:59
>>753
ありがとうございます、ですがどうもスレ違いの質問をしていたようです。
GUIで動かしてるみたいなので、
このスレはborlandの統合開発環境とかいうやつの事なんですね。
多分、僕の質問も>>752さんと同じ場所の内容だと思いますので、
そちらのほうで質問しなおしてみたいと思います

すみません、丁寧な説明ありがとうございました。
757デフォルトの名無しさん:2006/01/16(月) 09:21:12
>>750
TCppWebBrowserからIHTMLDocument2インタフェースを取得して、そこからDOMでエレメント取得。アンカー(A)オブジェクトのclickメソッド呼び出し。
IHTMLDocument2インタフェースの取得の仕方はぐぐれば出てきたはず。
758デフォルトの名無しさん:2006/01/16(月) 17:35:12
教えてもらえると嬉しいのですが。

自分で作った構造体をvectorでメモリ確保は自分でやるとして
Strings->Objects[] に関連づけるとすると
構造体ポインタを無理矢理 reinterpret_cast<TObject*>(&my_struct)とキャストして
使って問題ないんでしょうか?
一応動くんですが どこかでメモリリークしてるみたいなんで
やり方は間違ってないんでしょうか?
リスト系の文字とデータ結びつけるのってこういう感じになるんでしょうか。

それともvectorのiteratorをそのままポインタとして使ってることに問題が..?
759デフォルトの名無しさん:2006/01/16(月) 20:44:26
>>758
質問の趣旨が不明確なのであてずっぽうで言うが
99%以上の確率でお前の書いたコードに問題がある。
どこが悪いか判断できないならコードを晒せ。話はそれからだ。

>それともvectorのiteratorをそのままポインタとして使ってることに問題が..?
vectorの要素をポインタで参照したかったらこうする。

 std::vector<int> hoge;
 //...
 int* foo = &hoge[0];

でもメモリリークの原因は別だろうな、多分。
760758:2006/01/16(月) 22:27:02
>>759
Res有り難うございます。

コードはどこに問題があるかわからないので
晒す部分を絞り込むことさえできません(アフォ)

# std::vector<int> hoge;
# //...
# int* foo = &hoge[0];

これはhoge[0]のアドレスを指してるのはわかるんですが
イテレータから各コンテナのポインタを取得したい場合は

int* a;
std::vector<int>::iterator pos;
for(pos = hoge.begin(); pos != hoge.end(); ++pos)
{
a = &(*pos); //意味無いコードです
}
という感じなんでしょうか?
ようはvectorのiteratorからコンテナのポインタを取得する方法と

後はint*型のような組込型でもTStrings->Objects[]に関連
させるためにはTObject*型みたいな大げさな型にキャスト
しなくてはいけないのか?
という2点が疑問点です。 とりとめもなく長文ですみません。
761デフォルトの名無しさん:2006/01/16(月) 22:35:20
>>760
std::vectorに限っては特別で要素が連続していることになっている。
だから配列へのポインタみたいにこんなこともできる。

std::vector<int> hoge;

int *p = &hoge[0], pEnd = &hoge[0] + hoge.size();

while (p != pEnd)
  ... = p++;
762デフォルトの名無しさん:2006/01/16(月) 22:42:57
>>760
>a = &(*pos); //意味無いコードです
それでヲケ。カッコいらんけど。

>後はint*型のような組込型でもTStrings->Objects[]に関連
>させるためにはTObject*型みたいな大げさな型にキャスト
>しなくてはいけないのか
言いたいことは
 ×関連
 ○代入
なんだろうな、多分。
TString::ObjectsはTObject*型なんだから組込み型ポインタを代入するにはキャストするしかない。
あたりまえじゃん。
763758:2006/01/16(月) 23:21:40
>>761
へえ こういうのもアリなんですね。

>>762
>>a = &(*pos); //意味無いコードです
>それでヲケ。カッコいらんけど。

a = &*pos;
ですか?なんか読みにくい...

>あたりまえじゃん。

そうですよね。なんかイメージがわかなくて。
int型のポインタというと小さい気がするんですが
TObject型ポインタといとサイズが...

と思ってsizeofで測ってみたらどっちも4byteでした

なんか,大きな勘違いをしてました。型のサイズとかは
別に持ってて,ポインタはどんな型でも開始アドレスを
示しているだけということですか。
764デフォルトの名無しさん:2006/01/16(月) 23:27:28
>>763
>なんか,大きな勘違いをしてました。型のサイズとかは
>別に持ってて,ポインタはどんな型でも開始アドレスを
>示しているだけということですか。

おまえ、一から勉強しなおせ。
765デフォルトの名無しさん:2006/01/16(月) 23:30:30
>>752
シリアルポート(RS232C)の通信用に
OpenComm、ReadCommとかAPIがあったけど
OpenCommなんかは廃止されて今は
CreateFile でCOMポートをオープンするらしい
ググれば日本語の情報もあるとおもうが
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/msdn_serial.asp
766デフォルトの名無しさん:2006/01/16(月) 23:38:02
>>763
だからね、std::vector<int>::iteratorとbegin()とend()の代わりに
int *と&hoge[0]と&hoge[0] + hoge.size()が使える。
なぜならポインタはランダムアクセスイテレータの一種だから。

こうすれば&*と書く必要がない。
int* a;
int *pos;
for (pos = &hoge[0]; pos != &hoge[0] + hoge.size(); ++pos)
{
    a = pos;
}
767758:2006/01/17(火) 00:22:25
>>766

なるほど。for文の中はシンプルになりますね。
有り難うございます。
768デフォルトの名無しさん:2006/01/17(火) 14:33:20
BDSのBCBでDBのプログラムを組んでいます。
DBGridで表示中のライン数を表示したいのですがどうすればいいのか分かりません。
昔は、RowCountプロパティで求められたように記憶しているのですが、
BDSでは見当たらないのです。(記憶違いかな?)
コードを書いて全件数求めるやり方しか方法はないのでしょうか?
よろしくお願いいたします。
769デフォルトの名無しさん:2006/01/17(火) 21:52:26
VC++2005になってGUIの作りやすさはBCB/Delphiと同じくらいになりましたか?
併用している方、教えてください!!
770デフォルトの名無しさん:2006/01/17(火) 23:11:29
>>769
今までと何も変わらないよ。
強いて言えばC++/CLIがあるから
.NetフォームアプリケーションではGUIを作った後が良くなったのかもしれない。
俺はC++/CLIは使ったことはないけれど。

あとExpressではリソースエディッタがない。
771デフォルトの名無しさん:2006/01/18(水) 00:10:48
>>770

ありがとうございました。
VC2003よりもVC2005はVBらしくなったと読みましたので、
少し期待したのですが違ったのですね。
VC#=VB>>>>VCという構図はそのままなんですかねぇ。
772デフォルトの名無しさん:2006/01/18(水) 00:20:55
>>771
C++/CLIはC++のスーパーセットだけど、拡張部分はまんまC#だと思えば良い。
今試しにWindows Formアプリケーションを作ってみたけど、使い勝手はC#の
それと極めて類似している。

.(ドット)が->(アロー)、*が^に(マネージオブジェクト)なったと思えば。
773デフォルトの名無しさん:2006/01/18(水) 00:36:45
ローカル変数ではnewしなくてもマネージオブジェクトを作れたり、
しかもそうするとスコープを抜けるときにデストラクタが呼ばれたりすることに関してはC#より上。
774デフォルトの名無しさん:2006/01/18(水) 00:44:16
VC++2005 MFCついてないよね
775デフォルトの名無しさん:2006/01/18(水) 00:49:08
>>774
付いてるよ。
776デフォルトの名無しさん:2006/01/18(水) 00:51:46
>>773
あーそれがあったか。後、newの代わりにgcnewを使う(マネージオブジェクト)
位かな。気を付ける点は。managed C++がごちゃごちゃしていたのに対して、
本当に洗練されたね。本質は変わってないけど。
777デフォルトの名無しさん:2006/01/18(水) 00:59:51
  ∧_∧                                
 ( ・∀・)        
778デフォルトの名無しさん:2006/01/18(水) 02:03:41
>>757
TCppWebBrowser *Browser
IHTMLDocument2 *doc2;
IHTMLElementCollection *ec;

Browser->Document->QueryInterface(IID_IHTMLDocument2,(void**)&doc2);
doc2->get_links(&ec);

ここまででたぶん、ドキュメント内のリンクのエレメントコレクションを取得しました。

で、ドキュメント内にあるリンクが
<a href="link.html">リンク1</a>
<a href="link2.html">リンク2</a>
<a href="link3.html">リンク3</a>
のようなnameもidも無いものだった場合、特定のリンクを選んでclick
させることはできますか?
779デフォルトの名無しさん:2006/01/18(水) 17:59:58
>>778
コレクションの走査が分からんの?
コレクションからエレメントが取れてるんなら、エレメントのouterHTML見れば<a〜/a>までの文字列が入ってるから、特定できると思うけど。
780デフォルトの名無しさん:2006/01/18(水) 19:28:15
自作のデータベースから任意の検索条件で検索を行い、
検索結果を一覧で表示するプログラム
をc++builder6で作成するプログラムがわかりません。
どなたか教えてください。
781デフォルトの名無しさん:2006/01/19(木) 17:42:46
データベースエリアスってなんですか?
782デフォルトの名無しさん:2006/01/20(金) 09:27:33
>>778
<P>
<A href="http://www.2ch.net" id="test">2ch</A>

<script type="text/javascript">
var obj = document.getElementById("test");
document.write(obj + "<BR>");
document.write(obj.href + "<BR>");
document.write(obj.firstChild.nodeValue + "<BR>");
</script>
783782:2006/01/20(金) 09:31:27
例は面倒だから列挙しないでidから取ってるが、body以下または適当なid付きブロック要素以下のAオブジェクトを列挙。
各個にhrefプロパティやA内のテキストノードの値を調べてオブジェクトを特定、clickメソッド呼び出せばいいだけ。

面倒だからJavascriptで書いたけどC++でも同じ。
784デフォルトの名無しさん:2006/01/20(金) 17:07:02
MFCを使った開発があまりにもだるいので
C++Builderへの乗り換えを検討しているのですが気になることがあります

仕事で使っても安心ですか?
将来性はありますか?
最適化性能はどうですか?

良さそうならEnterprise版に相当するものを上司に提案してみようと思ってます
785デフォルトの名無しさん:2006/01/20(金) 17:11:36
どれも微妙
786デフォルトの名無しさん:2006/01/20(金) 18:19:31
将来性を除けば及第点じゃないかな
787デフォルトの名無しさん:2006/01/20(金) 18:26:57
>>784
Pro版(激安)を上司に提案する方法がある。

とりあえず、ポトペタとC/C++系のコンパイルリンクは完璧。







コンパイル遅いだけで。
788デフォルトの名無しさん:2006/01/20(金) 18:33:19
>>787
「コード補完が泣ける程遅い」ってのも入れておいてくれ。

あと気になるのが標準のVCLクラスがUnicodeに対応していないってのが‥‥
789デフォルトの名無しさん:2006/01/20(金) 19:11:32
IDE SpeedFixを入れて、プリコンパイルヘッダを作成すれば、コード補完が
かなり速くなるぞ。コンパイルもな。

Unicodeはねえ・・・・
790デフォルトの名無しさん:2006/01/20(金) 19:15:25
>IDE SpeedFix

難だっけ、これ?

>Unicodeはねえ・・・・

自分UTF-8で処理して、コンポに渡す瞬間にUtf8ToAnsiして渡してる。
で、おk。
791デフォルトの名無しさん:2006/01/20(金) 19:17:25
>MFCを使った開発があまりにもだるいので
>C++Builderへの乗り換えを検討しているのですが

こういう人は、起動してポトペタした瞬間乗り換えだと思う。

某サイト(U$)から、体験版落とせ。
792デフォルトの名無しさん:2006/01/20(金) 19:38:33
開発環境に制限がないのにMFC使っているなら
乗り換えるべきじゃないの?
793デフォルトの名無しさん:2006/01/20(金) 20:24:39
逆にVCLを研究してMFCをラッピングする独自のクラスライブラリを作ってそれを売り出せばいい。
794デフォルトの名無しさん:2006/01/20(金) 21:15:05
>>789
動作が変にならない?
795デフォルトの名無しさん:2006/01/20(金) 22:29:38
>>790>>794
>>639

但し、bcc32pchPlugin60.bplとIDECompilerSpeedFix60.bplは
同時に入れるなよ。前者は後者の機能を含んでいるので、両方
入れるとおかしな事になる。
796デフォルトの名無しさん:2006/01/20(金) 23:51:53
なるほど、サンクス
797デフォルトの名無しさん:2006/01/21(土) 01:32:30
ネット環境なくてガッコのPCでC++Builderを手に入れたんだけど、インストールしても起動方法がわかりません。やり方教えて頂けませんか?
798デフォルトの名無しさん:2006/01/21(土) 02:09:35
>>797
警察に聞くといいよ。
799デフォルトの名無しさん:2006/01/21(土) 08:38:20
800デフォルトの名無しさん:2006/01/21(土) 23:03:08
801デフォルトの名無しさん:2006/01/22(日) 02:14:05
>800
自分で作らないと使い方覚えるのが面倒だろ。
そう言うのは買うんじゃなくて自分で作るのが一番なんだよ。
802デフォルトの名無しさん:2006/01/22(日) 08:53:58
>>798
BCBじゃなくてBCC5.5.1と予想
803デフォルトの名無しさん:2006/01/22(日) 10:39:52
>>797
とにかく全部ダブルクリックだ!
804デフォルトの名無しさん:2006/01/26(木) 01:50:07
>>779
>コレクションの走査が分からんの?

遅レスですが、そうです。
idもnameも使える前提でいいので教えて下さい。
805デフォルトの名無しさん:2006/01/28(土) 13:02:26
cとc++は具体的にどう違うのでしょうか?
最終的にc++を主力に覚えていきたいと思うのですが
c言語の機能を網羅してからc++に移行したほうがいいですか?
c++になったとき使えなくなるような機能はないのでしょうか?
c++はcの完全互換ではないとかきくので
806デフォルトの名無しさん:2006/01/28(土) 14:01:14
>>805
手続き指向かオブジェクト指向か
基本的にC++はCを含むけど極一部に挙動が変わるところがあったかもしらん。

てか
【初心者歓迎】C/C++室 Ver.24【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1135828083/
向きの話題。

ここはBDS2006含むBorland C++Builderのスレだから。
807805:2006/01/28(土) 19:16:01
>>806
ありがとうございました
808デフォルトの名無しさん:2006/01/29(日) 18:33:29
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
Application->MessageBoxA("保存しますか?","終了",MB_YESNOCANCEL);
}

てな感じでダイアログを表示させた時、キャンセル押した時にアプリ終了を中止するのはどうやりますか?
809デフォルトの名無しさん:2006/01/29(日) 18:41:33
>>808
if (Application->MessageBox("保存しますか?", "終了", MB_YESNOCANCEL) == IDCANCEL)
  Action = caNone;
810デフォルトの名無しさん:2006/01/29(日) 20:06:34
>>808
OnCloseQueryがそのためのイベント
811デフォルトの名無しさん:2006/01/29(日) 22:34:57
>>809
ありがとう。
>>810
ウィンドウの×を押した時のCloseイベントをキャンセルしたかったので。
812デフォルトの名無しさん:2006/01/29(日) 22:44:16
>>811
>ウィンドウの×を押した時のCloseイベントをキャンセルしたかったので。

だからそのためのイベントがOnCloseQuertyだってのに、この池沼
813デフォルトの名無しさん:2006/01/29(日) 22:54:31
void TForm::Close() {
bool CanClose = false;
if (FOnQueryClose) FOnQueryClose(this, CanClose);
if (!CanClose) return;
if (FOnClose) FOnClose(this);
}
814デフォルトの名無しさん:2006/02/02(木) 09:57:56
【OS】windowsXP
【コンパイラ名】Borland C++ 5.5.1
【質問内容】
makefileの書き方についての質問です。例えばディレクトリ構成が以下の時。
---------------
dir1
┣main.cpp
┣main.h
┣Makefile1
┣dir2
┃┣a.cpp
┃┣a.h
┃┗Makefile2
┗dir3
┣b.cpp
┣b.h
┗Makefile3
---------------
Makefile1を実行するとMakefile2とMakefile3が実行されa.objとb.objを作成。
その後a.objとb.objよりmain.exeを作成。このようなMakefile1を作成したいと
思い色々調べたのですがわかりませんでした。

参考になりそうなサイト
ttp://www.ecoop.net/coop/translated/GNUMake3.77/make_toc.jp.html
ttp://www.geocities.co.jp/Milano/8000/bcc/make.html
ttp://d.hatena.ne.jp/kurai/19791002
ttp://homepage3.nifty.com/kaku-chan/make/chapter_006.html
815814:2006/02/02(木) 10:00:15
少しフォントがずれてしまいましたが、b.cpp b.h Makefile3はdir3に含まれます。
どなたか、知恵を貸してください
816デフォルトの名無しさん:2006/02/02(木) 10:09:06
bccはこっち

タダで使えるBorland C++ Part5
http://pc8.2ch.net/test/read.cgi/tech/1135127048/
817デフォルトの名無しさん:2006/02/03(金) 06:24:03
ステータスバーに画像とか表示できますか?
818デフォルトの名無しさん:2006/02/03(金) 07:45:17
>>817
私も現在トライしてまして(ステータスバーにLEDを表示する)、
もうちょいでできそうです。

「StatusBar にアイコン表示」
あたりのキーワードでググったページを参考にしてますが、
他に参考になるところがあれば、私も紹介して頂きたいです。
819デフォルトの名無しさん:2006/02/03(金) 18:13:23
>>817
ステータスバーのプロパティ「Panels」でStatusPanelを新規追加して
その新規追加したStatusPanelのプロパティをpsOwnerDrawにしてやる

ステータスバーのイベントハンドラ OnDrawPanelに描画処理を書いてやる
とできた
820デフォルトの名無しさん:2006/02/04(土) 06:58:27
>>819
あり^^
821デフォルトの名無しさん:2006/02/04(土) 11:48:14
基本的なことで申し訳ないんですが、C++Builder6でエディタに
行番号を表示するのはどうやってやるんですか?
カーソル位置の行番号は表示されるんですが、行ごとにはどうやって
やるのかヘルプ見ても分かりません。
822デフォルトの名無しさん:2006/02/05(日) 06:54:29
vimをインストールして、
:se nu
823デフォルトの名無しさん:2006/02/07(火) 14:11:12
ある文字列があってその中からある指定語以下の文字列を
取り出すにはどうしたらいいでしょうか?

例「あいうえおかきくけこ」という文字列があり
「おか」という指定後を与えると
「おかきくけこ」という文字列が欲しいです
824デフォルトの名無しさん:2006/02/07(火) 15:23:36
String s,ss;
s = "あいうえおかきくけこ";
ss = s.Delete(1,s.Pos("おか"));
825デフォルトの名無しさん:2006/02/07(火) 15:37:46
もとい
ss = s.Delete(1,s.Pos("おか")-1);
かな
826デフォルトの名無しさん:2006/02/07(火) 15:41:35
俺は、そういうのはすぐにc_str()に対してstrstr()してしまう駄目人間
827デフォルトの名無しさん:2006/02/07(火) 17:39:31
>>824-825
これって文字列中に"おか"が入っていなかった場合の動作は平気なの?
828デフォルトの名無しさん:2006/02/07(火) 18:15:28
自分で試せよ。
エラー処理って言葉知ってる?
829デフォルトの名無しさん:2006/02/07(火) 19:53:41
>>827
関数名を教わったんだから、その先は自分でヘルプ引きなよ
例外のことも書いてあるから。
そんなんじゃ進歩しないよ
830デフォルトの名無しさん:2006/02/07(火) 22:07:00
JavaScriptやFlashのASくらいしか経験が無いのですが、
ゲームを作りたくてどの言語が良いのか迷ってます。

書店で見た感じではC++が多そうだったのですが、
どの言語が向いてる、とかはありますか?
831デフォルトの名無しさん:2006/02/07(火) 22:34:07
2D、3Dを自分で描画するなら、ポトペタのアドバンテージはない。
つーか、ゲーム製作板池
832デフォルトの名無しさん:2006/02/08(水) 07:27:15
BCBの利点はポトペタだけではないでよ。
833デフォルトの名無しさん:2006/02/08(水) 10:45:46
コンポーネント?
834デフォルトの名無しさん:2006/02/08(水) 11:13:32
Image上でマウスをクリック、移動させると
その動きに沿って黒線が表示される、という
簡単なペイントみないなモノを作ったんですが、
印刷してみても真っ白になってしまいます。

ImageをPaintBoxに代えてみたりBitmapを考えてみたり
色々してみましたが、上手くいきません。
おそらく物凄い初歩的なミスだと思うのですが・・・
わかる方がいらしたら教えていただけないでしょうか?
835デフォルトの名無しさん:2006/02/08(水) 14:07:17
>>834
そんなに難しくはないとはいえ、メソッド一発で印刷してくれるわけじゃない。
その説明で問題点を言い当てるのは不可能。

TImage に描いたものと同じものを TPrinter の Canvas に描いて、
それを出力するというのが、順当な方法(他にもある)
836デフォルトの名無しさん:2006/02/09(木) 11:00:14
>>835
void __fastcall TForm1::Print1Click(TObject *Sender)
{
RichEdit1->Print(Caption);
TPrinter *Prntr = Printer();
Prntr->BeginDoc();
Prntr->Canvas->Draw(0,0, Image1->Picture->Graphic);
Prntr->EndDoc();
}


こんな感じにしているんですが・・・コレで問題点がわかりますでしょうか?
837デフォルトの名無しさん:2006/02/09(木) 11:02:20
コンボボックスを使って、ペイントボックスに表示させる絵を変えたいのですが、
ビットマップファイルから読み込んで表示させることができません。
 void型の値は許されない
とか
 TCanvas*型で定義されているのでvoidは渡せない
とエラーが出てしまいます。
何か別のを使うのでしょうか?
教えてください。おねがいします。


if(ComboBox1->ItemIndex==1){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("001.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
else if(ComboBox1->ItemIndex==2){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("002.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
else if(ComboBox1->ItemIndex==3){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("003.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
else if(ComboBox1->ItemIndex==4){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("004.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
838デフォルトの名無しさん:2006/02/09(木) 12:54:33
>>837
BMP->LoadFromFile("001.bmp");
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),BMP,Rect(0,0,BMP->Width,BMP->Height));
でいけるんじゃないかな。

あと、switch-case の方が見通しがよくなるのと、PB1->Canvas->Draw(20,20,BMP);
の方が楽じゃね?

>>836
Image1 に対して、Lineto とか行ってる筈で、それと同じことを同時に
Prntr->Canvas に対して行う。
それが面倒で、どうしてもそのままのものを印刷したいと思ったら、
bitmap をそのまま出力する手もあるけども、これは少し難しい。
http://www.hey-to.net/ML-archive/vcppML/1999/msg10787.html
839デフォルトの名無しさん:2006/02/09(木) 13:03:50
Borland、「Delphi」「C++Builder」等売却へ
http://live22x.2ch.net/test/read.cgi/news/1139444093/

840デフォルトの名無しさん:2006/02/09(木) 13:59:15
ボーランドは俺を怒らせた…
841デフォルトの名無しさん:2006/02/09(木) 14:24:27
 バーゲンというなのもとに糞を2005年おれにうりつけたから
842836:2006/02/09(木) 14:26:12
>>838
アドバイスありがとうございます。
なんとかぎこちないながらも印刷できるようになりました。
印刷のときとても小さく印刷されてしまうのですが、大きく印刷する方法等はあるのでしょうか?
プリンタのプロパティの出力サイズやズームをいじるとエラーが出てしまいます。
解決方法がわかるなら教えていただきたいのですが・・・。
843デフォルトの名無しさん:2006/02/09(木) 14:35:50
>>842
印刷までたどりつけば、あとはヘルプと検索で自力解決できると思うよ。
844デフォルトの名無しさん:2006/02/09(木) 15:03:57
小さく印刷されるなら、大きく描画すればいい。
845836:2006/02/09(木) 15:35:23
ありがとうございます。
やってみます。
846デフォルトの名無しさん:2006/02/09(木) 15:44:45
>>838
ありがとうございます。
おかげで絵が表示されるようになりました!
ですが、ファイルの入出力を行うと
「ファイルが開けません」と、エラーが出て表示されなくなってしまいます。
何が間違っているのでしょう?
教えてください。お願いします。

Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
Caption=OpenDialog1->FileName;
BMP->LoadFromFile("001.bpm");
PB1->Canvas->Draw(0,0,BMP);
847デフォルトの名無しさん:2006/02/09(木) 15:51:48
bpm
848デフォルトの名無しさん:2006/02/09(木) 16:01:35
>>846
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
Caption=OpenDialog1->FileName;
BMP->LoadFromFile("001.bmp");
PB1->Canvas->Draw(0,0,BMP);
でした。
お願いします。
849デフォルトの名無しさん:2006/02/09(木) 16:14:54
OpenDialog がカレントディレクトリを変えてるのだろう。
String path = GetCurrentDirectory()
SetCurrentDirectory(path)
で挟む。
850デフォルトの名無しさん:2006/02/09(木) 16:24:14
>>849
何を挟めばいいのでしょう??
851デフォルトの名無しさん:2006/02/09(木) 16:28:33
>>850
ヒントは十分(というか与えすぎたことを反省してる)だから、あとは自分で考える。
852デフォルトの名無しさん:2006/02/09(木) 16:30:56
>>851
できました!ありがとうございました。
853836:2006/02/09(木) 16:48:28
大きく印刷する方法、探していますがなかなかうまくいきません。
簡単な見落としがあるような気がするのですが・・・。

そう難しくないことなのでしょうか?
854デフォルトの名無しさん:2006/02/09(木) 18:08:11
大きく印刷するというより、Canvas を小さくする。
855デフォルトの名無しさん:2006/02/09(木) 18:16:14
あ、ちょっと適当なことをいっちゃったので訂正。
Prntr->PageWidth と、Image->Canvas->Width の比率に合わせて大きく描く。
856デフォルトの名無しさん:2006/02/10(金) 11:02:12
BorlandのホームページからC++Builder 6 Personalのフリーの英語版をダウンロードしてきて、それに日本語版のアップデートを当てたら日本語化されて今のところ不具合も見られないのですが、同じようにして使っている方いますか?
何か不具合あったりするんでしょうか?
VC++2005 Expressよりよさそうなので使ってみようと思うのですが
857デフォルトの名無しさん:2006/02/10(金) 13:02:13
>それに日本語版のアップデートを当てたら日本語化されて

嘘はいかんよ嘘は。
858デフォルトの名無しさん:2006/02/10(金) 15:08:45
それよりアクティベーションが止まらないか心配だ
859デフォルトの名無しさん:2006/02/10(金) 15:10:47
BCB6とDel7の悪痴はキャンセルボタンでスルー出来るので無問題。
860デフォルトの名無しさん:2006/02/10(金) 16:16:53
キージェネ持ってるし。
フヒヒスイマセン
861デフォルトの名無しさん:2006/02/10(金) 19:25:41
アクティベーションをスルーすると、コンパイルして出来たexeファイルに
未承諾と書かれてしまう。
862デフォルトの名無しさん:2006/02/10(金) 19:29:53
IdHTTPでproxyの設定を"インターネットオプションに従う"にするには
どうすればいいですか?
863デフォルトの名無しさん:2006/02/10(金) 19:32:40
>>862
それはガセ
864デフォルトの名無しさん:2006/02/11(土) 00:18:45
>>857
嘘じゃないですよ

ttp://www.borland.pl/download/personal.shtml

ここから落としたのに当てたら日本語化されたんです
Borlandのページだからいいのかなと思うんだけど
865デフォルトの名無しさん:2006/02/11(土) 21:41:06
862 :デフォルトの名無しさん :2006/02/10(金) 19:29:53
IdHTTPでproxyの設定を"インターネットオプションに従う"にするには
どうすればいいですか?

863 :デフォルトの名無しさん :2006/02/10(金) 19:32:40
>>862
それはガセ
866デフォルトの名無しさん:2006/02/12(日) 00:51:03
フリーの開発環境の総容量やメモリ使用量などはどのぐらいになりますか?本ページに書いてないようですけど
867デフォルトの名無しさん:2006/02/12(日) 01:21:09
ペンティアム2で動く
メモリ256で動く
868デフォルトの名無しさん:2006/02/12(日) 01:32:59
ディスク容量が400MBぐらい
メモリ使用量が起動直後で20MBぐらいになってます
869デフォルトの名無しさん:2006/02/12(日) 05:14:23
メモリの残容量なんか関係ない。
スワップに耐えられる精神力を持ち合わせているかどうかが鍵だ。
ディスク残容量はいらないアプリは全部消せ。いける。
と言うか、アプリは全部自前で作ろうという気合いが必要だ。
それすらも出来ないのであればActiveBasicかHSPをお薦めする。
やはり精神力が重要だ。
870デフォルトの名無しさん:2006/02/12(日) 05:29:14
>>869
あほか。精神力、精神力って、体育系ですか?
スワップが嫌ならメモリ増やせばいいし、頭が悪い人にはプログラミングは出来ない。
871デフォルトの名無しさん:2006/02/12(日) 06:33:08
精神力から体育系だの頭が悪いだのに繋げるような糞レスの主が
頭良いようには見えないな、とりあえず。
早朝からなに興奮してんだか。
872デフォルトの名無しさん:2006/02/12(日) 07:52:16
>870
ネタにマジレスカコワルイ
なーつかしーw
873デフォルトの名無しさん:2006/02/12(日) 14:05:13
ケンカする暇あったら役立つコードでも張れってんだ。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage("ぬるぽ");
}
874デフォルトの名無しさん:2006/02/12(日) 14:17:25
>>873
ガッ
875デフォルトの名無しさん:2006/02/12(日) 22:44:56
::SendMessage(HWND_BROADCAST, WM_NULL, 0, 0);
876デフォルトの名無しさん:2006/02/13(月) 09:48:03
>>875
解決しました。有難うございました。
877デフォルトの名無しさん:2006/02/13(月) 11:54:17
>>861
どこに書かれるのか教えて!

だって悪痴をスルーしてるだけで、製品2つ(日本版、英語版)も買ったもん。
878大倉:2006/02/13(月) 13:54:52
ソートアルゴリズムについておしえてください。
10個の整数を並べ替えるプログラムを書く課題なのですが・・・
879デフォルトの名無しさん:2006/02/13(月) 14:36:46
>>879
たった10個ならバブルソートでもしとけば?
880デフォルトの名無しさん:2006/02/13(月) 16:29:56
ググったらたくさん参考になるサイトが出てくるよ
881デフォルトの名無しさん:2006/02/13(月) 16:46:34
<algorithm>のstd::sortでいいよ。
882デフォルトの名無しさん:2006/02/13(月) 18:27:12
BCB4を使ってるんですがソースを変更せずに再構築するだけでexeのbinaryが変わってしまいます。
全く同じexeを作るにはどうしたらいいんでしょうか?
883デフォルトの名無しさん:2006/02/13(月) 18:54:29
違うのはビルド番号のリソースとかかな
884デフォルトの名無しさん:2006/02/13(月) 23:47:41
bitmapの矩形領域を別のbitmapにコピーしたいのですが、
なにか簡単な方法がありますか?

scanlineで行えば良いのですが矩形領域のコピー位なら
なにか便利な方法が用意されている様な気がするのですが。
885デフォルトの名無しさん:2006/02/13(月) 23:53:59
CopyRect
886884:2006/02/14(火) 00:02:05
>>885

有り難う!!
887デフォルトの名無しさん:2006/02/15(水) 11:14:58
BC++ 5.02Jから職場に転がっていたBCB4に乗り換えようとしています。
さしあたっては今までBC++でできていたことがBCBでもできるか調べているところですが、
BC++のstreamable class(TStreamableBaseおよびその下位クラス)に相当するクラスはvcl
には無いのでしょうか。BC++だと例えばアプリで動的に生成させたオブジェクトをディスク
に書き込み、後からそのファイルを読んで保存した時点でのアプリの動作状態を復元する
ことができます(オブジェクトがTStreamableBaseを継承していれば)。
ところがBCBのヘルプを探してもそれに相当するクラスの記述が見つかりません。もとから
streamable classをサポートしていないのか、サポートしているなら適当なサンプルコード
がどこかに無いでしょうか。
888デフォルトの名無しさん:2006/02/15(水) 11:48:34
>>887
OWLもコンパイルできるんじゃね?

VCLなら、
TObject-TStreamがベースクラス、
それを派生したTResourceStreamとか、TFileStream、
TMemoryStreamとかがあるお。
889デフォルトの名無しさん:2006/02/15(水) 11:55:19
自分がアイコン状態かどうかを見る方法を教えてください。
ちなみにアイコン化状態でWindowStateをみてもNormalだったので
890デフォルトの名無しさん:2006/02/15(水) 11:59:27
WindowState
891デフォルトの名無しさん:2006/02/15(水) 12:53:19
>>889
IsIconic(Application->Handle)
892デフォルトの名無しさん:2006/02/15(水) 13:22:12
>>890
馬鹿はレスしないでください
893デフォルトの名無しさん:2006/02/15(水) 19:11:49
BCB6 から BDS2006 へ移行中なんですが,自作(VCL派生)コンポーネントをツールパレットに登録できずに困っています
*.pas はできそうなのに *.cpp のやりかたがわからない・・・

それに,パッケージのメイク(コンパイルって言い換えもなんだかなぁ)をすると,なぜリンクしようとするの?

なんだか頭が混乱してきました
どなたかアドバイスをください
894デフォルトの名無しさん:2006/02/16(木) 16:09:27
やめとけ
895デフォルトの名無しさん:2006/02/17(金) 00:03:30
なぜ?
896デフォルトの名無しさん:2006/02/17(金) 15:04:51
少佐、助けてください。登録できません。

コード取得時にエラーが発生しました。
このインストール番号ではこれ以上登録キーを発行できません。
発行数を増やすにはボーランドインフォメーションサービスセンターにお問い合わせください。
897デフォルトの名無しさん:2006/02/17(金) 18:54:39
おれは、大佐だし。
898デフォルトの名無しさん:2006/02/17(金) 19:28:51
じゃ、俺は人形遣い。
899デフォルトの名無しさん:2006/02/17(金) 20:25:13
>>896
そのまんま
900デフォルトの名無しさん:2006/02/18(土) 10:03:30
質問です。
下のようにフォームにボタンを設置してコードを書きました。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
色々処理;
}

後で、このボタンを押したときの処理を違う関数でも実行したくなったのですが、
Button1->OnClick(NULL);
とするか、
新しく自作関数を作り、そこに処理を書いて、2つの関数から呼び出す。
のどちらが良いと思いますか?
Button1->OnClick(NULL);の方が無駄がないような気がしたのですが迷っています。
901デフォルトの名無しさん:2006/02/18(土) 11:07:23
個人的には後者。
なんとなく、イベントハンドラ内はシンプルに、と考えてるから。
あとで引数を渡したくなった場合も対応しやすいし。
902デフォルトの名無しさん:2006/02/18(土) 12:40:52
なるほど。
ありがとうございますm(_ _)m
903デフォルトの名無しさん:2006/02/23(木) 15:10:35
 Borland C++ builder6を使っていましたが、最近Borland developer studio 2006
に付属のC++ builderを使うようになりました。
 以前に6で作成した計算プログラムを2006でビルドすると計算結果が違うため、デ
バッグをしようとしています。6であればプロジェクト−オプション−コンパイラで
デバッグボタンを押せばデバッグコードが埋め込まれてステップ実行が可能ですが、
2006でプロジェクト−ビルド設定でDebug buildを選択して適用ボタンを押しても
ブレークポイントでの停止やステップ実行が出来ません。方法を教えてください。
904デフォルトの名無しさん:2006/02/23(木) 17:38:31
同じソースで違う結果ですか? 大変そう・・・
905デフォルトの名無しさん:2006/02/24(金) 17:18:51
BDSにBCB6以前に作られた自作コンポーネントのインストールを
された方はいらっしゃいますか?
自分はまだBDSを持っていないため確認がとれないのですが、
話を聞くところによると出来ないと伺ったもので…

もしインストールが行えた方がいらっしゃればその方法を
お教え願いたく思います。
906デフォルトの名無しさん:2006/02/24(金) 23:52:08
ド素人です。
Builder6で新規作成→その他→コンソールウィザードと、
最初に学校で習うようなc++のソースをコンパイルしたのですが、
[リンカ エラー] 外部シンボル '__InitVCL' が未解決(C:\・・・\LIB\CP32MTI.LIB|crtlvcl が参照)
[リンカ エラー] 外部シンボル '__ExitVCL' が未解決(C:\・・・\LIB\CP32MTI.LIB|crtlvcl が参照)
と、2つのエラーがでます。
コンソールウィザードを選んで「VCLを使う」チェックを外すと、
コンパイルできる時もあるのですが、固まってしまう時もあります。

どうすれば無事コンパイルすることができるのかご教授お願いします。
907デフォルトの名無しさん:2006/02/25(土) 07:01:05
>>906
#include <vcl.h>
を消してない?
908デフォルトの名無しさん:2006/02/25(土) 11:30:38
>>907
コンパイルはできるようになりました。

しかし、コンパイルできたソースのreturn (0);の前に
cin>>n;(DOS窓がすぐ消えるのを防ぐため)とかと入れてコンパイルすると
「→ int main(void)」と緑の矢印が表示されたままDOS窓が固まってしまいます。
終了させてもう一度コンパイルすると何故か正常に動きます。
何故こうなるのか教えてください。
909デフォルトの名無しさん:2006/02/25(土) 14:03:03
その手のソースをコンパイルするときは
bcc32を使うのは俺くらいか?
910デフォルトの名無しさん:2006/02/25(土) 15:35:15
bcc32の方が圧倒的に楽だろうね。
911デフォルトの名無しさん:2006/02/25(土) 15:41:00
別に普通に使ってりゃ固まるとかないんだけどな。
緑の矢印っていうから、そこでブレークしてるとかだろうけど。
912デフォルトの名無しさん:2006/02/25(土) 18:50:29
目覚ましアプリつくりたいのです。
指定時刻に指定音量で指定mp3ファイルを演奏したいのです。
使うべきコンポーネントの指針を与えて下さい。
913デフォルトの名無しさん:2006/02/25(土) 20:02:08
>>912
MCIかDirectShow(ActiveMovie)を直接叩く。
TMediaPlayerはMCI呼んでたと思うから行けると思うけどあのUIはいらん。



普通のWaveならsndPlaySoundとかで逝けるけど。
914912:2006/02/25(土) 22:33:27
>>913
普通にTMediaPlayerとTTimerで実装できました><
ありがとうごちそうさま
915デフォルトの名無しさん:2006/02/26(日) 22:55:39
プログラムを実行したあとDOS窓を消えないようにしておく方法ってありますか?
916デフォルトの名無しさん:2006/02/27(月) 00:08:44
scanf
917デフォルトの名無しさん:2006/02/27(月) 09:58:54
getchar();
918デフォルトの名無しさん:2006/02/27(月) 10:49:14
system("pause");
919デフォルトの名無しさん:2006/02/28(火) 01:01:02
質問です。
一つのスレッドに↓のタイマーを作りました。
InitializeCriticalSection()で初期化したSectionを使っています。
void __fastcall TForm1::Timer_Draw_CanvasTimer(TObject *Sender)
{
EnterCriticalSection(&Section);
Canvas->Draw(0, 0, Back_Screen);
LeaveCriticalSection(&Section);
}

もう一つスレッドを作成して、↓のような動作をさせました。
void __fastcall Thread::Execute()
{
while(1){
EnterCriticalSection(&Section);
Form1->Canvas->Draw(0, 0, Back_Screen);
LeaveCriticalSection(&Section);
}
}

そしたら、排他処理がうまくいかずに壊れて描画されなくなってしまいます。
CriticalSectionではなく、Synchronize()なら大丈夫だったのですが、
できればCriticalSectionを使いたいので、どなたか助言御願いしますm(_ _)m
920デフォルトの名無しさん:2006/02/28(火) 01:37:11
すいません。
ヘルプを眺めていたらグラフィックの排他処理についてあったので、
EnterCriticalSection(&Section);

Back_Screen->Canvas->Lock();

LeaveCriticalSection(&Section);

Back_Screen->Canvas->Unlock();
としたら壊れなくなりました。
C++BuilderではCriticalSectionは使えないのかな?
失礼しましたm(_ _)m
921デフォルトの名無しさん:2006/03/03(金) 07:26:32
TMediaPrayerでOgg Vorvisファイル演奏したいのですが、どうすればいいですか?(°д°)
922デフォルトの名無しさん:2006/03/03(金) 12:10:18
メディアに祈る人、もとい、MediaPlayer では無理だろう。ためしてないけども。

でも、ogg vorbis の実装(.DLL を3つほど使うやつ)は中級者ならそれほど難しくない。
がんばって中級者になるのだー。
923デフォルトの名無しさん:2006/03/03(金) 15:36:36
Java言語とC言語の違いは何??
924デフォルトの名無しさん:2006/03/03(金) 15:41:48
>>923
OOPか否か。
925デフォルトの名無しさん:2006/03/03(金) 16:08:57
>>923
糞言語か否か。
926デフォルトの名無しさん:2006/03/03(金) 17:02:50
CからJavaへ移行中のひとのスレ
http://pc8.2ch.net/test/read.cgi/tech/1136453898/
927デフォルトの名無しさん:2006/03/03(金) 22:15:30
>>925
糞なのはJavaの方?
928デフォルトの名無しさん:2006/03/03(金) 22:20:17
C++ は国際標準
929デフォルトの名無しさん:2006/03/03(金) 22:59:46
TQueryのカレントレコードのデータを全て取得したいのですが
どうやれば取れるでしょうか?

GetCurrentRecordを使用したらカレントレコードの1カラム目のデータしか
取れませんでした。(RecordSizeを無視して参照すれば取れましたが、
保証されていなさそうなので・・・)
930デフォルトの名無しさん:2006/03/03(金) 23:10:29
FieldByNameとか, Fieldsとかかな。
931デフォルトの名無しさん:2006/03/05(日) 15:05:38
[Win32]SDK32:2つのENTERキーの違い
http://d.hatena.ne.jp/takel/searchdiary?word=*%5BWin32%5D
case WM_KEYDOWN:

{

if (wParam == VK_RETURN)

{

if (lParam & 0x1000000L)

{

// テンキー側のENTERキー

}

else

{

// 標準キーボード側の ENTER

}

}

} break;
932デフォルトの名無しさん:2006/03/06(月) 03:33:25
マイクから入力された音の大きさがいくら以上なら分岐とかしたいんですが、
資料はどこを参照すればいいですか?
933929:2006/03/06(月) 19:28:48
>>930
TQueryのFields->Fields[フィールドの番号]を参照することで取得できました。
有り難うございました。
934デフォルトの名無しさん:2006/03/06(月) 23:11:57
>>932
音の取得はマルチメディアAPIのwaveIn〜系
波形の処理は知らない。
935デフォルトの名無しさん:2006/03/08(水) 20:36:18
TCppWebBrowserってプロクシ設定はどうすれば?
936デフォルトの名無しさん:2006/03/09(木) 15:56:45
ExtractAssociatedIcon で 16x16サイズのアイコンを
取得する方法を教えていただけないでしょうか?
937デフォルトの名無しさん:2006/03/10(金) 21:42:59
Windowsのシャットダウン(再起動)が押された時というのは
なにかメッセージみたいなのがきているのでしょうか

アプリケーションの×(閉じる)ボタンが押された時に FormCloseQueryで
はいorいいえ ダイアログを表示させてから終了させるようにしているのですが、
シャットダウンが押された時このダイアログで止まってしまいます

使用者が×ボタンを押したのか、シャットダウンしようとしたのか判別したいのです

よろしくお願いいたします
938デフォルトの名無しさん:2006/03/10(金) 21:59:15
939デフォルトの名無しさん:2006/03/10(金) 22:13:14
>>937
ボーのQAにも書いてあるのに
http://www.borland.co.jp/qanda/cbuilder/c0003190.html
940937:2006/03/10(金) 23:46:25
お二方、ご返答ありがとうございます少し試してみたのですが、メッセージを取得するところまでは出来ました
期待の動作が出来そうです
本当にありがとうございました
941デフォルトの名無しさん:2006/03/10(金) 23:56:29
PopupMenuだけど、アイコンをつけたらキャプションに&をつけてキーボードーのショートカットが出来なくなったんだけど、いっしょに使えるようにならないですか。
942ミ,,゚Д゚彡 ◆A6VzDeLphI :2006/03/11(土) 00:03:50
>>936さん
こっちじゃだめ?

//フルパスファイル名からアイコンを取得
function GetIconForFileName(FileName: String; Large: Boolean): HICON;
var
 SHFInfo: TSHFileInfo;
begin
 if Large then
  SHGetFileInfo(PChar(FileName),
         0,
         SHFInfo,
         SizeOf(SHFInfo),
         SHGFI_ICON or
         SHGFI_LARGEICON or
         SHGFI_DISPLAYNAME)
 else
  SHGetFileInfo(PChar(FileName),
         0,
         SHFInfo,
         SizeOf(SHFInfo),
         SHGFI_ICON or
         SHGFI_SMALLICON or
         SHGFI_DISPLAYNAME);

 Result := SHFInfo.hIcon;
end;
943デフォルトの名無しさん:2006/03/13(月) 07:00:33
>>942さん
936です
質問で書いたExtractAssociatedIconで取得が出来ていたのでとらわれすぎていました。
実際にまだ使ってはいないのですが検索してみるとSHGetFileInfoでいけそうです。
ありがとうございました!!
944デフォルトの名無しさん:2006/03/15(水) 14:19:22
メイクとビルドの違いが分かりません><
教えて
945デフォルトの名無しさん:2006/03/15(水) 16:14:42
質問です。C++Builder Ver.10(Dev. Studio 2006内蔵)で以下の
ように、ヘッダで変数Radiusを定義してcppで初期化したところ、
E2451 未定義のシンボルのエラーが出ます。どこがいけないのでしょう?

Unit1.h
#include <vcl.h>
中略
#include <stdlib>
//---------------------------------------------------------------------------
class TForm1 : public TForm{
__published:// IDE 管理のコンポーネント
中略
private:// ユーザー宣言
  double  Radius;
中略
};

Unit1.cpp
#pragma hdrstop
#include "Unit1.h"
中略
void __fastcall TMainForm::CulcButtonClick(TObject *Sender)
{
  Radius = 0;
中略
}
946デフォルトの名無しさん:2006/03/15(水) 18:33:15
TMainFormがTForm1からの継承だとすると、privateでは見えない。
継承していなければ論外。

あと計算はcalculationだが、それはいいのか?
947デフォルトの名無しさん:2006/03/15(水) 21:20:14
すみません、間違えましたTMainForm じゃなく TForm1 です。
C++Builderがデフォルトで付ける名前で質問を書こうとして、
修正し損ねました。

948デフォルトの名無しさん:2006/03/15(水) 21:23:55
C++Builderがデフォルトで付けるボタンの名前はButton1、
イベントハンドラは
void __fastcall TForm1::Button1Click(TObject *Sender)
でした。
949デフォルトの名無しさん:2006/03/17(金) 00:41:41
自分なりに調べてみましたが限界が…どなたかヒントでもいただけないでしょうか。

某開発キット(静的リンク用の*.hファイルと*.libファイルのみ提供)を使いたいのですが、
これがVisualC++向けに作られているそうです(VCで開発、テストしていますとある)。
これをBuilder4で使いたいのですが、、うまくいきません。

<やってみたこと>
単純に*.libファイルをプロジェクトに追加し、*.hをインクルードしたところ、*.hの中身で文法エラー
(virtual宣言の使い方に関して)が出た。
                       ↓
重要な部分ではなさそうだったので、VisualC++とBuilderの文法の差異かとも考え、とりあえず
その一文はコメントアウトして再コンパイルしたら、こんどは*.libの中身が不正です、というような
リンカエラーが出た。すみません、エラーの詳細は会社のPCなので今は分かりません。

<分からないこと>
・静的リンクって、*.h、*.libに加えて*.dll自身も必要ではないのか??それとも*.lib自体が
 動的リンクでいうところの*.dllと同じ働きをするもの?

・VisualC++用のライブラリをBuilderで使うにはそもそもどうしたら?
 自分で調べた範囲だと、静的リンクでも*.libを媒介して結局は*.dllを使うように書いてあるように見える。
 implibというツールを使って*.libを Builder用に変換すればよいのだろうか??

ちょっと情報がまとまって無くて申し訳ありません。一言でも助かりますので助言いただければ幸いです。
950デフォルトの名無しさん:2006/03/17(金) 01:15:38
> 静的リンクって、*.h、*.libに加えて*.dll自身も必要ではないのか??それとも*.lib自体が
> 動的リンクでいうところの*.dllと同じ働きをするもの?

スタティックリンクライブラリ
http://yougo.ascii24.com/gh/07/000718.html

インポートライブラリ
http://yougo.ascii24.com/gh/04/000478.html

どちらのlibを持ってるかによる。

> VisualC++用のライブラリをBuilderで使うにはそもそもどうしたら?
> 自分で調べた範囲だと、静的リンクでも*.libを媒介して結局は*.dllを使うように書いてあるように見える。
> implibというツールを使って*.libを Builder用に変換すればよいのだろうか??

DLLがあるなら、implibでインポートライブラリを作って、BCBで使える。
VC用のスタティックリンクライブラリしかないなら、VCでそのライブラリをリンクしたDLLを作って
そのDLLをBCBで使う。
951デフォルトの名無しさん:2006/03/17(金) 08:29:59
>>949
libファイルは本当の静的リンクを行う、中にコードの詰まったものと、
DLLをインポートするためのDLLへの参照が詰まったものと2種類ある。
お前が使いたいものはDLLが無いことから前者であるはずだ。
#ちなみにもし後者なら、たしかにimplibを使えばDLLからBCB用のlibを作れる。

lib(そしてobj)にはCOFFとOMFという2種類の形式がある。
VC++はCOFF、BCBはOMFを使っている。
だからVC用のlibは直接BCBでは使えない。
#ちなみにVC++はOMFも入力としては扱える。

そこでどうするかというと、何らかのツールでOMFへ変換する、OMFもCOFFも受け付けるリンカを使う、
或いはVC++でDLLを作ってそれをインポートするなどの方法が考えられる。
952949:2006/03/17(金) 20:20:42
>>950,951
知りたいことピンポイントでした。ありがとうございます。
どうやら私が持っているのはコードが入ったスタティックリンクライブラリのようです。サイズもでかいし。

リンクエラーのときに確かにOMFとCOFFの不一致、というような内容が表示されていました。
変換用にcoff2omfというようなツールもあるようですが、これはインポートライブラリ用のようですね。

とりあえずおとなしくVCで使うか、DLLを作成するしかなさそうです。
新しい方向が分かったのでまた調べて突き進みます。どうもありがとうございました。
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
954デフォルトの名無しさん:2006/03/23(木) 16:08:25
TextRectってPenPosの更新がされないのですね。
TextOutで書いた後のような座標を得るワイズストラテジーきぼん
955デフォルトの名無しさん:2006/03/23(木) 20:25:17
TextRectで文字書いたら、その前に書いた文字が消えるんですが…
仕様理解してない?
956デフォルトの名無しさん:2006/03/23(木) 20:32:49
TextRectは(TextOutもだけど)背景をBrushで塗り潰す。
塗り潰したくなかったら、Brush->Style = bsClearにする。
957デフォルトの名無しさん:2006/03/23(木) 20:47:40
Rect指定してその左上隅より少し右から書き出したんですよ。
そしたらその少しの隙間に予め書いてあった文字が消えるんです。
bsClearにしてみたんですが…
958デフォルトの名無しさん:2006/03/23(木) 20:57:16
>>957
んな事ないはずだけどな。
bsClearのあとにBrushに色とか設定したらbsSolidに変わるけど、そういう事してない?
959デフォルトの名無しさん:2006/03/23(木) 21:17:21
嘘です。やっぱうまくいきました
960デフォルトの名無しさん:2006/03/23(木) 22:54:51
TextRectって指定したRectをBrushの色で塗り潰しちゃうんですか?
文字書きたい場合、予定の書き込みのスペースのみを指定しろという事ですか?
余計な部分までRectに含めたらそこフラッシュアウトしちゃうよって事?
961960:2006/03/24(金) 01:54:47
試行を繰り返した結果、推測が正しいと結論づけますた。
962デフォルトの名無しさん:2006/03/27(月) 11:11:56
メールヘッダーの
Date: Mon, 19 Aug 2002 11:49:56 -0400 (EDT) 2002/08/20 00:49:56 +13
こんなのをTDateTimeに変換する方法を教えてください
963デフォルトの名無しさん:2006/03/27(月) 12:06:09
1.文字列をパースして年・月・日・時・分・秒・時差に分解する。
2.それぞれを int に変換して EncodeDateTime にぶち込む。
964デフォルトの名無しさん:2006/03/27(月) 15:10:31
MPIを使いたいのですが、インストール方法を教えてください
965デフォルトの名無しさん:2006/03/28(火) 13:39:20
StrInternetToDateTimeってBCB5で使えないんですか?
966デフォルトの名無しさん:2006/03/28(火) 14:35:16
NMPOP3で受信したメールのタイトル等をちゃんと読める形式に変換する方法を教えてください
967デフォルトの名無しさん:2006/03/28(火) 23:43:35
きっと、NMxxxxxって誰も使っていないだろうな。
Indyあるから。
それに、NMxxxxxはバグが多すぎで・・・
968デフォルトの名無しさん:2006/03/29(水) 02:58:07
インディってなんですか?
969デフォルトの名無しさん:2006/03/29(水) 11:21:42
970デフォルトの名無しさん:2006/03/29(水) 11:32:56
Indyってどんなことができるんですか?
971デフォルトの名無しさん:2006/03/29(水) 18:09:59
>>970
かなり色々
972デフォルトの名無しさん:2006/03/29(水) 18:29:36
イジワル><
973デフォルトの名無しさん:2006/03/29(水) 18:42:44
意地悪かはビミョ

Del7pro持ってる人にindyヘルプだけ貰ってみ?
974デフォルトの名無しさん:2006/03/29(水) 19:21:03
ほんとにくだらない質問なんですが

シリアルポート(RS-232c)にデータを送るプログラムを作っているのですが
17byteの整数を送りたいのですが
送るには複数回に分けて送るしかないのでしょうか?
double型で2回+charで1回みたいに・・・

なんか良い方法ありましたらご指導をお願いします。
975デフォルトの名無しさん:2006/03/30(木) 07:43:49
なんで1バイトづつ17回って考えないの?
976デフォルトの名無しさん:2006/03/30(木) 08:34:42
それ以前に17バイトの整数というのが意味わからんぞ
977デフォルトの名無しさん:2006/03/30(木) 08:36:07
なんでdoubleだかわからない。
お前の処理系に64ビット整数型はないのか?
978デフォルトの名無しさん:2006/03/30(木) 16:07:12
Dvelopper Studio 2006に付属するC++Builder Ver.10で、
*.bplとかランタイムライブラリとかない環境で動作する
様に、全部含んだパーケージを作るにはどうすればいいの
でしょう?
979デフォルトの名無しさん:2006/03/30(木) 16:35:11
>*.bplとかランタイムライブラリとかない環境で動作する
>様に、全部含んだパーケージを作るにはどうすればいいの

プロジェクトのパッケージ設定の「実行時パッケージを使って構築」をオフにする。
980 to:age:2006/03/30(木) 16:42:18
//座標構造体
typedef struct {
doubleX;//X座標
doubleY;//Y座標
} SCoord ;
//座標構造体へのポインタ列を格納するベクタ
vector<SCoord*> CoordsList;
//座標構造体のインスタンスを作ってポインタを格納
for (unsigned int i=0; i<10; i++){
SCoord* pTempCoord;
pTempCoord = new SCoord;
CoordsList.push_back(pTempCoord);
}

//ここから後があると異常終了するのでコメントアウトしました。
//使用済み座標構造体のインスタンスをメモリから削除するつもり
//for (unsigned int i = 0; i < CoordsList.size(); i++){
//delete CoordsList[i];
//}
//ポインタ格納ベクタをクリア
//CoordsList.clear();
//ベクタに格納したポインタは自動消滅するでしょうけど、
//構造体のインスタンスはプログラム終了後もメモリに残る
//予感がします。コメントアウト部分で異常終了の原因はどこ?

981デフォルトの名無しさん:2006/03/30(木) 17:01:26
>>979
ありがとうございました。一生懸命リンカのパッケージオプションの
ところを探してましたがターボアセンブラのパッケージのところを
探せばよかったんですね。
982デフォルトの名無しさん:2006/04/02(日) 14:51:18
BCBの基本的な使い方載ってるサイトとかないですか?
983デフォルトの名無しさん:2006/04/02(日) 17:27:47
984デフォルトの名無しさん:2006/04/04(火) 11:37:26
メンバAnsiStringの文字列が要らなくなって解放したくなったら、
""を代入すればいいのですか?
985デフォルトの名無しさん:2006/04/04(火) 12:15:32
ほっておく
986デフォルトの名無しさん:2006/04/04(火) 14:20:59
メンバなんです><
987デフォルトの名無しさん:2006/04/04(火) 15:00:52
じゃ >>984。でも、代入前の中身が参照されなくなるだけでいつ回収されるか分からないけど。
988デフォルトの名無しさん:2006/04/04(火) 15:01:06
じゃ、ローカルのAnsiStringに変えろ
989デフォルトの名無しさん:2006/04/04(火) 15:48:03
はーい^^
990デフォルトの名無しさん:2006/04/04(火) 16:41:34
ポインタ変数にして
使うときnewして、いらなくなったらdeleteすれ。
991デフォルトの名無しさん:2006/04/04(火) 16:49:36
無難にローカルにしまーす^^
992デフォルトの名無しさん:2006/04/04(火) 22:31:00
ローカルにしても、スコープ外になってから参照されなくなるだけでいつ回収されるか分からない、のは一緒だけどな。
993デフォルトの名無しさん:2006/04/04(火) 22:36:56
わかるだろ。
ローカル変数はスタックに積むんだから、関数からreturnすれば必ず解放される。
994デフォルトの名無しさん:2006/04/04(火) 22:40:24
てか、そんなにメモリ消費についてシビアな管理が必要なシステムなのか?
995デフォルトの名無しさん:2006/04/04(火) 22:42:34
>>993
参照カウンタとか持ってなかったっけ?
996デフォルトの名無しさん:2006/04/05(水) 00:34:48
> ローカル変数はスタックに積むんだから、関数からreturnすれば必ず解放される。

AnsiString の変数はポインタ。アドレス保持してる変数は解放されるけど、文字列
そのものはヒープ。
997デフォルトの名無しさん:2006/04/05(水) 01:03:40
>>996
そんなことが発生するならメモリリークしまくりだぞ。
998デフォルトの名無しさん:2006/04/05(水) 01:06:31
>>996
関数からreturnしてAnsiStringのローカル変数が破棄されるときは
AnsiStringのディストラクタが呼ばれてオブジェクトを解放するに決まってるだろ。
999デフォルトの名無しさん:2006/04/05(水) 01:07:08
マネージャがいるんだよ
1000デフォルトの名無しさん:2006/04/05(水) 01:13:14
まあ>>996は一度、アセンブラを生成してローカル変数がどう処理されているかを実際に見てみることだな。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。