C++Builder相談室 Part13

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

過去スレ・関連サイトは>>2-6あたり。
2デフォルトの名無しさん:05/02/15 20:59:08
<過去スレ>
C++Builder相談室
http://piza2.2ch.net/tech/kako/969/969458279.html
新C++Builder相談室(C++Builder相談室 Part2)
http://pc.2ch.net/tech/kako/997/997074601.html
C Builder相談室 Part3
http://pc3.2ch.net/tech/kako/1016/10160/1016065855.html
C++Builder相談室 Part4
http://pc5.2ch.net/tech/kako/1035/10355/1035596146.html
C++Builder相談室 Part5
http://pc5.2ch.net/tech/kako/1045/10455/1045542179.html
C++Builder相談室 Part6
http://pc5.2ch.net/tech/kako/1054/10542/1054280736.html
C++Builder相談室 Part7
http://pc5.2ch.net/tech/kako/1061/10615/1061594556.html
C++Builder相談室 Part8(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1070222674/l50
C++Builder相談室 Part9(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1080541814/l50
C++Builder相談室 Part10(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1089299158/l50
C++Builder相談室 Part11(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1094749339/l50
C++Builder相談室 Part12(前スレ)
http://pc5.2ch.net/test/read.cgi/tech/1099238936/l50
3デフォルトの名無しさん:05/02/15 20:59:42
<関連スレ>
BorlandBorland C++ BuilderX
http://pc5.2ch.net/test/read.cgi/tech/1065260556/l50
タダで使えるBorland C++ Part4
http://pc5.2ch.net/test/read.cgi/tech/1091066805/l50

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

<Update>
BCB6/US SP1 は BCB6/JP 製品版に含まれています。
C++Builder 6 Update4 日本語版
ftp://ftp.borland.co.jp/pub/cbuilder/
C++Builder 6 Linker Update
http://www.borland.com/products/downloads/download_cbuilder.html
5デフォルトの名無しさん:05/02/15 21:01:25
<Tipsなど>
Borland C++Builder最新リンク2005(リンク集)
http://www2.famille.ne.jp/~akio1998/l_cpb.html
C++Builderのお部屋(Tips系)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/
C++Builderによるプログラミング(Tips系)
http://www.geocities.co.jp/SiliconValley/7201/
BCB Tips(Tips系)
http://members.at.infoseek.co.jp/mchos/bcb_tips/
C++Builder Tips(Tips系)
http://www.geocities.co.jp/SiliconValley/4805/bcbtips/bcbtips000.htm
C++Builder/Windowsプログラミング(Tips系)
http://www.kh.rim.or.jp/~maruoka/Builder/index.shtml
C++Builderのお部屋(Tips系)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/index.html
Wininet Programing(Tips系)
http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/
Dr.Bob's C++Builder Gate(Tips系)
http://www.drbob42.com/cbuilder/index.htm
猫でもわかるプログラミング(一般)
http://www.kumei.ne.jp/c_lang/
norika-s Program Tips(一般Tips)
http://hawaii.naist.jp/~norika-s/program_tips/
Delphian World(コンポーネントライブラリ)
http://www6.airnet.ne.jp/~sone_san/delphi/
DelWiki
http://onigiri.s3.xrea.com:8080/delphi/
6デフォルトの名無しさん:05/02/15 21:02:04
<ツール/コンポーネント>
<<フリー>>
フリーカーソル無効化アドイン
http://homepage1.nifty.com/fuu/software/nonfreecursor.htm
GExperts−IDE拡張
http://www.gexperts.org/
BorCVS - IDEにCVSを統合
http://borcvs.sourceforge.net/
Indy
http://www.indyproject.org/
JCL
http://homepages.borland.com/jedi/jcl/
JVCL
http://homepages.borland.com/jedi/jvcl/
TurboPower
http://sourceforge.net/users/tpsfadmin/
<<有料>>
TMS Component Studio
http://www.tmssoftware.com/
7デフォルトの名無しさん:05/02/15 21:02:41
<参考図書>
C++Builder 6コンポーネント活用ガイド&実践プログラミング
Vol.1
http://www.amazon.co.jp/exec/obidos/ASIN/4877830618
Vol.2 実践テクニック編
http://www.amazon.co.jp/exec/obidos/ASIN/4877830626
Vol.3 データベーステクニック編
http://www.amazon.co.jp/exec/obidos/ASIN/4877830634
Vol.4 インターネット編1
http://www.amazon.co.jp/exec/obidos/ASIN/4877831061
Vol.5 インターネット編2
http://www.amazon.co.jp/exec/obidos/ASIN/4877831088
Vol.6 グラフィックス・画像処理編1
http://www.amazon.co.jp/exec/obidos/ASIN/4877831231
Vol.7 グラフィックス・画像処理編2
http://www.amazon.co.jp/exec/obidos/ASIN/487783124X
※BCBの定番解説書。BCBを購入したけど何から勉強したら良いか
 判らないという人は取り合えずVol2から読みましょう。
※データベースやインターネット関連はDelphiの解説書も役に立ちます。
8デフォルトの名無しさん:05/02/15 21:30:21
>>1
オツカレチャーン
9デフォルトの名無しさん:05/02/15 22:04:51
>1
10デフォルトの名無しさん:05/02/15 22:13:28
質問なのですが
ドメインにログインすると、ビルダーのコンポーネントが無くなってて
使用できないのですが何か解決方法はありませんか?
環境はXPプロ、C++ Builder5プロです。
よろしくお願いします
11デフォルトの名無しさん:05/02/15 22:57:33
>>10
「ドメインにログイン」とはどういう事?
正しい日本語で言い直してくれ。
1210:05/02/15 23:10:31
サーバーが構築してあって、サーバーに参加しているコンピュータに
サーバーに登録してあるアカウントでログインすることです。

説明がうまくできなくてすいません
13デフォルトの名無しさん:05/02/16 00:05:18
はじめまして質問です。
初心者なのではじめは簡単そうな電卓でも作りたいな
と思い作業に取りかかったのですが
基本があまり理解できていないせいかぜんぜんできません・・・
そこでみなさんの考えを聞きながら勉強しようと思い
投稿させてもらいました。
よければ考えたソースなんかのせてくれると助かります。
いちおうデザインのほうは出来ていて
ボタンを押すことで数字を入力して通常の四則演算を行なう
ものを作りたいのですが
まあ一般に使う電卓を作りたいというわけです。
ボタンは↓のとおりです。考えを聞かせてください。
環境はC++Builder6です。
よろしくお願いします。
maindisp ← テキストボックスでこれに答えなどが出ます。
cmd0〜9  ← 入力用のボタンです。
cmdPeriod ← 小数点用のボタンです。
cmdEnter ← =ボタンです
cmdPlus  ← +ボタンです。
cmdMinus ← −ボタンです。
cmdMultiple ← ×ボタン
cmdDevide ← ÷ボタンです。
cmdClear ← クリアボタンです。
14デフォルトの名無しさん:05/02/16 00:08:45
>>10
ドメインユーザーで再インストール。

自分が使ってたのはバージョン4の頃のだけど
方法はそれしかなかったよ。
15デフォルトの名無しさん:05/02/16 00:14:02
>>13
これこそまさに初心者の練習に持って来いだな。
判らないなりに本など読みつつ自分で書く事で
上達習得していく。
とりあえず自分でやってみてごらん。基本が解ら
ないなら基本を勉強しつつ。

これが出来なければBASICに移行する事をお勧
めする。
16デフォルトの名無しさん:05/02/16 00:18:14
>>13
>>7
そのまえにC/C++の入門書をきっちりと勉強すべし。

>>10 >>14
レジストリだけインストールってなかったっけ?
1714:05/02/16 00:33:24
>>16
今手元になくて確認できないけど、そう言えばあったかも。
18デフォルトの名無しさん:05/02/16 00:40:31
>>15
>>16
わかりました。
入門書などを見てもいまいち自分の作ろうとしている
プログラムと関係なさそうなことが多くて
それなら実際にみなさんのソースを見せてもらったほうが
参考になると思ったのですが
なんとか自分でもやってみます。
19デフォルトの名無しさん:05/02/16 01:26:31
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// デスクトップに文字などを表示するには
// http://www.geocities.co.jp/SiliconValley/7201/tech.html#Disktop
TCanvas *c=new TCanvas;
c->Handle= GetDC(0);
//ここから好きな処理をする
c->Font->Size= 100;
c->TextOut(10,10,"いろは");
c->MoveTo(100,100);
c->LineTo(500,500);
//ここまで
ReleaseDC(0,c->Handle);
c->Free();
}
20デフォルトの名無しさん:05/02/16 05:16:09
関係無い事も後々訳に立つんですよ と
21デフォルトの名無しさん:05/02/16 12:33:33
Indy10のIdHTTPというコンポーネントのエラーを
取得したいのですが、方法がわかりません。
IdHTTP->Head(http://pc5.2ch.net);
このように使用した時に、何らかの理由で、
タイムアウトなどが発生した場合、
コンポーネントのエラーメッセージが
表示されてプログラムが強制終了されてしまいます。
強制終了されないように、エラーを拾って、
エラーごとに処理をわけたいのですが、できますか?
22デフォルトの名無しさん:05/02/16 14:53:59
例外をキャッチすれば?
23デフォルトの名無しさん:05/02/16 15:23:58
>>10
マイコンピュータの管理からユーザープロパティの一覧表示+コピー
他の設定も全部コピーというか上書きされるけど、今後ドメインでしか
ログオンしないならそれが一番簡単。
24デフォルトの名無しさん:05/02/16 15:25:45
>>11
みんなそれで分かってる。
知らないのはお前だけ。
25デフォルトの名無しさん:05/02/16 16:18:15
>>11はWindowsのドメイン知らない厨房だったんだろ
26デフォルトの名無しさん:05/02/16 16:37:38
> 999 名前:デフォルトの名無しさん[sage] 投稿日:05/02/16(水) 14:49:49
> HDDぶっとぶ前ってHDDのアクセスが極端に遅くなるよね
おかしいと思ったらS.M.A.R.T.のパラメータ確認しとくといいよ
27デフォルトの名無しさん:05/02/16 16:40:55
>>21
Indy9だけど、try〜catchで例外を拾ったら?
try {
 IdHTTP->Head("http://pc5.2ch.net");
}
catch (EIdException& err){
 // エラー処理
}
細かいエラー処理はEIdExceptionの派生クラスをcatchすればいいんでないの?


あと、Indy10ってBCBでビルドできた?
なんか、BCBはサポートしていない感じだけど。
28デフォルトの名無しさん:05/02/16 16:57:12
>>24-25
もしかしたら「ログインじゃねー、ログオンだ!」と言いたかっ・・・ありえないな。
29デフォルトの名無しさん:05/02/16 17:33:13
>>13
Delphi入門
電卓の作成
http://www.w-frontier.com/delphi/4_calc.html
30デフォルトの名無しさん:05/02/16 19:53:33
3.4 複雑なGUIアプリケーション(イベントハンドラの共用)
3.4.1 「電卓プログラム」の概要と動作
3.4.2 「電卓プログラム」のコンポーネントとプロパティおよびイベ ントハンドラ
3.4.3 「電卓プログラム」のコード
【第4章】さまざまなアプリケーション
4.1 一定間隔で色を変える
4.1.1 例題「タイマー処理」概要と動作
4.1.2 例題「タイマー処理」コンポーネントとプロパティおよびイベ ントハンドラ
4.1.3 例題「タイマー処理」の宣言
4.1.4 例題「タイマー処理」の各ルーチン
4.2 カレンダーを使用した日付処理
4.2.1 例題「日付処理」概要と動作
4.2.2 例題「日付処理」のコンポーネントとプロパティおよびイベ ントハンドラ
4.2.3 例題「日付処理」の宣言部分
4.2.4 例題「日付処理」の各ルーチン
4.3 文字列処理
4.3.1 例題「文字列処理」概要と動作
4.3.2 例題「文字列処理」のコンポーネントとプロパティおよびイ ベントハンドラ
4.3.3 例題「文字列処理」の宣言部分
4.3.4 例題「文字列処理」の各ルーチン
31デフォルトの名無しさん:05/02/16 23:05:56
さすがにC/C++の初心者にDelphiのソースは参考にならんだろう。
ってか参考にしちゃったら変な癖がつくような
32デフォルトの名無しさん:05/02/16 23:36:25
それを言い出すとBCB自体C/C++初心者にはおすすめでk(ry
33デフォルトの名無しさん:05/02/17 01:18:00
C++の統合開発環境としてはBCBが一番初心者向きだと思うが?
素人はC++なんか使わずDelphiにしとけって意味なら理解できるが。
34デフォルトの名無しさん:05/02/17 07:31:54
初心者からBCB使うと自分で関数作らずにイベントハンドラだけにどんどん書いていきそうな気もするな。
35デフォルトの名無しさん:05/02/17 09:48:10
36デフォルトの名無しさん:05/02/17 10:33:11
確かにいきなりBCBは良くない気がする。

クラス設計出来ないクセに『C++プログラム出来ます!』って言っちゃう
似非C++プログラマが出来上がります。

↑昔の自分…orz
37デフォルトの名無しさん:05/02/17 13:37:17
>>36
それはどんなツールを使っても同じ。Notepad 使ったってクラス設計できない人はできない。
3821:05/02/17 13:46:04
>>27この方法で、できました。
ありがとです。
Indy10でもビルドはできましたけどサポートしてないんですね…
なんか不安になったので9に戻しました。

39デフォルトの名無しさん:05/02/17 14:38:11
>>38
BCBのdcc32.exeが古いから動作保証できんのかもね。
BCB向けにDelphiコンパイラのアップデートパッチ出してくれればいいんだけど‥‥
40デフォルトの名無しさん:05/02/17 21:08:37
>>37
余計な支援機能、BCBだとイベントハンドラにすぐ書けるしそれで十分動くので
クラスの勉強がどんどん後になっていくって言いたんだろ。
結局クラスなんてイラネってそのままズルズル行ったりして
41デフォルトの名無しさん:05/02/17 21:17:15
>>40
そうだけど、そういうやつは何使っても同じ。
42デフォルトの名無しさん:05/02/17 21:22:49
>>41
クラスの知識の上にRADツールの経験がある人と、RADツールの経験の上にクラスの知識がある人じゃ
プロジェクトの組み立てのような根本的な部分で少し違うのかもね
43デフォルトの名無しさん:05/02/18 00:57:24
むしろ継承や多態を理解するにはVCLみたいな
出来あがったライブラリがある方がいい。

よく言われるけど「動物は鳴く」「犬はワン」「猫はニャン」
じゃ結局判ったような判らんようなで終わってしまう。
基礎をしっかり学んだ上でBCBを使うなら悪い選択ではない。
44デフォルトの名無しさん:05/02/18 10:39:30
TNotifyEvent型の引数のSenderを他のTMenuItem型などにキャストする場合、

TMenuItem* menuitem;
try {
 menuitem = dynamic_cast<TMenuItem *>(Sender);
}
catch(bad_cast e) {
 return;
}

こんな感じでいいんですか?
45デフォルトの名無しさん:05/02/18 12:19:52
>>44
dynamic_castは失敗したらNULLを返す

if ( TMenuItem* menuitem = dynamic_cast<TMenuItem*>(Sender) ) {
 //なんかする
} else {
 //失敗したぞゴラァ
}

ただし参照にキャストするときは失敗すると例外を投げてくるので
try and catchで。
46デフォルトの名無しさん:05/02/18 16:15:27
ご質問があります。
BCB6Proを使用しておりますが、メッセージバッファやメールボックスのような
FIFOの機能を持たせるにはどのようにしたらよろしいのでしょうか?
ご教授願います。

ex)スレッド1で構造体を送信 → スレッド2で構造体を受信
4744:05/02/18 17:03:16
>>45
thx、ヘルプ読み直したら例外来るのはTが参照型の場合なのねorz
48デフォルトの名無しさん:05/02/18 17:15:31
>>46
TQueue
49デフォルトの名無しさん:05/02/19 00:14:00
次回作は?
50デフォルトの名無しさん:05/02/19 19:56:37
過去スレ読め
51デフォルトの名無しさん:05/02/19 20:05:43
VCLで提供されてない。かつMFCで提供されている場合どうしてる?
・そのままAPI
・クラスを自作
・その部分はMFC利用
52デフォルトの名無しさん:05/02/19 23:27:57
・人の作ったコンポーネントを探す
53デフォルトの名無しさん:05/02/19 23:54:57
>>51
APIで出来る範囲ならそうするけど、
どうしてもMFCのクラスが必要な機能ならMFCで。
54デフォルトの名無しさん:05/02/20 01:33:35
TQueueはTTheredListと違って特にスレッドセーフとは謳っていないので
スレッド間の受渡しにはTCriticalSectionかなんかと組み合わせる必用が
あるかも。>>46
55デフォルトの名無しさん:05/02/20 09:31:42
We need your feedback on the next version of C++Builder
http://bdn.borland.com/article/0,1410,32982,00.html

アンケートはこちら
http://infopoll.net/live/surveys/s27345.htm
56デフォルトの名無しさん:05/02/20 10:27:45
フリーカーソル無効化要望してきた
57デフォルトの名無しさん:05/02/20 15:46:20
てかstd::dequeとかもっと抽象化されたのが欲しいならstd::queueとかっかったほうがいくね?
TQueueなんてDelphi使いにしか役に立たない。
58デフォルトの名無しさん:05/02/20 16:10:32
もちっつっけ
5948:05/02/21 11:07:41
>>57
俺がDelphi使いだから仕方がない。
60デフォルトの名無しさん:05/02/22 03:49:28
61デフォルトの名無しさん:05/02/22 08:51:53
フォームのサイズ変更するプロパティってなんでしょうか?
前スレにやり方あったような気がするのですが、DAT落ちで…
62本田:05/02/22 09:09:32
6361:05/02/22 10:04:14
サイズ変更じゃなくてサイズ変更を禁止するでした。
すいません。
64デフォルトの名無しさん:05/02/22 10:11:08
BCBのプロジェクトで画面が多くなり杉て起動が遅くなったんですが、
プロジェクトを分割すると早くなりまつか?
65デフォルトの名無しさん:05/02/22 10:47:52
CTRLとSHIFTキーの役割が逆じゃないのか?
66デフォルトの名無しさん:05/02/22 12:29:48
>>63
ヘルプくらい見ろ
67デフォルトの名無しさん:05/02/22 15:06:02
BoderStyle
68デフォルトの名無しさん:05/02/22 21:38:12
>>63
http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200412/04120077.txt
BorderStyle := bsSingle;
BorderIcons.biMaximize := false;
BorderIcons.biMinimize := false;

Constraints を設定。

又は

procedure TForm2.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
Resize := False;
end;
69本田:05/02/22 22:59:22
>>39
>BCBのdcc32.exeが古いから動作保証できんのかもね。
>BCB向けにDelphiコンパイラのアップデートパッチ出してくれればいいんだけど‥‥

>IDE Integration pack for Delphi 8 & C#Builder 1.0 - by Allen Bauer
http://community.borland.com/article/0,1410,31918,00.html
70デフォルトの名無しさん:05/02/23 07:47:09
>>70
グラフィックにホットスポットを作るには
どのようにすればよいのでしょうか?

第5章 グラフィックス 207
5.1 キャンバスを使ってフォームに描画するには 210
5.2 ペンモードの設定をビジュアル化するには 218
5.3 マウスのドラッグ時に境界ボックスを描画するには 224
5.4 グラフィックにホットスポットを作るには 228
71デフォルトの名無しさん:05/02/23 10:44:04
Memoコンポーネントを動的に作成するには
どう宣言したらいいですか?
7271:05/02/23 11:03:07
TMemo *memo = new TMemo(Application->Handle);

事故解決しますた
73デフォルトの名無しさん:05/02/23 12:38:47
7446:05/02/23 15:00:31
>>48 >>54
レス遅くなりました。ご回答ありがとうございます。
欲しい機能はまさしくこのあたりでした。
早速試してみます。
75デフォルトの名無しさん:05/02/23 15:18:11
>>68
できました。
ありがとです。
76デフォルトの名無しさん:05/02/24 22:57:54
 
77デフォルトの名無しさん:05/02/25 04:54:33
http://homepage3.nifty.com/flare/pc/bcb/data/051.html
http://homepage3.nifty.com/flare/pc/bcb/
http://pc5.2ch.net/test/read.cgi/tech/1108468718/l50
AnsiStringの危険性

AnsiStringの変数に文字列を代入する時…
AnsiString a;
a = "aaaa";
と行うとchar型が代入される為、危険なので、
AnsiString a;
a = AnsiString("aaaa");
と、いちいちキャストした方が無難なようだ。
78デフォルトの名無しさん:05/02/25 05:12:02
ビットマップを回転させながらコピーする方法を教えてください
79デフォルトの名無しさん:05/02/25 05:32:17
http://www.cutt.co.jp/book/4-87783-124-X.html

46-7
任意の角度に回転(順方向の最近傍法)

46-8
任意の角度に回転(逆方向の最近傍法)

46-9
任意の角度に回転(逆方向の線形補間)

46-10
任意の角度に回転(GUIの強化)

46-11
画像の変形
画像処理ユーティリティ

48-1
各種パターン生成

48-2
画像の切り取り

48-3
画像をクリップボードへ
80デフォルトの名無しさん:05/02/25 06:01:11
flashの様には簡単に回転はできないのですね
81デフォルトの名無しさん:05/02/25 08:18:15
>>77
AnsiString::operator=()の引数ってconst AnsiString&しかない気がするんだが‥‥
82デフォルトの名無しさん:05/02/25 11:33:30
Firebirdにアクセスするときデフォルトのログインプロンプトが表示されますが
この際、ユーザー認証に失敗した場合とキャンセルボタンを押した場合とエラー処理を分けたいのですが
try&catctの記述方法が判りません。どなたか教えて頂けないでしょうか
83デフォルトの名無しさん:05/02/25 11:40:01
>>77
ネタ?
84デフォルトの名無しさん:05/02/25 14:05:18
ListViewにカラムの幅より長いテキストを追加したとき、
マウスカーソルが上に来たときにポップアップで省略され
ている部分を表示するはずなんですが、Checkboxを有効
にしているとポップアップされなくなります。

どうにかならないものでしょうか?

85デフォルトの名無しさん:05/02/25 15:12:06
>>83
多分、これを変に理解してるんじゃないかと。
 AnsiString hoge = "hoge";
 AnsiString fogetta = "ほげ:" + hoge;

AnsiString("ほげ:")に汁って結構FAQだったような。
86デフォルトの名無しさん:05/02/25 15:18:54
>>85
それってダメなの?
87デフォルトの名無しさん:05/02/25 15:48:44
>>86
駄目じゃない。何勘違いしてたんだろ(´・ω・`) ショボーン
88デフォルトの名無しさん:05/02/25 17:23:42
デフォルトのログインダイアログを使ってデータベースに接続するとき
接続が確立せずエラーが帰るまでの時間は変更できますか?
89デフォルトの名無しさん:05/02/25 17:53:09
>>77, >>81
__fastcall AnsiString(const char* src);
9089:05/02/25 18:33:29
#include <cstdio>
using namespace std;

class hoge {
private:
public:
hoge() { printf("hoge::hoge()\n"); }
hoge( const int i ) { printf("hoge::hoge( const int i = %d )\n", i ); }
hoge( const hoge& h ) { printf("hoge::hoge( const hoge& h )\n"); }
hoge& operator=( const hoge& h ) { printf("hoge::operator=( const hoge& h )\n"); return *this; }
};

int main()
{
hoge hhh;
printf("----\n");
hhh = 2;

return 0;
}

実行結果
hoge::hoge()
----
hoge::hoge( const int i = 2 )
hoge::operator=( const hoge& h )
91デフォルトの名無しさん:05/02/25 19:17:50
バカな俺に何が危険なのかはっきり教えてくれ!
9289:05/02/25 22:42:43
結局、同じということ。
つまり、安全。

>>77 の情報が本当なら普通はコンパイルエラーになる。
93デフォルトの名無しさん:05/02/25 22:56:39
テキストファイルから1行ずつ読み込んで
それをそのままAnsiStringへ代入してくれるような
便利な関数ってありますか?
94デフォルトの名無しさん:05/02/25 23:15:21
>>93
TStringListのLoadFromFile
95デフォルトの名無しさん:05/02/25 23:18:31
>>93
TStringList::LoadFromFile()

ほんとに1行ずつ読みこみたいなら
 std::string buff;
 std::ifstream hoge( "hoge.txt" );
 std::getline( hoge, buff );
 AnsiString line = buff.c_str(); 
 
96デフォルトの名無しさん:05/02/25 23:19:04
かぶった
97デフォルトの名無しさん:05/02/26 02:29:54
98デフォルトの名無しさん:05/02/26 03:14:38
AnsiStringに注意
http://web.archive.org/web/20000122081819/http://www2.odn.ne.jp/akihiron/memo/bcb/tips02.html
http://pc5.2ch.net/test/read.cgi/tech/1108468718/l50
文字列を扱うのにAnsiStringはとても便利ですが、気が付いた点を2つ。

(1)hoge[0]の扱い
C言語では

char hoge[] = "Nakajima";

と宣言したとき、hoge[1] には 'a' が入っています。
つまり0から始まっています。
しかし、

AnsiString hoge = "Nakajima";

と宣言したとき、hoge[1] には 'N' が入っています。
これはPascalと同じように1から始まっているのです。 Pascalで書かれたVCLを使っているからだ と思いますが、
C++Builderなんだからねぇ・・・
Cを使っていた人は注意して下さい。
99デフォルトの名無しさん:05/02/26 03:27:26
あでー
なんでとおらんねんー

#include <string>
#pragma hdrstop
void sample(std::string::const_iterator b);

3行だけ
BCB6デフォルトのSTLportが古いの?
BCB5は平気ですのに
100デフォルトの名無しさん:05/02/26 03:47:56
#include <string>
#pragma hdrstop
std::string::const_iterator dummy;
void sample(std::string::const_iterator b);

通った
頭いてー
101デフォルトの名無しさん:05/02/26 03:50:41
#include <string>
#pragma hdrstop
typedef std::string::const_iterator dummy_std_string_const_iterator;
void __fastcall sample(std::string::const_iterator b);

通った
ひとまずこれで逃げよう
102デフォルトの名無しさん:05/02/26 12:55:33
AnsiStringをWideString、なんで共通のインタフェース持つようにしなかったんだろ‥‥
10393:05/02/26 13:07:16
>94,95,97
読み込むファイルがでかい(ギガ単位)んで
TStringListだとメモリ的に厳しくて...

>95

> std::string buff;
> std::ifstream hoge( "hoge.txt" );
> std::getline( hoge, buff );

これはC++の関数か何かですか?
C++は分からないんですが、勉強してみます。
ありがとうございました。
104デフォルトの名無しさん:05/02/26 13:26:57
> C++は分からないんですが、
ちょっとまずいだろうから、是非勉強してくれ。
105デフォルトの名無しさん:05/02/26 13:44:15
>>103
BCBだと「標準C++ライブラリヘルプ」を参照。
それぞれ頭にbasic_つけて検索汁。
 basic_string
 basic_ifstream
あのヘルプの説明で判るかどうか知らんが
一応サンプルコードは載ってる。
106デフォルトの名無しさん:05/02/26 18:07:14
TStringListだとダメでAnsiStringだとOKってのがよくわからん
107デフォルトの名無しさん:05/02/26 19:15:34
もしかして、
char charBuf[256];

AnsiString ansiBuf = (AnsiString)charBuf;
ってやり方と知らないとか?
108デフォルトの名無しさん:05/02/26 20:41:10
>>103
抽象的な書き方をせず、やりたい事を素直に書いた方が伝わるヨカーン
109デフォルトの名無しさん:05/02/26 22:03:29
TStringList::LoadFromFileはファイルを一気に読みこもうとするから
ファイルサイズがでかいときは悲惨なことになる。
そういうときはstreamで逐次読込逐次処理が基本だよ。
別に抽象的な質問ではないぞ。
110デフォルトの名無しさん:05/02/27 04:01:16
>>100
#include <string>
#include <iterator>
#pragma hdrstop
void sample(std::string::const_iterator b);

BCB6のSTLはSTLportだという事を忘れずに。
111デフォルトの名無しさん:05/02/27 04:12:52
>>110
boostはstlportでインストールしないとダメですか?
112デフォルトの名無しさん:05/02/27 04:16:08
>>111
boostとSTLportは関係ない。
113デフォルトの名無しさん:05/02/27 04:30:08
>>112
インストールオプションのことです
114デフォルトの名無しさん:05/02/27 04:56:18
>>113
そりゃ、-pとか-nがboostのbuildには必要だろうな。(bcb6.0なら)
俺はgccやvc7.1でしかbuildした事がないから確かな事は言えないが。
115デフォルトの名無しさん:05/02/27 08:34:02
>>107
なにそれ?
116デフォルトの名無しさん:05/02/27 08:43:30
暗黙的変換を許す場所にCスタイルキャストを付けられるのはむかつく
117デフォルトの名無しさん:05/02/27 11:47:36
>>116
Cスタイルキャストを許せるのは、int→doubleだけ。
118デフォルトの名無しさん:05/02/27 23:11:47
暗黙的変換も何もAnsiString(const char*)があるのに
なんでキャストするのかと小1時間(ry

もうちょい建設的な突込みをすると、
ストリームの読込は1行の文字数(の上限)が決め打ち出来るなら
文字配列でもいいが、そうでなかったらstringに読込む方が利口だぞ。
119デフォルトの名無しさん:05/02/28 04:03:05
char charBuf[256];



AnsiString ansiBuf = (AnsiString)charBuf;
120デフォルトの名無しさん:05/02/28 04:45:53
>>110
おお、それ根源的なアドバイスかも!
あんがと。
なんとなく問題が俯瞰できた。
もう少し考えてみますわ。

よく
#include <iomanip>
も必要だというのも忘れるよね。
なんで setw や setfill が使えないの?と
うなった人は多いはず。
121デフォルトの名無しさん:05/02/28 08:50:16
>>120
typeid演算子を使うのに<typeinfo>をインクルードし忘れてエラーに悩む人がいる。
C++は複雑怪奇だ。
122デフォルトの名無しさん:05/02/28 08:51:47
>>120
しかも、引数なしのマニピュレータのみを使う場合はインクルードが必要ない。
基底クラスはstd::ios_baseなのに、継承されているからstd::iosでもよくて、
頭が混乱する。
123デフォルトの名無しさん:05/02/28 13:41:53
凄くマヌケな質問ですが...

スプラッシュで(C)1997と出るBCBはBCBのバージョンいくつなのでしょう?
124デフォルトの名無しさん:05/02/28 14:17:21
>>123
たぶん1.0
125デフォルトの名無しさん:05/03/01 05:36:21
126デフォルトの名無しさん:05/03/02 10:23:51
http://homepage3.nifty.com/flare/pc/bcb/data/076.html
フォルダ選択ダイアログ

 簡単なものであれば、「SelectDirectory()」を使うという手がある。
欠点としては、ネットワークドライブを認識できない問題がある。


http://bbs.com.nifty.com/mes/cf_wrent/FDELPHI_B004
http://fdelphi.nifty.com/
http://forum.nifty.com/fdelphi/
http://pc5.2ch.net/test/read.cgi/tech/1108468718/l50
127デフォルトの名無しさん:05/03/02 11:08:58
デフォのフォルダも選べないっしょ、しかもデフォフォルダ指定すっとそこがルートになるっしょもうダメぽ
128デフォルトの名無しさん:05/03/02 13:08:21
すいません質問です
ListViewのカラム幅を変更したときイベントを
起したいのですがどうやったら出来ますか?
129デフォルトの名無しさん:05/03/02 18:24:15
ListViewのカラム幅を変更する
130デフォルトの名無しさん:05/03/02 19:05:08
フォルダ選択はファイル保存ダイアログ使ってそれからフォルダを抜き出してやった方がいいのだろうか・・・
131デフォルトの名無しさん:05/03/02 19:27:15
BDNtv: Work in progress on C++ database development support in the Delphi 2005
http://bdn.borland.com/article/0,1410,32990,00.html
132デフォルトの名無しさん:05/03/03 11:11:21
WMIを使ってハードウエアの情報を抜きたいのですが、
対応しているコンポーネントなどはありますか?
地道にコード書こうと思って、ぐぐってもサンプルがあまりなくて困ってます。
よろしくお願いします。
133デフォルトの名無しさん:05/03/03 11:30:06
C++Builderはdelphiのプロジェクトもコンパイルできるの?
134デフォルトの名無しさん:05/03/03 11:34:44
>>130
いい訳ないだろ
135デフォルトの名無しさん:05/03/03 11:34:47
delphiソースファイルをプロジェクトに組み込むことは出来るけど。
136デフォルトの名無しさん:05/03/03 11:35:25
>>133
プロジェクトソースがデフォルトなら新規プロジェクトにDelプロジェクトの構成ユニット追加するだけでコンパイルできるんじゃ?
137デフォルトの名無しさん:05/03/03 11:41:09
>>133
.dprは読み込めない。
138デフォルトの名無しさん:05/03/03 17:20:37
WMIで情報を取得するこのVBSのコードを
C++Builderでも使えるように置き換えたいのですが、全然うまくいきません。
置き換えるのは無理でしょうか?
'OSの情報
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objItem in colItems
Wscript.Echo "BootDevice: " & objItem.BootDevice
Next
139デフォルトの名無しさん:05/03/03 17:25:33
>>138
そのサンプルならあったぞ
Variant locator = CreateOleObject("WbemScripting.SWbemLocator");
Variant service = locator.Exec(Function("ConnectServer"));
Variant osSet = service.Exec(Function("ExecQuery") << "Select * From Win32_OperatingSystem");
IUnknown* osEnumUnknown = (IUnknown*)osSet.Exec(PropertyGet("_NewEnum"));
IEnumVARIANT* osEnum = 0;
if(osEnumUnknown->QueryInterface(IID_IEnumVARIANT, (void**)&osEnum) == S_OK) {
tagVARIANT tagOs;
unsigned long ret;
while(osEnum->Next(1, &tagOs, &ret) == S_OK) {
Variant os = &tagOs;
Memo1->Lines->Add("OSを起動しているデバイス: "
+ os.Exec(PropertyGet("BootDevice")));
Memo1->Lines->Add("OSのビルドナンバー: "
+ os.Exec(PropertyGet("BuildNumber")));
Memo1->Lines->Add("OSの名前: "
+ os.Exec(PropertyGet("Caption")));
Memo1->Lines->Add("OSをインストールした日: "
+ os.Exec(PropertyGet("InstallDate")));
// Windows XP 以降? Windows 2000 では Null が返る
if(os.Exec(PropertyGet("LastBootUpTime")) != Null) {
Memo1->Lines->Add("OSを最後に起動した日: "
+ os.Exec(PropertyGet("LastBootUpTime")));
}
Memo1->Lines->Add("OSのバージョン: "
+ os.Exec(PropertyGet("Version")));
}
}
140デフォルトの名無しさん:05/03/03 18:12:02
>>139
ありがとうございます!
早速試してみます。
できればサンプルがあったページも教えて頂けると
ありがたいのですが。
よろしくお願いします。
141デフォルトの名無しさん:05/03/03 22:31:43
>>140
メーリングの過去ログ
>>4にアドレスは書いてある
142デフォルトの名無しさん:05/03/04 09:34:21
>>141
できました!
本当に貴重な情報をありがとうございました。
143デフォルトの名無しさん:05/03/04 11:07:33
プログラムの追加と削除で、変更でIndyコンポーネントをはずしたら、エラーが出て何もコンパイルできなくなった。
ボーランドのインストーラーはアフォですか?
144デフォルトの名無しさん:05/03/04 11:28:24
>>143
違う。binフォルダにある、Default.bprを書き換えれ。Indy関係のPACKAGESを
外せばちゃんと動くはず。
145デフォルトの名無しさん:05/03/06 03:29:32
コンソールのCで書かれたものを、GUIに移植しようと思っているのですが、
グローバル変数ってどこに書けばいいのでしょうか?
146デフォルトの名無しさん:05/03/06 05:57:39
>>145
どう移植するのかによる罠
そのままグローバルでも動くではあろうが
147デフォルトの名無しさん:05/03/06 08:37:41
>>145
好きな物選べ

・プロジェクトソース (プロジェクト名.cpp)
・メインフォームのソース (Unit1.cpp)
・メインフォームのメンバ変数として
148デフォルトの名無しさん:05/03/06 10:47:28
まあ、グローバル変数を使うこと自体、どうかと思うが……。
149デフォルトの名無しさん:05/03/06 15:32:15
C++builderって無くなるんですか?
delphiに取り込まれるってホント?
150デフォルトの名無しさん:05/03/06 15:45:29
ほんと。
151デフォルトの名無しさん:05/03/06 16:31:00
>>150 CとC++でwindowsのGUIプログラム組めなくなっちゃうの?
152デフォルトの名無しさん:05/03/06 17:28:27
DirectX9をつかうにはどうしたらよいのですか?
153デフォルトの名無しさん:05/03/06 17:46:40
MSのサイトでDirectX SDKを落としてくる
154デフォルトの名無しさん:05/03/06 18:35:09
>>151
なんで?
155デフォルトの名無しさん:05/03/06 19:15:23
>>154 いや、やっとC++builderでプログラミング慣れてきたから
なくなったら嫌だなとw
156デフォルトの名無しさん:05/03/06 19:29:41
Builder5.0で
新規作成 > ダイナミックリンクライブラリ
で作成していたプロジェクトは
Builder6.0だと、どれを選んで作成すればよろししいでしょうか?
157デフォルトの名無しさん:05/03/06 19:37:07
>>155
Delphiにとりこまれる=DelphiでC++をコンパイルできる
158デフォルトの名無しさん:05/03/06 19:38:42
>>155
次期Delphi = Delphi(Win32) + Delphi.NET + C#Builder + C++Builder
159デフォルトの名無しさん:05/03/06 20:10:59
>>157
>>158

レスありがとうごぜぇますた。
勝手に早とちりしてなくなっちゃうのかとw
160デフォルトの名無しさん:05/03/06 20:29:13
あわてんぼさん♥
161デフォルトの名無しさん:05/03/06 21:14:59
そういえばbcc32.exeもmanaged C++対応するのかな?
162デフォルトの名無しさん:05/03/06 22:12:32
>>160 ゴメソヨ( ´∀`)σ)Д`)
163デフォルトの名無しさん:05/03/07 00:10:30
Borland C++ 2005 Suiteって何でしょ?
ttp://www.borland.co.jp/bcsuite/prodinfo/index.html
164デフォルトの名無しさん:05/03/07 00:11:34
Borland C++ 2005 Suite == C++BuilderX 2
165デフォルトの名無しさん:05/03/07 00:15:50
>>164
そう言えば、ありましたね。C++BuilderX
166デフォルトの名無しさん:05/03/07 04:01:44
ボーランド版CodeWarrior
167156:05/03/07 07:39:26
誰か返答を…_| ̄|○
DLLウィザードであってるのでしょうか?
168デフォルトの名無しさん:05/03/07 08:25:51
DLLって何の略か知ってる?
それとDLLウィザードって見当ついてるみたいだけど、試してみたの?
私はBCB5だからわからないけど
169デフォルトの名無しさん:05/03/07 08:28:17
builderXってc++builderみたいなお手がるguiアプリつくれないんでつか?
170デフォルトの名無しさん:05/03/07 08:52:44
お手軽には無理。
171156:05/03/07 08:53:40
リソースDllウィザードという項目やら色々あり
Dllウィザード選択後もいくつかチェックがあるので
確認のために尋ねています

BCB5で、新規作成 > ダイナミックリンクライブラリ
で作成できるプロジェクトと同様の物を
BCB6で作成するには、どういった手順をたどれば良いのでしょうか。
172デフォルトの名無しさん:05/03/07 09:20:15
>>171
ヘルプ読め。
ここはお前みたいなアフォのためのサポセンじゃない。
173デフォルトの名無しさん:05/03/07 09:26:02
>>171
お前は新しいものに弱そうだし試行錯誤もしないみたいだから、プログラムやめるかBCB5を使ってたほうがいいよ
174デフォルトの名無しさん:05/03/07 10:42:40
>>167
あってるよ
175デフォルトの名無しさん:05/03/07 11:43:59
>>171
チェック等選択肢が複数あるのなら全部やってみたら?
その中にはお前の求めるものがあるんじゃね?

つか、BCB6起動したがリソースDLLウィザードとDLLウィザードの2つしかないし、
リソース(ryのほうでも読めば分かるチェック項目しかないしな。
日本語が読めなかったら話は別だがな。
176デフォルトの名無しさん:05/03/07 12:25:15
レス感謝
こういうツールだと万が一という事も良くあるので
とにかく助かりました
177デフォルトの名無しさん:05/03/07 12:34:53
>万が一という事も良くあるので
178デフォルトの名無しさん:05/03/07 12:35:13
>万が一という事も良くあるので
179デフォルトの名無しさん:05/03/07 13:18:07
うるさい
180デフォルトの名無しさん:05/03/07 14:26:39
良くある万が一
181デフォルトの名無しさん:05/03/07 14:46:10
だまれ
182デフォルトの名無しさん:05/03/07 16:52:33
「万が一、俺が試してみた方法でDLLが作れなかったら、その時間の浪費は日本経済に対する大損害だ」
と考えているの?
183デフォルトの名無しさん:05/03/07 23:14:36
type
TRGB = record B,G,R: Byte;end;
TRGBLine = array[0..32767] of TRGB;
PRGBLine = ^TRGBLine;
var
ix,jy,Gw,Gh:Integer;
CanVasBmp,PutBmp:TBitmap;
Line01,Line02:PRGBLine;

C++Builder
struct RGBColor
{
byte r,g,b;
};
184デフォルトの名無しさん:05/03/08 08:46:00
c++builderの5をWinXPで使っているのですが
インストールしたユーザー以外で起動すると
コンポーネントパレットがすべて消えてしまいます

administratorでインストールし、powerusersのアカウントで
使うにはどうしたらいいですか?
185デフォルトの名無しさん:05/03/08 08:53:16
>>184
・adminでレジストリ書き出してpowerusersで書き戻す
・自分でパレット登録する

好きなの選べ
186デフォルトの名無しさん:05/03/08 09:02:46
>>185
なるほど。thx

そろそろbuilder6に乗り換えるべきかな(´・ω・`)
187デフォルトの名無しさん:05/03/08 09:31:31
err にエラー番号が入ってくるので、

DWORD err;
ShowMessage("エラー 0x%08x です", err);

のようにエラー番号を表示させたいのですが
E2285 'ShowMessage(char *,unsigned long)'に一致するものが見つからない
となりうまくいきません

ご教授いただけないでしょうか?
188デフォルトの名無しさん:05/03/08 09:33:05
>>187
ShowMessageの宣言見れ。
189横井庄一:05/03/08 11:04:20

Yokoiです

C++Builder6 Proでネットワークプログラミングをしています

プログラム起動時にLANコネクタが接続されているかどうかを
プログラム上で検知する方法が解りません。
Windows API にもそれらしい関数を見つけられませんでした。

機能としては、Windowsでタスクトレイにあるネットワークアイコンが
ケーブル未接続状態ですと×印が付きますよね。あの様な
機能を実装したいと思っております。

何か良い方法は御座いませんでしょうか?

参考ページとなるようなことでも構いません

Yokoi


190デフォルトの名無しさん:05/03/08 11:06:13
Borland C++ 2005 Suiteの存在意義がよくわからないのですが・・・
191デフォルトの名無しさん:05/03/08 11:12:47
SSEなどはアセンブラで書かなくてもコンパイラが自動的に使ってくれるのですか?
192デフォルトの名無しさん:05/03/08 11:21:46
ヒロシです・・
193デフォルトの名無しさん:05/03/08 11:31:37
>>191
Intel C++なら使ってくれるかもな。

>>192
Person hiroshi; hroshi.Killmyself();
194デフォルトの名無しさん:05/03/08 12:37:17
Person hiroshi; hroshi.Killmyself();
          ^^^^^^^
195デフォルトの名無しさん:05/03/08 13:22:43
自分で作った関数を別のファイルに出そうと思っているのですが、
別ファイルにした関数からフォームの値が変更できません。

TForm1::Edit1->Text = "test";

のようにしてみましたが、
[C++ エラー] unit2.cpp(13): E2231 メンバー 'TForm1::Edit1' はオブジェクトなしでは使用できない
というエラーが出ます。ヘルプを見ると、
obj.class::member のようにします と書いてあるのですが、objとはどうしてしたらいいのでしょうか?
196デフォルトの名無しさん:05/03/08 13:38:40
>>195

( ゚д゚) ポカーン


C++の入門書買ってきて嫁。
クラスを全然理解してないだろ。
197デフォルトの名無しさん:05/03/08 13:45:26
お嫁サンバ
198デフォルトの名無しさん:05/03/08 13:47:22
>>191
SSEを内部でつかうC++ラッパライブラリは
インテルが作ったはず、VC++だと簡単に使えたんだがBCBはしらん
199デフォルトの名無しさん:05/03/08 13:54:27
>>195
とりあえずUnit1.hをそのファイルにインクルードして
Form1->Edit1->Text = "うんこ";
200デフォルトの名無しさん:05/03/08 13:54:43
>>195
extern TForm1 *Form1;
:
:
Form1->Edit1->Text = "test";

てな感じで解決しそうな悪寒(非推奨)
201200:05/03/08 13:55:59
あ、だめだ!今のなし!
202デフォルトの名無しさん:05/03/08 13:56:22
externしただけじゃForm1にはアクセスできるけど、Edit1にはできんだろ
203デフォルトの名無しさん:05/03/08 13:56:58
ち遅かった
204199:05/03/08 14:07:01
つうか、他のユニットでForm1をいじらずに普通に戻り値でアレすればいいのでは?
Edit1->Text = Func( );
これじゃダメかい?
205195です:05/03/08 15:05:40
>>199
どうもありがとうございます。望んでいた動作ができました。
204のような書き方もあるんですね、、根本的な考え方から変えなくてはいけないかもです。。

>>196
ほんとうにすみません。
カットシステムの C++Builder Vol1-2 を買ってきて読みながらやっているのですが、
おっしゃる通りC++の入門書がいるようです。さっそく買ってきます。

他の方もお手を煩わしてすいませんでした。
今作ろうとしているのは暫く中止して入門書から始めなおします。
みなさま本当にありがとうございました。
206デフォルトの名無しさん:05/03/08 17:21:40
TListBoxで選択されたものをTMemoにDnDしたいのですが、
カレントキャレットの位置にDropされてしまいますorz
マウスカーソル位置にDropするにはどうすればいいのでしょうか。
207デフォルトの名無しさん:05/03/08 17:27:34
Lines->Countよっか下にカーソルいかないっぽいけど、D&Dする位置はCount以下の場所かい?
208206:05/03/08 17:41:17
>>207
勿論です。特殊な動きを期待してるのではありません。TListBoxからDragしてきた内容を、
マウスカーソルが指し示すTMemo上の位置(作成中の文章の途中)にDropしたいだけなのです。
209デフォルトの名無しさん:05/03/08 17:53:38
210デフォルトの名無しさん:05/03/08 20:05:21
http://www.geocities.co.jp/SiliconValley/4805/bcbtips/bcbtips047.htm
上記を参照しながら、mdbファイルを作れるソフトを作ろうとしているのですが、
mdb-テーブル-フィールドのプロパティ設定で、DisplayControl・Descriptionその他省略されているプロパティを
CreatePropertyを使ってC++Builder(Ver5PRO)から作成・設定できるのでしょうか?
 上手く出来なくていきづまってます。
211本田:05/03/08 20:16:12
>>189

> 機能としては、
>Windowsでタスクトレイにあるネットワークアイコンが
>ケーブル未接続状態ですと×印が付きますよね。
>あの様な機能を実装したいと思っております。

DBT_CONFIGCHANGED
DBT_DEVICEAPRRIVAL
DBT_DEVICEREMOVECOMPLETE
これらのメッセージを調べたらいいのでは?
212206:05/03/08 23:40:56
>>209
Thx!
21346:05/03/09 10:03:21
おバカな質問ですみません。

以前教えていただきましたTQueueについてですが、
キューに格納出来る件数というのはメモリの許す限り?
または、どこかで件数が設定されてる?

探しはしたのですが、見つけることが出来なかったもので・・・
214デフォルトの名無しさん:05/03/09 10:28:47
>>213 もうくんなカス

215デフォルトの名無しさん:05/03/09 10:40:00
>>213
いくらでも可
216デフォルトの名無しさん:05/03/09 11:34:35
>>214みたいな馬鹿をスルーしてください
217デフォルトの名無しさん:05/03/09 14:20:15
>>216みたいな馬鹿をスルーしてください
218デフォルトの名無しさん:05/03/09 14:51:01
まあまずはsageようや
219デフォルトの名無しさん:05/03/09 15:06:44
sageる理由がない
220デフォルトの名無しさん:05/03/09 15:13:38
C++Builder用のDirectXのライブラリはもう作られないのか?
これは政治的な理由か?
221デフォルトの名無しさん:05/03/09 15:14:51
C++Builder10っていつでるのよ
222デフォルトの名無しさん:05/03/09 15:16:15
>>220
DirectX9用があるのになんで新しいのが必要なんだ?
223デフォルトの名無しさん:05/03/09 15:17:10
政治的な理由かって聞いてんだよっ!!
224213:05/03/09 15:36:15
>>215
カンシャ

>>216
ラジャ
225デフォルトの名無しさん:05/03/09 16:41:28
>>222
SDKについているの?
226デフォルトの名無しさん:05/03/10 13:28:44
質問です

C++Builder4のComboBoxのAdd命令で

デバッグモードの時は正常に動作し、リリースモードだと〜アドレスに対する書き込み違反がありましたと、なります
原因が解る方おられれば教えてください
227デフォルトの名無しさん:05/03/10 13:30:24
>>226
それだけでわかるヤシは超能力者
228デフォルトの名無しさん:05/03/10 13:30:48
Variant型をchar型にキャストするにはどうすればいいでしょうか?
operator char()等を使ってもうまくいかないです…
229デフォルトの名無しさん:05/03/10 13:40:36
>>225
よく探せ
230デフォルトの名無しさん:05/03/10 16:01:00
tinko age

231デフォルトの名無しさん:05/03/10 18:03:01
使用許諾コードの取得でエラー出た人いる?
何度も再インストールやっていたら、出るようになったのだが。
232デフォルトの名無しさん:05/03/10 18:15:08
>>231

Borland に電話して復活させなきゃならん。
回数は教えてくれなかったけど、10-20 回ぐらいでそうなるみたい。
233デフォルトの名無しさん:05/03/10 18:47:36
C++Builderに移行したてでちょっと困っています
MessageDlg("Confirm", mtConfirmation, mbYesNo, 0);
でデフォルトボタンをmbYesにしたいのですが
指定の仕方を教えていただけないでしょうか
234デフォルトの名無しさん:05/03/10 18:57:29
>>233
API呼んだ方が楽な気が‥‥
MessageBox(Form1->Handle, "Confirm", Application->Title.c_str(), MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON1);
235本田:05/03/10 23:26:46
>>210

>http://www.geocities.co.jp/SiliconValley/4805/bcbtips/bcbtips047.htm
>上記を参照しながら、mdbファイルを作れるソフトを作ろうとしているのですが、
>mdb-テーブル-フィールドのプロパティ設定で、
>DisplayControl・Descriptionその他省略されているプロパティを
>CreatePropertyを使ってC++Builder(Ver5PRO)から作成・設定できるのでしょうか?
> 上手く出来なくていきづまってます。

上の例はDAO3.5の例だけど、
DAO3.6のヘルプでは、こうなっている。

DisplayControlの説明は、検索しても出て来ない。

dao360.chm の記述。
>Description Property
>Returns a descriptive string associated with an error.
>This is the default property for the Error object.
>
>Return Values
>The return value is a String data type that describes the error.
>
>Remarks
>The Description property comprises a short description of the error.
>Use this property to alert the user about an error that you cannot or do not want to handle.

DAO3.6の先にある、JET4.0 DBエンジンのヘルプは見つけられなかった。
236デフォルトの名無しさん:05/03/11 00:01:31
すみません。Builder5です。

TRect Waku1,Waku2;

Waku1.Left=0;
Waku1.Right=1023;
Waku1.Top=0;
Waku1.Bottom=0;

Waku2.Left=0;
Waku2.Right=1023;
Waku2.Top=10;
Waku2.Bottom=10;

Canvas->CopyRect(Waku2,Canvas,Waku1);
Canvas->Refresh();
Application->ProcessMessages();

のようなことをやって、0ライン目を10ライン目にコピーしようとしたが、できません。
(本当は違うCanvas間でやったのですが、簡単のためこうします)
Waku1やWaku2を使って実験のためFillRectすると、ラインが塗りつぶされません。
これは、CopyRectやFillRectは、Rectで指定した「フチ」は処理に含まれない、という
ことなのでしょうか。Rectを使うあらゆる処理は「フチ」を含まないのですか。
はじっこを処理するときはマイナスの値を指定すればよいのでしょうか。
237デフォルトの名無しさん:05/03/11 00:40:32
>>236
フチというか右端と下端が含まれない。左端と上端は含まれるからマイナスは指定しない。
238デフォルトの名無しさん:05/03/11 12:20:47
BCB_6_Proを新しいPCにインストールし直したいのですが
ライセンスの手続きとかはどうすればよろしいでしょうか
メールかFAXで申請が必要ですか?
239デフォルトの名無しさん:05/03/11 12:23:18
>>238
ネット接続環境あるなら普通にできるだろ
240デフォルトの名無しさん:05/03/11 14:15:07
>>238 まずおまいが池w

241デフォルトの名無しさん:05/03/11 14:42:15
>>240
レスするなよ消えろ
242デフォルトの名無しさん:05/03/11 23:44:47
レジストリをごっそり持っていったら動くんじゃない
243デフォルトの名無しさん:05/03/11 23:57:39
ってかオレも使用許諾コードの取得ではじかれるようになったが
そのまま放ってある。
普通に使えてるんだが、これ、そのうち動かなくなるのかいな?
244デフォルトの名無しさん:05/03/12 00:33:26
俺2年以上使用許諾取らずに使ってるから大丈夫だと思う
245デフォルトの名無しさん:05/03/12 03:41:00
コンポーネント少なくないのか?
246デフォルトの名無しさん:05/03/12 05:13:52
ボーランドがつぶれたら使用許諾も取得できなくなるのだろうか?
新バージョンが出たら旧バージョンのは使用許諾を取得しなくても使えるようなパッチを出してほしいものである。

っていうか早く新バージョン出せ!!
247デフォルトの名無しさん:05/03/12 11:45:05
C++ Builder 6 Enterprise が
印刷マニュアルなしで 20万円ちょっとらしいんですけど
買うべきですか?
248デフォルトの名無しさん:05/03/12 11:50:07
コードガードだけはほすいが・・・
249デフォルトの名無しさん:05/03/12 12:08:44
そういやコードガードON(オプション全部ON)にすると、sscanf関数が失敗したら一回一回警告されるんですが
どうにかならないんでしょうか・・・
sscanf(buf,"%d",&i);
で bufが数値じゃなかったらコードガードが警告してきます。
sscanfの戻り値とか i の値等でちゃんと取得できたか判断しているのですが
250デフォルトの名無しさん:05/03/12 12:53:29
>>249
bufが溢れてる可能性はないの?
251デフォルトの名無しさん:05/03/12 13:09:16
>>250
実際のコードは AnsiString型の str を
sscanf(str.c_str(),"%d",&i); としています。
ためしに sscanf("a","%d",&i); としてみたのですが、これでもダメみたいです。
252249 251:05/03/12 13:15:14
自己レス
なんか何もしてないはずなのに警告でなくなりました
お騒がせしました
253デフォルトの名無しさん:05/03/14 10:03:45
「ALT+TAB」を用いたアプリケーションの切り替えで,
なぜか「ALT+TAB」を2回押さないとアプリの切り替えが出来ません。
これ普通ですか?
どっか設定しないと駄目ですか?
254デフォルトの名無しさん:05/03/14 11:09:58
>>253
それはプログラムの話じゃないだろ。
255デフォルトの名無しさん:05/03/14 11:48:23
プログラムでキーを送ってんだよカスが
256デフォルトの名無しさん:05/03/14 11:54:31
>>254
C++Builderで生成したexeだけがそうなるのですが、
ウインドウズの設定問題でしたか。
すみません。
257デフォルトの名無しさん:05/03/14 12:40:41
OSぐらい書けよ。
258デフォルトの名無しさん:05/03/15 12:33:03
 
259デフォルトの名無しさん:05/03/15 12:52:32
OSなんてわたしには難しすぎて書けません
260デフォルトの名無しさん:05/03/15 13:08:14
>>259
当たり前だハゲ。
261デフォルトの名無しさん:05/03/15 23:09:54
 
262デフォルトの名無しさん:05/03/16 13:19:20
VC++Expressβ使ってみたけど
やっぱなじめん

BCBに洗脳されてるのかねえ 俺
しかしエディタでクラスやメソッドがたためるのは便利だった
つーか統合環境でもいいから いい加減次のバージョン出してくれ
263ミ,,゚Д゚彡 ◆A6VzDeLphI :05/03/16 22:02:27
も、すこし待つよろし。
264デフォルトの名無しさん:05/03/18 04:37:27
FormのKeyDownでファンクションキーで操作しようとやっているのですが、
F10がコントロールメニューにもフォーカス(?)が行ってしまい動作が停止してしまいます
コントロールメニューにフォーカスが入らないようにできませんでしょうか?
265デフォルトの名無しさん:05/03/18 05:47:18
CreateGameー陸海空オンラインー
http://www112.sakura.ne.jp/~kaientai-project/creategame.htm
2chスレ
http://game10.2ch.net/test/read.cgi/mmominor/1109935948/

ただ今、即戦力募集中!歴史に残るMMOを作ってみないか!!
266デフォルトの名無しさん:05/03/18 07:50:19
スレ違いに反応するのもなんだが、
こういうポシャる確率100%の話によく興奮できるよね。
267デフォルトの名無しさん:05/03/18 10:23:35
名前が同じだけど違うのかな・・
こっちの方がまだよさそうだ http://www.geocities.jp/ol_lc/
268デフォルトの名無しさん:05/03/18 10:28:54
>>265
すっげーレベル低そうな話だ。
ワールドコンセプトを統括する人物がいないから、あれもこれも
詰め込もうとしてるな。
269デフォルトの名無しさん:05/03/18 10:41:31
多分紙ベースで企画書みたいなものは一切無いんだろうな
270デフォルトの名無しさん:05/03/18 11:16:59
アフォが「ガンダムみたいなロボにも乗れます」「猫耳で防御力+30です」と
言い出したときに「チラシの裏にでも書いてろこの糞」といえる奴がいないと
ねえ。
271デフォルトの名無しさん:05/03/18 12:05:37
>>265
>構想期間3年

もう3年経ったの?それともこれから3年かけて作るの?
272デフォルトの名無しさん:05/03/18 18:34:29
char charBuf[256];



AnsiString ansiBuf = (AnsiString)charBuf;
273デフォルトの名無しさん:05/03/18 18:38:31
このスレでたまにある意味不明なageレスは何じゃらほい。
誰かがメモ帳代わりにしてるのか
274デフォルトの名無しさん:05/03/18 20:00:42
バフ あんしばふ
275デフォルトの名無しさん:05/03/18 20:34:11
>>272
char charBuf[256];

AnsiString ansiBuf = AnsiString(charBuf);
276デフォルトの名無しさん:05/03/18 21:48:04
>>272-275
http://pc5.2ch.net/test/read.cgi/tech/1108468718/98
AnsiStringに注意
http://web.archive.org/web/20000122081819/http://www2.odn.ne.jp/akihiron/memo/bcb/tips02.html
http://pc5.2ch.net/test/read.cgi/tech/1108468718/l50
文字列を扱うのにAnsiStringはとても便利ですが、気が付いた点を2つ。

(1)hoge[0]の扱い
C言語では

char hoge[] = "Nakajima";

と宣言したとき、hoge[1] には 'a' が入っています。
つまり0から始まっています。
しかし、

AnsiString hoge = "Nakajima";

と宣言したとき、hoge[1] には 'N' が入っています。
これはPascalと同じように1から始まっているのです。 Pascalで書かれたVCLを使ってい るからだ と思いますが、
C++Builderなんだからねぇ・・・
Cを使っていた人は注意して下さい。

http://pc5.2ch.net/test/read.cgi/tech/1108468718/107
もしかして、
char charBuf[256];

AnsiString ansiBuf = (AnsiString)charBuf;
ってやり方と知らないとか?
277デフォルトの名無しさん:05/03/18 21:52:35
ほーほけきょ
278デフォルトの名無しさん:05/03/19 00:30:34
>>275
char charBuf[256];

AnsiString ansiBuf(charBuf);
279デフォルトの名無しさん:05/03/19 06:37:34
char ********************************************************charBuf[256];
280デフォルトの名無しさん:05/03/19 13:35:52
BCBで正規表現検索できる関数ってありませんか?
PHPで言うpreg_match関数のような。
281デフォルトの名無しさん:05/03/19 13:44:28
正規表現用のDLLはちょっと検索したらでるだろ
282デフォルトの名無しさん:05/03/19 14:21:22
283デフォルトの名無しさん:05/03/19 14:26:47
284280:05/03/19 14:54:04
ありがとうございます。
検索したらBREGEX.DLLとういのも見つかりました。

BCBにはPCREというものがあるようですね。

ご紹介頂いたものも含めて、試してみたいと思います。
285デフォルトの名無しさん:05/03/19 15:45:09
>>284
boost::regexをビルドしてもいいよ。むしろ今はこちらの方が主流じゃないの?
286デフォルトの名無しさん:05/03/19 15:50:04
なんで?
287デフォルトの名無しさん:05/03/19 16:00:34
準標準だからかね。俺もboost::regexはビルドしてある。
全然使う機会ないけど
  ァ  
   ,、'`
    '`
288デフォルトの名無しさん:05/03/19 16:15:04
>>285
それ、多バイト文字でもオケ?
289デフォルトの名無しさん:05/03/19 16:51:49
多バイト文字って言い方初めて聞いた
290デフォルトの名無しさん:05/03/19 17:29:14
Indy10をインストールすることはできますか?
291デフォルトの名無しさん:05/03/19 18:38:06
>>288
ワイド文字版のwregexあるYO

typedef reg_expression<char, regex_traits<char>, BOOST_DEFAULT_ALLOCATOR(char)> regex;
typedef reg_expression<wchar_t, regex_traits<wchar_t>, BOOST_DEFAULT_ALLOCATOR(wchar_t)> wregex;

とうかtemplateで実装されてるから、intでも独自クラスでも演算子をちゃんと定義してれば何でもありなのかな?エロいひと。
292デフォルトの名無しさん:05/03/19 20:34:02
errorlevel をプログラムから設定するにはどうすればいいですか?
293デフォルトの名無しさん:05/03/20 02:49:18
BCB5では、ShowModalのフォームをESCで閉じることができたのですが、
BCB6ではできなくなったのですか?
294デフォルトの名無しさん:05/03/20 03:40:12
VisualStudioがあるのに、どーしてコレ使うの?
295デフォルトの名無しさん:05/03/20 04:21:30
>>293
そのフォームに Cancel プロパティが true なボタンがあったとかではなく?
何もない状態でも閉じたのかな?
296デフォルトの名無しさん:05/03/20 07:20:17
>>294
VisualStudioが糞だから
297デフォルトの名無しさん:05/03/20 10:49:19
VisualStudioは面倒だから
298デフォルトの名無しさん:05/03/20 11:26:57
なかなかVisualにならなかったから
299デフォルトの名無しさん:05/03/20 11:36:25
VisualStudioじゃないとコード組む気になれない俺。
300デフォルトの名無しさん:05/03/20 12:20:06
お前のことなどどーでもいいんじゃ。
301デフォルトの名無しさん:05/03/20 14:38:27
>>294
VisualC++VCLが入ってないから
VisualPascalはイラネ
302デフォルトの名無しさん:2005/03/21(月) 03:52:23
ちょっと質問なのですが、BCB6.0Personalを使っています。
作ったソフトを配布するには、InstallShield Expressが必要とのことですが、これってPersonalには入っていないのでしょうか?
どうやら実行時にvcl60.bplを必要としているようなのですが、配布しているところが見つからなかったので、InstallShieldが必要なのですが・・・
303デフォルトの名無しさん:2005/03/21(月) 08:38:18
>>302
スタティックリンクしてexeだけ配布すればいいと思うが、それじゃだめ?
304デフォルトの名無しさん:2005/03/21(月) 10:05:19
つぎのC++Builderはいつデルファイ?
305デフォルトの名無しさん:2005/03/21(月) 11:05:42
テンプレのTipsにexeを入るするときの注意点があったような
306デフォルトの名無しさん:2005/03/21(月) 11:06:05
x入る
o配布
307デフォルトの名無しさん:2005/03/21(月) 11:54:08
>>302
プロジェクトオプションのパッケージタブにある「実行時パッケージを使って構築」のチェック外せ。
あとvcl60.bplは$BCB$\binに転がってるだろ。あと、vcl60.bpl配布する時はdeploy.txt嫁。
308デフォルトの名無しさん:2005/03/22(火) 17:30:23
OpenDialogで1万個以上のファイルを全選択して
OpenDialog1->Files->Strings[i]で一つずつファイル名を取得しようとしてるんですが、
1000個を超えた辺りでどーしてもファイル名が取得できなくなります。
何か上限でもあるんでしょうか?解決策ってありますでしょうか?
309デフォルトの名無しさん:2005/03/22(火) 19:25:58
>>308
ファイル名を格納するバッファのサイズが
MultiSelectBufferSize = High(Word) - 16 という定数の模様。

自前でAPIのGetOpenFileNameを呼ぶとか。
310デフォルトの名無しさん:2005/03/23(水) 00:40:41
>>304
年末かな
311308:2005/03/23(水) 12:00:03
>>309
ありがとうございます。APIですか…難しそうですがやってみます。
312デフォルトの名無しさん:2005/03/24(木) 08:51:39
Array Valiant型の中身をchar型か、
AnsiString型に取り出したいのですが、
どうやったらできますか?
AnsiString IPAdress;
IPAdress = VarToStr(Result.Exec(PropertyGet("IPAdress")));
こんな感じで突っ込むと、
オートメーションオブジェクトをサポートしてませんってエラーでます
ほかのやつなんでしょうか?
313デフォルトの名無しさん:2005/03/24(木) 10:43:33
TIniFileでファイルパスをフルパスで設定する方法がわかりません
ヘルプとか検索でかかるように、exeファイルがあるところに置くと
ちゃんと読めるんですが、フルパスを指定する方法を教えていただけないでしょうか
314デフォルトの名無しさん:2005/03/24(木) 10:59:21
ん?いまいち意味がわからんけども普通にフルパスで書けない?
"c:\\Program Files\\aaa\\bbb.ini"
みたいに?
それとも実行ファイルのフルパスがほしいのか?
315デフォルトの名無しさん:2005/03/24(木) 11:19:02
>>312
何がしたいのかわからん。
そもそもResultって何だ?
質問するときはソースは省くな。
316デフォルトの名無しさん:2005/03/24(木) 13:05:17
>>315
失礼しました
これだけ省いたらわからないですね。
WMIでIPアドレスを取得しようとしています

Variant Locator = CreateOleObject("WbemScripting.SWbemLocator");
Variant Service = Locator.Exec(Function("ConnectServer"));
Variant Set = Service.Exec(Function("ExecQuery") <<

"Select IPAddress
From Win32_NetworkAdapterConfiguration \
WHERE IPEnabled = true");

IUnknown* EnumUnknown = (IUnknown*)Set.Exec(PropertyGet("_NewEnum"));
IEnumVARIANT* Enum = 0;

if(EnumUnknown->QueryInterface(IID_IEnumVARIANT, (void**)&Enum) == S_OK) {
tagVARIANT tag;
unsigned long ret;
while(Enum->Next(1, &tag, &ret) == S_OK) {
Variant Result = &tag;

AnsiString IPAdress;

IPAdress = Result.Exec(PropertyGet("IPAdress"));
}
317デフォルトの名無しさん:2005/03/24(木) 13:20:04
IPAdress = String(Result.Exec(PropertyGet("IPAdress")));

ってできない?
318デフォルトの名無しさん:2005/03/24(木) 13:25:22
"IPAdress" が受け付けられてないのか・・・
319デフォルトの名無しさん:2005/03/24(木) 13:28:17
>>317
動かそうと試してみましたが、だめでした。
一応下記のページの関数は一通り試してみたのですが。
ttp://www.geocities.co.jp/SiliconValley-Sunnyvale/6128/builder/funclist/vararray.html
320デフォルトの名無しさん:2005/03/24(木) 14:00:55
Result.Exec();が失敗してるんだと思うんだが
321デフォルトの名無しさん:2005/03/24(木) 14:45:49
配列項目以外の項目は同じ方法で取得できています。
WMIクエリアナライザってツールでSQLを走らせてみたら
結果も返ってきましたので、SQLの構文自体は間違っていませんでした。
配列ストリングは受け取り方が違うのでしょうか?
322デフォルトの名無しさん:2005/03/24(木) 22:52:40
#include <vcl.h>
#include <ComObj.hpp>

#include <ComObj.hpp>
#include <vcl.h>
323デフォルトの名無しさん:2005/03/25(金) 00:26:53
>>316

IPAdressじゃなくてIPAddressじゃない?
324デフォルトの名無しさん:2005/03/25(金) 14:51:44
変数名の指摘かよ、別にそんなスペルミスはどうだっていいだろばか
325デフォルトの名無しさん:2005/03/25(金) 14:57:01
PropertyGetのキーワードにスペルミスがあるわけだが。
326デフォルトの名無しさん:2005/03/25(金) 15:54:02
>>324
ばーか
327321:2005/03/25(金) 15:59:40
>>322その順番に変更するとコンパイルできなかったので、
#define WIN32
#include <vcl.h>
#include <ComObj.hpp>
こういう感じで宣言してます。

>>323
指摘通り間違ってました。
修正したのですが、
ArrayVariantからStringに変換できないってメッセージはあいかわらずでます。

受け取るときにIPAddress(0)みたいに指定しないとだめなのかも・・・
ちょっと試してみて、また書き込みます
328デフォルトの名無しさん:2005/03/25(金) 23:25:37
C++Builer5 で Win32 ネイティブのプログラムを作るには
どうしたらよいでしょうか?
329デフォルトの名無しさん:2005/03/25(金) 23:27:28
>>328 自己レス
コンソール Wizard でできました。
330デフォルトの名無しさん:2005/03/27(日) 15:39:13
direct showはどうやったら使えるのでしょうか?
331デフォルトの名無しさん:2005/03/27(日) 15:44:50
>>330
MSのサイトでDirectX SDKを落としてきなせぇ
332デフォルトの名無しさん:2005/03/27(日) 15:59:43
>>331
ライブラリは?
333デフォルトの名無しさん:2005/03/27(日) 16:11:26
自分でIMPLIB使って作る(簡単)か、
http://clootie.narod.ru/cbuilder/index.html
こういうサイトの世話になりたまへ
334デフォルトの名無しさん:2005/03/28(月) 00:53:03
>>332
DirectShowはインポートライブラリなしだった気がする。
必要なのはヘッダだけ。
335デフォルトの名無しさん:2005/03/28(月) 14:43:08
すいません、ちょっと聞きたいんですがBCCFormでダイアログとか作ってると、
リソースを開くたびにコントロールのサイズが微妙に変わってしまうのは既知??
使いづらいので結局PersonalかProfessionalを買おうかと思う今日この頃なのですが。
336デフォルトの名無しさん:2005/03/28(月) 14:49:35
337デフォルトの名無しさん:2005/03/28(月) 14:59:46
>>335
BCB+VCLとBCC+ダイアログリソースエディタじゃやってることが全然違うんだが‥‥
338デフォルトの名無しさん:2005/03/28(月) 15:22:46
みなさんすいません。
BCCFormなので、どちらかというと後者になるんだとおもいます。>>337
単純にまともに動いてくれるリソースエディタが欲しいんです。
BCCFormもちゃんと動いてくれればこれで十分なんですが。
となるとBCBではBCCFormみたいなことはできないってことですか?
339デフォルトの名無しさん:2005/03/28(月) 15:28:13
BCBはVBっぽい感じで「リソース」とかわかんなくても画面デザインできる
340デフォルトの名無しさん:2005/03/28(月) 16:04:32
>>338
たびたびすいません。リソース判ったほうがいいんですけど、
結局.rc見たいなテキスト編集できるファイルはできるんですか?
コントロールがちゃんとぺたぺた貼れるのがいいんですが。
VC++にしろBCBにしろ、ちゃんと使えるリソースエディタが希望なんですが...
341デフォルトの名無しさん:2005/03/28(月) 16:07:26
>>340
だまされたと思ってbcb使ってみ
342デフォルトの名無しさん:2005/03/28(月) 16:14:34
たびたびたびすいません。
騙されてみたいと思います。
343デフォルトの名無しさん:2005/03/28(月) 16:25:34
たしかにVCよりは高いが、生産性は数倍上。むかしVCやっていていまBCBの俺が言うのだから間違いない。
ただし、コンパイラの最適化があまり強力でないので、速度が必要な場合はVC toolkit 2003というフリーのが
MSから出ているので、それを使うべし。DirectXなんかも、これの方がよいと思われ。
344デフォルトの名無しさん:2005/03/28(月) 16:36:20
>>340
> 結局.rc見たいなテキスト編集できるファイルはできるんですか?
できない、独自形式で保存する
ただし、VC++とかでつくった.RCファイルとかの読み込みはできる
俺はテキストエディタで.RC1ファイル書いて読み込ませたりするけど

> コントロールがちゃんとぺたぺた貼れるのがいいんですが。
ぺたぺた貼れるよ、BCCFormより直感的につくれる、保存時にずれたリもしない
345344:2005/03/28(月) 16:37:45
>>344
>.RC1ファイル 
訂正
.RCファイル
346デフォルトの名無しさん:2005/03/28(月) 20:05:14
>>383
とりあえず http://www.borland.co.jp/delphi/personal/ 触ってみれ。
BCBはDelphiのC++版。
組み方は全く同じ。

347デフォルトの名無しさん:2005/03/29(火) 06:24:14
VBのC++版だと思え。

C++なため、VBに比べて、WinAPI、OpenGLなどとの相性がいい
うざいランタイムが不要
Basicと比べて動作が高速
Cを学べばLinuxなどでgccなどを使うときなどに応用が利く
348デフォルトの名無しさん:2005/03/29(火) 11:44:41
おはようございます。昨日は色々とありがとうございました。
昨日押入れをごそごそしたらVC6が出てきました。
セットアップしてBCCで作っていたソースを読み込ませたら、winsock.hで
ヒープ使い切ったとか言われて挫折しました。
winsock2.h は無いといわれました。

独自方式でリソースを保存するのがちょっと考えてしまいます。
やっぱり情報量は大事ですし。

VC++.NETかBCBか、Delphi使ってみて考えます。
349デフォルトの名無しさん:2005/03/29(火) 12:14:05
Delphi使ってみましたが、何だかよく判りませんでした。
やはり情報量という点で王道に負けそうです。(藁
お騒がせしました。
350デフォルトの名無しさん:2005/03/29(火) 12:29:55
なぜデルファイ?
パスカルわからんやつにはさっぱりだと思うが
351デフォルトの名無しさん:2005/03/29(火) 13:02:49
Pascalは20年近く前、Turboなら使っていましたので判らなくもないんです。
なので気にしてませんから。Pascalが判らないのではなくて、使い方が判らなかっただけです。
なんにしても情報量が一番大事なので。

VC++.NETStandardが使いにくかったらBCBPersonalも試してみます。
352デフォルトの名無しさん:2005/03/29(火) 13:13:33
>>348
>なんにしても情報量が一番大事なので。

BCBで問題ないと思うが?
353デフォルトの名無しさん:2005/03/29(火) 14:09:00
リソースファイルが独自っていうのがちょっと引っかかります。
とはいえこれは立場上の問題ですが。
354デフォルトの名無しさん:2005/03/29(火) 14:15:23
VC++.NETもリソース保持は独自じゃないのか
355デフォルトの名無しさん:2005/03/29(火) 17:10:24
つか、荒らしだろ>>349
356デフォルトの名無しさん:2005/03/29(火) 17:17:49
これだけ情報のあるBCBが使いこなせないようなら、プログラマに向いていないと思った方が良いぞ
357デフォルトの名無しさん:2005/03/29(火) 17:25:10
というかDel触って使い方が分かりませんって‥‥
358デフォルトの名無しさん:2005/03/29(火) 17:30:51
Variant Va;
Va = VarArrayCreate(0,2,varString);
って感じで配列作ろうとしたらバリアント配列を作成できません
ってエラーがでるんですけど、この書き方おかしいですか?
359デフォルトの名無しさん:2005/03/29(火) 18:08:30
>>357
とりあえず「起動したらF9押してみろ」、といってやりたいですね
360デフォルトの名無しさん:2005/03/29(火) 18:09:50
>>358
まあ落ち着いてヘルプ見れ。
1つ目の引数で配列の構造を指定しなきゃいけないのに0はおかしい。
2つ目は常に奇数になる。
3つ目のvarStringはVarArrayCreateでは指定できない。

つまり全ての引数がおかしい。
361321:2005/03/29(火) 19:38:42
いろいろ試してみましたが、万策尽きました
無念・・・
362デフォルトの名無しさん:2005/03/29(火) 19:40:36
>>321
>Variant Service = Locator.Exec(Function("ConnectServer"));

まず、こういう書き方をやめ、一行一命令のスタイルに汁。
そして、各戻り値をチェックしてみれ。
363デフォルトの名無しさん:2005/03/29(火) 19:44:46
>>360
たしかに全然違いますね
Delphiのソースから丸々パクって失敗しました
ありがとです
364デフォルトの名無しさん:2005/03/29(火) 23:30:02
VarArrayCreate
を選択してF1押すと使用例まで見られるのだが
365sage:2005/03/30(水) 09:02:22
VarArrayCreateの使用例あんまよくないね
某のヘルプ・・・
366デフォルトの名無しさん:2005/03/30(水) 13:21:44
 
367デフォルトの名無しさん:2005/03/30(水) 18:39:59
DirectXをWindowの一部分にのみ表示したいのですがどうしたらよいのでしょう
368デフォルトの名無しさん:2005/03/30(水) 18:45:08
パネルの上に表示できんの?
369デフォルトの名無しさん:2005/03/31(木) 22:56:19
はじめまして。質問なのですが
Windows 2000 Professional + Borland C++ Builder 5.0 Professional
一つめのForm(Form1)にTButton2つ(Button1、Button2)を配置
二つめのForm(Form2)にTImage1つ(Image1)を配置

の状態で
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Image1->Width = 50;
Form2->Image1->Height = 50;
Form2->Show();
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form2->Image1->Width = 250;
Form2->Image1->Height = 250;
Form2->Show();
}
void __fastcall TForm2::FormShow(TObject *Sender)
{
TRect rc(0,0,Image1->Width,Image1->Height);
Image1->Canvas->Brush->Color = clBlack;
Image1->Canvas->FillRect(rc);
}
としました。Button1を押した後、Form2を閉じ、Button2を押しても、50*50の領域しか塗りつぶされません。
まったく原因がわからないのですが、なぜなのでしょうか?ご教授ください。
370デフォルトの名無しさん:2005/03/31(木) 23:23:31
>>369
Form2->Image1->Width = w;
Form2->Image1->Height = h;
Form2->Image1->Picture->Bitmap->Width = w;
Form2->Image1->Picture->Bitmap->Height = h;
371デフォルトの名無しさん:2005/03/31(木) 23:32:01
>>369
TImage::Stretch = true;
372369:2005/03/31(木) 23:42:23
あっさりと解決しました。
今まで悩んだのが嘘のようです。
ありがとうございました。
373デフォルトの名無しさん:皇紀2665/04/01(金) 00:49:08
374デフォルトの名無しさん:皇紀2665/04/01(金) 00:54:30
おもしれー
375デフォルトの名無しさん:皇紀2665/04/01(金) 14:08:27
てs
376デフォルトの名無しさん:int 2ch =05/04/01(金) 21:01:54
Indyコンポーネントが使えなくて困っております。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
IdTCPServer1->DefaultPort = 4523;
IdTCPServer1->Active = true;
}

とやってボタンを押してもActiveがtrueになりません。

あと、IdTCPClientコンポーネントで

void __fastcall TForm1::Button2Click(TObject *Sender)
{
IdTCPClient1->Port = 4523;
IdTCPClient1->Host = "127.0.0.1";
IdTCPClient1->Connect();
}

とやってボタンを押すと、「モジュール 'rtl60.bpl' のアドレス 40006880 でアドレス 0000005C に対する読み込み違反がおきました。」
というエラーが出ます。

何が原因なのでしょうか?
環境はXP Pro、C++Builder6 Pro、Indy9.0.17です。
よろしくお願いします。
377デフォルトの名無しさん:int 2ch =05/04/01(金) 21:04:22
ToolBarのボタンの高さが35以上にならなくて困っております
何処を弄れば出来ますかね?
メニュー2段と同じ高さにしたいのです。
378デフォルトの名無しさん:int 2ch =05/04/01(金) 21:08:37
あ、出来たことは出来たけど
ShowCaptionを切らないといけないようですね。
ShowCaptionをtrueにしたまま48dotの高さにしたいんですが
どうすればいいでしょう?
379デフォルトの名無しさん:2005/04/04(月) 10:57:47
380デフォルトの名無しさん:2005/04/04(月) 13:47:53
381デフォルトの名無しさん:2005/04/05(火) 11:40:10
Delphi6でAllocMemCountやAllocMemSizeをお手軽メモリリークチェックに使っていたんですが、
BCB6ではエラーは出ないものの、内容が常に0になっています。
Application変数がアクセスできているから、使えるはずだと思うんですが…。

一応環境はWin XP SP2 + BCB4 UP#4です。
382デフォルトの名無しさん:2005/04/05(火) 13:36:51
fastmath.hとbcc_inline.hって、どっちの方が計算速いの?
383デフォルトの名無しさん:2005/04/05(火) 18:14:48
newで作成したクラスで自分自身をdeleteする方法をおしえて
384デフォルトの名無しさん:2005/04/05(火) 18:16:01
delete this;
385デフォルトの名無しさん:2005/04/06(水) 10:29:33
あ、thisか!なるほど。さんくす
386デフォルトの名無しさん:2005/04/06(水) 13:27:18
C++Builder4でListViewに大量のデータを表示させた場合
消去するのにも物凄い時間が掛かるのですが、改善する方法はないでしょうか?
387デフォルトの名無しさん:2005/04/06(水) 13:30:52
>>385
WindowsのIUnknown::Release()あたりで普通に使うから知ってる物だとばかり思ってたお>w<
388デフォルトの名無しさん:2005/04/06(水) 13:30:55
ownerdataでデータの管理は自分でやる
389デフォルトの名無しさん:2005/04/06(水) 13:35:01
>>386
TListItems::BeginUpdate()
TListItems::EndUpdate()
使ってる?
390デフォルトの名無しさん:2005/04/06(水) 15:28:39
先日、BCB6を購入したのですが、使用中になぜか急にC++BuilderDirectなる
ものが出現してびっくりしました。なぜなんだろう。

それはともかく、Directの中に最新アップデートとしてアップデート#4のページが
リンクされていたので、果たしてこれを当てる必要があるのかどうか知りたくなり
ました。買ったのは最近とはいえ、わりと放置気味の商品だったので...

現在使用しているBCB6はV.6.0 (Bld 10.157)となっていますが、パッチの
必要はあるでしょうか。
391381:2005/04/06(水) 16:20:28
>>390
> C++Builder Direct

気に入らなければ「ツール|環境オプション」のC++Builder Directタブで設定汁。

> アップデート#4
とりあえずあてとけ。重要なところが直ってないけど。

ところで俺の質問に答えてけれ。
392デフォルトの名無しさん:2005/04/06(水) 16:25:43
>>386
>>388のいうようにOwnerDataを使う。
データの登録時間も削除時間も実質0。

ただ、BCB5のOwnerDataにはメモリリークのバグがあり、
BCB4にもあるのではないかと思われるので要注意。
393386:2005/04/06(水) 16:32:32
>>388
>>389
>>392
ありがとうございます。
無事改善できました。
394デフォルトの名無しさん:2005/04/06(水) 17:24:34
>>391
環境がBCB4ちゅうから、BCB4なら知らねーやと思ってレスしなかったんだけど、文中は6か。
うちのBCB6は正しい値らしきものを返してるぞ。
395デフォルトの名無しさん:2005/04/06(水) 19:34:10
Windowsの画面のプロパティにあるフォントサイズ(プルダウンメニューで「小さいフォント」等を選ぶ項目)の
値を取得したいのですが、何か方法はありますか?
396デフォルトの名無しさん:2005/04/07(木) 02:25:07
BCB6でエクセルのShapeの色を操作しようとしてるんですが
VBAの下の2行がどうしても出来ないですヽ(´Д`;)ノ
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 121.5, 14.25, 12.75, 42.75).Select
Selection.ShapeRange.Line.ForeColor.SchemeColor = 64


Excel_2k::Shape* Shape;
Shape = ExcelWorksheet->Shapes->AddShape(msoShapeRectangle, Left, Top, Width, Height);
Shape->Select(TNoParam());
//ここまではOK(シェープの作成と選択)
Shape->get_Fill()->get_ForeColor()->set_rgb(ColorToRGB(clBlack)); //ここがエラーになる

どなたか解る方が居たら助けてほしいですm(_ _)m

397デフォルトの名無しさん:2005/04/07(木) 08:56:10
フォルダ選択ダイアログ

 簡単なものであれば、「SelectDirectory()」を使うという手がある。
欠点としては、ネットワークドライブを認識できない問題がある。

http://www.borland.co.jp/qanda/cbuilder/c0005004.html
398381:2005/04/07(木) 10:36:41
>>394
おわ、最後の最後であほなことを。orz
環境はWin XP SP2 + BCB6 UP#4です。orz=3

使えてるっすか。なんでウチは0なんだ?
399デフォルトの名無しさん:2005/04/07(木) 10:57:45
>>398
あかん。うちも 0 だわ。
同じくWin XP SP2 + BCB6 UP#4。
400デフォルトの名無しさん:2005/04/07(木) 15:28:01
うちはWin2K SP4 + BCB6 UP4でちゃんと機能してるぽい

>>396
Excel_2k::FillFormatDisp fill = shape->Fill;
Excel_2k::ColorFormatDisp color = fill.ForeColor;

color.rgb = clBlack;
401デフォルトの名無しさん:2005/04/07(木) 18:45:03
あと仮にエラーがでなくても、

> Shape->get_Fill()->get_ForeColor()->set_rgb(ColorToRGB(clBlack));

こういう書き方はあかんぞ。インターフェースが解放されないから。
402396:2005/04/07(木) 23:58:31
>400
キタ━━━━(゚∀゚)━━━━!!!!!! 動きました!! 見事にシェープが黒になりました。
ありがとうございます。1週間これにはまって、諦めてエクセルのセルにRGB値を入れて
VBAのマクロで対応するしかないかな〜と思っていた所なので本当に助かりましたm(_ _)m
本当にありがとうございますm(_ _)m

>401
もしお時間があれば、もうちょっと詳しくご説明して頂けると嬉しいですm(_ _)m
とりあえずソース中でget_****()->get_***() と書いてあった所は全て直しました。
403デフォルトの名無しさん:2005/04/08(金) 01:30:47
>>402
get_Fillもget_ForeColorもその他もろもろ、みんなインターフェースへのポインタを返してるわけだ。
>>396のShapeもインターフェースへのポインタだ。使い終わったインターフェースはReleaseしないといけない。

  Excel_2k::FillFormat* fill = shape->get_Fill();
  fill->Release();

こういう風に取得と解放がセットになるわけだ。get_Fill()->get_ForeColor() じゃ解放の余地がない。
ちなみにTComInterfaceみたいな便利テンプレートクラスを使えば、解放は変数の寿命と同時に自動的に行われる。

  TComInterface<Excel_2k::FillFormat> fill = shape->get_Fill();
  //fill->Release(); 要らない

たいていのインターフェースは既にTComInterfaceでラップされてて、
FillFormatならFillFormatPtr、ShapeならShapePtrという風に〜Ptrという名前でtypedefされてる。

Excel_2k::ShapePtr shape = ExcelWorksheet1->Shapes->AddShape(msoShapeRectangle, 0, 0, 100, 100);
Excel_2k::FillFormatPtr fill = shape->Fill;

こういうのを使えば解放忘れの心配がない。
404デフォルトの名無しさん:2005/04/08(金) 06:12:07
TImageに半透明で描画したいのですがどのようにしたらよいのでしょうか?
405デフォルトの名無しさん:2005/04/08(金) 17:20:36
Alpha が透過度になります(1.0 で100%コピー、0.5 で50%コピー)。
http://members3.jcom.home.ne.jp/jellyjam/pages/Del/graph.html
406デフォルトの名無しさん:2005/04/08(金) 17:23:58
void AlphaDraw(int X,int Y, //{描画先座標}
Graphics::TBitmap *Bmp1,
Graphics::TBitmap *Bmp2, //{ビットマップ}
float Alpha, //{透過度}
TColor TransParentColor) //{背景色(完全透過します)}
{
407デフォルトの名無しさん:2005/04/08(金) 17:58:13
>>405-406
アルファ処理ごときで浮動小数点演算使うことはないだろうに‥‥
408デフォルトの名無しさん:2005/04/08(金) 18:08:00
例も出せない厨房はレスするなよ
409デフォルトの名無しさん:2005/04/08(金) 18:34:15
void AlphaDraw(int X,int Y, //{描画先座標}
Graphics::TBitmap *Bmp1,
Graphics::TBitmap *Bmp2, //{ビットマップ}
float Alpha, //{透過度}
TColor TransParentColor) //{背景色(完全透過します)}
{

int i, j, k, v, z;
TRect Rect1, Rect2, Rect3;
//Pnt1, Pnt2 : PRGBArray;
Byte *Pnt1, *Pnt2; // scanlines
float Alp;

Bmp1->PixelFormat = pf24bit;
Bmp2->PixelFormat = pf24bit;

//半透明コピー開始

//コピー領域をキャッチ
Rect1 = Rect(0, 0, Bmp2->Width, Bmp2->Height);
OffsetRect(Rect1, X, Y);
410デフォルトの名無しさん:2005/04/08(金) 18:41:58
第47章
画像の合成処理
http://www.cutt.co.jp/book/4-87783-124-X.html
47-9
アルファブレンド(1)

47-10
アルファブレンド(2)

47-11
ウォーターマーク設定

47-12
電子透かし

47-13
隠し絵
411デフォルトの名無しさん:2005/04/08(金) 18:42:14
コピペ野郎か
412デフォルトの名無しさん:2005/04/08(金) 18:46:09
折れは安いブレンド米でいいです
413デフォルトの名無しさん:2005/04/08(金) 19:02:55
 
414デフォルトの名無しさん:2005/04/08(金) 19:24:14
mov esi,p1 mov edi,p2 mov ebx,p3 mov edx,p4 mov ecx,len
L1700:
pxor mm1,mm1 pcmpeqb mm4,mm4 movq mm5,[esi] movq mm7,[edi] mov eax,[edx] or eax,[edx+4]
jnz @L1710 movq mm0,mm5 jmp L1720
L1710:
movq mm6,[edx] psubusb mm4,mm6 movq mm0,mm5 movq mm2,mm7 punpcklbw mm0,mm1 punpcklbw mm2,mm1
movq mm3,mm4 punpcklbw mm3,mm1 pmullw mm0,mm3 movq mm3,mm6 punpcklbw mm3,mm1 pmullw mm2,mm3
paddusb mm0,mm2 psrlw mm0,8 packuswb mm0,mm1 punpckhbw mm5,mm1 punpckhbw mm7,mm4
movq mm3,mm4 punpckhbw mm3,mm1 pmullw mm5,mm3 movq mm3,mm6 punpckhbw mm3,mm1 pmullw mm7,mm3
paddusb mm7,mm5 psrlw mm7,8 packuswb mm1,mm7 por mm0,mm1
L1720:
add edi,8 add esi,8 movq [ebx],mm0 add ebx,8 add edx,8 loop L1700
ってな感じ。
415デフォルトの名無しさん:2005/04/08(金) 19:24:49
>>414
うざっ
416デフォルトの名無しさん:2005/04/08(金) 19:32:37
 
417デフォルトの名無しさん:2005/04/08(金) 20:18:16
ptr: 出力先
optr: 前景
bg: 背景
mptr: マスク画像

*ptr = (((*optr-*bg)*(*mptr+1))>>8)+*bg;


418デフォルトの名無しさん:2005/04/08(金) 20:24:46
417 :デフォルトの名無しさん :2005/04/08(金) 20:18:16

ptr: 出力先
optr: 前景
bg: 背景
mptr: マスク画像

*ptr = (((*optr-*bg)*(*mptr+1))>>8)+*bg;
419デフォルトの名無しさん:2005/04/08(金) 21:25:04
 
420デフォルトの名無しさん:2005/04/08(金) 22:08:11
 
421デフォルトの名無しさん:2005/04/08(金) 22:28:34
 
422デフォルトの名無しさん:2005/04/08(金) 23:26:16
 
423デフォルトの名無しさん:2005/04/09(土) 00:43:59
424デフォルトの名無しさん:2005/04/09(土) 10:06:22
 
425デフォルトの名無しさん:2005/04/09(土) 10:30:54
>>414はどうなるの?
426デフォルトの名無しさん:2005/04/09(土) 10:37:18
http://forum.nifty.com/fdelphi/samples/00827.html
//----------------------------------------
----------------------------------- //
ここから C++Builder ユーザー用です void DrawTranslucent(TCanvas *Canvas, int x, int y, Graphics::TGraphic *Graphic) { int w = Graphic->Width; int h = Graphic->Height;
427デフォルトの名無しさん:2005/04/09(土) 14:16:47
 
428デフォルトの名無しさん:2005/04/09(土) 17:25:22
 
429デフォルトの名無しさん:2005/04/09(土) 18:14:03
 
430デフォルトの名無しさん:2005/04/09(土) 18:16:22
誰だよ空上げする奴は?キショなぁ
431デフォルトの名無しさん:2005/04/09(土) 18:58:45
http://www.interq.or.jp/moonstone/person/del/halfdraw03.htm
void DrawTrans(int x, int y,Graphics::TBitmap *HalfCanvas,Graphics::TBitmap *HalfBmp)
{

int ix,jy,Gw,Gh;

Graphics::TBitmap *CanVasBmp;
Graphics::TBitmap *PutBmp;

Gw = HalfBmp->Width;
Gh = HalfBmp->Height;

//Gw = 100;
//Gh = 100;
432デフォルトの名無しさん:2005/04/09(土) 19:00:40
http://members3.jcom.home.ne.jp/jellyjam/pages/Del/graph.html
void AlphaDraw(int X,int Y, //{描画先座標}
Graphics::TBitmap *Bmp1,
Graphics::TBitmap *Bmp2, //{ビットマップ}
float Alpha, //{透過度}
TColor TransParentColor) //{背景色(完全透過します)}
{

int i, j, k, v, z;
TRect Rect1, Rect2, Rect3;
//Pnt1, Pnt2 : PRGBArray;
Byte *Pnt1, *Pnt2; // scanlines
float Alp;

Bmp1->PixelFormat = pf24bit;
Bmp2->PixelFormat = pf24bit;

//半透明コピー開始

//コピー領域をキャッチ
Rect1 = Rect(0, 0, Bmp2->Width, Bmp2->Height);
OffsetRect(Rect1, X, Y);
433デフォルトの名無しさん:2005/04/09(土) 23:08:06
デバッグカーネルBORDBK61.DLLが存在しないか登録されていません

というエラーが出るのだけれど、再インストールしてみても解決しないのですが、どうしたらよいのでしょうか?
C++builder6 Update4 + WinXP Home SP2です。
434396:2005/04/10(日) 02:17:41
>403
色々と調べなおしているうちにレスが遅くなってすみませんでしたm(_ _)m

>使い終わったインターフェースはReleaseしないといけない。
このへんが全く解っていませんでした。改めてBCBのヘルプを見ると>401さんの
ご指摘は参照カウンタの事を言っていると思うのですが、BCBのヘルプを見ても
微妙に解りませんでした(^^;  COM関係の本を買って調べてみようと思います。

また質問させて頂くかもしれませんが、その時はよろしくお願い致します。

改めまして、>400さん、>401さん ありがとうございましたm(_ _)m
435デフォルトの名無しさん:2005/04/10(日) 13:37:44
 
436デフォルトの名無しさん:2005/04/10(日) 21:54:00
437デフォルトの名無しさん:2005/04/10(日) 22:35:13
>>433
BCB6+Update4+WinXP Pro SP2だけど、そんなファイルないぞ。
438デフォルトの名無しさん:2005/04/10(日) 22:52:18
>>433
CDのInstall.rtf (.txt) に解決方法らしきものが載っとる
439デフォルトの名無しさん:2005/04/10(日) 22:53:27
あいやBCBをインストールしたフォルダにもあるか
440デフォルトの名無しさん:2005/04/10(日) 22:56:15
BORDBK61.EXEならBINフォルダにあるね。
441デフォルトの名無しさん:2005/04/10(日) 23:03:47
regsvr32で登録するのか・・・
442デフォルトの名無しさん:2005/04/11(月) 13:43:35
いつBCB10でんだこのやろう
443デフォルトの名無しさん:2005/04/11(月) 14:34:58
一生待ってろハゲちゃびん
444デフォルトの名無しさん:2005/04/11(月) 14:58:24
http://members3.jcom.home.ne.jp/jellyjam/pages/Del/graph.html
void AlphaDraw(int X,int Y, //{描画先座標}
Graphics::TBitmap *Bmp1,
Graphics::TBitmap *Bmp2, //{ビットマップ}
float Alpha, //{透過度}
TColor TransParentColor) //{背景色(完全透過します)}
{

int i, j, k, v, z;
TRect Rect1, Rect2, Rect3;
//Pnt1, Pnt2 : PRGBArray;
Byte *Pnt1, *Pnt2; // scanlines
float Alp;

Bmp1->PixelFormat = pf24bit;
Bmp2->PixelFormat = pf24bit;

//半透明コピー開始

//コピー領域をキャッチ
Rect1 = Rect(0, 0, Bmp2->Width, Bmp2->Height);
OffsetRect(Rect1, X, Y);
445zaq3d2e7fc0.zaq.ne.jp:2005/04/11(月) 15:37:20
えぇけっしとるのぉ(*´Д`)ハァハァ


うはっwwwおkwwwうえっwww??
446デフォルトの名無しさん:2005/04/11(月) 15:59:27
コピペだったり中途半端なコードだったり空行だったりの、変なageレスはマジで何なん?
447デフォルトの名無しさん:2005/04/11(月) 16:18:45
別に
448デフォルトの名無しさん:2005/04/11(月) 16:36:15
池沼が住み着いた
449デフォルトの名無しさん:2005/04/11(月) 16:48:48
>>448
池沼はレスしないで荒れるから
450デフォルトの名無しさん:2005/04/11(月) 16:55:07
(^^
451デフォルトの名無しさん:2005/04/11(月) 18:32:33
452デフォルトの名無しさん:2005/04/11(月) 23:55:40
BORDBK61.DLLは何かデータベースと関係ありそうですが
453デフォルトの名無しさん:2005/04/12(火) 17:13:36
このようなコードで、
char tmpbuf[255];
memcpy(&tmpbuf[0],"ABCD",4);
tmpbuf[4] = "1";

tmpbufをAnsiString型に換えた場合の添字の指定方法がわかりません。
どう書いたらいいのでしょうか?
454デフォルトの名無しさん:2005/04/12(火) 17:18:34
 
455デフォルトの名無しさん:2005/04/12(火) 17:27:08
tmpbuf[4] = "1";
これ普通に
tmpbuf[4] = '1';
こうじゃないとエラーでそう
456デフォルトの名無しさん:2005/04/12(火) 18:40:44
>>453
AnsiString::operator[]は1始まりなので
 AnsiString asbuf = "ABCD";
 asbuf.SetLength( 256 );
 asbuf[5] = '1';

ただ普通はこういう使い方はしないでしょ。
 AnsiString str = "ABCD";
 str += '1';
これで十分。
457デフォルトの名無しさん:2005/04/12(火) 18:48:09
>>456

> これで十分。

Dat's COOL.
458デフォルトの名無しさん:2005/04/12(火) 19:06:11
AnsiStringなら
str += '1';
は、むしろ
str += "1";
459デフォルトの名無しさん:2005/04/12(火) 23:58:21
以下の手順で実行するとエラーが出ます。

(1) TColorBoxで「カスタムカラー」を選択し色選択ダイアログを表示させる。
(2)「作成した色」において、作成していない色を選択し、OKボタンを押下する。
(3) エラーが表示される(リストのインデックスが範囲を超えました云々…)。

以上のエラーをどうやって回避したら良いか困っています。
どなたかアドバイスを下さい。
460デフォルトの名無しさん:2005/04/13(水) 00:29:29
 
461デフォルトの名無しさん:2005/04/13(水) 06:24:52
nasmは使えますか?
462デフォルトの名無しさん:2005/04/13(水) 10:46:33
try
463デフォルトの名無しさん:2005/04/13(水) 13:13:43
>>459
VCLがバグっとるね。OnSelectに以下のように書いとけば回避できると思う。

void __fastcall TForm1::ColorBox1Select(TObject *Sender)
{
    if (ColorBox1->Style.Contains(cbCustomColor))
    {
        int color = ::SendMessage(ColorBox1->Handle, CB_GETITEMDATA, 0, 0);

        if (color == -1)
            ::SendMessage(ColorBox1->Handle, CB_SETITEMDATA, 0, 0);
    }
}
464459:2005/04/13(水) 14:53:21
>>461
nasm使えません…。

>>462
OnSelectにtry〜catch文を仕込んでやってみましたが、ダメでした。


>>463
できました!
やはりVCLのバグだったんですね…。
ありがとう御座います。助かりました。

余談ですが、
TColorDialogならあらかじめCustomColorsを設定しておけば良いのですが
TColorBoxだとCustomColorsってプロパティ無いんですよね。
そういう場合、SendMessage()で予め設定しておけるんでしょうか?
SendMessage()ってほとんど知らないので、学習しなきゃなぁ。
465デフォルトの名無しさん:2005/04/13(水) 15:11:48
>>464
CustomColorsの設定は残念ながら_。
TColorBoxの派生コンポを作って、PickCustomColorメソッドをオーバーライドすれば可能だけどね。

上のバグもこのメソッドをいじって根本的に解決できる。
(内部で作成してるColorDialogのColorが-1(未作成の色)を返したら、強制的に0(黒)にするとか無視するとか)

ソースがあるなら、TCustomColorBox.PickCustomColorのコードを見てみるといい。
466デフォルトの名無しさん:2005/04/14(木) 01:57:19
 
467デフォルトの名無しさん:2005/04/14(木) 17:08:08
あるファイルから別のファイルを見たときの相対的なディレクトリの位置はどのように取得すればよいのでしょうか?
468デフォルトの名無しさん:2005/04/14(木) 17:35:58
>>467
ExtractRelativePath
469本田:2005/04/14(木) 22:21:49
>>452
デバッグカーネル。
470デフォルトの名無しさん:2005/04/15(金) 02:35:27
Check1BoxのCheckedプロパティをいじっただけで、Check1Click(TObject *Sender)が実行されてしまうことはありうる?

FromCreateでレジストリから以前の状態をCheckedに読み込んだだけで、Check1Click(TObject *Sender)が実行されてしまうのだけど・・・
471デフォルトの名無しさん:2005/04/15(金) 02:45:03
>>470
ヘルプのTControl::OnClickを参照。
472デフォルトの名無しさん:2005/04/15(金) 11:39:12
>>471
ありがとう

チェックボックスの Checked プロパティの値が変更された場合
    
というわけですね。実行されるときとされないときがあったので、470を書き込んだ後さらに悩んでしまいました。
Checked プロパティがレジストリの値と同じ場合は=でbool値を代入してもonClickは実行されないということのようですね
473デフォルトの名無しさん:2005/04/15(金) 13:55:16
unsigned charをAnsiStringにつっこむにはどうキャストしたらいいですか?
474デフォルトの名無しさん:2005/04/15(金) 14:01:00
>>473
どう突っ込みたいのか書かないとわからん。
数字として入れたいならAnsiString::sprintf()とか
475デフォルトの名無しさん:2005/04/15(金) 14:58:00
うるせー
476デフォルトの名無しさん:2005/04/15(金) 17:41:54
AnsiStringに注意



文字列を扱うのにAnsiStringはとても便利ですが、気が付いた点を2つ。

(1)hoge[0]の扱い
C言語では

char hoge[] = "Nakajima";

と宣言したとき、hoge[1] には 'a' が入っています。
つまり0から始まっています。
しかし、

AnsiString hoge = "Nakajima";

と宣言したとき、hoge[1] には 'N' が入っています。
これはPascalと同じように1から始まっているのです。 Pascalで書かれたVCLを使っているからだ と思いますが、
C++Builderなんだからねぇ・・・
Cを使っていた人は注意して下さい。
477デフォルトの名無しさん:2005/04/15(金) 20:09:59
>>476
ObjectPascalの文字列型互換だからしょうがない
478デフォルトの名無しさん:2005/04/16(土) 00:01:16
ひょっとしてM$にもGKっているのか? w
479デフォルトの名無しさん:2005/04/16(土) 03:37:07
ゴールキーパー?
480デフォルトの名無しさん:2005/04/16(土) 11:06:19
AnsiStringはhoge[1]ってアクセスできるのか?
いまBCBが手元にないので確かめられないのだが、
AnsiString hoge[5];
hoge[1]="Nakajima";
とした場合は、hoge[1][1]にNが入るってこと?
481デフォルトの名無しさん:2005/04/16(土) 12:38:18
>>480
その場合は
hoge[0][1]にNがはいるんじゃ
482デフォルトの名無しさん:2005/04/16(土) 13:12:09
>>481
何故?なにゆえ?
483デフォルトの名無しさん:2005/04/16(土) 14:25:42
480が正しい。
ただし正確には
 hoge[1][1]は
 hoge[1].operator[](1)と等価で戻値はchar&
484デフォルトの名無しさん:2005/04/16(土) 17:36:37
void __fastcall TForm1::FormCreate(TObject *Sender)
{

AnsiString hoge[5];
hoge[1]="ABC";

Caption = hoge[1][1];//A
Application->Title = hoge[1][3];//C

}
485デフォルトの名無しさん:2005/04/16(土) 18:15:23
How can I disable Ctrl + Alt + Del or Alt + Tab?
http://thunder.prohosting.com/~cbdn/k008.htm
http://thunder.prohosting.com/~cbdn/html.htm
Applies To: C++Builder 1 or higher
Category: Knowledge Base

1.
Start a new project using File | New Application.

2.
Edit the OnShow event:

void __fastcall TForm1::FormShow(TObject *Sender)
{
int result;
SystemParametersInfo(SPI_SCREENSAVERRUNNING, true, &result,
0);
}

3.
Edit the OnClose event:

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction
&Action)
{
int result;
SystemParametersInfo(SPI_SCREENSAVERRUNNING, false, &result,
0);
}

As you already know, when a screen saver is running, the special Windows keys are disabled in order to prevent security problems. You can trick Windows into thinking that a screen saver is running.
486デフォルトの名無しさん:2005/04/16(土) 21:12:39
 
487デフォルトの名無しさん:2005/04/16(土) 22:32:48
http://pc8.2ch.net/test/read.cgi/tech/1108468718/404-

Alpha が透過度になります(1.0 で100%コピー、0.5 で50%コピー)。
http://members3.jcom.home.ne.jp/jellyjam/pages/Del/graph.html

void AlphaDraw(int X,int Y, //{描画先座標}
Graphics::TBitmap *Bmp1,
Graphics::TBitmap *Bmp2, //{ビットマップ}
float Alpha, //{透過度}
TColor TransParentColor) //{背景色(完全透過します)}
{

int i, j, k, v, z;
TRect Rect1, Rect2, Rect3;
//Pnt1, Pnt2 : PRGBArray;
Byte *Pnt1, *Pnt2; // scanlines
float Alp;

Bmp1->PixelFormat = pf24bit;
Bmp2->PixelFormat = pf24bit;

//半透明コピー開始

//コピー領域をキャッチ
Rect1 = Rect(0, 0, Bmp2->Width, Bmp2->Height);
OffsetRect(Rect1, X, Y);
488デフォルトの名無しさん:2005/04/17(日) 12:45:21
TServiceを使ったサービスアプリケーションからShellExecute()などで他のプロセスを
たちあげたいのですが、うまくいきません。TServiceは、ハンドルをもってないからなんでしょうか?
489デフォルトの名無しさん:2005/04/17(日) 12:52:20
意味不明
490デフォルトの名無しさん:2005/04/18(月) 02:42:36
TServiceApplication
491デフォルトの名無しさん:2005/04/18(月) 02:44:03
サービスアプリケーションウィザード
Windows NTのサービスを実装するアプリケーションを開発するために、
サー ビスアプリケーションを作成するウィザードが提供されます。
サービスアプリケ ーションのために、
TServiceApplicationクラスとTServiceクラスが用意され ており、
サービスの名前や種類、動作はオブジェクトインスペクタによって
定 義できます。
492デフォルトの名無しさん:2005/04/18(月) 12:05:37
TPanelのPopupMenuプロパティーにPopupMenu1を割り当ててんだけど
これって左クリでポップアップする方法教えれ。オブジェクトインスペクタの設定でな
パネルのクリイベで自分で呼び出すってのはイラン
493デフォルトの名無しさん:2005/04/18(月) 12:40:16
>>492
そんな方法はない
494デフォルトの名無しさん:2005/04/18(月) 13:23:31
>>492
お前がBCB使うの止めればいいよw
495デフォルトの名無しさん:2005/04/18(月) 18:52:48
なんだおまえらしらねーのかよ、つかえねーやつらだなおまえらって
496デフォルトの名無しさん:2005/04/18(月) 19:07:25
マウスの設定でボタンの左右を入れ替えたら完璧にできるお。
497デフォルトの名無しさん:2005/04/18(月) 19:54:19
BCB5ですが、リンクが5回に一回は失敗しフリーズしてしまいます。
何か対処方法はありますでしょうか。
498デフォルトの名無しさん:2005/04/18(月) 22:10:56
 
499デフォルトの名無しさん:2005/04/18(月) 23:30:59
 
500デフォルトの名無しさん:2005/04/19(火) 03:35:33
 
501デフォルトの名無しさん:2005/04/19(火) 09:15:25
>>495
知ってるがお前の態度が(ry
502デフォルトの名無しさん:2005/04/19(火) 13:52:59
ShareやnyのファイルリストみたいにListViewで
マウスボタンを押した状態でカーソルを移動させ
て範囲内の項目を全て選択状態にするにはどう
やったらできますか?BCB6Proです。
503デフォルトの名無しさん:2005/04/19(火) 14:47:23
MultiSelect じゃなくて?
504デフォルトの名無しさん:2005/04/19(火) 14:59:49
>>503
CtrlやSiftを押しながらではなくてマウスボタンを押しながら
カーソルを移動させるだけで破線の四角い枠が表示されて
範囲内の項目全てが選択状態になりますよね?
あれを実現したいのです。
505デフォルトの名無しさん:2005/04/19(火) 15:25:14
RowSelect
506デフォルトの名無しさん:2005/04/19(火) 19:41:57
VC6で作ったMFCのアプリケーションをBCB6でコンパイルするとafxres.hを開くことが出来ないと怒られます。
カーソル位置のファイルを開くで開いてみると、ちゃんとBCBがインストールされているディレクトリにあるみたいで、
インクルードのパスもMCFのディレクトリに通ってるみたいです。
何故エラーが出るのでしょうか。
FAQみたいな質問で申し訳ないです。
507デフォルトの名無しさん:2005/04/19(火) 19:44:42
上記で書き忘れたのですが、VC++プロジェクト変換ユーティリティで変換してMFC互換モードでコンパイルtしました。
宜しくお願いします。
508本田:2005/04/19(火) 23:51:14
>>507
そんなことよくあるんだけど、
私、BCB5PROを使ってるんだけど、
プロジェクトファイルをメイクファイルに変換して、
試行錯誤してメイクファイルを修正している。
509デフォルトの名無しさん:2005/04/20(水) 01:45:50
64ビットWindows対応のプログラムは作れるのでしょうか?
510& ◆FC4h7F/wV6 :2005/04/20(水) 02:34:19
>>506
#include "afxres.h"

#include <afxres.h>
にするとか。
511本田:2005/04/20(水) 02:35:52
510は私です。
>>509
BCB6では無理。
512デフォルトの名無しさん:2005/04/20(水) 03:11:52
>>509
Delphi2006またはDelphi2007をお待ちください。
513504:2005/04/20(水) 04:25:51
>>505
亀レスですがお騒がせしました
514デフォルトの名無しさん:2005/04/20(水) 16:33:44
C++Builder 6.0で開発してます。
TTreeViewのスクロールバーって消えないのでしょうか?

ShowScrollBarでやってみても一時的には消えるがやっぱり駄目
サイズ変更の微妙なサイズ変更(横スクロールバーが出る瞬間)
とかするとまた出てきてしまいます。

SetWindowLongでむりやりスタイル変更
ULONG lStyle = ::GetWindowLong( TreeView1->Handle, GWL_STYLE);
lStyle ^= WS_VSCROLL;
::SetWindowLong( TreeView1->Handle , GWL_STYLE, lStyle);
とかしても、駄目っぽいです。
どなたか御存じないでしょうか?


515デフォルトの名無しさん:2005/04/20(水) 19:15:55
>>508
そうなのですか・・・

>>510
それも試してみたのですが、やっぱり駄目でした。

アドバイスありがとうございました。
色々試してみます。
516デフォルトの名無しさん:2005/04/20(水) 21:56:51
コーディング規約

public 宣言と private 宣言

グローバル
g
gstrUserName

モジュールレベル
m
mblnCalcInProgress

プロシージャ内
なし
dblVelocity
517デフォルトの名無しさん:2005/04/21(木) 12:37:23
すみません、質問です。
Borland C++Builderのチュートリアルをやっていてつまってしまいました…

2:フォーム上の ActionManager1 を選択し,オブジェクトインスペクタで
Images プロパティに ImageList1 を設定します。

とあるのですが、ImageList1と言うものがプルダウンに表示されません
入力しても駄目です…

これは、環境の設定とかが悪いのでしょうか?

Borland C++Builder Professional Version6.0[Build10.166] を使用しています。

どなたか教えて下さい
宜しくお願いします。
518デフォルトの名無しさん:2005/04/21(木) 12:49:33
>>517
フォーム上にTImageListコンポーネント置いてあるか?
519517:2005/04/21(木) 13:00:36
>>518
やってしまいました・・・置いてませんでした_| ̄|○

申し訳ありませんうまく行きました有り難うございます。
これからも精進致します…
520デフォルトの名無しさん:2005/04/21(木) 13:42:05
TMemoコンポーネントに13Mのテキストファイルを
LoadFromFileしたいのですが160000行もあり、読
み込みに20秒ぐらい掛かってしまいます。
ListViewのようにMemoもOwnerDataのような事が
可能でしょうか?また、できるならどのようにすれ
ば実現できますか?
521デフォルトの名無しさん:2005/04/21(木) 13:48:51
ん〜
522デフォルトの名無しさん:2005/04/21(木) 15:53:43
>>497
パソコンを買い換える。
523デフォルトの名無しさん:2005/04/21(木) 18:26:21
TForm3のコンストラクタに引数を追加して
__fastcall TForm3::TForm3(const int iFlg, TComponent* Owner) : TForm(Owner)
↓これで↑を呼ぶ場合にどうすればいいんでしょうか?
Application->CreateForm(__classid(TForm3), &Form3);
これで、
524デフォルトの名無しさん:2005/04/21(木) 22:04:52
ヘッダファイルの外側の「class 何々{〜};」の外側でexternを付けて(付けなくてもいい場合も ある)変数を宣言すると、プロジェクト内のどこからでも使うことができる
グローバルな変数になります。

プライベート変数ではなく、他のフォームからも使ってもらいたい変数は、同じくヘッダファイルの 中の「public:」のもとで宣言し
パブリック変数になります。

フォームに対応したユニット内のすべてのモジュール(関数)から使用できる 変数を、
『プライベート変数』と呼びます。

モジュール(関数)の中で宣言された変数は
『ローカル変数』 と呼ばれます。
525デフォルトの名無しさん:2005/04/21(木) 22:28:19
>>523
無理。普通にnewを使えばいい。
526デフォルトの名無しさん:2005/04/22(金) 01:25:54
>>514
スタイルにTVS_NOSCROLLを加える。
既にスクロールバーを持ってるやつを、SetWindowLongで変更する場合は、
変更後にShowScrollBarを呼ばないと消えない模様。
527デフォルトの名無しさん:2005/04/22(金) 10:39:13
 
528デフォルトの名無しさん:2005/04/22(金) 17:26:15
質問させていただきます。
C++Buirder5で開発中なのですが、
VBでいうMid関数と同じ役割とする関数ってC++Buirderにもありますか?
もしあるのであれば、教えてくださいm(_ _)m
529デフォルトの名無しさん:2005/04/22(金) 17:57:31
AnsiStringならSubStringメソッドかな?
530デフォルトの名無しさん:2005/04/22(金) 19:00:15
>>528
ヘルプ位見たんだろうな?
531デフォルトの名無しさん:2005/04/22(金) 19:23:19
いちいちヘルプ見れとかウザイ
532デフォルトの名無しさん:2005/04/22(金) 20:45:59
>>528

二回繰り返してるってことは素で間違えてるのか?

×Buirder
○Builder
533デフォルトの名無しさん:2005/04/23(土) 04:51:22
void __fastcall TForm1::FormCreate(TObject *Sender)
{

/*

Unit1.h
#include <StrUtils.hpp>

*/

//Unit1.cpp
AnsiString A = "XYZ";
AnsiString B = "わおん";

Caption = MidStr(A,3,1); //Z
Application->Title = MidStr(B,5,2); //ん

}

534デフォルトの名無しさん:2005/04/23(土) 04:53:14
ByteType メソッドは,AnsiString 内の指定された位置にあるバイトの種類を 示します。

enum TStringMbcsByteType { mbSingleByte, mbLeadByte, mbTrailByte };
TStringMbcsByteType __fastcall ByteType(int index) const;

説明

ByteType メソッドは,AnsiString 内の index(0 が最初)で示されたバイトの 位置にあるバイトの種類を示します。戻り値は以下のとおりです。

定数 意味

mbSingleByte 1 バイト文字
mbLeadByte マルチバイト文字の最初のバイト
mbTrailByte マルチバイト文字の最後のバイト

西洋諸国など一部のロケールではマルチバイト文字を使用しません。その場 合,ByteType は常に mbSingleByte を返します。
535デフォルトの名無しさん:2005/04/23(土) 05:34:56
void __fastcall TForm1::FormCreate(TObject *Sender)
{

/*

Unit1.h
#include <StrUtils.hpp>

*/

//Unit1.cpp
AnsiString A = "XYZ";
AnsiString B = "わおん";

Caption = MidStr(A,3,1); //Z

int intStart,intCount;
intStart = 3;
intCount = 1;

Application->Title = MidStr(B, (intStart * 2) - 1, intCount *2); //ん

//Application->Title = MidStr(B,5,2); //ん


}
//-------------------------------
536デフォルトの名無しさん:2005/04/23(土) 05:44:57
MidStr
MidStr
MidStr
MidStr
MidStr
MibStr
MidStr
MidStr
MidStr
MidStr
MidStr
MidStr
537デフォルトの名無しさん:2005/04/23(土) 07:38:51
LeftStr,RightStr,MidStrのいずれも、マルチバイト文字を
538デフォルトの名無しさん:2005/04/23(土) 09:59:18

void __fastcall TForm1::FormCreate(TObject *Sender)
{
/*

Unit1.h
#include <StrUtils.hpp>

*/

//Unit1.cpp
AnsiString A = "WXYZ";
AnsiString B = "富士山";

Caption = MidStr(A,3,1); //Y

int intStart,intCount;
intStart = 3;
intCount = 1;

//Application->Title = MidStr(B, (intStart * 2) - 1, intCount *2); //山

//Application->Title = MidStr(B,5,2); //山

StrLCopy(A.c_str(), B.c_str(), 4);
Application->Title = AnsiString(A); //富士

}
539デフォルトの名無しさん:2005/04/23(土) 10:03:08
void __fastcall TForm1::FormCreate(TObject *Sender)
{
/*

Unit1.h
#include <StrUtils.hpp>

*/

//Unit1.cpp
AnsiString A = "WXYZ";
AnsiString B = "富士山";

Caption = MidStr(A,3,1); //Y

int intStart,intCount;
intStart = 3;
intCount = 1;

//Application->Title = MidStr(B, (intStart * 2) - 1, intCount *2); //山

//Application->Title = MidStr(B,5,2); //山

Application->Title = StrLCopy(A.c_str(), B.c_str(), 6); //富士

}
540デフォルトの名無しさん:2005/04/23(土) 10:04:32

void __fastcall TForm1::FormCreate(TObject *Sender)
{
/*

Unit1.h
#include <StrUtils.hpp>

*/

//Unit1.cpp
AnsiString A = "WXYZ";
AnsiString B = "富士山";

Caption = MidStr(A,3,1); //Y

int intStart,intCount;
intStart = 3;
intCount = 1;

//Application->Title = MidStr(B, (intStart * 2) - 1, intCount *2); //山

//Application->Title = MidStr(B,5,2); //山

Application->Title = StrLCopy(A.c_str(), B.c_str(), 4); //富士

}
541デフォルトの名無しさん:2005/04/24(日) 02:12:20
542デフォルトの名無しさん:2005/04/24(日) 02:47:27
1. API 関数の CharNext 関数と CharPrev 関数

文字数を調べる関数を作りました。

2. 文字列の文字数を調べる

1 バイト文字と 2 バイト文字が混在する文字列の文字数を返す関数です。

// 文字列の文字数を返す
// src : 文字列
int GetCharLength(const char* src)
{
if (src[0] == '\0')
return 0;

char* s;
int count = 1;

s = CharNext(src);

while (*s)
{
++count;
s = CharNext(s);
}

return count;
}
543デフォルトの名無しさん:2005/04/24(日) 03:15:20
API 関数の CharNext 関数と CharPrev 関数
544デフォルトの名無しさん:2005/04/24(日) 03:32:58
void __fastcall TForm1::FormCreate(TObject *Sender)
{


AnsiString ansiB = "富士山麓";


Caption = ansiB.SubString(5,4); //山麓


}
545デフォルトの名無しさん:2005/04/24(日) 08:50:53
 
546デフォルトの名無しさん:2005/04/24(日) 13:40:39
なんで荒れてるの?
547デフォルトの名無しさん:2005/04/24(日) 14:00:41
いつもの基地外さ
548デフォルトの名無しさん:2005/04/24(日) 14:58:23
ApplicationEventsのOnIdleイベントは例えばデュアルコアのCPUで片方が空いてるときに、発動しますか?
549デフォルトの名無しさん:2005/04/24(日) 15:16:42
春真っ盛り
550デフォルトの名無しさん:2005/04/24(日) 15:57:48
新規(他からの継承でない)クラス「DisplayClass」を定義しました。
このクラスのインスタンスをグローバル宣言しました。

で、DisplayClassのパブリックメンバに、Graphics::TBitmap *LoadPicBitmap;
と宣言。

フォームは一個だけIDEで作成し、On_CreateハンドラからDisplayClassのメンバ関数を呼び出し、
LoadPicBitmapにnewする。

で、Form1のOn_CloseハンドラでLoadPicBitmapをdeleteすると、ウィンドウを閉じた時に
不正終了してしまいます。

LoadBitmapを参照しているほかのイベントハンドラがまだ呼ばれるのかと思いました。

なんで、On_CloseハンドラではApplication->Terminate()することにして、
On_Destroyハンドラでdeleteすることにしたのですが、頻度は減りましたがやはり
たまに不正終了します。

どうやったら不正終了しないでLoadPicBitmapを解放できるでしょうか?
551デフォルトの名無しさん:2005/04/24(日) 17:13:02
Canvas->CopyRect()関数で、イメージサイズを変えるとあまり綺麗にコピーできないのですが、
もう少し綺麗にコピーできる方法はないでしょうか?
552デフォルトの名無しさん:2005/04/24(日) 18:11:20
>>548
OnIdleってそのアプリが処理するメッセージがないときに呼ばれるものだから、CPUの忙しさとは関係ないのでは。
CPUがどんだけ忙しくたって、キューにメッセージがなければそのアプリはアイドル状態って判断されるわけだし。
553デフォルトの名無しさん:2005/04/24(日) 19:04:23
CopyFileでサイズの大きいファイルをコピーすると、
コピー中は、プログラムが固まって操作できなくなるんだけど
これを回避する方法ってありますか?
554デフォルトの名無しさん:2005/04/24(日) 19:16:32
スレッド
555デフォルトの名無しさん:2005/04/24(日) 21:44:51
>>553
バッファ使うなりして自前でコピーしたら?
現在何%コピーできてるかとかの表示もできそう
だし。

ただ、正確にコピーできてるかファイル比較
したりする必要あるなら多少面倒っぽいかも。


ところでCopyFileの速度ってどうなの?
高速ファイルコピー専用のアプリも多いみたい
なんだけどファイルコピーが低速なのはエクスプロ
ーラ上だけ?


と、自分では何も確認してない俺がレスしときますね。
556デフォルトの名無しさん:2005/04/24(日) 23:57:34
>>554-555
どうもありがとうです。
なんとか、スレッドを使ってうまくいったです。
でも、コピー失敗するから、ウェイトとかファイル比較とか
結構ややこい。
高速確実にファイルコピーできる方法があったら、
俺も知りたいです(´・ω・`)
557デフォルトの名無しさん:2005/04/25(月) 00:34:43
Application->ProcessMessages();// 溜まっているイベントの処理
558デフォルトの名無しさん:2005/04/25(月) 03:14:22
TThreadでメインFormからThreadのExecuteメソッドが実行中であるかどうかを判別する方法を教えてください
559デフォルトの名無しさん:2005/04/25(月) 03:48:45
Executeの最初と最後で(ry
560デフォルトの名無しさん:2005/04/25(月) 05:46:28
C++Builderからsusieのpluginを利用するサンプルプログラムはありませんか?
561デフォルトの名無しさん:2005/04/25(月) 07:22:43
susieは元々C言語用では?
562デフォルトの名無しさん:2005/04/25(月) 07:52:21
>>433
Indyを入れると出るみたいです。
だれかIndyうまくインストールできた人居る?
563デフォルトの名無しさん:2005/04/25(月) 17:46:05
>> 560
C++Builder6 vol.2の本に載ってるよ
564デフォルトの名無しさん:2005/04/25(月) 17:49:05
IncYear関数を使う時、なんか特別にインクルードしないとダメですか?
565本田:2005/04/25(月) 20:34:16
566デフォルトの名無しさん:2005/04/25(月) 21:58:36
>>564
ヘルプの「ユニット」ってやつのヘッダ。
VCLのヘッダは拡張子hppだから気をつけて。
567デフォルトの名無しさん:2005/04/26(火) 13:40:07
>>566
できました!
thx!
568デフォルトの名無しさん:2005/04/26(火) 15:48:32
C++Builder5で開発中の初心者です。

ScrollBoxについてなのですが、
これは直接文字を書き込むことはできないのでしょうか?
もしできるのであれば教えてください。
569デフォルトの名無しさん:2005/04/26(火) 17:30:01
>>568
>これは直接文字を書き込むことはできないのでしょうか?

「直接文字を書き込む」とは、
ScrollBox のどこにどう書き込みたいのか?
次第による。
570デフォルトの名無しさん:2005/04/26(火) 19:20:45
UTCを取得する関数ってありますか?
571デフォルトの名無しさん:2005/04/26(火) 19:28:42
>>570
::GetSystemTime(LPSYSTEMTIME);
じゃだめなのか?
572デフォルトの名無しさん:2005/04/27(水) 17:07:44
>>526
レスがかなり遅くなりましたがありがとうございます。
それで、やってみます。
573デフォルトの名無しさん:2005/04/27(水) 19:09:15
C++Builder1でTListViewにチェックボックスを付ける方法を教えてください
574デフォルトの名無しさん:2005/04/27(水) 20:35:18
>>573
最新のバージョンに更新する
575デフォルトの名無しさん:2005/04/28(木) 01:31:00
C++Builder6をインストして、
何の設定もしないままソース書いたんですが動きません。
どう設定すればよいか教えてください。
576デフォルトの名無しさん:2005/04/28(木) 01:43:31
>>575
そらまぁ、ソースを書いただけじゃ動くわけないな。
動いたらオカルトだ。

まともな回答が欲しかったらまともな質問しな。
どのようなソースを書いてどのようなオプションでコンパイルして
どのように実行したがどのような結果に終わったのか、
全て書け。
577デフォルトの名無しさん:2005/04/28(木) 01:55:57
どこが悪いのかわからんので重要そうなとこだけ書きます。

インクルードパス:C:\Program Files\Borland\CBuilder6\Include
ライブラリパス:C:\Program Files\Borland\CBuilder6\Lib
デバッグ用ソースパス:$(BCB)\source\vcl

#include <stdio.h>
main(){
printf("Hello, world.\n");
return 0;
}
これを実行すると、
[C++ エラー] Project1.cpp(3): E2209 インクルードファイル 'vcl.h' をオープンできない
[C++ エラー] Project1.cpp(6): E2303 型名が必要
[C++ エラー] Project1.cpp(6): E2034 'char *' 型は 'int' 型に変換できない
[C++ エラー] Project1.cpp(6): E2293 ) が必要
[C++ エラー] Project1.cpp(8): E2141 宣言の構文エラー

なんでvcl.hとかでてくるのか…
578デフォルトの名無しさん:2005/04/28(木) 02:06:37
int main(void){

にしてみたら?
579デフォルトの名無しさん:2005/04/28(木) 02:09:58
>>577

Windows アプリケーションとして、そういうコードを書いているの?
BCB 初心者かな?だとしたら間違い。

BCB6 立ち上げたら、

1) [ファイル] - [すべて閉じる]
2) [ファイル] - [新規作成] - [その他...]
3) 表示されたダイアログの新規作成タブからコンソール ウィザードをダブル・クリック
4) 更に表示されるダイアログであまり深い事を考えずに OK ボタンをクリック

の手順を踏む。

そうすれば main 関数のスケルトンが出てくるのでそれを編集する。

で、IDE 上からプログラムを実行すると、あっという間に終わって表示が消えるので、
最後に何か入力しないとプログラムを終われないようにしておくといい。
580デフォルトの名無しさん:2005/04/28(木) 02:10:17
>>578
だめでした。

インクルードパス:$(BCB)\include;$(BCB)\include\vcl
ライブラリパス:$(BCB)\Lib

で実行すると、
[リンカ 致命的エラー] Fatal: ファイル SYSINIT.OBJ が開けません
とでます。
581デフォルトの名無しさん:2005/04/28(木) 02:17:16
>>579
できました。
ありがとうございました。
582デフォルトの名無しさん:2005/04/28(木) 02:18:36
>>577
だから、分からんかったら全部書けって言ってるんだ。

そのプロジェクト、どういう手順で作成した?
それをはっきりさせて。

あと、「ファイル」→「新規作成」→「アプリケーション」で
新しいプロジェクトをつくって、なにもせずそのまま実行してごらん。
それでエラーが出るかどうか報告して。
583デフォルトの名無しさん:2005/04/28(木) 02:33:59
>>582
いままで立ち上げてUnit1.cppに打ってました。
何もせず実行すると577で書いたエラーがでます。
584デフォルトの名無しさん:2005/04/28(木) 04:48:43
TImageのPicture->Bitmapに画像を読み込みました。そしてPicture->Bitmap->SaveToFileでセーブしてみるときちんと
画像が書き込まれるのに、画面上でTImageの中に画像が表示されません。TImageのVisibleはtrueになっています。
表示されない原因として何が考えられるでしょうか?
585デフォルトの名無しさん:2005/04/28(木) 05:48:28
なんか問題文みたいな書き方だなw

HeightとWidthの値が物凄く小さくなってるとか?
586デフォルトの名無しさん:2005/04/28(木) 08:01:45
           
587デフォルトの名無しさん:2005/04/28(木) 09:34:27
ビットマップファイルを80枚くらい開くとメモリが十分余っているにもかかわらず、EOutOfResourcesエラーが出るのですが、これはWindowsの制限から来るのでしょうか?
OSはXPです。
588デフォルトの名無しさん:2005/04/28(木) 11:54:32
C++Builder1でTListViewにチェックボックスを付ける方法を教えてください
589デフォルトの名無しさん:2005/04/28(木) 12:12:51
590デフォルトの名無しさん:2005/04/28(木) 12:43:37
C++Builder1でTListViewにチェックボックスを付ける方法を教えてください
591デフォルトの名無しさん:2005/04/28(木) 17:10:49
>>587
【VCLリファレンスより】
  EOutOfResources は,Windows ハンドルを割り当てることができなかったときに送出される例外クラスです。

メモリが十分ある事が関係するとは思えないが?
592デフォルトの名無しさん:2005/04/28(木) 19:39:51
593デフォルトの名無しさん:2005/04/29(金) 05:29:49
 
594デフォルトの名無しさん:2005/04/29(金) 12:42:32
>>550
どこで new DisplayClass() してるの?
Form と生成消滅のタイミングが同じなら
DisplayClass は Form の protected/private メンバにしたほうがよくない?
で、「OnCreate(Form::FormCreate) で new DisplayClass()」してね。
Form のコンストラクタで new したり、
Form に埋め込むのはやめたほうがいいよ。
VCL は普通の C++ じゃないからね。
595550:2005/04/29(金) 13:41:41
>>594

関数の外で

DisplayClass Display;

とグローバル変数として宣言しています。
これがいけないのでしょうか…
596デフォルトの名無しさん:2005/04/29(金) 15:40:54
>>595
なんでグローバルという気もするけど、そっちは置いといてよさそう?

自分で TBitmap を割り当てているようなコントロールの
Bitmap に LoadPicBitmap を割り当てたとか?
...->Bitmap->Assign(Display.LoadPicBitmap);
↑ほんとはこう書かないといけないのに
...->Bitmap = Display.LoadPicBitmap;
↑こう書いているとか?
どこかのコントロールで二度目のdeleteが発生してる可能性のほうが高いのかな。
597デフォルトの名無しさん:2005/04/29(金) 16:03:21
>>595
んん?
Application->Terminate() って、最近書いた記憶ないや
これもなんか変?
>MainForm プロパティを使うと,アプリケーションのメインウィンドウとして動作するフォームを指定できます。メインフォームは,アプリケーションのメインプログラムで最初に作成されるフォームです。メインフォームを閉じるとアプリケーションは終了します。
598550:2005/04/29(金) 16:56:49
Application->Terminate()は、これを書いておかないとなぜか一旦閉じたウィンドウが
復活してしまうのです。

他のハンドラからShowプロパティが呼ばれているのだと思い、destroyedというフラグ変数を
OnCloseハンドラで立て、OnMouseDownなど、コードのある全てのハンドラの先頭に
if(destroyed)return;
と書いてもまだ復活してしまうのです。

なぜなんでしょう?
599550:2005/04/29(金) 17:03:58
Showプロパティ->Showメソッド
600594:2005/04/29(金) 17:47:36
ずるずると怪しいところが増加してます
コードの書き方がたいへんユニークみたいやなあ
それが原因ぽい
勇気をもってどっかにコード一式上げてみるかぃ
601550:2005/04/29(金) 18:02:11
どうやら、これみたいです。
http://www.borland.co.jp/qanda/delphi/d0000150.html

現在のプログラムはoncreateがそのままメインルーチンに突入する仕組みになっているので。

onClickを契機にメインルーチンに突入するように改造するか…
602594:2005/04/29(金) 18:38:37
OnCreateでは通常はオブジェクトの生成と初期設定のみ記述だよ
OnCreate で失敗すると、Form のロードに失敗したりするからねえ
がんがー
603デフォルトの名無しさん:2005/04/29(金) 21:14:39
>>601
コード挙げてみ?
604550:2005/04/30(土) 00:25:45
できました

onClickを契機にメインルーチンを組んだらonCloseでインスタンスを解放できました。
Application->Terminate()も記述しないでプログラムが終了しました。

ただまれに「フォームが復活」することがあったのですが、
onClickからのルーチンを、とにかくonCloseで立てる「destroyed」フラグが
立っていたら作業をすぐやめる、ように書き直したら現象が出なくなりました。

ありがとうございました。

ソース晒しですが、とても恥ずかしい種類のプログラム(要するにエロゲ)なので
ご勘弁下さい…
605デフォルトの名無しさん:2005/04/30(土) 03:04:48
まあ、なんて破廉恥な
606デフォルトの名無しさん:2005/04/30(土) 08:23:30
たぶん>>604のコードはとっても恥ずかしいコードなんだな

void __fastcall Sex::Incert(int WomanNo)
{
    AnsiString str = "ずぶっ、ぬぷぷぷぷ";
        .
        .
        .
}   
607デフォルトの名無しさん:2005/04/30(土) 08:34:03
>>604
エロゲで恥ずかしいのはテキストやCGであって
エンジン部分ではないと思うぞ・・・。
まさかソースに直接エロ台詞が書かれてるわけでもあるまいに。
608デフォルトの名無しさん:2005/04/30(土) 11:16:15
C++ BuilderのGroupBoxはVC++ .NETのそれと
見た目が違いますね。(XPスタイル適用時)
VC++ .NETと同じ様にするにはどうすればいい
でしょうか
609594:2005/04/30(土) 12:04:04
>>606
それを言うならInsertぢゃ…

>>604
アプリ終了時にオブジェクトがアンロードされる順番が見えていないのでこまっとるのだろう
終了処理に入る前に自分が所有していないオブジェクトへの参照は全部 NULL にしておく
各イベント処理は destroyed を使うのではなくて
if (RefMainForm/* != NULL*/) { 処理; }
みたいにしてくれろ
参照を外す、NULL 放り込むという基本動作が大事だなあ

ぢゃ、そういうことで
610デフォルトの名無しさん:2005/04/30(土) 18:55:18
UNICODE のアプリケーションを作るにはどうすればいいですか?
やってみたら WinMain が未解決になって対処法がわかりません。

#include <windows.h>
#include <tchar.h>

int WINAPI wWinMain(HINSTANCE, HINSTANCE, PTSTR, int)
{
return 0;
}
611デフォルトの名無しさん:2005/04/30(土) 19:52:47
>>610
それMFC?
C++BuilderならWideStringやstd::wstringで書きまくるべし
Win9xはごく一部のUnicode関数しか実装していないのよねぇ
612610:2005/04/30(土) 20:02:59
MFCではないです。
知りたいことだけを言えば、
『エントリポイント関数を、 WinMain から wWinMain にするには
どうすれば良いか?』ということです。
613デフォルトの名無しさん:2005/04/30(土) 22:25:37
>>612
プロジェクトオプション→ディレクトリ/条件タブ→条件定義に「_UNICODE」を追加。
又はオプションソースを開いて、コマンドラインオプションに「-WU」を追加。

#include <windows.h>
#include <tchar.h>

extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
  return 0;
}
614610:2005/05/01(日) 00:02:04
>>613
解決しませんでした。
メイク可能なプロジェクトファイル一式をうpしてくれたら幸いです。
615デフォルトの名無しさん:2005/05/01(日) 00:29:48
あれ?じゃあオプションソースに「c0w32.obj」があったら「c0w32w.obj」に書き換えて。
BCB上で書き換えても反映されないかもしれないから、BCB終了して適当なエディタで。

それでもできなければうpする。
616610:2005/05/01(日) 00:46:25
>>615
無理でした。

メイクファイルを作成して、そのc0w32.objを書き直した場合は成功しますが、
手間がかかるので、より簡単な方法があるなら知りたいです。
617デフォルトの名無しさん:2005/05/01(日) 00:58:20
うちでは出来てるからなぁ。お手上げ。
618610:2005/05/01(日) 01:31:58
いまいちよくわからないけど、教えられたことをいじりまくっていたら、
開発環境から UNICODE モードでコンパイルできるようになりました。
thx
619デフォルトの名無しさん:2005/05/01(日) 09:32:45
C++ Builder6 使っているんですが プログラム中で
aを√したい場合と aをcos場合どうすればいいでしょうか?
sqrt(a) cos(a) してもうまくできないです。
620デフォルトの名無しさん:2005/05/01(日) 09:35:15
ちなみにcos
a=float cos(float a);
でもやってみたのですが、ぜんぜんうまくいきませんでした。
621デフォルトの名無しさん:2005/05/01(日) 09:54:52
CppWebBrowserでブラウザを作ったけど、
現在表示されてるページのURLをEditに表示するには
どうしたらいいのでしょうか。
622デフォルトの名無しさん:2005/05/01(日) 10:18:54
memo のなかに memo1というのが常に表示されているのですが、これを消したいのですが
どうすればいいですか?
623デフォルトの名無しさん:2005/05/01(日) 11:48:54
>>619-620
ヘルプを読む。
それでも分からなかったら、
自分の書いたソース晒して何がどう上手くいかなかったのか具体的にかけ。

>>621
TCppWebBrowser::LocationURL

>>622
TMemo::Lines

ってか人に聞く前にヘルプちゃんと読め。
624デフォルトの名無しさん:2005/05/01(日) 11:57:11
タスクバーを除くデスクトップサイズを取得するにはどうしたらよいのでしょうか?
625デフォルトの名無しさん:2005/05/01(日) 11:58:06
ここの回答者もヘルプ機能の一種ですから、
ここで質問することとヘルプを参照することはイコールです。
626デフォルトの名無しさん:2005/05/01(日) 12:09:22
>>624
TMonitor::WorkareaRect
627デフォルトの名無しさん:2005/05/01(日) 12:09:24
>>624
TRect r;
SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0);//rにディスプレイのタスクバーを除く
      //デスクトップ領域が代入される

int width = r.Right - r.Left;  // Width
int height = r.Bottom - r.Top; // Height
628624:2005/05/01(日) 12:55:54
親切な回答、ありがとうございます。
629デフォルトの名無しさん:2005/05/01(日) 13:21:05
次回作は?
630デフォルトの名無しさん:2005/05/01(日) 15:03:05
>>622
オブジェクトインスペクタでMemo1、Linesプロパティの右の...をクリック。
文字列リストの設定ダイアログで"Memo1"の文字列を削除。
631デフォルトの名無しさん:2005/05/01(日) 15:53:18
>>629
っ[BCB9]
632デフォルトの名無しさん:2005/05/01(日) 17:13:00
次回作っつーと映画みたいだな
633デフォルトの名無しさん:2005/05/01(日) 19:30:15
ボタンを押して、TabControlでタブを追加するやり方って
どうやるのですか?
634デフォルトの名無しさん:2005/05/01(日) 21:29:17
TabControlを使ってます。TabControl上にいくつかコンポーネントを
つけました。

buttonを押すとタブを自動的にひとつ追加することはできたのですが、
新しくできたタブ上にもともとあったコンポーネントと同じものを追加するにはどうすればいいのでしょうか。

(簡単に言うとTabControl上にEditがあり、buttonを押すとタブが1つ増えて、新しくできたそのタブ上にもEditが自動的にできるようにしたい、ということでです。)
635デフォルトの名無しさん:2005/05/01(日) 21:51:05
>>634

VCLリファレンスヘルプから引用
>TTabControl は異なるコントロールを格納する
>複数のページを持たない単一のオブジェクトです。
>現在のタブが変わると,タブコントロールは変更を
>反映するために OnChange イベントハンドラで
>直接コントロールの内容を更新しなければなりません。
引用終わり

>新しくできたタブ上にもともとあったコンポーネントと同じものを追加する
不可能。TPageControlのことか?
636デフォルトの名無しさん:2005/05/01(日) 22:30:43
>>635
あ、間違えました。ご指摘のとおりTPageです
637デフォルトの名無しさん:2005/05/01(日) 23:43:04
>>636
TPageなんてコンポーネントは存在しないぞ。
質問するときゃコンポーネント名くらい正確に書け。

複数のタブシートで同種のコンポーネントを使いたいなら
それこそTTabControlを使えばいい。
TPageControlは動的にページを追加するような使い方はあまりしない。

どうしてもやりたかったら追加したいコンポーネントをnewしてシート上に
配置するしかない。
複数のコンポーネントを扱うならフレームにまとめておけば一発で配置できる。

しかし、TTabControlを使うことを考えたほうが利口だとは思う。
638デフォルトの名無しさん:2005/05/02(月) 05:26:20
StatusBarの中にProgressBarを表示したいのですが、どうしたら出来るのでしょうか?
639デフォルトの名無しさん:2005/05/02(月) 06:49:08
ProgressBar->Parent = StatusBar
位置はてきとーに調整
640デフォルトの名無しさん:2005/05/02(月) 06:50:26
C++Builderで作ったGUIはなんか
VisualC++でつくったのよりキビキビしてない気がするんですが
気のせいですか?
641age:2005/05/02(月) 08:48:49
気のせい
642デフォルトの名無しさん:2005/05/02(月) 09:32:53
VCLはメッセージをいろいろ処理してるのでもっさりしてるようです
643デフォルトの名無しさん:2005/05/02(月) 11:34:45
>>640
パソコンをグレードアップしろ。2GHz未満のCPUなぞ使うな。
644デフォルトの名無しさん:2005/05/02(月) 12:39:06
>>643
2GHzのCeleronは1.4GHzのCeleronより早いですか?
645デフォルトの名無しさん:2005/05/02(月) 12:49:19
>>644
CPU自体の速度はそんなに変わらないだろうが、メモリ周りが明らかに速い。
646デフォルトの名無しさん:2005/05/02(月) 13:00:08
>>640
GUIでC++BuilderとVCのスピードの差などない。
本当にC++Builderで作ったのか?
Javaじゃないのか?
647デフォルトの名無しさん:2005/05/02(月) 13:26:23
>>646
ワロタ
648デフォルトの名無しさん:2005/05/02(月) 13:46:25
>>646
Javaはおそいねぇ。個人的にはこれがクライアントアプリケーションで使われなくなった最大の原因だと思うのだが(言語仕様的には好きなんだけどね)
649デフォルトの名無しさん:2005/05/02(月) 16:03:11
C++Builder1でTListViewにチェックボックスを付ける方法を教エロ
650デフォルトの名無しさん:2005/05/02(月) 16:26:55
げ、TEditとかTLabeledEditにOnMouseWheel系が無いのかよ。
マンドクセ
651デフォルトの名無しさん:2005/05/02(月) 16:39:33
>>649
TListViewを継承して作ったらいいんじゃない?
652デフォルトの名無しさん:2005/05/02(月) 20:51:46
ProgressBar1->Parent = StatusBar1;
653デフォルトの名無しさん:2005/05/02(月) 20:59:33
ProgressBar1->Parent = StatusBar1;

ProgressBar1->Top = 1;
ProgressBar1->Left = 1;
654デフォルトの名無しさん:2005/05/02(月) 21:06:09
ProgressBar1->Parent = StatusBar1;
ProgressBar1->Top = 2;
ProgressBar1->Left = 2;
655デフォルトの名無しさん:2005/05/02(月) 21:35:51
実行後に、ボタンを押して、Memoを増やす方法ってどうやるのですか?
はじめはフォームにButton1とMemo1がありますが、実行後に
Button1を押すとMemo2、Memo3・・・を表示することです
656デフォルトの名無しさん:2005/05/02(月) 21:45:23
動的にコントロールを作成する

C++ Builderで、実行時にTEditなどのコントロールを動的に作成するには、以下のようにします。
Parentを必ず設定する必要があります。

TEdit *DynamicEdit = new TEdit(Form1);
DynamicEdit->Parent = Form1;
DynamicEdit->Name = "DynamicCreateTEdit";
DynamicEdit->Left = 100;
DynamicEdit->Top = 100;
657デフォルトの名無しさん:2005/05/02(月) 21:47:20
コンポーネントの動的な作成方法



コンポーネントを動的に作成するにはどうすればいいのでしょうか?


下記のように記述すれば可能です。
注意として必ず,Parentプロパティに親となるコンポーネント(Form,Panel等)を 指定するようにしてください。
これにより,不特定多数のコンポーネントを使用したり,配列でコンポーネントをコ ントロールできるようになります。


//ユニットのヘッダのprivateに以下の一行を記述
TLabel *labels[9];

//以下の記述をボタンのクリック時のイベントに記述
//また,Form1にPanel1というパネルを事前にはっておいてください

void __fastcall TForm1::Button1Click(TObject *Sender)
{
for (int i=0;i<=9;i++)
{
labels[i]=new TLabel(Form1);
labels[i]->Top=i*20;
labels[i]->Caption="Label"+IntToStr(i);
labels[i]->Parent=Panel1;
}
}
658デフォルトの名無しさん:2005/05/02(月) 21:49:12
http://cgi38.plala.or.jp/flash100/Accesslog.cgi
こういうヤツの作り方ってどうやるんですかね?
659デフォルトの名無しさん:2005/05/02(月) 21:58:32
CGIの作り方ならWEBプログラミング板でないかい
660デフォルトの名無しさん:2005/05/02(月) 22:46:47
>>657ありがとうございます。それとCppWebBrowserも
動的に増やしたいのですが、TCppWebBrowserってしたらエラーがでたのですが・・
661デフォルトの名無しさん:2005/05/02(月) 23:06:17
TCppWebBrowser *CppWebBrowser = new TCppWebBrowser(this);
662デフォルトの名無しさん:2005/05/02(月) 23:10:04
 
TCppWebBrowser *CppWebBrowser = new TCppWebBrowser(this);

だったのを

TCppWebBrowser *CppWebBrowser = new TCppWebBrowser(Owner);
663デフォルトの名無しさん:2005/05/03(火) 00:54:51
>>660
TCppWebBrowserのParentの設定は、CppWebBrowser1->TOleControl::Parent = 〜
ってしないとだめ。
664デフォルトの名無しさん:2005/05/03(火) 00:56:40
って別にParentの設定でエラーが出たとは書いてないか。たぶんそうだと思うんだけど。
エラーが出たら、最低限エラーメッセージを書こうぜ。
665デフォルトの名無しさん:2005/05/03(火) 01:06:53
PageControlでタブシートを1から2へ切り替えたとき
1のコンポーネントが前に出っ放し。
1のコンポーネントが邪魔で2のコンポーネントが
見えない・・・・・。
誰か助けて・・・・
666デフォルトの名無しさん:2005/05/03(火) 01:28:50
>>665
シートの切り替えはどうやってる?
667デフォルトの名無しさん:2005/05/03(火) 08:18:53
切り替えるというか・・・自分の説明不足でした。スマソ。
PageControl上にCppWebBrowserを乗っけて、実行後
新しいウィンドウで開くを選ぶと別のタブが自動的にできるように
してある。ただ、新しいタブ上のCppWebBrowserが隠れて見えない。
それに新しいタブ上のCppWebBrowserで新しいウィンドウで開くを選ぶと
IEが起動してしまいます・・・。
668デフォルトの名無しさん:2005/05/03(火) 08:29:06
2つのTCppWebBrowserを用意して、
CppWebBrowser1を表示用のブラウザ、
CppWebBrowser2を、
表示されないブラウザ用とします。(CppWebBrowser2の
Width, Height を0にしておきます。)

そして、CppWebBrowser1のOnNewWindow2で、
新しいページを一度CppWebBrowser2に表示させ、
そのURLを所得して、
CppWebBrowser1からNavigateすることで、
新しいウィンドウを開かずに、表示することが
できると思います。

コードだと

void __fastcall TForm1::CppWebBrowser1NewWindow2(TObject *Sender,
LPDISPATCH *ppDisp, TOLEBOOL *Cancel)
{
*ppDisp = CppWebBrowser2->Application;
}
//------------------------------------------------------------------------ - --
void __fastcall TForm1::CppWebBrowser2NavigateComplete2(TObject *Sender,
LPDISPATCH pDisp, TVariant *URL)
{
CppWebBrowser1->Navigate(CppWebBrowser2->LocationURL);
}

という感じになります。
他にも方法はいろいろあるのかも知れません。
669デフォルトの名無しさん:2005/05/03(火) 11:36:36
>>667
(´-`).。oO(ただ単にActivePageが切り替わってないだけじゃ…)
670デフォルトの名無しさん:2005/05/03(火) 12:01:46
>>668
>>669
ありがとうございます。しかしなぜかできませんでした。
たしかに、ActivePageを切り替えてるのですが・・・


タブブラウザ風にしたいのです。
void __fastcall TForm1::CppWebBrowser1NewWindow2(TObject *Sender,
LPDISPATCH *ppDisp, VARIANT_BOOL *Cancel)
{

TTabSheet *TabSheet = new TTabSheet( this );
TabSheet->PageControl = PageControl1;
TabSheet->Parent=PageControl1;
PageControl1->ActivePage = TabSheet;
TCppWebBrowser *CppWebBrowser=new TCppWebBrowser(this);
CppWebBrowser->TOleControl::Parent=TabSheet;
CppWebBrowser->Align=alClient;
*ppDisp = CppWebBrowser->Application;
としたのですが・・。

なぜかCppWebBrowser1が常に一番先頭に出てきてしまいます。
新しいタブ上のCppWebBrowserはCppWebBrowser1でほとんど
隠れてしまいますが、端っこだけ見れます。そこで
新しいウィンドウで開くを選ぶと IEが起動してしまうのですけども・・。

どうもCppWebBrowser1以外は新しいウィンドウで開くを選ぶと IEが起動
してしまいます。


671デフォルトの名無しさん:2005/05/03(火) 12:28:49
>>670
うちでは隠れなかったので、隠れるというのは分からないけど、
IEが起動するのは、単に新しく作ったCppWebBrowserのOnNewWindow2イベントを設定してないからでは?
672デフォルトの名無しさん:2005/05/03(火) 13:17:45
>>671
動的に作ったCppWebBrowserのOnNewWindow2イベントの設定ってどうやれば
いいのですか?CppWebBrowserは実行前は1つしかありません・・・
673デフォルトの名無しさん:2005/05/03(火) 13:22:49
例えば>>670のイベントを使うなら、
CppWebBrowser->OnNewWindow2 = CppWebBrowser1NewWindow2;
ってすればいい。
674デフォルトの名無しさん:2005/05/03(火) 13:33:40
>>673
やっとできました。ありがとうございます!
675デフォルトの名無しさん:2005/05/03(火) 14:04:06
必要ないダイアローグをプロジェクトから削除したら、が表示されなくなった。
「フォーム作成中にエラーが発生しました。継承元の'TOKBottomDlg'がみつかりません」とのこと。
必要なダイアローグ、表示するにはどうすればいいのでしょう?
676デフォルトの名無しさん:2005/05/03(火) 14:04:35
必要ないダイアローグをプロジェクトから削除したら、必要なダイアローグが表示されなくなった。
「フォーム作成中にエラーが発生しました。継承元の'TOKBottomDlg'がみつかりません」とのこと。
必要なダイアローグ、表示するにはどうすればいいのでしょう?
677デフォルトの名無しさん:2005/05/03(火) 14:44:16
メインフォーム上のPanelをalign=clientでフォームいっぱいまでのばしているソフトで、
例えばパネルの大きさを100*100にしたいときに、メインフォームの大きさはどのように
して計算すればよいのでしょうか?
678デフォルトの名無しさん:2005/05/03(火) 15:22:32
Screen->Width
GetDeviceCaps(Canvas->Handle, HORZRES);
679デフォルトの名無しさん:2005/05/03(火) 15:24:05
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Lines->Clear();

Memo1->Lines->Add(Format("物理画面の幅 = %d mm",
ARRAYOFCONST(((int)GetDeviceCaps(Canvas->Handle, HORZSIZE)))));
Memo1->Lines->Add(Format("物理画面の高さ = %d mm",
ARRAYOFCONST(((int)GetDeviceCaps(Canvas->Handle, VERTSIZE)))));
Memo1->Lines->Add(Format("ディスプレイの幅 = %d pixels",
ARRAYOFCONST(((int)GetDeviceCaps(Canvas->Handle, HORZRES)))));
Memo1->Lines->Add(Format("ディスプレイの高さ = %d pixels",
ARRAYOFCONST(((int)GetDeviceCaps(Canvas->Handle, VERTRES)))));
Memo1->Lines->Add(Format("各ピクセルのビットの数 = %d",
ARRAYOFCONST(((int)GetDeviceCaps(Canvas->Handle, BITSPIXEL)))));
}
680デフォルトの名無しさん:2005/05/03(火) 16:40:19
>>677
フォームのClientWidthとClientHeightを100にすれば勝手に必要な大きさになるけど、
そうじゃなくて、ClientWidthとかを設定しないで、計算で求めたいということ?
681デフォルトの名無しさん:2005/05/03(火) 19:20:30
ProgressBar1->Parent = StatusBar1;
ProgressBar1->Top = 2;
ProgressBar1->Left = 2;
682デフォルトの名無しさん:2005/05/04(水) 04:09:57
MediaPlayerではコーデックが入っていてもmp3は再生できないのでしょうか?
683デフォルトの名無しさん:2005/05/04(水) 11:35:26
>>682
TMediaPlayerならMCIのラッパだから再生できるはずだぞ。

try
{
MediaPlayer1->FileName = "C:\\Music\\music.mp3";
MediaPlayer1->Open();
MediaPlayer1->Play();
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
684デフォルトの名無しさん:2005/05/04(水) 15:17:13
FastNetもしくはIndyを使ってのメールのUIDLの取得方法を教えてください
685トラックバック ★:2005/05/04(水) 15:24:51
【トラックバック来たよ】 (ver. 0.11)
[タイトル] ↓
[発ブログ] ニー速@2ch掲示板
http://ex10.2ch.net/test/read.cgi/neet4vip/1115187035/l50
( ref= http://ex10.2ch.net/test/read.cgi/neet4vip/1115187035/l50 )

[=要約=]


686デフォルトの名無しさん:2005/05/04(水) 18:24:20
>>677
それやめたほうがいいんじゃね?
子の側のコントロールのサイズを固定にして、
親の側をサイズ自動にしたら?

あるいはそうやって表示した後で
こっそり切り替えるというのはどう?
思いつきだけど
687デフォルトの名無しさん:2005/05/04(水) 19:20:14
http://www.borland.co.jp/cppbuilder/papers/cb4guide/cb4guide08.html

[]
上下、左右の空きの比 率を一定に保つ
コンポーネントのサイズ は変わらない



[akLeft, akTop, akRight, akBottom]
上下、左右の間隔を一 定に保つように、
コンポーネントのサイズ を変更する
688デフォルトの名無しさん:2005/05/05(木) 04:21:43
二重起動を防止しつつ、既存の方に情報を渡すにはどうしたらよいのでしょうか?
具体的には、メディアプレーヤーのように開かれるべきファイル名を渡したいのですが。
689デフォルトの名無しさん:2005/05/05(木) 06:20:32
アプリケーションの二重起動防止
http://www.borland.co.jp/qanda/cbuilder/c0003242.html
アプリケーションを 2 つ以上同時に起動しないようにしたい場合は?
690デフォルトの名無しさん:2005/05/05(木) 07:04:33
>>689
それだと、2つめが起動しないだけで、既存の方に情報を渡せないんです。
691デフォルトの名無しさん:2005/05/05(木) 11:12:36
>>690
すでにアプリが起動してたら適当なプロセス間通信手段を使って既存アプリにデータを渡す。
前者はWM_COPYDATAとかあるし後者はメモリマップドファイルとかがある。
692デフォルトの名無しさん:2005/05/05(木) 11:13:45
と、まあWM_USERで通知して共有メモリに書き込んでおいて、既存側はメッセージ受けたら共有メモリ覗けばいいだけか
693デフォルトの名無しさん:2005/05/05(木) 20:40:18
同じアプリ間だからてこずってんだろ?
694デフォルトの名無しさん:2005/05/05(木) 22:31:20
同じとか同じじゃないとか関係ないと思うが?
695デフォルトの名無しさん:2005/05/06(金) 03:09:43
boostは使えますか?
696デフォルトの名無しさん:2005/05/06(金) 04:08:30
>>695
クラスによりけり。
http://www.meta-comm.com/engineering/boost-regression/cvs-head/developer/index.html
それぞれのborland- 5_6_4のとこを見る。
697デフォルトの名無しさん:2005/05/06(金) 07:07:39
このソフトは有料ですか
698デフォルトの名無しさん:2005/05/06(金) 16:53:34
メインスレッドでSleepをかけた時、そのプログラムから作られた他のスレッドも同じくsleep状態になりますか?
699デフォルトの名無しさん:2005/05/06(金) 17:41:51
>>698
他のスレッドにまで影響したら、Sleep() は使い物にならない。
700デフォルトの名無しさん:2005/05/07(土) 02:52:38
スレッドがまだ実行中か終了したかを判別するにはどうしたらよいのでしょうか?
701デフォルトの名無しさん:2005/05/07(土) 03:00:25
OnTerminateでフラグを立てるとか
702デフォルトの名無しさん:2005/05/07(土) 13:29:35
子スレッドが、親スレッドへ、子スレッドが終わったよと何かしらの
方法で伝えればよい
703デフォルトの名無しさん:2005/05/07(土) 21:04:19
グローバル変数でフラグ立ては微かに危険?
704デフォルトの名無しさん:2005/05/07(土) 21:50:03
どんなプロシージャもグローバル変数なしで
記述できる

グローバル変数はいわば手抜き
705デフォルトの名無しさん:2005/05/07(土) 22:34:02
>>703
スレッドが一つなら正解だよ
706デフォルトの名無しさん:2005/05/08(日) 10:29:27
TThread.Terminatedってプロパティ無い?
707デフォルトの名無しさん:2005/05/08(日) 12:32:23
>>706
そいつは終了したかどうかの判定には全く使えない
708デフォルトの名無しさん:2005/05/08(日) 16:30:28
CppWebBrowzerだっけ?スペル忘れたが・・・
これで表示してるWebページのURL
をRichEditに表示するにはどうすればいいの?
709デフォルトの名無しさん:2005/05/08(日) 16:35:06
>>708
RichEdit1->Lines->Add(CppWebBrowser1->LocationURL);
710デフォルトの名無しさん:2005/05/08(日) 17:14:30
>>709

サンクス
711デフォルトの名無しさん:2005/05/08(日) 17:23:27
失礼な奴w 自覚ないだろうけど
712デフォルトの名無しさん:2005/05/08(日) 17:46:26
無いだろうな、たぶん。
713デフォルトの名無しさん:2005/05/08(日) 19:33:54
>>700
親スレッドがメッセージキューを持ってるという前提だけど

子スレッドは終了時に、親スレッドのメッセージキューへWM_USER投げる
ってのはダメかい?
Paramには、スレッドのハンドルなり、インスタンスのアドレスを
キャストして渡すなりすりゃスレッドが複数あっても見分けがつく支那。
おっと最後にWaitForSingleObject()(TThread継承してるならTThread::WaitFor())
でスレッドの完全停止を待ってやってな。
714デフォルトの名無しさん:2005/05/09(月) 07:17:01
BCCはWinアプリやるならVC++より遥かに効率
いいですか?
.NETはアレだし、ソフト開発にあまりコスト
掛けられない現在、いまんとこBCCやDelphiでの
開発が無難としか思えないんだが。
715デフォルトの名無しさん:2005/05/09(月) 07:18:04
↑いけね。BCC => BCB の間違いです。
716a.b:2005/05/09(月) 07:22:35
void __fastcall TForm1::Memo1Click(TObject *Sender)
{
Memo1->Text="今日は晴天です";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
TTabSheet *TabSheet = new TTabSheet( this );
TabSheet->PageControl = PageControl1;
TabSheet->Parent=PageControl1;
PageControl1->ActivePage = TabSheet;
TMemo *Memo=new TMemo(Owner);
Memo->Parent=TabSheet;
Memo->OnEnter= Memo1Click;

}

Memo1内をクリックすると「今日は晴天です」って表示して、
bitbtnを押すと、Memoを増やせるようにしました。増やしたMemo
ではクリックしても「今日は晴天です」って表示されませんけど
どうしてか分かりますか?
717デフォルトの名無しさん:2005/05/09(月) 07:35:15
分かりますよ。
718a.b:2005/05/09(月) 07:46:15
>>717どうすればいいのですか?
719デフォルトの名無しさん:2005/05/09(月) 07:51:49
イベントハンドラを登録すればいいです
720a.b:2005/05/09(月) 08:07:44
Memo->OnEnter= Memo1Click;

のことですか?
721デフォルトの名無しさん:2005/05/09(月) 08:14:47
あ、ごめん。
ハンドラ内で文字列を設定しているのがMemo1だからでしょ。
これを、Sender(要キャスト)にすればOK。
722a.b:2005/05/09(月) 08:18:16
すいません、まだBuilderは知らないので・・・

ソース教えてくれませんか?
723デフォルトの名無しさん:2005/05/09(月) 08:22:53
こんな感じ。一行にまとめてもいいけどね。
void __fastcall TForm1::Memo1Click(TObject *Sender)
{
TMemo *memo = (TMemo *)Sender;
memo->Text="今日は晴天です";
}
724a.b:2005/05/09(月) 11:23:24
ありがとうございます。
725デフォルトの名無しさん:2005/05/09(月) 11:27:54
Cのキャストは止めとくよし

 if ( TMemo* memo = dynamic_cast<TMemo*>( Sender ) )
  memo->Text = "hoge";
726デフォルトの名無しさん:2005/05/09(月) 15:37:32
void __fastcall TForm1::ButtonClick(TObject *Sender)
{
Caption = dynamic_cast<TButton*>(Sender)->Caption;
}
727デフォルトの名無しさん:2005/05/09(月) 15:40:33
VCLは階層重ねて設計してあるから、ダウンキャストはしょっちゅうなのね。
728デフォルトの名無しさん:2005/05/09(月) 17:03:01
>>726
0が帰った時の対策しないのにdynamic_castしても意味ねーべ
729デフォルトの名無しさん:2005/05/09(月) 17:58:26
Perlのunix_md5_crypt()と同じことをするにはどうしたらよいでしょうか
Borland C++Builder 6です。
730デフォルトの名無しさん:2005/05/09(月) 18:17:18
>>729
以下の手順でOK

1.Perlのunix_md5_crypt()の処理内容を調べる
2.調べた処理内容を実装する
731デフォルトの名無しさん:2005/05/09(月) 18:29:12
>>730
そう言われる予感はしてた(´Д⊂
732デフォルトの名無しさん:2005/05/09(月) 19:54:07
次のバージョンは64bitに対応していますか?
733デフォルトの名無しさん:2005/05/09(月) 23:07:57
>>731
MD5ならどっか転がってるだろ
探してみ
734デフォルトの名無しさん:2005/05/09(月) 23:26:10
2chの酉を決めるために呼んでいるcrypt()の話は面白い。
http://user64.psychedance.com/2004/11/spec_2ch_trip.html
735デフォルトの名無しさん:2005/05/10(火) 00:04:20
>>729
RFC1321
736デフォルトの名無しさん:2005/05/10(火) 01:17:58
>>729
CryptAcquireContext()
CryptHashData()
CryptGetHashParam()
CryptDestroyHash()
CryptReleaseContext()
737デフォルトの名無しさん:2005/05/10(火) 01:23:15
C++の例外をデバッガにとられないようにするにはどのオプションを変更すればよいのでしょうか?
738デフォルトの名無しさん:2005/05/10(火) 01:32:47
>>737
ツール->デバッガオプション->言語固有の例外タブ->C++言語の例外で停止OFF
739729:2005/05/10(火) 03:04:28
泣きそうになりながらPerlのソース解析してて、
やっぱもっと楽な方法が無いものかと、脳内perl実行
$q =  'unix_md5_crypt';
$q =~ s/unix_//;

ttp://www.google.co.jp/search?lr=lang_ja&q=md5_crypt
ググったらサンプル見つかった、WINで動作確認もしてみた
ご飯食べて寝よう・・おやすみっ(´Д⊂

ttp://ruffnex.oc.to/kenji/xrea/md5crypt.txt
ttp://ruffnex.oc.to/kenji/src/md5.h
ttp://ruffnex.oc.to/kenji/src/md5_crypt.c

>>733-737
レスありがd
740デフォルトの名無しさん:2005/05/10(火) 13:20:02
>>739
>>737は違うと思うぞ。
741デフォルトの名無しさん:2005/05/10(火) 14:59:26
BCB6でフォルダ選択ダイアログを使う方法を
教えてください。

BROWSEINFO bi;//未定義のシンボルと出ます

#include <shlobj.h>//コンパイルエラーが出ます
#define NO_WIN32_LEAN_AND_MEAN//試してみたけど上に同じ
742デフォルトの名無しさん:2005/05/10(火) 15:59:19
フォームの移動を禁止する方法を教えてください
743デフォルトの名無しさん:2005/05/10(火) 16:01:58
C++Buiderのよい入門書を教えてください。
744デフォルトの名無しさん:2005/05/10(火) 16:05:49
>>741
NO_WIN32_LEAN_AND_MEANはプロジェクトオプション→ディレクトリ/条件タブ→条件→条件定義のとこに追加する。
vcl.hの前で#defineしてもいいけど、プリコンパイルヘッダの再作成が起きないように、
全部のソースで同じように#defineしなきゃいけないのでめんどい。
745デフォルトの名無しさん:2005/05/10(火) 16:13:25
>>742
WM_WINDOWPOSCHANGINGでWINDOWPOS構造体のxとyに
LeftとTopを入れる。
746デフォルトの名無しさん:2005/05/10(火) 16:21:38
>>745
ソース
747デフォルトの名無しさん:2005/05/10(火) 16:22:08
なんだてめぇは…
748デフォルトの名無しさん:2005/05/10(火) 16:23:56
てめぇこそなんだこら
749デフォルトの名無しさん:2005/05/10(火) 16:25:42
はいはい。優しい誰かが書いてくれるかもね、と。
750デフォルトの名無しさん:2005/05/10(火) 16:28:05
情けないなお前って
751デフォルトの名無しさん:2005/05/10(火) 16:33:35
馬鹿だな…ウソでも丁寧に聞きゃいいのに。損するのは自分だ。
752デフォルトの名無しさん:2005/05/10(火) 16:35:59
だから>>747とか調子に乗るんだ
753デフォルトの名無しさん:2005/05/10(火) 18:41:14
WinXPでのsndPlaySound不具合
754デフォルトの名無しさん:2005/05/10(火) 21:06:52
名無しのageはかまってちゃんの荒らしだって
何回釣られたら憶えるんですかみなさん
755デフォルトの名無しさん:2005/05/10(火) 21:13:18
なんだとぉ
756デフォルトの名無しさん:2005/05/10(火) 21:18:07
コテハンならいいのかよ
757デフォルトの名無しさん:2005/05/10(火) 22:42:37
//画像のアルファブレンド
extern bool AlphaPicture(Graphics::TBitmap *DestBMP, int XDest, int YDest, Graphics::TBitmap *SrcBMP , RECT Rect, BYTE Alpha)
{
DestBMP->PixelFormat=pf24bit;
SrcBMP->PixelFormat=pf24bit;

//転送先
int w=DestBMP->Width;
int h=DestBMP->Height;

//転送元
int Width = Rect.right - Rect.left;
int Height= Rect.bottom - Rect.top;
int YSrc = Rect.top;
int XSrc;

Byte *ptr,*ptr2;
758デフォルトの名無しさん:2005/05/10(火) 22:45:13

Alpha=256-Alpha;

for(int y2 = YDest ; y2 < Height+YDest ; y2++)
{
if(y2 >= h)break;

if(y2>=0)
{
ptr = (Byte *)DestBMP->ScanLine[y2];
ptr2= (Byte *)SrcBMP->ScanLine[YSrc];
XSrc=Rect.left;
for(int x2 = XDest ; x2 < Width+XDest ; x2++)
{
int i=x2*3;
if(x2 >= w)break;

if(x2>=0){
ptr[i] = (ptr2[XSrc] +((ptr[i] -ptr2[XSrc]) *Alpha>>8));
ptr[i+1] = (ptr2[XSrc+1]+((ptr[i+1]-ptr2[XSrc+1])*Alpha>>8));
ptr[i+2] = (ptr2[XSrc+2]+((ptr[i+2]-ptr2[XSrc+2])*Alpha>>8));
}

XSrc+=3;
}
}
YSrc++;
}

return true;
}
759デフォルトの名無しさん:2005/05/10(火) 22:47:22
760デフォルトの名無しさん:2005/05/10(火) 23:19:18
>>743
ttp://www.borland.co.jp/bookinfo/cppbuild.html
とりあえず、このへんの新しいヤツがいいと思いますよ。
761デフォルトの名無しさん:2005/05/10(火) 23:22:27
>>743
>>760
おまえら、テンプレちゃんと見れ >>7
762デフォルトの名無しさん:2005/05/11(水) 11:22:05
>>761
馬鹿みたいに高いのは何とかならんかねえ
763デフォルトの名無しさん:2005/05/11(水) 11:30:56
ん?>>761が馬鹿ってこと?
764デフォルトの名無しさん:2005/05/11(水) 12:25:45
>>746
お好みでどうぞ。
ttp://www.bulldog.co.jp/ ブルドックソース株式会社 東京都
ttp://www.kagome.co.jp/ カゴメ株式会社 愛知県
ttp://www.otafuku.co.jp/ オタフクソース株式会社 広島県
ttp://www.ikari-s.co.jp/ イカリソース株式会社 大阪府
ttp://www.kikkoman.co.jp/ キッコーマン株式会社 千葉県
ttp://www.oliversauce.com/オリバーソース株式会社 兵庫県
ttp://www.sky-net.or.jp/toshi/ カープソース 広島県
ttp://www.maruki-su.com/ 株式会社 川上酢店 愛知県
ttp://www.kozima.co.jp/ 小島食品製造株式会社 愛知県
ttp://www.komi.co.jp/ コーミ株式会社 愛知県
ttp://www.sankyohikari.co.jp/ サンキョーヒカリ 愛知県
ttp://www.junmaru.co.jp/ 株式会社 純正食品マルシマ 広島県
ttp://www.papaya-sauce.co.jp/ パパヤソース本舗 大洋産業株式会社 京都府
ttp://www.takahashisauce.com/ 高橋ソース株式会社 埼玉県
ttp://www.choko.co.jp/ チョーコー醤油株式会社 長崎県
ttp://www.timelyhit.ne.jp/ajiyoko/shop/sauce/sauce1.htm 阪神ソース株式会社 兵庫県
ttp://www.kyoto-thinking.co.jp/hirota/ 京風味ソース本舗 蛇ノ目食品廣田徳七商店 京都
ttp://www.optic.or.jp/com/fujiisauce/fujiisauce.html 有限会社 藤井ソース工場 岡山県
ttp://www2.neweb.ne.jp/wd/hikari/ ヒカリ食品 徳島県
ttp://www.hat.hi-ho.ne.jp/aokia/ 下北沢ビレッジソース 丸寿食品工業株式会社 東京都
ttp://www.yamayashokuhin.co.jp/ 山屋食品株式会社 東京都
ttp://www4.osk.3web.ne.jp/~brother1/ ブラザーソース森彌食品工業株式会社
ttp://www.asahi.co.jp/you/t20011026.html 神戸地ソース物語
【関連団体】
ttp://www.maff.go.jp/koueki/sougou/35/35.htm(社)日本ソース工業会
ttp://www.japan-tomato.or.jp/ 社団法人 全国トマト工業会
ttp://www.soysauce.or.jp/ 日本醤油協会
765デフォルトの名無しさん:2005/05/11(水) 13:03:04
>>763
「高い」はどこ行ったんだよおい
766デフォルトの名無しさん:2005/05/11(水) 13:55:06
>>765
>>754
767デフォルトの名無しさん:2005/05/11(水) 17:21:05
ホイールのチルトに反応するにはどのようなコードを書けばよいのでしょうか?
768デフォルトの名無しさん:2005/05/11(水) 19:08:35
半角文字しか入力出来ないようにしたいのですが。
クリップボードからの貼り付けも出来ないようにしたいです。
http://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200403_04030067.html
769デフォルトの名無しさん:2005/05/11(水) 19:29:40
>>768
procedure TForm1.Edit1Click(Sender: TObject);
begin
Zenkaku_Iyaan;
end;
770デフォルトの名無しさん:2005/05/11(水) 19:39:19
>769
C++で書いてください。

771デフォルトの名無しさん:2005/05/11(水) 20:00:09
#include <stdio.h>

#include <ctype.h>

int main(void)
{
char c = 'C';

if (isalnum(c))
printf("%c は英数字です\n",c);
else
printf("%c は英数字ではありません\n",c);

return 0;
}
772デフォルトの名無しさん:2005/05/11(水) 20:30:40
void __fastcall TForm1::Button1Click(TObject *Sender)
{

char c = 'C';

if (isalnum(c))
{
Caption = "英数字です";
}
else
{
Caption = "英数字ではありません";
}

}
773デフォルトの名無しさん:2005/05/11(水) 20:36:30
void __fastcall TForm1::Button1Click(TObject *Sender)
{

//char c = 'C';
char cc[25] = "abc";
if (isalnum(cc[1]))
{
Caption = "英数字です";
}
else
{
Caption = "英数字ではありません";
}

}
774デフォルトの名無しさん:2005/05/11(水) 21:05:33
#include <stdio.h>
#include <ctype.h>

int main( void )
{
char str[] = "Hello C/C++ World, 1st ?";
char *p;

/* アルファベットか数値を括弧[]で囲みます */
for ( p = str; *p != '\0'; p++ ) {
if (isalnum(*p)) {
printf("[%c]", *p );
} else {
putchar( *p );
}
}
putchar('\n');
return 1;
}
775デフォルトの名無しさん:2005/05/11(水) 21:37:27
以下の例では,フォーム上のボタンを使用します。ボタンをクリックすると,テキストの 1 行が 6 つの異なるページに印刷されます。各ページが印刷されるたびに,印刷されているページを示すメッセージがステータスバーに表示されます。
この例を正しく実行するには,ユニットに #include <Printers.h> を追加して,ステータスバーの SimplePanel プロパティを true に設定しなければなりません。

void __fastcall TForm1::Button1Click(TObject Sender*)

{
Printer()->BeginDoc();
for (int i = 1;i < 7;i++)
{
Printer()->Canvas->TextOut(100, 100, "C++Builder rules!");
StatusBar1->SimpleText = AnsiString("Printing page ") + Printer()->PageNumber);
Printer()->NewPage();
}
Printer()->EndDoc();
}
776デフォルトの名無しさん:2005/05/11(水) 21:44:59

















:
777デフォルトの名無しさん:2005/05/11(水) 21:47:19

























;
778デフォルトの名無しさん:2005/05/11(水) 23:31:32























/
779デフォルトの名無しさん:2005/05/11(水) 23:49:55










]
780デフォルトの名無しさん:2005/05/12(木) 00:37:49












,
781デフォルトの名無しさん:2005/05/12(木) 01:19:32
Controling sound volume from code
http://delphi.about.com/cs/adptips2000/a/bltip0800_4.htm
Here's an example of controling the sound volume from Delphi:
uses MMSystem;

type
TVolumeRec = record
case Integer of
0: (LongVolume: Longint) ;
1: (LeftVolume, RightVolume : Word) ;
end;

const DeviceIndex=5
{0:Wave
1:MIDI
2:CDAudio
3:Line-In
4:Microphone
5:Master
6:PC-loudspeaker}

procedure SetVolume(aVolume:Byte) ;
var Vol: TVolumeRec;
begin
Vol.LeftVolume := aVolume shl 8;
Vol.RightVolume:= Vol.LeftVolume;
auxSetVolume(UINT(DeviceIndex), Vol.LongVolume) ;
end;


782デフォルトの名無しさん:2005/05/12(木) 01:24:44
function GetVolume:Cardinal;
var Vol: TVolumeRec;
begin
AuxGetVolume(UINT(DeviceIndex),@Vol.LongVolume) ;
Result:=(Vol.LeftVolume + Vol.RightVolume) shr 9;
end;
783デフォルトの名無しさん:2005/05/12(木) 01:52:38
終わってんなこのスレ
784デフォルトの名無しさん:2005/05/12(木) 01:55:56
5ボタンマウスの前後ボタンに反応するにはどうしたらよいのでしょうか?
785デフォルトの名無しさん:2005/05/12(木) 02:02:59
WM_XBUTTONDOWNとかが怪しい希ガス
786デフォルトの名無しさん:2005/05/12(木) 02:08:48
Getting Hard Disk Information

void __fastcall TForm1::Button1Click(TObject *Sender)
{
char Buffer[255];
unsigned long SerialNum;
unsigned long a, b;

if (GetVolumeInformation("c:\\",Buffer,sizeof(Buffer),&SerialNum,&a,&b,NULL,0)){
Edit1->Text = IntToStr(SerialNum);
Edit2->Text = Buffer;
}
}
787デフォルトの名無しさん:2005/05/12(木) 02:09:58
Opening and closing CD-ROM

#include <mmsystem.h>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
mciSendString("Set cdaudio door open wait", NULL, 0, Handle);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
mciSendString("Set cdaudio door closed wait", NULL, 0, Handle);
}
788デフォルトの名無しさん:2005/05/12(木) 02:18:32
>>785
実装例はどこかにありませんか?
789デフォルトの名無しさん:2005/05/12(木) 02:33:58
ググってそれらしいキーワード見つけただけだからなぁ。
フォームのヘッダに↓書いて反応があれば正解だろうけど。俺は5ボタンマウス持ってないから試せない。

protected:
    void __fastcall WndProc(TMessage& m)
    {
        if (m.Msg == WM_XBUTTONDOWN) {
            if (m.WParamHi == XBUTTON1) Caption = "XBUTTON1";
            if (m.WParamHi == XBUTTON2) Caption = "XBUTTON2";
        }

        TForm::WndProc(m);
    }
790デフォルトの名無しさん:2005/05/12(木) 02:39:40
上のダブルクリックに反応するコードだった。
押されたのを調べるのはこっちか
if (m.WParamLo & MK_XBUTTON1) Caption = "XBUTTON1";
791デフォルトの名無しさん:2005/05/12(木) 02:44:45
Classic Tetris 1.0 (Not rated) Rate this file
http://www.programmersheaven.com/zone3/cat873/37445.htm
792デフォルトの名無しさん:2005/05/12(木) 03:20:35
そろそろゴミの削除依頼しちゃう?
793784:2005/05/12(木) 03:41:14
ありがとうございます。後は何とか自力でやってみます
794デフォルトの名無しさん:2005/05/12(木) 06:31:28
ttp://www.kanazawa-net.ne.jp/~pmansato/BCB_Main.htm
俺、BCB買ったけど、殆ど触ってないんでわかんないけど、
ここに置いてるヘルプとかサンプルプログラムってどう?

ヘルプは4800円らしいけど、1ヶ月は使用できるってさ。

俺は他でもうちょっと知識つけてから確認する予定
795デフォルトの名無しさん:2005/05/12(木) 10:14:33
>>794
こんなのもあるぞ
ttp://www.yukibow.com/
796デフォルトの名無しさん:2005/05/12(木) 11:49:37
>>794-794
どっちも無料で閲覧できるor閲覧できた時代のページしか見てないが、

>>794のほうは比較的まともな内容。
>>795は過去スレで散々馬鹿にされていた程度の内容。

>>794の人はもともとDelphi使いらしくVCLの使い方は心得ている(この点は当てになる)が
C++の知識は多少怪しいところがある。
>>795の人はVCLもC++も分かってない。

んなとこ。

ま、 初心者なら5千円@月払うより素直に「コンポーネント活用ガイド」買っといたほうが
利口だと思う。
797デフォルトの名無しさん:2005/05/12(木) 11:55:17
>>794
>今、話題の C# の開発者は Delphi を開発した人です。 Microsoft に
>ヘッドハンティングされ、現在は Microsoft に勤めています。その後も
> Microsoft による引抜きが頻発したため、訴訟騒ぎになったほどです。
>ライバル企業との競争は理解できますが、キタナイ手を使うところは
>いかにも Microsoft らしいですね。商売のやり方もそうですが!

こういう馬鹿なことを書くのはどうかと思うがねえ
798デフォルトの名無しさん:2005/05/12(木) 12:15:54
>>794
おれ、そのサイトにあるサンプルプログラムの機能全部書ける。
あんなので金取って人間として恥ずかしくないのかね。
794が本気でC++Builderを勉強する気があるなら答えてやってもよいぞ
799デフォルトの名無しさん:2005/05/12(木) 13:41:33
タスクトレイのアイコンの画像を条件によってかえたいのですが、
どうやればできるでしょうか?
規定値は「オプション」−「プロジェクト」−「アプリケーション」の設定で設定しました。
800デフォルトの名無しさん:2005/05/12(木) 13:50:11
>>799
Application->Icon
801デフォルトの名無しさん:2005/05/12(木) 14:27:35
http://thunder.prohosting.com/~cbdn/anon.htm

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->Icon->LoadFromFile("c:\\"
"program files\\common files\\borland shared\\"
"images\\icons\\finance.ico");
}

802デフォルトの名無しさん:2005/05/12(木) 14:29:28
Example


// Edit your header file and insert:
// private: // User declarations
// void __fastcall Minimized(TObject *Sender);

// Each time the application is minimized
// it will be automatically restored

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Application->OnMinimize = Minimized;
}

void __fastcall TForm1::Minimized(TObject *Sender)
{
Application->Restore();
}


See Also

Minimize
OnMinimize
803デフォルトの名無しさん:2005/05/12(木) 14:58:40
>>800
>>801
>>802

できました!
ありがとうございました。
804デフォルトの名無しさん:2005/05/12(木) 16:47:11
フォームを半透明にするってできますか?
805デフォルトの名無しさん:2005/05/12(木) 16:53:09
できる
806デフォルトの名無しさん:2005/05/12(木) 17:07:12
APIを使え。
807デフォルトの名無しさん:2005/05/12(木) 17:26:13
>>804
フォームのAlphaBlendをtrueにしてAlphaBlendValueをいじるだけ。Win2K以降用だけど。
808デフォルトの名無しさん:2005/05/12(木) 18:18:28
>>807
そんなプロパティーあったっけ?BCB5
809デフォルトの名無しさん:2005/05/12(木) 18:31:42
無いなら無いんだろう。6はある。
810デフォルトの名無しさん:2005/05/12(木) 18:34:11
811デフォルトの名無しさん:2005/05/12(木) 18:44:26
>>809
ザコが
812デフォルトの名無しさん:2005/05/12(木) 18:46:31
またか。どんだけリアルでみじめか知らんけど、こんなとこで憂さ晴らししてんなよ
813デフォルトの名無しさん:2005/05/12(木) 19:38:24
>>812
いや、朝鮮人やBの人間にいくら文句を言っても無駄ですよ。
814デフォルトの名無しさん:2005/05/12(木) 19:43:45
C++Builder Tips



マウスボタンの判定


Shift.Containsってなんか忘れません?

//-------------------------------------------------------------------- -------

void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
ListBox1->Items->Clear();

//Shiftキーが押されている
if (Shift.Contains(ssShift)){
ListBox1->Items->Add("ssShift");
}
//Ctrlキーが押されている
if (Shift.Contains(ssCtrl)){
ListBox1->Items->Add("ssCtrl");
}
//Altキーが押されている
if (Shift.Contains(ssAlt)){
ListBox1->Items->Add("ssAlt");
} 
815デフォルトの名無しさん:2005/05/12(木) 21:00:49
 
816デフォルトの名無しさん:2005/05/12(木) 21:07:48
今日、パーソナル版を買ったんですけど
本が売ってない・・・・(T▽T)
お勉強サイトを教えてください。
817デフォルトの名無しさん:2005/05/12(木) 21:10:20
>>814
http://www.borland.co.jp/tips/cbuilder/index.html

C++Builder プログラミング情報 - Delphi との比較 -
3.集合型と Set テンプレートクラス

C++BuilderでのVCLのサポート

C++のテンプレートとオペレーターオーバーロードの知識が
要るみたいですね。ようやく理解した(つもり)。

言語ガイドの、operatorとオーバーロード演算子(10ページ程)
VCLリファレンス Set
818デフォルトの名無しさん:2005/05/12(木) 21:53:25
Opening and closing CD-ROM

#include <mmsystem.h>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
mciSendString("Set cdaudio door open wait", NULL, 0, Handle);
}
//------------------------------------------------------------------------ ---
void __fastcall TForm1::Button2Click(TObject *Sender)
{
mciSendString("Set cdaudio door closed wait", NULL, 0, Handle);
}
819デフォルトの名無しさん:2005/05/12(木) 21:58:03
ゲームを創ろう・入門編
http://hp.vector.co.jp/authors/VA011006/maga/g1.html
820デフォルトの名無しさん:2005/05/12(木) 22:25:04
買ってきた本の付録のCD
サンプルを実行したら

[C++ Fatal Error]sample.cpp(31): F1013 Error writing output file

とエラーがでた。

誰か教えてください、意味がわからない・・・・OTZ
821デフォルトの名無しさん:2005/05/12(木) 22:36:46
>>816
とりあえず使える言語と何をしたいかぐらいは書いといた
方がよいかも。

1.ゲーム(どんなゲームかも書いたほうが良い)作りたい。
2.アプリ作りたい。
3.時間かかっていいから言語から学習したい。
とか。

まあなんにしてもデバッグの操作覚えるのと
エディタの設定を。

>>820
とりあえず、そのエラーを選択してF1キーでヘルプ。
意味はわかる。
822デフォルトの名無しさん:2005/05/12(木) 22:53:20
>>820
そのcppファイルをまずハードディスクにコピーしてから
コピーしたほうのファイルを実行すべきなんじゃないの?

.cppのあるディレクトリにOBJファイルやEXEファイルを
作るのがデフォルトだから、CD-ROMドライブにそれらを
作成しようとしてエラーが出てる気がする。
823816:2005/05/12(木) 23:44:22
>>819
ありがとうございます。m(_ _)m
824デフォルトの名無しさん:2005/05/13(金) 00:58:53
http://www.woodensoldier.info/computer/BCBTips.htm#39
WAVファイルを再生するには

WAVファイルを再生するには、sndPlaySound()関数を使用します。
オプションは組み合わせて使う事ができます
SND_LOOP(繰り返し再生)
SND_SYNC(同期モード、演奏が終わるまでフリーズ)
SND_ASYNC(非同期モード)
SND_NODEFAULT(ファイルが見つからない場合、警告を鳴らす)
SND_NOSTOP( すでに再生中の場合何もしない)

#include <MMSystem.h>

sndPlaySound("tada.wav",SND_ASYNC);
825デフォルトの名無しさん:2005/05/13(金) 01:03:11
http://www.woodensoldier.info/computer/BCBTips.htm#1
Formへの画像の描画を行う

Formへの画像の描画はDraw関数を使います。2つの方法があります。
直接貼り付ける2の方法のほうが高速です。

Form->Image->Canvas->Draw(20,20,BMP); //方法1

Form->Canvas->Draw(20,20,BMP); //方法2
826デフォルトの名無しさん:2005/05/13(金) 01:07:47
キーイベントを扱う
http://www.woodensoldier.info/computer/BCBTips.htm#31
キーイベントを扱うにはKeyDown()関数を使います。
以下のソースはEdit1を貼り付けKeyDown()を設定したものです。
なお、メインフォームでキーの入力を先に取りたい場合はKeyPreviewをtrueに設定します。

void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key == VK_RETURN) Edit1->Text = "Return";
if(Key == 27) Edit1->Text = "ESC";
if(Key == VK__UP) Edit1->Text = "UP";
}
827デフォルトの名無しさん:2005/05/13(金) 01:56:04
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key == VK_RETURN) Caption = "Return";
}
828デフォルトの名無しさん:2005/05/13(金) 01:57:20
829デフォルトの名無しさん:2005/05/13(金) 01:58:47
830デフォルトの名無しさん:2005/05/13(金) 03:57:57
                    
