トップページ⇒tech
988コメント362KB

C++Builder相談室 Part8

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさんNGNG
C++Builderに関する質問・回答や議論等を行う相談室スレッド。
過去スレ・関連サイトは>>2-5あたり。


<過去スレ>
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://pc2.2ch.net/tech/kako/1035/10355/1035596146.html
C++Builder相談室 Part5
http://pc2.2ch.net/tech/kako/1045/10455/1045542179.html
C++Builder相談室 Part6
http://pc2.2ch.net/tech/kako/1054/10542/1054280736.html
C++Builder相談室 Part7(前スレ)
http://pc2.2ch.net/test/read.cgi/tech/1061594556/
0002デフォルトの名無しさんNGNG
<Tipsなど>
C++Builderのお部屋(Tips系)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/
C++Builderによるプログラミング(Tips系)
http://market.agr.tottori-u.ac.jp/ken/
Delphian World(コンポーネントライブラリ)
http://home1.infonia.ne.jp/~delphian/delphi/
C++Builder Bugs
http://www2.justnet.ne.jp/~tyche/bcbbugs/index.html
Borland C++Builder最新リンク2003(リンク集)
http://www2.famille.ne.jp/~akio1998/l_cpb.html
ビギナー向けtips
http://www.yukibow.com/bcb/index.html
0003デフォルトの名無しさんNGNG
<関連サイト>
公式サイト
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

<Update>
BCB6/US SP1 は BCB6/JP 製品版に含まれています。

C++Builder 6 Update4 日本語版
ftp://ftp.borland.co.jp/pub/cbuilder/
0004デフォルトの名無しさんNGNG
<VCL兄貴のDelphiスレ>

くだすれDelphi Part8 (超初心者向け)
http://pc2.2ch.net/test/read.cgi/tech/1068201045/l50
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その11
http://pc2.2ch.net/test/read.cgi/tech/1068564708/l50
Delphi相談室(上級者用)その12
http://pc2.2ch.net/test/read.cgi/tech/1064766880/l50
Delphi相談室(中級者以上)その12
http://pc2.2ch.net/test/read.cgi/tech/1064420818/l50
【Delphi初心者】今から始めるDelphi Part01
http://pc2.2ch.net/test/read.cgi/tech/1062422335/l50
0005デフォルトの名無しさんNGNG
>>1
乙です。
0006デフォルトの名無しさんNGNG
indyの日本語ヘルプってどこでダウソできたっけ?
0007デフォルトの名無しさんNGNG
>>6
BorlandのDelphi7のアップデートに入ってた様な気がしないでもない。ごめん。
0008デフォルトの名無しさんNGNG
AnsiStringのFormatとsprintfの速度を比べて見た
まあこっち使ったほうが早かったわ
0009デフォルトの名無しさんNGNG
IDE使わずVCLって使えんの?
0010デフォルトの名無しさんNGNG
暇そうだな
1000 名前:gw.borland.co.jp[sage] 投稿日:03/12/01 19:51
記念カキコ
0011デフォルトの名無しさんNGNG
C++Builderのpathってどうやって見れるの?
0012デフォルトの名無しさんNGNG
C++Builder4のlearning持ってるんだけど
作ったプログラムが他のパソコンでは動かない
なんで?
ランタイムかなんかかな
0013デフォルトの名無しさんNGNG
>>12
> ランタイムかなんかかな
たぶんそういう設定になってるんだろうね。変えるべし。
0014デフォルトの名無しさんNGNG
>>11
自分の作った実行ファイルならApplication->ExeNameにフルパスはいっとるから
ExtractFilePath( Application->ExeName );で最後¥つきのパス

>>12
4はわからんけど5なら、共有RTL DLLを使うのチェックをはずすとか
0015デフォルトの名無しさんNGNG
C++Builder使ってからコマンドラインもC++Builderのコンパイラーとつながってるけど、
ほかのコンパイラーでしたいんだがどうすればいいんだ?
0016デフォルトの名無しさんNGNG
StringGridのDrawCellイベントでセルに画像を張りたいのですが
セルをまたがると他のセルにかぶってる部分の画像が表示されないのですが
どうやったら表示できますか?
0017デフォルトの名無しさんNGNG
>>15
言ってる意味がいまいち判らんのだけど、バッチファイル作ったらいいんじゃないの?

>>16
なぜにTStringGrid?
0018デフォルトの名無しさんNGNG
>>17
そんなの貴様に言う必要ねえ
さっさと>>16知ってたら教えろq
0019デフォルトの名無しさんNGNG
Utf8ToUnicodeは引数が多くて使い難い、というか、
wchar_tのエリアを確保しといて、int MaxCharsで最大長決まってますよね。

1行で書けないというか、String型に比べて使い難いんですが、何とかなりませんか?
0020デフォルトの名無しさんNGNG
DM来た
某年末だから売り上げ上げなんとか伸ばそうと必死なのだな。
0021デフォルトの名無しさんNGNG
>>19
WideString使うラッパーな変換関数自作すれば?
0022デフォルトの名無しさんNGNG
エディタでカーソルが文字に重なると
砂時計になってしばらく操作できなくなるんだけど
どうすれば良いですか?

