くだすれ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
0002デフォルトの名無しさん
2009/10/24(土) 04:05:230003デフォルトの名無しさん
2009/10/24(土) 11:17:020004デフォルトの名無しさん
2009/10/25(日) 11:26:230005デフォルトの名無しさん
2009/10/26(月) 14:07:46どうやってやればいいのですか?
0006デフォルトの名無しさん
2009/10/26(月) 22:58:460007デフォルトの名無しさん
2009/10/27(火) 09:41:010008デフォルトの名無しさん
2009/10/27(火) 10:00:53そうなんですよね、プロパティ等がみつからなかったので
ちなみにAddXYする時にラベルを指定できるんですが
これ指定しちゃうと確かにマーカーは指定したのになるんですが
軸もしれになっちゃうんですよね・・・
そこさえなんとかできればいいんですが・・・
0009デフォルトの名無しさん
2009/10/28(水) 17:05:390010デフォルトの名無しさん
2009/10/31(土) 00:04:03配布されているライブラリ内で結果をstdoutに出力する関数があり、
その結果をc++builder側で受け取りたいのですが方法がわかりません。
(stdoutへの出力を横取りしたい。)
どなたかアドバイスお願いします。
0011デフォルトの名無しさん
2009/10/31(土) 00:13:330012デフォルトの名無しさん
2009/11/03(火) 00:09:05この場合何個使ってるか調べる方法はありますか?
0013デフォルトの名無しさん
2009/11/03(火) 00:13:400014デフォルトの名無しさん
2009/11/03(火) 00:15:31int a[100]という配列があってその内何個使っているか調べたいときです。
20個とかはわからないと仮定してです。。
0015デフォルトの名無しさん
2009/11/03(火) 00:19:21sizeof(a)だと100個になってしまうのでしょうか?
0016デフォルトの名無しさん
2009/11/03(火) 00:20:18カウンタで使用している数を記録させるか、別にフラグ用の配列を用意するかだろ
0017デフォルトの名無しさん
2009/11/03(火) 00:25:210018デフォルトの名無しさん
2009/11/04(水) 09:53:400019デフォルトの名無しさん
2009/11/04(水) 09:55:42それだとintはOSに依存すっし
個数だけなら
count = sizeof(a) / sizeof(int);
まあこうだろうな
何個使ってるとかっつーのをカウントするのは不可
0020デフォルトの名無しさん
2009/11/04(水) 10:37:570021デフォルトの名無しさん
2009/11/04(水) 17:39:40「ビルド番号の自動更新」て項目にチェックを入れたところ、
ブレークポイントで止めたとき「ソースが変更されました。再構築しますか?」
って必ず一回聞かれるようになっちゃうんだけど、同じ症状出てる人いない?
バージョンは RAD Studio 2010で。
0022デフォルトの名無しさん
2009/11/04(水) 17:43:58これ背景が黒でもラインによってはちゃんと背景を白で印刷してくれる時があるんですが
強制的に白にするにはどうしたらいいですか?
さすがに真っ黒だとインクがエロい事になるので・・・
0023デフォルトの名無しさん
2009/11/05(木) 15:08:16ああ、そうなるな。これ、ウゼェ。
0024デフォルトの名無しさん
2009/11/05(木) 15:24:490025デフォルトの名無しさん
2009/11/05(木) 15:33:20QCに書いとけ
そうじゃないと次のUpdateに反映されんぞ
002621
2009/11/06(金) 14:42:16>>25
QC…、おぅこんな機能用意されてんだな、ありがとう。
英語の復習から始めるとして…
つかメニューの箇所を説明すんのに日本語版のメニュー名じゃダメだよな?
投稿までに何日掛かるかわからんが空いた時間に調べてみるか…(汗)
0027デフォルトの名無しさん
2009/11/08(日) 21:28:15Windows7 64bitでデバッガを使うのはもはや無理ですか?
0028デフォルトの名無しさん
2009/11/14(土) 20:53:58フォームにTWebBrowserを貼り付けただけの、ごくごく単純なプログラム
http://contents.shopping.yahoo.co.jp/points/campaign/pointlot01/
上記をNavigateして開いて
「ポイントくじに今すぐチャレンジ」をクリックすると
画面表示が99%くらいで、必ずプログラムが終了してしまう。
これって、どうにかならないでしょうか
0029デフォルトの名無しさん
2009/11/14(土) 22:11:27003028
2009/11/14(土) 22:20:48プログラムが強制終了になってしまうので
デバッグしょうがないのです。
0031デフォルトの名無しさん
2009/11/15(日) 00:09:39もういちどスタートラインに戻って考え直してみてはいかが?
003228
2009/11/15(日) 00:25:49フォームにTWebBrowserを貼り付けて
WebBrowser1->Navigate(ぱらーめーた);しているだけです。
ただこれだけなのですよ
何を考え直すのでしょうか???BDS2006を使うなとかですか?
「ポイントくじに今すぐチャレンジ」をクリックすると落ちてしまい
それ以外だと、無問題です。
IEでブラウズすると問題なく動きます。
0033デフォルトの名無しさん
2009/11/15(日) 00:33:15コピペにマジレス
0034デフォルトの名無しさん
2009/11/15(日) 01:22:05つ ttp://www33.ocn.ne.jp/~takoyakusi/delphi/InternetProg.html
0035デフォルトの名無しさん
2009/11/17(火) 17:46:380036デフォルトの名無しさん
2009/11/17(火) 19:02:490037デフォルトの名無しさん
2009/11/17(火) 23:08:040038デフォルトの名無しさん
2009/11/19(木) 22:07:33通常のコンポーネントのように #pragma link なしでいいようにパッケージを作るにはどうしたら良いんですか?
0039デフォルトの名無しさん
2009/11/22(日) 21:16:45↓は登録したけど全然投稿がないみたいだし...
http://ns8.sfdata.ne.jp/cgi-bin/mailman/listinfo/cbuilder
0040デフォルトの名無しさん
2009/11/24(火) 08:48:450041デフォルトの名無しさん
2009/11/24(火) 09:06:360042デフォルトの名無しさん
2009/11/24(火) 09:16:51そのソフトを英語版Windowsで実行すると、エラーメッセージダイアログなどが
文字化けします。どのWindowsで実行しても文字化けしないようunicode対応で
プログラムを組みたいのですが、その方法を教えてください。
0043デフォルトの名無しさん
2009/11/24(火) 09:31:530044デフォルトの名無しさん
2009/11/24(火) 18:45:430045デフォルトの名無しさん
2009/11/25(水) 01:40:37処理内容は、TCustomControlから派生したコントロールをTScrollBox内に設置して、上下左右に
スクロールさせています。
XP,Vistaでは、コントロールのHeightに65536以上の値を設定しても問題ない
のですが、Windows 7では65536以上を指定しても65535になってしまいます。
これはWindows7の非互換の問題でしょうかね。それとも65536以上を指定して
動いていた今までの動作が例外的だったのでしょうか。
悩んでます。よろしくです。
0046デフォルトの名無しさん
2009/11/25(水) 03:45:020047デフォルトの名無しさん
2009/11/25(水) 06:44:122009じゃなくて2010にしたほうが良いよ
0048デフォルトの名無しさん
2009/11/25(水) 07:10:18互換モードで動作させたらどうなるの?とはいえ
> これはWindows7の非互換の問題でしょうかね。
だろうね。
0049デフォルトの名無しさん
2009/11/25(水) 15:41:520050デフォルトの名無しさん
2009/11/25(水) 15:51:580051デフォルトの名無しさん
2009/11/25(水) 16:15:57怪しいライブラリを使わないで変換する方法を教えてください
0052デフォルトの名無しさん
2009/11/25(水) 18:18:070053デフォルトの名無しさん
2009/11/25(水) 20:01:240054デフォルトの名無しさん
2009/11/25(水) 23:31:03XP互換モードでもダメでした。
スクロールビューの中にコントロールを置いて、上下左右スクロールをさせる作りのアプリは
多そうだけど、非互換でいいのだろうか・・
Vistaからの最適化の中で切られたんだろなぁ。Windows7 SP1で直ればいいけど。
0055デフォルトの名無しさん
2009/12/05(土) 11:30:08カメだがBCB6でもTurboCでもXPなら落ちる
2000なら落ちない
Silverlightとの相性が悪いとおもっているが原因不明
0056デフォルトの名無しさん
2009/12/07(月) 19:22:33TStringList *plist[100] ;
for ( int i = 0 ; i < 100 ; i ++ )
plist[i] = new TStringList ;
とやった場合は、delete [] を使うの?
それとも delete plist[i] のループを回すべき?
plist 配列はその時々に応じて確保される配列数が 50 だったり、20 だったりするのですが、どっちで delete すべきでしょうか?
0057デフォルトの名無しさん
2009/12/07(月) 20:53:21もしくは普通にnewしてboost::ptr_vectorな
0058デフォルトの名無しさん
2009/12/07(月) 21:31:41delete plist[i] のループを回す
0059デフォルトの名無しさん
2009/12/08(火) 03:12:34>plist 配列はその時々に応じて確保される配列数が 50 だったり、20 だったりするのですが、どっちで delete すべきでしょうか?
ならば、plist 自体を動的に確保したら?
olist = new TStringList[50];
そうすれば
delete [] plist;
で、plist のメモリ解放を行う直前に、個々の TStringList のデストラクタも呼ばれる。
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1317759688
ttp://www.sist.ac.jp/~suganuma/learn/2-bu/6-sho/6-4/6-4.htm
0060デフォルトの名無しさん
2009/12/08(火) 11:24:25$98.98 安いよー
http://www.journeyed.com/item/Embarcadero/C%2B%2B+Builder/100964379
0061デフォルトの名無しさん
2009/12/08(火) 12:22:03>Academic Proof Required
安くない
0062デフォルトの名無しさん
2009/12/08(火) 18:06:56↓文字を扱っている箇所でエラー(const char*はconst wchar_t*に変換できない)が発生します。
Application->MessageBox("AAA");
試した事は
1,プロジェクトオプションの「_TCHARマップ先」をwchar_tに変更
2,#define USTRING_AS_WCHART としてみた。
他に何か必要なのでしょうか?
アドバイスお願いします。
0063デフォルトの名無しさん
2009/12/08(火) 18:50:24006462
2009/12/08(火) 20:23:03アドバイス有り難うございます。
L"AAA"で修正できましたが、個別に該当する箇所を修正する方法では無く、
プロジェクト全体にまとめて適用できる様な方法はないでしょうか?
0065デフォルトの名無しさん
2009/12/09(水) 03:25:38ありません。
C / C++ 言語では文字型リテラルには型が付いています。
コード上で明示的に char か wchar_t (最近のだと wchar16_t と wchar32_t もあります) で有ることを指定する必要が有ります。
文字列リテラルがメモリの初期化の簡便記法でしかなかったころの歴史的名残です。
対するに Delphi の文字リテラルは評価するときに型が決まるので記法上は一種類しか有りません。
0066デフォルトの名無しさん
2009/12/09(水) 05:04:030067デフォルトの名無しさん
2009/12/09(水) 06:42:052010 になってもデフォルトでは UNICODE マクロが付かないので(過去との互換性の問題かな)
_T マクロは役に立たないし。
このコンパイルエラーが出るところが、BCB6 からの一番の変更点なので、
手を抜かずに全部確認した方が、後でバグが出て泣くより正しい道だと思います。
006862
2009/12/09(水) 10:10:02手を抜かずに個別に修正したいと思います。
006962
2009/12/10(木) 16:45:46外部DLLの関数を呼び出す時にchar*を渡すのですが、
2010ではエラー(const char*はconst wchar_t*に変換できない)が出ます。
2番目の引数にこれはcharだよと明示しないといけないと思うのですがどうすれば良いのでしょうか?
//BCB6で動作している記述
Tcl_CreateCommand( interp, "ABC", ( Tcl_CmdProc * )ABC_Proc, ( ClientData )NULL, ( void (*)())NULL );
//関数宣言
Tcl_Command Tcl_CreateCommand( Tcl_Interp interp,
char *cmdName,
Tcl_CmdProc proc,
ClientData clientData,
Tcl_CmdDeleteProc deleteProc);
0070デフォルトの名無しさん
2009/12/10(木) 18:57:080071デフォルトの名無しさん
2009/12/10(木) 22:02:24Unixでいうscriptで実行結果を出力したいのですが、どうしたらいいでしょうか?
0072デフォルトの名無しさん
2009/12/10(木) 22:18:110073デフォルトの名無しさん
2009/12/11(金) 05:42:43VCL が絡まなければ、違いは出てこないはずです。
少なくとも char と wchar_t に関しては変更は有りません。
提示されているコードではエラーは出るはずが無いので、何とも解説/回答できませぬ。
エディタ上で Tcl_CreateCommand と打った後コード支援で出てくる引数のプロトタイプを
確認することを勧めます。
もしそこで表示される第二引数 cmdName の型が char * ではなく wchar_t * だとしたら、
ヘッダファイルや関数定義を見直してください。
0074デフォルトの名無しさん
2009/12/11(金) 06:07:05これはウソでしょう
0075デフォルトの名無しさん
2009/12/11(金) 07:44:09バグ修正や C++0X 規格の一部先取り以外で
C/C++ コンパイラとしてどこら辺が変わったのかまとめてくれるとありがたいぞ > 74
007662
2009/12/11(金) 10:16:16御指摘頂いたように宣言を見直したら第2引数ではなく第5引数に誤りがありました。
思い込みで作業していたようで大変助かりました。
有り難うございました。
0077デフォルトの名無しさん
2009/12/11(金) 15:51:150078デフォルトの名無しさん
2009/12/16(水) 14:10:13この文字に指定ドット数で輪郭をつけたいのですがどうやったらいいですか?
元の文字はそのままで文字の外側につけたいので文字が指定ドット分大きくなるイメージなのですが。。
0079デフォルトの名無しさん
2009/12/18(金) 21:54:01BorderStyle=bsSizeable; にしました。
これで、大きさは変更できるようになったのですが
ウインドウの右下の角に、サイズ変更可の印が出てくれません。
印を出すには、どうすれば良いでしょうか。
0080デフォルトの名無しさん
2009/12/19(土) 08:44:20TStatusBarを配置する
0081デフォルトの名無しさん
2009/12/19(土) 12:31:51マークが出ましたが
とても間抜けなダイアログボックスになりました。
0082デフォルトの名無しさん
2009/12/22(火) 04:00:090083デフォルトの名無しさん
2010/01/07(木) 20:51:36商品名,2009/11/2
にのようになってる行を読み取り、商品名、西暦、月、日をそれぞれ別の変数に格納したいです。
getlineでどのように書けばできるのでしょうか?
0084デフォルトの名無しさん
2010/01/07(木) 22:21:41後半はsscanfでまとめて取得するかな。
0085デフォルトの名無しさん
2010/01/08(金) 08:20:45俺ならstd::tr1::regexで取得するかな。
0086デフォルトの名無しさん
2010/01/08(金) 18:50:47そのような情報を取得する方法ってないのでしょうか?
0087デフォルトの名無しさん
2010/01/13(水) 14:43:580088デフォルトの名無しさん
2010/01/13(水) 16:07:542011年夏の予定
0089デフォルトの名無しさん
2010/01/13(水) 16:19:100090デフォルトの名無しさん
2010/01/13(水) 19:26:300091デフォルトの名無しさん
2010/01/19(火) 02:01:43コンパイルするにはどう記述すればいいの?
0092デフォルトの名無しさん
2010/01/19(火) 06:25:38と打ってコマンドラインのヘルプを確認しましょう。
bcc32.exe の引数に、.res ファイルを書く事もできます。できるはず。
0093デフォルトの名無しさん
2010/01/19(火) 13:14:020094デフォルトの名無しさん
2010/01/19(火) 14:26:280095デフォルトの名無しさん
2010/01/19(火) 20:46:180096デフォルトの名無しさん
2010/01/23(土) 08:24:17VCのMFCでtypelib追加ウィザードで作成されたクラスには
LPDISPATCH型をパラメータにしたコンストラクタがあって、
そこにVARIANT変数のpdispVal等を使用して作成していたのですが、
BCB6でタイプライブラリの取り込みを行った際、
そのLPDISPATCH型をパラメータにしたコンストラクタがなくなって
コンストラクタには「TComponent* owner」になってしまいました。
LPDISPATCHをそのクラスに設定するにはどのようにすればいいでしょうか?
0097デフォルトの名無しさん
2010/01/23(土) 11:05:26たぶん何とかなるとおもいます。
取り込み元 ActiveX の Typelib の定義を見せてください
あと、BCB 側のプロジェクトディレクトリに、インポートのログファイルが落ちていませんかね?
0098デフォルトの名無しさん
2010/01/23(土) 11:25:09BCB6のプログラム中でフォントを指定したいのですが,例えば
Image1->Canvas->Font->Name="CourierNew";
Image1->Canvas->TextOutA(10, 10, "ABC") ;
と書いても,デフォルトのフォントのままの文字が現れて,変ってくれま
せん。となたか解決方法をお教え下されば幸です。
因みにフォントのサイズやスタイルは,
Image1->Canvas->Font->Size=16;
Image1->Canvas->Font->Style=TFontStyles() << fsBold;
Image1->Canvas->Font->Style=TFontStyles() << fsItalic;
で変えられます。
0099デフォルトの名無しさん
2010/01/23(土) 11:43:490100デフォルトの名無しさん
2010/01/23(土) 12:02:21TSimpleEvent *event=new TSimpleEvent();
とするとエラーになります。
ヘルプを見ると、コンストラクタは引数なしなので
これで良さそうなのですが、どうも原因がわかりません。
TSimpleEventはどう使えばいいのでしょうか。
0101デフォルトの名無しさん
2010/01/23(土) 12:28:36#include <SyncObjs.hpp>
か?必ずエラーの内容書こうぜ。
■ このスレッドは過去ログ倉庫に格納されています