831デフォルトの名無しさん:2005/05/13(金) 06:11:05
C++Builderの新版は出るのでしょうか?
C++BulderXが出ているのですが、これはちょっと違う方向性のようだし・・
832デフォルトの名無しさん:2005/05/13(金) 07:05:35
Borland C++Builder開発者の皆さまへ
http://www.borland.co.jp/about/message/openletter_cb.html

ボーランドならびに弊社C++Builder製品群に対し、
長期間にわたるご支 援を賜りまして誠にありがとうございます。

弊社では、今後もVCLベースのC++開発をさらに推し進めて参ります。
次期バージョンのC++Builderは、Delphi 製品に統 合されるように致します。
これにより、皆様は一つの統合環境で、
最新 のDelphi VCLテクノロジーと、
皆様からリクエストとして寄せられた多くの
C++機能をご利用いただけるようになります。
以上は、Delphiの次期メ ジャーリリースまでに実現させる計画です。次期バージョンの詳細やリリ ース時期については、
決定次第お知らせいたします。

2004年12月
833デフォルトの名無しさん:2005/05/13(金) 10:59:00
統合に関しちゃ↑以降なんのアナウンスもないのかな?

デルファイて何?なBCB(だけしか知らない)ユーザにとっては
使い勝手が悪化したり、余計な知識が求められたりするんだ
ろうか。
834デフォルトの名無しさん:2005/05/13(金) 13:37:03
>>833
D2005は重いし従来のIDEとは動きが違ったりするので、そういう意味では「使い勝手悪化」
・「余計な知識要」だけど、Delphiシラネという意味ではあまり変わらないと思われ。
835デフォルトの名無しさん:2005/05/13(金) 15:23:20
フォームに紐付いてるユニット名の変更は、
どこで指定したらいいでしょうか?
作り直ししか無理ですか?
836デフォルトの名無しさん:2005/05/13(金) 16:12:43
ビルダーで作ったWebブラウザで、ボタンを押すと
クッキーを全て遮断する、
ことができる機能を追加したいのですが教えてくださいませんか。
837デフォルトの名無しさん:2005/05/13(金) 17:22:34
http://www.borland.co.jp/support/bronze_silver.html
Bronze Support
\31,500(税抜 \30,000)
(1インシデント、お申し込 み受付から最長30日間有 効)
838デフォルトの名無しさん:2005/05/13(金) 17:29:51
Bronze Support
\31,500(税抜 \30,000)
(1インシデント、お申し込 み受付から最長30日間有 効)
http://www.borland.co.jp/support/bronze_silver.html

