くだすれC++Builder(超初心者用)その4
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/10/23(金) 09:06:16もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。
Embarcadero Home Page
http://www.codegear.com/jp/
<過去スレ>
くだすれC++Builder(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1117225464/l50
くだすれC++Builder(超初心者用)その2
http://pc10.2ch.net/test/read.cgi/tech/1144308804/l50
くだすれC++Builder(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1171219191/
<兄妹スレ>
くだすれDelphi(超初心者用)その50
http://pc12.2ch.net/test/read.cgi/tech/1246340765/l50
0409デフォルトの名無しさん
2010/10/21(木) 11:16:05基本的な事が解って無いので
簡単な文字列検索をやってみたいんですが・・・。
Edit と Button と Memo とを貼り付けたフォームで
Button の OnClick イベントで
TRegexp ex((char *)Edit1->Text.c_str()); // キャストに問題?
pos = ex.find((char *)Memo1->Text.c_str(), &len, start); // 同じく...?
こうすると、コンパイルは通りますが、検索する文字が有るにも関わらず、
posには「-1」しか返ってきません。
どうしたら上手くいくでしょうか...。(多分、おばかな質問ですみません)
0410409
2010/10/21(木) 11:55:20TRegexp が Unicode対応じゃないので、ANSIに変換すればいいんですね...。
オーバーヘッドが生じるとは思いますけど。
0411デフォルトの名無しさん
2010/10/21(木) 14:15:59ソース一個ずつ順番にコンパイルしていくのが遅くて辛抱たまらんので
せっかくマルチコアCPUが普及してきてんだから .obj 作るとこくらい
並列で複数同時に実行できんかいなと考えてるんだが、なんかいい手ないか?
バッチファイル的なもんでディレクトリ下の .cpp まとめてコンパイルかけるとか
そういう形ができそうな気がしてるんだけど・・・どう?
0412デフォルトの名無しさん
2010/10/21(木) 19:00:25ありがとうございます。
少し語弊があったのですが、中抜きというより、LabelやImageなどの外周に黒枠を付けた感じにしたいのですが可能でしょうか
よろしくお願いします。
0413デフォルトの名無しさん
2010/10/21(木) 20:22:180414デフォルトの名無しさん
2010/10/22(金) 10:11:07少し語弊どころか何したいのか理解できん
0415デフォルトの名無しさん
2010/10/22(金) 12:04:08コンポーネントに枠をつけたいのね?
TLabel に枠をつけたいなら
TStaticText で代用して BorderStyle = sbsSingle とか
その他のコンポーネントなら
TPanel に BorderStyle = bsSingle と BevelOuter = bvNone を指定して
このパネルん中に TImage なり何なりおいて Align = alClient
もっと具体的にやりたいことを説明してくれんと。
0416デフォルトの名無しさん
2010/10/22(金) 12:18:110417デフォルトの名無しさん
2010/10/23(土) 18:12:15http://www.fftw.org/install/windows.html 内に書かれている
implib -a fftw3-3.lib libfftw3-3.dll
で作成したlibは、BCB6.0で動作確認できました。
同様の手順をBuilder2009のimplibで試したところ、
libは作成できますが、デバッグ時に
[ILINK32エラー]Error: 未解決の外部参照'_fftw_malloc'が …\DEBUG\FILE1.OBJから参照されました
となり実行できません。
どなたか解決のヒントをいただけないでしょうか、お願いします。
0418デフォルトの名無しさん
2010/10/23(土) 18:14:20http://www.fftw.org/install/windows.html 内に書かれている
implib -a fftw3-3.lib libfftw3-3.dll
で作成したlibは、BCB6.0で動作確認できました。
同様の手順をBuilder2009のimplibで試したところ、
libは作成できますが、デバッグ時に
[ILINK32エラー]Error: 未解決の外部参照'_fftw_malloc'が …\DEBUG\FILE1.OBJから参照されました
となり実行できません。
どなたか解決のヒントをいただけないでしょうか、お願いします。
0419デフォルトの名無しさん
2010/10/23(土) 20:57:33ツールパレット
DockPane
DockWindow
とかの組み方の載っているサイトおしえてください
0420デフォルトの名無しさん
2010/10/25(月) 18:52:13上下スクロールがめんどいので、同じクラスを分割入力
できないかと
0421デフォルトの名無しさん
2010/10/25(月) 21:57:480422デフォルトの名無しさん
2010/10/25(月) 22:04:450423デフォルトの名無しさん
2010/10/25(月) 22:28:03MinGWでコンパイルしてあるじゃんこれ
基本的にexeとdllは同じコンパイラで作成した方が何かといいよ
違うと変な問題で頭を悩ます事になる
0424デフォルトの名無しさん
2010/10/25(月) 22:33:58ども。
0425デフォルトの名無しさん
2010/10/26(火) 08:29:10ありがとうございます。
元のソースからコンパイルして使うということでしょうか、
やってみます。
0426デフォルトの名無しさん
2010/10/26(火) 22:22:14フォームの場所に関わらずクリックを検出するにはどのようにすればよいでしょうか
0427デフォルトの名無しさん
2010/10/26(火) 22:38:210428デフォルトの名無しさん
2010/11/02(火) 15:52:070429デフォルトの名無しさん
2010/11/02(火) 21:56:500430デフォルトの名無しさん
2010/11/03(水) 15:36:38ども
0431デフォルトの名無しさん
2010/11/06(土) 21:12:34マルチコアを使ったコンパイルどうやるんですか
0432デフォルトの名無しさん
2010/11/16(火) 11:11:09現在のカーソル位置を取得する関数はあるのでしょうか
0433デフォルトの名無しさん
2010/11/16(火) 11:42:03* + あります!
n ∧_∧ n
+ (ヨ(* ´∀`)E)
Y Y *
0434デフォルトの名無しさん
2010/11/16(火) 16:46:210435デフォルトの名無しさん
2010/11/18(木) 14:26:07XEにアップグレードするメリットってなんかありますか?
0436デフォルトの名無しさん
2010/11/18(木) 14:39:470437デフォルトの名無しさん
2010/11/19(金) 10:54:09BCB関連では大きな変化がないよね
クロスプラットフォームとかどれくらい実用的なんだろ?
0438デフォルトの名無しさん
2010/11/20(土) 21:14:44どうしたらよいのでしょうか?
とりあえずソースは無いです
0439デフォルトの名無しさん
2010/11/25(木) 14:10:37選択できるようにするにはどうすればよいでしょうか?
よろしくおねがいいたします。
0440デフォルトの名無しさん
2010/11/26(金) 12:22:32どこがわからないのかな。
コンボボックスにフォーカスが来たことを検知する方法なら
OnEnterイベント。
コンボボックスのドロップダウンなら
ttp://www.gesource.jp/weblog/?p=391
0441デフォルトの名無しさん
2010/11/27(土) 15:33:23どなたかよろしくお願いします。
0442デフォルトの名無しさん
2010/11/27(土) 16:17:41Rowプロパティを設定すればよかったみたいデス
スレ汚しサーセンwww
0443デフォルトの名無しさん
2010/12/01(水) 12:50:20カーネルは全てのSM、SPにほぼ同じ命令がされるんですよね?
GT200で、
__shared__ int i;
for(i=0; i<8; i++)
とした場合ループせずに終わったりはしませんか?
0444デフォルトの名無しさん
2010/12/01(水) 14:28:220445デフォルトの名無しさん
2010/12/01(水) 15:37:140446デフォルトの名無しさん
2010/12/03(金) 23:17:48Down=trueのSpeedButtonのEnabledをfalseにしたら、Downがtrueなのかfalseなのかわからない表示状態になってしまうので、、、
操作は不可、でも直前の操作で押下されていたかは視覚的に確認可能っていう形にしたいです。
どなたかご教授願います。
0447デフォルトの名無しさん
2010/12/03(金) 23:33:43解決方法としては微妙だが。
0448446
2010/12/03(金) 23:59:27対応策の候補として覚えておきます。
ありがとうございます。
ただ、ボタンの数が非常に多いので再配置が少し手間取りそうです、、、
現在SpeedButtonはOnClickで全て共通の関数を呼んでるので
そこに組み込むような形が理想なのですが、コードのみでの実現は難しいでしょうか?
0449デフォルトの名無しさん
2010/12/04(土) 11:22:53SpeedButtonを全部選択
Ctrl+x
Panelクリック
Ctrl+v
0450デフォルトの名無しさん
2010/12/04(土) 13:13:20ボタンを選択→パネルにドロップ
0452デフォルトの名無しさん
2010/12/19(日) 13:30:14パスで指定したファイルをエクスプローラから開くにはどうすればよいでしょうか。
(画像を開く場合、標準のビューアが開くといった感じです)
0453デフォルトの名無しさん
2010/12/19(日) 14:34:490454デフォルトの名無しさん
2010/12/21(火) 16:33:32WinXP BCB6.0です
0455デフォルトの名無しさん
2010/12/21(火) 21:31:29MDIの子ウィンドウは存在している限り表示されます。これはWindows側の制限によるものです。
0456デフォルトの名無しさん
2010/12/22(水) 12:26:39このグリッドラインの色を変更する方法を教えてください
0457デフォルトの名無しさん
2010/12/24(金) 00:03:34ありがとうございます。
もう一つ質問お願いしたいのですが、開発環境によってはMDIの子非表示は可能でしょうか。
VB製のソフトで非表示が実現できているものがあったので気になりました
0458455
2010/12/24(金) 00:35:07固定みたい。Grid.pasをプロジェクトと同じ場所において改変するか、有償のコンポーネントを
買ってくる。
>457
いやだからできないって。単に一旦破棄→非表示に見えるってだけじゃないの?Spy++か
WinSightなんかでMDIChildがhiddenになってるかを確認してみな。
0459デフォルトの名無しさん
2010/12/25(土) 17:57:56dmAutomaticを入れると項目の選択が行えなくなり、
OnMouseDownに記述すると今度はドラッグ自体発生しません。
どうすれば解決できますか?
0460デフォルトの名無しさん
2010/12/30(木) 09:13:30TScrollBar以外のコントロールで、矢印ボタンが押されたことを
検知するにはどのようにすればよいでしょうか。
0461デフォルトの名無しさん
2011/01/21(金) 16:13:227セグメントを表示するプログラムの書き方ですが、
どのような仕組みなのでしょうか?
ウェブページを検索しましたが、うまくみつかりません。
0462デフォルトの名無しさん
2011/01/21(金) 18:46:00これってマニュアルどこにあるの? DVDにはないみたいだけど
0463デフォルトの名無しさん
2011/01/21(金) 18:56:19日本語で
>462
ドキュメントをインストールする
または
ttp://docwiki.embarcadero.com/RADStudio/ja/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
0464デフォルトの名無しさん
2011/01/21(金) 19:13:50winアプリのフォーム上に、数値をTimerで表示するのですが、
Labelを使うのではなく、7セグメントのデジタル表示にしたいのですが、
良い手はないでしょうか?
0465デフォルトの名無しさん
2011/01/21(金) 19:23:470466デフォルトの名無しさん
2011/01/21(金) 19:38:42ああいう感じで表示したいと思いまして。
0467デフォルトの名無しさん
2011/01/21(金) 21:48:330468455
2011/01/21(金) 21:51:07Windowsでは表示するためにはかならず"ウィンドウ"というものが必要で、Delphi/C++Builderでは
これらはクラス的にTWinControlというものから派生している必要がある。普通のフォームもTForm1 >
TForm > TCustomForm > ... > TWinControl > ,,, TObjectという継承関係にあるので当然フォームでも
よい。もちろんTWinControlから派生したクラスを作ってもいい。いずれにせよ描画をWIndowsが要求したときは
Paintという仮想メソッドが呼び出され、さらにそこから(存在すれば)OnPaintというイベントが呼び出される。
オーバライドしたPaintにしろ、OnPaintイベント内にしろ、プロパティCanvasが描画対象のウィンドウの
DC(Device Context)をラッピングしたものなので、(T)Canvasのメソッドを使ってお絵描きをすればいい。
そのお絵描きが値に応じた7SEGのLEDっぽく見えるようになっていればいいのでは。
あるいはそういうコンポーネントを探してきてインストールすればポトペタでコーディング不要だが。
0469デフォルトの名無しさん
2011/01/22(土) 10:04:12押しても無効にしたいのですが(正確にはアルファベットと記号を除外したい)
OnKeyDownイベントのKey変数から取得する値(数値)がキーボードによって違います。
(ex:英字配列のaと109キーボードのaでは違うキーコードを返してくる)
if文でif(Key=='a')などとすれば良いのでしょうが、それだとキー配列文記述しないといけません。
出来ればif(Key >= 65 && Key <= 90)のような書き方をしたいのですが、良い方法ありませんでしょうか?
0470455
2011/01/22(土) 11:22:440471デフォルトの名無しさん
2011/01/24(月) 10:59:240472デフォルトの名無しさん
2011/01/24(月) 11:11:06ただ大文字のA(0x41)が帰ってくるとかじゃないよな?
あと日本語入力になっているとか。
0473 ◆.CzKQna1OU
2011/01/25(火) 17:06:250474デフォルトの名無しさん
2011/01/25(火) 17:32:120475デフォルトの名無しさん
2011/01/25(火) 20:04:260476デフォルトの名無しさん
2011/01/25(火) 20:06:57↑設定するところが見つからなかったです
0477デフォルトの名無しさん
2011/01/25(火) 20:08:230478デフォルトの名無しさん
2011/01/25(火) 20:21:59HKEY_CURRENT_USER\Software\CodeGear\BDS\7.0\AutoRun
HKEY_LOCAL_MACHINE\SOFTWARE\CodeGear\BDS\7.0\AutoRun
あたりをどうにかするといいらしい
0479デフォルトの名無しさん
2011/01/26(水) 15:13:04APIのGetPrivateProfileIntみたいに引数でファイル名の部分にはどやってwchar_t型の文字列を与えればいいですか?
0480デフォルトの名無しさん
2011/01/26(水) 15:39:34ファイル名は普通UnicodeStringに入れてると思うのでc_strで_TCHAR *になるけど
0481デフォルトの名無しさん
2011/01/26(水) 16:42:35そもそもこれが間違いですかね?
0482デフォルトの名無しさん
2011/01/26(水) 17:50:34指定できるけど?
ファイル名をwchar_tにぶち込む
ってのの実際のコードでもだしてみそ。
0483デフォルトの名無しさん
2011/01/26(水) 21:15:540484デフォルトの名無しさん
2011/01/27(木) 10:20:26_TCHAR のマッピングがcharになっているのではありませんか。
ttp://docwiki.embarcadero.com/RADStudio/ja/TCHAR_%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0
0485デフォルトの名無しさん
2011/01/30(日) 03:54:42もしかしてこういうこと?
Func( "文字列" ); ←TCHAR=WCHARのときコンパイルに失敗
Func( L"文字列" ); ←OK、でもTCHAR=CHARのときはエラー
Func( TEXT("文字列") ); ←TCHARの状態に関係なくOK
0486デフォルトの名無しさん
2011/01/30(日) 11:05:50TCHAR=WCHARのときは、Unicode版のGetPrivateProfileIntW
TCHAR=CHARのときは、Ansi版のGetPrivateProfileIntA
が使用される。
0487デフォルトの名無しさん
2011/02/02(水) 14:25:550488デフォルトの名無しさん
2011/02/02(水) 15:49:00何かよい方法ありませんか?
0489デフォルトの名無しさん
2011/02/02(水) 22:28:000490デフォルトの名無しさん
2011/02/03(木) 21:12:10NMUDPとSocket(Winsock)を使った通信はそれぞれどういう違い・特徴があるのでしょうか?
0491デフォルトの名無しさん
2011/02/03(木) 22:48:37まぁIndyかSynapseかIP*Works!か、実質的な選択肢はそのくらいだ。
0492デフォルトの名無しさん
2011/02/04(金) 11:05:37配列にする方法はあるでしょうか?
// TBitmapオブジェクトを作成
Graphics::TBitmap *bmp = new Graphics::TBitmap [9];
bmp[4]->Assign(Image1->Picture);
Image2->Picture->Assign(bmp[4]);
delete bmp[];
0493デフォルトの名無しさん
2011/02/04(金) 12:03:140494デフォルトの名無しさん
2011/02/04(金) 12:49:19解放を自動でやりたいなら派生クラス作って、デストラクタで各要素deleteすればいいんじゃ?
0495デフォルトの名無しさん
2011/02/04(金) 20:54:55vector<Graphics::TBitmap*> BM;
//Unit1.cpp
BM.reserve( 11 );
BM[0]->Assign(Image1->Picture);
コンパイルはできましたが、読み込み違反で怒られました。
文法が・・・
0496デフォルトの名無しさん
2011/02/04(金) 21:36:180497デフォルトの名無しさん
2011/02/06(日) 23:38:36boost::ptr_vector使ったらうまく行くだろ
0498デフォルトの名無しさん
2011/02/07(月) 22:12:170499デフォルトの名無しさん
2011/02/08(火) 17:51:21推奨のもの用意されてるのかな、TIniFileなんて今更だよねぇ
0500デフォルトの名無しさん
2011/02/08(火) 17:57:400501デフォルトの名無しさん
2011/02/08(火) 18:48:30XML
INI
どれでもお好きなのを。INIは64KB制限と普通ANSIなのに注意。
レジストリはHKCU\Softwareの下、ファイルはCSIDL_APPDATAの下に配置。
0502デフォルトの名無しさん
2011/02/08(火) 20:49:08>>498
ImageListは全要素同サイズの縛りがあるぞ。たしか。
0503デフォルトの名無しさん
2011/02/10(木) 07:26:56同サイズでした。
またたのんどきます。
0504デフォルトの名無しさん
2011/02/10(木) 16:32:44"vector<Graphics::TBitmap*>" これをそのままGoogleに尋ねる
0505デフォルトの名無しさん
2011/02/14(月) 12:37:180506デフォルトの名無しさん
2011/02/14(月) 12:55:570507デフォルトの名無しさん
2011/02/14(月) 13:06:40いやそれを真っ先にやったんですがダメでした・・
ちなみにOSはWin7です
0508デフォルトの名無しさん
2011/02/14(月) 17:09:37http://hibari.2ch.net/test/read.cgi/tech/1293326783/584-587
■ このスレッドは過去ログ倉庫に格納されています