トップページ⇒tech
1001コメント269KB

C++Builder相談室 Part10

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
C++Builderに関する質問・回答や議論等を行う相談室スレッド。
過去スレ・関連サイトは>>2-5あたり。
0002デフォルトの名無しさんNGNG
<過去スレ>
C++Builder相談室
http://piza2.2ch.net/tech/kako/969/969458279.html
新C++Builder相談室(C++Builder相談室 Part2)
http://pc.2ch.net/tech/kako/997/997074601.html
C Builder相談室 Part3
http://pc3.2ch.net/tech/kako/1016/10160/1016065855.html
C++Builder相談室 Part4
http://pc5.2ch.net/tech/kako/1035/10355/1035596146.html
C++Builder相談室 Part5
http://pc5.2ch.net/tech/kako/1045/10455/1045542179.html
C++Builder相談室 Part6
http://pc5.2ch.net/tech/kako/1054/10542/1054280736.html
C++Builder相談室 Part7
http://pc5.2ch.net/tech/kako/1061/10615/1061594556.html
C++Builder相談室 Part8(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1070222674/l50
0003デフォルトの名無しさんNGNG
<Tipsなど>
C++Builderのお部屋(Tips系)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/
C++Builderによるプログラミング(Tips系)
http://www.geocities.co.jp/SiliconValley/7201/
Delphian World(コンポーネントライブラリ)
http://home1.infonia.ne.jp/~delphian/delphi/
Borland C++Builder最新リンク2004(リンク集)
http://www2.famille.ne.jp/~akio1998/l_cpb.html

<参考図書>
C++Builder 6コンポーネント活用ガイド&実践プログラミング
Vol.1
http://www.amazon.co.jp/exec/obidos/ASIN/4877830618
Vol.2 実践テクニック編
http://www.amazon.co.jp/exec/obidos/ASIN/4877830626
Vol.3 データベーステクニック編
http://www.amazon.co.jp/exec/obidos/ASIN/4877830634
Vol.4 インターネット編(1)
http://www.amazon.co.jp/exec/obidos/ASIN/4877831061
Vol.5 インターネット編2
http://www.amazon.co.jp/exec/obidos/ASIN/4877831088

※BCBの定番解説書。BCBを購入したけど何から勉強したら良いか
 判らないという人は取り合えずVol2から読みましょう。
※データベースやインターネット関連はDelphiの解説書も役に立ちます。
0004デフォルトの名無しさんNGNG
<ツール/コンポーネント>
<<フリー>>
フリーカーソル無効化アドイン
http://homepage1.nifty.com/fuu/software/nonfreecursor.htm
GExperts−IDE拡張
http://www.gexperts.org/
BorCVS - IDEにCVSを統合
http://borcvs.sourceforge.net/
Indy
http://www.indyproject.org/index.html
JCL
http://homepages.borland.com/jedi/jcl/
JVCL
http://homepages.borland.com/jedi/jvcl/
TurboPower
http://sourceforge.net/users/tpsfadmin/
<<有料>>
TMS Component Studio
http://www.tmssoftware.com/
LMD-Tools(ただし、Special Editionはフリー)
http://www.ceberus.com/lmd/index.php3
0005デフォルトの名無しさん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/
0006デフォルトの名無しさんNGNG
<関連スレ>
BorlandBorland C++ BuilderX
http://pc5.2ch.net/test/read.cgi/tech/1065260556/l50
タダで使えるBorland C++ Part3
http://pc5.2ch.net/test/read.cgi/tech/1054390397/l50

<VCL兄貴のDelphiスレ>
くだすれDelphi(超初心者用)その15
http://pc5.2ch.net/test/read.cgi/tech/1087823906/l50
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その12
http://pc5.2ch.net/test/read.cgi/tech/1084397575/l50
Delphi相談室(上級者用)その12
http://pc5.2ch.net/test/read.cgi/tech/1064766880/l50
Delphi相談室(中級者以上)その12
http://pc5.2ch.net/test/read.cgi/tech/1064420818/l50
Delphi初心者】今から始めるDelphi Part01
http://pc5.2ch.net/test/read.cgi/tech/1062422335/l50
0007デフォルトの名無しさんNGNG
前スレ忘れた・・・
C++Builder相談室 Part9
http://pc5.2ch.net/test/read.cgi/tech/1080541814/l50
0008デフォルトの名無しさんNGNG
>>1
乙
0009デフォルトの名無しさんNGNG
こんんいちw
0010デフォルトの名無しさんNGNG
10
0011デフォルトの名無しさんNGNG
質問です

C++Builderから,Excel形式のファイルを出力できる
コンポーネントってないですか?

0012デフォルトの名無しさんNGNG
>>11
前スレが落ちてるのでこぴぺ。
>>ttp://pc5.2ch.net/test/read.cgi/tech/1080541814/785
>ここ見れ。Excelに吐き出す方法が載っている。別に何か買う必要はなし。
>ttp://www.wwlnk.com/boheme/delphi/techdoc/dad0070.html

>ポイントはDBGridを何とかすることではなく、DBGridの基になるDataSetからなんとかすること。
>コンポーネントだったらここにある
>ttp://www.maxcomponents.net/ (Excel)
>http://www.korzh.com/delphi/ (CSV, TXT)
001311NGNG
>>12
ありがとうございます!!!

今改造しようとしてるのが,CSV吐いてExcelのVBA呼び出して・・・
という( ´Д`)なことやってるので,これで書き換えようと思います。

0014名無しさん@そうだ選挙に行こうNGNG
プログラムからCGIに値を渡すにはどうしたら良いですか?
WEBフォームで送信ボタンを押したのと同じことをしたいのです。
0015名無しさん@そうだ選挙に行こうNGNG
>>14
CGIへの値の渡し方による。
まずそのCGIの渡し方を見極めろ。
http://tohoho.wakusei.ne.jp/wwwcgi3.htm#CgiParameter
0016デフォルトの名無しさんNGNG
>>14
TNMHTTPでGetかPostか決めてアクセスすればぃぃ
0017デフォルトの名無しさんNGNG
HOARDというメモリーアロケーターはちょっと凄そうなのだが、
BCBからうまくリンクできますか?
ttp://www.cs.umass.edu/~emery/hoard/
できた人、情報アップ求む
0018デフォルトの名無しさんNGNG
"...if you'll be running on multiprocessor machines,
... use Emery Berger's excellent Hoard multiprocessor memory management code.
It's a drop-in replacement for the C and C++ memory routines
and is very fast on multiprocessor machines."
Debugging Applications for Microsoft .NET and Microsoft Windows, Microsoft Press, 2003

マルチプロセッサで効果発揮?
0019デフォルトの名無しさんNGNG
FrameにFormのようにLineで線を引くにはどうしたらよいのでしょう?
0020デフォルトの名無しさんNGNG
>>12
Excelは起動するのですが、ワークシートが作成されません。
環境はBCB5proで、Excel2000、XPです
0021デフォルトの名無しさんNGNG
ExcelWorksheet1.ConnectTo( ExcelWorkbook1.Worksheets['Sheet1'] as _Worksheet);
ExcelWorksheet1.Range['A1','A1'].Value := Edit1.Text;
上記の2つをC++Builderではどのように表現すればいいのでしょうか?
0022デフォルトの名無しさんNGNG
こうかな
ExcelWorksheet1->ConnectTo(ExcelWorkbook1->Worksheets->get_Item(TVariant("Sheet1")));
ExcelWorksheet1->Range[TVariant("A1")][TVariant("A1")]->set_Value(TVariant(Edit1->Text));

なんかItemやValueのプロパティが用意されてないね
0023デフォルトの名無しさんNGNG
>>22
神
ありがとうございます。

ExcelApplication->Connect( );
ExcelApplication->Visible[0] = true;
ExcelWorkbook->ConnectTo( ExcelApplication->Workbooks->Add( NULL, 0 ) );
上の2行でエクセルを表示することはできたのですが
その下の行を実行するとエラーになってしまいます。
どのように記述すればいいのでしょうか?
0024デフォルトの名無しさんNGNG
こうかな
ExcelWorkbook1->ConnectTo(ExcelApplication1->Workbooks->Add(TNoParam(), 0));
0025デフォルトの名無しさんNGNG
>>24
激しく神
ほんとうにありがとうございます。
しかしその行を実行するとエクセルは起動するのですが途中で止まってしまいます。
(タイトルバー&ツールバーが表示されてその下のビュー画面が表示されていない状態)
BCB5をインスコする時にオフィスは2000を指定してエクセルも2000を使っています。
何が原因なのでしょうか?
0026デフォルトの名無しさんNGNG
>>25
タスクマネージャ見たら、Excel.exeのプロセスが残ってない?
エラーとかで異常終了したら、残ることがあるもより。そのせいだと思う。
0027デフォルトの名無しさんNGNG
>>26
それはプロセスを終了してからやっていたのですがダメでした。
もうちょっと色々やってみます。
あちがとうございました。
0028デフォルトの名無しさんNGNG
そか…俺も同じ事があったけど、いろいろしてたら直ってた。プロセスは関係なかったか。
ちなみに↓によると、Visble[0]のとこは Visible[LOCALE_SYSTEM_DEFAULT] らしい。
http://www.borland.co.jp/cppbuilder/papers/servers/servers2.html
0029デフォルトの名無しさんNGNG
>>26
超神
Excel.exeを1つ終了して油断していたらもう1つ存在していました。
それを終了してやったら見事にできました!

ちなみに>>22で教えて頂いた↓
ExcelWorksheet1->Range[TVariant("A1")][TVariant("A1")]->set_Value(TVariant(Edit1->Text));
を行うと、
[C++ エラー] Unit1.cpp(27): E2316 'Range' は 'TExcelWorksheet' のメンバーではない
というコンパイルエラーが出てしまいました。
TExcelWorksheetをヘルプで見てもTOleServerのヘルプしかでないもので・・
0030デフォルトの名無しさんNGNG
BCB5のだとヘッダ見る限り、Get_Range(TVariant("A1"), TVariant("A1")) かな。
BCB5入れてないから、コンパイルして確認は出来ないけど。

> TExcelWorksheetをヘルプで見てもTOleServerのヘルプしかでないもので・・

そういう時は、ヘッダでTExcelWorksheetの定義を調べたり、
コード補完でどんなメソッドやプロパティがあるか見てみると分かるよ。
0031デフォルトの名無しさんNGNG
>>30
鬼神
なにからなにまでありがとうございました。
ExcelWorksheet1->Get_Range[TVariant("A1")][TVariant("A1")]->set_Value(TVariant(Edit1->Text));
↑で[C++ エラー] Unit1.cpp(27): E2235 メンバー関数は呼び出すかそのアドレスをとらなければならない
というコンパイルエラーがでました・・
0032デフォルトの名無しさんNGNG
(と[
0033デフォルトの名無しさんNGNG
>>32
神の申し子
ありがとうございました。
これでやりたいことができました!本当に感謝です。
0034デフォルトの名無しさんNGNG
COMを用いたプログラムを作っていて,
COMにhwnd(Handle)を渡す必要があるのですが,
VCLのImageを使っていて,Imageのcanvas->handleはHDC(デバイスコンテキストハンドル?)のために
期待した動作をしてくれません.
Imageのhwndを取得することは可能でしょうか?
0035デフォルトの名無しさんNGNG
なんか、ジャンプの格闘マンガみたいだな。
0036デフォルトの名無しさんNGNG
BCB5で、ソースからライブラリを作って
そのライブラリを「プロジェクトに追加」で追加したにもかかわらず
リンカエラーで外部シンボルが見つかりませんになります。
何がおかしいかわかる方いらっしゃいますでしょうか?
0037デフォルトの名無しさんNGNG
-prとか
0038デフォルトの名無しさんNGNG
>>34
TImageはグラフィックコントロールで、
グラフィックコントロールは、ウィンドウに描かれた絵でしかないので、
ウィンドウハンドルは持ってない。
まあ親ウィンドウのハンドルが、そうと言えばそうかもしれないけど…。

どんなプログラムかわからないけど、TPanelとかで代用できる希ガスるね。
0039デフォルトの名無しさんNGNG
異常終了のタイミングでコンポーネントパレットが壊れちゃうことがあるのですが、
このあたりを手で直すには、どうすればいいのでしょう? 単純なファイル上書きではダメみたいで。
うちの場合、必ず Win3.1 の中が空になって、TDrivfeComboBox などが使用不能に。
004034NGNG
>>38
そうですね,Panelですとhandleが取得できると思うのですが,
PanelだとCanvasが用意されていないなど点が今後のプログラムの中で面倒になり
Imageを使いたかったのですが.
PanelでもGetDCで描画できるようなので試行錯誤してみます.
0041デフォルトの名無しさんNGNG
フォルダ選択ダイアログを出すにはどうしたらよいのでしょうか?
0042デフォルトの名無しさんNGNG
>>41
ディレクトリ ダイアログボックスでヘルプ検索しる
0043デフォルトの名無しさんNGNG
SelectDirectory
0044デフォルトの名無しさんNGNG
BCB5ProでTTableのDataTypeをftFloatにしてテーブルを作成し作成したテーブルを読み返すとDataTypeがftSmallintになってしまいます。
これをftFloatと認識させるにはどうすればいいのでしょうか?
データベースドライバはMicrosoft Access Driver (*.mdb)で.mdbファイルです。
0045デフォルトの名無しさんNGNG
!!hogehoge!!
!!hogehogehoge!!
↑こんな感じで先頭と末尾に!!が付いてる文字列から
!!を除いてhogehogeにするのはどうすればいい?
ヘルプ見たけどよくわからん
004645NGNG
とりあえず LeftStr と RightStr で解決しますた
0047デフォルトの名無しさんNGNG
>神
>激しく神
>超神
>鬼神
>神の申し子
ワラタ
途中からすごくなってんのかどうかもよくわからんし
0048デフォルトの名無しさんNGNG
>40
TCustomControlを派生させるよろし。
ウインドウハンドルも、Canvasも付いてる。
0049デフォルトの名無しさんNGNG
装置をモニタリングするようなプログラムってやはりスレッドを起こして
そのスレッドの中で無限ループをまわしているんですかね?
例えば
while(1) ReadFromFA();
なんて・・・
0050デフォルトの名無しさんNGNG
>>49
外部割り込みをフェッチするんでない?
0051デフォルトの名無しさんNGNG
>>49
外から信号が来るなら>>50のような感じで、

こっちからキックするなら、タイマー使って時間が来たらイベント起こす。
たとえばTimer1を置いて、Intervalを1000とかにしておいて、
OnTimer( ) の中で計測処理。という感じじゃだめでしょうか。
0052デフォルトの名無しさんNGNG
TListにTObjectから派生させたクラスを動的に作ってTListに収納していっています。
TObjectはAnsiStringのFileNameとAnsiStringのIDの二つが入っています。
んでTListにどんどんどんどんファイル情報を蓄えていって。その後それをファイルか
何かに保存するのはどうしたらよいでしょうか?
アプリケーションが終了しても次回起動時読み出して再利用したいのです。

どなたかおしえてください
0053デフォルトの名無しさんNGNG
>>TObjectはAnsiStringのFileNameとAnsiStringのIDの二つが入っています。
TObjectから派生させたクラスには
AnsiStringのFileNameとAnsiStringのIDの二つが入っています。
の間違いですごめんなさい
0054デフォルトの名無しさんNGNG
>>52
VCLで処理するならTStringListを使うのがお手軽っしょ。

//書出し処理
//ホントは例外に対応する要あり
 //TList* list;
 TStringList* file = new TStringList;
 TStringList* line = new TStringList;
 for ( int i=0; i<list->Count; ++i ) {
  line->Clear();
  line->Add( list->Items[i]->FileName );
  line->Add( list->Items[i]->ID );
  file->Add( line->CommaText );
 }
 file->SaveToFile( "save_file.csv" );
 delete file;
 delete line;

読込みは書出しを逆にすればいい。これは宿題にしましょ(w
algorithmを使う方がC++的のような気もするが、そっちは自分で勉強してちょ。
0055デフォルトの名無しさんNGNG
新規作成のプロジェクト選択で、Win2000ロゴアプリケーション、とか、Win95/98アプリケーション、て何ですか?
0056デフォルトの名無しさんNGNG
つ[ ttp://www.microsoft.com/japan/windowsserver2003/partners/isvs/cfw.mspx ]
簡単に解説しとくと、MicrosoftにDesined for Windows ってロゴをもらうためのもの

たしか、ステータスバーがあるとかメニューバーのFileからセーブロードがあるとか
メニューバーに編集があるとかいくつか条件が並んでて
そのプロジェクトを選択すると、最低限必要なものは最初から
全部組み込まれたテンプレートが読み込まれる
0057デフォルトの名無しさんNGNG
Formのクライアント領域で発生するマウスイベントを全て透過して、
下の別のアプリケーションへ送るにはどうすれば良いのでしょうか。

動作としては、SetLayeredWindowAttr で LWA_COLORKEY を指定
した時と同じようにイベントが筒抜けになるようになってほしいのです。

0058デフォルトの名無しさんNGNG
今BCB6使っています。
Linuxのgccでコンパイルできるようなソースを作るには、
どうすればいいですか?
0059デフォルトの名無しさんNGNG
GUI込みならまず不可能。
Kylixを検討したら。
0060デフォルトの名無しさんNGNG
>>58
windows.hをインクルードしない。
0061デフォルトの名無しさんNGNG
>>19
TShape
>>45
StringReplace
0062デフォルトの名無しさんNGNG
良いtipsサイトを紹介してください
0063デフォルトの名無しさんNGNG
>>62
>>3
0064デフォルトの名無しさんNGNG
>>60
vcl.h
はいいのかしらん?
0065デフォルトの名無しさんNGNG
駄目にキマットルだろ、ボケ。>>64
0066デフォルトの名無しさんNGNG
ボケにキマットルだろ、ボケ。>>65
006758NGNG
皆さんレスありがとうございます。
プロジェクト>オプション>コンパイラ(詳細)>準拠する言語仕様>ANSIやUnix V
にしてもだめ?では失礼します。
0068デフォルトの名無しさんNGNG
>>67
どんなプラットフォームで動くどんなアプリを作りたいんだよ。
0069デフォルトの名無しさんNGNG
newについてよく分からないんですけど、
newについて分かりやすく書いてあるサイトはありませんか?
0070デフォルトの名無しさんNGNG
Builderの質問ですらないよな。
0071デフォルトの名無しさんNGNG
>>69
それはC++の基本です。
それが判らないレベルなら、サイトで勉強するんじゃなくて
きちんとしたC++の入門書を読んだ方が良い。
その方が結果的には確実で理解も早いよ。
具体的な書名は推薦図書スレを見ましょう。
0072デフォルトの名無しさんNGNG
newの実装が知りたいのですが・・・
0073デフォルトの名無しさんNGNG
Builderの?
0074デフォルトの名無しさんNGNG
TTreeView::Itemsのヘルプを見ると

> たとえばツリービューの 2 番目の項目にアクセスするには次のようなコードを使います。
> MyTreeNode = TreeView1->Items[1];

と、ありますがコンパイルすると、
[C++ エラー] Unit1.cpp(23): E2034 'TTreeNodes' 型は 'TTreeNode *' 型に変換できない
と、出ます。TreeView1->Items[x]という使い方はできないのでしょうか。
0075デフォルトの名無しさんNGNG
すみません解決しますた。↓でできました。
MyTreeNode = (*TreeView1->Items)[1];
ヘルプのミスかな…
0076デフォルトの名無しさんNGNG
>75
ヘルプ、
MyTreeNode = TreeView1->Items->Item[1];
じゃないのかい?うちのはBCB5だけど。。。

Items(TTreeNodes)とItem(TTreeNode)は違う。
ややこしいけど、前者はノードの塊を指し、
後者は一個一個のノードを指している。
こんなところがバージョンで変わってるとは思えないんだが。

ていうか、>75のソースで期待通りに動くの?
ものすごいことやっちゃってると思うんだけど。
0077デフォルトの名無しさんNGNG
>>74-76
BCB6のヘルプを確認したところ、>>74になってます。
とんでもない誤記ですな。
当然、>>76が正しいのですよ。>74氏
0078デフォルトの名無しさんNGNG
>>76
BCB6 では、>>74 の言っている通りにヘルプには書いてある。
更に BCB6 だと TTreeNodes では演算子 [] がオーバーロードされていて、
Treeview1->Items[1] で TreeNode * が取り出せるようになっている模様。
007978NGNG
う〜ん。>>77 と被ったか。でも言ってる事が違う…。
0080デフォルトの名無しさんNGNG
DelphiからHELPを移植したときのデフォルトに関する扱い
絡みのミスか?
008177NGNG
>>78
TTreeNodes::operator[]( int )があるので
 (*TreeView1->Items)[1];
これが使えると。
でも
 Treeview1->Items[1];
はだめでしょ。
0082デフォルトの名無しさんNGNG
↑でも TTreeNodes::operator[](int)なんてしらんかったよ(w
0083デフォルトの名無しさんNGNG
DelphiはC++みたくメンバ参照でインスタンスとポインタを区別しないからだな。
0084デフォルトの名無しさんNGNG
C++Builder5でIDEのメニューバー「実行」→「実行」を
クリックすると必ずCPUウィンドが出てくるようになってしまいました。
こんなの見てもわからないので出ないようにしたのですが、どうすれば
いいのですか?
0085デフォルトの名無しさんNGNG
>>84
再インスト。
0086デフォルトの名無しさんNGNG
ttp://www.borland.com/products/downloads/download_cbuilder.html

2004/07/13 - C++Builder 6 Linker Update
ilink32 version 5.66

大きなオブジェクトをリンクするときにおきるアクセスバイオレーションを修正。
0087デフォルトの名無しさんNGNG
ショートカットアイコンの右クリック->プロパティで表示されるダイアログボックスを表示する方法を教えてください。
0088デフォルトの名無しさんNGNG
Sleepをコールしようとすると、
Win32APIのものと、IdGlobal.hppのものと2つあります。

namespaceとか使って、Win32APIにリンクしたい場合にはどうしますか?
0089デフォルトの名無しさんNGNG
::Sleep
0090デフォルトの名無しさんNGNG
オォ、コンパイル通りますた>89

::Sleep
^^^^^^^

これって、namespace指定してないように読めるんですが、どうなんでしょ。
0091デフォルトの名無しさんNGNG
>>90
グローバル
0092デフォルトの名無しさんNGNG
Win32 API は namespace を持ちません。
namespace を指定されていない識別子はグローバルな名前空間に格納されます。
 ::Sleep
も形式的には名前空間を指定された識別子です。ただグローバルな名前空間には
名前がありません。
0093デフォルトの名無しさんNGNG
C++Builder8はいつでるの?
0094デフォルトの名無しさんNGNG
出ない>>93




ttp://www.drbob42.com/cbuilder/index.htm
2004/05/13 - C++Builder version 9?
0095デフォルトの名無しさんNGNG
C++Builder6で開発終了ってアナウンスあったじゃん
0096デフォルトの名無しさんNGNG
ilink32 version 5.66の直リンキボンヌ
0097デフォルトの名無しさんNGNG
>>95
ソースは?
009876NGNG
>77-83
勉強になりますた。
0099デフォルトの名無しさんNGNG
>>97
/usr/src/linux
にあると思います
0100デフォルトの名無しさんNGNG
改行が含まれるデータ(例: str="うんこ\nまんこ")を、
改行が反映されるようにMemoに書き加えるにはどうしたらいいですか?

0101デフォルトの名無しさんNGNG
Memo1->Lines->Text = Memo1->Lines->Text + "ヽ( ・∀・)ノウンコー\nウンコーヽ(・∀・ )ノ";
■ このスレッドは過去ログ倉庫に格納されています