オンデマンド
(1 インシデント)
25,900 円
(27,195 円)
http://www.microsoft.com/japan/msdn/subscriptions/resources/additionalincident.aspx
http://www.microsoft.com/japan/msdn/subscriptions/resources/support.aspx
839デフォルトの名無しさん:2005/05/13(金) 18:06:49
1.BORLAND社のC++ BUILDERあるいはDELPHI PERSONAL版に第一に付き合う。
2.次に、Microsoft Windows MSDN DeLuxe 優待版を申し込む。
この製品は、プログラムの学習・テスト走行・デバッグなど、アマチュア・ハッカ-の 必需OSです、
しばらくの間は、OS自体に対するハッキング・解析・研究、 操作性の実験、不満点 の列挙などをやってみましょう。
どんな暇つぶしパズルより面白い頭の体操が出来ます。

ゆめゆめ受動的学習本に振り回されて、C言語の解説書などに振り回されないよう に。
ソ-スコ-ドを多読・精読する事こそプログラマへの最短コ-ス
人間の使う自然言語の学習と全く同じ事:
どうして多く聞き、多く読まないで外国語に上達出来ますか。

http://www.microsoft.com/japan/msdn/subscriptions/windows/
840デフォルトの名無しさん:2005/05/13(金) 18:33:41
>>839
どうして日本語に上達しませんですか。
841デフォルトの名無しさん:2005/05/13(金) 19:23:45
 