0023デフォルトの名無しさんNGNG
>>22
エディタの自動支援機能を使わない。
自動支援を使わなくてもキー操作で入力支援は呼び出せる。
0024デフォルトの名無しさんNGNG
>>22
switch (〜)
{
case:エディタのID_〜
でbreak;してる?
或いは、デバックでステップさせてって、どこでそういう現象起こり始めるか探ってみたら。
処理がLOOPしてるかもしれないし。
0025デフォルトの名無しさんNGNG
>>24
debuck
0026デフォルトの名無しさんNGNG
AppendRecordでTVarRec型にTDateTime型の変数を入れるとコンパイルエラーがでるのですが
どうしたらエラーでずに格納できるようになりますか?
002722NGNG
レスありがとうございます
エディタの自動支援機能を切ってもなってしまうのです。
コード書いてるときにこの状況なって作業しづらくて。
だいたい6秒ぐらい作業が中断されます。
タスクマネージャーのCPUの使用率は100%です。

たぶん変数の宣言の場所(unit1.cppの30行とか)を表示しようとしているみたいです。
クラスの宣言をcppに書いてあるのが4ファイルぐらいあるのがいけないのでしょうか?
cppが一つのはこの状況になりません。
みなさんはなったことありませんか?
002822NGNG
エディタの支援機能の
「識別子定義の表示」
だと思うんですけど
ヘルプだとチェックを外せば良いと書いてあるのですが
チェックボックスが「式評価」の下にあるようなのですが
一つ分の空白しかない。

ver6.0のパーソナルです。UPデートはしたと思います。
6秒待ちは本当にストレスがたまって悲しくなります。
002922NGNG
最終手段としてレジスタをいじりました。
起動してない状態で
ビルダーのCode InsightのDeclaration Information(直訳で宣言情報)を
falseにすることにより解決しました。
いじることによる悪い作用はなさそうです。

やっとストレスから開放されます。
ひとりで騒いでしまってすいませんでした。
0030 NGNG
ボーランドC++personalの購入を検討しています。グラフィックを描きたいのですが、できますでしょうか?
0031デフォルトの名無しさんNGNG
>>30
そんなものはボーランドでは作ってなかったと思ったが?
Borland C++ Builder のpersonal版なら可能。
ただし、当然だが必要なコードは自分で書く必要がある。
003230NGNG
>>31
レスありがとうございます。
そのコンパイラです。これで購入にふみきれます。
0033デフォルトの名無しさんNGNG
>>30
予算があるならProfessional買った方がいいかも。
0034デフォルトの名無しさんNGNG
ListViewやTreeViewの編集時にInplaceEditが表示されますが、
表示される位置を変えたりすることはできるでしょうか…
003530NGNG
>>33
他のソフトと組み合わせて使うのであれば
高い方を買う必要があるのかと思いました。
他にも安いなりの理由があるのでしょうか?
0036デフォルトの名無しさんNGNG
>>35
Personalの問題点:
・ライセンスが非商用利用限定
・VCLソースがない
・デバッガが貧弱
あたり。
あと、グラフィック周りやるなら
・インラインアセンブラが書けない
のも影響する予感。
(もっともdcc32はインラインアセンブラ使えるので、アセンブラ使うところだけPascalで書けばtasmなくても何とかなるが)


あと、今だとPro版が安くなってるというのも‥‥
VCLクラス派生させる時にソースがないのは意外と不便です。
まともなドキュメント付けてください。おながいします。
003735NGNG
>>36
参考情報ありがとうございます。
自分はC言語だけ使えればとりあえず大丈夫ですので、
やっぱりpersonalにします。商売目的でもないです。
0038デフォルトの名無しさんNGNG
うちにもDMきますた。
C++Builder5Professional -> C++Builder6Professional 25,200円
とりあえず5で満足してるし、6は出たときバグ多いって聞いたし、機能的にも新規性が見えなかったし
って訳で今だに5を使い続けています。
7が出たら即購入のつもりなのですが、そろそろ6も安定してきたのではないかとか思うし
7はまだしばらく出ないのではないかなとか色々考えたりして、
5->6って今の時期に、意味ありでしょうか?
7まで待つ予定がちょっと揺れてます。
0039デフォルトの名無しさんNGNG
つまり何だ。7以降が出るかどうかの問題だな。
0040デフォルトの名無しさんNGNG
すいません、本来PageControlのタブを使って切り替えを行いたかったところで、
うまくPageControlが使えないことに気づきました。

説明がややこしいのでわかりやすく画像でまとめてみました。

http://cgi.members.interq.or.jp/www1/q-mail/gh/img-box/img20031204005107.gif

このような場合どうしたらいいのかアドバイス頂けないでしょうか?
よろしくお願いします。
004140NGNG
あ、(3)のページコントロールを使ったら、というのは画像の中の緑のパネル内で、ということです。
すいません。
0042デフォルトの名無しさんNGNG
>>40
だからよぉ、各PanelのALignmentがどうなってて、どこにPageControl使って、
それとToolBarがどういう関係になってるのか的確に示してくれなかったら
だれも何も言えんがな。

ただし、説明したとして、それに回答してくれる人間がいるかどうかは別問題だけどな。
0043デフォルトの名無しさんNGNG
>40は、コンテナ内で複数のコントロールが存在する場合のAlignの意味を理解していないものと思われ。
004440NGNG
失礼しました。
補足の画像をあげてみました。

http://cgi.members.interq.or.jp/www1/q-mail/gh/img-box/img20031204013137.gif
0045デフォルトの名無しさんNGNG
>>44
それを見るかぎりでは問題ない。
よって問題があるのはコード。
つか、最初からコードは晒してくれないと。
情報を小出しにする質問者は歓迎されないよ。気をつけるべし。

なお、コントロールを出したり隠したりしたい場合は、それが乗ってる
コンテナのVisibleを切替えるのが普通。
>>44の例だとToolBarをPanel2から出した上でPanel2->Visibleを
切替えるという手もある。
004640NGNG
>>45
要領の悪い質問で申し訳ありません。
レスを拝見して、

ToolBarをPanel2から出す → 出したToolBarをPanel3の中に入れてそのToolBarのAlignをLeftに変える

これで上手いこといきました。コントロールの表示もWidthをいじるよりVisibleをいじった方が楽ですね。
どうもありがとうございます!

0047デフォルトの名無しさんNGNG
TTableのFilterでTDateTIme型の月のみで絞り込みをするにはどう記述すればいいのでしょうか?
0048デフォルトの名無しさんNGNG
どうか教えてください。
MDIで画像ビューアのようなものをつくっています。

子ウィンドウに対して開いた画像を表示しているのですが、
開いたときやズームをしたときに子ウィンドウを画像の大きさに合わせたいと
考えています。
それで、
フォームにスクロールボックスとペイントボックスを貼った状態で画像をペイ
ントボックスに描画できるようにロードし、

int w = MainBMP->Width;
int h = MainBMP->Height;

// ペイントボックスの大きさを変える
MainPaintBox->Width = w;
MainPaintBox->Height = h;
// ウィンドウの大きさを変える
ClientWidth = w;
ClientHeight = h;

としているのですが、ウィンドウと画像をちょうどの大きさに合わせている筈
なのに
スクロールバーが表示された状態になってしまいます。
微妙な差なのかと思いましたがそうでもないようです。

原因がわかるかたおられましたらどうかお教えくださいませ。
0049デフォルトの名無しさんNGNG
ヘタレな質問でもうしわけないですがコンポーネントを配列みたいに扱いたいのですがどのようにしたらよいです
か?(表現が変かもしれませんが)
Image[a] みたいな感じで。
0050デフォルトの名無しさんNGNG
TImage* Image[10];
for (int i=0; i<10; i++)
 Image[i] = new TImage(this);
0051デフォルトの名無しさんNGNG
>>50
サンクス
0052デフォルトの名無しさんNGNG
>>48
亀レスだけど、たんにScrollBoxの余白分だと思う。
いまちょいと試してみたら、上下左右2pix必要としますね。
だからClientWidth = w+4; ClientHeight = h+4; でちょうど。
0053デフォルトの名無しさんNGNG
CBuilderからDAOを操作する方法を教えてください
0054デフォルトの名無しさんNGNG
ソースとヘッダーを両方表示したいのですが
どうすればいいのですか?
ver5の時はできたのですがver6だと片方表示すると
もう片方が表示できません。
ソースから必要なものだけヘッダーに移すのがやりづらいので
教えてください。ヘルプなどを探しても見つけられませんでした。
0055デフォルトの名無しさんNGNG
TCollection、TCollectionItemについて質問なんですが

class TMyItem : public TCollectionItem
{
public:
void* Data; // Bitmapを挿す
AnsiString Caption;
int Height;
int Width;
__fastcall ~TMyItem(); // Dataで挿してるBitmapを削除
};

class TMyCollection : public TCollection
{
public:
TMyCollection(TMetaClass* Class) : TCollection(Class) { }
__fastcall ~TMyCollection();
TMyItem* Add() { return (TMyItem*)TCollection::Add() };
};

な感じのクラスで、
TMyItem* Item;
TMyCollection* Collection = new TMyCollection(Item->ClassType());
Item = Collection->Add();
〜
とやりたいんですが、TCollection::Add()で例外が。
どうすりゃ動くんでしょ。分かる方ヘルプを…たのんます。
0056デフォルトの名無しさんNGNG
>>54
Ctrl+F6
0057デフォルトの名無しさんNGNG
>>56
やってみましたが切り替えるだけで
同時に表示されませんけど
0058デフォルトの名無しさんNGNG
>>57
右クリックから「別の編集ウィンドウを開く」
0059デフォルトの名無しさんNGNG
>>54
俺5使ってるが同時になんてやりかたわからんぞw
Ctrl+F6で別タブでやってっが、
0060デフォルトの名無しさんNGNG
絶対昔やったときは同時に表示できたって。
4か5.5だと思うけど。
同時に表示できないと使いづらくありませんか?
0061デフォルトの名無しさんNGNG
いや全然もうCtrl+TabやCtrl+Shift+Tabに慣れた
0062デフォルトの名無しさんNGNG


★★★★★常時接続の方におすすめビジネス★★★★★

1日二時間ネットを利用する人だと1ヶ月20000円は稼げます。

ネットサーフィン中に広告バナーを表示させているけでお金になります。
ネットサーフィンだけでなくワープロソフトやホームページビルダーなどを使って
お仕事していてもバナーを表示させていれば課金されます。
広告バーの使用時間は無制限。極端なことを言えば、1日24時間稼動させてもOK。

紹介制度も8段階あり頑張れば1ヶ月50万以上も可能です。もちろん登録も無料。
今までクリック保証のビジネスやメール受信をしましたがこれが一番お金になりました。

英語が苦手な方もホームペーシに解り易く登録方法を載せましたので登録できると思います。
ぜひ登録してみてください。確実に稼げます。

http://members.goo.ne.jp/home/taizou326

006355NGNG
自己解決しました。
×TMyCollection(TMetaClass* Class) : TCollection(Class) { }
○TMyCollection() : TCollection(__classid(TMyItem)) { }


006448NGNG
>>52
有り難う御座います。
きちんとあうように出来ました。
ちょっとした余白が必要だったのですね。
助かりましたです。
0065デフォルトの名無しさんNGNG
>>60
5までは、.cppと.hが別タブだったと思う。
6ではインクルードガードのマクロ変数を書き換えちゃうと別タブになるみたいです。
0066デフォルトの名無しさんNGNG
>>65
#ifndefとかをコメントアウトとか名前変えても別タブになりません。
ユニットだからかひとまとめになってるのね。
ヘルプの説明見てもガードをいじればよさそうなのだができませんでした。
006766NGNG
Unit2にを、ヘッダーガードをいじってcppファイル形式で
保存して開きなおししたら分けられました。
Unit2にもとのヘッダーガードをつけて
ユニットで保存すると元にも出るみたいです。

Unit1は、できないみたいですね。一応解決しました。
0068デフォルトの名無しさんNGNG
DBで質問

テーブルが2つある場合に
DataSourceとTableがある場合に
テーブル1つにDataSourceとTableとしたほうがいいのか、
それともDataSourceとTableは1つづつでTableのTableNameを変えてやったほうがいいのか
そのプログラムのアレとかによって変わってくるかもですが
一般的にはどっちでやるものでしょうか?
0069デフォルトの名無しさんNGNG
Builder Entepriseのトライアルのキーが何回申し込んでも送られてこない。
なぜだ。
0070デフォルトの名無しさんNGNG
C++BuilderEnterprise 36万円を買うとしたら
送料とかでぶっちゃけどんくらい掛かる?
0071デフォルトの名無しさんNGNG
コマンドラインで、プログラムを実行するオプションって何でしょうか?
よろしくお願いします。m(_ _)m
0072デフォルトの名無しさんNGNG
>>71
質問の意味が分かりません。
頭を下げる前に明確な表現で質問してください。
0073デフォルトの名無しさんNGNG
>>72
失礼しました。
C++Builder5で、C:\CBuilder5\Bin\bcb.exe C:\Test.bpr のようしたものを
実行すると、C++Builderが立ち上がり Test.bprのプロジェクトが、読み込まれ
ます。その後、実行させるには、どのようなコマンドラインの指示をすれば、
いいでしょうか?さらにm(_ _)m
0074デフォルトの名無しさんNGNG
BCB6 PersonalのShellTreeView/ListView/ComboBoxなんですが、
ソートが変というかうまくされていない感じです。
ソース見てもよくわからなかったのでどなたか原因判明or修正できる方いたらお願いしたいです…
0075デフォルトの名無しさんNGNG
プラグイン機能を持たせるようなアプリを作成したいのですが、良い意見はないですか?
ファイルをとあるディレクトリに入れるとアプリの機能が増えるような・・・
0076デフォルトの名無しさんNGNG
>>75
SPI_API.TXTでも読んどけ
0077デフォルトの名無しさんNGNG
>>73
ヘルプを見るかぎりでは、ビルドしたりデバッガ呼び出したりは出来るみたいだが
「実行させる」ってのは出来なさそう。

>>74
だからさ、どう変なのか書いてよ。ただ「変だ」じゃあんたが勘違いしてるだけかもしれんし
検証してみる気にはなれない。

>>75
SPIもそうだが、普通、DLLとして実装するケースが多いと思う。
というか他の手を考えるのは大変だ。
0078デフォルトの名無しさんNGNG
DLLでアレしたらLoadLibraryはいいがGetProcAddressでエラーになる
なんとかしてくれ
0079デフォルトの名無しさんNGNG
>>78
エラーの内容も書かない独り言はご遠慮ください。
008074NGNG
>>77
すみません不足でした。

Delphi 6の方のコンポだと大丈夫なんですが、
例えばマイコンピュータを開くとエクスプローラでのドライブ順にソートした状態になります。
本来はフォームに貼り付けた状態でこうなるはずなんですが、
これがTextの値順でソートされている感じです。
コンボボックスについてはソート周りのプロパティやメソッドが見つからなく、
他の二つもプロパティいろいろ弄ったんですが解決できなかったので質問させて頂きました。

Delphiのコンポを流用する、ってのが一番楽かもしれないですが…
0081デフォルトの名無しさんNGNG
>>80
すまんが>>80も意味不明だ。何を言っているか全く分からん。
1つだけ言えることはShellTreeViewはおれのBCB6Proにはついてないってことだけ。
0082デフォルトの名無しさんNGNG
初心者丸出しの質問で申し訳ないのですが、
CPPファイルの頭の
> TFormMain *FormMain;
との部分で、
> Declaration syntax error
というエラーが出るようになってしまいました。

最初はなんともなかったのに、クラスを追加した途端出てきて、
そのクラスを削除しても直りません。
どのような原因が考えられるでしょうか?

よろしくお願いします。
008374NGNG
むぅ…すみません説明へぼくて…
要はちゃんとエクスプローラみたいにアイテムが並んでくれないというだけです…
コンポはPersonalだと $(BCB)\Examples\ShellControls にあるんですが…
Proで無いってことあるのかな…
とりあえずdelphiのコンポ流用でしのぎます…

0084デフォルトの名無しさんNGNG
>>82
多分、カッコが照応してないか、セミコロンがどっか抜け落ちてるか。
コンパイラがエラーとしている行の直前とは限らないので根気よく探す。
インクルードしているヘッダファイルも確認する必要がある。
008582NGNG
>84
おっしゃる通りでした。
インクルードされているファイルまで目が届いていませんでした。
ありがとうございます。
0086デフォルトの名無しさんNGNG
>>74
エクスプローラは裏でいろいろな処理をしている。
ExamplesにあるShellTreeViewはそこらへんがごっそり無いのでできないだけ。
ShellAPIの使用例に過ぎない。例はあくまで例。
そのまま使おうと考えるほうが間違っている。

かなりバギーではっきりいって使い物にならないので
素直に別のコンポを探すか自分で組みなさい。
0087デフォルトの名無しさんNGNG
>>86
どもです。やっぱ使えないですか…
途中まで作ってはあるのでやっぱりそっちを完成させることにします。
delphiの方のは正常に動くってのが腑に落ちないですが、気にしないことにします。
ありがとうございました。
008873NGNG
>>77
やっぱりないみたいですね・・・
VB だと/run があるので、なにかあると思ったんですが
残念です。
0089デフォルトの名無しさんNGNG
超既出かもしれないんですが、TEditやTScrollbarなどのメンバ(TextやPosition)を
関数にポインタで渡して書き換えることはできないんでしょうか。
前者の場合、Ansistringという良くわからない型のためにchar *に渡せないし、
後者の場合、const int型ということで、&(Scrollbar1->Position)などでアドレス渡ししても
変更は受け付けてくれないみたいです。
なんかソースがだら長くなって遺憾だなあとおもうのですが・・・
なんか良い方法はないでしょうか? C++は初心者ということでお願いします。
0090デフォルトの名無しさんNGNG
BCB5.0でD/A変換ボードを扱うプログラムを作っているのですが
プログラムを実行した時にエラーが発生します。
とりあえず、現在に至った経緯を説明しますと
D/A変換ボードのメーカーさんから提供されている*.libファイルが
VC用だったのでcoff2omf.exeでBCB用に書き換えた後
*.hと*.lib(書き換え済み)をプロジェクトに追加しました。
コンパイルすると「リンクしているエクスポートFBIDA.DLL:_DaClose@4」が
見つかりません」と言うエラーが出たので
[プロジェクトオプション]を適当にいじってみて
[リンカ(詳細)]の[延滞ロード]に*.dllを追加してみたところ
コンパイラとリンカは通ってProject1.exeが出力されました。
しかし、いざToolButtonをクリックすると
「プロジェクトProject1.exeがEExternalException クラスの例外
を生成しました。'外部例外 C0FB007F' プロセスは停止しています。」
というエラーが発生しました。
インターネットで色々調べたのですが原因がわからず
困っています。どなたか詳しい方解決法を教えてくださいm(__)m
0091デフォルトの名無しさんNGNG
>>90
「extern "C"」でくくってみるとか……

extern "C"{
#include "fbida.h"
}
0092デフォルトの名無しさんNGNG
>>89
結論だけ言うとくと無理。
自称初心者相手に理由を説明するのは面倒なので
「何故?」と思ったらC++の勉強をきっちりした上で開発者ガイドを読んでくれ。

なおAnsiStringをchar*にすることは自体は簡単にできる。
これもきちんとヘルプを読むべし。
0093デフォルトの名無しさんNGNG
>90
libファイルの書き換えって、いつもこういうふうにやってますが・・・
impdef *.def *.dll
implib *.lib *.def
0094デフォルトの名無しさんNGNG
ツールボックスっぽいものを作ろうとしているのですが、
タイトルバーが無く、かつウィンドウサイズ変更が可能な
フォームを作るにはどうすれば良いでしょうか?
009594NGNG
ごめん。
Builder MLの過去ログにありました。
http://www2.big.or.jp/~osamu/Delphi/builder-browse.cgi?index=014264
0096デフォルトの名無しさんNGNG
BCB6.0のPersonalでATL/WTLプログラミングってできる?
0097デフォルトの名無しさんNGNG
>>89
型の問題じゃない。プロパティだから。

俺ならTEditやTScrollbarのインスタンスごと渡す。
009889NGNG
>>97
できました。ありがとうございました。
クラスといっても渡し方は構造体とかと一緒なんですね。
0099デフォルトの名無しさんNGNG
>>98
C++において
classとstructの違いはデフォルトが
private:かpublic:かだけです
0100デフォルトの名無しさんNGNG
くだらない質問なんですけど、TFormとかTLabelのTってなんの略ですか?
0101デフォルトの名無しさんNGNG
ていうか、Textプロパティの処理に char* を引数にとる関数を使うなよ。
AnsiStringのメソッド使ったらエエやン。
何のためにVCLいやさBCB使ってるのかと小一時間(ry
0102デフォルトの名無しさんNGNG
>>100
Type
0103デフォルトの名無しさんNGNG
>>100
Typ
0104デフォルトの名無しさんNGNG
>>100
Ty(ry
0105デフォルトの名無しさんNGNG
すいません、CppWebBrowserでURLジャンプ時に起こるイベント、OnNavigateComplete2を使ってます。
で、引数でジャンプ先のURL(Variant *URL)を捕まえてくれるんで、それを利用しようと思ったんですが、

Edit1->Text=*URL;

とかで中身を見ると「\」の文字が全部消えちゃってます…。
*URLをAnsiStringにしてその後の処理に使おうとしたのですが、これでは困りものです。

Variant *URL から「\」の字を失わないでAnsiStringにキャストする良い方法ってないんでしょうか?
0106デフォルトの名無しさんNGNG
>>105
試してみたが、ローカルのファイルパスとUNCどちらの場合も問題はない。
まさかとは思うがURLを渡して「\がない」と言っているわけではないな?
0107105NGNG
>>106
ありがとうございます。UNCってのがよくわかりませんが、
ジャンプ先のURL先というのは、全部ローカルで少し特殊なもので

#C:\Documents and Settings\hoge\デスクトップ\hoge.jpg

というもの。
つまり同一ページに架空のアンカーを貼って、OnNavigateComplete2イベントで
画像のパス情報を受け取ろうとしてるんです。
もっと簡単に言うと「#」後のアンカー名を利用してアプリケーション側に情報(画像のパス)を投げています。

で、イベント発生時に*URLの中身が実際にどういうものになるかというと

file:///C:/Documents%20and%20Settings/hoge/デスクトップ/test.html#C:Documents and Settingshogeデスクトップhoge.jpg

このようなものになります。
「#」(アンカー)から前のパス(〜test.html)は元のページのものです。
同一ページにアンカー貼ると自動的に付加されるようですね。当たり前か。
で、情報として利用したい「#」以後のパスはご覧のとおり\が消えちゃってます…。

最初から「\」を「/」に置換しておいて、イベント発生後にパス名を利用する時に再度逆に置換し直す、
という手続きを経るのが一番簡単な解決でしょうか…。
0108デフォルトの名無しさんNGNG
>>107
アフォ。情報の後出しはするな。
おまえは>>105の発言だけで他人が.>>107の内容を推測できると本気で信じているのか?
もう一度言う、大事な情報を後出しするような質問の仕方は絶対にするな。
どこのスレに行っても嫌われるぞ。
質問内容についてはオレは知らん。自分で勝手に解決しろ。
0109デフォルトの名無しさんNGNG
まあ、あんまり詰め込んで長すぎる質問ってのも読む方にとっちゃ面倒なので
親切心から要点をまとめて質問するってのも良いとは思う。

しかしどの情報を入れて何を抜くかの選択をきちんと判断しないとその親切心が仇になるぞ。
0110107NGNG
>>108
すいません、色々と考えて
「Variant *URL から「\」の字を失わないでAnsiStringにキャストするには」という質問の仕方が
一番問題点を簡潔に集約してると思ったのですが、確かに過程の部分をもう少しちゃんと書き込むべきでした。

>>109
おっしゃる通りです。
初心者板で質問するだけあってなかなかその判断がうまくつかなくて。
精進したいと思います。
0111デフォルトの名無しさんNGNG
>>110
ていうか、自分が初心者だと思うなら、何か妙な動作が起きたときは、
自分が間違ったことをしているのではとまず疑いなさい。
>>105は、自分は間違ってないが、TCppWebBrowserの動作がおかしいという
書き方でしょ?
実際>>107の使い方はおかしい。URLで本来"\"は使わない(IEが強引に解釈
してしまうから話が面倒になるが)。正常に動作しないのは仕方がない。
「自分の使い方はおかしいかも?」と疑う気持ちがあれば、質問するときは
”自分の使い方”をきちんと説明する必要があると自然に判るはず。
ま、これに懲りずにがんがれ。
0112デフォルトの名無しさんNGNG
すいません、TMemoコンポをフォームに配置すると
デフォルトでTMemoの内部に「Memo1」とかの文字が入ってきますが
これってインスペクタで空に出来ないんですか?
0113デフォルトの名無しさんNGNG
>>112
できる。
たのむからこのぐらいはヘルプ読んでくれよ。(;´Д`)ハァ
0114デフォルトの名無しさんNGNG
>>112
まずはクイックスタートガイド読め。
話はそれからだ。
0115デフォルトの名無しさんNGNG
>>112
これを「できない」って思うようじゃ、これから先の開発が大変だろうに…。
がんばれよ。
0116デフォルトの名無しさんNGNG
「どうやったらできますか?」だと回答する気にもなるけど
「できますか?」だと「できる or できない」の一言で済ましたくなるし
「できないんですか?」だと「お前にはな」と書きたくなる。
0117デフォルトの名無しさんNGNG
というわけで、質問する香具師は「人の振り見て我が振りなおせ」ってことだ。
0118デフォルトの名無しさんNGNG
http://pc2.2ch.net/test/read.cgi/tech/1070222674/116-117
0119112NGNG
あ、やっぱりインスペクタから設定出来るんですか。
TextとかCaptionプロパティがインスペクタにないから何でなんだろと思ってたんですが。
オブジェクトインスペクタのどこをいじればいいんでしょうか?
よろしくお願いします。
0120デフォルトの名無しさんNGNG
>>119
ヘルプorクイックスタート読め。
0121デフォルトの名無しさんNGNG
>>119
小学生にはC++は難しいと思うよ。
BASICあたりからがんばってください。
0122デフォルトの名無しさんNGNG
>>119
かわいそうなのでヒント。
ユーザがTMemoにキー入力した場合、お前はその内容をどうやって取得する?
0123 NGNG
>>119
インスペクタのLinesプロパティの・・・をクリックすればできるよ。
0124デフォルトの名無しさんNGNG
>119
Linesプロパティ
しかし、TMemoのヘルプを読まないと、結局使えない。
プロパティ、メソッド辺りを読むこと!
0125デフォルトの名無しさんNGNG
119はこんな低レベルの質問するくらいだからクイックヘルプの存在を知らないとみた。
フォームで調べたいオブジェクトを選択して(この場合はメモ)F1押せ。
0126122NGNG
台無し・・・
0127デフォルトの名無しさんNGNG
どうせネタだろ。
それか相当な莫迦
0128デフォルトの名無しさんNGNG
ラーニングだからついてないんだが
¥6000のBorland C++Builder 6 マニュアルセット(PRO、ENT共通)は買う価値ありますか?
ヘルプはそこそこ読めるレベルなのですけど。
それとも参考書C++Builder 6 コンポーネント活用ガイド&実践プログラミング Vol.1とVol.2
を両方買うのとどちらが良いですか?
プロだと分厚いマニュアルが付属するのですよね。

0129デフォルトの名無しさんNGNG
プロジェクト内のユニットすべての総行数は表示できませんか?
ソースどのくらいと聞かれたときにしょうがないから自分足してます。
コンパイルのときに表示される行数はVCLとか<math.h>を含めた
行数みたいですから自分が書いた文だけ知りたいのですけど。
0130デフォルトの名無しさんNGNG
>>128
マニュアルはことごとくPro版、Ent版のHelpを印刷した「だけ」のもの。
だからラーニング版なら買う価値があるが。

それとC++Builder 6 コンポーネント活用ガイド&実践プログラミング Vol.1とVol.2
だが、現在はVol.3(データベース機能編)も出ている。ラーニング版に
データベース機能がないならVol.1とVol.2だけで良いと思うが、それよ
りもDelphiの参考書の方がいいと思う。俺はVol.1とVol.2を買ったが
極々初心者用の内容だった。Vol.3はDelphiのオフィシャル・コースウェア
と重なる内容だったので買わなかった。
0131デフォルトの名無しさんNGNG
>>130
サンクス!
C++Builder 6の本ばかり探していたので
今度、Delphiの本も見てみます。
0132デフォルトの名無しさんNGNG
Builderの書籍って実践的なプログラミング内容のものってないんですよねぇ。
ページ数はいっぱいで分厚くても操作マニュアルではね・・・
0133112NGNG
>>123
>>124
ありがとうございます、できました!
うっかりしてました。
0134デフォルトの名無しさんNGNG
>>130が書いてるけど、Delphi本を探した方がいいと思う。
C++を書けるならDelphiを読むのは難しいことではないし、
VCLソースを読むためにもDelphiは必須だから読めるように
なっておくとその差は大きい。

逆にDelphiやってる香具師はC++を読めるようになって
おかないと膨大なC++系の資料が使えないんだな。

結局DelでもBCBでも両方読み書きできる人が強い。
0135デフォルトの名無しさんNGNG
C++Builderのエディタってなんであんなに使い勝手悪いの?vi風にして欲しい。
0136デフォルトの名無しさんNGNG
じゃあvi使えばぁ?
0137デフォルトの名無しさんNGNG
ほれ
ttp://hp.vector.co.jp/authors/VA003457/
0138デフォルトの名無しさんNGNG
プログラムのボトルネックになってる部分を
調べる方法って用意されてるんでしょうか?
自力でどうにかしなきゃいけないんでしょうか?
0139デフォルトの名無しさんNGNG
>>138
初心者の俺から言わせると
ボトルネックの意味を正しく使ってるのか聞きたい。
どういう事で聞いてるの?ツールとしてあるかとか?
こういう聞き方をするということは初心者ですか?
そんなシビアなことをやってるとはこの文の表現能力から思えません。
ベストをつくせ

参照渡しとか値渡しの適材適所を知っていれば良いのでは
あとif文の判定が複数の時の順序とかかな。

ブレークポイントで通過回数を調べれば
関数の試用頻度がわかるから多い所を改良。

画像や表示系は時間がかかるのは常識だから
通信系の方は、俺は知らない。

それともfor文で判定につかう変数をいじってるせいで
抜け出せないとか?
0140デフォルトの名無しさんNGNG
>139 あんた馬鹿???
おれは138ではないが、要するにプロファイラーがあるのかって聞いているのだろ。
プロファイラーって知ってるか?
0141デフォルトの名無しさんNGNG
>>138
質問でわかりやすく。
0142デフォルトの名無しさんNGNG
>>140が馬鹿
0143デフォルトの名無しさんNGNG
>>141
間違えた。
質問はわかりやすくだな。
その上、上げてしまった。
0144デフォルトの名無しさんNGNG
>>140
おまえが一番馬鹿。
そう思うなら、>>138に対して答えてあげるべき。
しかも煽りレスでageてるのは厨房の証拠。
0145デフォルトの名無しさんNGNG
139=142=144 必死だな。
今必死になって、プロファイラーを検索している>>144の必死な姿が目に浮かぶよ。
知りもしないくせに知ったかぶりするから>139みたいな間抜けな回答になるんだよ。

VC6に付属しているようなプロファイラーはC++Builderには標準では付いていないってのが答え。
0146これも釣れるかなNGNG
>139の書込があまりにも間抜けだったからちょっと釣ってみただけ。
今回はずいぶんと引きがよかったね。
釣れたのは雑魚だったけど。
0147デフォルトの名無しさんNGNG
この人プルってる?
0148ロバート・K・レスラーNGNG
>>140
呼んだか?
何か凶悪事件でも発生したか?
0149デフォルトの名無しさんNGNG
>>148
ハウス
0150デフォルトの名無しさんNGNG
>>145
標準で付いてないってことは、ツールの付けだしができるってことですか?
じゃあVCの方がデバッグに強いってことでよいの?
0151138NGNG
ええ、BCBについてはまだ脱初心者できてないかもです
そんな私だからこそ、どこが遅いのか見当がつきにくいんですよ

プロファイラでぐぐっても出てこないから
その言葉で合ってるのか自信がなかったんです、すんません

やっぱ標準じゃついてないんですね
ttp://village.infoweb.ne.jp/~fwhk9290/gimite/index.htm
のMaprofってのを使ってみました

ソースに埋め込まなきゃいけないのが辛いですが
処理時間はそれっぽく出ています

ありがとうございました
0152クラリス・スターリングNGNG
>>148
師匠、ご無沙汰してます。
0153デフォルトの名無しさんNGNG
>>151
そんなのがあるのか今度つかってみよ
0154138NGNG
プロファイラが見つかって
どうにか使いこなしてボトルネックも見えてきました
(やっぱり思わぬ所で時間を取ってた、というのが見つかりました)

ListViewに4000件程度のデータを登録する
という極端な状況を想定しているのですが
(160GB HDDの全フォルダに相当する数です)
処理時間の1/3位
ListItemHogehoge->ImageIndex = n;
に持っていかれてるみたいです

まあ、そんなわけで、C++Builder-MLやら
ここのログやら見てみたのですが

・BeginUpdate、EndUpdate
→やってます
・ViewStyle = vsIcon にする
→Captionが2行以上になると急に遅くなる
・仮想リストビューを使う
→ ttp://www.microsoft.com/japan/developer/library/vccore/_core_virtual_list_controls.htm

どうも、仮想リストビューかなぁ、という気がしてるのですが
これはVCLのサポートは無い状態でやることになるんですかねぇ。。。
MFCはサポートしてるのにヽ(`Д´)ノウワァァン!!

それとも、VCLのリストビューでオーナードローがりがり、なのかしら?
ちと混乱気味なので、Delphi-MLでも覗いてみよう。。。

# なんか独り言みたい
0155138NGNG
おお!
ちゃんとVCLがサポートしているじゃないか<仮想リストビュー
TListView の OwnerData を true にして
OnData、OnDataFind、OnDataHint、OnDataStateChangeの記述、と
0156デフォルトの名無しさんNGNG
>ListViewに4000件程度のデータを登録する
>という極端な状況を想定しているのですが

仮想リストビューだったら100万程度でも余裕だよ。
0157デフォルトの名無しさんNGNG
すごい超低レベル質問でごえんください。

gccやlccのコンパイラを使おうとすると、BCBやDelのmake.exeが
悪さをすることがあります。つまり、先にBCBをインストして、あとで
WideStudioなどを使おうとして、Path設定にWSのBinディレクトリを
指定すると、BCBのmake.exeが優先されてエラーになるのです。

Win2000を使っているのですが、環境変数でPathの二重登録をして
場合によってmakeを使い分ける方法を教えてください。
0158デフォルトの名無しさんNGNG
>>151
ん?作者の宣伝?
0159デフォルトの名無しさんNGNG
TScrollBarってフォーカスもってるせいか自分にフォーカスがあると
点滅しているのですが、この点滅をやめる方法を教えてください。
TScrollBarにフォーカスがある状態でね
0160デフォルトの名無しさんNGNG
漢字対応のstrtokがほすぃ(゚д゚)
0161デフォルトの名無しさんNGNG
>>160
文字列をwchar_t*に変換してwcstokではだめ?
という自分はそんなときもっぱらboost::tokenizerを使うけど。
0162 NGNG
MD5値を算出するにはどうすればいいのでしょうか?
0163デフォルトの名無しさんNGNG
>>162
ttp://www21.ocn.ne.jp/~k-west/SSLandTLS/rfc1321-Ja.txt
0164デフォルトの名無しさんNGNG
おめーらさっさと>>159教えれやボケが
0165 NGNG
>>163速レス感謝!
ご紹介のサイトを拝見しましたが僕の実力では理解困難です(´・ω・`)
MD5を簡単に算出できるVCLかAPIなどがあれば助かるのですが・・・
0166デフォルトの名無しさんNGNG
>>165
リンク先にはCソースがまるごと載ってんだけど。しかも日本語訳だし。

Delphiでの実装
ttp://forum.nifty.com/fdelphi/samples/01242.html
DSPでの検索結果
ttp://dsp.href.com/scripts/runisa.dll?DSP.131508:DATA:413196.5637:.keepckb,results
0167 NGNG
>>166
実装のサイトとても参考になります。どうしようもないヘタレなのでまた分からないことがあったらよろしくお願いします。
0168 NGNG
>>166
たった今MD5値取得に成功しました!!ありがとうございました。
0169デフォルトの名無しさんNGNG
質問です。

 任意の変数の値が書き換えられた時に
 プログラムの実行をブレークする

っていうのって、BCB6Pro でできますか?
できるとしたらその方法を教えて下さい。

監視式に関するヘルプを読んでみたけど、
それっぽいものを見付けられませんでした。
0170160NGNG
>>161
Thanks!!
0171デフォルトの名無しさんNGNG
自動で名づけられたTForm1とかのクラス名を変更する方法ってありますか?
0172デフォルトの名無しさんNGNG
>>171
あるよ。>>116-117参照。
0173無職PGNGNG
>>171 インスペクタでNameを変更するだけでできます
0174デフォルトの名無しさんNGNG
C++Builder使ってる人ってレポートはどうしてるんですか?
何か便利なものがあるんですか?
0175デフォルトの名無しさんNGNG
すいませんが教えてください。当方pascalはまったくわかりません。
参考文献がDelphiしかなくそのソース読んでいたら、
with 〜 do
という部分があったのですが、これはどんな意味なのでしょうか。
ぐぐってみたのですが、withは一般的すぎるので検索できないと言われてしまい
うまく検索できませんでした。
0176デフォルトの名無しさんNGNG
>>175
bcbインストールディレクトリ/help/op.hlp
0177デフォルトの名無しさんNGNG
oplg.hlpだった∧||∧
0178デフォルトの名無しさんNGNG
Google 検索: pascal "with文"
http://www.google.com/search?hl=ja&lr=lang_ja&q=pascal+"with%95%b6"
0179175NGNG
>>176 >>177 >>178
ありがとう、さんくす、わかりました。
0180デフォルトの名無しさんNGNG
データベースでフィールドでテーブルの関連付けってどうやってやんですか?
0181デフォルトの名無しさんNGNG
インストール時に
bordbk51.dllが上書きできません、使用中です
ってでてインストールできないんですけど
どうしたらよいのでしょう?
誰か教えてください
0182デフォルトの名無しさんNGNG
BCB初心者なんですが、不可解な減少が起きてこまってます。

ボタンを1つ置いて簡単な処理を記述してるんですが、
ボタンをエンターキーを押すと、2回押すごとに例外エラーが発生します。
マウスでクリック連打したときは何もおこらないのに・・・
0183デフォルトの名無しさんNGNG
>>181
PC再起動して常駐ソフトを含め一切のアプリを起動しない状態でインストールする。
つか、こらWindowsの初歩だろ。この板で聞くことじゃない。

>>182
それは貴方が何か間違いをしでかしてるからです。
本気でアドバイスが欲しかったら自分の書いたコードを晒しなさい。
0184デフォルトの名無しさんNGNG
DBChartの使い方が詳しく記載されているページってないでしょうか?
builder-MLでも値を直接x,y軸に設定しているものはあったんですが、
DBの値を設定する方法がわかりませんでした。
0185デフォルトの名無しさんNGNG
>>184
とりあえずこんなのがあるけど。
http://www.borland.co.jp/qanda/delphi/d0003062.html
0186デフォルトの名無しさんNGNG
>>185さん

おおおっ!ありがとうございます。参考にしてみます。
0187デフォルトの名無しさんNGNG
BCB6で2次元バーコードを使いたいのですが、実現する方法がわかりません。
BCBには標準搭載していなさそうです。市販のコンポーネントを買えば出来るのでしょうか?
もし、市販のコンポーネントを使わないと実現できない場合は、製品名を教えていただけるとうれしいです。
BCBは最近使い始めたばかりで何もわかりません。ご存知の方よろしくご指導お願いします。
0188デフォルトの名無しさんNGNG
>>187
http://www.vector.co.jp/soft/win95/writing/se261885.html
表示だけなら。
解読用コンポーネントは知らん。

ちなみにQRコード開発元のデンソーにいけば
QRコードの詳細なデータがあるから
気合があれば自力で組むこともできる
0189デフォルトの名無しさんNGNG
バーコード OCX でググったら?
0190デフォルトの名無しさんNGNG
BCBで作ったソフトがあるんですが、BCBをインストールしているパソコンだと
問題なく実行できるんですが、インストールしてないパソコンだとdllがないって
エラーがでて実行できません。自作ソフトでどのdllが必要なのか調べる方法は
ありますか?
0191デフォルトの名無しさんNGNG
Microsoft dependency walkerを使いたまえ
0192デフォルトの名無しさんNGNG
>>191
へぇー、こんなんあるんだ。しらなんだよ。
つか、>>190は、ランタイム使わなきゃいいんじゃ? という回答もあるがな。
0193デフォルトの名無しさんNGNG
>>190
1)[プロジェクト] - [オプション] - [パッケージ] - [実行時パッケージを使って構築] チェックをはずす
2)[プロジェクト] - [オプション] - [リンカ] - [リンク] - [ダイナミックRTLを使用] チェックをはずす
じゃないの?サイズでかくなるけど。
0194デフォルトの名無しさんNGNG
>>191
サンクス。
>>192-193
サイズが大きくなるので小さくすます方法はないかなと思ったわけです。
0195デフォルトの名無しさんNGNG
>>194
ツールが見つかったようなので参考程度に。

愚直に探すならBCBインストール済みとインストールしてないPCを1台ずつ準備して

インストールしていないPCでプログラム実行
→足りないDLLの名前が出るのでインストール済みのPCからコピペ

これを実行できるまで繰り返す。

というかBCBのヘルプかマニュアルに配布可能な共有DLL一覧があったはず。
0196デフォルトの名無しさんNGNG
ListViewのSmallImagesとLargeImagesにそれぞれImageList1, 2がセットされていて、
オーバーレイのイメージを大小それぞれImageList3, 4に用意してあるとします。
このときオーバーレイイメージにImageList3, 4のイメージを使うことはできますでしょうか
0197デフォルトの名無しさんNGNG
フリーのボーランドのC++コンパイラーをインストールしようとしたら下
のような指示がでたんですが。。。まったくやり方が分かりません(bin
ディレクトリの操作の説明がまったく分からないんです。。。)。
だれかお願いします教えてください!!ほとんど知識がないので馬鹿な質
問だとは承知ですが先輩方本当にお願い致します。

コマンドラインツールのインストールと実行
-----------------------------------------------

1. freecommandlinetools.exe を実行します。無料の C++Builder 5
コマンドラインツール開発システムをインストールしたいドライブと
フォルダを選択します。

2. インストール先の bin ディレクトリで次の手順を実行します。
a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。
b. bcc32.cfg ファイルを作成します。このファイルは,Include
および Lib パスのコンパイラオプション(コンパイラの -I
および -L スイッチ)を設定するものです。ファイルには次の
行を含めてください。
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
c. ilink32.cfg ファイルを作成します。このファイルは,Lib
パスのリンカオプションを設定するものです。ファイルには
次の行を含めてください。
-L"c:\Borland\Bcc55\lib"
0198デフォルトの名無しさんNGNG
>>197
コンパイラの環境設定から読んでみて
http://www.mgs2.com/online.lesson/language.c/02.html
0199デフォルトの名無しさんNGNG
>>197
専用スレあるよ。
タダで使えるBorland C++ Part3
http://pc2.2ch.net/test/read.cgi/tech/1054390397/l50
0200デフォルトの名無しさんNGNG
ありがとうございます!!これからやってみます!!
0201196NGNG
カスタムドローでどうにかそれっぽくなりました。
ViewStyleがvsReportじゃないとOnDrawItemはこないんですね…
0202デフォルトの名無しさんNGNG
BCB6で、オーディオソフトを作っているのですが、
以下のAPIがうまく使えません。

waveOutOpen(&hwo,
nDevId,
&wfx,
(DWORD)waveOutProc ,
(DWORD)this ,
CALLBACK_FUNCTION);

第4引数で、waveOutProcというコールバック関数を指定しているのですが、
ここでコンパイルが通りません。
エラー内容は、
「メンバー関数は呼び出すかそのアドレスをとらなければならない」
です。

ちなみに、waveOutProcの宣言はこんな感じです。
void CALLBACK waveOutProc(HWAVEOUT hwo, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2);

試しに、
(DWORD)&waveOutProc ,
としてみると、
「'void (__stdcall * (_closure )(void *,unsigned int,unsigned long,unsigned long,unsigned long))(void *,unsigned int,unsigned long,unsigned long,unsigned long)' から 'unsigned long' へのキャストはできない」
というエラーがでます。

どう書けばよいでしょう?
0203デフォルトの名無しさんNGNG
http://www.google.co.jp/search?q=%E3%83%A1%E3%83%B3%E3%83%90%E3%83%BC%E9%96%A2%E6%95%B0+callback&ie=UTF-8&oe=UTF-8&hl=ja&lr=lang_ja
0204202NGNG
>>203 ありがとうございます。staticにして解決できそうです。
0205デフォルトの名無しさんNGNG
>>202
もし、普通のプレイヤー作ってるならDirectShow使った方が楽だぞ
0206デフォルトの名無しさんNGNG
>>205
webで公開されているフィルタなどのアルゴリズムを試して遊ぶのに、
土台にするアプリを作ってます。
DirectShowは、難しそうなのでとりあえず置いておこうと思ってました。
今の知識では無理っぽいです。
0207デフォルトの名無しさんNGNG
  ∧ ∧
 (・Д・ ,,) { ………。 )
  (u u__)〜
0208デフォルトの名無しさんNGNG
>>207
E2188 式の構文エラー
E2379 ステートメントにセミコロン(;)がない
0209デフォルトの名無しさんNGNG
>>204
googleでポインタ示されるのは、答えてくれてるんじゃなくて。
「googleで検索しろよカス消えろ」って意味なんだよ。
0210デフォルトの名無しさんNGNG
やれやれ・・・カルシウムが足りない方が居られますね。
0211デフォルトの名無しさんNGNG
Q: 23歳男性です。最近ちょっとしたことでイライラすると友人に相談したところ、
アスパラCAというカルシウムの薬をすすめられました。成分は天然に存在する
カルシウムなので、副作用もなく安心ということなのですが、いかがなものでしょうか。

A: おすすめできません。飲まない方がいいと思います。
 第一に、イライラとカルシウムは関係ありません。なぜかイライラするのは
カルシウムが足りないせいだという俗説がありますが、根拠がありません。
おそらくは、神経細胞の活動にはカルシウムイオンが重要な役割を持っていることから、
誰かがそれならカルシウムを摂れば神経が安定すると考えたのかもしれません。
これは全く意味がありません。エセ科学の見本のようなものです。
 第二に、カルシウムを摂りすぎると尿管結石や腎臓結石の原因になります。
アスパラCAは、何かの病気のためにカルシウムが不足している場合(たとえば
副甲状腺の病気)の薬で、それ以外の時に飲むのは意味がないばかりかかえ
って害になります。どんな薬でも、「副作用がない」といわれた場合は詐欺であると
考えるべきです。その薬が自然の成分によるものであっても同じことです。
0212187NGNG
>>188-189
ありがとうございます。
試してみます。
0213soraNGNG
こんにちは。
今回OSをWin95からWinXPに変更したのですが、
C++Builder3とImageKit4で作成したプログラムを
C++Builder6とImageKit6にバージョンアップしようとしたのですが、
C++Builder6とImageKit6はサポートされないという事でした。
そこでImageKitに替わるC++Builder用の画像処理用支援ツールを探しています。

ぱっ!と思い付いたのがLaedToolsだったのですが、どうもC++Builderには対応していないようです。

そこでどなたかC++Builder6に対応した画像処理用の外部コンポーネントツールをご存知の方が居ましたら教えて下さい。

やりたい事は、スキャナで取りこんだイメージをマウスで任意範囲選択し、その部分イメージを切り出し、
別イメージとしてDBに保存すると言う機能です。

Web等で検索したのですが、中々見つかりません。
どうそ宜しくお願いします。


0214デフォルトの名無しさんNGNG
すいません質問です。
TComboBoxのアイテムに現行のTComboBoxのTextを追加する際、
すでに同一のものがある場合はかぶってるものを全て削除してるんですが、
その削除の部分をwhile文でこんな風に書いてます。

while(ComboBox1->Items->IndexOf(ComboBox1->Text) !=-1){
ComboBox1->Items->Delete(ComboBox1->Items->IndexOf(ComboBox1->Text);
};

こんな感じで、自分が書くと同じものが二度出てきたりかなり不細工になっちゃうんですが、
マクロ使ったりコードの行数をこれ以上増やさないで(つまりwhile文と中の一行だけ)、もっと
エレガントに書けちゃったりする方法があれば教えてもらえないでしょうか。

いや、TComboBox関係ないC++の基本みたいなことを聞いてお恥ずかしいかぎりですが
なんか条件制御文の左項を表す記号「%d」(適当)、とかがあればなぁと思ったんですが。
0215デフォルトの名無しさんNGNG
最近C++使ってないけど、こんな書き方できなかったっけ?
while((int ix = ComboBox1->Items->IndexOf(ComboBox1->Text) )!=-1){
ComboBox1->Items->Delete(ix);
};
0216デフォルトの名無しさんNGNG
おれも>215の書き方するな
・・・っていうかカッコの数が合っていないぞ>214
>>215をよくみたら、それはエラーと思われ。

int ix;
while((ix=ComboBox1->Items->IndexOf(ComboBox1->Text) )!=-1){
ComboBox1->Items->Delete(ix);
};
でよいと思われ。
0217デフォルトの名無しさんNGNG
C++BuilderXって、Windows以外のにMacのプログラムも組めるのでしょうか?
0218デフォルトの名無しさんNGNG
>>215
>>216
あぁ、条件制御の中ってカッコでくくれば if((a=b)==c) みたいな書き方できたんですね。
これは知りませんでした、かつ自分にはかなり有用で助かります。

あと先ほどからどうしても理解できないことがあるんですが、
下のコードでやると項目数が二つ以上ある場合、コンボボックスのTextが消えてしまうんですが、
これってどういうことなんでしょうか。

TComboBoxのTextってプルダウンのItemsとは別個のもののはずですよね?
そんなものを削除した憶えはないんですが…。
自分が何か勘違いしてるんだとは思うんですが、どこを間違っているのやら。


(現在ComboBox1に表示されてる文字列をアイテム先頭に追加。TButtonのOnClickに書いてます)
int ix;
AnsiString ComboText=ComboBox1->Text;
if ( ComboText!="" ){
 while((ix=ComboBox1->Items->IndexOf(ComboText))!=-1){
  ComboBox1->Items->Delete(ix);
 };
ComboBox1->Items->Insert(0, ComboText );
}
0219デフォルトの名無しさんNGNG
MCIで多重音声再生できますか?
「へぇ〜」ボタン(趣味で)作りたいんだけど何かいい方法は?
0220デフォルトの名無しさんNGNG
すいません、OpenDialogでフォルダだけを選択できるようにしたいんですが、
どうやってやるんでしょうか。
拡張子でフィルターかけたりする方法はわかるんですが、フォルダが選択できなくて…。
0221デフォルトの名無しさんNGNG
質問です。
初期設定用のダイアログとしてTPagesDlgを使ってます。

で、親元のTFormからShowModalで呼ばれてダイアログ開いた時に、
初期設定用ということですでに設定されてる値は
TMemIniFileのReadString()とかで呼び込んできますよね。

でもIniファイルを読み込むって作業はアプリケーション立ち上げた時に行っているので、
TPagesDlgに同じようなのをもう一度書くのもメンドウです。

なのでForm1ですでに読み込んでグローバル変数にしているIni値をそのまま使おうと
考えたんですが、哀しいことに書き方がよくわかりませんでした…


//TPagesDlg内にて
//変数FolderPathはForm1側のグローバル変数

Edit1->Text=Form1::FolderPath;

[エラー]Form1がクラス名または名前空間名ではない


こんな感じでうまくいきません。
この場合どのように書いたら他フォームのグローバル変数を受け取ることが出来るんでしょうか?
0222デフォルトの名無しさんNGNG
>>221
普通の書き方は多分
//Form1.h
extern AnsiString FolderPath;

//Form1.cpp
AnsiString FolderPath; //実体の定義

んでFolderPathを使いたいユニットでForm1.hをincludeする。
ただし、使用する変数の数が少ないなら引数で渡すことを考えたほうがいい。
0223デフォルトの名無しさんNGNG
>>222
結構手続きがいるんですねー。でもちゃんと出来ましたです。
どうもありがとうございます。
0224デフォルトの名無しさんNGNG
>>223
いや、ほんといえば、includeを使わず直接使う側のユニットに
extern AnsiString FolderPath; って定義してもいいんだけど
それは推奨されないってこと(実体がどこにあるか分からなくなる)。

でお薦めはやはりTPagesDlgを呼び出すための関数を定義すること。
これなら引数も戻値も使えるし、なにより使い回しがしやすくなる。
0225デフォルトの名無しさんNGNG
すいません、CppWebBrowserを動的に作成してすでに作ってあるOnNavigateComplete2イベントを
くっつけようとしてるんですが、上手くいきません。
同じようにくっつけたOnNewWindow2イベントとかOnTitleChangeイベントはエラー無しなのに
どういうことなんでしょうか。

CppWebBrowser->OnNavigateComplete2 = CppWebBrowser1NavigateComplete2;

「コンパイルエラー内容」
'void (_fastcall * (_closure )(TObject *,IDispatch *,Variant *))(TObject *,IDispatch *,Variant *)' 型は
'void (_fastcall * (_closure )(TObject *,IDispatch *,tagVARIANT *))(TObject *,IDispatch *,tagVARIANT *)' 型に変換できない


一応書いておくとこのコード自体は別のCppWebBrowserのOnNewWindowイベントに書いてます。
まぁ関係ないとは思いますが。

どなたか解決法がわかる方、よろしくお願いします。、
0226デフォルトの名無しさんNGNG
>>225
型が違うってコンパイラーが言ってくれてるじゃん。
0227デフォルトの名無しさんNGNG
>>226
いや、型が違うと言われてもこのイベントのデフォルトの定義のままなんですけど…。
実際のイベントみても、こんな感じで。

void __fastcall TForm1::CppWebBrowser1NavigateComplete2(TObject *Sender,LPDISPATCH pDisp, Variant *URL)

これで何故型が違うと言われるのかわからないんですが。
自分じゃちょっとわからないんですが、他の部分に問題があるかもしれないんで、
一応もうちょっとコード出してみます。


TCppWebBrowser *CppWebBrowser = new TCppWebBrowser(this);
CppWebBrowser->Align=alClient;
CppWebBrowser->OnNewWindow2 = CppWebBrowser1NewWindow2;
CppWebBrowser->OnNavigateComplete2 = CppWebBrowser1NavigateComplete2;//コレだけがエラー
CppWebBrowser->OnTitleChange = CppWebBrowser1TitleChange;
CppWebBrowser->TOleControl::Parent = TabSheet;
0228デフォルトの名無しさんNGNG
TVariantだよん。
0229デフォルトの名無しさんNGNG
>>225
実験してないけど、多分キャストしてしまえば通るはず。
最後の引数がIDEのつくるイベントハンドラはVariant*形なのに
TCppWebBrowserの定義ではTVariant型になっているのが原因。
多分古いバージョンとの移植性を保つための処置だと思うけど。

なんか以前も別のコンポでこういう事があったような気がする。
よく覚えてないけど。
0230225NGNG
>>229
うー、ありがとうございます。
しかし、場数も全然足りないしこういうことははじめてなので、
どこをどうキャストすればいいのかわからないんですじゃよ…
0231 NGNG
>>220
http://www.yukibow.com/bcb/B0021.html
0232デフォルトの名無しさんNGNG
>>230
CppWebBrowser->OnNavigateComplete2
= (TCppWebBrowserNavigateComplete2)&CppWebBrowser1NavigateComplete2;
0233デフォルトの名無しさんNGNG
>>232
ありがとうございます。文字列のキャストくらいしか知らない自分には不可思議なキャストですが、
同じような局面でガンガン応用したいと思います。
0234デフォルトの名無しさんNGNG
>>233
文字列も何も、キャストはみんな同じなんだが・・・。
C++のキャストはいろいろバラエティがあるけど。
0235デフォルトの名無しさんNGNG
C++Builderでコンソールアプリを作成しようとしてます。
RS232Cの送受信を簡単にできないかとおもってfopenあたりで
COMポートを開いてみたのですが、送信は簡単にできたのです
が受信がうまく反応しませんでした。バッファをなしとかにしてみ
てもだめでした。

つぎにopenあたりで開いてみると、送信、受信できるのですが、
受信文字があるかどうかをチェックする方法がわかりません
&うまくいきませんでした。
1バイト読み込みをすると、読み込みにいったまま1バイト受信
するまでライブラリにいったままになってしまいます。

本質的にはC++Builderの質問ではないのかもしれないのです
が、fopenまたはopenあたりで受信文字数を検出することはで
きないでしょうか?
0236デフォルトの名無しさんNGNG
実行ファイルのリソースからアイコンを抽出するツールを作っているんですが、どうもうまく動いてくれません。
アイコングループ毎の初めのアイコンの情報は多分ちゃんと取得できているのですが、
その後のアイコンの情報がうまく取得できません(取得される値が明らかに変)。
使用しているリソースヘッダの構造体はMSDNに載っていたものと、
他にも調べた物と合わせたので大丈夫だと思うんですが…

とりあえず、実行ファイルのリソースからアイコングループを検索、
そこから得た情報を列挙するものを作成しました。
よろしければ見て頂いて気付く点があればアドバイスお願いしたいです。
BCB6 personalで作成しましたが、多少古くても問題ないと思います…

ttp://xtp0001.s3.x-beat.com/cgi-bin/up/source/Sonata_5759.zip
0237236NGNG
すみませんパスかけたの忘れてました bcb です
0238デフォルトの名無しさんNGNG
おいもまいら!
ぷろORパーソナル どっち使っているんですか?
0239デフォルトの名無しさんNGNG
すたんだーど
0240デフォルトの名無しさんNGNG
つ ま ん ね ー
0241デフォルトの名無しさんNGNG
>>235

普通の C ライブラリでやろうとするのは少し無理があるように思われ。
Windows の API を叩く方向で考えて下さいな。

CreateFile とか、ReadFile、WriteFile といったファイル入出力 API の他に
シリアル通信用の API があるから、そっちも使わないと

「受信データが無い時に受信しようとするとそれっきりになる」

という現象を回避する事はできませんよ。

あとは Windows API スレの住人の方々に尋ねてみて下され。
http://pc2.2ch.net/test/read.cgi/tech/1069339866/
0242デフォルトの名無しさんNGNG
これ使えば?
ttp://sourceforge.net/projects/comport/
0243デフォルトの名無しさんNGNG
スレ違いなのは承知ですが、、
C++ BuilderXを今使ってるのですが、Ctrl-Spaceでコード補間(補完?)してくれません。
ヘルプ見てもないようです。。確かC++ Builder5.0からコード補間ってありましたよね?
なんで退化するんだよぉー。コード補間がないとプログラムを書くのがつらいんじゃー。
0244デフォルトの名無しさんNGNG
スレ違いを承知で意味のない愚痴を並べてageるような香具師は氏ね。

Borland C++ BuilderX
http://pc2.2ch.net/test/read.cgi/tech/1065260556/l50
0245235NGNG
>>241
ありがとうございます。
WindowsのAPIをたたく方向で考えるようにします。

>>242
会社のほうがファイルを何も持ち込んじゃいけないって
感じのところになっちゃって、その割には業務時間を使
わずRSの対応ツールがあったほうがいいって感じにな
り、普通のCライブラリならさっと組みあがるかなぁって
感じなので・・・

お教えいただいたAPI関連を自宅で使って見てパターン
を覚えて会社でやってみます。みなさんありがとう〜
0246236NGNG
解決しました…
sizeof(構造体) と、構造体内のそれぞれの変数の型のサイズ合計に差があったせいで
ズレが生じていたみたいです。読み込み方も変えて、正確な値が取れるようになりました。
ソースも大して役に立つような物じゃないので消しますね
0247243NGNG
>>244 殿
海鮮切手首吊り増す。
0248デフォルトの名無しさんNGNG
ム板にも冬厨がわくのか。ハァ
0249soraNGNG
こんにちは。
再度ご質問します。
今回OSをWin95からWinXPに変更したのですが、
C++Builder3とImageKit4で作成したプログラムを
C++Builder6とImageKit6にバージョンアップしようとしたのですが、
C++Builder6とImageKit6はサポートされないという事でした。
そこでImageKitに替わるC++Builder用の画像処理用支援ツールを探しています。

ぱっ!と思い付いたのがLaedToolsだったのですが、どうもC++Builderには対応していないようです。

そこでどなたかC++Builder6に対応した画像処理用の外部コンポーネントツールをご存知の方が居ましたら教えて下さい。

やりたい事は、スキャナで取りこんだイメージをマウスで任意範囲選択し、その部分イメージを切り出し、
別イメージとしてDBに保存すると言う機能です。

Web等で検索したのですが、中々見つかりません。
どうそ宜しくお願いします。
0250デフォルトの名無しさんNGNG
C++Builder 6 verupの受付は今日でおしまいか‥。
未だに悩んでるのは私ぐらいなものか?
0251デフォルトの名無しさんNGNG
C++Builderって死滅しちゃうんですか?
0252デフォルトの名無しさんNGNG
すいません
今CppWebBrowser1のBeforeNavigate2イベントの引数( Variant *URL)を使ってこれからジャンプする先の
URLを捕まえて、そのリンク先を書き換えてます。

でもhtmlのアンカータグa hrefのターゲットが_blankになっていた場合、
つまり新規タブの新規コンポCppwebBrowser2がターゲットになった場合のことなんですが、
その時の動作はというと

1)元のCppWebBrowser1のBeforeNavigate2は作動せず。(自身は変化しないから当たり前)
2)新規CppwebBrowser2のBeforeNavigate2の引数*URLには
  ジャンプ前のURL (CppWebBrowser1のURLアドレス) が代入されてしまう。

という結果になってしまいます。
TCppWebBrowserのイベント発生順序は
BeforeNavigate2→NewWindow2→NavigateComplete2
の順番で、NavigateComplete2ではもちろんジャンプ先URLを受け取れるんですが
それじゃ遅いので、なんとかhtmlが読み込まれる前にURLを捕まえたいです。

なんとかBeforeNavigate2かNewWindow2のどちらかで
ジャンプ先のURLを捕まえる方法をご教授くださいませんでしょうか。
よろしくお願いします
0253250NGNG
あ〜、昨日は飲んでたらBCB6のことをすっかり忘れてしまってたよ(;´Д`)

まぁ、いいか‥
0254デフォルトの名無しさんNGNG
すいません、単純な質問ですが、ToolBarでボタンを縦に並べるってどうやったらいいんでしょうか?
なんか前にインスペクタのStyle設定かなんかでそういう設定を見たような気がしたんですが、
今見たらToolBarにスタイル設定なんかありませんでした。
よろしくおねがします。
0255デフォルトの名無しさんNGNG
>>253

俺も悩んでたけど、結局見送った。
BuilderXの今後の展開も気になるし、LHもあるし。
第一今のBCB4減価償却してない!
0256デフォルトの名無しさんNGNG
アップグレード敬遠。
初期化とテンプレートの実装がヤだね。
MingW-gcc3.3.1でいくわ。杉本さんバイバーイって感じ。
0257デフォルトの名無しさんNGNG
http://www3.nhk.or.jp/anime/12kokuki/character/character01.html#sugimoto

杉本さん…!?
0258 NGNG
>>256
C++のコンパイラ、初期化とテンプレートがおかしいの?
具体的に教えてくれませんか?
0259デフォルトの名無しさんNGNG
C++BuilderでDirectX使おうと思っているんだけど、DelでDX使うよりは簡単?
0260デフォルトの名無しさんNGNG
まだプログラミングをかじったばかりのころ、VC++を買ってしまった、、、
今思えばBCBにしとけば良かった (´Д⊂
0261デフォルトの名無しさんNGNG
おめでとうございます

URLエンコードされた文字列をデコードする方法を探してリファレンスを見てると、
そのものズバリURLDecode( )って関数を見つけたので使ってみたんですが
未定義だと言われてコンパイルエラーが出てしまいます。

IdGlobal.pasっていうのが関係ありそうなんで、
ヘッダファイルとかcppの先頭で
#include "IdGlobal.pas"
みたいなことを書いてもオープン出来ませんと言われる始末…。

Googleで検索かけても情報が全然ないし、途方に暮れてしまいました。
どなたかURLDecodeの使い方、もしくは違う方法でのURLデコード方法などあれば
教えて頂けないでしょうか、よろしくお願いします…
0262デフォルトの名無しさんNGNG
>261
Indy の関数じゃないのかな?
0263デフォルトの名無しさんNGNG
2つのTLabelコンポーネントの全部、または一部が重なっている時、どちらが前面に表示されるかは、
どのように決まるのでしょうか?
決定するプロパティなり、順番を入れ替えたり、指定したコンポーネントを
最前面に表示するメソッドを教えてください。
(Visibleをfalseにする訳にはいきません。一部のみが重なっている場合、両方を表示させたいので・・・)
0264デフォルトの名無しさんNGNG
>>262
ありがとうございます。色々試した結果
#include <HTTPProd.hpp>
#include <HTTPApp.hpp>
#include <IdComponent.hpp>
をヘッダに書けばデコード関数が動くみたいです。

どうもありがとうございます。
0265デフォルトの名無しさんNGNG
>>263
TControl::BringToFront

例えば
Label1->BringToFront();
0266デフォルトの名無しさんNGNG
すいません、TComboBoxでボックスの中身を編集不可にしたいため、
スタイルの設定をopDownListにしてるんですが、
それをやるとデフォルトで入れてるTextが空になってしまいますよね。

編集不可にしつつ、デフォルトの状態でTextに文字を入れておくにはどうしたらいいんでしょうか?
0267デフォルトの名無しさんNGNG
スタイルを編集可能にしつつ、実行時に編集不能にするってのは、
どうかね?
0268デフォルトの名無しさんNGNG
>>267
だめですー、StyleをcsDropDownListに変更したとたんに
デフォルトのTextに入ってる文字列が飛んじゃいますー。とほ
0269デフォルトの名無しさんNGNG
>>268
csOwnerDrawVariableでどう?
0270デフォルトの名無しさんNGNG
海外掲示板用オフラインリーダーを作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1072883528/

海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。

必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
0271デフォルトの名無しさんNGNG
>>269
だめですー。csOwnerDrawFixedにしてもダメでした。
しょうがないのでデフォルトの文字列をアイテムの一番先頭にして、実行時に
ComboBox->ItemIndex=0;

とやることで代用することになりそうです。

とここまでやって気づいたんですが、そんなことしないでも、インスペクタで初期値を指定できたようです…。

ただし編集不能といってもデリートボタンを押すとTextが空になってしまうので、
汎用的にOnChangeイベントにこんなコードを書くことで完璧になりました。

if(dynamic_cast<TComboBox*>(Sender)->Text.IsEmpty()==true )dynamic_cast<TComboBox*>(Sender)->ItemIndex=0;

おつきあいくださりどうもありがとうございました。
0272デフォルトの名無しさんNGNG
if (...IsEmpty() == true)
は、VCLを使うBCBでは非常によろしくないような
0273デフォルトの名無しさんNGNG
>>272
どういう意味?
詳しく教えていただけます?
0274271NGNG
>>272
あぁ、自分もよくわかんないで使ってたんですが、、、
もうちょっと正当な書き方があるんでしょうか。
0275デフォルトの名無しさんNGNG
プログラム初心者で趣味でやってます。
配列とかって動的に項目増やしたり項目数の調べたりするの面倒そうだし、
webでも詳しい使い方のってないので、代わりに全部TStringList使ってます。

これならBCBのレファレンスで詳しく使い方とかメソッドとか説明されてるんで安心。

…でも正直ちょっと不安です。
やっぱ何でもかんでもVCLばっかり使う(というかソレしか使えない)のってカッコ悪いですか?
0276デフォルトの名無しさんNGNG
>>275
TStringListを普通の配列に使うのは流石にやめれ。
std::vectorかTList使っておけと
0277デフォルトの名無しさんNGNG
漏れは構造体CSVに変換して
TStringListに格納して構造体配列の代わりに使ってた時期があるぞ。
当時は若かった…
0278275NGNG
なんかvectorってのがカッコ良さげだったのでとりあえず、
StringList使ってたとこを全てvector式に置き換えて見ました。

しかし、ただひとつsort使ってるとこだけコンパイルエラーが出ます。
「'sort'は'std'のメンバーではない」
ごく単純なミスだとは思うものの上手く修正できないのでどなたか見て頂けないでしょうか。

cppファイル
#include <vector>

フォームのメンバ
std::vector<AnsiString> hoge;

__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){

hoge.push_back("田中");
hoge.push_back("加藤");
hoge.push_back("江田島");
std::sort( hoge.begin(), hoge.end());

}
0279デフォルトの名無しさんNGNG
#include <algorithm>
0280275NGNG
>>279
さんくす
0281デフォルトの名無しさんNGNG
何故若者は格好に拘るのだろう…
0282デフォルトの名無しさんNGNG
配列の末尾に追加するのにvectorのpush_back()とStringListのAdd()の速度を比較してみました。


AnsiString Tex="けっこう!君の手は犬のヨダレでベトベトだァ!それに荷物はさっそく召使に運んでもらう!";

int BeforeTime = Idglobal::GetTickCount();
for(int n=0;n<1000000;n++){
G_NameSearchPath.push_back(Tex);
}
int Time =Idglobal::GetTickCount() - BeforeTime;


int BeforeTime2 = Idglobal::GetTickCount();
for(int n=0;n<1000000;n++){
G_Source->Add(Tex);
}
int Time2 =Idglobal::GetTickCount() - BeforeTime2;

結果、ベクターの方のTimeは765、StringListの方のTime2は282でした。
頻繁に追加したりするには向いてないとは聞いてたもののベクター遅いっす…
0283デフォルトの名無しさんNGNG
>>282
ループ前にG_Sorce->reserve(1000000); してみ

つか、配列とリスト構造とその他の違いを勉強した方が良いとは思うが。
0284デフォルトの名無しさんNGNG
質問です。
TCppWebBrowserのNavigateでwebページ読み込んだ後、
マウスホイールでくるくるとページをスクロールしようとしても出来ません。

一度TCppWebBrowser内をクリックしてやるとくるくるホイールでスクロール出来るようになるのですが、
二度手間というか、スマートじゃなくて困ってます。

TCppWebBrowserがアクティブ状態になっていないんだと考えて、
CppWebBrowser->SetFocus() とかやっても効かないのでどうしたらよいのかと。

どうかお知恵を貸して頂けないでしょうか。
0285デフォルトの名無しさんNGNG
>>284
TCppWebBrowserの機能ではできない。

フォーカスを当てる
http://hogehoge2001.at.infoseek.co.jp/note-delphi.html
Delphiでのコードだけど。
0286デフォルトの名無しさんNGNG
ADO Expressを使用してAccessに接続しようとしたのですが、出来ません。
ttp://www.borland.co.jp/cppbuilder/papers/ado/ado02.html
1.フォームにTADOConnectionコンポーネントを配置し、ConnectionStringプロパティで接続文字列を指定する。
ということなのですが、そもそも、ADOConnectionが何処にあるのか分かりません。。。
助けてください。
0287デフォルトの名無しさんNGNG
>>285
遅ればせながらありがとうございます。
なんとか出来そうですー
0288デフォルトの名無しさんNGNG
すいません、PageControlに並んだTTabSheetを削除すると、
すぐ右隣のタブに強制的にアクティブが移りますよね。

そうではなく削除後のアクティブタブを自分で指定したいので、


TTabSheet *ActTabSheet =アクティブにしたいタブシート;
TTabSheet *DelTabSheet = 削除するタブシート;

DelTabSheet->PageControl=NULL;
delete TabSheet;
PageControl1->ActivePage=ActTabSheet;


といった風に書いてみると、確かに削除後に指定のタブシートがアクティブになるんですが、
その一瞬前にピョコっと削除したタブの右隣にあったタブにフォーカスが移ってしまいます。

この一瞬のピョコって動きがなんともみっともなくてイヤなのですが、
どう書けばこのピョコって動きなしに指定タブにアクティブを移せるんでせうか。
よろしくおねがいします。
0289デフォルトの名無しさんNGNG
ピョコっ
0290デフォルトの名無しさんNGNG
>>288

試していないのですが(もし試してもらえたなら結果をおしえてほしい)
「ピョコっと」なる所でWM_SETREDRAW を送って描画を止めてみたらどうだろう。
0291デフォルトの名無しさんNGNG
BCB5 LearningEdition
コンポーネントのインストールやろうとしたら
致命的リンカエラー:DSNIDE50.LIBがない

と、言われました。
しかし、コンピュータ内を探しても他の拡張子のはありますがDSNIDE.LIBと言うファイルはありません。
VirtualTreeViewを入れて見た頃から何かおかしくなりますた。

誰か助けて・・・
0292デフォルトの名無しさんNGNG
>>288
フォーカス移動してから削除じゃダメ?
0293Delフサギコ ◆A6VzDeLphI NGNG
>>286
 ミ,,゚Д゚ミつ Pro版の機能なのではないかと。
0294デフォルトの名無しさんNGNG
>>291
初歩的なミス、ググレ
0295288NGNG
>>290
それって
PageControl1->Perform(WM_SETREDRAW, false, 0);
  //削除してアクティブを移す処理
PageControl1->Perform(WM_SETREDRAW, true, 0);
PageControl1->Repaint();

↑こういうののことですよね。
やってみましたがやはりピョコたん効果は解消されませんでした。

>>292
フォーカスにするというのが

・これから削除するタブ
・削除後にアクティブにするタブ
・これから削除するタブの右隣のタブ

のどれのことかわかりませんでしたが、
とりあえず上二つについてはあらかじめSetFocusしておいても効果ないようです。

他に一時的にEnableをfalseにするなどもしてみましたが意味無し。
個人的になんかあの動きが気持ち悪くて困るんですけどねえ。

まぁ玄人さんなら難しいコード書いてサクっと直しちゃうのかも知れないけど、
自分にはどうも無理そうです…。
0296291NGNG
英語読めません・・・(鬱
0297デフォルトの名無しさんNGNG
>>296
じゃあ諦めろ
0298デフォルトの名無しさんNGNG
TChartで実行中にシリーズを変える方法を教えてくださ
0299デフォルトの名無しさんNGNG
Delphi でよければ。

TChart に SeriesList プロパティがあります。
これは StrlingList から継承された TChartSeriseList クラスです。
これを使って Serise を追加/削除したり列挙できます。

断片的ですが
ttp://www.berneda.com/publicnews/public/teechart6/general/76010000.htm
これが参考になるかな
0300デフォルトの名無しさんNGNG
>>299
ありがとうございます!
0301デフォルトの名無しさんNGNG
下記のようにMessageBoxの辺値でスイッチするコードを書いてみたのですが、NO
ボタンを押してもcase(IDNO):に飛んでくれません。
どこがおかしいのでしょうか?
よろしくお願いします。

switch (MessageBox( Handle,"変更しますか?","更新", MB_YESNO )){
case (IDYES): // 更新OK
break;

case (IDNO): // 更新NG
Abort;
break;
}
0302デフォルトの名無しさんNGNG
一見、正しそうだけど...

そこの前後でデバッグしたほうが簡単では?
MessageBox の返値をいったん変数に格納し、値をみてみなされ
0303デフォルトの名無しさんNGNG
TToolBarでShowCaptionをtrueにしたときに
ButtonWidthを指定した幅にする方法を教えてください
0304デフォルトの名無しさんNGNG
それは出来ないんじゃないかな?>>303
キャプションが全部表示できるように幅が勝手に広がるんだと思ったけど。
0305デフォルトの名無しさんNGNG
プログラム作って、自分のマシンでコンパイルしたんですが、できたexeファイルを
他のマシンで実行すると、ペイントボックスとかの大きさが変わってしまいます。
もちろん自分のマシンで実行するときは、作ったとおりのフォームになります。
これってコンパイラのバグなのか仕様ってよく分からないんですが、exeを使用するターゲット(OS,CPU)によって
コンパイラのオプションを変えなきゃいけないんでしょうか。
それともソースを使いたいマシンでそれぞれコンパイルするしかないんでしょうか。
0306デフォルトの名無しさんNGNG
>>305
もしかして単に画面の解像度が違うというオチじゃ・・・・
0307デフォルトの名無しさんNGNG
MDI子フォームのタイトルバー左のアイコンを消す方法を教えてください
0308デフォルトの名無しさんNGNG
>305
具体的に大きさがどのように変化したのかを家計
0309デフォルトの名無しさんNGNG
Builder5です。
整数a,bを引数として,aがbの倍数であれば1を、そうでない場合は0を戻り値として返す関数
int baisuu(int a, int b)
を作成する。この関数を利用して、入力した数が3の倍数であるか否かを判定するアプリケーションを作成せよ。

If(baisuu(x,3)==1){
Label1->Caption=”3の倍数です”;
}else{
Label1->Caption=”3の倍数ではない”;
}
を使うみたいです。Editに入力してButtonフォームを押したら判別されるらしいでのすがさっぱりです。誰か教えてください。
0310デフォルトの名無しさんNGNG
>>305
画面のプロパティの、デザインの「フォントサイズ」が、
「大きいフォント」になってるとかじゃないの?
とりあえず、TFormのScaledをfalseにしてみれば?
0311デフォルトの名無しさんNGNG
!(値1%値2)
0312デフォルトの名無しさんNGNG
>309
宿題は宿題スレ池
それに内容がレベル低すぎ。
おまいの頭寒すぎ。
もちっとまじめに勉学に禿目よ。
0313デフォルトの名無しさんNGNG
>>309
そもそも何を聞きたいのかわからない。
0314デフォルトの名無しさんNGNG
とりあえず自分で作ったのはこれです。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int ans=0,a,x,baisuu();
{
a=StrToInt(Edit1->Text);
ans=a%3;
x=baisuu();
{
if(ans==0)
{
return (1);
}
else
{
return (0);
}

-------------------------------------------------------------
double TForm1::baisuu(int x,int y);
{
if(baisuu(x,y)==1){
Label1->Caption="3の倍数です";
}else{
Label1->Caption="3の倍数ではない";
}
}
}

値が返せなくて困ってます。
0315デフォルトの名無しさんNGNG
>>309
やらしてくれる娘を世話してくれるなら、
「なんだ、こんなに簡単なことだったのか」
と顔を赤らめるくらいにまで、基礎を仕込んであげてもいいぞ。
0316デフォルトの名無しさんNGNG
baisuu って引数を二つ持つのに、どうして呼ぶときは引数無いの?

とりあえず、コンパイラエラーが出ない程度に修正してみましょうね
0317デフォルトの名無しさんNGNG
305です。

>>306
そういうのじゃなくて、例えば、正方形の縦が半分になっちゃう、とかだから。
具体的には、グラフを表示してるんですけど、下のほうが表示されませんでした。

>>308
具体的には上のとおりです。横軸は時間で、
縦軸はy = 300 - data8bit; みたいにして、dataが1増えると、1ピクセル上に行くという感じです。
ペイントボックスのHeightは、オブジェクトインスペクタで300以上の値が指定されてます。

>>310
とりあえず、自分のマシンが大きいフォントだったので、小さいフォントに変えてみました。
すると、ペイントボックスのHeightが300以下に変わりました・・・
オブジェクトインスペクタで指定する値って、単位はピクセルじゃないんでしょうか?
0318デフォルトの名無しさんNGNG
>>310の
>とりあえず、TFormのScaledをfalseにしてみれば?
を確認したのか?
0319デフォルトの名無しさんNGNG
>>314
あまりに滅茶苦茶で、救いようがない。
0320デフォルトの名無しさんNGNG
>>314
まずBuilderではなくCの基礎を勉強しなおしてこい
0321デフォルトの名無しさんNGNG
>>314
double TForm1::baisuu(int x,int y);
{
なんで";"が?
baisuuの中でbaisuを呼んでどうする?
最後に戻り値を入れろ

それよりも、倍数判定の方法を考えろ
算数レベルだぞ
ヒント:剰余
0322デフォルトの名無しさんNGNG
みんな優しいんだな
0323263NGNG
>>265
亀で申し訳ない。
ありがとう!
出来ました!!
0324デフォルトの名無しさんNGNG
DBGridを使用するときに毎回OnDrawColumnCellイベントで定型処理をするのでDBGridを継承したクラスを作成し、それを使おうと
思い下記のようにやってみました。
このままパレットから貼り付けて使う分には何とか使えるのですが、MYDBGridにOnDrawColumnCellイベントを書いてしまうと、せ
っかく書いた定型処理の部分が実行されなくなってしまいます。
それと、メソッドの隠蔽に関する警告を無視して使っているのもいやな感じです。
わかりにくいかもしれませんが、このような使い方をしたい場合には、どのようにすればいいのか教えていただけないでしょうか?

"MYDBGrid.h"
class PACKAGE TMYDBGrid : public TDBGrid
{
private:
TDrawColumnCellEvent FOnDrawColumnCell;
protected:
void __fastcall DrawColumnCell(TObject *Sender,const TRect &Rect, int DataCol, TColumn *Column,TGridDrawState State);
};

"MYDBGrid.cpp"
__fastcall TMYDBGrid::TMYDBGrid(TComponent* Owner)
: TDBGrid(Owner)
{
TDBGrid::OnDrawColumnCell = DrawColumnCell;
}

void __fastcall TMYDBGrid::DrawColumnCell(TObject *Sender,
const TRect &Rect, int DataCol, TColumn *Column,
TGridDrawState State)
{
/*
適当な処理
*/
TDBGrid::DefaultDrawColumnCell(Rect,DataCol,Column,State);
}
0325デフォルトの名無しさんNGNG
DBGridを使用するときに毎回OnDrawColumnCellイベントで定型処理をするのでDBGridを継承したクラスを作成し、それを使おうと
思い下記のようにやって、コンポーネントとしてインストールしてみました。
このままパレットから貼り付けて使う分には何とか使えるのですが、MYDBGridにOnDrawColumnCellイベントを書いてしまうと、せ
っかく書いた定型処理の部分が実行されなくなってしまいます。
それと、メソッドの隠蔽に関する警告を無視して使っているのもいやな感じです。
わかりにくいかもしれませんが、このような使い方をしたい場合には、どのようにすればいいのか教えていただけないでしょうか?
VER:BCB6 OS:Win2K

"MYDBGrid.h"
class PACKAGE TMYDBGrid : public TDBGrid{
private:
TDrawColumnCellEvent FOnDrawColumnCell;
protected:
void __fastcall DrawColumnCell(TObject *Sender,const TRect &Rect, int DataCol, TColumn *Column,TGridDrawState State);
};

"MYDBGrid.cpp"
__fastcall TMYDBGrid::TMYDBGrid(TComponent* Owner) : TDBGrid(Owner){
TDBGrid::OnDrawColumnCell = DrawColumnCell;
}

void __fastcall TMYDBGrid::DrawColumnCell(TObject *Sender,const TRect &Rect, int DataCol, TColumn *Column,TGridDrawState State)
{
/*
適当な処理
*/
TDBGrid::DefaultDrawColumnCell(Rect,DataCol,Column,State);
}
0326324NGNG
連続で揚げてしまいました。すいませんでした。
0327デフォルトの名無しさんNGNG
>>325
DrawColumnCellじゃなくてDefaultDrawColumnCellかDrawCellをオーバーライドする。
DrawColumnCellじゃ駄目なのはヘルプを読むと分かる。
DefaultDrawColumnCellとDrawCellのどちらを使うかは定型処理に照らし合わせて判断する。
0328324NGNG
さっそくありがとうございます。
自分でいろいろやってみたのですがうまくいきません。
できれば宣言方法などをおしえていただけないでしょうか?
やりたいことは、行によって文字色を変えることです。

//-----------------------------------------------
// 奇数行時処理
//-----------------------------------------------
if( DataSource->DataSet->RecNo%2 !=0 ){
Canvas->Brush->Color = FOddColor;
Canvas->Font = FOddFont;
//-----------------------------------------------
// 偶数行時処理
//-----------------------------------------------
}else{
Canvas->Brush->Color = FEvenColor;
Canvas->Font = FEvenFont;
}
0329324NGNG
なんどもすいません。
Protectedに宣言し、下記のように実装してみたのですが、Brushの設定が反映されません。
どの辺が間違えてるのでしょうか?
普段DBGridのOnDrawColumnCellイベントでやってることを内包したコンポーネントを作りたいんですが。

void __fastcall TMYDBGrid::DrawCell(int ACol, int ARow, const Types::TRect &ARect, Grids::TGridDrawState AState)
{
//-----------------------------------------------
// 奇数行時処理
//-----------------------------------------------
if( DataSource->DataSet->RecNo%2 !=0 ){
Canvas->Brush->Color = clRed;
//-----------------------------------------------
// 偶数行時処理
//-----------------------------------------------
}else{
Canvas->Brush->Color = clBlue;
}
TDBGrid::DrawCell(ACol,ARow,ARect,AState);
}
0330デフォルトの名無しさんNGNG
割り込んで申し訳ないですけど
すでに書いてるコードのインデントとかを一括で揃える機能ってありますか?
関数とか条件分岐のカッコの下がりとかのことなんですけど。

自分で書いてあちこちにコピペしたり削除したりしてると、どうも見栄えが悪くなっちゃったんですが、
今さらいちいち1行ずつタブとかでインデントを調整するのも面倒でして。

もしBCBにそういう機能がなければ、既存の有名アプリで代用できたりできないでしょうか。
Dreamweaverとか、無理か…。
ウィンドウズです。よろしくおねがいします
0331デフォルトの名無しさんNGNG
>>329
実験してないから保証は出来んが、多分。
×Canvas->Brush->Color
○Columns->Items[ACol]->Color

DefaultDrawColumnCellをいじった方が楽かも?
0332デフォルトの名無しさんNGNG
>>330
ブロック単位のインデントの上げ下げなら、領域選択後、Ctrl-K-O / -K-I だったような...
ヘルプに乗ってると思う
0333デフォルトの名無しさんNGNG
>>332
全部一括で自動インデント、てのは無理そうですが、
これでも大分助かります。
ありがとうございます
0334324NGNG
>>329
CustomDBGridのDrawCellないでBrushが再設定されているようなので、呼び出し前にColorプロパティを設定することで解決しました。

しかし、できればDefaultDrawColmunCellをオーバーライドしたいのですが、やってみてもコードが実行されません。
DefaultDrawColumnCellを実行させるにはどうしたらよいのでしょうか?
0335デフォルトの名無しさんNGNG
>>330
-------------------------------------------------------
〔Ctrl〕+〔Shift〕+〔I〕ブロックをインデントする
〔Ctrl〕+〔Shift〕+〔U〕ブロックをアウトデントする
-------------------------------------------------------
だとさ
0336デフォルトの名無しさんNGNG
さっき

F1001 コードジェネレータの内部エラー

が出ますた。どうすればいいですか?
0337デフォルトの名無しさんNGNG
・そのコードを QC にポスト
0338デフォルトの名無しさんNGNG
ボタンが押されたときに呼び出される関数をプログラム中で変更したいのですが
どうすればいいのでしょうか

とりあえず
button->OnClick= 関数ポインタ
とやってみましたがだめでした
0339 NGNG
元のイベントハンドラ

void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage("Button1Click");
}

新しく呼び出される関数

void __fastcall TForm1::NewFunc(TObject * Sender)
{
//TODO: この下にコードを追加してください
ShowMessage("New Func");
}

イベントハンドラの変更処理

void __fastcall TForm1::ChangeButtonClick(TObject *Sender)
{
Button1->OnClick = NewFunc;
//正確にはButton1->OnClick = this->NewFunc;
}

ちゃんとできたよ。ただの関数じゃなくてTOject型の派生クラスのメンバ関数で引数、戻り値は一致してなくちゃいけない。
代入するのはただの関数ポインタじゃないけど。
ヘルプで __closure を調べてみたら。
0340 NGNG
>>339
>引数、戻り値は一致してなくちゃいけない。
引数、戻り値の型が一致してなくちゃいけないだった。
関数のシグニチャとか言うやつだっけ。
0341デフォルトの名無しさんNGNG
>>339-340
ありがとうございました(TдT)
0342デフォルトの名無しさんNGNG
Button1->OnClick=Button3Click;

TButton型OnClickイベントの引数は(TObject *Sender)。
呼び出される関数とちゃんと合ってる?

あとだめでしたってどうダメだったのか、あるいはどんなエラーが出たのかを書くこと。
0343デフォルトの名無しさんNGNG
余所見してたら一足もフタアシも遅かったか(;´Д`)
0344 NGNG
ヘルプの__closureみてもほとんど何ものってなかったね。
メンバ関数のポインタとオブジェクトの二つを渡さなくちゃいけないんだけどBuilderではC++から拡張されてて

TNewObject* NewObject;
だったら
Button1->OnClick = NewObject->NewFunc;
とか書ける。

さっきのはForm1のメンバ関数内だから省略したけど、違うオブジェクトのメンバ関数を呼ぶようにするときは関数だけじゃ駄目だよ。
NewObject->NewFunc とオブジェクト名も書かなくちゃいけない。
0345 NGNG
>>344
>メンバ関数のポインタとオブジェクトの二つを渡さなくちゃいけない

「メンバ関数のポインタとオブジェクトへのポインタの二つを」だった。
無駄にスレ消費してすみません。
0346デフォルトの名無しさんNGNG
TChartのx軸のラベルを変更するにはどうすればいいでしょうか?
(縦棒グラフを利用しています。デフォルトの0,1,2,…の値を変えたいです)
BottomAxis辺りのプロパティを探ったのですがわかりませんでした。
0347デフォルトの名無しさんNGNG
おいてめーらさっさと>>307教えれ
0348デフォルトの名無しさんNGNG
透明なアイコンでも・・・
0349デフォルトの名無しさんNGNG
やなやつ >>347
あそこはクライアント領域ではないから書き換えるのは難しいと思うが。
MDI の Non-client 描画を分捕って処理しなきゃいけないよ。
という説明でピンとこなけりゃひっこんでなさい
0350デフォルトの名無しさんNGNG
やっぱめんどいか、ぶっちゃけ>>348のが簡単だな
>>349は普通にうんこだな、あばよ
0351デフォルトの名無しさんNGNG
簡単なやり方があるのに... >> 350
0352デフォルトの名無しさんNGNG
俺は350だが釣られんぞっ!!
0353デフォルトの名無しさんNGNG
あそ。ならいいよん。
0354デフォルトの名無しさんNGNG
ごめんなさい、教えてください
0355デフォルトの名無しさんNGNG
ワラタ
0356デフォルトの名無しさんNGNG
APIでフォームスタイルを定義すればいいだけの話じゃないの?
0357デフォルトの名無しさんNGNG
質問なんですが、コンパイルしてみると
Fatal: ファイル6.0BJが開けません
と出ます。
どうすればいいでしょうか・・・
0358デフォルトの名無しさんNGNG
>>357
ファイル6.cppを「プロジェクトに追加」
0359デフォルトの名無しさんNGNG
ファイル名に2バイト文字を使うのはDQN以下。
いや、「以下」だと含むから訂正。

ファイル名に2バイト文字を使うのはDQN未満。
0360デフォルトの名無しさんNGNG
え〜と。未だDQNじゃないって意味ですか?
0361デフォルトの名無しさんNGNG
Linuxで「予定」という名前のフォルダを作るとなぜか「嵐」という
名前に変化し、削除不能になる。
0362むこうの249NGNG
このスレには
http://pc2.2ch.net/test/read.cgi/win/1068705330/248-
の症状の人はいないかな?
俺以外にいなければBCBとは関係なしってことになるんだけど。
0363362NGNG
原因はともかく、解決しました。
お騒がせしました。
0364デフォルトの名無しさんNGNG
BCB6Pro + Indy9.0.14でSocks越しにHTTPでGETする方法を教えてください。
0365デフォルトの名無しさんNGNG
1
0366デフォルトの名無しさんNGNG
>>364
exampleフォルダになんかそんなようなのあったぞ
0367デフォルトの名無しさんNGNG
質問です。
IEやSleilpnirのお気に入りのようなTreeViewを作ってるのですが、
上記のソフトではドラッグして項目を移動する時に、
項目と項目の間にくれば上、もしくは下に太いラインが表示されますよね。
その、「項目と項目の間を判定する」というのと「太いラインを表示する」という
2点のやり方がわからないんですが、どうしたら可能ですか?

とりあえず、項目の間の判定はDisplayRectを駆使すれば何とかなるかも知れませんが、
移動位置を示す太いラインの表示がどうしてもわからなくて…。

よろしくお願いします。
0368デフォルトの名無しさんNGNG
>>367
TreeViewで普通にドラッグするのは駄目なの?
0369デフォルトの名無しさんNGNG
>>368
それだと、移動位置にあの太いラインが出ませんよね。
移動位置を明確に示すあのインターフェイスがとても明確でわかりやすいと思うので、
ぜひ取り入れたいと思うんですが、何をどうやってるのかさっぱりで。

最初はDragCursorプロパティとかで簡単に出来ると思ってたんですが。
0370デフォルトの名無しさんNGNG
>>366
それ、Indy8ならともかく、9以降ではエラーが出るだろ
0371デフォルトの名無しさんNGNG
プログレスバーは通常posithionに応じて左から右に進むんですが
これを右から左に進むようにする方法はありませんか?
0372デフォルトの名無しさんNGNG
>>371
バーの色を変えて、Position = 100 - 値 とすればいいじゃん
0373デフォルトの名無しさんNGNG
>>370
それ以前にお前、>>366のはsocks鯖じゃねーか
0374デフォルトの名無しさんNGNG
>>372
バーの色変えられないんですよ

ImageにFillRectで代用することに決めたよ
0375369NGNG
まだやってるけど出来ません…。
スレイプニルがどの言語で書かれてるかは知らないけど、
BCB使ってるわけじゃなさそうなので、VCLの仕様じゃ出来ない設定なのかなぁ。
0376デフォルトの名無しさんNGNG
相談にのってください。
builderを使ってCで作ったプログラムの実行ファイルの作成とデータファイルを作りたいんだけど、
どうすればよいですか?
目標とするところは、データファイルの作成とそれを使ってのグラフの作成なんです。
他に良い方法があるなら、そちらでもかまいません。
とりあえずはCを使いたいので、その点だけは許してください。
お願いします。
0377デフォルトの名無しさんNGNG
>>376
きみ、>>309じゃないか?
0378デフォルトの名無しさんNGNG
また君かね!
妙齢の兄弟は居るか。話はそれからだ。
0379デフォルトの名無しさんNGNG
>369
OnDragOverで
void __fastcall TForm1::TreeView1DragOver(TObject *Sender, TObject *Source,
int X, int Y, TDragState State, bool &Accept)
{
TTreeView* tree = (TTreeView*)Sender;
TTreeNode* node = tree->GetNodeAt(X, Y);

if (node != NULL) {
TRect rt = node->DisplayRect(true);
tree->Canvas->MoveTo(rt.left, rt.Bottom);
tree->Canvas->LineTo(rt.Right, rt.Bottom);
}
}
こんな感じか?まぁ上のままだとかなり不都合があるが。
onCustomDraw使った方がいいかもね。
0380379NGNG
スマン。onCustomDrawじゃドラッグ判定ができんわな。
少し修正。
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
TreeView1->DoubleBuffered = true; //ちらつき防止
}
void __fastcall TForm1::TreeView1DragOver(TObject *Sender, TObject *Source,
int X, int Y, TDragState State, bool &Accept)
{
TTreeView* tree = (TTreeView*)Sender;
TTreeNode* node = tree->GetNodeAt(X, Y); //ドラッグの位置にノードがあるか

if (node != NULL) {
tree->Refresh();
TRect rt = node->DisplayRect(true);
int b = rt.Bottom - Y;
if (b > rt.Height()/2) { //ノードの上半分にマウスポインタがある
tree->Canvas->MoveTo(rt.left, rt.Top +2);
tree->Canvas->LineTo(rt.Right, rt.Top +2);
} else { //ノードの下半分にマウスポインタがある
tree->Canvas->MoveTo(rt.left, rt.Bottom +2);
tree->Canvas->LineTo(rt.Right, rt.Bottom +2);
}
}
}
void __fastcall TForm1::TreeView1DragDrop(TObject *Sender, TObject *Source,
int X, int Y)
{
TTreeView* tree = (TTreeView*)Sender;
tree->Refresh();
}
0381376NGNG
>>309とは違います。質問が初歩的すぎましたね・・・
リナックスでemacs+gnuplotという環境で過ごしてきましたが、
この度windowsの方でもプログラムをしたいなと思いbulder6が評判よかったのでこちらを選んだんです。
0382デフォルトの名無しさんNGNG
>>381
初歩的過ぎるんじゃなくて(それもあるが)、質問が曖昧過ぎる。
>>376じゃ誰も回答できない。
結局何が聞きたいわけ?
0383デフォルトの名無しさんNGNG
>>382
曖昧な質問でも適当に補完して回答すればいいだろ。
俺が手本をみせてやる。











>>376
ヘルプ読め。
0384デフォルトの名無しさんNGNG
>>383
おいおい、ヘルプにゃデータからグラフ作成プログラムなんて
載ってないだろ。そこはこうだろ

>>376
Cygwin使えば?
0385デフォルトの名無しさんNGNG
てst
0386376NGNG
cygwin環境ではできたのですが、将来的に(今の仕事が終わったら)C++の方に移りたいのでできればbuilderでって感じです。
もっと具体的にいうと、非線形方程式をシミュレーションで動かして近似解をデータとして保存し、
それをグラフで出力し振る舞いをみたいのです。そのグラフをパワーポイントなどに貼り付けられれば言うことない、です。
当面はlinux使いで問題はないんですけどね・・
0387デフォルトの名無しさんNGNG
なんだなんだ、そういうことか。やっとわかってきたぞ。










>>386
「曖昧」の意味がわかるか?
0388デフォルトの名無しさんNGNG
俺が補完してやる







linuxでパワーポイント使いたいよー
0389デフォルトの名無しさんNGNG
自作したclassのメソッドにTFormを渡したいのですが
何を渡せばいいのでしょうか?
0390デフォルトの名無しさんNGNG
>>389
TForm もしくは TFormから継承されたクラスのオブジェクト。
>>387
0391デフォルトの名無しさんNGNG
>>390
よくわからんけどとりあえずthisでOKでたわ
0392デフォルトの名無しさんNGNG
ひどいな...
0393デフォルトの名無しさんNGNG
質問ですが
LabelWndProc = Label1->WindowProc;
のようにカプセル化したときに
下のTMessageでLabel1のプロパティにアクセスする方法を教えてください
void __fastcall MaiWndProc(TMessage &Msg)
{
}
0394 NGNG
Cマガにボーランドの外人さんへのインタビューがあったけど、はっきりとC++Builderの打ち切りは宣言してなかったね。
ユーザーの意見を聞いてどういう製品にするか参考にしたいとか。
次バージョンを発表できる段階には無いらしいが。
自分はBoost100%のC++コンパイラにしてくれて、IDEのエディタとか使いやすくしてくれれば良いな。
Eclipseみたいにリファクタリングとか支援してくれれば嬉しいけど。
0395デフォルトの名無しさんNGNG
>>394
そいつ、去年末にレイオフ喰らってもう某にはいないぞ。
0396 NGNG
>>395
それマジなの?
0397デフォルトの名無しさんNGNG
C++Builder7に望むこと

トロくさいコード補完をなんとかしろせめてDelphiレベルにしてくれ
普通に使っていてエラーを吐くIDEはやめろ
アップデートをまじめにやれ頼むからライブラリのバグくらいは手を入れてくれ
0398デフォルトの名無しさんNGNG
>>397
>トロくさいコード補完をなんとかしろせめてDelphiレベルにしてくれ
無理なのだーC++Builderはキーワードが多すぎて。CPUをアップグレード
してください。

>普通に使っていてエラーを吐くIDEはやめろ
エラーを吐くのは仕様です。その後のエディット作業に支障を来さない
はずですのでそのままお使いください。

>アップデートをまじめにやれ頼むからライブラリのバグくらいは手を入れてくれ
DelphiやC++BuilderXの製品開発に精一杯で手が回りません。
0399 NGNG
キーワードの多さとか言うよりC++の文法の複雑さが補完速度に影響してるのかも。
0400デフォルトの名無しさんNGNG
ObjectPascalと比較されても。
機能まででるふぃなみに制限してもいいですか?
0401369NGNG
>>380
大分遅くなりましたが、ありがとうございます!
やっと時間が空きましたのでお礼の書き込みができました。

ラインを引くCanvasってややこしそうなイメージがあったんですが、
教えて頂いた通りにやると簡単でした。

ただマウスカーソルの方が少しチラつくようですが、それでもかなりの進歩です。
ありがとうございます。
0402デフォルトの名無しさんNGNG
>>396
まじ。MS にいった。
0403デフォルトの名無しさんNGNG
"Borland CTO Blake Stone resigns"
ttp://groups.google.co.jp/groups?hl=en&lr=&ie=UTF-8&edition=us&frame=right&th=45a0aea98c12b5b6&seekm=400d4bf8%40newsgroups.borland.com



0404デフォルトの名無しさんNGNG
C++Builder7はMSから出るんだな
0405デフォルトの名無しさんNGNG
「Borland CTO,Blake Stone氏直撃インタビュー」

今回の C Magazine のインタービューは、タイミング最悪だったな。
インタビューしていた時点で既に MS に行く気だったのかなぁ。
0406デフォルトの名無しさんNGNG
そんなことより>>393を教えてくだああ
0407デフォルトの名無しさんNGNG
>LabelWndProc = Label1->WindowProc
のところで Label1 も保存しておいたら?

ウィンドウプロシージャはクラスごとに同じものが使われるので WindowProc から
元のクラスのインスタンスを引くことはできない。(TLabel が二つあっても区別できない)

大体、MaiWndProc は誰の持ち物(どのクラスのメソッド)なんだ?
0408380NGNG
>401
上で書いたやつは Refresh() を多用してるので
更新が必要な場所だけ外部にでも保存しておいて
InvalidateRect() でも使って必要な部分だけ再描画してくれ。
(↑の場合、 DoubleBuffered はいらん。まぁ、メモリに余裕があればそのままでもok)
0409デフォルトの名無しさんNGNG
ボタンに、ビデオクリップを張り付けて、そのボタンをクリックして張り付けたビデオクリップを動作させたいのですが・・・

 ビデオクリップの取り込みは、「TAnimate」のコントロール使用しました
  �@ボタン、ビットマップボタンを使用
   ・「TAnimate」のコントロールを、ボタンの下に重ねた
   ・ボタン、ビットマップボタンは、透過する事が出来ないので、当然ボタン上にビデオクリップが表示されなかった
  �Aスピードボタンを使用
   ・「TAnimate」のコントロールを、ボタンの下に重ねた
   ・しかし、スピードボタンの前面にビデオクリップが表示され、ボタンとしてのクリックが不可能になった
   (メソッドで、前面、後背に移動の設定を行っても無理だった)

<質問>
 ・ボタン、ビットマップボタンを透過させることは不可能でしょうか?
 ・スピードボタンを、「TAnimate」のコントロールの前面に設定することはできないでしょうか?
 ・実現するとしたら、どのような対策があるでしょうか?

よろしくお願いします
0410デフォルトの名無しさんNGNG
>>409
Ani,ateやめて、ボタンはBitBtnにして
乗せるビットマップ(Glyph)をタイマーで切り替えればいいんでないかい?
0411デフォルトの名無しさんNGNG
少しスレ違いかも知れません。

TListViewなどのコントロールへ外部からWM的にメッセージを送る際の
定石みたいなのはあるのでしょうか?

具体的に言うと、ウィンドウが単なるListViewならSPY++とかで調べた
ウィンドウハンドルhwndに対して、

int count = SendMessage(hwnd, LVM_GETITEMCOUNT, 0, 0);

が効いたりするんですが、hwndがTListViewだとダメなんです。


よろしくおねがいすます。
0412デフォルトの名無しさんNGNG
>>411
TListView::Handleで普通にできると思うが?
0413 NGNG
>>411
メンバ関数のPerformがつかえるのでは?
0414デフォルトの名無しさんNGNG
TTableで指定フィールドでソートする方法を教えてください
0415デフォルトの名無しさんNGNG
>>414
ttp://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200304_03040018.html
0416デフォルトの名無しさんNGNG
>>411
定石かどうか知らんが、マクロは結構使えるかも。
ListView_GetItemCountとか
ListView_EnsureVisibleとか
0417デフォルトの名無しさんNGNG
Panel を透明にする方法はないでしょうか?
0418デフォルトの名無しさんNGNG
下のイメージを取ってきて貼り付ける。
0419デフォルトの名無しさんNGNG
>>417
というか、コンテナコンポを透明にする必要性が判らん。
単に隠したいならVisible=falseだが、それでは不味い訳か?
0420デフォルトの名無しさんNGNG
BorderStyleやAlign等の設定で解決できることに気が付いてないだけと推測
0421デフォルトの名無しさんNGNG
最大化ボタンが押下された際に処理を行いたいのですが、 OnResize イベントでは
変更後の WindowState が wsNormal のままでうまくできません。
どなたか方法を教えていただけないでしょうか?
0422デフォルトの名無しさんNGNG
WM_SYSCOMMANDメッセージを補足して
コマンドがSC_MAXIMIZEだったら処理する
0423417NGNG
>>418 〜 >>420
何がしたいのかというと、XPのビジュアルスタイルで表示された
CoolBar 上にボタンなどを任意の大きさで載せたいと思い、panel を
使ったのですが、CoolBarが微妙にグラデーション表示になっているので
panelを貼り付けたところが分っていまいます。
(見た目の問題ですが、、)
何かいい方法はありますでしょうか?
0424デフォルトの名無しさんNGNG
>>423
XPは使ってないんで上手くいくかどうか保証は出来ないが、
そういう場合はTPanel->ParentColorをtrueにする。
0425デフォルトの名無しさんNGNG
ちょっとはまってしまいましたので、教えを請いにきました。
環境は、Builder6でして、統計の標準偏差値を返す StdDev関数を使いたいのです。
ヘルプを見ると、ユニットはMath、カテゴリは統計ルーチンとあります。

void func(void)
{
double a[3] = {1.0, 2.0, 3.0};
double ret = StdDev(a,2);
}

のように使いたいのですが、コンパイルすると、
'未定義の関数StdDevを呼び出した'
というメッセージになります。

このMathユニットを使えるようにするにはどうすればよいのでしょうか?

0426デフォルトの名無しさんNGNG
>>425
#include <Math.h> とか。
0427デフォルトの名無しさんNGNG
>>425
VCLだと<Math.hpp>じゃないかな?
0428sokuNGNG
お邪魔します、質問させてください!
プログラマー初心者スレから誘導されてきました。

C++Builderで、ビットマップの表示に関して行きずまっています。
作っているのは、ある値の変化をメーターのように見れるように
タイマー割り込みでCanvasに描画する、といった感じのものです。
思惑通りに表示はできているのですが、問題は時たま画像が消える(描画が
とまってしまう)ことがある、というところです。

以前に同じようなことに挑戦していて、Penなどで描画するとことに限っては
ImageのCanvasが良くこの問題が出るのに対して、
PictureBoxのCanvasは安定していることを発見し、
PictureBoxのCanvasを使っていたのですが、ビットマップを読み込んで、
下地に使おうとすると(メーターの目盛りなど)、一定時間で下地だけ消えてしまう、
という問題がおきることがわかりました。

最初、ビットマップの読み込みは、ダミーのImageに取り込んだPictureを、
PictureBoxのDrawで吸い取っていたのですが、
以前上記のImageの問題に当たっていたので、Imageをできるだけ使わないようにと
(問題はImageにあると推測して)、
TBitmapのインスタンスを作ってそこにBitmapを取り込んでおき、
タイマーではTBitmapのインスタンスからのみ読み込むようにしてみたのですが、
やはりとまってしまうようなんです。

(長くて書き込めなかったので、次の番号に書かせていただきます)
0429sokuNGNG
(428の続き)

◇ソース要約
〜
(宣言)
Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
〜
(フォームSHOW時一回だけ)
pBitmap = Im_Mater->Picture->Bitmap;
  //Im_Masterに下地ビットマップが入っています
〜
(タイマー割り込み処理)
Pb_speed->Canvas->Pen->Width = 1;
Pb_speed->Canvas->Pen->Color = clBtnFace;
Pb_speed->Canvas->Brush->Color = clBtnFace;
Pb_speed->Canvas->Rectangle(0,0,Pb_speed->Width,Pb_speed->Height);
   //PictureBox内消去

//Pb_speed->Canvas->Draw(0,0,Im_Mater->Picture->Bitmap);
   //メータービットマップ上書き(Imageを使うと、止まるため、下行の方法に変更

Pb_speed->Canvas->Draw(0,0, pBitmap);
   //ビットマップのインスタンスからコピーする

Pb_speed->Canvas->Pen->Color = RGB(0,0,255);
Pb_speed->Canvas->MoveTo(a, b);
Pb_speed->Canvas->LineTo(x, y);
   //ここでメーターの針を書いてます
0430sokuNGNG
(429の続き)

消え方は、別段操作しないでも、ふっと下地だけ消えて、
Penなどの描画処理している針だけがフラフラ動いているのが残る感じです。
(メーター等の場合)
タイマーのインターバルは、55msです。
一度消えてしまうと、Redraw()、Update()、Refresh()、Invalidate()等の
再描画を実行しても元に戻らず、ソフトを再起動するしかありません。

このような問題に出会われて、さらに解決された方がいらっしゃれば、
アドバイスなどいただければありがたいです!
よろしくお願いいたします。
それから、超長文大変失礼しました。
0431デフォルトの名無しさんNGNG
>>428
パッと見だけで言わせて貰うので、欲しい回答になっていないのがアレだけど、
宣言のところでオブジェクトを作っている pBitmap に
Im_Master->Picture->Bitmap を代入するのはまずいんでないの?
pBitmap が指しているオブジェクトが、Im_Mater->Picture->Bitmap の
代入によってどっかにいってしまわない?

それとタイマ割り込み内の Pb_speed はどんなオブジェクト?
内部で作った Graphics::TBitmap のオブジェクト?
0432425NGNG
>>427

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

VCLだと*.hpp となるんですね。知りませんでした。
これで、知識がひとつ増えました。
0433sokuNGNG
>>431さん
レスどうもありがとうございます。
あうーなるほど・・・いわれてみれば、かなり無茶苦茶やってるです。
とにかく逃がしたくて、割と考えずにいろいろやっていたので・・・

それから、Pb_speedは、PictureBoxです。
これはコンポーネントをフォームに置いたやつですので、
TBitmapのオブジェクトではないです。

う〜ん勉強不足。
もうちょっといろいろやってみます。
どうもありがとうございました!
0434^^NGNG
#include<stdio.h>

#define ORIG_STR "ymq\n"
#define CIPHERKEY 1

void cipher(unsigned char n, unsigned char *a)
{
while (*a !='0'){
*a=(unsigned char)(*a ^ n);
a++;
n++;
}
}

int main(void)
{
unsigned char a[4] = ORIG_STR;
unsigned char n=CIPHERKEY;

cipher(n,a);
printf("%s\n",a);
cipher(n,a);
printf("%s\n",a);
exit (0) ;
}プログラムを実行した結果は
xor
ymq
となりました。どうしたらこういう実行結果になるのですか?
ただし、英小文字をあらわすASCIIコードは、a〜zで16進数で61〜7Aです。


0435デフォルトの名無しさんNGNG
void mani(void){
mani();
}
void main(void){
mani();
}
0436デフォルトの名無しさんNGNG
>>434
スレ違い。念の為に言うとそのコードは実行できないはず。
あとは他のスレで聞け。
0437デフォルトの名無しさんNGNG
TForm の Height のみ AutoSize = true のようにしたいのですが、可能でしょうか?
borland のメニューフォームのイメージなのですが。
0438sokuNGNG
昨日の428のものです。
解決しました。
詳しくはわからないのですが、Bitmapなどのオブジェクトは同時に
4つまでしか保持できないみたいです。
ですので、新たな描画が始まると、あいている所を探して、
破棄してしまうことがあるみたいなんです。
そこで、描画前にCanvas->Lock()、
描画後にCanvas->Unlock()という手順を踏むと、
どうやら消えずにすむようです。
というか消えませんでした。

理由はまだあんまり良くわからないんですが、精進します。
どうもありがとうございました!

それから、ついでにまた質問なのですが、
Canvasに描画する作業をしているとよく、
「Canvasに対する描画ができません」というエラーが出てくることがあります。
最初はインターバルが短すぎるのかな、と思っていたのですが、
1msでも出ないときは出ない感じなんです。
これは何が原因なのでしょうか?

ご存知の方、一つよろしくお願いいたします。
0439デフォルトの名無しさんNGNG
>>438
んなもん、ソース見な誰も何も分からん
つか、デバッガ使って自分で追っかけることも覚えや
0440デフォルトの名無しさんNGNG
>>437
無理。自分でコード書くべし。
0441デフォルトの名無しさんNGNG
ヒジョーに初歩的な質問でガクブルなんですが、
int main(int argc, char **argv)
ってありますよね。このchar**argvと同じものを
AnsiString文字列を分解して作るにはどうしたらいいのでしょうか?
具体的には
int sub(int argc, char **argv)
という関数にAnsiStringを分解した引数を渡したいのです。
宜しくお願いします。
0442デフォルトの名無しさんNGNG
StringListじゃイヤなの?
0443441NGNG
int sub(int argc, char **argv)
のargvにTStringList*は渡せません…シクシク
0444デフォルトの名無しさんNGNG
>>441

いまいち何がやりたいのかよくわからん。

"int argc, char **argv"でmain(や441のsub)に渡される情報は
*複数の*文字列、一方441が分解して云々したいといってる
AnsiStringは*一つの*文字列なので、そもそも情報の「質」が
違う。

>>442がいっているように、StringListを argc と **argv として
渡すのがNGということは、たとえば

int sub(int argc, char **argv);

...

AnsiString s = "Sample String";
char *Buf;

Buf = new char[100];
strcpy(Buf, s.c_str());
sub(1, &Buf);

delete[] Buf;

こんな感じのことがしたいのか?
0445デフォルトの名無しさんNGNG
strtokみたいにトークン分割したいだけダターリ
0446441NGNG
>>444
説明が足らずに申し訳ありませんでした。

一晩考えて、こうしてみました。

static void sub(int argc, char **argv)
{
for (int i(0); i < argc; ++i)
ShowMessage(*argv++);
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString as("This is sample string");
TStringList* listp(new TStringList);
for (int i(as.AnsiPos(' ')); 0 < i; i = as.AnsiPos(' ')) {
listp->Add(as.SubString(1, i - 1));
as = as.Delete(1, i);
}
listp->Add(as);

int argcnt(listp->Count);
char** argvp((char**)malloc(argcnt * sizeof(char*)));
for (int i(0); i < argcnt; ++i)
argvp[i] = listp->Strings[i].c_str();

sub(argcnt, argvp);
delete(listp);
}

何かおかしい点またはこうした方がいいという点がありましたら
引き続きご指導宜しくお願いします。
0447デフォルトの名無しさんNGNG
素直にTStringList渡せば?という気もするが、なんか理由があるんだろうな。

listpを設定している部分は
>listp->Delimiter = ' ';
>listp->DelimitedText = as;
で、置き換えられそう。

>argvp[i] = listp->Strings[i].c_str();
c_strが返すポインタは「その文でしか有効でない」というのが仕様。
ヘルプ参照。
0448デフォルトの名無しさんNGNG
age
0449441NGNG
>>447
Delimit関連はひとつ勉強になりました。ありがとうございます。

僕も出来ればTStringListでいきたいのですが、実はsub(int argc, char **argv)は
外部ルーチンなので、引数の仕様を変えられないのです。それで止む無く…。

c_strについてもありがとうございました。ヘルプを参照して

for (int i(0); i < argcnt; ++i) {
 char* cp(new char[listp->Strings[i].Length() + 1]);
 strcpy(cp, listp->Strings[i].c_str());
 argvp[i] = cp;
}

としました(あと、>>446ではfree(argvp);が抜けてました)が、
ループ内でnewした各cpについてはどうやってdeleteすればいいのでしょうか?
重ねてご指南宜しくお願いします。
0450デフォルトの名無しさんNGNG
>>449
やっぱりループでdeleteするしかないんじゃないかな。
ここ数年C++使ってないから詳しくはないんだけど。
0451崖っぷちNGNG
誰か助けてください!
大学でレポートが出されまして、これが明日までに出来ないと留年してしまいます!
どなたか宜しくお願いします・・・・(T_T)

配列Aのデータをソートせよ。ただしAの入力は Void getdata(int *n,double *a)
を呼び出せば入力できるものとする。

っていうものです。このままでは本当に留年が確定してしまうのでどなたか助けてください・・・・・
0452デフォルトの名無しさんNGNG
>>451
宿題スレに行ってください
http://pc2.2ch.net/test/read.cgi/tech/1075217631/
0453デフォルトの名無しさんNGNG
>>451
自分の力でできないのであれば、留年した方があなたのためになると思います。
0454デフォルトの名無しさんNGNG
マルチ
とっとと留年せぇ
0455デフォルトの名無しさんNGNG
>>441
つか、ParamStrじゃダメなのか?
0456デフォルトの名無しさんNGNG
>>455
コマンドライン引数が欲しいという話ではないようだぞ。
0457ふぁむNGNG
はじめまして

実はBCB6 proでDirectX9.0bを利用したいのですが
うまくいきません
そもそも使い方が良くわかっていないのも問題なのですが
DirectX9.0SDKをインストールし*.libをコンバートして
インクルードとライブラリを指定しました
新規のアプリにヘッダのインクルードを追加し
コンパイルすると
[C++ エラー] d3dx9math.inl(1552):
E2268 未定義の関数 'sqrtf' を呼び出した
と言うエラーが発生してしまいます。
たしかにBCBにない命令なのですが
皆さんは、どうやって回避していますか?

0458デフォルトの名無しさんNGNG
>>457 
ttp://www.nk.rim.or.jp/~m_iida/programming/directX/BCB_DX9.html
ここを参考に。
0459ふぁむNGNG
458さん

早速の回答ありがとうございます。
参考にして再度チャレンジします。

0460ふぁむNGNG
おかげさまでデファインやタイプは参照できたのですが
[リンカ エラー] 外部シンボル 'Direct3DCreate9' が未解決
が出るようになってしまいました(涙)
何が足らないのでしょう?
ソースはこんな感じなのですが。。。

#include "d3d9.h"
// 変数
D3DPRESENT_PARAMETERS param;

// オブジェクト
LPDIRECT3D9 lpD3D = NULL;
LPDIRECT3DDEVICE9 lpD3DDEV = NULL;

TForm1 *Form1;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
lpD3D = Direct3DCreate9(D3D_SDK_VERSION);
}
//---------------------------------------------------------------------------



0461デフォルトの名無しさんNGNG
リンカエラーにソースを持ち出してくる時点で
ライブラリをきちんと指定してない可能性が大だな
0462デフォルトの名無しさんNGNG
Form上にPageControlを配置してTabSheetを作って使いたいのですが、
Formの色を変えた時にタブの部分(デフォルトでTabSheet1って書かれてる部分)
の色だけが変わってくれないのですが、
どうしたら全て同じ色に変えることができますか?
0463デフォルトの名無しさんNGNG
ちょっとアドバイス下さい

this->Parent->Controls->Refresh();
BCBで上のようなコードを記述するとちゃんとコンパイルできますが
自分で作ったクラスはアロー演算子をつなげることが出来ません
これはfunctionとしてオブジェクトへのポインタを返しているからでしょうか?
propertyとして参照すればいいのでしょうか?

またBCBではなくgccのようなコンパイラだと
一度ポインタ変数に代入しないとダメなのでしょうか?

おしえて!えらい人
0464デフォルトの名無しさんNGNG
>>462
やったことないけど、OwnerDraw=trueで自力で描画だと思う。

>>463
一から勉強しなおせ。
お前さんの書いてる文章は支離滅裂。
1つ1つの用語の意味を理解していない。
どうしても教えて欲しけりゃ取敢えずソース晒せ。
0465デフォルトの名無しさんNGNG
アロー演算子というのか。今まで知らなかった・・・。
0466ふぁむNGNG
461さん
鋭いご指摘です(大汗)
同じ名前で複数見れてたのが原因だったみたいです。
ライブラリを追加しなおしたら動作しました
くだらない質問してすいませんでしたm(_ _)m
また勉強させてください^^
0467デフォルトの名無しさんNGNG
構造体にAnsiStringを入れても問題ないですか?
0468デフォルトの名無しさんNGNG
無いよ。
0469デフォルトの名無しさんNGNG
new した場合でも?
0470デフォルトの名無しさんNGNG
「newした場合」って、AnsiStringを? それとも構造体を?
いずれにせよ、然るべきdeleteを行うなら問題は何もないよ。
0471かみかみNGNG
以下のこと、ご存知の方おられましたら、ご教授願います。
作成したフレームをフォームに配置する方法。

フレームを新規作成し、
そのフレームへボタンなどのコンポーネントを配置しました。
その後、そのフレームをフォームへ複数配置したいと考えています。
「Standard」タブページからFramesコンポーネントを使えば、
作成したフレームをいくつでもフォームに配置することができるのですが、
それをプログラムで動的に行いたいと考えています。
フレームはすでに作成されているとして、
そのフレームをフォーム上に複数配置させる方法を調べています。
方法をご存知の方おられましたら、是非ご教授ください。
0472デフォルトの名無しさんNGNG
>>471
Parentを設定
つか、ヘルプ見りゃ書いてある訳だが。
0473デフォルトの名無しさんNGNG
>>470
構造体をです。
どっちみち問題ないってことですかそうですか、ありがとう
0474かみかみNGNG
>>472
早速のレスありがとうございます。

現在の私の状況を簡単に説明させてください。
まずフレームを新規作成すると、
  class TFrame2 : public TFrame
というクラスが作られました。
そして、フレームにはラベルなどを配置しました。
次にForm1というフォームに、作成したフレームを配置しようと、
以下のようなコードを記述しました。
  TFrame2 *frame1 = new TFrame2(Form1);
frame1->Parent = Form1;
これだけなら、エラーはとくに出ることなく実行され、
Form1に作成したフレームが配置されました。
つづけてもう一個Form1に同じフレームを配置しようと、
  TFrame2 *frame1 = new TFrame2(Form1);
frame1->Parent = Form1;
  TFrame2 *frame2 = new TFrame2(Form1);
frame2->Parent = Form1;
のように記述しました。
すると、2つ目のnewのところで、
「コンポーネント名Frame2はすでに使われています」
というエラーが出てしまいました。
ここでつまづいております。
原因がお分かりの方いらっしゃいましたら、是非ご教授ください。
0475デフォルトの名無しさんNGNG
Socketについて詳しく説明しているサイト紹介してください
できれば日本語でお願いします
0476デフォルトの名無しさんNGNG
>>475
http://www.google.co.jp/search?num=100&hl=ja&ie=Shift_JIS&c2coff=1&q=socket&lr=lang_ja
0477デフォルトの名無しさんNGNG
>>474
ヴォケ。最初から>>474の内容で質問しろ。
回答する方は二度手間なんだよ。
情報を後だしする質問はマナーに反するし、どのスレに行っても嫌われるぞ。
以後気をつけるべし。

んで、回答。
原因はエラー表示の通り。TFrameのインスタンスにはデフォルトのNameがある点に注意。
だから、フレームのインスタンス毎に別々のNameをつける必要がある。
たとえば、
TFrame2 *frame1 = new TFrame2(Form1);
frame1->Name="frame1";
frame1->Parent = Form1;

TFrame2 *frame2 = new TFrame2(Form1);
frame2->Name ="frame2";
frame2->Parent = Form1;
0478かみかみNGNG
>>477
どうもありがとう。
早速やってみたところ、ちゃんとできました。
昨日からずっと考えていたことだったので、
とても助かりました。
ほんとにありがとう。
質問の仕方は、以後気を付けますね。
0479デフォルトの名無しさんNGNG
StringGridのDrawCellイベントでカーソルのあるRowにしかイベントが入らないのですがなぜですか?
0480デフォルトの名無しさんNGNG
あ、おまいらごめん、わかったわ!
DrawCell引数のAColじゃなくてStringGridのColでアレしてたからだわ
ほんとおまいら氏ねよ
0481デフォルトの名無しさんNGNG
お茶目ね
0482デフォルトの名無しさんNGNG
ビルダーでアセンブラファイルを出力したいですけど
どうすればできますか?
ラーニング版だとできないのですかおしえてください。
0483デフォルトの名無しさんNGNG
>>482
bcc32 -s target.cpp
0484デフォルトの名無しさんNGNG
>>483
ありがとう
といいたいところですがTASM32.EXEが必要かも

それのやりかた(コマンドオプション)のこともよくわからないし
0485デフォルトの名無しさんNGNG
>>484
まずは手を動かせ
0486デフォルトの名無しさんNGNG
>>484
tasmはasmからobjを生成する時に必要(-Bオプション指定時)

とりあえずヘルプの「Borland C++Builderツール」->「C++コンパイラ: BCC32.EXE」を読め
0487デフォルトの名無しさんNGNG
ファイルはどこにおけばいいのだ。
bcc32はつかえるみたいだけどわからん
そもそも総合開発環境じゃないの?
DOSプロンプトをつかわんといけないの?
0488デフォルトの名無しさんNGNG
>>487
BCCはコンパイラ
BCBが開発環境
ここはBCBのスレ

BCCなら専用スレがあるのでそちらへ
0489デフォルトの名無しさんNGNG
>>488
BCB上でアセンブラのファイルを出力できないかを聞いてるんでしょ
0490デフォルトの名無しさんNGNG
動的に生成したTTabSheet上に、Memoコンポーネントを置きたいのですが
pts[i] = new TTabSheet(this);
pts[i]->PageControl = ppc;
pts[i]->Caption = ppcTabTitles[i];
mem[i] = new TMemo(this);
TTabSheetとTMemoの関連付けのやり方が分かりません。
ご教授をお願いします。
0491デフォルトの名無しさんNGNG
>>490
TControl::Parent
0492デフォルトの名無しさんNGNG
>>491
thx!!
0493デフォルトの名無しさんNGNG
すいません、TTreeViewコントロールを使っているんですが、
ノードをドラッグして動かそうとした途端にノードのOnClickやOnMouseDownイベントが実行されてしまうので
困っています。
試しにOnDragOverなどのイベントを一度全部取り外してからOnClickのみにして実行してみたのですが、
やはりノードを動かそうとした途端にOnClick判定が実行…。
これってどうやって避ければよいのでしょうか?
よろしくおねがいします。
0494デフォルトの名無しさんNGNG
>>493
ドラッグ中を示すフラグを定義して、ドラッグ中だったらOnClickは何もせずにreturnさせれば?

0495デフォルトの名無しさんNGNG
2つの同じTTableがあって、片方にレコードを追加したら
もう片方はいったんCloseしてOpenしないと更新されないのですが
Closeせずに更新する方法をおしえてください
0496デフォルトの名無しさんNGNG
BCB6でこの実行結果、何か変だと思いません?それはそれとして
何とか回避できないだろうか。これじゃうっかりif文にビット演算入れられん。

#include <iostream>
using namespace std;

typedef const unsigned char cuc;

int main()
{
cuc uc = 0xff;
cuc uca[] = { 0xff };

std::cout << std::showbase << std::hex << "uc = " << static_cast<int>(uc) << ", uca[0] = " << static_cast<int>(uca[0]) << std::endl;
std::cout << "~uc = " << ~uc << " は 0で" << ((~uc) ? "はありません" : "す") << std::endl;
std::cout << "~uca[0] = " << ~uca[0] << " は 0で" << ((~uca[0]) ? "はありません" : "す") << std::endl;
}

-- 結果 --

uc = 0xff, uca[0] = 0xff
~uc = 0xffffff00 は 0ではありません
~uca[0] = 0xffffff00 は 0です
0497デフォルトの名無しさんNGNG
>>496
わかりません
配列じゃないときはintに拡張されるからかな



あとなんでstdをつけてるの
0498デフォルトの名無しさんNGNG
>>497
これかな
ttp://fujitake.dip.jp/sealsoft/namespace.html
0499デフォルトの名無しさんNGNG
Builder6エディタのフリーカーソルを禁止に設定出来ないですかね?
0500デフォルトの名無しさんNGNG
>>499
http://www.google.com/search?num=100&hl=ja&inlang=ja&ie=Shift_JIS&c2coff=1&q=Builder+%83G%83f%83B%83%5E+%83t%83%8A%81%5B%83J%81%5B%83%5C%83%8B&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0501デフォルトの名無しさんNGNG
BCB6のエディタもBuilderXと同じようになればいいのにね
0502デフォルトの名無しさんNGNG
Builder5にて、Excelファイルへ書き込むプログラムを作成したいのですが、
参考になるオープンソースは無いでしょうか?
0503デフォルトの名無しさんNGNG
VisualC++でコンパイルしたコードをC++Builderで実行したら
符号付き値と符号なし値の比較
とかいう警告が出てくるんですが…
ついでに結果がVC++とC++Builderで違います。
STLを使っているのですが、なにか移植に関して注意するようなことはないのでしょうか?
よろしくお願いいたしますm(_ _)m
0504デフォルトの名無しさんNGNG
>>502
この前Delスレでもあったけど、TExcelApplicationはダメか?
あれ?BCB5にあるんだっけ?
0505デフォルトの名無しさんNGNG
>>497
using namespace std;
してるじゃん
0506デフォルトの名無しさんNGNG
>>504
レスありがとうございます。
多分OLE経由でやるってところまでは分かるんですが、
プロジェクトごとソースがあれば参考になると思いまして。
全く分からなかったので質問させていただきました。
0507デフォルトの名無しさんNGNG
>>504
読み込みだけでしたら、こちらのサイトで分かったのですが・・・
http://www.geocities.co.jp/SiliconValley/4805/bcbtips/bcbtips078.htm
0508デフォルトの名無しさんNGNG
>>506
Delだけど、真似してみれば?
ある程度までできたら、残りはExcelVBAだから。
ttp://www.geocities.jp/lupin_home/delphi/index.html#21
0509デフォルトの名無しさんNGNG
>>508
ありがとうございます!
Delphiですか、初めてですが、とりあえずそのままコピペしてみます。
ちなみに、 「CreateOleObject」を使用する際、
Serversコンポーネントの「ExcelOLEObject」をFormに貼り付ける必要はあるのでしょうか?
(初心者ですみません)
0510デフォルトの名無しさんNGNG
>>500
ありが�d^^
0511デフォルトの名無しさんNGNG
>>509
いや、いらないはず。
0512デフォルトの名無しさんNGNG
>>511
早速のレスありがとうございます。
[C++ エラー] Unit1.cpp(31): E2268 未定義の関数 'CreateOleObject' を呼び出した
と、エラー発生するのですが、原因わかるでしょうか・・・
0513デフォルトの名無しさんNGNG
>>512
必要なライブラリをリンクしたか?
0514513NGNG
あ、この場合はプロトタイプがないからかな。
だとしたら必要なヘッダーファイルをインクルードしていないから。
0515デフォルトの名無しさんNGNG
>>513
ヘッダーをインクルードする必要があるのですか、なるほど。
この場合、なんというヘッダでしょうか
ヘルプには見当たらなかったのですが・・・
0516デフォルトの名無しさんNGNG
>>513さん
何から何までお世話になり申し訳ありません。
それと同時にサクサク教えられるので尊敬のまなざしです。
0517デフォルトの名無しさんNGNG
>>516
ヘルプにComObjと書いてあるけど
0518デフォルトの名無しさんNGNG
>>513
どのヘッダーをインクルードしなければならないか、
と言うのは、何かヘルプになる資料はあるのでしょうか?
(それとも、すでに常識で皆さん暗記が必須事項でしょうか?)
もし参考になるものがありましたら教えていただけると助かります。
0519デフォルトの名無しさんNGNG
>>518
ヘルプで関数なりを引けば「ユニット」という項目に書いてある。
0520デフォルトの名無しさんNGNG
>>517
おおおぉー
これが、必要なヘッダだったんですか。
すみません、知りませんでした・・・
ComObjをインクルードする場合、#include ComObj ではありませんよね?
c++は素人で、今までCしかやったことが無く
質問ばかりでご迷惑おかけします。
0521デフォルトの名無しさんNGNG
>>520
そろそろ自分でヘルプを見ることを覚えませんか?
0522デフォルトの名無しさんNGNG
>>520
申し訳ありませんでした。
ヘルプに
「COM オブジェクトを作成するには,CreateComObject を使用してください。」
と書いてありました。CreateComObjectを調べてみます。
0523デフォルトの名無しさんNGNG
>>522
ぉ〜ぃ、ちゃんと読め。
ヘルプにそんなことは書いてない。
0524デフォルトの名無しさんNGNG
>>523さん
あら?CreateComObjectは関係ないということでしょうか。
「説明」に書いてあることをもっとよく読んでみます。
(違うところを読めという事?)
とにかく、ご指摘ありがとうございます。
0525デフォルトの名無しさんNGNG
>>524
>IDispatch インターフェースをサポートしない COM オブジェクトを(以下省略)

つーか、なんでCreateComObjectだと思ったわけ?

朝早いんで寝る。
0526デフォルトの名無しさんNGNG
>>524
すみません、ヘルプに書いてあったのでまずはCreateComObjectかなと思いまして。

おやすみなさいです〜
0527デフォルトの名無しさんNGNG
本人が寝たみたいだからこそっと言うけど、
>>520の「c++は素人で、今までCしかやった事が無く」
って、あんた、そのレベルではCも初心者じゃねーか!!

と突っ込むのは無しですかね。
0528デフォルトの名無しさんNGNG
>>497>>498
レス送れました。ありがとうございます。
using namespace std; は取り忘れました。
それにしても配列とそうでない変数の時は挙動が違うと、
安心できませんね。当分ビット演算は直接if文に突っ込ま
ないようにします。
0529デフォルトの名無しさんNGNG
×送れました
○遅れました
0530デフォルトの名無しさんNGNG
7まだ?
0531現調中NGNG
VisualBasicで、フォームにラベルを貼りフォントサイズを20くらいにして
Form1.PrintForm で印刷すると文字がアウトライン化され非常に綺麗なのですが、
C++Builderでフォームに同じようにラベルを貼ってフォントサイズを20で
Form1->Print(); で印刷するととても汚いです。
VBとBCBでは印刷の仕組みが違うのは分かりますが、
どうにはVBのように綺麗に出す方法はないでしょうか。
Shapeなどを使用し罫線を引いたりしたものを一緒に印刷したいので
RichEditを使う方法は使えません。
色々と調べて何度もチャレンジしてみたのですが出来ませんでした。
教えて君で申し訳ないですが是非解決策を教えてもらえないでしょうか。
今日も帰れそうにないです。。
0532デフォルトの名無しさんNGNG
>>531
Printerオブジェクトを直接使う方法しか知らないなぁ・・・。
役に立たないけど、応援の言葉だけ。






ま、ゆっくりしていけ。
0533現調中NGNG
>>532
応援ありがとうです。
はぁ・・こんな所で引っかかるとは思いもしなかったな・・。
出来ればゆっくりしたくないので引き続き調べてトライしてみます。
0534デフォルトの名無しさんNGNG
>>533 ちょっとかわいそうなのでVCL読んでみた。
やっぱりPrinter.Canvasに直接描画っぽい。

Print()はグラフィックとしてTFormをTBitmapにコピーし、それを
スケーリングして印刷してる。つまりハードコピーしたグラフィックを
拡大してるからフォントは汚くなる。

で、考えたのだが、TLabel等文字関係を非表示にしてTBitmapにコピー、
それをプリンタのスケールに拡大して、そこに文字列を描画ってのは
どうだろ? 結構面倒そうだが。

他の手段として、レポートツールとかでこの辺を楽にできないのかな?
俺使ったことないからわからんのだわ。
 




やっぱり、ゆっくりしていけ。
0535現調中NGNG
>>534
優しい>>534様。
文字関係を非表示にしてフォームをコピーで罫線とかを覚えてて・・・
プリンターのスケールに拡大で文字ですか〜。。頭が逝きそう。
いまさきほどから実験してるのは、フォームに散乱したラベルや罫線の
パーツ類を取得し座標を計算して、ラベルならその内容を・・・
->Canvas->TextOutA(x, y, str); で置いていくみたいな事を
やってました。
やりながらVBで1から作った方が早いような・・とか悩んでますが
先方がDLLだのランタイムだの必要とせずEXE1本でとうるさいので・・。

ということでゆっくりしたくないのでもっと実験します・・
0536デフォルトの名無しさんNGNG
PaintToメソッドでメタファイルキャンバスに一旦書き出し、
それをスケール調整してPrinterキャンバスに描いてみては
いかが?
0537デフォルトの名無しさんNGNG
よく知ってそうな人が出てきたので撤収。
 
 
 
 
 
一日は24時間あるさ。
0538536NGNG
ヒントはここまで。
ついでいうとPaintToはコンボボックスの中身だけなぜか描いてくれない。
0539現調中NGNG
だめだ〜〜〜。もうだめっぽい・・。
先方説得してVBで組むか・・・
0540デフォルトの名無しさんNGNG
Delphiの例なら
ttp://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=041956
0541デフォルトの名無しさんNGNG
ここで結論に達してる。
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=042110
0542かみかみNGNG
いつもお世話になっております。
以下の件について、ご存知の方おられましたら、ご教授願います。

Microsoft ACCESSのデータベースを作成する方法

今のところ、まったくもってやり方が分からずにおります。
ご存知の方おられましたら、是非ご教授願います。
0543デフォルトの名無しさんNGNG
C++BuilderにVisualC++の関連づけとDelphiの関連づけを勝手に変えられた
すげぇむかつく
0544デフォルトの名無しさんNGNG
>>542

Access形式のファイルを自動作成するやり方は知らないけど、
テーブルも何もない空のAccessのファイルをあらかじめ作っておいて、
そいつに動的にテーブルを作って、データファイル的にAccessのDBを扱ったことはある。

そのときは、ADOCommandのCommandTextに"CREATE TABLE〜"でテーブル作成SQLを
設定してやって、ExecuteでSQLを実行した。
 
0545デフォルトの名無しさんNGNG
>>543
インストール時に関連付けをどうするか聞いてくるだろが!





まあ俺もDelphiの関連付けを乗っ取られたわけだが_| ̄|○
0546デフォルトの名無しさんNGNG
すみませんです。BCB6 Personalの「ActiveX の取り込み」で
「Microsoft Internet Controls (Version 1.1)」をインストールし、パレットに出来た
TCppWebBrowserコンポーネントを単純にフォームに貼り付けてビルドすると、

[リンカ エラー] 外部シンボル '__fastcall Shdocvw_tlb::【A】::【B】
が未解決(C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ が参照)

がたくさんでてしまうのですけども、なんか手順しくじってますか?
Windows98se+Ie5/5.5/6と2000+Ie5.5です

【A】は、TCppSearchAssistantOC、TCppCScriptErrorList、
TShellFavoritesNameSpace、TCppShellUIHelper、TCppShellWindows、
TCppShellBrowserWindow、TCppInternetExplorer がそれぞれ、
【B】は、BeforeDestruction()、InitServerData()、InvokeEvent()、
Connect()、Disconnect() がそれぞれ組み合わさります。
0547デフォルトの名無しさんNGNG
ボタンをかっこよくしたいんですが
どうすればいいですか?
0548デフォルトの名無しさんNGNG
>>547
センスを磨いてください。
0549デフォルトの名無しさんNGNG
>>546
BCBのincludeディレクトリ以下のどこかにshdocvw_ocx.hというファイルがあるので、
それを削除すればOKなはず。
0550デフォルトの名無しさんNGNG
BCB6にIndy9のインストールをしようとして、Fullc6.batを実行しC6というフォルダにできた
dclIndy60.bplをパッケージのインストールで追加しようとすると、「プロシージャエントリポイント
@Idresourcestring@_RSBindingAny がダイナミックリンクライブラリ Indy60.bpl から見つかりませんでした。」
と言われます。アップデートは当ててあるのですけれど・・・。
0551デフォルトの名無しさんNGNG
タイトルバーに色をつけたり
閉じるボタンを自作のアイコンに変更したりしたいんですが...
0552デフォルトの名無しさんNGNG
>>551
頑張って下さい
0553デフォルトの名無しさんNGNG
リージョンでクライアントエリアくりぬいて自分で描画&メッセージ処理
XPでやってる奴。
0554デフォルトの名無しさんNGNG
てゆうか、そうゆうことやる前に内容きっちり作りこんでほしいね。
0555546NGNG
>>549
ありがとうございます。できました。感謝です!
0556デフォルトの名無しさんNGNG
BCB5でスマートポインタ及びその配列を使いたくて
そのためにテンプレートを書くのはちょっとと思い、

以前に使ったことのあるATLに含まれる
CAutoPtr
CAutoPtrArray

を使おうと思ったんですがどうしてもうまく行きません……。
(そもそもコンパイルを通せません)
Proを使っていますのでATLをサポートしていると思うのですがヘッダにそれらしきものもなく。

BCBには同様の機能として
TPtr、TAPtrの二種類があるようなのですが、
これらはリファレンスにものっていないし、コードを見る限り挙動がおかしくて
(TAPtrのコンストラクタにTPtrを渡すと、TPtrのProtectedな関数を直接呼び出そうとしていたり……。)
困ってしまっています。

何か良い解決策は無いものでしょうか?
ご教授戴けますと幸いです。
0557デフォルトの名無しさんNGNG
つ ttp://www.sun-inet.or.jp/~yaneurao/yaneSDK.html
こんなんどうよ
 
0558デフォルトの名無しさんNGNG
>>557

そんな特定の個人Dependな実装を使わなくても、

boost:shared_ptrとかSTL:auto_ptrを利用すれば?

俺はBCB4.0でコンテナには boost:shared_ptr、VCLは状況で auto_ptr 利用しているけど。
STLはまあいいとして、boostは ttp://www.boost.orgでどうぞ。
0559デフォルトの名無しさんNGNG
自分もboostのshared_ptr使うな。
コピーしないことを明示したいときはscoped_ptr使ってるよ。
0560デフォルトの名無しさんNGNG
春休みプログラムしようと思ってます。
ヤフーオークションでBuilder6が500円とかであるんですが買って大丈夫なんですか?
登録したらつかえませんとかないですか?
違法になったら怖いなぁー
0561デフォルトの名無しさんNGNG
>>560
どうぞ
http://www.borland.co.jp/products/cbuilder6_license_jp.pdf
0562デフォルトの名無しさんNGNG
ちなみにプログラム組んでみたいとかの動機ならDelphi6 Personalで十分かと‥‥
0563デフォルトの名無しさんNGNG
>>550
INDYは最初からついてるやつ使ったほうがいいよ。新しいの駄目駄目。
0564デフォルトの名無しさんNGNG
一番新しいのはダメダメだけど、ちょっと古いインストーラ付きのやつならいいと思う。
0565デフォルトの名無しさんNGNG
>>550
Borland\CBuilder6\Bin\ ディレクトリの indy60.bpl をリネーム
0566560NGNG
>>561
規約違反みたいですね・・
ソフトウェアの出品自体ほとんど違法なんですかね・・
0567デフォルトの名無しさんNGNG
>>566 BCCならタダダゾ・・・
ttp://www.kumei.ne.jp/c_lang/bcc/
0568デフォルトの名無しさんNGNG
 初めまして。BCB4.0で、VCLを使ったdllを作ろうと
しています。
 BCB4.0のヘルプファイルには「VCL コンポーネントを含む
DLL の作成」という項目があり、「YES」「NO」という2つのボタン
を有するフォームを作成する例が掲載されています(多分、BCB
5.0以降でも同じような内容があると思います)。
 しかし、実際に作ろうとしてBCBの「ファイル」→「新規作成」
→「ダイナミックリンクライブラリ」を選択すると、フォームの無い
プロジェクトが作成されてしまいます。dllを作成するプロジェクト
にフォームを追加するにはどうすればよろしいのでしょうか?
0569デフォルトの名無しさんNGNG
#define DBG_MSG(format, ...) OutputDebugString(AnsiString().sprintf(format, __VA_ARGS__).c_str());
上のマクロをBCB6で実現する方法ってないでしょうか‥‥
0570デフォルトの名無しさんNGNG
ない
0571556NGNG
スマートポインタのことを質問した556です。
>>557さん、>>558さん、>>559さん、お答え戴き有り難う御座います。

>>557さん
やねうらおさんのYTLは知っていたのですがそれだけを分離して使えないので、困っていました。
しかし、ゲームをつくる上での使い勝手は良さそうですね。
ご紹介戴き、有り難う御座います。

>>558、>>559さん
boost使ってみました。
かなり良いです!

boost:shared_ptr
がvectorの要素に対して格納できるのが良いですね。
紹介戴きありがとうございました。
auto_ptrでは駄目な部分もあり、色々と迷っていたのでした。
こんな使い勝手の良いライブラリが無償で提供されているなんて
何だか感動です。

本当に有り難う御座いました。
0572デフォルトの名無しさんNGNG
>>568
フォームは別に作って、それをインクルードしたらいい
0573558NGNG
>>571(=556)

>>auto_ptrでは駄目な部分もあり、色々と迷っていたのでした。
vectorにはauto_ptrは*絶対に*使えませんよ。

この辺の詳しいことは、Effective STLの第7項に書いてあります。
#最終的にはshared_ptrを使うのが例外安全の意味もありBESTとなってます。

Effective STL:
ttp://www.amazon.co.jp/exec/obidos/ASIN/4894714108/249-4661473-2133910
0574568NGNG
>>572 できました。ありがとうございました。
0575デフォルトの名無しさんNGNG
Builder6ですが、文法チェックのため”コンパイルのみで実行しない”
というのは出来ますか?
0576デフォルトの名無しさんNGNG
>>575
Ctrl+F9とかAlt+F9とか。
メニューの「プロジェクト」見れ。
0577ぬるぽNGNG
>>576
サンクスです。
「実行」メニューしか見てなかった^^;
0578デフォルトの名無しさんNGNG
TMemoのFontを「MSゴシック」固定にしたいのですが、
Charsetプロパティへセットする定数の値が分かりません?
 memo->Font->Charset = ?
教えてください、お願いします。
0579デフォルトの名無しさんNGNG
>>578
grep
0580デフォルトの名無しさんNGNG
構造体って、サイズが大きすぎるとエラーが出るらしいですが、
最大何バイトまでOKなのでしょう?
それから、AnsiStringみたいな可変長変数の扱いはどうなるんでしょう?
0581デフォルトの名無しさんNGNG
>>578
CharsetじゃなくてNameじゃないのか?
0582デフォルトの名無しさんNGNG
>>580
予約スタックサイズの設定次第
巨大な静的宣言された配列使わない限りは普通、問題は出ない

AnsiStringの様なクラスはプロパティの合計サイズと同じだったはず。
0583デフォルトの名無しさんNGNG
>>582
ありがとうございます。
予約スタックと静的変数を検索してみます。
0584デフォルトの名無しさんNGNG
初心者的な質問ですいません。
TCppWebBrowserを使った開発をやっているんですが、
Webが表示されたのはいいんですが、例えば2ちゃんねるなどの掲示板へのカキコの
際にエンターで改行して書くにはどうすればいいんでしょうか?
一番手っ取り早い方法を教えていただきたいです。
0585デフォルトの名無しさんNGNG
urlencode
0586デフォルトの名無しさんNGNG
>>582

staticだと、スタックとは関係なくなるんじゃないか?

・global/static/動的に確保
  ->heapに領域生成
   ->マシンの(OSの/処理系の)メモリに依存
・通常のlocal
  ->スタックに依存

でしょ。

MS-C4.00のころはそうでなくても乏しいメモリ環境の中で
環境変数をスタックにコピーしてたのですぐにスタックが
足りなくなってということもあったけど、
最近はそういうことはほとんど起こらないだろう>>580。

というかそんな噂みたいな聞きかじりを心配しても意味が無いと思う。
ちゃんとしたソースなり文献なりをあさるべし。
0587デフォルトの名無しさんNGNG
タブ型テキストビューワー・アプリにて、エクスプローラー等外部から複数回 
起動された場合の対応として
 1)最初の起動時、ハンドルを共有メモリにセーブする。
 2)2回目以降の起動時は、共有メモリのハンドルに対しパス名+ファイル名
をSendMessage"WM_COPYDATA"し終了する。
  (初回、2回目以降の判断はミューテックス使用)
 3)通知されたファイルを新たなタブで開く。
こんな方法しか思いつかないのですが、もっと簡単な方法ってありますか?
0588デフォルトの名無しさんNGNG
DLL内のスレッドでキー入力を捕まえて中断処理に使いたいのですが、
うまくいかなくて原因がわかりません。
やったこと:スレッドのコンストラクタでAllocateHWnd()でハンドルを取って、
RegisterHotKey()でホットキーを設定してみました。
で、execute()内でkeybd_event()でダミー入力を起こしてみたのですが
WndProc()にWM_HOTKEYが帰ってきてくれません。
実際にキー入力しても反応ありません。
フォームを使わない入出力(というかDLL作成)は初めてで
勝手がわかりません。基本的におかしい所があるんでしょうか?
0589デフォルトの名無しさんNGNG
Mr.XRAYが作成した plButton のC++Builder版みたいなの
ないですか?
0590デフォルトの名無しさんNGNG
Editを複数作って、"Hello."を出力するEditの場所を選びたい時にはどう書いたらいいのですか?
例)
int index;
Edit(…)->Text="Hello.";

(…)にはindexの数を当てはめたいのです。
教えてください!
0591デフォルトの名無しさんNGNG
配列に入れとけば?
0592デフォルトの名無しさんNGNG
switch/caseは?
0593デフォルトの名無しさんNGNG
すみません、何を配列にするんでしょうか?indexですか?
Editがたくさんある場合を想定しています。
プログラム始めたのが最近でまだあまりよくわからない初心者なもので…。
0594デフォルトの名無しさんNGNG
あ、sage忘れました。m(_ _)m
0595デフォルトの名無しさんNGNG
>>593
Editがたくさんっていくつ?
たくさん置く実装のほうが間違っているよ。
あなたが初心者ならなおさら。

学習が目的ならC++の勉強からはじめな。
数時間から十数時間の勉強でわかるようになるよ。

0596デフォルトの名無しさんNGNG
あ、何か聞きたいことが違っていました!
indexが1〜20まで、EditBoxが1〜20まであります。

for(index=1;index<20;i++){
ここで、hogeがなんらかで決まる。
if(hoge=1)Edit(…)->Text="Hello.";
if(hoge=2)Edit(…)->Text="Hello2.";
………
if(hoge=20)Edit(…)->Text="Hello20.";
}
な感じにしたいのです。
0597デフォルトの名無しさんNGNG
別にhogeは20個に限りません。

やっぱり実装が間違っているんでしょうか…。
例を見ると学習ぽいですが、
本当は、複数あるグラフボックスの下にグラフの判定結果を出力したかったのです。
0598デフォルトの名無しさんNGNG
TEdit *eba[20];
eba[0] = Edit1;
eba[19] = Edit19;

eba[hoge]->Text = "hoge"
0599デフォルトの名無しさんNGNG
実装的におかしいのは、普通、それだけのEditが必要なら
設計時にポトペタするんじゃなく、動的に作成するって事だな。

で、indexでアクセスするなら
TEdit *edits[] = ...
とすりゃいい。...の部分は
{ Edit1, Edit2, Edit3, ... } でもいい(これならローカル配列でも初期化できる)し
Create時にnewしてもいい(この場合は配列をFormのメンバにする)。
0600デフォルトの名無しさんNGNG
ありがとうございます!それでやってみます。
とても助かりました。(´ー`)♥
0601587NGNG
>>587
簡単には出来ないのかなぁ・・・
0602デフォルトの名無しさんNGNG
>>590
FindComponent
0603デフォルトの名無しさんNGNG
>>601
DDE使ってみるのは?
簡単かどうかは知らんが。
0604デフォルトの名無しさんNGNG
質問です。
CppWebBrowserで現在表示されてるHtmlのソースを取得したいんですが、うまくいきません。
IEの「ソースを表示」とかと同じことをしようとしてるんですが…。

IHTMLElement *el;
TComInterface<IHTMLDocument2> doc2;
wchar_t *wcpp;

doc2 = CppWebBrowser1->Document;
doc2->get_body(&el);
el-> get_outerHTML(&wcpp);
Memo1->Text=AnsiString(wcpp);

一応上のコードでhtmlの<body>タグ内のものは取得することが出来たんですが、
そうではなくドキュメント内の全てのコードを取得したいんですよね。
なので次のような書き方にして、

IHTMLElementCollection *el;
doc2 = CppWebBrowser1->Document;
doc2->get_all(&el);

みたいにget_all( )という関数がそのものズバリなのかと思ったんですが、
そこから全てのコードを取り出す関数が見つかりませんでした…。

どなたかお助け願います
0605587NGNG
>>603
SendMessageだと共有メモリを介してハンドルの受け渡しが必要に
なるため、DDEの方がスマートに出来そう (たぶん・・・^^;)
情報サンクスです。
0606デフォルトの名無しさんNGNG
動的に生成したコントロールのイベントハンドラの
登録(コントロールとイベントハンドラの関連をコンパイラへ通知)
方法が分かりません。教えてくださいお願いします。
0607デフォルトの名無しさんNGNG
>>606
コンパイラに通知してどうする(w
イベントハンドラもプロパティだよ。代入すればいいだけ。
NewComponent->OnClick = OnHogeClick; //OnHogeClickが既存のイベントハンドラ
0608デフォルトの名無しさんNGNG
TreeViewのDragModeをオートマティックにしてドラッグすると、
強制的にOnClickとOnMouseDownが実行されてしまいます。

OnDragOver内でドラッグ中にフラグを立てて、OnMouseUp時にフラグの値を元に戻す、
という方法も試してみたんですが、どうもうまくいかないです。

みなさんどのような方法でこれを回避してるんでしょうか?
0609デフォルトの名無しさんNGNG
>>607
そっかw、ありが�d
0610デフォルトの名無しさんNGNG
>>608
具体的に何をしようとしているか分からんとアドバイスのしようがない。

一般的に言うなら、ボタンが押された時点で、エンドユーザの意志が
「クリック」なのか「ドラッグ」なのか判断するすべはない。
だからOnClick, OnMouseDownとドラッグとで互いに競合する処理を
割りつけるのがそもそも不味いわけ。

たいていのアプリでは、OnMouseUp時に処理を行うようになってるはず。
これならドラッグ後はスキップするようなことも簡単にできる。
0611デフォルトの名無しさんNGNG
>>610
> 具体的に何をしようとしているか分からん

クリックすると処理の実行、ドラッグすると単に順番を入れ替えるだけ、です。

> 「クリック」なのか「ドラッグ」なのか判断するすべはない
> たいていのアプリでは、OnMouseUp時に処理を行うようになってるはず。

単純な指摘ですが盲点でした、そうか、それならOnMouseUpに書けば上手くいきますね!

で、こんな流れでコードを書きました。
まず、OnDragOver内でフラグを立てて、OnMouseUp時にもしフラグが立っていたら処理はキャンセルして
フラグの値だけ元に戻す。

これでイケルはず、と喜び勇んでやってみたんですが、驚くべきことにノードのドラッグを開始した途端に
なんとOnMouseUp内の処理が実行されてしまいます!!
調べてみたところ、OnDragOverよりも先だってOnMouseUpイベントが発生してる模様です。

しかし、そのまま一旦ドラッグしたものを放して、再度何かをドラッグすると、
次はちゃんとフラグが立って処理が実行されることはありません。
ただし、その後一度ドラッグなしにMouseUpイベントを実行させた後はまた同じように振り出しに…。


TTreeViewコンポーネントは一つだけ、動的に作成したものではない。フラグ用のメンバ変数もかぶってない。
イベントを他のイベントと間違えてつけてやしないかとインスペクタを見直してみてもちゃんと合ってます。
これは一体…。というか仕様ですか?BCB6なんですけど。


0612デフォルトの名無しさんNGNG
>>611
実験してないからなんとも言えんけど、その症状はフラグの管理を
失敗している気がする。
0613デフォルトの名無しさんNGNG
>>612
そうですか、もう一度見直してみることにします。
ありがとうございます。


確認のためにどなたかご存じの方にお聞きしますと、
BCB6(のVCL)ではノードのドラッグを開始すると
OnClickやOnMouseDownのみならずOnMouseUpも実行されるっていう仕様なのですよね?
0614デフォルトの名無しさんNGNG
んなわきゃない
0615デフォルトの名無しさんNGNG
実験してみた。

DragMode=trueでは
クリック時
 マウスボタンアップ時に
 OnMouseDown, OnClick, OnMouseUpが連続して発生
ドラッグ時
 ドラッグ開始時にOnMouseDown, OnClick, OnMouseUpが連続して発生
 その後OnDragそしてドロップ時にOnDrop発生

というかなり変則的なイベント。
うーん、これは予想外。
対応策は・・・ちと思い付かんな(w
0616デフォルトの名無しさんNGNG
↑
×DragMode=true
○DragMode=dmAutomatic
0617デフォルトの名無しさんNGNG
>>615
あー、お手をわずらわせてしまってすいません。
やはりかなり変則的な仕様になってましたか…。
自分で前に簡単に試してみても同じような結果になったんですよね。
ついでに言うとOnMouseMoveも連続発生組だったと思うのでどうしようもないですね。

初心者なものであまりそのことで難しいコード書いたりするのも何なので、
最終手段としてとっておいた、ダブルクリック時に処理を行う、という流れに変更したいと思います。
どうもありがとうございました、感謝。
0618デフォルトの名無しさんNGNG
失礼します。TreeView関連で質問ですが、nodeをMoveToで移動させる時、
MoveTo( hoge , naInsert) でhogeの一つ前には移動できるものの、
一つ後に移動させる方法がわかりません。
hogeが最後の兄弟だったりしたケースなどを考えると解決策がどうも
浮かんでこないのですが、よろしければご教授くださいませ。
よろしくお願いします。
0619デフォルトの名無しさんNGNG
BCBと関係なくて恐縮なんですが、
どなたかParadoxの仕様(最大レコード数とかサイズとか)が載ったサイトって
ご存知ないですか?
0620デフォルトの名無しさんNGNG
>>619
http://www.google.co.jp/search?q=cache:g0IBgbj5SF4J:www1.harenet.ne.jp/~hiharada/plink/p95/n018.htm+Paradox+%E6%9C%80%E5%A4%A7+%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E6%95%B0+%E3%82%B5%E3%82%A4%E3%82%BA&hl=ja&lr=lang_ja&ie=UTF-8&inlang=ja
0621デフォルトの名無しさんNGNG
BitBtnやSpeedButtonてToolButtonみたいに普通にビットマップを
表示させる方法を教えてください。
0622デフォルトの名無しさんNGNG
DBGridのOptionを実行時に変更したくて、次のようにやってみましたが
変更されません。
どうしてでしょうか?教えていただけませんか?

if( CheckBox1->Checked ){
DBGrid->Options = DBGrid->Options << dgTitles;
}else{
DBGrid->Options = DBGrid->Options >> dgTitles;
}

BCB6 Win2Kです
0623デフォルトの名無しさんNGNG
>>622
プロパティに<< >>は使えないんじゃないの?
0624デフォルトの名無しさんNGNG
>>622
DBGrid->Options << dgTitles;
は?
0625デフォルトの名無しさんNGNG
>>622
書式そのものはそれでいいはず。
念のためそのコードが実行されているかトレース。
あと、dgTitles以外の値もダメ?
0626デフォルトの名無しさんNGNG
>>622
TDBGridOptions のような集合型は、極力モノグサしない方が
経験上、後腐れないですよ。

TDBGridOptions dgoTemp;

dgoTemp = DBGrid->Options;
dgoTemp << dgTitles;
DBGrid->Options=dgoTemp;

という感じで、一度変数として取り出し、操作してからまた元に戻す…
というのがよろしいかと思います。

なぜそのようにしないとうまく動かないのかはわかりませんが。
0627デフォルトの名無しさんNGNG
BCB6でSamplesパレットにあるTrayIconコンポーネントを使いたいのですが、
プロパティのVisibleの値を非常に早く変化させると
「EOutOfResourcesクラスの例外を生成しました。'Cannot Remove System Shell Notification Icon'」
というエラーが出てしまいます。
チェックボックスとトレイアイコン表示を連動させていると、
ユーザーにチェックを連打された時にこのエラーが発生するとまずいので、
エラーが出ない対処法を何か教えていただけませんか?
0628デフォルトの名無しさんNGNG
>>622
それであってる、原因はほかにある

つうか>>621教えてくれ
0629デフォルトの名無しさんNGNG
>628
Glyphプロパティじゃ駄目なん?
0630ML-:37332NGNG
互換性がないのは某が悪いけど、元に戻せないのは開発者が悪い。
業務に使えないのはBCBでなく、バックアップも取らないお前。
0631622NGNG
激遅かつまとめレス失礼
>>623
Stringgridだといけたんですよ。

>>624
言葉足らずすんません、それもやってはみたんですが。

>>625
うぅ、トレースでは確実に実行されているんでInvalidateしたりもしたけどだめでした。

>>626
ありがとうございます、それでいけました。
623さんへのれすにもかいたようにStringgridだといけたのになぁ。

皆さんありがとうございました。
0632デフォルトの名無しさんNGNG
>>629
ビットマップの大きさが変えられないんよ、それにあれって4分割でアレしてるから
0633デフォルトの名無しさんNGNG
>>632
TSpeedButtonなら大きさに合わせて表示できると思うけど。
4分割も使わなければいいだけのはずだし。

俺が勘違いしてるのかな?
0634604NGNG
誰か機嫌良い人。
週末の前に僕の質問に答えてみませんかぁ!
0635デフォルトの名無しさんNGNG
ttp://www.swissdelphicenter.ch/torry/showcode.php?id=1112
delだけど・・・
0636604NGNG
Delの上に英語…_| ̄|○

でも誰も答えてくれなかったので嬉しい_| ̄|○
0637デフォルトの名無しさんNGNG
FormにC
0638デフォルトの名無しさんNGNG
ふぉ、ふぉーむにしー?
なんだろ
0639初心者NGNG
FormにCppWebBrowserを二つ貼り付けて、片方を、リンクをクリックしたら読み込みにいかせて
結果はもう片方に表示させるなんて事はできるんでしょうか?
その必要性は別として。
0640reikoNGNG
あのー。プログラマーの皆さんはウィルスとかにも詳しいのでしょうか。
私ウィルス対策のためウィルスの研究をしています。変わったウィルスを
お持ちの方、ご存知の方reikoに送信していただけないでしょうか。
お待ちしています!
0641デフォルトの名無しさんNGNG
C++で質問なんですが
2行3列の行列の和を求める関数 int sum(int x[][3],int y[][3],int z[][3])
で仮引数x[][3]をx[][]と出来ないのは何故ですか?

また、この関数だとn行3列の行列の和しか出せないのですが
n行m列の行列の和を出す関数は作れないんでしょうか?
0642641NGNG
どうもスレ違い臭いので取り消します;
無視してください
0643デフォルトの名無しさんNGNG
bcc5.5.1を使用している初心者なんですが
WNDCLASSEXはサポートされているんでしょうか?
0644デフォルトの名無しさんNGNG
>>643
そら必要なヘッダさえインクルードしたらな。

以降、BCCの話題はこっちのスレへ
タダで使えるBorland C++ Part3
http://pc2.2ch.net/test/read.cgi/tech/1054390397/l50
0645デフォルトの名無しさんNGNG
>>644
ありがとうございました。
次からそうします。
0646デフォルトの名無しさんNGNG
マジでヤヴァイたすけてくれ
C++Builder5からC++Builder6にアップデートしたら
.bprファイルのアイコンがC++Builder5のままだった。
「何でだよボケ」とか思いながら再起動したら、C++Builder6の新しいアイコン
に代わっていた、ところが次に再起動してみるとまたまたC++Builder5のアイコンに
戻っていた…
 再起動するたびに5のアイコンだったら6のアイコンだったり怖すぎ。
これには裏にBorlandの大いなる意志が働いてるんだと俺は思う。
((;゚Д゚)ガクガクブルブル
0647デフォルトの名無しさんNGNG
>>646
プログラマに向いてないと思うぞ。
0648デフォルトの名無しさんNGNG
>>647
そういうツッコミは野暮でしょ
0649デフォルトの名無しさんNGNG
>>646
それは大いなる意志に違いない。
速やかにBCB6を俺によこせ。
0650デフォルトの名無しさんNGNG
もともとでDBには,1.23456というような小数第5位まであり,
これをDBGridに表示するときには1.23のようにしたいのですが,
DBGridの表示形式を変更するということは可能でしょうか?
0651デフォルトの名無しさんNGNG
>>650
TFieldのOnGetTextあたりで細工しれ。
DisplayFormatでもいいが。
0652デフォルトの名無しさんNGNG
__fastcall
これってなんなんでしょう?ヘルプをみても
「引数をレジスタで渡す関数を宣言できます」なんていわれてもぱっときません
どういうものなのでしょう?
0653デフォルトの名無しさんNGNG
>>652
CPUペイン見れ。できるだけ多くのレジスタを使って関数の
パラメタを渡すようになる。でも結局__fastcall関数内でその
レジスタを待避しなければならないので本当に速くなるか
どうかは疑問の点もあるが。
0654デフォルトの名無しさんNGNG
>>652
デルファイとの互換のためにあるので、
BCBしか使わないなら気にする必要なし。
0655650NGNG
>> 651さん

レスありがとうございます!DBにもともとあるフィールドに対しては
できました.
例えばDBの第1回模試というテーブルの中に英語と数学というフィールドが
あったとして,
Select (t1.英語+t1.数学)/2 as 平均 from 第1回模試 as t1;
を実行したきの"平均"の表示形式を変更することはできるのでしょうか?
0656デフォルトの名無しさんNGNG
>>650
動的に項目作成するなら、プロパティもそのときにせっていしてやれば?
0657デフォルトの名無しさんNGNG
C++Builder6使ってるんだけど、コーディング支援の表示が遅いんです(TT
Delphi6も同じく使ってるんだけど、Delphi6はすごく早い。
ところがC++Builderはメンバー一覧がでるまで「がががが...」しばらく
swapしてから表示される。この待ち時間中はキーをたたいてもエディタに
反映されないので待つしかないのです。
これ早くする方法ないのですあ?…やっぱりデフラグですか?
0658デフォルトの名無しさんNGNG
>>657
ない
0659デフォルトの名無しさんNGNG
>>657
自動支援機能を全部切れ(・∀・)
必要な時だけCtrl+Space押せば問題なし
0660デフォルトの名無しさんNGNG
>>657
CPUを速くして、メモリを倍増させて、HDDを速いのに代えて・・・。
それでダメならユーザを交換しる!
0661デフォルトの名無しさんNGNG
>>633
レスあり、遅レスすまん
えとTSpeedButtonは大きさに合わせてできなかったんだけど、できる?
4分割は使わなくていいんだけど、勝手に分割されて・・しかも変なふうにl
0662650NGNG
>> 656さん

そうしたいんですけど...
実行するSQLにEditから入力した値を渡しているので,DisplayFormatが
使えないんですよ.
0663デフォルトの名無しさんNGNG
>>657
どれ位のスペックのマシンですか?
俺はPen4 3.2G、デュアルチャンネルDDR-SDRAM3200 1G、
Serial ATA7200rpm、WindowsXP等を使用しておりますが
ほとんどストレスなく自動支援が働いております。
0664デフォルトの名無しさんNGNG
BCB6 で XP のテーマに対応した描画をしようと思い
Uxtheme.h をインクルードしたんだが
宣言には識別子が必要と怒られた。
もしかしてマニフェスト使うしか方法無いの?
0665デフォルトの名無しさんNGNG
PC9821V200s7cでBCB6してる漏れはガンガッテいいですよね?
0666デフォルトの名無しさんNGNG
>>663
Pen3 1Ghz、RAMは327MB
Win2kでHDDの回転数は不明です
0667デフォルトの名無しさんNGNG
メモリが少ない
0668デフォルトの名無しさんNGNG
>>667
メモリってそんなにつむものなんですか?
0669デフォルトの名無しさんNGNG
327MBっていつの時代だよ。
0670デフォルトの名無しさんNGNG
PIIIって815なんかだと512M以上積めないからなあ。
今だと開発機は普通に1GBくらいじゃないかな。
0671デフォルトの名無しさんNGNG
うう、いつのまにかメモリは1GHzつむのがあたりまえみたいになってきてますね
わかりました、メモリ増設します。
0672デフォルトの名無しさんNGNG
Hzじゃねーw
0673デフォルトの名無しさんNGNG
>>672
おっと、失礼w
0674デフォルトの名無しさんNGNG
BCDって一旦文字にしないとintにできない?
0675デフォルトの名無しさんNGNG
>>674
なんでやねん?
0676デフォルトの名無しさんNGNG
>>675
いや、つうかさ?
BCDの0x20てintで32じゃん?
これintで20ってするのにどうやってやりますか?
0677デフォルトの名無しさんNGNG
最近Cはやってないけど、こんな感じかな?
(x >> 4) * 10 + (x & 15)
0678デフォルトの名無しさんNGNG
せめて(x & 0x0f) と書いてくれ
0679デフォルトの名無しさんNGNG
BCBのRAD環境より、VCのVisual開発の方が最近RADな感じに思えてきた。
VCLさえあればRADな所は損なわれねーから
VCLを利用してVCでコードのみ作成したいんだけど、インクルードパスを設定しても
補完機能が働いてくれねー。

VCLはポトペタよりコーディングした方が管理しやすいので
補完機能を何とかしたいんだが、どうにかならんかね。
いっとくけど、MFC使えなんてのは無し。MFCはRADじゃねーから。

BCB5 Learning
VC6 Standerd
0680デフォルトの名無しさんNGNG
>>679
VCLのヘッダは某の独自拡張機能使いまくりなのでVCのIDEじゃ解析できないかと
0681デフォルトの名無しさんNGNG
>>677
お、マジかいなー
どれどれ計算してみるわ、あんがとさん♥
0682679NGNG
そうなのかー
Pro版買えってことですね。(鬱
サラ金行って来るかな・・・
0683デフォルトの名無しさんNGNG
>>682
見習え。
http://sports3.2ch.net/test/read.cgi/fish/1063813537/355-363
0684682NGNG
要するに>>683が言いたいのは、
ラーニングエディション買った俺がろくなプログラムを書けないから
誰か責任取れバカと言っている。

>>683はプロ版を使っており、
ラーニングエディションを買った俺がバカだと、言いたいわけだ。
>>683の心の師匠がエンタープライズ版を使ってもっと凄い物を作ってる。

ということかな?(w
0685デフォルトの名無しさんNGNG
>>684
気にせずPro版なりEnt版なり買え。切羽詰まったらマグロ相手の仕事を紹介してやる。
釣りが目的じゃないから、移動中にプログラム組めるだろ。

ということで。
0686デフォルトの名無しさんNGNG
64ビットのInt型整数を扱いたいのですが
C++Builderではどのようにすればよいのでしょうか?
0687デフォルトの名無しさんNGNG
__int64
0688 NGNG
コンポーネントを自作すると、設計時のキャプション変更のときCM_TEXTCHANGEDメッセージが一文字変更するごとに飛んできません。
Delphiで作るとちゃんとキャプションを一文字入力するごとに飛んでくるのに。これは自分だけですか?

private:
void __fastcall CMTextChange(TMessage & Message);
protected:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(CM_TEXTCHANGED, TMessage, CMTextChange)
END_MESSAGE_MAP(TGraphicControl)

void __fastcall TSimpleButton::CMTextChange(TMessage & Message)
{
TGraphicControl::Dispatch(&Message);
Invalidate();
}
0689デフォルトの名無しさんNGNG
INT64
LONG64
LONGLONG
0690デフォルトの名無しさんNGNG
>>650

DataSet->FieldByName("平均")->DisplayFormat = 〜〜
0691デフォルトの名無しさんNGNG
どなたか、TButtonのボタンがフォーカス持った時に表示される
点線の四角形を表示させない方法を教えていただけませんか・・?
0692デフォルトの名無しさんNGNG
>>691
TBitBtnに代える。
0693691NGNG
>>692
変えてみましたが点線の四角は表示されてしまいますが・・
0694デフォルトの名無しさんNGNG
>>693
ごめん。TSpeedBtnに代える。
0695691NGNG
ありがとうございます。
TSpeedButtonはHandleプロパティを持ってないからどうしようか迷ってるんです・・。
BCBのデフォルトで付いてるコンポーネントでHandleも持ってて実現できるのは無いですかねぇ。
0696デフォルトの名無しさんNGNG
>>695
TButtonやTSpeedBtnのOnClickでFormのActiveControlをNULLにすると
フォーカスが外れる・・・と思ったけど押されている間はフォーカス表示が
出てしまう。う〜ん。
0697デフォルトの名無しさんNGNG
>695
私は押したままの状態になるボタンをTPanelで作った。
BevelInner/BevelOuterを両方bvLoweredにするとへこみ、bvRaisedにすると盛り上がる。
標準のボタンが気に入らないときは、たいていこれを使う。
0698691NGNG
>>697
おお、OnMouseDown/UpでBevelプロパティを変えたらいい感じになりますね〜
どうもありがとうございます。
696さんもありがとうございました。
0699デフォルトの名無しさんNGNG
TreeViewについて質問です。
Node単位で文字コード順にソートを行いたいのですがどの様な方法が良い
でしょうか?
これまで調べた内容では、AlphaSortは文字コード順ではない事がわかりました。
CustomSortProcというメソッドを使ってみたのですが、使い方がよくわかりません。
strcmpで比較できるようにソートする事が最終目的です。
0700699 NGNG
解決しました
0701デフォルトの名無しさんNGNG
>>700
どう解決したか書いてくれるとうれしいな。
0702デフォルトの名無しさんNGNG
DataSetで現在アクティブなフィールドを知るに
はどうすればいいですか?
0703デフォルトの名無しさんNGNG
誰もQueryPerformanceCounterを使ってないのかな?<ML
0704デフォルトの名無しさんNGNG
C++Builder6を使用しているのですが、画像を埋め込んだHTMLドキュメントを返す
CGIから画像を取得して取得したファイルをローカルフォルダに保存する方法が分
からなくて困っています。そもそもHTTPでネット上のリソースをダウンロードする事
って可能なんでしょうか?
0705デフォルトの名無しさんNGNG
>>704
WWWの基礎から勉強し直せ
0706デフォルトの名無しさんNGNG
>>704
一応参考
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/1512/
0707デフォルトの名無しさんNGNG
>>679
俺はサクラエディタを使うようにしてる。
補完機能自体はキーワード登録 (設定ファイル編集)が要るし、正直原始的なものではあるが
Builderのエディタなんぞより1億倍使いやすい。
0708デフォルトの名無しさんNGNG
固定長のファイルのレコードをTMemoryStreamで簡単に削除する方法教えてください
0709デフォルトの名無しさんNGNG
ラベルなどのコントロールの複製をコード上で作る様にしたいのですが、
どうやったらよいでしょうか?
ボタンを押すごとにラベルが増えていく・・・
みたいにしたいのですが、Loadなんたらで検索しても
みつからないので困ってます。

CBはVCよりよほど使いやすくていいですね。
0710デフォルトの名無しさんNGNG
>>708
不要なレコードをそれ以降のレコードで詰めるしかない
あるいは必要なレコードのみを新しいファイルにコピーするか

>>709
new そして TControl::Parent
0711デフォルトの名無しさんNGNG
>>709
>>2のビギナー向けtipsのページの「コンポーネントを動的に作成する」を見るといい
0712デフォルトの名無しさんNGNG
>>711
おー。なるほど。
わかりました。ありがとうございます。
0713デフォルトの名無しさんNGNG
猫のページのWinAPIプログラムのソース打ち込んでコンパイルしたら
Error: 外部シンボル’main'が未解決
って出てコンパイル出来ないんですが、どなたか何故か教えてくれま
せんか・・・
0714デフォルトの名無しさんNGNG
コンパイルというよりリンク出来てないのか・・・
0715デフォルトの名無しさんNGNG
>>713
-W
0716デフォルトの名無しさんNGNG
>>715
有難うございました!
初歩的な質問で申し訳ありませんでした・・・
0717デフォルトの名無しさんNGNG
>>716
それ以前にスレ違い

bcc32単独の話は↓
タダで使えるBorland C++ Part3
http://pc2.2ch.net/test/read.cgi/tech/1054390397/
0718名無しNGNG
データベースデスクトップで扱っているDBで、
MySQLとPostgreSQLユーザーに最適なRDBMSを教えてください。
0719704NGNG
>>706
遅レスすみません。
こういうページを紹介して貰えると非常に助かります。
ありがとう御座いました。
0720デフォルトの名無しさんNGNG
Builder6にて、フォームを追加したのですが
Unit2.cppを変更して実行(F5)してもコンパイルのみで
リンクされてないのか、実行したアプリは変更が反映されません。
再構築(F7)すると変更が反映されるのですが構築時間がかかってしまう・・・
効率の良い方法は無いですか?
0721デフォルトの名無しさんNGNG
乱数が毎回同じになるのでRandmizuを呼び出したいのですが、
ソース、ヘッダーのどの部分に、どよのように記述するかわかりませ。
ご教授おねがいします。
0722721NGNG
誤字だらけでした。
Randmize,どのようにの間違いでした。
回線で首吊ってきまつ。
0723デフォルトの名無しさんNGNG
Randomize
0724デフォルトの名無しさんNGNG
どっかに起動時に一回通るところに
randmize();
って書くだけ。
0725721NGNG
>>724
サンクス。
しょぼい質問、誤字だらけでスレ汚しすまそ。
0726デフォルトの名無しさんNGNG
質問です。
Templete(汎用)クラスを作ったんですが、ソースファイルとヘッダーファイルに分離すると、リンカエラーが出てしまいます。
これはC++の仕様なんでしょうか?

ちなみにヘッダー部だけで実装すると、リンカエラー無し(正常)です。
0727デフォルトの名無しさんNGNG
仕様を満たしていない、が正解。
0728デフォルトの名無しさんNGNG
>>726
そらスレ違いだろ

>>727
今んとこメジャーなコンパイラで"export"をサポートしたものは確かないんじゃ?
0729デフォルトの名無しさんNGNG
TStringGridでEXCELみたいにセルの結合ってできますか?
0730デフォルトの名無しさんNGNG
>>729
無理
0731デフォルトの名無しさんNGNG
マウス位置の絶対座標をゲットするVCL教えれ
0732デフォルトの名無しさんNGNG
>>731
GetCursorPos APIではダメか?
0733デフォルトの名無しさんNGNG
>>732
VCLつってんだろっ!

まあTMouseでOKでたからいいや
0734デフォルトの名無しさんNGNG
やれやれ
0735デフォルトの名無しさんNGNG
C++builder6で、監視式を複数登録しておいても、プロジェクトを
一度閉じて開き直すと、最初の1個以外は全て消えてしまうのですが、
消えないようにする方法があったら、教えてください。
0736デフォルトの名無しさんNGNG
すいません、TStringListにCSVデータを読み込ませてるんですけど、

AnsiString str = "aaa , bbb , C:\Documents and Settings\hoge\デスクトップ\test.txt";

TStrings *csv = new TStringList();
csv->CommaText = str;

上のようにやった場合、「 and 」っていう半角スペースに挟まれた文字列のところでも
区切られてしまうんですよね。
これを回避するには、一旦TStringsに読み込ませる前に文字列「 and 」を
他のユニークな文字列と置換しておいて、
その後で、再度元の「 and 」に置換し直すって方法しか浮かばないんですが、
他にもっと簡単な方法ってありますでしょうか?
0737736NGNG
あ、違う、「 and 」って文字列だけ区切り対象になるんじゃなくて、
半角スペースに挟まれた場所なら全て区切り対象になるようです!
やれやれ、とほほ。
0738デフォルトの名無しさんNGNG
>>736
QuoteCharでなんとかするとか。
0739デフォルトの名無しさんNGNG
>>737
言うとくけど、それが正常な動作。
CammaTextはシステムデータ形式なのでスペースも区切り文字として扱う。
ヘルプをちゃんと読むべし。
0740デフォルトの名無しさんNGNG
>>736
オレだったら何も考えず
boost::tokenizer
使うな。
0741デフォルトの名無しさんNGNG
ActiveXフォームを作ろうとしてますが、
ユーザ定義のイベントをどうやって実装すればよいのか
わからず困ってます。
(引数あり、なし共に)

解説しているサイトもあるにはあるのですが、
断片的でちょっとわかりにくいので、
詳しく説明しているサイト、もしくは知っている方が
おりましたらお教えください。
0742736NGNG
ありがとうございます。
boost::tokenizerなど色々検索してやろうとは試みましたが、
なんか#include<boost/tokenizer.hpp>
が開けないって言われちゃうし、
開けてもなんか
http://boost.cppll.jp/HEAD/libs/tokenizer/introduc.htm
↑こことか見ると、
hoge[2]で3番目の値を取得、みたいに簡単に出来そうにないし、
どうも難しそうなんでやめときます。

やっぱり、絶対にユニークな文字列を考え出して、置換→CammaText→最置換の攻撃で
ここはしのごうかと…。
0743デフォルトの名無しさんNGNG
>>742
アフォ。>>738-739をちゃんと読め。
というか、大抵のCSVファイルはスペースを含むレコードをクォーテーションしているはずだが?
0744デフォルトの名無しさんNGNG
>>742
絶対ユニークなんぞ存在しない。
boost::tokenizerつかえって。

>hoge[2]で3番目の値を取得、みたいに簡単に出来そうにないし、
君にとってなにが簡単かしらんが
std::advance か boost::nextの距離指定できる方を使え。

まあ、743が正しいこといってるよ。
0745736NGNG
>>743
>>744

QuoteCharってのはイマイチレファレンス見ても使い方がわからなかったんであきらめました。
Webで検索してもVCLのそれは極端にドキュメントが少なかったもんで。

で、なんか言われたとおりに、項目を二重引用符でちゃんと括ってやると普通に読み込まれましたよ!
そうかー、CSVってのはこういうもんだったのか。

>>744さん、せっかく教えてくれたブースと上手く使えなくてすいません。
名前かっこいいし使ってみようかと思いましたが、またの機会にさせて頂きます。
std::advance か boost::next…、メモメモ。
0746デフォルトの名無しさんNGNG
おまえらしらねーなら口だすなぼけ
>>736ー737
AnsiString str = "aaa , bbb , \"C:\Documents and Settings\hoge\デスクトップ\test.txt\"";
スペースが含まれると思われるとこは\"でかこんどけ
0747デフォルトの名無しさんNGNG
>おまえらしらねーなら口だすなぼけ
わかった。このスレでは今後回答しません。
0748デフォルトの名無しさんNGNG
>>746
( ´д)ヒソ(´д`)ヒソ(д` ) トックニカイケツシテイルノニ
0749デフォルトの名無しさんNGNG
リストビューで質問です。

追加するアイテムごとにフォントや背景色を変えるには
どうすればよいでしょう?
0750デフォルトの名無しさんNGNG
フォームがアクティブになっていない時でも、
どのキーが押されたかの情報を取得するにはどうすればいいのですか(´・ω・`)?
0751750NGNG
分かったー
ホットキーなんたらかφ(。。)メモメモ…
0752デフォルトの名無しさんNGNG
http://www.yukibow.com/bcb/index.html

>BCB Tips の全ページが、あるサイトのコンテンツのひとつと間違えられる形で無断リンクされておりました。
>当サイトのInformationにある通り、このような形でのリンクは禁じておりますし、管理者の意図する形態ではないため、
>残念ですが一時的に閉鎖と言う形を取らせて頂きます。


ヘタレなおれは愛用してたのにどこの馬鹿だ。
0753デフォルトの名無しさんNGNG
尻の穴が小さい奴だな
0754デフォルトの名無しさんNGNG
>>752
>あるサイトのコンテンツのひとつと間違えられる形で無断リンクされておりました。
何のことかよく判らんのだが、どっかのサイトが自分のサイトのコンテンツを装って
リンクしてたってことか?
それなら腹立てるのも無理ないが。
0755デフォルトの名無しさんNGNG
newしたものはちゃんと消すってのが鉄則らしいですが、
素人のくせに動的にページコントロールのタブをぽんぽん作成したりとか、
色んなところでnewし倒して、アプリを閉じる時に結局どれが消し忘れで残ってるのかわかりません。

終了時に、newしたものの内どれを消去し忘れたか確認するにはどうしたらいいんでしょうか?
って、そんなことが出来るかどうかもよくわからないんですが…。

なんかデストラクタというのを使うと便利らしいというのは何となくわかってるんですが、
どこの位置にどういう風に書いたらいいのかよくわかりません。

なにやらアドバイスよろしくお願いします。
0756デフォルトの名無しさんNGNG
>>755
確認したいなら、コードガード使ってみたら。

あとは
std::auto_ptr
か
boost::shared_ptr
使ってみて。
0757デフォルトの名無しさんNGNG
>>755
つか、TComponent属ならOwnerを設定していれば自動で破棄されるがな。
つう訳でちゃんとOwnerを設定しろ。
0758デフォルトの名無しさんNGNG
もう一言
>なんかデストラクタというのを使うと便利らしいというのは何となくわかってるんですが、
デストラクタも知らんようでは話にならん。C++の解説書を1冊きちんと仕上げるべし。
0759デフォルトの名無しさんNGNG
ありがとうございます!

今まで
TTabSheet *TabSheet = new TTabSheet( this );
TCppWebBrowser *CppWebBrowser = new TCppWebBrowser(this);

だったのを

TTabSheet *TabSheet = new TTabSheet( Owner );
TCppWebBrowser *CppWebBrowser = new TCppWebBrowser(Owner);

に変更しました。
オーナーの設定って思ったより簡単ですね。

後は自力でデストラクタとやらの勉強をしたいと思います。
生まれて初めてプログラム書いてアプリ作ったのでわからないことばかりで大変でした。
みなさん、ありがとうございます。

あと、756さん。
またboostつかえなくてゴメンナサイ(´・ω・`)
0760デフォルトの名無しさんNGNG
>>759

メチャクチャなプログラミングをやってるな...。
「自力でデストラクタとやらを」っていうのも、C++を運転にたとえるなら
「あとは自力でブレーキとやらを」って言ってるのと同じだよ。

書籍スレで手も動かさずに「次は何を読めばいいでしょうか」と言ってる
初心者も問題だが、あなたのように基本無視で手を動かしだすのもかなり
問題だな。

ま、自分で楽しんでいる分にはいいんだろうけど。
とにかくここのスレでなんとアドバイスされようと、
boostを使うのにはまだまだ早すぎるのは確かだな。
0761デフォルトの名無しさんNGNG
>>759
おーい!勘違いしてるぞ(w
仮にForm1のイベントハンドラ(またはメンバ関数)の中の処理だとすると、

 TTabSheet *TabSheet1 = new TTabSheet( this ); //TabSheet::OwnerにForm1を指定
 TTabSheet *TabSheet2 = new TTabSheet( Owner ); //TabSheet::OwnerにForm1->Ownerを指定

TabSheet1の指すオブジェクトはForm1が破棄されるときに破棄される
TabSheet2の指すオブジェクトはForm1のOwner(通常はApplication)が破棄されるときに破棄される
基本的にはどっちでも構わないよ。
TComponent属以外のオブジェクトはOwnerなんて便利な機能はないから自力で破棄する手当てを
しなきゃならない。

BCBは見よう見まねでもそれなりにアプリが組めるが、それだと直に行き詰まる。
結局、C++なりオブジェクト指向の知識が大事。
まぁ、がんがって勉強してちょ。
0762デフォルトの名無しさんNGNG
うー、うー、みなさん、叱咤、励ましのお言葉どうもありがとうございます。
わかりやすい説明で勉強になります。

しかし自分ではガンダムに出てくるハロのようなものを工作してるつもりでいましたが、
実はハロどころか単なるたこ焼き以下のものだったとは…。

がんばります(`・ω・´)
0763デフォルトの名無しさんNGNG
ttp://www.gangslab.com/bcb/
こ、これは・・・!
0764デフォルトの名無しさんNGNG
この文書は http://www.yukibow.com/bcb/index.html に上って来ている
BCB 関連チップ整理文書です.
翻訳は翻訳機で回した後 Gangsが整理しました.
一応あまりにも多い関係でウェップ翻訳機にリンクをかけておきました.
日本語になった部分は元々文書でありゆっくり翻訳をする嵐閧ナす.
全然しないかも知れないが...分かって見てください...-_-;; 以下...本文..
0765デフォルトの名無しさんNGNG
というか、newとdeleteはいつもワンセットで書く癖をつけるのが一番良いと思うぞ。
明示的に消してやるほうが気分がいいし。
0766デフォルトの名無しさんNGNG
>>763
うわ、韓国語も対応でパワーアップして復活してきた!
ありがとう!ゆきぼうさん!
0767デフォルトの名無しさんNGNG
>>766
> >>763
> うわ、韓国語も対応でパワーアップして復活してきた!
> ありがとう!ゆきぼうさん!

違うでしょ。
ttp://www.gangslab.com/
ここから勝手にリンク貼られてるんですよ。試しに
ttp://www.gangslab.com/bcb/index.html
の上の「Home」ないし「Top」をクリックしてみ。
前者はttp://www.yukibow.com/home/index.htmlに、
後者はttp://www.yukibow.com/にリンクが貼られている。

ロクなもんじゃねえ韓国人が勝手にパクったと推測しているが。
0768デフォルトの名無しさんNGNG
ttp://www.gangslab.com/bcb/index.html
の中の韓国語コンテンツに見える部分は、navarというサイトにある
日韓自動翻訳cgiで翻訳する形でリンクされているようです。
0769デフォルトの名無しさんNGNG
【IT・電機】日韓技術情報総合スレ 42【機械・ナノテク】
http://ex2.2ch.net/test/read.cgi/korea/1077203043/
で相談しています
0770デフォルトの名無しさんNGNG
・・・・・>>767って素だったのか・・・・・・
0771デフォルトの名無しさんNGNG
↑766ですたスマン
0772デフォルトの名無しさんNGNG
すげー痛い。韓国人相手に解決なんてするか?
0773デフォルトの名無しさんNGNG
>>770
んなわけねーだろ(;´Д`)
0774デフォルトの名無しさんNGNG
>>768
>>769
そのスレじゃ韓国からのアクセスを蹴れって風に言われてるけど、
NAVERの翻訳にリンクされてるのは既にバックアップ取られて、
韓国野郎のサイトにアップされてる日本語版じゃん。

韓国のやつらにとってはttp://www.yukibow.comはすでに何の関係もないんだよ。
まぁ自分でコツコツTips書きためて来た作者はたまらんだろうけど。
0775デフォルトの名無しさんNGNG
韓国のやつらに関係ないってのは著作権の話じゃなくてもちろんアクセスとかIPで蹴ればって話のことね。
0776デフォルトの名無しさんNGNG
じゃー解決は期待薄で、俺らはお預けを食ったままということですか
そうですか
0777デフォルトの名無しさんNGNG
どこの馬鹿の仕業かと思えば韓国人かよ・・・・
愛用してたのに・・・・(´・ω・`)


ところで、騒ぎの中質問スマソですが、BCBで、自作のマウスカーソルを使う方法は
あるのでしょうか?
resファイルいじってLoadCursorやってみたのですが、全然認識してくれません。
どうかよろしくお願いします。

ちなみにバージョンは6.0です。
0778デフォルトの名無しさんNGNG
>>777
TScreen::Cursors
0779777NGNG
すみません、ヘルプにある通り、HInstanceを指定したら動きました。
お手数かけました。

//ぐぐってた漏れって一体・・・(-_-;)
0780デフォルトの名無しさんNGNG
プロジェクトをメイクしようととしたら、bcbidl60.bplのアドレス違反が出て、コンパイルできなくなってしまいました。
どうすれば解消できるでしょうか?
BCBのバージョンは6.0
OSはWinXPです。

どうか、よろしくお願いします。
0781デフォルトの名無しさんNGNG
BCBの次バージョンってもう出ないの?
0782Delフサギコ ◆A6VzDeLphI NGNG
     ∧,,∧,,,,,, )      (´⌒(´
  ⊂ミ゚Д゚⊂,,,,,,,`つ≡≡(´⌒;;;≡≡≡
ズザーーーーーッ    (´⌒(´⌒;;

エンタープライズ:変わり始めたボーランドの製品戦略――「C++製品群は、C++BuilderXに統合される」
http://www.itmedia.co.jp/enterprise/0311/05/epn10.html
0783デフォルトの名無しさんNGNG
>781
BorConでBorlandの人に聞いてみたけど、C++のVCLのサポートは今後も続けていくけど、まだ社内でもめてるって・・・。
上の記事にもあるけど、C++は組み込み系重視したいみたいです。
0784デフォルトの名無しさんNGNG
BCBもDelphiももうおしまいかなあ。
正直、かなり使いやすいGUIの開発環境だったんだけどな。
Winも.NETになっていくし、もうネイティブコードを吐く
ラクチンGUI開発環境はなくなるんかなあ。
0785デフォルトの名無しさんNGNG
Borland C++Builder 6 Personalで「商用,業務目的の開発には
ご利用いただけません。」ってあるのですが,
シェアウェア不可ってことですか?
0786デフォルトの名無しさんNGNG
しょうよう しやう― 0 【商用】

(1)商売上の用事。
「―で出張する」
(2)商業上用いること。



過去ログからみてシェア、カンパ、同人は商用に含まれると解釈する人が多いようだ
0787デフォルトの名無しさんNGNG
おいおい、過去ログで判断してどうする(w

以下Borland C++Builder 6 使用許諾条件から引用
<2.1.1 Borland C++Builder 6 Personal版に適用される特記事項>
「お客様は、直接的にも、間接的にも、お客様のアプリケーションプログラムの
配布または使用についていかなる報酬も受け取ってはなりません。」
引用終わり

よってシェア、カンパ、同人すべて不可。図書券ビール券もダメだな。
許されるのは無料配布のみ。
0788デフォルトの名無しさんNGNG
雑誌への掲載で見本誌送られるのもダメ?
0789デフォルトの名無しさんNGNG
>>787
レスサンクス。
・・・そうするとVC++か・・・。
0790デフォルトの名無しさんNGNG
>>789
VC++の一番安い箱は最適化ができないという致命的な点があるぞ。
bcc32でも使ってろ。こっちは確か何も制限は無かったはず。
0791デフォルトの名無しさんNGNG
1万円払って商用不可か。微妙だねぇ。
0792デフォルトの名無しさんNGNG
>>787
プロ版はいいってこと?
0793デフォルトの名無しさんNGNG
もちろん
0794デフォルトの名無しさんNGNG
既に作成済みなTTableのTStringFieldの文字列長を広げるには??
0795デフォルトの名無しさんNGNG
>>794
それはDBに依存するけど、大抵は再構築しなくちゃいけないわけで
つまりは広げたテーブルにコピーしなさいってこった。
0796デフォルトの名無しさんNGNG
>784
DelphiとBCBを統合するような形で残れるといいんだけどね。
いまだってBCBはPascalを解するし。

っていうか保守どうしよう。
BCB5でLonghorn大丈夫だと思う?
0797デフォルトの名無しさんNGNG
>>796
LongHornはむりっしょ。
0798デフォルトの名無しさんNGNG
無責任発言ながら、新機能を使わないのであれば大丈夫じゃないかな。
今でも16ビットアプリ動くし。そうじゃなきゃLonghorn自体が売れそうに無いし。
0799デフォルトの名無しさんNGNG
実はLonghornの主プラットホームは64bit
0800デフォルトの名無しさんNGNG
こないだ始めたばっかなのに何ですか、この流れは…。

よくわかりませんが、次回からは徐々にボトペタ環境は縮小されちゃうんですよね?
.NETとやらだとボトペタは難しいの?

あ、VCLってどうなるんですか?
今ほとんどVCLしか使ってないんですが。
その代わりになるのが.NETってこと?
すいません、何もわかってないです。
0801デフォルトの名無しさんNGNG
心配するな、逆にLonghornでまともなアプリが作れないなら、それはボーランドの大きなビジネスチャンスだ。
ビッグチャンス一つで生き返る事が出来る。

逆に、Longhornで今のツールが十分使えるなら、それはボーランドにとっては痛手だが、ユーザにとっては問題ない。
0802デフォルトの名無しさんNGNG
>>800
もし、その代わりになるのがホントに .NET ならBC#BuilderもDelphi8も今ごろバカスカ売れてるだろうよ
0803デフォルトの名無しさんNGNG
なーなー、Delphiって別に言語の名前じゃないんでしょ?
ObjectPascal用のツールなんですよね?

ここの世界プログラムの歴史を見るとデルがのってるけど、
http://www.levenez.com/lang/history.html
じゃあなんでBCBはのってないの?
0804デフォルトの名無しさんNGNG
>>800

.NETでもポトペタ開発は可能。というか、C#とかVBはそれがメイン。
ただ、ネイティブコードが出力されないということで、
現行DelユーザやBCBユーザには抵抗があるんだと思う。
「アプリ」という点で言えば、Win環境でしか動かないのというも
.NET環境でしか動かないというのも大した違いは無いのかも
しれないけど、今後、どれくらい.NETに移行していくのか
現状ではぜんぜん判断できないし。

>>796

”大丈夫”の意味が「BCB5が動作する」なのか
「BCB5が吐いた実行ファイルが動作する」なのか
わからないので何ともいえないが、多分どちらも大丈夫じゃないかな?
Win32APIはLonghorn上でもエミュレートで再現されるということだし、
相当特殊なことをしてなければちゃんと動くでしょう。

でも、MSはOffice製品も全部.NETに移行する(できる)のかな?
VBAもVBA.NETになるんだろうか。現行office製品はCOMの
塊だけにどうなるのか興味はある。こいつらがちゃんと移行できるのなら、
開発環境もすごい勢いで移行していくんじゃないかな。



0805デフォルトの名無しさんNGNG
>>803 マジレス
「今は」言語の名前だよ。それに書いてある時代はそうではなかったけど。
DelphiはPascalに対して某独自の大幅な変更を加えてるけど、
BCBはC++の拡張仕様にのっとった形(キーワードに__をつける)だから
独立した言語とは認められないんじゃないかな。
0806デフォルトの名無しさんNGNG
>>805
本気で言っているのかと小一時間。
0807デフォルトの名無しさんNGNG
>>806
どうせ噛み付くんなら思いの丈を全部吐き出したまえよ :-)
0808805NGNG
>>806
間違ってるなら指摘してくれよ。
0809デフォルトの名無しさんNGNG
質問です。
C++Builder5で作成されたプロジェクトをC++Builder6でビルドすると、エラーが出てしまいました。

エラーの内容は
[リンカ 致命的エラー] Fatal: ファイルVCLE50.LIBが開けません
です。

ファイル名で検索してみたのですが、見つかりませんでした。
どうすれば解決できますでしょうか?
0810デフォルトの名無しさんNGNG
>>809
他のライブラリを指定する
0811デフォルトの名無しさんNGNG
>>809
とりあえずそういう時はGrepかけてみろよ。
0812809NGNG
>>810
他のライブラリって、どれを使えばいいんでしょう?

>>811
"VCLE"で、プロジェクトのあるフォルダ全てのファイルと、
C:\Program Files\Borland\CBuilder6\Lib以下全てのGrepしてみましたが、それらしいものは見つかりませんでした。
VCLE50.LIBって特殊なライブラリなんでしょうか?
0813デフォルトの名無しさんNGNG
VCLEは、Delphiと共通のVCLxxにはない、pascal互換コードが入ったライブラリ。
普通に使われてるよ。

一度、obj を全部消去してから再構築してみたら?
0814デフォルトの名無しさんNGNG
何も調べないでレスしちゃうけど、

Ver5でVCLE50.LIBなら
Ver6ならVCLE60.LIBとかなんじゃないの?

それか再構築するとか
0815デフォルトの名無しさんNGNG
それ俺もかなり苦労した。
Makeファイル吐き出させてみると何故かxxx50.LIBとかが入ってるんだよ。
多分プロジェクトの変換時に古いライブラリが残るんだと思う。
プロジェクトファイルはXMLファイル(?)のテキストファイルなので、
テキストエディタで直接編集してしまったほうが早い。
一応 xxxx.bprファイルのバックアップととって置いてからエディタで
中をみてみれ。
0816809NGNG
>>813-814
一度、objを全部消去してから再構築してみました。
エラーの内容が変わって
[リンカ 致命的エラー]Fatal : ファイル BORLANDC_GPIB-32.OBJが開けません
になりました。

訳わからなくなってきたので、原因が何なのかもう一度調べなおしてきます。
0817809NGNG
>>815
あ、文章を書いている間にレスが。
ありがとうございます。
試してみます。
0818デフォルトの名無しさんNGNG
ちなみにVCLE50.LIBはBuilder5用のライブラリなので
Builder6ではVCLE60.LIBを使うみたいだ。
0819デフォルトの名無しさんNGNG
質問です。

C++Builder6で、Excelブックの任意のシートを
シートの最後に移動するにはどのようにするのでしょうか。

VBAだと、

Worksheets("Sheet1").Copy After := Worksheets("Sheet3")

のような感じになるのですが、
After := 〜 の部分をどのように記述するのかが判りません・・。
0820デフォルトの名無しさんNGNG
TCppWebBrowserを使っているのですが、
指定したURLを表示できなかった場合に、
(PageNotFoundやページを表示できません等)
メッセージBOXを表示したいのですが、
イベントか、プロパティで、NotFoundであったと
言うことを知る術はないでしょうか?

意図したページが表示できなかった場合に、
別の処理を行いたいのですが、調べたところでは、
どのイベントでも、正常、異常、どちらでも発生、
または正常時のみ発生、というイベントしか見当たらなかったのですが、
他にいい方法を知ってる方いらっしゃいますでしょうか?
0821デフォルトの名無しさんNGNG
メインのフォームから別のフォームの描画処理を行いたいのですが、

PostMessage (Form2->Handle, Message, 0, 0) ; //Postmessage
SendMessage (Form2->Handle, Message, 0, 0) ; //Sendmessage
Form2->ShowSummary(); //普通に関数を呼ぶ

どの方法が良いのでしょう??
結果はおなじに見えますが。
0822デフォルトの名無しさんNGNG
>>821
自分なら急がないのはForm2->Invalidate(); かな
経過表示のようにメッセージループが回らない所で表示させるなら
ProgressUp() とかのメソッドをForm2に追加しておいて、その中で描画させるし
0823デフォルトの名無しさんNGNG
ActiveXコントロールを作成し、
VBで試してみたのですが、自分で新規に作成したプロパティーの内容が、
変更されないで困ってます。
変更しても、別のプロパティを変更すると、何故かオブジェクト名が
入ってしまったり、文字化けのような現象がおきたりしてしまいます。

タイプライブラリから追加して作ったのですが、
なにか足りない要素があるのでしょうか?
0824デフォルトの名無しさんNGNG
AnsiString文字列が、数値かどうかのチェックって、出来ないのか?
VBのIsNumericみたいなの。

ToIntDefだっけ。整数型なら、安全な変換ができるが、実数型だと出来ないような気がするんだが。
そりゃあ、tryCatchでエラーチェックすれば可能なのはわかるが、なんか最後の手段っぽいので嫌なのだが。


で、C標準のstrtod関数を使って、第二引数のchar*型文字列でチェックをかけてみたのだが、なぜか実数なのに、失敗する。(具体的にはstrtodの第二引数になぜかゴミが格納されてしまう)
仕方ないので、Ansistring型をstd::string型に変換して、std::string文字列のc_str()を、strtodの第一引数にしたら、strtod関数の第二引数にゴミが入ることなく、正常にチェックできた。



というわけで、結局AnsiString型のdouble型変換可能かを調べるのに、こんなに苦労したんですが、他に手はないのでしょうか。教えてください。
0825デフォルトの名無しさんNGNG
double value;
AnsiString str = "0.152";

try {
  value = str.ToDouble();
} catch(EConvertError e) {
  cout << "(´・ω・`)" << endl;
}

は?
0826デフォルトの名無しさんNGNG
いえですから、try catch使わない有効な手段があるのか否かが聞きたいのですよ。

strtod関数が動かない理由の謎も知りたいです。
0827デフォルトの名無しさんNGNG
strtod周辺のソースさらしてみ
0828デフォルトの名無しさんNGNG
質問ですが、
EditCaptionでListViewのCaptionを編集状態にして
何も編集せずに確定したときにもListViewEditedイベントが入るようにするには
どうしたらいいのでしょうか?
0829デフォルトの名無しさんNGNG
>>826
BCBというかDelphiコードだと例外って普通に使われてて
たとえば文字列使うだけで、自動的に _finally 文字.free なコードが入ってしまうから、無駄なアガキだと思うよ。
0830デフォルトの名無しさんNGNG
>>829
>>825みたいなのは大量に回すとクソおそいんだよバ カ
0831デフォルトの名無しさんNGNG
TryStrToFloat は?
0832デフォルトの名無しさんNGNG
>>830
大量ってどの程度? で、どういう文字列を変換したいの?
自分でパースして変換すりゃいいんじゃないの?
俺は自分でやってるぞ。
0833デフォルトの名無しさんNGNG
DelphiならValもある。
C++ならsscanfとかも使えるんじゃないか?
0834デフォルトの名無しさんNGNG
 double value;
 AnsiString str = "0.152";

 if ( TryStrToFloat( str, value) == false) {
  cout << "(´・ω・`)" << endl;
 }


0835デフォルトの名無しさんNGNG
bool fChkStrToDouble( const AnsiString& pStr, double& pRetDouble )
{
std::string aVasStr;
char* aErr;
double aResult;

aVasStr = pStr; // std::string型に代入

aResult = strtod( aVasStr.c_str(), &aErr );

if( lstrlen( *aErr ) >0 )
{
Application.MessageA( "変換失敗", "異常", MB_OK );
return( false );
}

pRetDouble = aResult;
return( true );
}

0836デフォルトの名無しさんNGNG
教えてください。
現在、ADOコンポーネントを使って、マイクロソフトAccessのデータベースに接続しています。
以下のようなSQL文を投げると、テーブル1のフィールド1に値1が代入されます。
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("INSERT INTO テーブル1(フィールド1) VALUES(値1);");
ADOQuery1->ExecSQL();
次にそのテーブル1に対して以下のようなSELECT文をなげても、値を返してくれません。
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM テーブル1;");
ADOQuery1->Open();
for( ; !ADOQuery1->Eof; ADOQuery1->Next()){
int ID = ADOQuery1->FieldByName("フィールド1")->AsInteger;
}
MainForm->ADOQuery1->Close();
最初のSQL文のINSERTで、確かにテーブル1のフィールド1には値1が代入されているのですが、
その代入した値をSELECT文で取得しようとしても、for文の中に入らず、値を取得できません。
原因がわかる方いらっしゃいましたら、是非ご教授願います。
0837デフォルトの名無しさんNGNG
Insert下後にいったん

Close();
Open();

してからSelectしないとだめ
0838デフォルトの名無しさんNGNG
ADOQuery1->Open(); の前に
ADOQuery1->Close();を追加するだけかな?
0839デフォルトの名無しさんNGNG
>>837
>>838
レスありがとうございます。
実際にやってみたのですが、どうもダメでした。
INSERTする前に、テーブル1の内容をDELETEしているのですが、
それが原因あるのでしょうか?
DELETEしないで、INSERT、そしてSELECTしたときは、
INSERTした値を取得することができました。
原因がわかる方いらっしゃいましたら、是非ご教授願います。
0840デフォルトの名無しさんNGNG
/* CTest.h */
#if !defined ( __CTEST_H__ )
#define __CTEST_H__

#include <windows.h>
#if defined( _DLLEXPORT_ )
#define DLLTYPE__declspec(dllexport)
#else /* _DLLEXPORT_ */
#define DLLTYPE__declspec(dllimport)
#endif /* _DLLEXPORT_ */

class DLLTYPE __stdcall CTest
{
public:
CTest( void );
virtual ~CTest( void );
};

#endif /* __CTEST_H__ */
/*- EOF CTest.h ------*/
/* CTest.cpp */
CTest::CTest( void ) { }
CTest::~CTest( void ) { }
/*- EOF CTest.cpp------*/
このように定義して、DLLとインポートライブラリを作り、
C++Builder 6 のプロジェクトでインポートライブラリをリンクして、
メインフォームの中で
CTest *test = new CTest;
delete test;
とした場合、delete直後に(CTestのデストラクタ終了後に)
デバッガ例外で、EAccessViolationクラスの例外が発生するんですが、
原因がわかりません。どなたか、分かる方いらっしゃいませんでしょうか?お願いします。
0841デフォルトの名無しさんNGNG
>>840
そのソースだけならAccessViolationが起きようもない
原因は別のところだろ
0842デフォルトの名無しさんNGNG
文字列を後ろから検索する場合に使用できる関数はありますか?
0843デフォルトの名無しさんNGNG
std::string::rfind()
0844デフォルトの名無しさんNGNG
HTMLのフレームと同じような働きをさせたいのですが、
なにかアイデアはありませんか?
newとdeleteで動的にコンポネントを配置すると
動きが遅くてしょうがないのです。
画像10枚を、ウィンドウに表示させるとして、
横が5枚で折り返したり、3枚で折り返したりと、
ウィンドウの枠の変化に画像の並び方がついてくるようなものです。
0845デフォルトの名無しさんNGNG
>>844
そのままTCppWebBrowser使ったら?
別にコンポーネントの配置替えをイベントハンドラで処理しても
大した手間じゃないとは思うが。
配置替えにnew/deleteを繰り返す必要なんで全くないし。
0846デフォルトの名無しさんNGNG
>>845
レスありがとうございます。
TCppWebBrowserを使ってみます。
そのようなものがあると、気がつきませんでした!
0847デフォルトの名無しさんNGNG
すいません、Builder6でIndyコンポーネントを使って通信処理を作成したいんですけど
Indyを利用したサンプルソースってどこにあるかご存じないでしょうか?
0848デフォルトの名無しさんNGNG
>>847
http://www.nevrona.com/Indy/から

"Demo Source Code"落とす。
0849デフォルトの名無しさんNGNG
>>848
既にそのデモソースは落としたんですけど、これってデルファイ用ですよね。
Builder用のソースはないのでしょうか?
それともパスカルコードを参考にするしかないのでしょうか・・・
0850デフォルトの名無しさんNGNG
>>849
BCB使う上でPascal読めないのはちときついような‥‥
ちなみにDelのプロジェクトをビルドしたいならBCBのプロジェクトにDelのユニット突っ込めば普通にビルドできる。
0851デフォルトの名無しさんNGNG
>>850 了解しました。
パスカルの勉強もしつつチャレンジしてみます。
ありがとうございました。
0852デフォルトの名無しさんNGNG
Winアプリの開発環境(C++)の購入を検討中です。
そこでBorlandユーザの皆様にお伺いしたいのですが、
C++Builder6は、Visual C++.NETと比べて、書籍が少ないこと以外に、何かデメリットはありますでしょうか?
0853デフォルトの名無しさんNGNG
もっさりしてる
0854デフォルトの名無しさんNGNG
・最適化がしょぼい
・DirectX8以降Borland用のライブラリをMSが用意してくれなくなったので自前で調達してくる必要がある
0855デフォルトの名無しさんNGNG
BCB(C++)を使い込む分にはPascalなぞ一向に関係ないが。
VCLのことか?
0856デフォルトの名無しさんNGNG
・コード補完が泣けるほど遅い
・IDEがやたらとエラーを吐く

ついでに利点
・VCL
・__closureが便利

というか、VCLに魅力を感じないなら素直にVCにしる。
0857デフォルトの名無しさんNGNG
ランタイム不要でwin環境ならexe一個でどこでも動くのが(・∀・)イイ!!
画面レイアウトしやすくて(・∀・)イイ!!
0858デフォルトの名無しさんNGNG
おれもGUI作りやすいからBCB使ってるな。
コアの部分はANSI準拠でつくって、インタフェース周りをVCLにおまかせ。
IDEはコンパイルとGUI作る時しか使ってない。
#あのフリーカーソルが馴染めなかったので。

だから>>856の指摘した欠点はあまり気にならない。
0859デフォルトの名無しさんNGNG
BCBの問題は、開発環境としての出来不出来より、
BCB6以降一切新バージョンが出てなくて、
Borland社内でも扱いに困っているという将来性の微妙な
(というか無い!?)ところだと思う。

と書いてしまうと、>>852は迷うだろうなー。

C++自体、どっちかというと今は人気言語じゃないからね。

ただ、JavaにしろC#にしろ、ベンダ主体の言語が幅を
きかせている(Javaはだいぶ環境が変わったけど)+VM環境
で動作させるのが流行という現状は、ちょっと寂しいね。

0860 ◆fNndt5hIPY NGNG
>>858
フリーカーソルでなくすことは出来ないんですか?
0861デフォルトの名無しさんNGNG
>>860 使ったことないけど出来るもよう
http://homepage1.nifty.com/fuu/software/nonfreecursor.htm
0862デフォルトの名無しさんNGNG
BCB6を使ってActiveX開発してるのですが、
プロパティにアクセスするにはどうしたらよいのでしょうか?

FormCreateの時に、Captionの値を持ってこようとしたら、
ソースコードにエラーがありますと怒られます。
m_VclCtlではプロパティにアクセスできないようなのですが、
プロパティにアクセスするためのオブジェクトはどこに定義されているのでしょうか?

〜〜Implのオブジェクトでないとプロパティにアクセスできなさそうだと
言うことはわかったのですが、そのオブジェクトがどこにあるのかが
ちょっとわかりません。

ご存知の方教えてください。


0863デフォルトの名無しさんNGNG
次スレ、フリーカーソル無効アドイン>861をテンプレに入れとこうよ。

ちなみに、俺は普通に使ってる。
マウス選択の時だけフリーカーソルが残ってるけど問題なし。
0864デフォルトの名無しさんNGNG
Borlandのフリーコンパイラを使おうとしているのだが
ttp://www.kumei.jp/c_lang/bcc/bcc_02.htm
の「カレントディレクトリをtest.cのディレクトリに移動します」
というところで
書いてある通りに打ち込んでも
「指定されたパスがみつかりません」とでてしまう。
入力ミスかと思い他人にやらせても同じ結果。
エロイ人おせーて。
0865デフォルトの名無しさんNGNG
cd の後にはエクスプローラーで見える正確なフォルダ名。
OSによって場所が違う可能性があるので注意

個人的にはそんなわかりにくいところじゃなくてDドライブ直下に
一つtestなりprogramなりのフォルダを作ってそこでやるのをお勧めする
0866デフォルトの名無しさんNGNG
>>864
BCCの話題はこっち
>タダで使えるBorland C++ Part3
>http://pc2.2ch.net/test/read.cgi/tech/1054390397/l50
0867デフォルトの名無しさんNGNG
OCXを作って、デザイン時には実行させない処理を作ったのですが、
ComponentState.Contains(csDesigning)
がうまく機能しません。

VBを使って、OCXを貼り付けて試してみたのですが、常に実行時(False)
となってしまいます。

他のサイトなんかで、設計時、実行時を見分ける方法として、
このような方法が載っていたのですが、
使い方が間違ってるのでしょうか?

↓ソースはこんな感じです。

void __fastcall TTest::ActiveFormCreate(TObject *Sender)
{
if (ComponentState.Contains(csDesigning)) {
//設計時
ShowMessage("Design");
} else {
//実行時
ShowMessage("Run");
}
}
0868デフォルトの名無しさんNGNG
>>867
そのコードは実行時にしか呼ばれないということはないな?
csDesigningとはBCB/DelphiのIDEでぽとりぺたりしているときのことだぞ?
0869デフォルトの名無しさんNGNG
>>868
無い・・・と、思います。
間にメッセージを入れてみたところ、Ocxを貼り付けた時には実行されています。

void __fastcall TTest::ActiveFormCreate(TObject *Sender)
{
ShowMessage("Test"); ←★
if (ComponentState.Contains(csDesigning)) {
//設計時
ShowMessage("Design");
} else {
//実行時
ShowMessage("Run");
}
}

やりたいことは、Ocxをペタっと貼り付けた時には
何もしないようにしたいだけなので、他に方法があるようでしたら
そちらでもかまわないのですが。。。

今のやり方だと、常に実行時の方に分岐してしまうので。。。
0870デフォルトの名無しさんNGNG
>>867
>VBを使って、OCXを貼り付けて試してみたのですが、常に実行時(False)
VB? BCBのIDEじゃなきゃ、そらcsDesigningにならんような。
0871デフォルトの名無しさんNGNG
>>870
うげげげ・・・
では、デザイン時か、実行時かを判別するのは無理なんでしょうか・・?
Ocxなので、VCでも、VBでもBCCで使用しても
デザイン時には処理を行わせないようにしたかったのですが、
これは無理なんでしょうか。。。。

別の手段でも一向に構わないのですが、
なんとか判別する方法はないものでしょうか?
0872デフォルトの名無しさんNGNG
VisualC++のソースをC++Builderに移植したのですが。
クラスの
typedef enum test{
...
...
...
};←ここで「宣言には識別子が必要」といわれる。
別にtypedefの使い方も間違ってないし。VisualC++では問題なくコンパイル
できていたのですが…
いったい何が悪いんでしょう?typedefの使い方がC++Builderでは異なるのですか?
どなたが教えてください
0873デフォルトの名無しさんNGNG
typedef 間違ってないって強弁されても・・・・

typedef <型定義> <識別子> だから、そこに識別子がやっぱり必要でしょう?
0874デフォルトの名無しさんNGNG
>>873
え、ってことは私のいままでのVC++のほうでのやり方がおかしかったわけですか?
いままでずっとこれでやってたのに…
0875デフォルトの名無しさんNGNG
using namespaceしてないのに
型名がSTLとかぶってるらしくエラーがでます。
STLを使わない!と宣言するのはどうしたらよいのですか?
0876デフォルトの名無しさんNGNG
>>874
というか、それなら typedefは何で必要なのか? と疑問が湧かない?
0877デフォルトの名無しさんNGNG
>>876
慢性的に書く癖が…、というよりtypedefをよく知りません(汗
0878デフォルトの名無しさんNGNG
文法も調べずに質問するのかよ・・・。
0879デフォルトの名無しさんNGNG
>>878
いぇ失礼しました、VC++ではいけてたもので…すみません…
0880デフォルトの名無しさんNGNG
ぁぁ…もっと責めて…
0881デフォルトの名無しさんNGNG
IsLeadByte(index) のヘルプで「index(0 が最初)」ってのは間違いですよね?
そろそろ混乱してきたので、誰かそうだといって。
0882デフォルトの名無しさんNGNG
間違いなく、間違いだ。
0883デフォルトの名無しさんNGNG
thx
0884デフォルトの名無しさんNGNG
その間違いは、間違いに間違いない。
0885デフォルトの名無しさんNGNG
>>875
>using namespaceしてないのに
>型名がSTLとかぶってるらしくエラーがでます。
#include <****.h> //STLの任意のヘッダ
にしてんじゃね? そうでなきゃありえない。
まぁ、いずれにせよ標準ライブラリとかぶるってのは
どう考えてもまずいんで、自分のほうで識別子を変えるか
ネームスペースに入れるかしたほうがよかんべ。
0886デフォルトの名無しさんNGNG
TListViewについての質問です。
ViewStyle=vsReport;
Checkboxes=true; にしてチェックボックスを表示します。
チェックボックスのチェックが変更された場合に処理を行いたいのですが、
どのイベントで処理すればいいのでしょうか。
いろいろなイベントで試してみたのですが、チェックボックスの変更では飛んできてくれません。
よろしくおねがいします。
0887デフォルトの名無しさんNGNG
>>886 ほい
http://www2.big.or.jp/~osamu/Delphi/builder-browse.cgi?index=011252
0888デフォルトの名無しさんNGNG
>887
さんくすです。解決しますた。
0889デフォルトの名無しさんNGNG
>>885
いらんヘッダをincludeしてました。ありがとう!
0890デフォルトの名無しさんNGNG
TListViewについての質問です。
オーナー描画時にItem(行)の高さがFontのサイズにあわせて
自動調整されません。
どなたか回避策を教えてください。
よろしくお願いします。
0891デフォルトの名無しさんNGNG
PageControlのDockSiteをtrueにし、ListBoxだけを配置した別のフォーム(AlignはClient)を作りました。
このフォームをPageControlにドロップするとページとしてドッキングされる、という簡単なものなんですが
このときListBoxのScrollWidthを指定してもスクロールバーがでません。
スクロールバーを別に置いて、それでスクロールするようにしたりしましたが、
いまいち元の通りにできないです。仕様なのかバグなのかわかりませんが
改善方法あればご教授していただけるとありがたいです。
BCB6personalです。
0892デフォルトの名無しさんNGNG
BCB6エンタープライズをアンインストールしようとしたら、
「Error 1325.csristlportは正しい短いファイル名ではありません」
とダイアログが出てきます。
どうすれば、アンインストールに成功するでしょうか?
0893デフォルトの名無しさんNGNG
VCLのTString型とかって、普通のロジックでも使うべきなのか?
それともVCでも応用できるように、STLとか標準C++文法で書くべきなのか?
0894デフォルトの名無しさんNGNG
>>893
TStringという型は無いので、TStringsの事かな?
普通のロジックってのが何のことか判らんし、
標準C++文法ってのも、標準ライブラリのことかなー、とか思うんだが。

それはさておき、Boundary/Control/Entityで分ければ、Entityの部分は
環境依存を避け標準ライブラリだけで書くというケースは多いだろう。
0895デフォルトの名無しさんNGNG
>>893
[C++ エラー] Unit1.cpp(20): E2352 抽象クラス 'TStrings' の変数は作成できない
[C++ エラー] Unit1.cpp(20): E2353 クラス 'TStrings' は抽象クラス('_fastcall TStrings::Get(int) = 0' のため)

TStringListなら使いまくり。VCLマンセー。って言ったらダメか?スレタイ読んで(ry
別にSTLで書いてもいいんだろうけど”いわゆる環境依存”のことを気にしてるのでは無いように思える。
>VCでも応用できるように、
という部分で。
0896デフォルトの名無しさんNGNG
>>890
親ウィンドウにWM_MEASUREITEMが送られてるんで、
それを捕らえてMEASUREITEMSTRUCTのitemHeightを設定すれば高さの調整できるよ。
0897デフォルトの名無しさんNGNG
5年ぶりにちょいとしたアプリ(ちょっとかわったランチャ)を作りたくなって買ったまま放置してあったBCB5proをインストールしたんだけど、
肝心の頭からCがアンインストールされてて初心者状態です。
んで、記憶の引き出しを開けるきっかけにしたいんで、Formの動的生成(ボタンを押すたびにFormが生成される)の簡単なスクリプトを教えてもらえませんか?
よろしくお願いします。
0898890NGNG
>>896

回答ありがとうございます。

TLiistViewを元にコンポーネント作成し、そのなかで
高さを設定しようとしていたんですが、ヘルプを見ると
ListBo等にはMEASUREITEMがあるけどTListViewには
なかったのでできないかと思ってました。
親ウインドウ側で設定する方法を試して見ます。
0899デフォルトの名無しさんNGNG
>>897
んなもん、いちいち他人に聞くな、と突っ込みつつ、

THogeForm* hoge_ptr = new THogeForm(this);
hoge_ptr->Show();

 ポインタの管理まで面倒はみん。自分で思い出せ。
0900デフォルトの名無しさんNGNG
質問があります。
BCB6の付属しているVCLのソースコードをDelphi6Parsonalにインストールして
利用する事は可能でしょうか?
0901デフォルトの名無しさんNGNG
>>900
ライセンスについてはあなたとボーランドとの問題なので、ボーランドに問い合わせて下さい。
0902デフォルトの名無しさんNGNG
プログラムの起動と共に自動実行。コンストラクタで実行レベルを判断し、
その判断された実行レベルによって、Formを非表示のまま終わらせる、または
途中でFormを表示して実行進捗状況を表示させたい。
とりあえずFormのOnShowに自動実行させた内容を記述した関数を書いたが、
その関数の中でFormを表示させようとすると、OnShowイベントの中では出来ないと怒られる。
解決策を教えて下さい。
0903デフォルトの名無しさんNGNG
>>902
WinMainに書いたらダメ?
0904897NGNG
>>899
どうもありがとさん。
脳みそを復元しようにも昔よく利用したサイトはことごとく消えちゃってるし、どうしたもんかと困っていたのよ。
ポインタとか文法は憶えてたんだけど、セオリーみたいなのは完全に消えてるっぽい。
また教えてちょ。
0905デフォルトの名無しさんNGNG
>>902
そもそもOnShowの中で自分自身の表示/非表示を切り替えるのは
矛盾している訳で、コンパイラに叱られるのは当然。

手としては、>>903みたいにWinMain内で処理するか、
メインフォームは非表示にして必要に応じ進捗状態表示フォームを
別に表示させるか、どっちかでしょ。
0906902NGNG
出来ない、ということが解っただけでもありがたいです。どうもでした。
0907デフォルトの名無しさんNGNG
こんな感じでフォーム作成時に指定個のイメージを動的に生成します。
void __fastcall TForm1::FormShow(TObject *Sender)
{
int i;
for(i=0;i<100;i++)ButtonCreate(this);

}
void __fastcall TForm1::ButtonCreate(TObject *Sender)
{
TImage *image=new TImage(this);
}
このあと、必要に応じて生成したそれぞれのイメージのプロパティにアクセスしたい場合は、
どんな風に書けばいいんでしょか。
調べて、↓みたいにイベントの中で取得する方法はわかったんですが、任意の場合が
よくわかりません。
void __fastcall TForm1::Image1Click(TObject *Sender)
{
TImage *image = dynamic_cast<TImage *>(Sender);
  image->Height=64;
  image->Width=64;
}
0908デフォルトの名無しさんNGNG
>>907
どっかにおぼえておくか、動的に作成する時にnameプロパティを設定しておいたら?
0909907NGNG
>>908
手探り状態でやってるものですから、その保存の仕方と取り出し方がわからなくて。
後からフォーム上でプロパティの調整をしたいので、Nameはちょっと使えないかなと。
0910デフォルトの名無しさんNGNG
>>909
? Cは書けるんでしょ?
TButton * ABtn[100];
void __fastcall TForm1::FormShow(TObject *Sender)
{
int i;
for(i=0;i<100;i++)ABtn[i] = ButtonCreate(this);

とか配列におぼえておけばいいんじゃない?
0911907NGNG
>>910
オブジェクトって配列*にできないと思うんですが。
試しにやってもだめでした。
0912デフォルトの名無しさんNGNG
>>911
配列にできないってのは、こういうばあい。

 TButton button_instance[10];

TObject属はnewでしか生成できないのが原因。よって、ポインタ配列なら問題ない。

 TButton* button_ponter[10];
 for( int i=0; i<10; ++i ) button_pointer[i] = new TButton(this);

なお、いちおう、VCLには汎用リストとしてTListってのがある。
オレならSTLのコンテナを使うと思うが。

しかし、その前に>>907よ、悪いことは言わんからC++の入門書一冊きちんと読みな。
基本的な文法もわからず手探りでBCB使うのは恐ろしく効率が悪いぞ。
0913910NGNG
ああ、悪かった ButtonCreate っていうから TButtonかと思ったよ。 スマン
0914907NGNG
>>910
Imageをボタン代わりにしているのでそういう名前にしてました。
紛らわしくてすいません。

>>912
すいません。
プログラムはDOS時代の人間なのでWindows系で追加された概念がほとんどアレでして。
恥を忍んでもうひとつだけ訊かせてください。
調べてみた結果、TListの方がよさそうだと思ったのですが、
TList *List;
ButtonCreate()
{
TImage *image=new TImage(this);
List->Add(image);
}
で、追加した後、参照するにはどうしたらいいんでしょうか。
たとえば、Heightを参照したいというときにList->Items[n]の下位プロパティをどうたどればいいのか。
お手数ですが、本当にマジですいません。
よろしくお願いします。
0915デフォルトの名無しさんNGNG
キャスト
0916907NGNG
あ、わかりました。
普通に明示的にキャストを変換すればいいのか。
お騒がせしました。
0917デフォルトの名無しさんNGNG
((TImage*)List->Items[n])->Height;
0918907NGNG
>>917
で、正解ですね。
ありがとう。
0919デフォルトの名無しさんNGNG
C++なんだから、static_castやreinterpret_castを使用しろよな。
dynamic_castだけは使用するんだろうに
0920デフォルトの名無しさんNGNG
いや、C++なんだから素直にテンプレート使えよ、と言いたいんだが(w
0921デフォルトの名無しさんNGNG
【初心者歓迎】C/C++室 Ver.5【環境依存OK】
http://pc2.2ch.net/test/read.cgi/tech/1077102238/
から誘導されました。
お願いします。

C++ Builder 5を使っています。
ListView1にはvsReportでNUM,NAME,PATHの順にアイテムが入っているのですが、
ListView1->OnSelectItemイベントでサブアイテムの値にアクセスする方法がわかりません。
下のようにやってみたんですが、Strings[n]に何を入れてもNUMが帰ってきてしまいます。
何か勘違いしているでしょうか?

void __fastcall TForm1::ListView1SelectItem(TObject *Sender,
TListItem *Item, bool Selected)
{
Label1->Caption=Item->SubItems->Strings[1];
}
0922デフォルトの名無しさんNGNG
>>921
それであってるはずなんだけど・・・
新規プロジェクトでその部分だけ作っても同じかな?
0923デフォルトの名無しさんNGNG
>>922
試しにやってみたら、ちゃんとできました。
INIファイルの読み込みをやっているのですが、そのへんでおかしくなってるかもしれません。
ありがとうございました。
0924デフォルトの名無しさんNGNG
既に存在するParadoxのテーブルに対して二次インデックスを作成するのに
Database Desktopでテーブルを開いて再構築するのはわかるのですが、
これをプログラムで動的にやるにはどうすればいいのでしょうか?
try {
Table1->IndexName = "Date";
}
catch (EDBEngineError&) {
//Table1にインデックスが無いので動的に追加
}
0925デフォルトの名無しさんNGNG
BCB6を使用して、ActiveXを作り、スレッドを使っているのですが、動作がうまくいかず困ってます。
ブラウザを作っているのですが、出来上がったOcxをコントロールに貼り付けたときに、
接続チェックに行くので、接続チェックに行く部分をスレッド化したのですが、
Executeが走ったときに何故か、指定した関数へ飛びません。
ソースはこんな感じです。
-------------------------------------------->Unit1.cpp
void __fastcall MyThread::Execute(){
SetName();
Synchronize(ReadHead);
}
void __fastcall MyThread::ReadHead(){
AnsiString as = "http://192.168.0.1/~test/2.html";
::AdverApp->NMHTTP1->TimeOut = 1000;
::AdverApp->NMHTTP1->Head(as);
・
・
・
}
--------------------------------------------<Unit1.cpp
TThreadクラスの中に、ReadHeadという関数を用意して、Executeの時にそこを見るよう
指定しているのですが、何故か呼ばれず、アプリケーションが起動してしまいます。
スレッド生成はこんな感じでやってます。
-------------------------------------------->TestAppImpl1.cpp
void __fastcall TAdverApp::ActiveFormCreate(TObject *Sender){
new MyThread(false);
}
--------------------------------------------<TestAppImpl1.cpp
ActiveXフォームに乗っかっているコントロールを使用するため、
Synchronizeを使っているのですが、使わなかった場合だと、TNMHTTP
コントロールのプロパティにアクセスした後、応答が無くなってしまいます。
どなたかご教授ください。
0926925NGNG
すみません。
ソースの部分がちょっとおかしかったです。
-------------------------------------------->Unit1.cpp
void __fastcall MyThread::Execute(){
SetName();
Synchronize(ReadHead);
}
void __fastcall MyThread::ReadHead(){
AnsiString as = "http://192.168.0.1/~test/2.html";
::TestApp->NMHTTP1->TimeOut = 1000;
::TestApp->NMHTTP1->Head(as);
・
・
・
}
--------------------------------------------<Unit1.cpp

-------------------------------------------->TestAppImpl1.cpp
void __fastcall TTestApp::ActiveFormCreate(TObject *Sender){
new MyThread(false);
}
--------------------------------------------<TestAppImpl1.cpp
0927デフォルトの名無しさんNGNG
とあるアプリケーションから利用できるようにDLLを作ったのですが、
DLL自体のパスがとれないのですが、どうやってとったらいいですか?

Application->ExeNameだと、アプリケーションの方のパスを持ってきて
しまうので、DLLの方のパスが取れないものかと。
0928デフォルトの名無しさんNGNG
GetModuleFileName()

win32apiだけど
0929928NGNG
あれっ? ちがったっけ?
0930デフォルトの名無しさんNGNG
親切に言うなら DllEntryPoint で渡されたハンドルで GetModuleFileName
0931デフォルトの名無しさんNGNG
>>928->>30
ありがとう!
0932924NGNG
自己レス
TTable::AddIndexでヨカッタのねん。
0933デフォルトの名無しさんNGNG
TMediaPlayerを使って、MP3の再生アプリを作りたいのですが、
普通に連続で再生するほうほうがわかりません。

あらかじめ、ファイルネームを配列fname[i]にi個読み込んでおいて
fname[0]からfname[i]まで連続で再生したのですが
どうすればよろしいのでしょうか?

kは任意の整数として

void fastcall()
{
MediaPlayer1->Filename=fname[k];
MediaPlayer1->Open();
MediaPlayer1->Play;
}

で1曲再生することはわかるのですが、1曲終わった後に次のk+1番目をそのまま再生するにはどうしたらいいのでしょう??
通常のプレイヤーのように、i+1が終わったら、i+2、i+3・・・
というふうに連続で再生したいのです
0934デフォルトの名無しさんNGNG
Notify か、タイマーで Mode を監視して曲の終わりを検知することが必要。

さて、ここから先が本題なのだが、入門なら MediaPlayer でもOKとしても、
少しでも実用を考えるなら、頑張って DirectShow を。
0935933NGNG
レスありがとうございます
NotifyがいまいちよくわかってないのですがC言語の基本的知識で考えてみたのですが
まず、再生ボタンをクリックしたとき1曲目再生
k=0;←オフセット
void __fastcall TForm1::ButtonClick(TObject *Sender)
{
MediaPlayer1->FileName=fname[k];
MediaPlayer1->Open();
MediaPlayer1->Play();
Label1->Caption="再生中 "+(ExtractFileName(fname[k]));
k++;
}
void __fastcall TForm1::MediaPlayer1Notify(TObject *Sender)
{
if(k==i){
k=0;
MediaPlayer1->FileName=fname[k];
MediaPlayer1->Open();
MediaPlayer1->Play();
}
else{
MediaPlayer1->FileName=fname[k];
MediaPlayer1->Open();
MediaPlayer1->Play();
}
Label1->Caption="再生中 "+(ExtractFileName(fname[k]));
k++;
}
}
これで、順番に再生されると思ったのですが、バグってPCがフリーズしたりするようになります。
たまに、2,3曲連続再生に成功するのですが何がまずいんでしょうか?
簡単でいいのでNotifyを使用する方法を教えて頂きたいです。初心者厨房ですいません
0936デフォルトの名無しさんNGNG
>>935
Notifyの使い方はヘルプを見れば書いてある。
ヘルプを見ても分からなかったら、ヘルプのどこが分からないのかを
質問するように汁。

今回はサービス。
Notifyイベントは1曲再生が終わるごとに呼び出される(ようにする)んだから、
その中で連続再生してどうする。

void __fastcall TForm1::MediaPlayer1Notify(TObject *Sender)
{
if(k==i) k=0;
MediaPlayer1->FileName=fname[k];
MediaPlayer1->Open();
MediaPlayer1->Notify = true;
MediaPlayer1->Play();
Label1->Caption="再生中 "+(ExtractFileName(fname[k]));
k++;
}

ユーザが停止ボタンを押したときは、MediaPlayer1->Notifyをfalseにしてから停止しないと
次が再生されてしまうので注意。
てか、こういうものは遷移をきっちり管理しないとならんな。

あと、質問とは直接関係内が、クラスメンバや大域変数には意味の分かる名前を付けろと
入門書に書いてなかったか?
kだの i だのって名前は、使い捨てる変数だけにしろ。
とりわけ人様に質問するときは名前だけで用途が一目で分かるようにしておくもんだ。
0937デフォルトの名無しさんNGNG
↑訂正
別にNotifyイベント内で連続再生してるわけではないのだな。スマン。
プロパティの設定を忘れてるのが問題だ。
0938933NGNG
いろいろアドヴァイスありがとうございます。
PC始めたばかりの高校生で勉強不足でした。
ヘルプ読み直してみます。
0939デフォルトの名無しさんNGNG
高校生か。
今なら間に合う、がんばって英語勉強しろよ〜
そしてWinodowsAPIとかはMS純正の英語のマニュアルを読破するのだ。

それができれば普通のCとWindowsのイベントドリブンなC++の違いさえ念頭におけばなんとかなるさ。
0940デフォルトの名無しさんNGNG
自己突っ込み
Winodowsってなんだ
Windowsだろ
0941924NGNG
再度質問お許しを。TTable::AddIndexで二次インデックスを動的に設定するのだが
Table1->AddIndex("Hoge", "Hoge", TIndexOptions() << ixCaseInsensitive, "Hoge");
ご覧のようにixDescendingは指定していないのに結果は降順になってしまう。
なして?
0942デフォルトの名無しさんNGNG
>>941
お前もだ。ヘルプのTTable::AddIndexの項目を声を出して10辺嫁。
0943941NGNG
>>942
ありがとう。救われました(ヘルプ読んでみて思わず自分に対して「ぷっ」)。
0944933NGNG
>>942さん
Notifyで連続再生はできたのですが、今度は停止ができなくなりました。
ボタンを押したときにfalseを代入してからStop()メソッドですよね
なぜかできない。。。
Timerを使って、連続再生する方法を考えてみたのですが、mp3ファイルの時間の長さを取得するのに
MediaPlayer1->Lengthを使用するんですよね?ヘルプにある
int TheLength;
 MediaPlayer1->TimeFormat = tfHMS;
TheLength = MediaPlayer1->Length;
// label 1 に「時」を表示する
Label1->Caption = IntToStr(LOBYTE(LOWORD(TheLength)));
// label 2 に「分」を表示する
Label2->Caption = IntToStr(HIBYTE(LOWORD(TheLength)));
// label 3 に「秒」を表示する
Label3->Caption = IntToStr(LOBYTE(HIWORD(TheLength)));
でも、意味不明な値しか取得できないのは何故でしょう?秒で取得したいのですが・・・
0945933NGNG
すいません。質問半分撤回。
Notifyのイベントハンドラの中にStop()メソッドいれることで解決しました。

しかし、時間の取得は不明なままです。
0946デフォルトの名無しさんNGNG
だからヘルプを読めと。
tfHMSがサポートされていないんだろ。
tfMillisecondsならまずだいじょうぶた。
0947デフォルトの名無しさんNGNG
>>945
VCLヘルプから引用(TMediaPlayer::TimeFormat)
>すべての形式がすべてのデバイスでサポートされているとは限りません。
>サポートされていない形式を設定しようとすると,その代入は無視されます。

君がコピーしたサンプルコードにもちゃんと「デバイスによってはtfHMSを
サポートしない」とコメントがありますな。
0948933NGNG
みたいですね
教えていただいてありがたいのですが
tfMilliseconds
↑これはなんでしょう?
OSはWindowsを使用しているのですが何か関係あったり?
0949デフォルトの名無しさんNGNG
TMenuItemのOnClickイベントで右クリを検出する方法を教えてください
0950デフォルトの名無しさんNGNG
>>949
OnClickでは無理
自分でメッセージを拾うよし
0951デフォルトの名無しさんNGNG
Label1->Caption = DataList->Strings[0];
Label2->Caption = DataList->Strings[1];
Label3->Caption = DataList->Strings[2];
これを繰り返しで一括処理できませんか?
0952デフォルトの名無しさんNGNG
>>952
FindComponent
0953デフォルトの名無しさんNGNG
超初心者です。ヘルプを見てもサイトを検索しても
たどり着かなかったので、恥を忍んで質問します。
VCLコンポーネント(Imageコンポーネント)をソース上で生成するには、
どこにどう書けばよいのでしょうか?
よろしくお願いします。
0954デフォルトの名無しさんNGNG
TImage *image = new TImage
0955デフォルトの名無しさんNGNG
>>953
'TImage::TImage()'に一致するものが見つからない
と出たのですが、どうすればよいのでしょうか?
よろしくお願いします。
0956デフォルトの名無しさんNGNG
TImage *image = new TImage(this);
0957デフォルトの名無しさんNGNG
>>955
__fastcall virtual TImage(Classes::TComponent* AOwner);
0958デフォルトの名無しさんNGNG
>>956
一応生成することはできたようです。
しかし、それを画像をLoadFromFileメソッドを使用し、
CopyRectを使用して描画しようとしたところ
エラーが出てうまくいきませんでした。
>>957
publicのところに書けばよろしいのでしょうか?
実行しようとしたところ
)が必要 と出てコンパイルが通りませんでした。

質問ばかりですみませんが、よろしくお願いします。
0959デフォルトの名無しさんNGNG
>>958
エラーがでたなら、自分の書いたコードとそのエラーメッセージを
示した上で質問しなかったら誰も何も教えられないよ。
その辺はプログラミング以前の一般常識の問題。気をつけるべし。

>>957はTImageのコンストラクタの宣言。ヘルプからの引用。
これを見れば、TImageのコンストラクタを呼ぶときは
TComponent*型の引数が必要だと分かる。
よって具体的には>>956になるという事。
こういうことは、C++の基本さえ分かっていれば、
ヘルプを見ただけで自分で解決ができるはず。

悪いことを言わんからC++の入門書をまず読んで基本を身につけな。
でないと、何か一つするごとに人に聞いて回らなきゃならないぞ。

なお、サイトを見て回るよりは、定評のある入門書を読んだ方が
圧倒的に効率的で効果的。
こういうところで投資を惜しんではいかん。
0960デフォルトの名無しさんNGNG
画像の透過について質問させてください。

Graphics::TBitmap *DSelect = new Graphics::TBitmap();

// 画像データの読込み
DSelect->LoadFromFile(ExtractFilePath( Application->ExeName ) + "system\\Select.bmp");

// 透過指定
DSelect->Transparent = true;
DSelect->TransparentMode = tmFixed;
DSelect->TransparentColor = clWhite;

// フォームの左上隅に描画
Form1->Canvas->Draw( 240, 0, DSelect );

delete DSelect;

とあるサンプルを参考にした↑のソースで透過画像を表示することはできるのですが、
画像位置の移動など、分からないことが多いので、TImageで画像を透過する
方法をお教えください。
Image1->Picture->Bitmap = DSelect;
とか、やってみたのですが、上手くいきませんでした。
0961デフォルトの名無しさんNGNG
Borland C++BuilderってコンパイラーはBorland C++ Compilerしか使えないんですか?
0962デフォルトの名無しさんNGNG
>>961
他のコンパイラではObjectPascalとの互換性の問題でコンパイルできません。
0963デフォルトの名無しさんNGNG
>>962
そうなんですか…親切にありがとうございました。
0964デフォルトの名無しさんNGNG
>>960
TImage::Transparent
0965デフォルトの名無しさんNGNG
>>964
気が付きませんでした。
ありがとうございます。
0966デフォルトの名無しさんNGNG
>>959
解説書なら数冊あるのですが…。
とりあえず入門書みてみます。
ありがとうございました。
0967デフォルトの名無しさんNGNG
>>966
本が何冊あってもその内容を自分が理解できなきゃ何の役にもたたん。
あと、君に必要なのは「BCBの解説書」じゃなくて「C++の入門書」だぞ。
0968デフォルトの名無しさんNGNG
このたった一行で未定義の例外が飛ぶ。ランタイムのバグ?
UPDATE4だしCSCRIPTでOLEの動作確認してるんで環境はOKのはず。

#include <vcl.h>
#include <sysvari.h>
#include <dbdaoint.h>

#pragma link "rtl.bpi"
#pragma link "vcl.bpi"

int main() {
Variant dao = Variant::CreateObject("DAO.DBEngine.36");
exit(0);
return 0;
}
0969デフォルトの名無しさんNGNG
>>968
未定義の例外でなく "EOleSysError"だが?
あと、「CoInitializeは呼び出されていない」というメッセージも来るが?

なんでもかんでもライブラリのバグにするなよ。
0970デフォルトの名無しさんNGNG
例外を投げる関数を呼び出したら、
その一行で例外が飛んできて当たり前だ罠。

例外が未定義になるのは、
必要なヘッダがインクルードされてないからだろ。
0971 ◆KcrJZ6hEJI NGNG
 ゴミ箱を空にするAPI SHEmptyRecycleBin を呼び出そうとすると
リンクでエラーになります。

Unresolved external 'SHEmptyRecycleBinA' referenced from XXXX..OBJ

shellapi.h をインクルードしてますが、他に手順が足りないような気がする
のですが、なんなのでしょう?

環境は BCB3 Pro On NT4SP6 です。
0972デフォルトの名無しさんNGNG
>>971
Minimum DLL Version shell32.dll version 4.71 or later
Custom Implementation No
Header shellapi.h
Import library shell32.lib
Minimum operating systems Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0
0973デフォルトの名無しさんNGNG
> 例外が未定義になるのは、
>必要なヘッダがインクルードされてないからだろ。
DLL内で別スレッドが起動して、
その内部で構造化例外が投げられているからでは?
MSJのlodprf32で見るとそういう現象
0974デフォルトの名無しさんNGNG
CppWebBrowserを使い、普通にNavigate()でWebを表示したとします。
HTMLでゆうtarget="_brank"のタグを踏んだとき
すなわち、HTMLによって別ウィンドウで表示されるときはIEが起動してしまいますよね?
これを回避して、同じexeをIEのように起動しリンク先を表示させるにはどうしたらよいのでしょうか?


0975デフォルトの名無しさんNGNG
>>971
DLLからLIBファイルを作る。
漏れはそれでBCB1で使った実績有り。
0976 ◆KcrJZ6hEJI NGNG
>>972,975 Thanks.

 DLLからLIBを作る。ですか…。調べてやってみます。
しかし原因が環境にあったとは。。。

 ってことは、この環境では(ゴミ箱を空にする)別の正当な
方法があるってことですかね。
0977デフォルトの名無しさんNGNG
>>976
そもそもshell32.libをプロジェクトに追加してない予感
0978デフォルトの名無しさんNGNG
TIconをHICONに変換する方法をおしえてください
0979デフォルトの名無しさんNGNG
>>978
Handleプロパティ?
0980 ◆KcrJZ6hEJI NGNG
結果報告。できました。

C:\...\CBuilder3\Bin>implib shel3247.lib C:\Winnt\...\Shellapi32.dll
C:\...\CBuilder3\Bin>move shel3247.lib ..\lib

 として、プロジェクトのメイクファイルに shel3247.lib をリンクするよう
追加。これで無事にリンクも通りました。が…

 テストしてみるとAPIは呼んでいるようですが、ゴミ箱のクリアは
されてない…。なんで?
0981デフォルトの名無しさんNGNG
Application->OnHintイベントで
このイベントがどのオブジェクト(BitBtn1とか)からきたか知る方法を教えてください
0982デフォルトの名無しさんNGNG
>>981
Sender->Name
0983デフォルトの名無しさんNGNG
>>982
TObjectはNameをもっていないっぽいのでとりあえず
dynamic_cast<TComponent *>(Sender)->Name
と、してみたらNameが空白になってしまいまして
0984デフォルトの名無しさんNGNG
>>983
TApplication::OnHintはTApplicationのイベントなので
SenderはTApplication自身

ヒントを表示するコントロールを取得したかったら、
メッセージを拾う
0985デフォルトの名無しさんNGNG
次スレ
C++Builder相談室 Part9
http://pc5.2ch.net/test/read.cgi/tech/1080541814/l50
0986デフォルトの名無しさんNGNG
>>984
どうやってひろいますか?
0987デフォルトの名無しさんNGNG
やっと復活。
でも986〜991のレスが消えたね。
0988デフォルトの名無しさんNGNG
>>987
厳密に言うと981から消えてる。今の981以降は復旧後のレス。
ログいる?
レス数が950を超えています。1000を超えると書き込みができなくなります。