842デフォルトの名無しさん:2005/05/13(金) 19:58:40
 
843デフォルトの名無しさん:2005/05/13(金) 19:59:27
>>833
> 統合に関しちゃ↑以降なんのアナウンスもないのかな?
Delphi 2006に向けて開発中という事では。

BDNtv: Work in progress on C++ database development support in the Delphi 2005
http://bdn.borland.com/article/0,1410,32990,00.html
844デフォルトの名無しさん:2005/05/13(金) 21:15:39
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString S = " 123.5";
int p;
// 空白を 0 に変換する
while ((p = S.Pos(' ')) > 0 )
S[p] = '0';
Canvas->TextOut(10, 10, S);
}
845デフォルトの名無しさん:2005/05/13(金) 21:38:51
>835
名前を付けて保存
846デフォルトの名無しさん:2005/05/13(金) 22:40:44
 
847デフォルトの名無しさん:2005/05/13(金) 23:44:46
 
848デフォルトの名無しさん:2005/05/14(土) 02:03:15
すみません。初歩的なことなのですが、Paradoxにbmp画像データ
入力したいのですが、画像データ以外は
ParamByName(”項目”)->As... でできるのですが、
ParamByName(”項目”)->AsBlob = Image->Picture;
とやると、AnsiString形に変換できないと怒られてしまいます。
お手数ですが、どなたかよい方法をアドバイスしてください。
849デフォルトの名無しさん:2005/05/14(土) 02:21:12
>>848
SetBlobDataを使う
850デフォルトの名無しさん:2005/05/14(土) 02:26:46
>849
さんありがとうございます。
やってみます。
851デフォルトの名無しさん:2005/05/14(土) 03:21:15
ある実行ファイルのアイコンを取得する方法を教えてください
852デフォルトの名無しさん:2005/05/14(土) 03:26:06
Bronze Support
\31,500(税抜 \30,000)
(1インシデント、お申し込 み受付から最長30日間有 効)
http://www.borland.co.jp/support/bronze_silver.html
853デフォルトの名無しさん:2005/05/14(土) 10:02:22
ビルダーで作ったWebブラウザで、ボタンを押すと
クッキーを全て遮断する、
ことができる機能を追加したいのですが教えてくださいませんか。
854デフォルトの名無しさん:2005/05/14(土) 11:44:23
855デフォルトの名無しさん:2005/05/14(土) 15:30:38
856デフォルトの名無しさん:2005/05/15(日) 01:06:18
初めてDLL使おうと思い、#include <zlib.h> としたのですが、
zconf.h(264): E2015 'Byte' と 'System::Byte' の区別が曖昧
と出て駄目でした。
zlibを簡単に扱うコンポーネントか何かありませんか?
857デフォルトの名無しさん:2005/05/15(日) 01:29:58
俺そこの少し上の
typedef unsigned char Byte; /* 8 bits */
をコメントアウトして使ってる
858デフォルトの名無しさん:2005/05/15(日) 03:17:06
Byte じゃなく、BYTE にしちゃうという手も。
859デフォルトの名無しさん:2005/05/15(日) 06:53:10
たとえば、3時に何かを実行したいという場合、Timerで毎秒ごとに3時かどうかをチェックするしかないのでしょうか?
3時ちょうどにWindowsからイベントを発生させることは出来ないのでしょうか?
860デフォルトの名無しさん:2005/05/15(日) 07:19:55
>>859
こんとろーるぱねる たすくすけじゅーる追加
861デフォルトの名無しさん:2005/05/15(日) 07:23:04
>856
こんな感じのを書いたヘッダを作って、そっちをincludeして使ってる
namespace zlib {
#define ZEXPORT __cdecl
#pragma option push -pc
#include "zlib.h"
#pragma comment(lib, "zdllbor.lib")
#pragma option pop
}
using zlib::z_stream;

>859
今の時刻から、3時までの時間差が分かるから
タイマーの間隔を設定すればいいんじゃないのか。
ちょうどに出来るかは知らんけど。
862デフォルトの名無しさん:2005/05/15(日) 10:35:27
>>859
スレッド作ってスレッド内で判定する、
と言う方法もある。
863デフォルトの名無しさん:2005/05/15(日) 10:56:45
最近、パーソナル版を買ったんですけど
このタイマーってVB6と一緒で信用できないんですか?
864デフォルトの名無しさん:2005/05/15(日) 11:29:00
>>863
できます。
865デフォルトの名無しさん:2005/05/15(日) 18:55:24
>>857,858,861
ありがとうございます。
コンパイルは出来るようになりました。
ただ、zlib.libをプロジェクトに追加すると、
[リンカ エラー] 'C:\ZLIB.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
が出てしまうのですが、どうすればいいのでしょうか?
866デフォルトの名無しさん:2005/05/15(日) 20:08:41
>>865
これzlib使ってたと思う
ソース見てみたら?
ttp://asees.dw.land.to/mgx_rename/
867デフォルトの名無しさん:2005/05/15(日) 20:30:49
>>865
zlib.libを自分でビルドするかdll使う。
868デフォルトの名無しさん:2005/05/15(日) 20:30:50
>>865
どこかからダウンロードしてきたLIBならおそらくVisualC++用なので
coff2omf.exeでBCBで使える形式に変換するか
implib.exeでDLLからインポートライブラリを作る
869デフォルトの名無しさん:2005/05/15(日) 21:04:49
>>866さんのリンク先のソースのzdllbor.libを使ったら無事にできたみたいです(つД`)

>>867,868
なるほど、ありがとうございます。
メモしておきます(つД`)
自分でVisualC++でビルドしたのをBorlandで使ってましたorz

皆さんどうもありがとうざございました。
870861:2005/05/15(日) 21:35:39
俺の#pragmaは全然見てくれてなかったわけね
871デフォルトの名無しさん:2005/05/15(日) 21:40:20
>>859
っSetWaitableTimer()

872デフォルトの名無しさん:2005/05/15(日) 22:15:07
>>870
俺が見てるから安心しろ
873デフォルトの名無しさん:2005/05/16(月) 03:08:06
 
874デフォルトの名無しさん:2005/05/16(月) 12:09:29
HTMLヘルプとC++Builderのフォームの連携方法を教えてくれろ
875デフォルトの名無しさん:2005/05/16(月) 17:33:28
UDP送受信で質問です。
標準コンポーネントのNMUDPを使用して送受信するように作成しておりますが、
大量のデータを送信(受信)しようとすると電文が化けます。(約7000byte)
ググった結果、NMUDPのバッファサイズが2049となっているため送信出来なかったようです。
ttp://www.borland.co.jp/qanda/cbuilder/c0009401.html

ただ、この宣言を10000とかにすると、送信側は正常に送っているようなのですが、受信側では
やはり受け取れないようです。
どなたか対処法をご存知でしょうか?

BCB6Pro#4
PC2台でクロスケーブルにて接続
正常・異常はアナライザにて見ているため思い違いではなさげ
876デフォルトの名無しさん:2005/05/16(月) 20:23:06
Application->HelpFile = ExtractFilePath(Application->ExeName) + "TextEditor.hlp";
877デフォルトの名無しさん:2005/05/16(月) 21:12:00
>>875
BuilderについてくるNMなんとか・・っていうコンポーネントはやめといたほうがいい
NMHTTPも挙動が変な時あるし、使うんだったらIndyをインストールすればOK
日本語ヘルプファイルはDelphi用のがBorlandからDLできたはず
878デフォルトの名無しさん:2005/05/16(月) 21:47:32
UDPを使わない
879デフォルトの名無しさん:2005/05/16(月) 23:20:08
>>877
Indy10のインストールをしたいのですが、やり方がわかりません。教えてください。
880デフォルトの名無しさん:2005/05/16(月) 23:27:10
>>879
BCBならIndy9までしか公式では対応してない。
881デフォルトの名無しさん:2005/05/16(月) 23:31:56
>>880
BCBは見捨てられてしまったのでしょうか?
それとも単にインストーラだけの問題じゃなく、他の部分で問題があって対応できないのでしょうか?
882デフォルトの名無しさん:2005/05/16(月) 23:42:57
>>881
多分そうじゃなくて、Delphiのバージョンだけが進み、それに準じて
Indy10が書かれているので、単にそれをBCB6に移植するのが面倒に
なっただけでしょ。BCB7でも出れば出そうな希ガス。
883デフォルトの名無しさん:2005/05/17(火) 01:42:19
ひたすらdpkと同じ構成のbpkを作ったら、DesignIdeがどうたらでエラーが出たぐらいで、それを回避すればインストールできたけどね>Indy10
IdHTTPでGetしてみたぐらいでロクに動作確認したわけじゃないけども。
884デフォルトの名無しさん:2005/05/17(火) 01:45:57
>dpkと同じ構成のbpkを作ったら
これはどうやってやるのでしょうか?もう少し詳しく教えていただけないでしょうか?
885デフォルトの名無しさん:2005/05/17(火) 02:02:57
ようはDelphi用のパッケージ(.dpk)はあるわけだから、それを適当なエディタで開いて、
そのパッケージに必要なファイルを調べて、
自分でBCBで作ったパッケージ(bpk)に追加していくという事なんだけんども。
パッケージもファイルも多くて非常に面倒くさい。
886デフォルトの名無しさん:2005/05/17(火) 03:07:38
MonthCalendarコントロールで日付ごとに色を付けるにはどうすればよいのでしょうか?
Boldにする方法はわかったのですが、それ以外の装飾をつけるにはどうしたらよいのでしょうか?
887886:2005/05/17(火) 05:03:09
なんで誰も答えてくれないの?
888886:2005/05/17(火) 05:03:35
早くしろデブ!こっちは忙しいんだよ
889886:2005/05/17(火) 05:03:58
時間がないので早く教えてくれません?
890886:2005/05/17(火) 05:04:02
ほんとどいつも役にたたねぇな
891デフォルトの名無しさん:2005/05/17(火) 05:04:11
ラウンジ帰れボケ
892886:2005/05/17(火) 05:04:33
まだかよ、さっさと教えろカス共、おまえらニートと違って俺は急いでるんだよボケ。
893884:2005/05/17(火) 05:04:37
俺の質問が先だよカス
894デフォルトの名無しさん:2005/05/17(火) 05:04:55
ラウンジって何?
895886:2005/05/17(火) 05:04:56
そのカルボナーラいつ食べ終わるの?早くしろって
896886:2005/05/17(火) 05:05:21
早く教えてください
897デフォルトの名無しさん:2005/05/17(火) 05:06:00
ラウンジのこれか・・・

http://etc3.2ch.net/test/read.cgi/entrance/1116269436/l50
1 名前:名無しさん?[sage] 投稿日:2005/05/17(火) 03:50:36 ID:???
専門板(IDなし推奨)の初心者質問スレとかで
まだ答えが出てないやつの質問者になりきって
「すいません、急いでるので早くしてもらえませんか?」って書いてくるイタズラ
898886:2005/05/17(火) 05:06:08
自己解決しました。
お騒がせしてすみません。
899886:2005/05/17(火) 05:06:15
900デフォルトの名無しさん:2005/05/17(火) 05:06:39
荒らしやめてよ・・・みんなVIPの人たちのように豊かな心を持とうよ・・・
901デフォルトの名無しさん:2005/05/17(火) 05:06:47
           _,,:-ー''" ̄ ̄ ̄ `ヽ、
         ,r'"           `ヽ.
     __,,::r'7" ::.              ヽ_
     ゙l   |  ::             ゙) 7
      |  ヽ`l ::             /ノ )
     .|  ヾミ,l   _;;-==ェ;、   ,,,,,,,,,,,,,,,ヒ-彡|    __________
      〉" l,_l "  -ー:ェェヮ;::)  f';;_-ェェ-゙レr-{   /久々にガリガリ
      |  ヽ"::::  ''   ̄´.::;i,  i `'' ̄  r';' } <  昔から60円だから困る
     . ゙ N l ::.    ....:;イ;:'  l 、   ,l,フ ノ  \__________
     ,.-''" ̄~~"'''―――-゙'''=-='''´ヽ.   ヽ   + 〇 /二二二/_. / ̄/ ./''7/ ̄ ̄ ̄ [][]
    /         / ̄~''''ー――‐''"~  _,.ヘ  l. o      / __  /  ̄  / // ./ ̄/ /
  /^!__       /`ー'ヽ__,、__,、__,.-‐'  \ l.       ̄  __,ノ /  ___ノ /.'ー' _/ / (R)
  |/ ,.┴、    l――---、――-、 \\     \ 十 ///____,/  /____,./   /___ノ王三l‐
  / / /ヽ    \   /⌒'" ̄`'"⌒ \\_....-‐'''l  /   囗/~7_,「三~KX>      /!ニニ!
 .|  /つ     `ー'----ノ ̄ ̄ヽー''"\l__,.-く ̄`ヽ     /__/ー‐' 7__/
  ヽ__(___.......... -―<____ノ―'''"  (  人 ̄ \
   \ `ー---‐'"ノ        \\__人  ( ̄ ̄ l
      ̄ ̄ ̄ ̄           `ー-----ヽ、 (~ ̄ノ
902886:2005/05/17(火) 05:07:14
    m n _∩                   ∩_ n m
  ⊂二⌒ __)    /\___/ヽ       ( _⌒二⊃
     \ \   /''''''   '''''':::::::\     / /
       \ \  |(●),   、(●)、.:|  / /
        \ \|   ,,ノ(、_, )ヽ、,, .::::|/  /
          \ .|   ´トェェェイ` .:::::::|  /    それが、ラウンジ精神
           \\  |,r-r-| .::::://     http://ex7.2ch.net/entrance/
             \`ー`ニニ´‐―´/
             / ・    ・ /
903荒らし撲滅:2005/05/17(火) 05:07:23
やっぱりここにもわいたかラウンジャーども



ものすごい悪質な悪戯を思いつきました
http://etc3.2ch.net/test/read.cgi/entrance/1116269436/l50


1 名前: 名無しさん? [sage] 投稿日: 2005/05/17(火) 03:50:36 ID:???
専門板(IDなし推奨)の初心者質問スレとかで
まだ答えが出てないやつの質問者になりきって
「すいません、急いでるので早くしてもらえませんか?」って書いてくるイタズラ

80 名前: 名無しさん? [sage] 投稿日: 2005/05/17(火) 05:03:24 ID:???
次の戦場です



http://pc8.2ch.net/test/read.cgi/tech/1108468718/l50
904デフォルトの名無しさん:2005/05/17(火) 05:07:28
またラウンジの奴らかよ・・・・・・・   懲りないな、ホント
VIPの奴らなんか、俺がジャニーさんに食われそうになった時、
みんなで家の壁ブチ破って助けに来てくれたほどなのに・・・・・・
同じ2ちゃんの板でも、なんでこんなに住人に差が出るんだよ・・・・・・
905デフォルトの名無しさん:2005/05/17(火) 05:08:01
いいかげんにしてください
906デフォルトの名無しさん:2005/05/17(火) 05:08:10
VIPPERやめろよ
907デフォルトの名無しさん:2005/05/17(火) 05:08:45
ったく、どうせラウンジはVIPのせいにでもするつもりだったんだろ?
でもな、VIPはいい奴らの集まりなんだ、残念だったな。

この間、俺は道端で1円拾ってそれを交番に届けようとしている若者を見た。
それとなく名前を聞いてみたら、「⊂二二二( ^ω^)二⊃ブーン だお」って言ってたぞ。
つまり、VIPはいい奴らの集まりなんだ。
908デフォルトの名無しさん:2005/05/17(火) 05:09:03
ラウンジって噂ではきいてましたけど本当にひどいところですね
909874:2005/05/17(火) 05:09:07
早く答えろクズ共
910デフォルトの名無しさん:2005/05/17(火) 05:09:31
http://ex10.2ch.net/test/read.cgi/news4vip/1116266649/
VIPって池沼隔離板の癖に何で外に出てくるんだよ
911デフォルトの名無しさん:2005/05/17(火) 05:09:57
俺の彼女がマクドoffでラウンコにセクハラされていたとき、
顔を真っ赤にして、彼女をかばってくれたのはチリチリパーマのおとなしそうなvipperさんでした



俺はニヤニヤ笑ってみてたけど
912デフォルトの名無しさん:2005/05/17(火) 05:10:20
ブラクラ貼んなハゲ
913デフォルトの名無しさん:2005/05/17(火) 05:11:10
ラウンジの人たちって本当にキモイよね?
914デフォルトの名無しさん:2005/05/17(火) 05:11:45
ここまでやったらVIPPERなんバレバレじゃん
馬鹿?
915デフォルトの名無しさん:2005/05/17(火) 05:12:28
ラウンコのみなさんやめてください><
916デフォルトの名無しさん:2005/05/17(火) 05:12:36
82 名前: 名無しさん? 投稿日: 2005/05/17(火) 05:07:23 ID:fMLGUKRU
717 名前: 国連な成しさん [sage] 投稿日: 05/05/17 05:01 ID:???
ラウンジってところは最悪ですね
学校の友達に「2ちゃんねるでラウンジは行っちゃダメだよ」って言っておきます

719 名前: 国連な成しさん [sage] 投稿日: 05/05/17 05:01 ID:???
ラウンジ許せねえ・・・

720 名前: 国連な成しさん 投稿日: 05/05/17 05:03 ID:z6bOE6xk
そういえばvipってけっこういい奴ららしいな
ラウンジは糞だけど



ここまでやれば逆にVIPが疑われるなw
いいぞお前らw


ラウンジは酷い人ばかりですね
917デフォルトの名無しさん:2005/05/17(火) 05:12:47
すっげえ悪質なイタズラ思いついたwwww
http://ex10.2ch.net/test/read.cgi/news4vip/1116266649/

いいかげん終わりにしようや
918デフォルトの名無しさん:2005/05/17(火) 05:12:59
>910
ブラクラ
919886:2005/05/17(火) 05:13:00
>>914
ラウンジ乙
920デフォルトの名無しさん:2005/05/17(火) 05:13:38
>>917
グロ貼るんじゃねーよ
921デフォルトの名無しさん:2005/05/17(火) 05:14:11
ラウンジの人がVIPのせいにしてるの?
922デフォルトの名無しさん:2005/05/17(火) 05:15:31
VIPの人がラウンジのせいに見せかけてるの
923デフォルトの名無しさん:2005/05/17(火) 05:16:03
VIPがラウンコに責任転嫁しようとしてる。
>>917のスレ見りゃ分かる
924デフォルトの名無しさん:2005/05/17(火) 05:16:53
VIPPERがラウンジの悪事をあばくの
925デフォルトの名無しさん:2005/05/17(火) 05:17:12
なんでそんなことするんですか?
926デフォルトの名無しさん:2005/05/17(火) 05:18:48
ラウンジャがVIPPERにないしょで水あめを食べてしまったから
927デフォルトの名無しさん:2005/05/17(火) 05:18:54
31 以下、名無しにかわりましてVIPがお送りします 2005/05/17(火) 03:17:43 ID:gJ6558WC0
以上ラウンジの馬鹿のしわざでした
    m n _∩                   ∩_ n m
  ⊂二⌒ __)    /\___/ヽ       ( _⌒二⊃
     \ \   /''''''   '''''':::::::\     / /
       \ \  |(●),   、(●)、.:|  / /
        \ \|   ,,ノ(、_, )ヽ、,, .::::|/  /
          \ .|   ´トェェェイ` .:::::::|  /    それが、ラウンジ精神
           \\  |,r-r-| .::::://     http://ex7.2ch.net/entrance/
             \`ー`ニニ´‐―´/
             / ・    ・ /

のAA張っておいた方がいいのか?

これ見ればわかるでしょ?
928デフォルトの名無しさん:2005/05/17(火) 05:19:53
886が別のスレにマルチに行っちゃった。
929デフォルトの名無しさん:2005/05/17(火) 05:21:12
もう分かったから。ラウンジ帰れよ
930デフォルトの名無しさん:2005/05/17(火) 05:21:36
ラウンジャーって必死だな
931デフォルトの名無しさん:2005/05/17(火) 05:25:51
160 名前:訴える名無しさん。[sage ラウンジ] 投稿日:2005/05/17(火) 03:46:38 ID:???
以上ラウンジの馬鹿のしわざでした
    m n _∩                   ∩_ n m
  ⊂二⌒ __)    /\___/ヽ       ( _⌒二⊃
     \ \   /''''''   '''''':::::::\     / /
       \ \  |(●),   、(●)、.:|  / /
        \ \|   ,,ノ(、_, )ヽ、,, .::::|/  /
          \ .|   ´トェェェイ` .:::::::|  /    それが、ラウンジ精神
           \\  |,r-r-| .::::://     http://ex7.2ch.net/entrance/
             \`ー`ニニ´‐―´/
             / ・    ・ /


161 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:50:34 ID:???
これはラウンコの連中ですね・・・

162 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:51:38 ID:???
ラウンジの奴らはほんとにたち悪いな・・・

163 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:51:43 ID:???
えぇ、もうラウンコの人にはうんざりですよね

164 名前:465[] 投稿日:2005/05/17(火) 03:56:51 ID:e6MkygGj
ほんとにラウンジには呆れ果てますね

165 名前:訴える名無しさん。[sage] 投稿日:2005/05/17(火) 03:57:25 ID:???
もうラウンジに失望されっぱなしですよ

これ見ろよ
VIPPERってこんなことするんだぜ
932デフォルトの名無しさん:2005/05/17(火) 05:38:29

     ザッ            ヘ__Λ ヘ__Λ ヘ__Λ ヘ__Λ
                __,/ヽ_ /ヽ__,.ヘ /ヽ__,.ヘ _,.ヘ ,.ヘ    ザッ
    /\___/ヽ   /\___ /\___/ヽ _/ヽ  /\___/ヽ
   /''''''   '''''':::::::\/''''''   '''/''''''   '''''':::::::\   /''''''   '''''':::::::\
  . |(●),   、(●)、.:|(●),    |(●),   、(●)、.:|、( |(●),   、(●)、.:|
  |   ,,ノ(、_, )ヽ、,, .::::|   ,,ノ(、_, )|   ,,ノ(、_, )ヽ、,, .::::|_, )|   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::|   `-=ニ= |   `-=ニ=- ' .:::::::|ニ=|   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/\  `ニニ \  `ニニ´  .:::::/ニ´ \  `ニニ´  .:::::/
   /`ー‐--‐‐―´\ /`ー‐-  /`ー‐--‐‐―´\-‐‐ /`ー‐--‐‐―´\
「vipから来ますた」「vipから来ますた」「vipから来ますた」「vipから来ますた」


                                    それが、ラウンジ精神
                                    http://ex7.2ch.net/entrance/
933886 ◆jG/Re6aTC. :2005/05/17(火) 06:48:24
>>887-は自分ではありません。何で突然ここがこんなに荒らされているのでしょう?
934933 ◆Ikx9obzOAY :2005/05/17(火) 06:50:00
>>933
無視が一番ですよ。
935デフォルトの名無しさん:2005/05/17(火) 07:08:13
2chには、暇な奴らが集まる板があるのですよ。
http://ex10.2ch.net/news4vip/
とか。

で、しょっちゅう、
こういう「他の板に突撃する」系のスレが立つわけですよ。
http://ex10.2ch.net/test/read.cgi/news4vip/1116266649/
936デフォルトの名無しさん:2005/05/17(火) 10:12:08
 
937デフォルトの名無しさん:2005/05/17(火) 13:20:53
Indyについて詳しくかかれてる日本語サイトを教えてください
938デフォルトの名無しさん:2005/05/17(火) 15:26:03
939デフォルトの名無しさん:2005/05/17(火) 15:49:43
最近、C++Builderを触っているものですが、
「オブジェクトの配列」化の方法がわかりません。

BitBtn1,BitBtn2,BitBtn3,BitBtn4,,,,,をBitBtn(n)という風にするには
どうすれば良いでしょうか?

もしかしてできないのでしょうか?
940デフォルトの名無しさん:2005/05/17(火) 15:55:13
>>939
FindComponentで列挙してstd::vector<TBitBtn*>に突っ込むのはだめか?
941デフォルトの名無しさん:2005/05/17(火) 15:55:36
>>939
TListをつかってみたら?
パワフルテクニック集にも載っていたはず
942デフォルトの名無しさん:2005/05/17(火) 16:56:01
オブジェクトの数が明確に決まっているのなら
TBitBtn* BitBtn[5];

BitBtn[0]=BitBtn1;//0は空けといたほうがわかりやすいな
BitBtn[1]=BitBtn2;
...
でもいいような気がするけど、これじゃ駄目なの?
943デフォルトの名無しさん:2005/05/17(火) 17:27:14
オブジェクトのタイマーの秒数を0にしたら、
プログラム終了前に再度はじめから処理が流れてしまうのでしょうか?
終了してから、また流れるのでしょうか?
944939:2005/05/17(火) 17:37:12
>>940,941
なんせBuilder初心者なもんで、「FindComponent?」「TList?」という具合でして
ぐぐったら参考URLが見つかりました。
http://www.geocities.co.jp/SiliconValley/4805/bcbtips/bcbtips063.htm
オブジェクトへのポインタを配列にしてアクセスするこの方法でうまくいきました。

>>942
オブジェクトが固定の場合はその方法があっさりしていて、これも正常動作しました。

皆さま、どうもありがとうございました。
945デフォルトの名無しさん:2005/05/17(火) 19:12:40
C++Builder6pro + update#4 on WinXP SP2
1) ファイル(F) | 新規作成(N) | その他(O)...
2) 新規作成ダイアログから「コンソール ウィザード」を選択
 ソースの種類: C++
 VCLを使う、コンソール アプリケーションにチェック
3) OKボタンを押下
4) 自動生成されたUnit1.cppに次のコード(+が行頭にあるライン)を書く:
 //---------------------------------------------------------------------------
 #include <vcl.h>
 #pragma hdrstop
 //---------------------------------------------------------------------------
 #pragma argsused
 int main(int argc, char* argv[])
 {
 + Graphics::TBitmap *b = new Graphics::TBitmap;
 + b->Free();
  return 0;
 }
 //---------------------------------------------------------------------------
5) プロジェクト(P) | Project1 を再構築(R)すると、次のエラーが。
[リンカ エラー] 外部シンボル 'Graphics::TBitmap::' が未解決(D:\〜\UNIT1.OBJ が参照)
[リンカ エラー] 外部シンボル '__fastcall Graphics::TBitmap::TBitmap()' が未解決(D:\〜\UNIT1.OBJ が参照)

コンソール ウィザードではなく、アプリケーションの場合は、上記エラーはでません。
また、上記エラーは実行時パッケージとしてvclを使用するように設定すると、
main()関数の実行前にAccessViolation例外が発生します。鬱です。
『[builder-ml: 35293] 外部シンボルが未解決』から始まるスレッドが該当しそうですが
「実行時パッケージを使用」しない設定での解決方法がわかりません。
どなたかご教示いただければ幸いです。
946デフォルトの名無しさん:2005/05/17(火) 19:31:55
>>945
再現できないな。実行時パッケージの使用の有無に関わらずコンパイル・実行できるけども。
関係ないかもしれないけど、Delphi6入れててbcb6fix.exeを実行してないとかない?
947875:2005/05/17(火) 20:09:04
亀レスですみませんm(_ _)m
レスくれた皆様ありがとうございます^^;A

で、嵐?なのかは知りませんが、私からみたら大助かりの>938氏の
サイトを参照したのですが・・・
これに書いてあるのがDelphiのインスコ方法で、正直BCBのインスコが
わからない所存です_| ̄|○
どなたかぷりーず
948875:2005/05/17(火) 20:11:28
↑すみません、嵐っぽいのは>938氏以外の方
なんか昨日の夜は相当吹雪いていたみたいですね
949デフォルトの名無しさん:2005/05/18(水) 00:25:21
 











950デフォルトの名無しさん:2005/05/18(水) 02:40:50
Drawing text with a transparent background:

Canvas->Brush->Style = bsClear;
Canvas->TextOut( 0, 0, "Transparent Text" );

Aligning the caption on a button:

DWORD dwStyle = GetWindowLong(Button1->Handle,
GWL_STYLE);
dwStyle = dwStyle | BS_RIGHT;
//(or BS_LEFT, or BS_CENTER)
SetWindowLong(Button1->Handle, GWL_STYLE, dwStyle); Button1->Invalidate();
951デフォルトの名無しさん:2005/05/18(水) 03:34:36
BCBでDirectX(教えてください)
952デフォルトの名無しさん:2005/05/18(水) 03:58:44
まともな日本語(書いてください)
953デフォルトの名無しさん:2005/05/18(水) 04:10:56
954デフォルトの名無しさん:2005/05/18(水) 10:05:33
おい誰か印ディーについてかいてあるURLはれつってんだ
955デフォルトの名無しさん:2005/05/18(水) 11:11:10
CM_MOUSEENTERイベントでTMessage &Msgがどのクラスのコントロールか識別したいのですが
どのように記述すればいいですか?

void __fastcall OnMouseEnter( TMessage &Msg )
{
  // ここでTLabel以外のコントロールをける
  // ↓こんな感じでTLabelを取得したいです
  TLabel *l = dynamic_cast<TLabel *>(Msg.LParam);
}
956デフォルトの名無しさん:2005/05/18(水) 11:53:10
教えてください
一つのアプリケーションで開いたモードレスフォーム一つずつに
タスクバーのタイトルバー(?名前わかんない)を表示させたいのですが
どの様にしたらいいのでしょうか。お願いします。
957デフォルトの名無しさん:2005/05/18(水) 12:11:37
>>955
Lparamがインスタンスなら実行時型識別で識別できるだろ。
VCLコントロールならTObject派生(Delphi型クラス)のはずだから基底クラスのインスタンスから派生先の型を取得できる。
958デフォルトの名無しさん:2005/05/18(水) 12:21:03
TPanelがCM_MOUSEENTERイベントに反応するにはどうしたらよいのですか?
959デフォルトの名無しさん:2005/05/18(水) 14:32:52
スタートメニューを非表示にする方法を教えてください
960デフォルトの名無しさん:2005/05/18(水) 14:45:23
>>959
TClockのソースを見よ
961デフォルトの名無しさん:2005/05/18(水) 15:54:12
>>960
それどこにあんの
962デフォルトの名無しさん:2005/05/18(水) 16:08:09
Indy9入れたんですが、これ何がどう変わったのかわかりませんが
963デフォルトの名無しさん:2005/05/18(水) 17:30:32
TNMSMTPを使用してメール送信プログラムを作成していたのですが
認証が必要なメールサーバーに接続できなかった為、
某所で質問したところIndyのTIdSMTPを使用すれば可能だと知りました。

ぐぐってもBuilderでのサンプルが書かれているサイトが
見つけられませんでした。
TIdSMTPについて詳しく書かれている所を教えてください。
964デフォルトの名無しさん:2005/05/18(水) 17:40:33
>>963
ObjectPascalのコードくらい読めないか?普通。
とりあえず./CBuilder6/Help/op.hlpよんどけ。
965デフォルトの名無しさん:2005/05/18(水) 17:40:59
oplg.hlpだったorz
966デフォルトの名無しさん:2005/05/18(水) 18:08:59
誰もCBuilder6なんて一言もいってないのに・・・
>>964はただの基地外か
967デフォルトの名無しさん:2005/05/18(水) 18:10:17
>http://www.ahris.jp/ahris/tips/bcb/bcb0007.txt
>QuickReportのプリンタ設定(BCB4用)
>BCB付属のQuickReportは結構わがままで、Windowsのプリンタの設定を
>無視してしまします。

とありますが、BCB6でもそうでつか?
968デフォルトの名無しさん:2005/05/18(水) 22:15:20




























969デフォルトの名無しさん:2005/05/19(木) 05:34:02
970デフォルトの名無しさん:2005/05/19(木) 08:57:29
971デフォルトの名無しさん:2005/05/19(木) 09:15:34
C++BuilderにはCSVを簡単に読み込んだり書き込んだりする方法があったと思うのですが、ググっても見つかりません。
どなたか教えていただけないでしょうか?
972デフォルトの名無しさん:2005/05/19(木) 09:44:07
http://www2.ttcn.ne.jp/~tkky/Tips/StringList/stringlist1.htm

TStrings型にテキストデータを読込む
http://www.yukibow.com/bcb/B0309.html

TStrings型をテキストデータとしてファイルに書込む
http://www.yukibow.com/bcb/B0310.html
973デフォルトの名無しさん:2005/05/19(木) 09:44:58
//テキストファイル "test.txt" を StringList に読み込んで文字列を取得する
void __fastcall TForm1::Button2Click(TObject *Sender)
{
TStringList *slist = new TStringList;

//テキストファイル "test.txt" を読み込む
slist->LoadFromFile("text.txt");
slist->CommaText = slist->Text;
//ファイル内のカンマで区切られた 2 番目の文字列を取得
Edit1->Text = slist->Strings[1];
delete slist;
}
//----------------
974デフォルトの名無しさん:2005/05/19(木) 09:46:00
203
テキストファイル(pczmn.txt)の2行目を読み込む



AnsiString aa;
TStringList *TSL = new TStringList;
TSL->LoadFromFile("pczmn.txt");
aa = TSL->Strings[1];
delete TSL;
975デフォルトの名無しさん:2005/05/19(木) 10:25:07
976デフォルトの名無しさん:2005/05/19(木) 10:30:46
QuickReportのプレビュー画面のプリンタセットアップボタンの反映が、
画面閉じた後になるため印刷に反映されませんが、
何とかなりませんか?
977デフォルトの名無しさん:2005/05/19(木) 11:08:09
指定文字までを取得したい場合、どうすればいいのでしょうか?

str="あいう,かきく"
と、変数に入っている場合、最初のカンマまで("あいう,")を取得したいのですが…
978963:2005/05/19(木) 11:53:47
>>964
>>966
色々試したら自己解決しました。失礼しました。
ちなみにBCB5ですた。
979デフォルトの名無しさん:2005/05/19(木) 11:54:04
980デフォルトの名無しさん:2005/05/19(木) 12:06:31
>>977
String str="あいう,かきく;
String buf = str.SubString( 1, 6 );
981デフォルトの名無しさん:2005/05/19(木) 13:17:57
C++Builder10をさっさと出してください
982デフォルトの名無しさん:2005/05/19(木) 14:27:30
ListViewからエクスプローラにファイルをD&Dする方法を教えてください
983デフォルトの名無しさん:2005/05/19(木) 14:53:27
>>982
DoDragDropでぐぐれ
984デフォルトの名無しさん:2005/05/19(木) 15:15:52
複数のビットマップ画像からaviファイルを作成する方法を教えてください。
985デフォルトの名無しさん:2005/05/19(木) 15:58:04
>>983
ダメだわからん教えてくれかすさん
986デフォルトの名無しさん:2005/05/19(木) 16:33:16
毎度おなじみ
987デフォルトの名無しさん:2005/05/19(木) 16:47:35
廃人回収でございま〜す〜〜
988デフォルトの名無しさん:2005/05/20(金) 02:29:55
989デフォルトの名無しさん:2005/05/20(金) 11:10:37
>>988
もうわかったから、貼るのやめれ
990デフォルトの名無しさん:2005/05/20(金) 13:38:42
まだまだやっぱりおまえは子供だ全然全くわかってないよ
なんて言ったら分かるのかなぁ





どんなにアタシが素晴らしいかを!
991デフォルトの名無しさん:2005/05/20(金) 13:46:48
992デフォルトの名無しさん:2005/05/20(金) 15:13:01
埋め
993デフォルトの名無しさん:2005/05/20(金) 17:35:39
運命
994美香 ◆RQ0Spv3q06 :2005/05/20(金) 19:14:45
(´・_・)?
995デフォルトの名無しさん:2005/05/20(金) 20:27:35
>>990
うるせえボケナス大魔神!
おとといきやがれこの亀虫!
996デフォルトの名無しさん:2005/05/20(金) 20:28:20
(o_o^)??
997デフォルトの名無しさん:2005/05/20(金) 20:29:48
998デフォルトの名無しさん:2005/05/20(金) 20:31:07
ume
999デフォルトの名無しさん:2005/05/20(金) 20:32:02
999
1000デフォルトの名無しさん:2005/05/20(金) 20:32:53
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。