くだすれC++Builder(超初心者用)
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2005/05/28(土) 05:24:24もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。
Borland Home Page
http://www.borland.co.jp/
兄弟すれ
くだすれDelphi(超初心者用)その24
http://pc8.2ch.net/test/read.cgi/tech/1115581376/l50
0002 ◆2getr4TXt6
2005/05/28(土) 05:52:090003デフォルトの名無しさん
2005/05/29(日) 03:14:53ファイルにmp3ファイルを指定したのですが再生できません。
0004デフォルトの名無しさん
2005/05/29(日) 16:18:380005デフォルトの名無しさん
2005/05/30(月) 08:27:30>>3
してない。
>>4
[デバッガオプション]-[言語固有の例外]-[統合開発環境を使う]をクリア。
00064
2005/05/30(月) 11:24:56ありがとう。うまくいきました。
0007デフォルトの名無しさん
2005/05/30(月) 13:14:53このコンポーネントでページを表示させると、ページ上の文字を
コピーしてもバッファに入らないみたいなのです。同じページを
IEで表示したら問題ありません。
それからtextareaで改行が入力できないという不可解な現象も
あります。
このあたりどなたかご存じないでしょうか?
0008デフォルトの名無しさん
2005/05/30(月) 13:22:14OleInitializeでぐぐれ
0009(7)
2005/05/30(月) 13:55:35コピーはできるようになりましたが、改行が入らないのは変わりません。
javascriptでonkeydownイベントをつかまえてみましたが、ちゃんとenter
キーはブラウザに渡っているようなのですが・・・・・・・
0010デフォルトの名無しさん
2005/05/30(月) 15:36:08http://www.swissdelphicenter.ch/torry/showcode.php?id=1055
0011(7)
2005/05/30(月) 16:50:39どもども。実はそのページは自分でみつけたんですが、ちょっとBCBへ
トランスレートできそうになかったのです。
で,いろいろやってみてhtmlのほうを修正して回避する方法をみつけました。
今回は特定のページが表示できればよかったのでとりあえず・・・
しかしみんな困ってないのかなぁ。BCBでブラウザ作るやつなんて居ない
ってことか・・・
0012デフォルトの名無しさん
2005/05/30(月) 19:04:410013デフォルトの名無しさん
2005/06/01(水) 09:50:49ヘルプが英語で読めません・・・orz
日本語に変換ってどうやるんですか?
0014デフォルトの名無しさん
2005/06/01(水) 10:08:07ttp://www.excite.co.jp/dictionary/english_japanese/
ttp://www.alc.co.jp/
0015デフォルトの名無しさん
2005/06/01(水) 13:37:150016デフォルトの名無しさん
2005/06/02(木) 10:33:13TTreeViewで自力で書くしかないのでしょうか?
こんぽーねんとはないのでしゅか?
0017デフォルトの名無しさん
2005/06/02(木) 12:51:110018デフォルトの名無しさん
2005/06/02(木) 15:06:500019デフォルトの名無しさん
2005/06/02(木) 15:47:00出来上がった実行ファイルの速さは同程度だよね?
0020デフォルトの名無しさん
2005/06/02(木) 16:50:240021デフォルトの名無しさん
2005/06/02(木) 17:08:430022デフォルトの名無しさん
2005/06/02(木) 20:51:44ちょっと注意しておきたいのが、BCBだとAnsiStringが組み込み型ではない、
つまり静的なAnsiStringを作れないこと。
もちろんこれはstd::string等にもあてはまるのだが。
例えばForm1->Caption = "あいうえお";のような単純なソースだけでも
コンパイラは一時オブジェクトのコンストラクタ/デストラクタに加え
例外処理コードも追加される。
(対するDelphiのコードは、ただアドレスを引数にして呼び出すだけ)
こういうのが積み重なった結果、速度は遅くなり実行ファイルは巨大になる。
UI部分だけでなく、DB系やらIndyやらでも基本はAnsiStringだから
ロジック部分以外の占める割合が大きい場合、Delphiの方が利点が多くなる。
まあ俺はC/C++しか書けないから関係無いが。
0023デフォルトの名無しさん
2005/06/02(木) 22:46:35BCBの方が若干分が悪いのね。
私はDelphi使いなんだけどBCB6 Star Teamの優待販売にちょっと気持ちが揺れたんだな。
0024デフォルトの名無しさん
2005/06/02(木) 23:06:06その分速度はアドバンテージあるだろうけど。
0025デフォルトの名無しさん
2005/06/02(木) 23:24:10Delphiも2005からはインライン展開できるんだっけ。
0026デフォルトの名無しさん
2005/06/02(木) 23:33:10BCBいつまで6なんだ
0027デフォルトの名無しさん
2005/06/02(木) 23:47:10で、Delphiはと言うと素直に進化と呼んで良いものか悩ましい。
4-6くらいが一番バランス良いと思う。
0028デフォルトの名無しさん
2005/06/03(金) 00:20:56STLあるよ
0029デフォルトの名無しさん
2005/06/03(金) 01:33:407が最高!!
0030本田
2005/06/03(金) 05:00:36DirectoryListBox
0031本田
2005/06/03(金) 05:14:54>BCBでブラウザ作るやつなんて居ないってことか・・・
>C++BuilderからGeckoエンジンを使う方法
http://homepage2.nifty.com/spw/tips/Gecko.html
0032デフォルトの名無しさん
2005/06/03(金) 08:39:42それって旧世代の遺物?
0033デフォルトの名無しさん
2005/06/03(金) 23:27:580034& ◆atpr8p5IFs
2005/06/04(土) 05:55:34> C99には対応していますか?
未対応。
0035& ◆po73KQOmZk
2005/06/04(土) 05:58:03私です。
>>32
そうだよ。
>>31
>WebBrowser Object
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/Objects/WebBrowser.asp
>How to post data using TCppWebBrowser in C++Builder
http://bdn.borland.com/article/0,1410,27519,00.html
>TCppWebBrowser コンポーネントを使う
http://www.kanazawa-net.ne.jp/~pmansato/wb.htm
>CppWebBrowser
http://www.osakac.ac.jp/labs/matsuura/japanese/program/C++Builder/VCL/Internet/CppWebBrowser/
0037デフォルトの名無しさん
2005/06/04(土) 14:35:09かろうじて、long long intだけはある。
0038デフォルトの名無しさん
2005/06/04(土) 18:41:37MFCは使用できますか?
0039& ◆FC4h7F/wV6
2005/06/05(日) 00:50:00>Visual C++のプロジェクトもコンパイルできるのでしょうか?
VCプロジェクトをBCBに変換する機能はある、だだし不完全。
>MFCは使用できますか?
Professonalバージョンには付いてる。
0040デフォルトの名無しさん
2005/06/05(日) 17:21:22switchを含む関数はインライン展開できないというウォーニングが出るのですが、
どのような構文にすればよいのでしょうか?
0041デフォルトの名無しさん
2005/06/05(日) 18:02:10#pragma warn -inl で消せる。
でもあんな汚いマクロを置くぐらいなら、自分でDispatchやWndProcを書いたほうがいいと思うのは俺だけすかそうすか。
0042デフォルトの名無しさん
2005/06/05(日) 18:21:02やっぱり
BEGIN_MESSAGE_MAP
は使わない方がよいのでしょうか?
もっと汚くない他のやり方を教えていただけないでしょうか?
0043デフォルトの名無しさん
2005/06/05(日) 19:10:28いや使わないほうがいいという事じゃなくて、激しく好みの問題。
あのマクロのおかげで行数が減って綺麗になったなぁと感じる人もいるかもしれない。
でメッセージに反応するのはWndProcをオーバーライドするだけす
void __fastcall TForm1::WndProc(TMessage& message)
{
switch (message.Msg) {
case WM_〜
:
case WM_〜
:
}
TForm::WndProc(message);
}
0044デフォルトの名無しさん
2005/06/06(月) 07:43:510045デフォルトの名無しさん
2005/06/06(月) 14:19:130046デフォルトの名無しさん
2005/06/06(月) 14:25:370047デフォルトの名無しさん
2005/06/06(月) 14:32:490048デフォルトの名無しさん
2005/06/07(火) 15:08:45キーを押しっぱなしの時、入力を連続して受け付けたい場合どこにどのようなコードを描けばよいのでしょうか?
0049デフォルトの名無しさん
2005/06/07(火) 23:20:18関数の本文の前にconst をつけるわけを教えていただきたいのですが、
int get_c() const{return cc};
このような文をよく見かけますが、
何を変更できないようにしているのでしょか。
0050デフォルトの名無しさん
2005/06/07(火) 23:32:12ネットを検索していると、詳しく説明してあるところを見つけたので、
読んでみます。すみませんでした。
0051デフォルトの名無しさん
2005/06/07(火) 23:57:31推しっぱなしだとオートリピート機能があるから
OnKeyDownが何度も呼ばれるんじゃないの?
0052デフォルトの名無しさん
2005/06/08(水) 00:13:23最初のOnKeyDownイベントが来たらフラグをONにして
OnKeyUpが来たらフラグをOFFにするような仕組みをつくる
で、TApplication::OnIdle のイベントハンドラの中で上記のフラグを
見張っておいて、フラグがONの時にのみキー押下時の処理をする
というのはどう?
0053困った
2005/06/08(水) 20:56:38C++Builder6のデータベースデスクトップでInterBase(バージョン7)
のテーブルを作成しようとしています。
テーブルの新規作成でInterBaseを指定してLONG型などはテーブル作成
できるのですがDATE型で作成しようとすると「テーブル作成要求が無効です」
というエラーがでるのですがDATE型は作成できないのでしょうか。
ヘルプによれば、できるように書いてありました。
どなたかよろしくお願い致します。
0054デフォルトの名無しさん
2005/06/11(土) 15:35:26それからDBに関してはinterbaseスレやfirebirdスレ(DB板)の方が
レス付き易いと思うぞ。
0055デフォルトの名無しさん
2005/06/11(土) 15:37:150056デフォルトの名無しさん
2005/06/16(木) 15:14:59どうすればいいですか?
0057デフォルトの名無しさん
2005/06/17(金) 03:38:33それはあなたが馬鹿だからです。
0058デフォルトの名無しさん
2005/06/17(金) 06:57:47Secure Hash Algorithmを使いたい場合、何かよい方法はないでしょうか?
0059デフォルトの名無しさん
2005/06/17(金) 08:10:21どういうコンポをどういう手順でインストールしたらどうなった、を書いたら誰かアドバイスしてくれかも。
>>58
MD5にしてもSHAにしてもRFCにサンプルコードが載ってるから、そのまま使えばいいんでねーの?
0060デフォルトの名無しさん
2005/06/23(木) 16:52:37入る動作はOnMouseMove内に書けば良さそうなのですが、出るときに反応する方法がわかりません。
より具体的にはJavaScriptで言うところのonMouseEnterとOnMouseLeaveイベントを実装したいのです。
0061デフォルトの名無しさん
2005/06/23(木) 20:55:23Win32APIのGetCursorPos()でマウスカーソル座標見張って
パネルの占める位置と常に比較すれば?
0062デフォルトの名無しさん
2005/06/23(木) 21:02:43TPanelを囲んでるコントロールのOnMouseMoveで見張るとか。
TPanelからマウスカーソルが外へ出れば、TPanelを置いてあるTFormとかに
マウスイベントが来るでしょ
0063デフォルトの名無しさん
2005/06/23(木) 21:46:19場合によって来ないケースがあったような気がしなくもない。
0064デフォルトの名無しさん
2005/06/24(金) 00:36:44APIのGetCapture()で返り値がパネルのHandleのときが
マウスカーソルがパネル上にあると判断すればいいのではないでしょか?
0065デフォルトの名無しさん
2005/06/26(日) 03:17:530066デフォルトの名無しさん
2005/06/26(日) 05:18:35シングルクリックのあとダブルクリックイベントが来るまでの時間
何もしないようにすればいい、ダブルクリックイベントが結局こなかったら
シングルクリックの動作を行えばいい
これだとシングルクリック時の動作開始が遅れることになるが
0067デフォルトの名無しさん
2005/07/09(土) 02:58:43英語と日本語を選択し、ウィザードを最後まですすめ、完了したのですが、
ここから、どうやって英語版のフォームを表示するのかがわかりません。
どなたか教えていただけないでしょうか?
それから、英語版Windowsに作成したプログラムを持って行けば、
自動的に英語版のフォームが選択されるのでしょうか?
それとも手動で選択してやる必要があるのでしょうか?
0068デフォルトの名無しさん
2005/07/09(土) 16:32:18ことは可能でしょうか??
現在使用しているのはAccessのDriverです。
ADOとかでできるようなのですが、Builderで取り込むときに
TTableあたりと名前がぶつかってだめでした。
できないようであれば他の方法を考えますが、ご存知の方が
おられれば後教授お願いいたします。
0069age
2005/07/09(土) 18:01:27C++Builder6に限った話ですが、この部分の機能に不具合があって、そもそも表示できなかったかも。
0070レイナ
2005/07/12(火) 23:44:070071デフォルトの名無しさん
2005/07/13(水) 00:16:440072レイナ
2005/07/13(水) 00:35:230073デフォルトの名無しさん
2005/07/13(水) 03:10:54OnMouseMoveイベントハンドラで
左ボタンが押されてるときだけ
マウス位置の移動分
Left, Topを書き換えてやる
0074レイナ
2005/07/13(水) 05:06:28struct A { virtual void f(); };
struct B { virtual void f(); };
struct C: public A, public B {};
C* pc = new C;
pc->f(); // (1) A::f() と B::f() のどちらか分からないのでコンパイルエラー
A* pa = pc;
pa->f(); // (2) A::f() がコールされる
B* pb = pc;
pb->f(); // (3) B::f() がコールされる
struct D: public A, public B { virtual void f(); };
D* pd = new D;
pd->f(); // (4) D::f() がコールされる
pa = pd;
pa->f(); // (5) D::f() がコールされる
pb = pd;
pb->f(); // (6) D::f() がコールされる
struct C の仮想関数テーブルの f() のエントリはどうなっているのでしょう?
派生クラスが仮想関数をオーバライドしない場合、このエントリは基底クラスの
関数ポインタがそのままコピーされると思います。しかし、A::f と B::f のど
ちらを採用すべきかコンパイル時に決定できないはずです。
ところが上記(2)のように、動的型が struct C であっても、静的型を struct A
とするとコンパイルが通り A::f() がコールされます。動的型の struct C の仮
想関数テーブルの f() のエントリは決定できていないはずなのに、何故 (2)(3)
のような呼び分けができるのでしょう?
実際 struct D のように f() をオーバライドすると、静的型に関係なく動的型
の仮想関数がコールされるので、f() のエントリは1つだと思うのですが。
どういうカラクリになっているのでしょう?
0075デフォルトの名無しさん
2005/07/13(水) 07:31:38多重継承するとその分だけ仮想関数テーブルが作られる。
だからstruct C/Dではstruct Aとstruct Bの両方のテーブルが存在する。
テーブルのA::fの部分にA::f()、B::fにはB::f()が入れられる。
struct DだとテーブルのA::fとB::fの両方にD::fが入れられる。
0076デフォルトの名無しさん
2005/07/13(水) 15:38:250077デフォルトの名無しさん
2005/07/13(水) 20:17:280078デフォルトの名無しさん
2005/07/13(水) 20:37:400079デフォルトの名無しさん
2005/07/23(土) 21:47:470080デフォルトの名無しさん
2005/07/23(土) 23:22:170081デフォルトの名無しさん
2005/07/25(月) 09:23:270082デフォルトの名無しさん
2005/07/28(木) 17:05:44C++Builder6#4を使用しておりますが、全画面アプリを作成するには
どのようにしたらよろしいのでしようか?
FormのAlignをalClientとすると確かに全画面にはなるのですが、これではなく、
モニタの解像度を変更して全画面表示を出来ればと思います。
どうか宜しくお願い致します。
0083デフォルトの名無しさん
2005/07/28(木) 21:45:50ChangeDisplaySettings
008482
2005/07/29(金) 15:27:37解像度の変更はできました!
int FCount = 0;
DEVMODE DevMode;
// 使用可能な解像度を調べる
while(EnumDisplaySettings(NULL, FCount, &DevMode)){
FCount++;
// 希望の解像度かどうか
if(DevMode.dmPelsWidth == 800 && DevMode.dmPelsHeight == 600){
ChangeDisplaySettings(&DevMode, CDS_FULLSCREEN);
break;
}
}
そして新たに2つの疑問がでました・・・_| ̄|○
1、全面にアプリを表示できない?
2、IMEバーが解像度につられて位置が変わる
ゲームではないのですが、ゲームで行っているような全画面表示に
したいのですが、どのようにすればよいのでしょうか?
008582
2005/07/29(金) 15:38:16256色で表示されてるっぽ
0086デフォルトの名無しさん
2005/07/29(金) 19:27:31全面に表示するのは
Form1->BorderStyle = bsNone;
Form1->BoundsRect = TRect(0, 0, 800, 600);
かな?
ゲームなんかは大概 DirectDraw の SetCooperativeLevel と SetDisplayMode 使ってるんでないかな。
0087デフォルトの名無しさん
2005/07/31(日) 16:36:04”[リンカ 致命的エラー] Fatal: ファイル名が必要 :”
って出るんですが、何がいけないのか分かりません。
0088デフォルトの名無しさん
2005/07/31(日) 17:01:46存在するなら、BCB6 の最新のパッチを当ててからもう一度。
0089デフォルトの名無しさん
2005/07/31(日) 17:19:02>>87
BCBのインストール先や、プロジェクトを保存してるフォルダ名に"+"や"-"が入ってたりしない?
0090デフォルトの名無しさん
2005/07/31(日) 19:56:14あ、+が入ってました。なるほどどうも。
0091デフォルトの名無しさん
2005/07/31(日) 19:59:30携帯 でのアクセスについて
■とりあえずスレッドを読むには■
人大杉についてもっと詳しく知りたい
お願い。
くれぐれもメールで問い合わせ無いようにして下さい。
009282=84
2005/08/01(月) 15:38:38亀ですみませんでした。
ひとまず>>86の指示通りで全面表示できました。
色についてはEnumDisplaySettings()のチェックを
// 希望の解像度かどうか
if( (DevMode.dmPelsWidth == 800) && (DevMode.dmPelsHeight == 600) &&
(DevMode.dmBitsPerPel == 32) && (DevMode.dmDisplayFrequency == 75)) {
とやった結果、32Bit色と周波数のチェックもできました。
どうやら、IMEバーについては、解像度を戻す時に
ChangeDisplaySettings(&temp, 0);
とやっているのが原因っぽかったです。
&tempは解像度変更前に保存しているステータス
何もしなくても、そのままアプリを終了させれば元に戻るんですね。
とりあえずこれで理想的なものはできそうです!
ありがとうございました。
0093デフォルトの名無しさん
2005/08/03(水) 16:33:22作業しているディレクトリには、icon1.ico、test.cpp、test.exe、test.obj、test.rc
があります。
Borland C++ builder 6.0 Professionalで
bcc32 -W test.c でコンパイルした後、
brc32 test.rc test.exeとリソースを実行ファイルに結合します。
リソースのコンパイル、リンクではエラーも何もなしに成功します。
test.exe で実行してみるとアイコンが表示されません。
しかし、Borlandの無料配布されているコンパイラで
同じようにコンパイルした後、リソースをbrc32 test.rc test.exeで結合
するとうまくタイトルバーにアイコンが表示されます。
Professionalで生成した実行ファイルもリソースがちゃんとリンクされていないのか
ファイルサイズも小さいです。
C++ builderのbcc32のバージョンは、5.6.4です。
無料のコンパイラの方は、5.5.1です。
OS:windows XPです。
0094デフォルトの名無しさん
2005/08/03(水) 17:22:53チラシの裏?それとも質問?
0095デフォルトの名無しさん
2005/08/03(水) 18:12:3393です。質問です。チラシの裏とはなんでしょうか?
0096デフォルトの名無しさん
2005/08/03(水) 19:01:56それはともかく、キンタマの裏は見たことある?
0097デフォルトの名無しさん
2005/08/03(水) 20:17:02状況はわかった
質問は何?
0098デフォルトの名無しさん
2005/08/03(水) 20:30:06質問は、borland c++ builder 6.0 Professionalのbcc32とbrc32を使って
実行ファイルにリソースのリンクがうまくできないのはなぜですか?
ということです。
0099デフォルトの名無しさん
2005/08/04(木) 00:20:34こっち
C++Builder相談室 Part14
ttp://pc8.2ch.net/test/read.cgi/tech/1116460578/l50
0100デフォルトの名無しさん
2005/08/04(木) 11:47:45チラs(ry
つttp://ja.wikipedia.org/wiki/2%E3%81%A1%E3%82%83%E3%82%93%E3%81%AD%E3%82%8B%E7%94%A8%E8%AA%9E
0101デフォルトの名無しさん
2005/08/06(土) 00:42:51http://yuukiremix.s33.xrea.com/chirashi/
0102デフォルトの名無しさん
2005/08/15(月) 13:01:48スレッドの練習なんですが、例としてForm1にLabel1とButton1を置いて
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
TestThread *theThread;
theThread = new TestThread(true);
theThread->FreeOnTerminate = true;
theThread->Resume();
Label1->Caption = IntToStr(i);
}
//---------------------------------------------------------------------------
とし、
スレッドには
//---------------------------------------------------------------------------
void __fastcall TestThread::Execute()
{
// TODO : スレッドとして実行したいコードを以下に記述 */
i++;
}
//---------------------------------------------------------------------------
として、ボタンを押すごとにiをインクリメントしてLabel1に表示したいのですが
どうなおせばいいですか
0103デフォルトの名無しさん
2005/08/15(月) 13:44:24変数のスコープとか生存期間とか、その辺を勉強してくれ。
0104デフォルトの名無しさん
2005/08/15(月) 14:05:06それを教えてください
0105デフォルトの名無しさん
2005/08/15(月) 16:30:28「この場合は」に限定して書いてやればヨロシ
わざわざ意地悪する必要無し
0106デフォルトの名無しさん
2005/08/15(月) 17:28:040107デフォルトの名無しさん
2005/08/15(月) 17:56:21int i; なぞ使わず、LabelのCaptionプロパティそのまま使えばいいでしょ。
但しSynchronizeメソッド通しとけよ。VCLはマルチスレッド対応じゃないから。
0108デフォルトの名無しさん
2005/08/15(月) 17:58:12或いはスレッド側でラベル読取・演算・ラベル書き換えすれば?
0109デフォルトの名無しさん
2005/08/16(火) 10:01:48書き間違いを"typo"と呼ぶのは何故ですか?
0110デフォルトの名無しさん
2005/08/16(火) 10:49:030111デフォルトの名無しさん
2005/08/16(火) 18:20:550113デフォルトの名無しさん
2005/08/17(水) 16:51:500114デフォルトの名無しさん
2005/08/17(水) 20:06:34AnsiStringのポインタのポインタでシミュレートすればどう?
生成と解体が面倒だが。継承して新しいStringクラスを作る事が
できないのが痛いね。
0115デフォルトの名無しさん
2005/08/17(水) 21:39:05AnsiStringって2次元配列にしちゃまずいの?
0116デフォルトの名無しさん
2005/08/17(水) 21:49:36確かにそうだよな。
0117デフォルトの名無しさん
2005/08/18(木) 06:55:07くだスレレベルを超えてません?
>>115-116
やってみてください
0118デフォルトの名無しさん
2005/08/18(木) 07:30:31やってみて一見何ともないようだから聞いてみたんだ。
0119デフォルトの名無しさん
2005/08/18(木) 07:41:04当方問題ありでした
つまり、それぞれに異なる文字列を格納できませんでした
0120デフォルトの名無しさん
2005/08/18(木) 07:50:42えー…そんなことないけど。どういうコード?
0121デフォルトの名無しさん
2005/08/18(木) 11:56:18AnsiStringクラスにoperator[]が定義されているのが原因って事じゃね?
0122デフォルトの名無しさん
2005/08/18(木) 12:08:09それは何の問題もないと思うんだけどねー…。
でも>>113-114みると、周知の事実っぽいから気になる。
0123デフォルトの名無しさん
2005/08/18(木) 12:24:20>でも>>113-114みると、周知の事実っぽいから気になる。
んなわけねえって。二人そろって勘違いしてるだけ。
>>119
おまえのその問題ありのコード晒せ。どうせお前が間違ってるんだ。
0124デフォルトの名無しさん
2005/08/18(木) 13:45:400125119
2005/08/18(木) 15:51:01マジで二次元で文字列格納できます?
自分は一文字しか格納できんかったですよ
0126デフォルトの名無しさん
2005/08/18(木) 16:11:00MemoコンポーネントをFormに2個貼り付けて以下のイベントを書いた。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString text[2][2] = {"abcdef", "defghi", "ABCDEF", "DEFGHI"};
Memo1->Lines->Add(text[0][0]);
Memo1->Lines->Add(text[0][1]);
Memo2->Lines->Add(text[1][0]);
Memo2->Lines->Add(text[1][1]);
}
結果:ちゃんとMemo1には小文字の2つが、Memo2には大文字2つがちゃんと
文字列で表示できた。当たり前だが。
0127デフォルトの名無しさん
2005/08/18(木) 16:35:08>マジで二次元で文字列格納できます?
>自分は一文字しか格納できんかったですよ
なんか無茶苦茶なことをしている御燗
0128119
2005/08/18(木) 23:44:00WideStringにしたらできました
逝ってきます
0129デフォルトの名無しさん
2005/08/19(金) 00:04:32詳しく説明しる!
0130デフォルトの名無しさん
2005/08/19(金) 00:08:25質問して少なからずレスをもらったんだから
自己解決したにせよ、きちんと経緯を報告すべきだぞ。
それをしないのは単なる教えて君ってことだ。
0131119
2005/08/19(金) 00:54:22逝ったヲイラがゾンビになって戻ってきましたよ
冗談はともかく
って、あれ?
今はAnsiStringに戻してもできてしまった・・・
なぜ?
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString as[2][2];
as[0][0] = "あいうえお";
as[0][1] = "かきくけこ";
as[1][0] = "さしすせそ";
as[1][1] = "たちつてと";
int i=0;
int j=0;
while(i<2)
{
for(j=0;j<2;j++)
{
Memo1->Lines->Add(as[i][j]);
}
i++;
}
}
でした。
0132119
2005/08/19(金) 00:55:47で、昨日の結果(Memo1)は
あ
か
さ
た
とだけ・・・
今は
あいうえお
かきくけこ
さしすせそ
たちつてと
と・・・
0133デフォルトの名無しさん
2005/08/19(金) 01:25:54になってたとか。
0134デフォルトの名無しさん
2005/08/19(金) 08:23:55文字列リストは二次元化できる?
今までタブ区切りでごまかしてきたけど
いい加減面倒になったので
0135デフォルトの名無しさん
2005/08/19(金) 09:19:33何でStringList使わないの?
0136134
2005/08/19(金) 10:13:30携帯でアルファベット打つの億劫だから文字列「リスト」って書いたんだけど…
文字列リストってストリングリストのことじゃなかったっけ?
間違ってたらごめん
で、ストリングリストのストリング[]に更に配列が加わらないものかと
0137デフォルトの名無しさん
2005/08/24(水) 08:57:490138デフォルトの名無しさん
2005/08/24(水) 09:18:130139デフォルトの名無しさん
2005/08/24(水) 22:25:390140デフォルトの名無しさん
2005/08/24(水) 22:59:13クラスの宣言の中で定義された関数は、デフォルトでインライン展開の対象に
なるが、switch、for等を含むと、BCBではそういう警告が出る。
もちろんC++の規格上、インライン展開を全くしなくても違反ではないが、
ユーザの意図しないコンパイルのされ方を防止するためにそのような警告が
出るようになってる。
0141デフォルトの名無しさん
2005/08/26(金) 14:20:26なんかこう、BCBらしい終わり方があるんじゃないかと思うのですが
0142デフォルトの名無しさん
2005/08/26(金) 14:35:50確保した領域:char *pBuf = new char[30000];
下記が構造体のデータ
typedef struct __tagGRCMND
{
USHORTsCommandCode;
USHORTsResultCode;
USHORTsSize;
BYTEcData[ 1 ];
}GRCMND;
typedef GRCMND* LPGRCMND;
環境win2000 VC++6.0 です。よろしくお願いします。
0143デフォルトの名無しさん
2005/08/26(金) 17:39:14初めからGRCMND *pGrcmnd = new GRCMND;でいいじゃんというのはさておき、
GRCMND *pGrcmnd = reinterpret_cast<GRCMND *>(pBuf);としてここへ書き込めばいいだろ。
0144デフォルトの名無しさん
2005/08/26(金) 18:49:45new (pBuf) LPGRCMND;
0145デフォルトの名無しさん
2005/08/26(金) 19:54:11CType1 CType2・・・のようにそれぞれのクラスに継承させます
アプリの起動時にCObjectとしてオブジェクトを生成し
CObject* pObj = new CObject[10];
リストなどに連結させオブジェクトプールのようにして
使用時にはプールから抜き取って
CType1などのオブジェクトとして使用したいのですがそのようにするには
どのようにすればいいのでしょうか?
0146145
2005/08/26(金) 20:12:28イメージとしては
std::list<CObject> lObj; //未使用オブジェクトプール用
std::list<CObject> lType; //使用オブジェクトリスト
lObjにオブジェクトプールとして連結させておいて
使用する必要ができた場合にlObjから抜き出して
CType1としてlTypeに追加してCTlype1のオブジェクトとして
使用することは可能でしょうか?
0147デフォルトの名無しさん
2005/08/26(金) 20:27:28CObjectはCType1の親で、プールされてる各インスタンスはCObjectとして生成されてる?
プールがどうこうより、CObjectとして作られたインスタンスをCType1として使っちゃ駄目だろう。
0148デフォルトの名無しさん
2005/08/26(金) 23:42:03作成したexeファイルは、BuilderをインストールしていないWindowsマシン上でも動くのでしょうか?
0149デフォルトの名無しさん
2005/08/27(土) 00:31:13実行時ランタイムを使用しないように指定してコンパイルすればヲケ。
具体的には
プロジェクト→オプション→パッケージ→実行時パッケージを使用して構築
→リンカ→共有 RTL DLL を使う
この両方をキャンセルする。
なお、personal版はライセンスで再配布に制限があるので注意。
0150デフォルトの名無しさん
2005/08/27(土) 02:36:420151デフォルトの名無しさん
2005/08/27(土) 02:40:400152デフォルトの名無しさん
2005/08/27(土) 02:42:390153デフォルトの名無しさん
2005/08/29(月) 08:56:380154デフォルトの名無しさん
2005/08/29(月) 11:24:15Form2->ShowModal();
もしくは
Form2->Show();
#include "Unit2.h"を忘れずに
0155デフォルトの名無しさん
2005/08/29(月) 21:36:03TDateTimeやStrToDateなどでググッてはみたのですが、それらしい情報が見つかりません。
お願いします。
0156デフォルトの名無しさん
2005/08/29(月) 22:01:18例えば今から2005/9/1 0:00 までの日数は
#include <DateUtils.hpp>
DaysBetween(Now(), EncodeDateTime(2005, 9, 1, 0, 0, 0, 0)); // 整数で (2日)
DaySpan(Now(), EncodeDateTime(2005, 9, 1, 0, 0, 0, 0)); // 実数で (2.084…日)
0157デフォルトの名無しさん
2005/08/29(月) 22:50:28TDateTime someday, anyday; //適当に値を設定
int sub = (int)anyday - (int)someday;
0158デフォルトの名無しさん
2005/08/29(月) 22:57:43日付またぐ時と、そうでない時とで1日の数え方が変わってる
0159デフォルトの名無しさん
2005/08/29(月) 23:15:110160デフォルトの名無しさん
2005/08/29(月) 23:34:49まぁ、質問者がどっちの結果を望んでるかだな。
0161デフォルトの名無しさん
2005/08/30(火) 00:12:32即レス感謝です!! Editなどに日付を入力するので、次のような形にしてみました。
なんていうか、うまいやり方が思いつきません。_| ̄|○
if(Now()<EncodeDateTime(yd,md,dd,0,0,0,0))
cntdn=DaysBetween(Now(),EncodeDateTime(yd,md,dd,0,0,0,0))+1;
else if(DaysBetween(Now(),EncodeDateTime(yd,md,dd,0,0,0,0))==0)
cntdn="今日";
else
cntdn="過ぎた";
0162デフォルトの名無しさん
2005/08/30(火) 00:25:34何がしたいか日本語で明確に質問して。
使用するコンポーネント、変数の型と用途もきちんと書くべし。
0163デフォルトの名無しさん
2005/08/30(火) 00:39:16何がしたいのかよく分からんが例えば
TDateTime target; //これは適当に設定する
int sub = (int)target - (int)Now(); //現在時刻からの残日数を求める
String mes;
if ( sub > 0 )
mes = Format( "あと%d日", ARRAYOFCONST((sub)) );
else if ( sub == 0 )
mes = "今日";
else
mes = "過ぎた";
ShowMessage( mes );
0164デフォルトの名無しさん
2005/09/01(木) 23:12:13マウスで選択したセルがどれか知るには、どうすればいいでしょうか?
セルを選択した状態でボタンを押すと、Labelにセルの内容を表示みたいなことをしたいのですが。
お願いします。
0165デフォルトの名無しさん
2005/09/01(木) 23:36:080166デフォルトの名無しさん
2005/09/01(木) 23:45:130167デフォルトの名無しさん
2005/09/01(木) 23:51:56TStringGrid::Selectionで取得。
0168デフォルトの名無しさん
2005/09/02(金) 01:06:39ありがとうございます!
0169デフォルトの名無しさん
2005/09/05(月) 12:01:56このページを参考にしてDirectXを試してみたのですが、エラーが出て
きてしまいました。
[リンカ エラー] 外部シンボル 'DirectDrawCreate' が未解決(C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ が参照)
ここに書いてある通りにやっているとは思いますが・・・
解像度のイベントは新規プロジェクトでボタンを貼り付けただけのものでボタンのイベントに書いております。
解決するにはどのようにしたらよろしいのでしょうか?
0170デフォルトの名無しさん
2005/09/05(月) 12:09:09どっかに
#pragma link "ddraw.lib"
って書いてみて
0171デフォルトの名無しさん
2005/09/05(月) 13:47:390172デフォルトの名無しさん
2005/09/05(月) 14:44:08TFormHoge* hoge = new TFormHoge( Owner );
hoge->Show(); // or ShowModal()
0173169
2005/09/05(月) 17:52:31先のテストプロのUnit1.cppに書きました。
そしたら
[リンカ 致命的エラー] Fatal: ファイル DDRAW.LIB が開けません
と出てきました。
大変お手数ですが、再度教えていただけないでしょうか?
0174デフォルトの名無しさん
2005/09/05(月) 18:12:32BCBをインストールしたフォルダのどっかにddraw.libがあるんで、
#pragma link のあとにそのフルパスを指定するか、
プロジェクトオプション」のライブラリパスにddraw.libのあるフォルダのパスを追加するか、
「プロジェクトに追加」でddraw.libを追加。
0175デフォルトの名無しさん
2005/09/05(月) 19:23:36遅まきながら C++Builder Hello World Application in DeXter のデモも拝見しました。
(ttp://www.drbob42.com/cbuilder/)
これを見ると統合の煽りもあってか、ぱっと見C#系というかVisual Studioというか、
フォームを取り巻く環境がが随分と様変わりしているようなのですが、そうなって来ると
今この時点で単独製品としてのBCB6を押さえておく方が良いのかという気にもなってきます。
あるいはここまで来たら新製品のリリースを待つべきなのかどうか、その辺をご教授
頂けないでしょうか。
0176デフォルトの名無しさん
2005/09/05(月) 21:30:39ボーランドのホームページ見たら、
8月末で現行BCB6の販売が終わったようですよ。
0177デフォルトの名無しさん
2005/09/05(月) 21:48:14こらこらいいかげんなこと言わない。
>2005/8/31をもちましてC++Builder 6 StarTeam 2005 Editionの販売を終了いたしました。
他のパッケージはまだ売ってるよ。
0178デフォルトの名無しさん
2005/09/05(月) 21:54:28悪いところは真似しなきゃよかったのにね
0180173
2005/09/06(火) 09:25:31ありがとうございます。
ライブラリパスの設定でコンパイルは通りました。
ただ、また1点問題が…
フルスクリーン化までは成功しているのですが、解像度の変更が
出来ておりません。
当方の簡単な環境ですが、BCB6#4でディスプレイは1600x1200(32bit)です。
他に何かすることがあるのでしょうか?
0181デフォルトの名無しさん
2005/09/06(火) 09:50:04http://sz.sakura.ne.jp/~mimi/uti/kaiharu/08.htm
によると24bppはサポートしてない場合があると書いてるけど、他のモードもだめ?
0182デフォルトの名無しさん
2005/09/06(火) 10:36:20いまどきのモニタなら24bitはサポートしてないでしょ。
8か32でやってみ。
0183180
2005/09/06(火) 10:54:11ありがとうございます。
32bitにしたところ問題無く動作しました。
モニタに依存するものでしたか・・・
>>169で出したページより>>181で教えて頂いたページのほうが
エラーチェックまでしてあって良いですね。
教えて頂きました皆様、ありがとうございました。
0184デフォルトの名無しさん
2005/09/06(火) 14:15:11とりあえず、BCB6は使いやすいから持っとくべし。
次バージョンはDelphiとの統合で重(ry
0185デフォルトの名無しさん
2005/09/07(水) 06:26:330186デフォルトの名無しさん
2005/09/07(水) 10:08:180187デフォルトの名無しさん
2005/09/07(水) 18:54:54class Hoge : public TForm, public Foo
[C++ エラー] Hoge.h(102): E2246 Foo は、抽象およびパブリックの、
データを持たない単一の継承クラス階層ではない
エラーコードをヘルプで調べたら
内部コンパイラエラー。コンパイラがクラス階層に制約を強制することがあります。
この場合,すべてのクラスは抽象クラスであり,
すべてのクラスに親が 1 つだけ存在するという制約になります。
とありました。
TForm + 他のクラスのような多重継承は出来ないのでしょうか?
0188デフォルトの名無しさん
2005/09/07(水) 19:13:20ヘルプより
> C++ と異なり,Object Pascal 言語は多重継承をサポートしません。
> VCL か CLX を派生元にして作成されたクラスも,この制約を継承します。
> つまり,VCL/CLX クラスから直接派生したクラスでなくても,
> VCL スタイルの C++ クラスは複数の基本クラスを使用できません。
0189デフォルトの名無しさん
2005/09/07(水) 19:33:01> C++ で多重継承を使うケースの多くは,Object Pascal コードではインターフェースで代用できます。
> 純粋仮想関数だけを持ち,データメンバーを持たないクラスがある場合,
> C++Builder のコンパイラは,これを Object Pascal のインターフェースに対応するクラスとして認識します。
> このように,VCL スタイルクラスを作成して,多重継承を使用することが可能です
0190187
2005/09/07(水) 23:45:57ありがとうございます。
共通のインターフェースを実装することが目的だったので
助かりました。
前回は仮想関数で実装していたので純粋仮想関数にして継承させたらうまくいきました。
純粋仮想関数という機能に気づきませんでした。
0191デフォルトの名無しさん
2005/09/10(土) 10:20:39http://pc8.2ch.net/test/read.cgi/tech/1117225464/l50
0192名無しさん@そうだ選挙に行こう
2005/09/11(日) 18:49:41差異は感じられませんでした。個人的には5か6で十分かなと思います。
今のうちにBCB6proを確保しておくべきです。絶対にあとで後悔するでしょう。
私はデータベース関係のアプリは作らないので、最近になって、personal版も
買いました。起動爆速、CLXなんて使いもしないライブラリがなくてすっきりです。
>>175
0193デフォルトの名無しさん
2005/09/12(月) 05:28:440194デフォルトの名無しさん
2005/09/12(月) 20:55:43起動時の標準コンポーネントからCLXとDB関係を抜けばいいだけな気が‥‥
0195デフォルトの名無しさん
2005/09/13(火) 08:16:57http://makimo.to/2ch/piza2_tech/997/997074601.html
http://makimo.to/2ch/pc3_tech/1016/1016065855.html
http://makimo.to/2ch/pc2_tech/1035/1035596146.html
http://makimo.to/2ch/pc2_tech/1045/1045542179.html
http://makimo.to/2ch/pc5_tech/1054/1054280736.html
http://makimo.to/2ch/pc2_tech/1061/1061594556.html
http://makimo.to/2ch/pc5_tech/1080/1080541814.html
http://makimo.to/2ch/pc5_tech/1089/1089299158.html
http://makimo.to/2ch/pc5_tech/1094/1094749339.html
http://makimo.to/2ch/pc5_tech/1099/1099238936.html
http://makimo.to/2ch/pc8_tech/1108/1108468718.html
0196デフォルトの名無しさん
2005/09/13(火) 16:11:220197デフォルトの名無しさん
2005/09/13(火) 18:35:520198デフォルトの名無しさん
2005/09/16(金) 03:20:490199デフォルトの名無しさん
2005/09/16(金) 07:55:060200デフォルトの名無しさん
2005/09/18(日) 23:55:39どうしてもBCBが200KBほどデカくなる傾向にある。
サイズをできるだけ小さくする方法はないものか
0201デフォルトの名無しさん
2005/09/19(月) 00:30:160202デフォルトの名無しさん
2005/09/19(月) 01:19:30200Kはでかいような、気にしないような微妙なサイズですな
0203デフォルトの名無しさん
2005/09/19(月) 08:30:34>>199
BCBだとCとDelphiの両方のライブラリをリンクするからじゃないの?
解決法は無いと思うよ。
・基本的にDelphiで作って、Cのコードをはobjでリンクする
・圧縮実行ファイルにして誤魔化す
0204デフォルトの名無しさん
2005/09/19(月) 15:32:00DOS版のTurbo Pascalの頃すでにそうだったものね
というかCP/M版でもそうだったんだろか
0205デフォルトの名無しさん
2005/09/20(火) 03:43:08実行時パッケージを使って構築
0206デフォルトの名無しさん
2005/09/20(火) 05:32:16BCB だと *.asm が混じってたから Delphi もそうだと思ってたよ
0207デフォルトの名無しさん
2005/09/20(火) 09:57:52すげえ。ダイナミックリンクしといてファイルサイズが(以下略
0208デフォルトの名無しさん
2005/09/20(火) 12:42:11Turbo Pascalは某が標準PASCALを無視して万能を目指したからだろうね
組み込み屋さんのコードとか見るとasm文のオンパレード
0209デフォルトの名無しさん
2005/09/23(金) 07:00:16並べてみると壮観だね
A list of features in Dexter
http://groups.google.co.jp/group/borland.public.cppbuilder.non-technical/msg/901d7e5f9cb15e40?hl=ja&
0210デフォルトの名無しさん
2005/09/24(土) 02:04:060211デフォルトの名無しさん
2005/09/24(土) 03:30:330212デフォルトの名無しさん
2005/09/24(土) 04:39:38スレ違い。こっち。
Borland C++ BuilderX
ttp://pc8.2ch.net/test/read.cgi/tech/1065260556/l50
0213デフォルトの名無しさん
2005/09/24(土) 15:04:320214デフォルトの名無しさん
2005/09/24(土) 15:17:150215デフォルトの名無しさん
2005/09/24(土) 15:28:05Tがあれば型名。なければ変数名と一目で分かるようになってる。
0216デフォルトの名無しさん
2005/09/24(土) 18:42:490217デフォルトの名無しさん
2005/09/24(土) 20:37:010218デフォルトの名無しさん
2005/09/25(日) 04:07:530219デフォルトの名無しさん
2005/09/25(日) 11:52:00OnMouseUpのイベントと
OnMouseDownのイベントの関数を別にしたいんですが、
プロパティ画面でどちらかを変更するともうかたいっぽも同じ関数になります。
どうすればいいんでしょうか。
0220219
2005/09/25(日) 12:13:570221デフォルトの名無しさん
2005/09/25(日) 13:49:320222デフォルトの名無しさん
2005/09/25(日) 13:55:120223デフォルトの名無しさん
2005/09/25(日) 14:13:00スペイン語で”5”の事では?
0224デフォルトの名無しさん
2005/09/25(日) 15:31:210225デフォルトの名無しさん
2005/09/26(月) 13:17:05選択してTab押したら消えた。
0226デフォルトの名無しさん
2005/09/26(月) 13:39:38Shift+Ctrl+I で字下げ
Shift+Ctrl+U で地上げ
0227デフォルトの名無しさん
2005/09/26(月) 21:53:17http://homepage1.nifty.com/fuu/software/nonfreecursor.htm
フリーカーソル無効化&Tab/Shift+Tabで字上げ/字下げIDEコンポ
0228デフォルトの名無しさん
2005/09/28(水) 23:50:14http://pc8.2ch.net/test/read.cgi/tech/1117225464/l50
0229デフォルトの名無しさん
2005/09/29(木) 17:16:33Edit1->Text = (押されたボタン->Caption);
って動作がしたいんだけど、上手くまとめる方法はないですかねえ?
0230デフォルトの名無しさん
2005/09/29(木) 17:23:090231デフォルトの名無しさん
2005/09/29(木) 17:26:300232デフォルトの名無しさん
2005/09/29(木) 17:35:01例えばボタンが100個に変更されても、
200個に変更されても、ソースの修正点が少なくてすむような、
そんなまとめかたをしたいのです。
0233デフォルトの名無しさん
2005/09/29(木) 17:43:20別に複数のコンポーネントが1つのイベントハンドラを共有していても問題ないが。
押されたボタンのキャプションはSenderから取得できる。
0234デフォルトの名無しさん
2005/09/29(木) 17:45:12動的にボタンを生成するという意味ならループまわして>>230が一番簡単だよ。
0236デフォルトの名無しさん
2005/09/29(木) 17:59:07Edit1->Text = bttn->Caption;
0237デフォルトの名無しさん
2005/09/29(木) 18:10:59これがしたかったんです!
ありがとうございました。
…っていっても、文見てもどんな動作してるのか分からないので、
もうちょっと検索してみます。
0238デフォルトの名無しさん
2005/09/30(金) 00:05:230239デフォルトの名無しさん
2005/09/30(金) 00:16:32DLLにすれば?
0240デフォルトの名無しさん
2005/09/30(金) 00:30:53アホ
>>237
まずユニットのヘッダのClass{ }の外側に
extern "C" void a(int b);
みたいに宣言する。
でその関数の実体をユニットのソースに
void a(int b){
・・・
}
みたいに書く。これでOK。
0241デフォルトの名無しさん
2005/09/30(金) 00:55:32素直にヘッダファイル使え
0242240
2005/09/30(金) 00:56:30その関数を呼び出すフォームで #includ "Unit〜.h" みたいにインクルードしてから呼ぶべし。
0243デフォルトの名無しさん
2005/09/30(金) 01:17:580244デフォルトの名無しさん
2005/09/30(金) 01:44:37#ifndef HOGE_H
#define HOGE_H
#pragma link "hoge"
int hoge( void ); //関数の宣言
#endif
//ソースファイル hoge.cpp
int hoge( void ) //関数の定義
{
return 0;
}
そしてhoge()を使用したいフォームのソースに #include "hoge.h"を追加
…回答するやつにも超初心者がちらほらするこのスレ。
0245デフォルトの名無しさん
2005/09/30(金) 05:57:210246デフォルトの名無しさん
2005/09/30(金) 07:08:14一体そのヘッダでどんな関数が書けるのかな、1+1とかかな。ネタだよな。
0247デフォルトの名無しさん
2005/09/30(金) 08:17:10ただしhoge.cppをプロジェクトに追加するか、
事前にhoge.cppのみコンパイルしておくか。
後者の場合プロジェクトに追加する必要はないが
リンカにパスが通ってる必要はある。
pragma指令にパスを含めるのでもヲケ。
0248デフォルトの名無しさん
2005/09/30(金) 09:45:43どうもうまくいきません、この手の参考書も少なく困っています
何か良い参考書またはプログラムの見本の様な物が掲載されている
サイトがありましたらご教授御願いします。
0249デフォルトの名無しさん
2005/09/30(金) 09:54:06http://www.tt.rim.or.jp/~rudyard/torii009.html
こことかどうよ?
0250デフォルトの名無しさん
2005/09/30(金) 09:58:39プロジェクトの追加はあまりよろしくない。
この場合だとhoge.cppが絶対パスでプロジェクトに追加されるっぽい。
もしエディタ等で作成したソースをプロジェクトに組み込みたい場合は
ユニットの新規作成をして、ファイル名を追加したいものと同じにする。
んで、ファイルを上書きすればおk。
0251デフォルトの名無しさん
2005/09/30(金) 10:13:17間違いを指摘するのはいいことだ。
だがここは”くだすれ”だから回答もしようジャマイカ
>>248
ttp://www.moriq.com/delphi/CommX106.lzh
これでも使っとけ
0252デフォルトの名無しさん
2005/09/30(金) 22:28:24ご「教授」ありがとう御座います
何とか出来間に合いそうです感謝しています
0253デフォルトの名無しさん
2005/10/02(日) 07:58:37ServerSocketなどでマルチスレッドを使う場合、
グローバル変数の競合が発生するらしく、
TThreadListを使うと書いてあったのですが、これはあるスレッドで、
TList *pList = MyThreadList->LockList();
とすると、他のスレッドでは、
MyThreadList->UnlockList();
としない限り、
TList *pList = MyThreadList->LockList();
の*pListは無効ということですか?
0254デフォルトの名無しさん
2005/10/02(日) 11:02:59そのようなことがないようにロックされているときは、アンロックされるまで待つんでしょ。
他のスレッドで変更して良いのか?ロックしたスレッドがアンロックしなければ意味がないと思うが?
セマフォとかも勉強したら良いんじゃね?
0255デフォルトの名無しさん
2005/10/02(日) 12:00:13ミューテックス
デッドロック
0256デフォルトの名無しさん
2005/10/02(日) 17:32:51ありがとうございます。
TThreadListは初めて使うので、使い方を確認したかったのです。
スレッド1でロックしてあると、
スレッド2で TList *pList = MyThreadList->LockList(); としても、
正しいポインタは帰ってこないのかなと。
0257デフォルトの名無しさん
2005/10/03(月) 06:50:380258デフォルトの名無しさん
2005/10/03(月) 07:29:160259デフォルトの名無しさん
2005/10/03(月) 11:40:14それともTOpenDialog以外を使わなければいけないのですか?
0260デフォルトの名無しさん
2005/10/03(月) 11:43:38SelectDirectory ちゅう関数でフォルダ選択ダイアログだせるよ
0261デフォルトの名無しさん
2005/10/03(月) 11:57:17ありがとうございます。できました。
0262デフォルトの名無しさん
2005/10/03(月) 15:21:070263デフォルトの名無しさん
2005/10/04(火) 17:00:330264デフォルトの名無しさん
2005/10/04(火) 17:04:200265デフォルトの名無しさん
2005/10/04(火) 17:14:15�dクス
sparみたいなのってないのか?
0266デフォルトの名無しさん
2005/10/04(火) 19:29:22∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< spar
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ superダロ
0267デフォルトの名無しさん
2005/10/05(水) 10:39:55こんな感じでどうよ?
http://2ch2.net/.l?=3wel
0268デフォルトの名無しさん
2005/10/05(水) 20:50:02http://www.hawaiians.co.jp/
こんなのは?
0269デフォルトの名無しさん
2005/10/06(木) 14:34:05reg->WriteBool( "aaaa", true );
で書き込んだキーをDeleteKeyするとエラーになって消せません
reg->DeleteKey( "aaaa" );
どうすれば消せるようになりますか?
0270デフォルトの名無しさん
2005/10/06(木) 14:44:26それDeleteKeyじゃなくてDeleteValueじゃね?
0271デフォルトの名無しさん
2005/10/06(木) 15:51:57あ、そっちでしたか。試してみます
0272デフォルトの名無しさん
2005/10/07(金) 00:16:04確実に解放するEnd関数みたいなのは無いんでしょうか。
0273デフォルトの名無しさん
2005/10/07(金) 00:26:400274デフォルトの名無しさん
2005/10/11(火) 01:42:100275デフォルトの名無しさん
2005/10/11(火) 02:08:440276デフォルトの名無しさん
2005/10/11(火) 16:46:17任意ですとデータ系列の追加を手動ではなく
プログラム上で行う必要があるようなのですがその手法が分かりません。
どなたか教えていただけますでしょうか?
例えばhoge[100][30]とかだったらグラフを1〜100までの間で任意の数表示できるようにしたい。
ということです。
0277デフォルトの名無しさん
2005/10/11(火) 17:20:35グラフは自分で描いてるならどうにでもなるんじゃないの
0278デフォルトの名無しさん
2005/10/11(火) 17:21:42GroupBox2にPanelを貼り付けた時にPanelの最上位のParentがTabSheet1だと簡単に取得する方法はありますか?
0279デフォルトの名無しさん
2005/10/11(火) 17:36:34TabSheet1 も子ウィンドウで TPageControl が親、さらにその親がフォームなわけだが
0280デフォルトの名無しさん
2005/10/11(火) 18:47:52フォームはOwnerにあるからいい
0281デフォルトの名無しさん
2005/10/11(火) 19:39:130282デフォルトの名無しさん
2005/10/11(火) 19:53:22>Panelの最上位のParentがTabSheet1だと簡単に取得する方法
1.PanelがTabsheet1以下のコントロール群の一員であることを確認する。
2.Panelの所属しているコントロールの上位にあるはずのTTabSheet型コントロールのポインタを取得する。
どっちの意味?
0283デフォルトの名無しさん
2005/10/11(火) 20:10:530284デフォルトの名無しさん
2005/10/11(火) 20:41:012.つ[dynamic_cast]
0285デフォルトの名無しさん
2005/10/11(火) 21:20:12Delphi だとこれでうまくいく
function FindParentTabSheet(ctl: TControl): TTabSheet;
var
oya: TWinControl;
flag: Boolean;
begin
flag := false;
repeat
oya := ctl.Parent;
flag := (oya is TTabSheet) or (oya = nil);
ctl := oya;
until flag;
result := TTabSheet(oya);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ts: TTabSheet;
begin
ts := FindParentTabSheet(Panel1);
if Assigned(ts) then
Label1.Caption := ts.Name
else
Label1.Caption := 'not found';
end;
0286デフォルトの名無しさん
2005/10/11(火) 21:24:210287デフォルトの名無しさん
2005/10/11(火) 21:55:59それをC++に読み替えできるようなやつがここで質問するか?
0288デフォルトの名無しさん
2005/10/11(火) 22:00:00回答できる人は翻訳ぐらいできるだろ。文句あるなら回答しめせよ。
0289デフォルトの名無しさん
2005/10/11(火) 22:13:21そもそも、DelphiをC++に翻訳できる人間が
その程度のコード自力で書けないと思ってるわけ?
0290デフォルトの名無しさん
2005/10/11(火) 22:22:180291デフォルトの名無しさん
2005/10/11(火) 22:23:480292デフォルトの名無しさん
2005/10/11(火) 22:30:25先にこんな話題が出るわけないじゃん。
あとから言うのは当然。
それを後付の屁理屈みたいに貶めようとしても無駄。
0293デフォルトの名無しさん
2005/10/11(火) 23:11:52念のために言っておくと、>>285のコードをC++に翻訳しようとすると、
実は詰まってしまう個所がある。その答え(の1つ)が>>284にあるわけで、
それが見抜けないで>>290って言ってる様じゃ寒い罠。
0294デフォルトの名無しさん
2005/10/11(火) 23:15:070295デフォルトの名無しさん
2005/10/11(火) 23:15:460296デフォルトの名無しさん
2005/10/11(火) 23:52:260297デフォルトの名無しさん
2005/10/11(火) 23:56:510298デフォルトの名無しさん
2005/10/11(火) 23:57:35かつDelphiで書かれてるOpenJaneとかはオープンソースだから
Delphi読めるようになると結構勉強になる。
0299デフォルトの名無しさん
2005/10/12(水) 00:00:41C++はその百倍は資産があるよ。
0300デフォルトの名無しさん
2005/10/12(水) 00:03:150301デフォルトの名無しさん
2005/10/12(水) 00:06:09Delphiで書けと言われると厳しいが。
BCB使ってるとVCLのソースを読む必要に駆られることが多いから
読むだけならそのうち自然に覚えちゃう。
0302デフォルトの名無しさん
2005/10/12(水) 00:13:22Delphiの上に成り立ってるんだから当然と言えば当然だけど。
0303デフォルトの名無しさん
2005/10/12(水) 00:30:480304デフォルトの名無しさん
2005/10/12(水) 01:19:09ttp://pc8.2ch.net/test/read.cgi/tech/1091066805/853
0305デフォルトの名無しさん
2005/10/12(水) 11:38:130306デフォルトの名無しさん
2005/10/12(水) 13:19:250307デフォルトの名無しさん
2005/10/12(水) 13:46:38jar教えて
0308デフォルトの名無しさん
2005/10/12(水) 13:52:190309デフォルトの名無しさん
2005/10/12(水) 16:33:440310デフォルトの名無しさん
2005/10/13(木) 14:32:240311デフォルトの名無しさん
2005/10/14(金) 00:09:090312デフォルトの名無しさん
2005/10/14(金) 10:41:530313デフォルトの名無しさん
2005/10/14(金) 12:01:06if( SubItem == 4 ) Sender->Canvas->Brush->Color = clRed;
とかすると、SubItem4以降もすべてその色になってしまうんですよ
0314デフォルトの名無しさん
2005/10/14(金) 13:04:190315デフォルトの名無しさん
2005/10/14(金) 14:06:25if( SubItem == 4 ) Sender->Canvas->Brush->Color = clRed;
else Sender->Canvas->Brush->Color = clWindow;
ってやっとりますた
0316デフォルトの名無しさん
2005/10/14(金) 22:25:50else if( SubItem == 5 ) Sender->Canvas->Brush->Color = clBlue;
else if( SubItem == 6 ) Sender->Canvas->Brush->Color = clYellow;
else if( SubItem == 7 ) Sender->Canvas->Brush->Color = clYattaro;
else Sender->Canvas->Brush->Color = clWindow;
0317デフォルトの名無しさん
2005/10/16(日) 11:53:31http://pc8.2ch.net/test/read.cgi/tech/1117225464/l50
0318VIPから失礼します
2005/10/16(日) 12:00:19これもVIPクォリティ?
小学6年生の男女が裸体うp祭り中!!!
VIPになら小学6年生ぐらいは来てるだろ?
http://ex11.2ch.net/test/read.cgi/news4vip/1129427490/
0319デフォルトの名無しさん
2005/10/17(月) 10:57:33お願いします。
0320デフォルトの名無しさん
2005/10/17(月) 11:32:27誘導されてきたようだが、残念ながらスレ違いだ。
画像処理スレあたりに逝け。
相手してもらえるかどうか判らんが。
0321デフォルトの名無しさん
2005/10/17(月) 11:49:07サイトのコンテンツ一つできそうだな
0322デフォルトの名無しさん
2005/10/18(火) 12:46:53BCB6 Personalなんですが、
TToolBarのMenuプロパティに
ファイル(&F)->終了(&X)となっているメニューを指定し、
フォームにはTStringGridを置いています。
実行し、StringGridの上でFキーをおすと
フォーカスがメニューのファイル(&F)に移動してしまいます。
OnKeyPressで処理したいのですが、FとXともにイベントが発生しません。
これをフォーカス移動しないようにできないでしょうか。
よろしくお願いします。
0323デフォルトの名無しさん
2005/10/18(火) 17:18:18..\Borland\CBuilder5\Examples\Internet\Chat
にあるサンプルプログラムで、
1台のPCで、自身のIPに接続し文字入力すると、
ローカルエコーのように入力文字を表示します。
これを別PC(IP)に接続し、2台のPCでチャット
させることは可能なのでしょうか?
0324デフォルトの名無しさん
2005/10/18(火) 17:40:350325デフォルトの名無しさん
2005/10/18(火) 17:44:41たらいまわしで済まないけど、正しい質問先はこちら。
画像処理スレッドその5
http://pc8.2ch.net/test/read.cgi/tech/1127705848/l50
過去ログを読むと、情報はあるかも。以前のログへのリンクもある。
0326323
2005/10/18(火) 17:53:41Address Name に別PCのIP(例:192.168.0.10)を設定して実験してみましたが、
Error connecting to:192.168.0.10
と表示されてしまいます。
ちなみに別PCのIPに対してpingするとtimeoutになります。
192.168.0.10のPCが見えていないようなんですが、なぜなんでしょうか・・・
ご教授ください。よろしくお願いします。
0327323
2005/10/18(火) 17:56:23>>322 Editモードにすればよろしいかと。
0328デフォルトの名無しさん
2005/10/18(火) 18:20:09http://www.tt.rim.or.jp/~rudyard/torii009.html
ここ参考にしてみて
0329323
2005/10/18(火) 18:40:15なんですね。初めて知りました。ご指摘ありがとうございます。
0330322
2005/10/18(火) 18:52:54どもです、これなら大丈夫ですね
ただgoEditingは無効(InplaceEditorが完全に出ないよう)にしたいので
今InplaceEditorを弄ってどうにかできないかとやっています
goEditingがtrueの時にどういうことをしているか分かれば楽なんですが…
0331322
2005/10/18(火) 19:19:49GetEditTextをオーバーライドしてEditorMode = false
でそれっぽく動くみたいです。
助かりました、ありがとうございます。
0332322
2005/10/18(火) 20:03:29orz
どうにもならなかったらメニューをToolBarに置かないようにします
スレ汚しすみませんでした。
0333323
2005/10/18(火) 20:48:08ALT+Fのキー操作で行くものではないのですか。知らなかった。
それとBCB5ではTToolBarにMenuプロパティがなかったりします^^
FormのOnKeyPressを使ったりするのは、スマートな方法では無いですね。
と書きながら思ったのですが、StringGridは本当にフォーカスされたんですよねぇ。
BCB5とBCB6ではえらい違ってるのかしら・・・。
0334322
2005/10/18(火) 23:14:39>>323
通常はそうですよね。
同じフォームにあるTreeViewだと大丈夫なんですが、
StringGridにフォーカスがあるときだけ、単一キーで
OnKeyDownが呼ばれた後にメニューにフォーカスが移動します。
(FormでKeyPreview=trueにしてもFormも同じ)
それっぽい情報が見つからないので 謎です。
こういうときにソース見られるといいんですが
なかなか手がでないです…ううむ
0335デフォルトの名無しさん
2005/10/19(水) 00:09:31コンポーネントパレットに表示されなくなったんだけど、
またパレットに表示させて使うにはどうすればいいですか?
0336デフォルトの名無しさん
2005/10/19(水) 00:12:540337335
2005/10/19(水) 00:21:550338デフォルトの名無しさん
2005/10/19(水) 10:37:31自分の問題は解決したのか?
ひとまずpingしてtimeoutになる以上BCBのせい以前に
環境の問題だわな。
自分のIPアドレス・相手のIPアドレス・火壁・ノートン先生など
確認すべきではなかろうか。
0339デフォルトの名無しさん
2005/10/19(水) 11:28:530340デフォルトの名無しさん
2005/10/19(水) 23:42:32「乱数を30000個ずつ3行発生させるプログラム」がどうしても作れません…。
誰か助けてください…。
0341デフォルトの名無しさん
2005/10/20(木) 00:03:180342デフォルトの名無しさん
2005/10/20(木) 00:35:29こっち
C/C++の宿題を片づけます 51代目
http://pc8.2ch.net/test/read.cgi/tech/1128493272/
0343323
2005/10/20(木) 12:34:49はい>>326のレスで、なんとか自力で・・・と試行錯誤の据え通信が出来ました。
結果はファイヤーウォールの除外にIPをセットしてOKでした。
ただ、数万文字分のデータを一括に受信出来ないのですよ。なんでだろ。
何かのオブジェクトでリミット等が存在するのかな?
AnsiStringは2^31個まで認識可能みたいなのに・・・。
>>339
・・・寂しい(はあと)
0344デフォルトの名無しさん
2005/10/20(木) 14:28:370345デフォルトの名無しさん
2005/10/20(木) 19:59:05試してはいませんが、親フォームのグローバル座標と
子フォームのローカル(?)座標の関係から逆算すれば
良いかと思うのですが・・・どうでしょうか。
0346デフォルトの名無しさん
2005/10/20(木) 20:00:250347デフォルトの名無しさん
2005/10/20(木) 20:23:140348デフォルトの名無しさん
2005/10/21(金) 00:41:09RECT rect;
GetWindowRect( MDIChildWindow->Handle, &rect );
0349デフォルトの名無しさん
2005/10/21(金) 00:41:36MTU関連かな?
0350デフォルトの名無しさん
2005/10/21(金) 14:30:07どうやったらCreateイベントでListViewに反映されますか?
ちなみに、Showではできます。
0351デフォルトの名無しさん
2005/10/21(金) 14:53:39コンストラクタで、必要な初期設定をします。
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
//初期設定
}
0352デフォルトの名無しさん
2005/10/22(土) 00:10:570353デフォルトの名無しさん
2005/10/22(土) 00:27:01OnCreate内でListView->Items->Clear()する意味が分からない。
まさかと思うが、以下の点を明確にせよ。
1.ListViewが載っているフォームはメインフォームか否か。
2.操作が反映されないのはどのタイミングか。
1)フォームが最初に表示されたとき
2)フォームが2度目以降に表示されたとき
>>351-352
まぁ、「TForm::OnCreateはつかうな、コンストラクタ使え」とはヘルプに書いてある罠。
しかし、>>350の原因は別にありそうだ。
0354デフォルトの名無しさん
2005/10/22(土) 08:33:37__property Classes::TNotifyEvent OnCreate = {read=FOnCreate, write=FOnCreate, stored
=IsForm};
説明
OnCreate イベントハンドラを記述すると,フォームが作成され,
TCustomForm のコンストラクタによって呼び出されたときに
特別な処理を実行することができます。イベントハンドラを実装,
あるいは TCustomForm のコンストラクタのオーバーライドのいずれかを
行う必要がありますが,両方を行ってはなりません。
OnCreate イベントで作成されたオブジェクトは OnDestroy イベントで解放する必要があります。
フォームが作成されるとき,Visible プロパティが true であれば
イベントが以下の順序で発生します。
1. OnCreate
2. OnShow
3. OnActivate
4. OnPaint
注意フォームのコンストラクタとのやり取りが不良になる可能性が
あるので,C++Builder で OnCreate イベントを使うことはお勧めできません(OldCreateOrder を参照)。かわりに,フォームコンストラクタをオーバーライドすることをお勧めします。
0355デフォルトの名無しさん
2005/10/22(土) 18:57:12はどうやって作ればいいの?
0356デフォルトの名無しさん
2005/10/22(土) 19:01:59新しく作ることは出来ないから
あるものを割り当てる
0357デフォルトの名無しさん
2005/10/22(土) 19:13:00適当なクラスのメンバ関数作って、それ代入すりゃいいよ
0358デフォルトの名無しさん
2005/10/22(土) 19:44:47///////
実行時にコンポーネントを作成する(BCB4用)
btnNew->OnClick = btnNewOnClick; //クリックされた時に呼び出す関数
//設定できるイベントはコンポーネントに
//よって変化する。
//イベントによって呼び出される関数を作成する。
//引数が同じならば、他のコンポーネントの関数を流用する事も可能。
void __fastcall TForm1::btnNewOnClick(TObject *Sender)
{
ShowMessage("");
}
フォームのヘッダに関数の宣言を追加しておく
------
private:// ユーザー宣言
void __fastcall TForm1::btnNewOnClick(TObject *Sender);
0359デフォルトの名無しさん
2005/10/23(日) 20:40:11int n = hage[0];
でエラー出るんだけどこれ使い方間違ってます?
0360デフォルトの名無しさん
2005/10/23(日) 21:01:23int≠{・・・・}
0361322
2005/10/23(日) 21:48:130362デフォルトの名無しさん
2005/10/23(日) 21:52:09どうしても#define使いたいんじゃなければ↑でいいかなと…
それだと hage[8] と書いたのが {3,4,3,3,2,3,5,3} に置き換わるように定義してるから
おかしいのはなんとなくわかる…はず
0363デフォルトの名無しさん
2005/10/23(日) 21:57:320364デフォルトの名無しさん
2005/10/24(月) 00:42:57C++Builder と全然関係ない問題じゃん。Cの初心者スレに行ってくれ。
0365デフォルトの名無しさん
2005/10/24(月) 00:52:110366デフォルトの名無しさん
2005/10/25(火) 13:42:330367デフォルトの名無しさん
2005/10/25(火) 23:13:310368デフォルトの名無しさん
2005/10/25(火) 23:15:270369デフォルトの名無しさん
2005/10/26(水) 16:04:350370デフォルトの名無しさん
2005/10/26(水) 18:06:090371デフォルトの名無しさん
2005/10/27(木) 10:45:33Canvas = new TCanvas( );
した時にCanvasのサイズを指定する方法を教えてください
0372デフォルトの名無しさん
2005/10/27(木) 11:20:28Canvasは何らかのコントロールに貼り付けないと意味ないのでは?
で、コントロールの大きさ自身がCanvasになってる。
0373デフォルトの名無しさん
2005/10/27(木) 11:27:37void __fastcall TForm1::FormCreate( TObject *Sender );
{
Graphics::TBitmap *Bitmap1; //ビットマップを保存するための一時変数
Bitmap1 = new Graphics::TBitmap; //ビットマップオブジェクトを作成します
Bitmap1->Width = 200; //幅の初期値を指定します
Bitmap1->Height = 200; //高さの初期値を指定します
//ビットマップをイメージコンポーネントに割り当てます
Image1->Picture->Graphic = Bitmap1;
}
0374デフォルトの名無しさん
2005/10/27(木) 13:50:53TCanvasはただのデバイスコンテキストハンドルのラッパだからHandleにHDC入れないと全く意味のないクラス。
0375デフォルトの名無しさん
2005/10/27(木) 15:46:14ありがとうございます。
0376デフォルトの名無しさん
2005/10/27(木) 15:50:460377デフォルトの名無しさん
2005/10/27(木) 16:08:21http://www.geocities.co.jp/SiliconValley/4805/bcbtips/bcbtips085.htm
0378デフォルトの名無しさん
2005/10/28(金) 01:36:44のようにNOTIFY フラグを指定してやると、再生が終わった時に
hwndウインドウにMM_MCINOTIFYメッセージが送られて来る
とネットで検索して見つけたのですが、このMM_MCINOTIFYというのを
どうやって受け取っていいのか分かりません、、、
というかhwndウインドウというのも理解していない状況です
なんとか再生はすることは出来ているのですが、ひとつが終わったら
その次を再生、みたいなことを考えています
全くの初心者ですみませんがご教授いただけたらうれしいです
0379デフォルトの名無しさん
2005/10/28(金) 02:07:12TMediaPlayer使え
TMediaPlayerって何ですか? と訊き返される御燗
0380デフォルトの名無しさん
2005/10/28(金) 02:11:29http://72.14.203.104/search?q=cache:Eo1yMexBjFUJ:bcbjournal.org/bcbcaq/CAQs/caq8.htm+MESSAGE_HANDLER(MM_MCINOTIFY,+TMessage,+MMMCINotify)&hl=ja&client=opera
void __fastcall MMMCINotify(TMessage &Msg);
public:
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(MM_MCINOTIFY, TMessage, MMMCINotify)
END_MESSAGE_MAP(TForm)
0381デフォルトの名無しさん
2005/10/28(金) 02:33:04......
......
};
......
......
void __fastcall TForm1::WndProc(Messages::TMessage &Message)
{
if ( Message.Msg == WM_PAINT )
{
......
......
}
TForm::WndProc( Message ); // Default.
}
0382デフォルトの名無しさん
2005/10/28(金) 10:36:340383デフォルトの名無しさん
2005/10/28(金) 10:46:51TForm::WndProcをオーバーライド、またはBEGIN_MESSAGE_MAPマクロ。
あとは非ビジュアルコンポーネントのメッセージ処理に使われる、AllocateHWnd()でメッセージ捕まえる方法も。←TTimerのソース参照
0384デフォルトの名無しさん
2005/10/28(金) 15:06:44親FormのColorを実行中に変更してもすぐに反映されません。
一度Visibleをfalseにしてから再度trueにすると反映されますが、
もうちょっとスマートな方法は無いでしょうか。
0385デフォルトの名無しさん
2005/10/28(金) 16:11:23InvalidateRect(PageControl1->Handle, NULL, TRUE);
0386デフォルトの名無しさん
2005/10/29(土) 06:08:12Button1Click();
の括弧の中にthisとか入れてみたのですが例外のエラーが発生します。
よろしくお願いいたします。
0387デフォルトの名無しさん
2005/10/29(土) 06:10:11BOOL InvalidateRect(HWND hWnd , CONST RECT *lpRect , BOOL bErase);
指定された長方形を更新領域として追加する
hWnd - ウィンドウのハンドルを指定。NULL の場合、全てのウィンドウを無効化します
lpRect - RECT 構造体のポインタを指定。NULL の場合クライアント領域全体が対象
bErase - TRUE なら BeginPaint() 実行時に背景を消去、FALSE ならそのまま
戻り値 - 成功すれば 0 以外、失敗すれば 0
0388デフォルトの名無しさん
2005/10/29(土) 06:13:22{
Button1->Click();
}
0389デフォルトの名無しさん
2005/10/29(土) 06:21:120390デフォルトの名無しさん
2005/10/29(土) 08:42:12即レスありがとうございました
すごくうれしいです
0391デフォルトの名無しさん
2005/10/29(土) 09:58:39なんか出来かけ(?)でフォームが表示されてしまってなんとなく醜いのです
コントロールが全部完全に出来るまで待ってからフォームを表示させることはできないでしょうか?
0392デフォルトの名無しさん
2005/10/29(土) 10:01:32スプラッシュウィンドウ
Splash Window
Splash Screen
0393デフォルトの名無しさん
2005/10/29(土) 10:13:53Delphi
Form2 := TForm2.Create(Self);
Form2.Show;
Form2.Refresh;
Sleep(2000); // <--テストの場合。実際には時間のかかる処理を行う。
Form2.Release;
0394デフォルトの名無しさん
2005/10/29(土) 11:08:48__fastcallってmethod作成の場合使うのですがどういう意味なのですか?
なかったらどうなるのですか?
0395デフォルトの名無しさん
2005/10/29(土) 15:25:34C標準のスタック渡しでなく、できる限りレジスタを利用するコードになる
繰り返し実行するメソッドなどで引数の少ないものに使うと若干の性能Upに繋がる
上記で判らなければ、使わない事が吉
0396デフォルトの名無しさん
2005/10/29(土) 17:09:00わかりやすい説明 �dクス!
用途に応じて使ってみます。
0397391です
2005/10/29(土) 20:55:13なんとか実現しました
とても表示がすっきりしていい感じになりました
ありがとうございました
0398デフォルトの名無しさん
2005/10/29(土) 21:08:52例えば Edit1->SetFocus() を割り当てた場合、その動作自体は問題ないのですが、その後にすぐ、
メニュー(TMainMenu)をつけているフォームなので、メニューにフォーカスが入ってしまいます。
Windows標準の動作なのでこれは仕方ないのかなとも思ってはいますが、
F10を押してもメニューにフォーカスが入らないようにする方法があればご教授下さい。
よろしくお願いいたします。
0399デフォルトの名無しさん
2005/10/29(土) 21:17:260400デフォルトの名無しさん
2005/10/30(日) 20:24:14ありがとうございました。
F10に割り当てるのをやめようか、どうしようか考えていたので助かりました。
0401デフォルトの名無しさん
2005/10/30(日) 21:26:130402デフォルトの名無しさん
2005/10/30(日) 22:44:53フォーム中央に表示する方法を教えてくだすれ
0403デフォルトの名無しさん
2005/10/30(日) 22:45:17http://homepage3.nifty.com/endou/tips/03/tips26.htm
0404デフォルトの名無しさん
2005/10/31(月) 02:39:38UNICODE用コントロール集のコンポーネントがあったはず。
Delスレで聞いて見れ
0405デフォルトの名無しさん
2005/10/31(月) 02:54:55表示されているテキスト全部を反転させるやり方を
教しえていただけませんでしょうか?
0406デフォルトの名無しさん
2005/10/31(月) 06:50:43{
Edit1->SetFocus();
}
0407デフォルトの名無しさん
2005/10/31(月) 08:46:08つ http://www.tntware.com/delphicontrols/unicode/
0408デフォルトの名無しさん
2005/10/31(月) 13:27:500409デフォルトの名無しさん
2005/10/31(月) 13:43:580410デフォルトの名無しさん
2005/10/31(月) 14:36:51詳しく
0411デフォルトの名無しさん
2005/10/31(月) 15:03:30たとえばPixelPerInchが96だとしたら
inch = mm / 25.4;
pixel = 96 * inch;
0412デフォルトの名無しさん
2005/10/31(月) 17:50:25ありがとうございます!!!
0413デフォルトの名無しさん
2005/10/31(月) 23:05:12JPEGを読み込みたいんですけど<jpeg.hpp>が見つからないし、それによりTJPEGImageが使えません。
VC++の<gdiplus.h>も無いです。
JPEGを読み込む為には、BCBかVC++を買うしか無いのでしょうか?
貧乏人はおとなしくLoadImageでBMPでも読み込んでろという事でしょうか?
0414デフォルトの名無しさん
2005/10/31(月) 23:14:24http://www.borland.com/products/downloads/download_cbuilder.html
0415デフォルトの名無しさん
2005/10/31(月) 23:21:52ここはBCBのスレですよ貧乏人さん^^
0416デフォルトの名無しさん
2005/10/31(月) 23:53:19Win32APIでJPEGを読み込むAPIはあるんでしょうか?
BMPはLoadImageで取得できるんですけどそのJPEG版みたいなみたいな奴です。
現在の開発環境は
Borland C++ Compiler 5.5.1とメモ帳だけです。
よって、MFCとかは使えません。
誰か、貧乏な私に知恵を授けて下さい...
0417デフォルトの名無しさん
2005/11/01(火) 01:55:12ます、JPEGを使うユニットで”JPEG.hpp"をインクルードします。
次に#pragma link "jpeg"を追加します。
これは、TPicture::LoadFromFileを拡張して、jpegイメージを読みこめるようにするためにはFakeInitJPEGLibメソッドを呼び出して、初期化する必要があるのですが、この一行を追加する事によってBCBが初期化してくれます。
こっちの方が初期化のタイミングを考えなくて良いのでお勧めです。
これで、TPictureからも簡単にJPEGファイルを読みこめます。
#include <jpeg.hpp>
#pragma link "jpeg"
//Image1にimage.jpeを読みこみ表示する場合
Image1->Picture->LoadFromFile("image.jpg");
// TJEPGImageにimage.jpeを読みむ場合
// ↓の場合は初期化なしで読みこめます。
TJPEGImage* pJPEGImage = new TJPEGImage();
pJPEGImage->LoadFromFile("image.jpg");
保存も簡単に行えます。TImageに表示されたいるグラフィックをJPEG形式で保存する場合は、TJPEGImageオブジェクトにAssignメソッドを使ってグラフィックをコピーしてSaveToFileメソッドで保存します。
その時、JPEGのクオリティーはCompressionQualityプロパティで指定できます。
//Image1の画像をクオリティー50、ファイル名”image.jpg"で保存する
TJPEGImage* pJPEGImage = new TJPEGImage();
pJPEGImage->Assign(Image1->Picture->Graphic);
pJPEGImage->CompressionQuality = 50;
pJPEGImage->SaveToFile("image.jpg");
delete pJPEGImage;
0418デフォルトの名無しさん
2005/11/01(火) 09:36:02Pre-order Delphi 2006 and receive a 15% discount off the list price
(special pre-order pricing good from 10/17 to 12/1)
Delphi 2006 includes complete RAD support for Delphi for Win32®, Delphi for .NET, C++, and C# programming languages.
0419デフォルトの名無しさん
2005/11/01(火) 11:27:38Delphi 2006,C++Builder 2006,C#Builder 2006は,
10月17日〜12月1日まで先行予約を受け付ける。先行予約者に対しては,
15%のディスカウントが適用される。商品の出荷は12月初旬が予定されている。
0420デフォルトの名無しさん
2005/11/01(火) 11:58:520421デフォルトの名無しさん
2005/11/01(火) 18:17:40gdiplus.hはPratform SDKをインストールすれば手に入る。
(インポートライブラリはそれ付属のではなく自分でimplibする必要がある)
0422デフォルトの名無しさん
2005/11/02(水) 13:51:590423デフォルトの名無しさん
2005/11/02(水) 16:17:13よくやった、おめで�d
0424デフォルトの名無しさん
2005/11/03(木) 03:38:23http://www.c3.club.kyutech.ac.jp/c3magazine/archives/2nd/BUILDER/lecture2.html>>422
0425デフォルトの名無しさん
2005/11/03(木) 12:24:33http://news19.2ch.net/test/read.cgi/newsplus/1130985853/l50
お前ら様方大丈夫ですか?これ
WEB系開発者は対応しないとまずいのでは?
0426デフォルトの名無しさん
2005/11/03(木) 18:34:36include文で書くのか、「プロジェクト」「オプション」で組み込むのかいろいろやってみましたができません。
MySQLを使っているのでdbExpMYSQL.dcu, crtl.dcu, MidasLib.dcuが必要だと思うのですが、よろしくお願いします。
C++ Builder 6 Pro
0427デフォルトの名無しさん
2005/11/03(木) 21:59:570428デフォルトの名無しさん
2005/11/03(木) 22:19:24チュートリアルで挫折しましたorz
PC-9801上とMS-DOSでのC言語なら、
少しはわかってるつもりだったんですが…
何がわかっていないのかすらよくわかりません。
まず、何から手を付けるべきでしょうか?
0429428
2005/11/03(木) 22:28:060430デフォルトの名無しさん
2005/11/03(木) 22:40:13どこで挫折したのか書かないと分からない希ガス。
とりあえずOOPの知識つけないと、簡単にスパゲッティコードができあがるからそのあたりかな?
>>427
_beginthreadのこともたまには思い出してあげてください
0431デフォルトの名無しさん
2005/11/03(木) 22:43:300432デフォルトの名無しさん
2005/11/03(木) 22:49:27CreateThreadのこともたまには思い出してあげてください。
0433デフォルトの名無しさん
2005/11/03(木) 22:58:41CとC++は違う
C++の勉強からはじめろ
0434デフォルトの名無しさん
2005/11/03(木) 23:12:18!【緊急】開発言語PHPに“最悪”のセキュリティ・ホール,全ユーザーは今すぐ対処を
これみてさっきyumでPHPのアップデートしたのね。
そしたらセッションが保存されなくなったんだけど原因てなにが考えられる?
PHPINFOの設定は確認したけどアップデート前と同じだし、HTTPDもきちんと再起動してるしセッションがつかえなくなってかなりピンチです。
0435デフォルトの名無しさん
2005/11/03(木) 23:18:35>CreateThreadのこともたまには思い出してあげてください。
どう見てもWindowsAPIです
本当にありがとうございました
0436428
2005/11/03(木) 23:33:06まず、「用語がわからん!」って一番基本的なところで…
「C++なんて、C言語に毛が生えたようなもの」とナメてました。
自分でも捜してますが、お勧めなサイトありますか?
たいていは「抽象的すぎて何のお話かわけわからん」か、
「わからない用語の解説がわからない用語でしてあるから結局わけわからん」の、
どちらかで…
0437428
2005/11/03(木) 23:37:48>>433
そうですね。やっぱりそこからですよね。
なんかこう、C言語とC++の違いを、
ソースを併記して解説してる所なんか無いでしょうか?
でもやっぱり「そんな娘としないで一から勉強し直せ」って事…ですよね?
0438428
2005/11/03(木) 23:39:33○そんな事しないで
あぁ…なんかすんげー変な女と一発やっちゃったみたいだorz
0439デフォルトの名無しさん
2005/11/04(金) 00:24:11金ケチらないで本買え。
>なんかこう、C言語とC++の違いを、
>ソースを併記して解説してる所なんか無いでしょうか?
その程度の甘い考えなら何年たっても使えるようにならん。
0441デフォルトの名無しさん
2005/11/04(金) 16:21:20違いを簡単に言うとオブジェクト指向やジェネリックプログラミングを言語としてサポートしているかどうかだよ。
0442428
2005/11/04(金) 18:48:55BCB5を買ったときに、オフィシャルコースウェアを買いました。
まだBCB5用のオフィシャルコースウエアが出ていなかったので、
BCB4用ですが。基礎編と応用編です。
あと、後日アスキー出版の、
「C++Builder5 プログラミング入門」も買いました。
>>441
そう言う説明がちゃんと理解できないんですうぅぅ…
0443デフォルトの名無しさん
2005/11/04(金) 18:54:34諦めたら?
0444デフォルトの名無しさん
2005/11/04(金) 19:05:560445デフォルトの名無しさん
2005/11/04(金) 19:27:010446デフォルトの名無しさん
2005/11/04(金) 21:40:45BCB以前のC++に対する理解が足りてないと思う。
必要なのはC++の入門本。
0447デフォルトの名無しさん
2005/11/04(金) 22:24:07それをいきなり読もうとしても428には無理無駄無意味。
0449デフォルトの名無しさん
2005/11/06(日) 00:10:28取得したいのですが、APIのGetVolumeInformation、
WMIのwin32_LogicalDriveクラス等では、
論理ドライブのシリアル番号(DOSコマンドDirで表示される値)しか取得できません。
ドライバを作成して取得するという方法があったのですが、ドライバの作成方法がわかりませんでした。
簡単に取得できる方法はないのでしょうか?
よろしくお願い致します。
0450デフォルトの名無しさん
2005/11/06(日) 02:11:440451デフォルトの名無しさん
2005/11/06(日) 13:10:430452デフォルトの名無しさん
2005/11/06(日) 23:31:51それを外に受け渡すように書き換える方法がわかりません。
例えば、今は
class Test{
public:
Test();
~Test();
};
Test::Test(){
string word[]={"その1","その2","その3"};
}
みたいになってるのですが、このwordの部分を外部から読み出したいのです。
そもそも、配列をクラス内のプライベートorパブリックに置く方法、という基本的なこともわかってないので、
何卒よろしくお願いします。
0453デフォルトの名無しさん
2005/11/06(日) 23:34:21このクラスを派生させた場合の書き方も加えて教えていただければ。
・・・初心者の質問じゃないかな?
一応C++は始めて1週間もたってません(VBとか他の言語はそれなりに触ってますが)
0454デフォルトの名無しさん
2005/11/06(日) 23:41:04そうやるとwordはTest::Test()のローカル変数になる。
メンバ変数にしないといけない。(つまりclass Testの宣言の中にwordの宣言を書く必要がある。)
0455デフォルトの名無しさん
2005/11/07(月) 00:01:45俺はCもC++もVCLもWindowsAPIも何も知らないでFillyにも挑戦したけど挫折した。
唯一知ってたのはポケコンのBASICだった。
そんな状況でDelphiではなくBCBを選んだ俺。
入門書もC++ではなくBCBの入門書からだった
ここはこう言うものと覚えとけとか投げやりな解説に萎えた。
今はダウンロード数数万本の適当なフリーソフトくらいは作れるようになった。
0456デフォルトの名無しさん
2005/11/07(月) 00:06:02public:
Test();
~Test();
string word[]={
}
void Test(){
word
}
0457デフォルトの名無しさん
2005/11/07(月) 00:07:03あってるかどうかも分からんけどもうめんどくさいからやーめた。
0458デフォルトの名無しさん
2005/11/07(月) 00:11:29色々ありがとーです。
ちょっと挑戦しなおしてみますわ。
>>455
Filly!ずいぶんと懐かしい名前がでたな、おい。
俺、その前身のRayで作品作ったことあるよ。
0459デフォルトの名無しさん
2005/11/07(月) 00:49:49むちゃくちゃだろそれ
クラス定義内で配列の初期化はできんぞ。
配列をメンバにしたいなら要素数を定数で指定する必要がある。
class Test{
string word[3];
public:
Test();
~Test();
};
Test::Test() {
word[0]="その1";
word[1]="その2";
word[2]="その3";
}
要素数を決めうち出来ないならポインタをメンバにして動的に領域を確保する
ただ、どちらにせよ配列よりvectorを使うほうを推奨するが
0460デフォルトの名無しさん
2005/11/07(月) 00:52:04だから君みたいな人間は>>446
0461デフォルトの名無しさん
2005/11/07(月) 00:59:14class Test{
TStringList *word;
public:
Test();
~Test() { delete word; }
__property TStringList* Words = { read=word };
};
Test::Test() {
word = new TStringList();
word->Add("その1");
word->Add("その2");
word->Add("その3");
}
main() {
Test test;
std::cout << test.Words[0] << std::endl;
}
0462デフォルトの名無しさん
2005/11/07(月) 06:39:30>>460
現状専門書も買わず、ネット講座だけなんすが、やっぱまずいっすかね・・・
お勧めの本とかあります?
>>461
おー、それすっきりしてよさげ。
0463デフォルトの名無しさん
2005/11/07(月) 07:27:030464デフォルトの名無しさん
2005/11/07(月) 08:52:37bmpを読み込み、それを何かjpegに変換するライブラリに渡すだけ。
0465デフォルトの名無しさん
2005/11/07(月) 09:59:530466デフォルトの名無しさん
2005/11/07(月) 10:12:44TBitmap *bmp;
TJPEGBitmap *jpg;
jpg->Assign(bmp);
0467462
2005/11/07(月) 10:14:07Borland C++ CompilerですがTStringListってつかえます?
VCL.hというのが必要らしいんだけど・・・
無理なら、vectorの使い方教えてください。
やっぱ本買おうかな?
0468デフォルトの名無しさん
2005/11/07(月) 10:34:07スレタイを声に出して百回読んだ上でこっち逝け
タダで使えるBorland C++ Part4
ttp://pc8.2ch.net/test/read.cgi/tech/1091066805/l50
しかし、君はまず>>446
0469デフォルトの名無しさん
2005/11/07(月) 10:54:18http://ccccc.host.sk/
0470デフォルトの名無しさん
2005/11/07(月) 11:17:46http://ccccc.host.sk/kouza.htm#no4
<TITLE>戦う女性を凄惨に拷問して秘密を吐かせたい!</TITLE>
(゚д゚)<
0471デフォルトの名無しさん
2005/11/07(月) 11:21:00|
ぱくっ|
/V\
/◎;;;,;,,,,ヽ そんなエサで
_ ム::::(,,゚Д゚)::| 俺様が釣られると思ってんのか!!
ヽツ.(ノ:::::::::.:::::::.:..|) 【From】ム板
ヾソ:::::::::::::::::.:ノ 【2ch歴】5年
` ー U'"U' 【お魚No.】1匹目
【釣られた回数】4回
【釣られた時の餌】>>470
0472デフォルトの名無しさん
2005/11/07(月) 11:28:43こっちも同じタイトルだな。一体何を狙ってるんだか。
0473デフォルトの名無しさん
2005/11/07(月) 11:44:07自分自身のフルパス名が取得できますが、DLL からこれを実行
すると、「呼び出し元」のアプリケーションのフルパス名が取得
されます。「DLLファイル自身」のフルパス名を取得するためには
どのようにしたらよいのでしょうか?
0474デフォルトの名無しさん
2005/11/07(月) 11:48:150475デフォルトの名無しさん
2005/11/07(月) 11:58:480476デフォルトの名無しさん
2005/11/07(月) 13:41:290477デフォルトの名無しさん
2005/11/07(月) 14:14:470478デフォルトの名無しさん
2005/11/07(月) 14:23:350479デフォルトの名無しさん
2005/11/07(月) 14:27:23無理
>>474
つかえる
>>475
Indyを使え
>>476
OnSetEditText
>>477
プリンタの設定
0480462
2005/11/07(月) 14:30:05#include <iostream>
#include <vector>
using namespace std;
class Menu{
protected:
vector<string> name;
public:
Menu();
void func();
};
Menu::Menu(){
string list[]={"その1","その2","その3"};
for(int i=0;i<3;i++)
name.push_back(list[i]);
}
void Menu::func(){
for (int i=0; i<3; i++)
cout <<i<<":"<<name[i] << " "<< endl;
}
int main()
{
Menu p;
p.func();
}
0481462
2005/11/07(月) 14:32:16Vector使うときはポインタ設定が違うんでしょうか?
0482デフォルトの名無しさん
2005/11/07(月) 14:33:050483デフォルトの名無しさん
2005/11/07(月) 14:51:10スレ違いだってのボケ>>468
んで>>446
おまいの書いてるコードは無茶苦茶
0484デフォルトの名無しさん
2005/11/07(月) 15:01:44コンパイラの話じゃなくて純粋にC++の話題だからBCCスレもスレ違いでしょ。
>>462
ここはBCB(Borland C++Builder)っていう開発環境のスレなのであなたの質問はスレ違い。
多分ここがあなたに相応しいスレ↓
【初心者歓迎】C/C++室 Ver.22【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1128872687/l50
もっとも、ここより手荒い歓迎をされるかもしれないよ。
0485デフォルトの名無しさん
2005/11/07(月) 15:05:460486デフォルトの名無しさん
2005/11/07(月) 16:13:50そんなことが出来るソフトがあったら教えてもらいたい
0487デフォルトの名無しさん
2005/11/07(月) 16:50:16馬鹿はレスするなって^^
APIでできる
0488デフォルトの名無しさん
2005/11/07(月) 17:04:25プログラムから自分自身を置き換えるのはどのようにしてやればよいのでしょうか?
0489デフォルトの名無しさん
2005/11/07(月) 17:15:08無理だからアップデートするプログラムを別にしなさい。
0490デフォルトの名無しさん
2005/11/07(月) 17:18:17プログラムを展開して本体を終了時にそれを実行汁。
0491デフォルトの名無しさん
2005/11/07(月) 17:36:00void __fastcall TForm1::Button1Click(TObject *Sender)
{
BorderIcons = TBorderIcons() >> biSystemMenu;
}
0492デフォルトの名無しさん
2005/11/07(月) 18:10:41一部の機能が使えない(コンパイラが完全な標準に準拠してないので)
0493デフォルトの名無しさん
2005/11/07(月) 19:29:410494デフォルトの名無しさん
2005/11/07(月) 20:06:420495デフォルトの名無しさん
2005/11/07(月) 21:41:310496デフォルトの名無しさん
2005/11/07(月) 22:36:36かな、俺が使ったことあるのは。まぁお約束なラインナップ。
0497デフォルトの名無しさん
2005/11/09(水) 00:30:520498デフォルトの名無しさん
2005/11/09(水) 00:40:32{
mov eax,1
}
とか
0499デフォルトの名無しさん
2005/11/09(水) 00:40:490500デフォルトの名無しさん
2005/11/09(水) 00:56:44_asm
__asm
でれでもいいようだ
0501デフォルトの名無しさん
2005/11/09(水) 03:02:070502デフォルトの名無しさん
2005/11/09(水) 09:45:440503デフォルトの名無しさん
2005/11/09(水) 16:04:13コンパイルエラーが出る。
afxres.h がない、と怒られるのだがインクルードパスも設定してあるのに…
なぜでしょうか?
0504デフォルトの名無しさん
2005/11/09(水) 18:35:50どうしたらいいのでしょうか、お願いできませんでしょうか?
0505デフォルトの名無しさん
2005/11/09(水) 18:45:370506デフォルトの名無しさん
2005/11/09(水) 20:57:59Cプログラミングをしたいと思い、ボーランドのCコンパイラ5.5をインストールしたのですが、プログラムはメモ帳でも良いのでしょうか?
拡張子は.txtのままで良いのでしょうか?
0507デフォルトの名無しさん
2005/11/09(水) 21:11:30少々不便かもしれないがメモ帳で出来なくもない。
Cの拡張子はcだが、C++の拡張子cppのほうが良い。
0508デフォルトの名無しさん
2005/11/09(水) 21:17:03ありがとうございました!
0509デフォルトの名無しさん
2005/11/09(水) 23:03:38タダで使えるBorland C++ Part4
http://pc8.2ch.net/test/read.cgi/tech/1091066805/
BCC Developerを使うと便利
半角スペースと全角スペースを見分けられるエディタや、
C言語のキーワードに色をつけてくれるエディタだと
ケアレスミスを減らすことができる
というかBCB買え
0510デフォルトの名無しさん
2005/11/10(木) 00:52:570511デフォルトの名無しさん
2005/11/10(木) 07:20:11としてTMemoを非表示で使いたいのですが、
長い文字列を1行に入れたいのですが、途中(半角32文字)で
切れてしまいます
残りは次の行に入っているようなのですが、半角32文字以上の
文字列を1行に収めることはできないでしょうか?
0512デフォルトの名無しさん
2005/11/10(木) 08:04:35MemoTxt->WordWrap = false;
じゃだめなん?
0513デフォルトの名無しさん
2005/11/10(木) 08:34:45TStringList使えば?
0514デフォルトの名無しさん
2005/11/10(木) 14:02:030515デフォルトの名無しさん
2005/11/10(木) 15:07:540516デフォルトの名無しさん
2005/11/11(金) 01:37:25ttp://hp.vector.co.jp/authors/VA017148/pages/cpad.html
こういうのつかいなはれ
0517デフォルトの名無しさん
2005/11/12(土) 16:31:18どういう訳かちらつきが出てしまいます。
PaintBoxのOnPaintに
Graphics::TBitmap *bmp=new Graphics::TBitmap;
bmp->Width=PaintBox->Width;
bmp->Height=PaintBox->Height;
bmp->Canvas->Brush->Color=clInfoBk;
bmp->Canvas->FillRect(Rect(0,0,bmp->Width,bmp->Height));
PaintBox->Canvas->Draw(0,0,bmp);
0518デフォルトの名無しさん
2005/11/12(土) 16:51:380519デフォルトの名無しさん
2005/11/12(土) 18:19:26PaintBox の OnPaint に描画コードを書いて Refresh が正当な描画法
0520デフォルトの名無しさん
2005/11/12(土) 18:57:01ここから、拡張子を抜いたファイル名bbb(もしくは\bbb)を得ることは可能でしょうか?
ExtractFileNameなどでは、bbb.txtしか抜けませんでした
0521デフォルトの名無しさん
2005/11/12(土) 19:04:09ChangeFileExt()
0522デフォルトの名無しさん
2005/11/12(土) 19:11:00気づきませんでした
ありがとうございました
0523デフォルトの名無しさん
2005/11/12(土) 23:09:462〜30行くらいのコードで紹介しているサイトがあったのですが、
ご存知の方おられませんでしょうか?
いつか使おうとブックマークしていたつもりなのですが分からなくなってしまって、、、
他でもライブカメラを扱う例を紹介いただけるとありがたいです
よろしくお願いいたします
0524デフォルトの名無しさん
2005/11/13(日) 05:53:33これ?
ttp://homepage3.nifty.com/endou/tips/04/tips35.htm
0525デフォルトの名無しさん
2005/11/13(日) 11:20:38#include <vcl.h>
#pragma hdrstop
Graphics::TBitmap *bmp = new Graphics::TBitmap;
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PaintBoxPaint(TObject *Sender)
{
//PaintBox->Refresh();
bmp->Width=PaintBox->Width;
bmp->Height=PaintBox->Height;
bmp->Canvas->Brush->Color=clInfoBk;
bmp->LoadFromFile("C:\\Program Files\\Common Files\\Borland Shared\\Images\\Splash\\256color\\factory.bmp");
PaintBox->Canvas->Draw(0,0,bmp);
}
//------------
0526517
2005/11/13(日) 18:58:13塗りつぶしを実行するようにした上で
フォームのサイズを変更するとちらつくんですよ。
あれはどうにもならないんでしょうかね?
でもCanvasにDrawで上書きしているわけだからPaintBoxの下の背景色が表示されるわけ無いんだけど…
0527デフォルトの名無しさん
2005/11/13(日) 20:53:54StretchBlt()つかえよ
0528ななしへたぐらま ◆XcB18Bks.Y
2005/11/14(月) 02:27:12>>517
フォームのコンストラクタかLoadedメソッドをオーバーライドして
PaintBoxの親であるコントロールのDoubleBufferedプロパティをTrueにしてみて下さい.
この場合はプロパティの名前の通り,VCLの方でダブルバッファリングの処理をしてくれますので
プログラマーがオフスクリーンビットマップを用意する必要はありません.
(PaintBoxのキャンバスに直接描画して構いません)
ちらつきの原因は親であるコントロールがPaintBoxの領域まで(親の)Colorプロパティで指定された色で塗りつぶしてしまうためみたいです.
PaintBox自体は描画に関する処理は何もしていません(OnPaintイベントハンドラがあればそれを実行するだけ).
ちなみにTBitmapのLoadFromFileメソッドは
既存の画像の上に読み込んだ画像を描画するのではなく,既存の画像を置き換えます.
よってLoadFromFileより前の幅と高さの変更は意味がありません.
0529デフォルトの名無しさん
2005/11/14(月) 02:36:380530デフォルトの名無しさん
2005/11/14(月) 03:09:53↓
ttp://pc8.2ch.net/test/read.cgi/tech/1124614110/7
ただし>>446-447に注意
0531517
2005/11/14(月) 04:41:12ネ申!
0532デフォルトの名無しさん
2005/11/14(月) 16:50:300533デフォルトの名無しさん
2005/11/14(月) 21:12:100534デフォルトの名無しさん
2005/11/14(月) 21:57:210535デフォルトの名無しさん
2005/11/15(火) 05:54:10TstringやLineのあたりが怪しいと思うのですが、付属のマニュアルにも載ってないし。
あと、BCBの良い専門書のおすすめとかありますか?
近所の本屋ではVC++のしか売ってないので、取り寄せようと思ってます。
0536デフォルトの名無しさん
2005/11/15(火) 07:56:32┌─────┐
│カットシステム│[検索]
└─────┘
0537デフォルトの名無しさん
2005/11/15(火) 08:38:54ボーランド公式見てからまたこいw
0538デフォルトの名無しさん
2005/11/15(火) 10:47:00固定文字ならオブジェクトインスペクタで。
動的に追加するならMemo1->Lines->Add( "(゚д゚)ウマー" );
0539デフォルトの名無しさん
2005/11/15(火) 10:48:200540デフォルトの名無しさん
2005/11/15(火) 13:31:350541デフォルトの名無しさん
2005/11/15(火) 13:41:08>>530
ちったぁスレ読め
0542デフォルトの名無しさん
2005/11/15(火) 18:28:00知らないならレスしないで下さい。ウザイです。荒らしですか?
0543デフォルトの名無しさん
2005/11/15(火) 18:34:450544デフォルトの名無しさん
2005/11/15(火) 18:45:170545デフォルトの名無しさん
2005/11/15(火) 18:51:420546デフォルトの名無しさん
2005/11/15(火) 18:59:26を取り出して、それを小さい順に表示するプログラムを作りなさい。
例えば、MOJI[]="9B2C3ADC31" ならば 12339 と表示する。
と
「問題6/上級]次の問題の中から、どれか1つを選び、プログラムを作成して答えを
求めなさい。
(問題6−1)太郎君が9歳になるまで,花子さんの年齢が太郎君の年齢の整数倍にな
る年がちょうど7回ある。このとき、太郎君と花子さんの年齢差はいくつか?
0547デフォルトの名無しさん
2005/11/15(火) 19:01:17ヘルプ嫁。バカ。
付属のマニュアルにも載ってないし。って釣りか?
0548デフォルトの名無しさん
2005/11/15(火) 19:16:29こういうやつはこの超初心者スレには不要だ
うぜろ
0549デフォルトの名無しさん
2005/11/15(火) 19:59:01言語の初心者以前にコミュニケーション初心者な負け犬でしたとさ。
> うぜろ
0550デフォルトの名無しさん
2005/11/16(水) 00:29:20>>535
つ SendMessage(Memo1->Handle,WM_SETTEXT,0,(LPARAM)"this is a pen");
0551デフォルトの名無しさん
2005/11/16(水) 00:37:26をいをい、教えてクンにエサやるなよw
0552デフォルトの名無しさん
2005/11/16(水) 02:30:040553デフォルトの名無しさん
2005/11/16(水) 09:02:280554デフォルトの名無しさん
2005/11/16(水) 09:24:35ここはくだすれなんだが……
0555デフォルトの名無しさん
2005/11/16(水) 09:43:190556デフォルトの名無しさん
2005/11/16(水) 12:38:10くだすれでも教えてクンは嫌われる
という以前に、>>550のワビサビが判らんのだろ'うな、教えてクンにはw
0557デフォルトの名無しさん
2005/11/16(水) 13:47:40ありがとうございました。
0558デフォルトの名無しさん
2005/11/16(水) 15:22:42例えばインターバルが1000msecとして、処理に1000msec以上
かかった場合、次のイベントの扱いはどのようになるのでしょうか?
1、ぴったり1000msecで次のイベントが実行される
2、前のイベントが終わるまで待って実行される
3、イベントは無かったことになる
0559デフォルトの名無しさん
2005/11/16(水) 15:22:51>>556とかスレの趣旨がわかってない馬鹿には消えてほしいねえ
0560デフォルトの名無しさん
2005/11/16(水) 15:24:03イベントから抜けてから1000ms経ってからまたイベに突入
0561デフォルトの名無しさん
2005/11/16(水) 15:35:15そのあとの流れは質問者本人か偽者かは分からんが
煽りとそれに応じたネタレスばかりだな。
スレの趣旨も何もないだろ。
0562デフォルトの名無しさん
2005/11/16(水) 15:38:030563デフォルトの名無しさん
2005/11/16(水) 16:24:43ありがとうございます。
もう少し掘り下げた質問になるのですが、仮に処理が990msec
かかったとした時に、次のイベが来るのは10msec後になるか
1000msec後になるかはどちらでしょうか?
0565デフォルトの名無しさん
2005/11/16(水) 17:20:50…ですね。 質問繰り返してどーすんだ漏れorz
ありがとうございました!
0566デフォルトの名無しさん
2005/11/16(水) 17:37:27そんなことないよ。WM_TIMER がメッセージキューにあればすぐ実行される。
複数たまればひとつにまとめられる。
0567デフォルトの名無しさん
2005/11/16(水) 17:39:210568558=563
2005/11/16(水) 18:19:47>>566-567で訂正されているし…
やはりこういう動きになりますよね。
ということは、処理が毎回1000msec以上の場合だと無限ループに
近い状態になる、と。
まぁ強制的に次のイベントが発行されるわけではなくて安心しました。
0569カラス
2005/11/16(水) 20:40:290570デフォルトの名無しさん
2005/11/19(土) 11:17:26ssbothを指定すると常に出てしまいます
どうすればいいんでしょうか?
0571デフォルトの名無しさん
2005/11/20(日) 01:42:100572デフォルトの名無しさん
2005/11/20(日) 08:01:240573デフォルトの名無しさん
2005/11/20(日) 11:14:310574デフォルトの名無しさん
2005/11/20(日) 14:32:470575デフォルトの名無しさん
2005/11/21(月) 02:37:12SusieプラグインにてBitmap形式で出力は出来たのですが
8bitのBitmapになっているようで16bitの輝度値を取り出せません。
どのようにしたらいいでしょうか?
0576デフォルトの名無しさん
2005/11/21(月) 09:49:05自前でTIFF読むしかない。
てかTIFFって圧縮されてなければ単なるベタフォーマットだったはずだから簡単に読めるような‥‥
0577デフォルトの名無しさん
2005/11/24(木) 12:42:18構造体を返り値とする関数を使う時、
構造体の宣言はどこでやればいいですか
リンカ?、cppのグローバルな部分?
0578デフォルトの名無しさん
2005/11/24(木) 15:13:11ヘッダつかえ
0579デフォルトの名無しさん
2005/11/24(木) 18:02:59関数が構造体を返すということは、その関数を呼出す側は
その構造体を知っている必要があるということ。
なので、構造体の定義と関数の宣言をヘッダファイルにまとめて、
^^^^ ^^^^
その関数・構造体を利用する個々のソースファイルで
インクルードするようにするのが普通。
構造体の定義だけで独立したヘッダを使うのでももちろんヲケ。
0580デフォルトの名無しさん
2005/11/24(木) 23:25:46private:// ユーザー宣言
struct mystruct {
AnsiString Awriter;
AnsiString adate;
AnsiString title;
AnsiString naiyou;
} ;
mystruct __fastcall Getwriter(AnsiString);
としてあって、ソースで
mystruct __fastcall TForm1::Getwriter(AnsiString strgot)
{
mystruct stdata;
とすると、ソースで
[C++ エラー] Unit1.cpp(349): E2141 宣言の構文エラー
と言われるのは何故です?
どうするのが正しいですか?
</pre>
0581デフォルトの名無しさん
2005/11/24(木) 23:26:45[C++ エラー] Unit1.cpp(349): E2141 宣言の構文エラー
が出るのは
mystruct __fastcall TForm1::Getwriter(AnsiString strgot)
の部分です
0582デフォルトの名無しさん
2005/11/25(金) 00:04:52mystructの定義をグローバルにする(TForm1の定義から出せ)
C++の入門書読まんと、要らん苦労するばかりだぞ
0583デフォルトの名無しさん
2005/11/25(金) 00:13:25Getwriteがprivateなら
TForm1::mystruct __fastcall TForm1::Getwrite(AnsiString strgot)
でヲケ
0584デフォルトの名無しさん
2005/11/25(金) 00:23:23http://enterprise.watch.impress.co.jp/cda/software/2005/11/24/6673.html
0585デフォルトの名無しさん
2005/11/25(金) 03:13:58int Locate(HANDLE, int, int);
int check_location(int, int); //すでに駒がおかれていないかどうか調べる
int judge();
int stonerecord(int, int); //置いた石の位置を記録する
int replay(HANDLE, int); //ゲームを再現する
int comp_put(char *); //コンピュータが駒を置きます
int ban[MASU][MASU];
int banshow(HANDLE);やint Locate(HANDLE, int, int);など説明がないところは、
どのように書けばよろしいでしょうか?
0586デフォルトの名無しさん
2005/11/25(金) 05:44:22スレ違い
こっち↓
http://pc8.2ch.net/test/read.cgi/tech/1129043264/l50
http://pc8.2ch.net/test/read.cgi/tech/1132102992/l50
0587デフォルトの名無しさん
2005/11/25(金) 07:38:59ありがとうございます
インプレスの「C++基礎講座」読んでる範囲ではわからなかった…
0588デフォルトの名無しさん
2005/11/25(金) 10:05:09{
}
0589デフォルトの名無しさん
2005/11/25(金) 11:51:46common.hにmystructの宣言を放り込み
#include "common.h"して
ソースからTForm1::を取り去る
もやってみて、うまくいきました。
ありがとうございました。
0590デフォルトの名無しさん
2005/11/25(金) 15:12:52struct hoge; //hogeの宣言
struct hoge { void foo(); /*...*/ }; // hogeの定義
void hoge::foo() { /*...*/} //hogeのメンバ関数定義
0591デフォルトの名無しさん
2005/11/25(金) 19:42:48C言語かC++を学びはじめたいと思っています。
用途としては、数値計算をするプログラムを将来作りたいと思っています。
そこで、質問なのですがCとC++どちらを始めた方がよいですか?
誰か親切な方、教えてくれませんか?
0592デフォルトの名無しさん
2005/11/26(土) 02:24:49正直どっちでもいいけど、C++をやるなら、既存のCで書かれたライブラリを呼び出すのに
extern "C" だけ忘れないようにすればよい。
どうせ数値計算ライブラリなんて、そんなに種類はない。
0593デフォルトの名無しさん
2005/11/28(月) 04:06:14バージョンアップ
http://store.borland.co.jp/upgrade/delphi_upgrade_0727.html
0594デフォルトの名無しさん
2005/11/28(月) 04:36:100595デフォルトの名無しさん
2005/11/29(火) 01:07:460596デフォルトの名無しさん
2005/11/29(火) 01:15:190597デフォルトの名無しさん
2005/11/29(火) 01:17:50あと焼き方はなんか特殊なやつなんですよね?
0598デフォルトの名無しさん
2005/11/29(火) 03:50:55大抵Builderです
0599 ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
2005/11/29(火) 15:28:33( ´・ω・`) ∧_∧
/ \ (´∀` ) ハハハ
__| | | |_ / ヽ
||\  ̄ ̄ ̄ ̄ / .| | |
||\..∧_∧ (⌒\|__./ ./
||. . ( ) ~\_____ノ| ∧_∧.
. _/ ヽ \| ( ´_ゝ`) 何だコイツ?
. | ヽ \ / ヽ.
. | |ヽ、二⌒) / .| | |
. .| ヽ \∧_∧ (⌒\|__./ ./
ヽ、___ ( ) プッ ~\_____ノ| ∧_∧
. _/ ヽ \| (´Д` )ダセー
. | ヽ \ / ヽ、
. | |ヽ、二⌒) / .| | |
. .| ヽ \\ (⌒\|__./ ./
. ヽ、____ \\ ~\_____ノ|
0600デフォルトの名無しさん
2005/11/30(水) 18:19:510601デフォルトの名無しさん
2005/11/30(水) 23:10:07そこで、タクストレイを右クリックしたら起動しているプログラム
がすべて最小化するようにしたいのですがどのようにすれば
よいでしょうか?
0602デフォルトの名無しさん
2005/11/30(水) 23:19:010603デフォルトの名無しさん
2005/12/01(木) 11:26:23知らないならレスしないでください。ウザイです。
0604デフォルトの名無しさん
2005/12/01(木) 12:05:050605デフォルトの名無しさん
2005/12/01(木) 12:32:07タスクトレイか
俺も知りたいな
0608デフォルトの名無しさん
2005/12/01(木) 14:25:380609デフォルトの名無しさん
2005/12/01(木) 14:35:10役立たずの言い訳乙!
(・∀・)ニヤニヤ
0610デフォルトの名無しさん
2005/12/01(木) 14:40:230611デフォルトの名無しさん
2005/12/01(木) 15:11:290612デフォルトの名無しさん
2005/12/01(木) 15:39:28ぷぎゃーwwwwwwwwwwwww
0613デフォルトの名無しさん
2005/12/01(木) 15:40:09(´_ゝ`) フーン
0614デフォルトの名無しさん
2005/12/01(木) 17:13:46複数フィールドを持つParadoxのTTableに対して
各々のフィールドの値がコレ!というレコードに移動したいのですが…
whileループで回すのってダサいと思うので、瞬時に移動出来るメソッドがあれば、と。
0615デフォルトの名無しさん
2005/12/01(木) 21:22:430616デフォルトの名無しさん
2005/12/02(金) 05:04:020617デフォルトの名無しさん
2005/12/02(金) 16:50:50http://www.borland.co.jp/qanda/cbuilder/c0002827.html
http://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-068.html
0618デフォルトの名無しさん
2005/12/02(金) 19:43:32グレースケールのbitmapを読み込み処理したいのですが、読み込みの部分が全くわかりません。
実際の処理または適当なサンプルが置いてある場所など教えていただけないでしょうか?
現在の超初心者スレのレベルよりさらに低い質問になってしまいますが、ご教授願えればと思っております。
よろしくお願いします。
0619デフォルトの名無しさん
2005/12/03(土) 01:03:36自分のディスクから検索してごらんw
0620デフォルトの名無しさん
2005/12/03(土) 08:28:10適当なTStream派生クラスにビットマップ読み込んで
TBitmap::LoadFromStream(TStream*);
TFileStreamで扱える物なら
TBitmap::LoadFromFile(AnsiString);
0621デフォルトの名無しさん
2005/12/05(月) 18:32:290622デフォルトの名無しさん
2005/12/05(月) 23:31:11ものを返してくる環境が(主に 9x で)たまにあるようなのですが、
fread() とかって、この時代にはもう使っちゃいかんものと思った方がいいのでしょうか?
0623デフォルトの名無しさん
2005/12/08(木) 15:11:17何回オープンしても問題はないですか?
0624デフォルトの名無しさん
2005/12/08(木) 16:59:10ふと更新の際のちらつきが気になってダブルバッファ処理をしたくなりました。
どうやるのですか?
0625デフォルトの名無しさん
2005/12/08(木) 17:11:28どうやって何回もオープンするつもりなのかそれを教えてくれ
0626デフォルトの名無しさん
2005/12/08(木) 17:12:12TImageつかえばいいやん
0627デフォルトの名無しさん
2005/12/08(木) 17:28:15ポインタに、何回もnewをして代入する。
0628デフォルトの名無しさん
2005/12/08(木) 18:51:43どうみてもメモリリークしてます。
0629デフォルトの名無しさん
2005/12/09(金) 11:55:19などとするがBCBだとどうすんの?
0630デフォルトの名無しさん
2005/12/09(金) 12:02:49Freeがあるだろ
0631デフォルトの名無しさん
2005/12/09(金) 12:12:24自己レス
Canvas->Handle使ってExtCreatePenで描けたが
他に方法ないか?
0632デフォルトの名無しさん
2005/12/09(金) 14:53:34やっぱループでTextWidthを見ていくしかないのかなぁ
内容変わるたんびに呼んでたらやたら時間がかかっちゃいそうだけど・・・orz
0633デフォルトの名無しさん
2005/12/09(金) 16:47:00FreeとCreateは呼び出すなゴルァってヘルプに書いてある
0634デフォルトの名無しさん
2005/12/09(金) 17:15:11書いてあっても呼び出しますが何か?
0635デフォルトの名無しさん
2005/12/11(日) 12:39:01E2303型名が必要
E2139宣言に;がない
と言われました。
ちゃんと
myClass o;
みたいにしてるのに><
0636デフォルトの名無しさん
2005/12/11(日) 12:49:57そうか、それは困ったな
で、それがどうかしたか?
0637635
2005/12/11(日) 13:27:480639デフォルトの名無しさん
2005/12/11(日) 16:23:401.
http://andy.jgknet.de/cpp/index.php
http://andy.jgknet.de/cpp/index.php?page=idecompilerspeedfix
↑のDownloadからファイルをそれぞれダウンロードし適当な場所に解凍する
2.
bcc32ide.exeを $(BCB)\bin フォルダにコピー
3.
BCBを起動し、パッケージのインストール→追加で解凍したファイルをインストールする
bcc32pchPlugin60.bplとIDECompilerSpeedFix60.bplをインストール(BCB5なら50.bplのファイル)
以上でインストール終了です。
プロジェクトの再構築をしてみましょう。奇跡が起きます!
0640デフォルトの名無しさん
2005/12/11(日) 18:38:250641デフォルトの名無しさん
2005/12/11(日) 18:48:06速くはなるがそこまでびっくりするほどじゃないぞw
0642デフォルトの名無しさん
2005/12/11(日) 20:56:47コード補間めっちゃ早くなってるから。
0643デフォルトの名無しさん
2005/12/11(日) 20:58:460644デフォルトの名無しさん
2005/12/11(日) 23:37:170645デフォルトの名無しさん
2005/12/11(日) 23:39:130646デフォルトの名無しさん
2005/12/11(日) 23:40:04俺は読んでないけど。
0647デフォルトの名無しさん
2005/12/12(月) 01:19:04一応レスしておくが、>>635のどこにも疑問文がないので答えようがない、というツッコミだと思う。
0648デフォルトの名無しさん
2005/12/12(月) 12:00:42サイトにもリドミにもこのファイルについて書いていないのだが…
0649デフォルトの名無しさん
2005/12/12(月) 16:00:03この中にあるけど・・・
0650デフォルトの名無しさん
2005/12/13(火) 00:41:43(つд⊂)エーン
0651デフォルトの名無しさん
2005/12/13(火) 01:12:53サイト読めば分かる。
0652デフォルトの名無しさん
2005/12/13(火) 06:55:270653デフォルトの名無しさん
2005/12/13(火) 07:34:30だからやめろっていったのに、こんなウイルス
0654デフォルトの名無しさん
2005/12/13(火) 12:02:350655ななしへたぐらま ◆XcB18Bks.Y
2005/12/13(火) 14:32:55>>621
・OwnerDataをTrueに(これで仮想リストになります).
・項目数が変わったら→Items.Countにデータ数を代入
・OnDataイベントハンドラ(必須)でパラメータItem.CaptionやItem.SubItemsにデータを設定.
・項目の中身が変わったら→UpdateItemsで指定範囲のインデックスの項目を再描画
みたいな感じです.
>>624
描画しているのが出来合いの画像なら>626,
そうでなければペイントボックスの親コントロールの
DoubleBufferedをTrueにするとうまくいくかも.
>>632
恐らくTextWidthでテキストの幅を調べるより
Memo1->Linesで各行のテキストを取得するのに時間がかかるでしょう.
(1行ごとにMEMOコントロールにメッセージを送り,結果が帰ってくるのを待っているため)
1行ずつLinesを参照するよりMemo1->Textを参照して丸ごと読み込んでから
(メッセージを送るのが1回になる)
1行ずつ切り出すようにすれば多少速くなるかもしれません.
(切り出しはTStringListを使うか改行コードを検索すれば良いと思います)
C++Builderはわからないのですが以下のような感じでしょうか.
TStringList sl;
new(sl);
sl -> Text = Memo1->Text;
(以下省略)
0656デフォルトの名無しさん
2005/12/14(水) 19:26:45実行時に設定したプロパティの内容が反映されません。
何が考えられるでしょうか?
0657デフォルトの名無しさん
2005/12/14(水) 21:12:330658デフォルトの名無しさん
2005/12/14(水) 23:53:30全てコピーしたいんだけどそういう関数ある?
ファイル1つならCopyFile関数で出来るんだが・・・
ないとしたらそのフォルダ以下のファイルパスを全部取得して
一つずつコピーすると思うんだけどその取得方法がわからない
どういう風に取得させるのか教えてください
0659デフォルトの名無しさん
2005/12/15(木) 00:03:080660デフォルトの名無しさん
2005/12/15(木) 03:01:14副作用があって駄目だな。
フォームにコンポーネントを貼り付けたり削除したりしてからメイクや再構築しても
その変更がまったく反映されない・・・orz
メニュー[プロジェクト(P)]配下のアドオン、CleanもDelete PCHも効き目無し。
フォームに変更を掛けたらその都度BCB再起動ののち再構築しろってことか?!
これって意味がない気が・・・。
もう一方の「IDECompilerSpeedFix60.bpl」だけで様子を見てみるか。
0661デフォルトの名無しさん
2005/12/18(日) 12:43:07どうしたらいいですか?
あとリソースのDLに失敗した時のイベントはありますか?
0662デフォルトの名無しさん
2005/12/20(火) 01:34:43Borland C++Compiler 5.5をインストールしたのですが、
コマンドプロンプトで、以下のように出てコンパイルができません。
-------------------------------------------------------------------
C:\prg\Sample\01\01>bcc32 -W 01.c
'bcc32' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
-------------------------------------------------------------------
何が足りないのでしょうか。
OS:WinXpHomeEditionです。
また、このあたりの解説が出ているHPがあれば、
教えていただけるとありがたいです。
0663デフォルトの名無しさん
2005/12/20(火) 02:02:300664デフォルトの名無しさん
2005/12/20(火) 02:07:26スレ違い こっち
タダで使えるBorland C++ Part4
ttp://pc8.2ch.net/test/read.cgi/tech/1091066805/l50
0665662
2005/12/20(火) 22:15:49THX! 感謝です。コンパイルできました。
当分は教えていただいたとこのお世話になると思いますが。
>> 663
頑張ってしらべたのですが、力及ばす。
自分の求めてる回答までいきつきませんでした。
ご教授ありがとうございました。
0666デフォルトの名無しさん
2005/12/21(水) 01:50:13デストラクタつくんなくていいの?
0667教えてください
2005/12/21(水) 02:17:57Windowsプログラムは初めてなので分らないことが多くて
困っています。教えてください。
1.レジストリにXXX.regをコピーしたいのですが簡単な方法はありますか?
今のところ、
RegCreateKeyEx
RegSetValue
RegCloseKey
という流れで考えています。
もっと簡単な方法があれば教えてください。
2.上記処理でもCreateエラーやSetエラーなどを考えないと
いけませんか?
3.HDD中のファイルを移動したいのですが、
私の知識では、
ファイルを読み込んで、
クリエイトして、、、
となってしまいますが
簡単なAPIがあれば教えてください。
よろしくお願いします。
0668デフォルトの名無しさん
2005/12/21(水) 02:26:30スレタイを声に出して百回読んだ後、回線切って氏ね
0669デフォルトの名無しさん
2005/12/21(水) 10:11:580670デフォルトの名無しさん
2005/12/21(水) 12:46:39IHTMLDocument2インタフェース取ってきてスタイルシートいじればいけるはず
0671デフォルトの名無しさん
2005/12/21(水) 13:48:51{
:
}
class Box : public TCustomControl
{
private:
cWrdn* FCWrdn;
protected:
virtual void __fastcall SetCWrdn(cWrdn* value);
virtual void __fastcall Paint();
public:
__property Canvas;
__property Parent;
__property cWrdn* CWrdn = {read=FCWrdn, write=SetCWrdn};//error
__fastcall Box(TComponent* Owner);
__published:
__property Align;
};
コンポーネント作成中のヘッダです。
errorの行が、E2040宣言が正しく終了していない
と言われます。
間違いを教えて下さい><
0672デフォルトの名無しさん
2005/12/21(水) 21:15:371. RegファイルならShellExecuteやCreateProcessでregedit.exeの引数に渡せば適当に読み込んでくれる。
3. ShFileOperationあるいはMoveFile
0673デフォルトの名無しさん
2005/12/21(水) 21:21:09FCWrdn()はどこにあるの?
0674デフォルトの名無しさん
2005/12/21(水) 21:21:44あーわかった。
×cWrdn* FCWrdn;
○cWrdn* FCWrdn();
0675デフォルトの名無しさん
2005/12/21(水) 21:59:160676デフォルトの名無しさん
2005/12/21(水) 22:00:03FCWrdnはポインタで、要するにreadはダイレクトにアクセスするだけで
読みだし用メソッドは考えておりません。
0677デフォルトの名無しさん
2005/12/21(水) 22:05:28確かこういう場合は読み取りメソッドを挟まないと駄目でそ?
0678デフォルトの名無しさん
2005/12/21(水) 22:06:030679デフォルトの名無しさん
2005/12/21(水) 22:09:30そんな事はない。
0680デフォルトの名無しさん
2005/12/21(水) 22:20:00{
} ←のセミコロンの抜けがただの写し忘れだとして、
>>671のはコンパイル通るから、そのコードからじゃ分からなさそう
0681デフォルトの名無しさん
2005/12/21(水) 22:37:140682ななしへたぐらま ◆XcB18Bks.Y
2005/12/22(木) 01:20:13(例によってBCB未体験ですが)
コンポーネントがオブジェクトを所有している場合,
たとえばコンポーネント内でオブジェクトを生成した場合などをのぞけば
デストラクタのオーバーライドは基本的に不要だと考えてよいと思います.
0683デフォルトの名無しさん
2005/12/22(木) 01:48:53ありがとうございました
0684671
2005/12/22(木) 11:49:04プロパティ一個もない単なるクラスなんだけど
0685デフォルトの名無しさん
2005/12/22(木) 16:06:10どうすればいいですか
0686デフォルトの名無しさん
2005/12/22(木) 16:07:100687デフォルトの名無しさん
2005/12/23(金) 19:26:48とかの""内に、テキストとしての"を入れたいんですけどどうすればいいですか?
0688デフォルトの名無しさん
2005/12/23(金) 19:50:460689デフォルトの名無しさん
2005/12/25(日) 12:30:10あまりにストレートな回答で
687が気付かないと懸念するが如何
0690デフォルトの名無しさん
2005/12/26(月) 13:34:110691デフォルトの名無しさん
2005/12/26(月) 16:05:38グローバルフックでいけると思う
0692デフォルトの名無しさん
2005/12/26(月) 16:41:572byteのバイナリデータを読み込んで10進数化するにはどうすればよいのでしょうか?
0693デフォルトの名無しさん
2005/12/26(月) 16:52:11リファレンスについて質問です。
関数の仮引数の"const T&"と、(constでない)"T&"のメカニズムが分かりません。
constの場合はなぜ、T型でなくてもいい(そのような仕様にした)のでしょうか?
よろしくお願いします。
0694デフォルトの名無しさん
2005/12/26(月) 16:53:42すみません。
参考になるHPがあったらURLを教えてください
0695デフォルトの名無しさん
2005/12/26(月) 17:01:18>2byteのバイナリデータ
16進文字列か数値か、もしくはその他かで話が違う。
>10進数化
10進文字列か数値か、もしくはその他かで話が違う。
数値入力かつ数値出力なら変数に入っている数値をプログラマがどう意識するかの違いだが。
0696デフォルトの名無しさん
2005/12/26(月) 17:05:53例えば
FF 00 → 255
10 00 →16
10 0A →2576
としたいのですが、簡単な方法は無いでしょうか?
0697デフォルトの名無しさん
2005/12/26(月) 17:41:14HWND handle = ::FindWindow( "Notepad", "無題 - メモ帳" );
hInst = (HINSTANCE)::GetWindowLong( handle, GWL_HINSTANCE );
hMyHook = ::SetWindowsHookEx( WH_KEYBOARD, (HOOKPROC)MyHookProc, hInst, 0 );
if( !hMyHook ) ::MessageBox( Handle, "フックに失敗しました", "Error", MB_OK );
これフックに失敗するのですが、何が原因でしょうか?
0698デフォルトの名無しさん
2005/12/26(月) 17:44:44BYTE 列を unsigned char b[] 、数値配列(十進と理解できるもの)を int d[] として、
for (int i = 0;i < 10;i++)
d[i] = (short &)b[i*2];
0699デフォルトの名無しさん
2005/12/26(月) 17:51:43ありがとうございます。早速試してみます。
0700デフォルトの名無しさん
2005/12/26(月) 18:21:27他のプロセスに対するフックの場合はフックプロシージャ(MyHookProc)はDLLに作らなくてはならず、
SetWindowsHookExの3番目の引数(hInst)は、そのDLLのハンドルでなくてはならない。
その上で特定のスレッド(メモ帳)に対してフックしたいなら、そのスレッドIDを4番目の引数で指定する。
指定しなければグローバルフックになる。
0701デフォルトの名無しさん
2005/12/26(月) 18:44:28なるほど、確かに色々検索していたらDLLを作るってかいてました。
親切にありがとうごあああいmす
0702デフォルトの名無しさん
2005/12/26(月) 21:42:59教えていただけないでしょうか
0703デフォルトの名無しさん
2005/12/27(火) 00:01:50TForm::ActiveControl
TScreen::ActiveControl
0704デフォルトの名無しさん
2005/12/27(火) 00:24:34便利だから
逆に、非const参照を引数に取る関数は、その引数を書きかえることが前提。
それに一時オブジェクトを渡しても意味がないしバグの温床になりかねないので禁止されてる。
0705デフォルトの名無しさん
2005/12/27(火) 01:57:27const T&を仮引数にするのは殆どの場合,本来Tにすべきだが効率上の都合だけでconst T&になっている。
だからconst T&がT以外でも受け付けるのは仮引数の型がTの場合と同じ挙動になるようにしているため。
という話を聞いたことがある。
0706デフォルトの名無しさん
2005/12/27(火) 23:46:15例えばテキストボックスの中で、テンキーの * を押すと
バックスペースの変わりになるとかをしたいのです
よろしくお願いします
0707693
2005/12/27(火) 23:50:42勉強になりました。
ありがとうございました。
0708デフォルトの名無しさん
2005/12/27(火) 23:54:26void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if (Key == '*')
Key = '\b';
}
0709デフォルトの名無しさん
2005/12/27(火) 23:56:330710デフォルトの名無しさん
2005/12/27(火) 23:58:260711デフォルトの名無しさん
2005/12/28(水) 19:58:50電卓プログラムと称して以下の表記がありました。
program:
END
expr_list END
expr_list:
expression PRINT
expression PRINT expr_list
expression:
expression + term
expression - term
term
以下略
しかし、意味がさっぱり分からなくて困っています。
詳しく説明したサイトがあったら、教えて欲しいのですが。
ドラゴンブックを読んでも、上記のような表記法は見あたりませんでした。
よろしくお願いします。
0712711の続き
2005/12/28(水) 20:00:23詳しく説明したサイトがあったら、教えて欲しいのですが。
ドラゴンブックを読んでも、上記のような表記法は見あたりませんでした。
よろしくお願いします。
0713デフォルトの名無しさん
2005/12/28(水) 20:20:11なんらかのパーサジェネレーター用のコードだろうなあ。
読み方はprogramは何も無いかexpr_listがひとつあるかどちらかで、expr_listはexpressionのあとにPRINTが続いて終わるかその後にまた同じものが続くかどちらかで…だろう。
それ以上はわからん。yaccとは違うように思える。
その本にポインタが示されて無いか?
0714712
2005/12/28(水) 20:26:45多分BNFだと思うのですが、何でこんな表記が必要なんだろう?
ポインタは示されていません。
引き続き待たせてもらいます。
0715デフォルトの名無しさん
2005/12/28(水) 20:32:560716712
2005/12/28(水) 20:36:12おさわがせしました。
さようなら
0717デフォルトの名無しさん
2005/12/28(水) 20:38:38とりあえずそこをすっ飛ばして先を読んで、
実際に電卓プログラムを打ち込んで動作させてごらん。
なお、「プログラミング言語C++」は初心者が読む本じゃないよ。
一通りの知識とある程度の経験を蓄えて読んだほうが良い。
C++を学ぶ上では必読の本ではあるがね。
あと、微妙にスレ違いの話題だな。
今後はC++スレに行きなさい。
0718712
2005/12/28(水) 20:46:50C++スレに逝って来ます。
0719デフォルトの名無しさん
2005/12/31(土) 16:27:59[C++ エラー] winsock2.h(109): E2238 'fd_set' の宣言が複数見つかった
[C++ エラー] winsock.h(54): E2344 一つ前の 'fd_set' の定義位置
[C++ エラー] winsock2.h(112): E2146 宣言には識別子が必要
[C++ エラー] winsock2.h(153): E2238 'timeval' の宣言が複数見つかった
:
:
:
[C++ エラー] winsock2.h(625): E2228 エラーあるいは警告が多すぎる
と出てコンパイルできなくなってた…(涙
どうすればいいんでしょ?
0720デフォルトの名無しさん
2005/12/31(土) 17:13:07プロジェクトオプションの「条件定義」に「_WINSOCKAPI_」を追加汁
0721デフォルトの名無しさん
2005/12/31(土) 18:52:23だめですた
NO_WIN32_LEAN_AND_MEAN;_WINSOCKAPI;_DEBUG
となっていますが、変化ありません
申し送れましたが、BCB6UPD#4,Win2kSP4です
0722デフォルトの名無しさん
2005/12/31(土) 18:57:41_WINSOCKAPI じゃなくて
_WINSOCKAPI_
0723デフォルトの名無しさん
2005/12/31(土) 21:26:26ありがとうございました
今度は
-----------------------------------------------------------------------------------
if(hThread==NULL){
if(NULL!=(hThread=CreateThread(NULL,0,CaptureThread,0,0,&ThreadId))) //←ここんとこ
}else{
TerminateThread(hThread,ThreadId);
hThread=NULL;
}
-----------------------------------------------------------------------------------
のところで
[C++ エラー] Unit1.cpp(106): E2451 未定義のシンボル CaptureThread
と言われますた
クソして回線切って引き篭もります
0724デフォルトの名無しさん
2005/12/31(土) 22:07:04CaptureThreadは何か(と言ってもおそらくCreateThread)の打ち間違いではないかい?
0725723
2006/01/01(日) 14:22:36unsigned long __stdcall CaptureThread(void *ArgList)
{
getkekka(Label4->Caption);
Form1->hThread = NULL;
return (0);
}
//---------------------------------------------------------------------------
0726デフォルトの名無しさん
2006/01/01(日) 18:06:12単純にUnit1.cppの106行目の時点ではまだCaptureThreadが見えていないと予想。
0727デフォルトの名無しさん
2006/01/03(火) 20:19:09#include <ifctream>
が検索したら、ヒットしました。
文字通り超初心者です。よろしくお願いします。
0728デフォルトの名無しさん
2006/01/03(火) 20:53:56#include <ifstream>
using namespase std;
:
:
ifstream inputFile( "data.txt" );
if (inputFile.good()) {
//読み込み処理
:
:
inputFile.close();
}
0729伝説新人タクシ
2006/01/03(火) 21:08:36ttp://www.kumei.ne.jp/c_lang/cpp/cpp_72.htm
参考に
ttp://docs.sun.com/source/806-4840/Standard.html
0730デフォルトの名無しさん
2006/01/04(水) 16:22:19とりあえず画はでるようになったのですが、
ScanLineでセットした値と後からPixelsで読み出した値が異なるのですが、
ガンマ変換みたいな処理が何処かで行われているのでしょうか?
確認用にScanLineで全画素各色を0x80(全面灰色)で埋めました。
後からPixselsで読むとR=84h,G=82h,B=84hで返ってきます。
アドバイス宜しくお願いします。
0731デフォルトの名無しさん
2006/01/04(水) 17:02:10画面の表示色数が16bitで、そのビットマップをフォームか何かに描画した色を読んでるとかじゃなくて?
0732730
2006/01/04(水) 17:30:20有り難うございました。
0733デフォルトの名無しさん
2006/01/05(木) 10:40:33SysInit.hppでエラーが発生する様になってしまいました。
オプションを元に戻しても直りません。
一度プロジェクトを作り直しと現象をおさまりますがオプションを変更すると再発します。
単体実行可能なEXEファイルを作ろうとオプションを変更しているだけなのですが。
[C++ エラー] SysInit.hpp(18): E2141 宣言の構文エラー
[C++ エラー] SysInit.hpp(25): E2141 宣言の構文エラー
宜しくお願いします。
0734デフォルトの名無しさん
2006/01/07(土) 16:31:49OnChangeイベントは変更後に来てしまっていて、変更前に
入力を拒否することは出来ないみたいです。
半角数字以外の入力を拒否できるようにならないでしょうか。
0735デフォルトの名無しさん
2006/01/07(土) 19:09:05リンカオプション弄ってコンパイルエラー?なんて妙なこと言ってるようにしか読めないので
何のオプションを変えてるかも書いた方がいいと思われ
>>734
OnKeyPress
0737デフォルトの名無しさん
2006/01/09(月) 22:02:20プログラムを作りたいんですが、どのコンポーネントを使えばいいんですか?
0738デフォルトの名無しさん
2006/01/09(月) 22:39:41俺ならIdHTTP
0739デフォルトの名無しさん
2006/01/11(水) 07:37:06上記URLのHPからGSLをダウンロードしてプロジェクトに
数値計算用のライブラリを追加しようと考えています。
とりあえず[プロジェクト → プロジェクトへ追加]
からlibフォルダにあるgsl.libおよびgslcblas.libをプロジェクトに追加しました。
で、実際に関数を使おうと思って(例としてベッセル関数)、ヘッダファイルに
#include <gsl/gsl_sf_bessel.h>を追加してコンパイルしましたが
[C++ エラー] Unit1.h(14): E2209 インクルードファイル 'gsl/gsl_sf_bessel.h' をオープンできない
となります。なにが不味いのでしょうか?
というかC++自体初心者ですので自分がやっていることが正しいのかどうか
ほとんど分からない状況です。
よろしくお願いします。上記していること意外はなにもいじっていません
0740デフォルトの名無しさん
2006/01/11(水) 10:10:150741デフォルトの名無しさん
2006/01/11(水) 13:01:23君の頭が不味い。
0742デフォルトの名無しさん
2006/01/11(水) 13:08:30プロジェクト→オプション→ディレクトリ
インクルードパスにヘッダのディレクトリを追加
ライブラリパスにlibのディレクトリを追加
0743デフォルトの名無しさん
2006/01/12(木) 11:07:40君の頭も不味い。
"〜";
0744デフォルトの名無しさん
2006/01/12(木) 12:26:38その程度ならURLDownloadToFile()で十分じゃん。
0745デフォルトの名無しさん
2006/01/15(日) 01:20:14マウス使わずに踏むにはどうしたらいいですか?
0746デフォルトの名無しさん
2006/01/15(日) 01:59:45踏みたいエレメントの _Click() を呼ぶ
0747デフォルトの名無しさん
2006/01/15(日) 06:41:45msimg32.libをリンカにインポートするとはどういう意味ですか?
0748デフォルトの名無しさん
2006/01/15(日) 06:42:230749デフォルトの名無しさん
2006/01/15(日) 10:33:59あんま聞かない表現だけど、リンカに渡してやればいいんでしょ。
プロジェクトオプションの「ディレクトリ/条件」タブの「ライブラリパス」に「$(BCB)\lib\psdk」を追加して、
ソースのどっかに「#pragma link "msimg32.lib"」って書けば使えるよ。
0750デフォルトの名無しさん
2006/01/15(日) 15:40:30もうちょっとkwsk
0751747
2006/01/15(日) 20:58:40レスありがとうございます。
ですが、「ディレクトリ/条件タブ」がみつかりませんでした・・・。
すみませんがどこにあるのか教えていただけないでしょうか?
0752デフォルトの名無しさん
2006/01/15(日) 21:52:31COMポートをオープンして、ボーレートとかの設定してデータの送受信をしたいのですがどうしたらよいのでしょう?
インターネットネットで調べてみたのですが超初心者の私にはさっぱりわかりませんでした。
どなたか教えて下さい。宜しくお願いします。
0753デフォルトの名無しさん
2006/01/15(日) 22:46:09メインメニュー→プロジェクト→オプション→…
なお#pragma link指令は普通ヘッダに書く
>>752
スレ違い。こっち↓
タダで使えるBorland C++ Part5
ttp://pc8.2ch.net/test/read.cgi/tech/1135127048/l50
0754デフォルトの名無しさん
2006/01/15(日) 23:03:55んなこたねー
0756747
2006/01/16(月) 06:34:59ありがとうございます、ですがどうもスレ違いの質問をしていたようです。
GUIで動かしてるみたいなので、
このスレはborlandの統合開発環境とかいうやつの事なんですね。
多分、僕の質問も>>752さんと同じ場所の内容だと思いますので、
そちらのほうで質問しなおしてみたいと思います
すみません、丁寧な説明ありがとうございました。
0757デフォルトの名無しさん
2006/01/16(月) 09:21:12TCppWebBrowserからIHTMLDocument2インタフェースを取得して、そこからDOMでエレメント取得。アンカー(A)オブジェクトのclickメソッド呼び出し。
IHTMLDocument2インタフェースの取得の仕方はぐぐれば出てきたはず。
0758デフォルトの名無しさん
2006/01/16(月) 17:35:12自分で作った構造体をvectorでメモリ確保は自分でやるとして
Strings->Objects[] に関連づけるとすると
構造体ポインタを無理矢理 reinterpret_cast<TObject*>(&my_struct)とキャストして
使って問題ないんでしょうか?
一応動くんですが どこかでメモリリークしてるみたいなんで
やり方は間違ってないんでしょうか?
リスト系の文字とデータ結びつけるのってこういう感じになるんでしょうか。
それともvectorのiteratorをそのままポインタとして使ってることに問題が..?
0759デフォルトの名無しさん
2006/01/16(月) 20:44:26質問の趣旨が不明確なのであてずっぽうで言うが
99%以上の確率でお前の書いたコードに問題がある。
どこが悪いか判断できないならコードを晒せ。話はそれからだ。
>それともvectorのiteratorをそのままポインタとして使ってることに問題が..?
vectorの要素をポインタで参照したかったらこうする。
std::vector<int> hoge;
//...
int* foo = &hoge[0];
でもメモリリークの原因は別だろうな、多分。
0760758
2006/01/16(月) 22:27:02Res有り難うございます。
コードはどこに問題があるかわからないので
晒す部分を絞り込むことさえできません(アフォ)
# std::vector<int> hoge;
# //...
# int* foo = &hoge[0];
これはhoge[0]のアドレスを指してるのはわかるんですが
イテレータから各コンテナのポインタを取得したい場合は
int* a;
std::vector<int>::iterator pos;
for(pos = hoge.begin(); pos != hoge.end(); ++pos)
{
a = &(*pos); //意味無いコードです
}
という感じなんでしょうか?
ようはvectorのiteratorからコンテナのポインタを取得する方法と
後はint*型のような組込型でもTStrings->Objects[]に関連
させるためにはTObject*型みたいな大げさな型にキャスト
しなくてはいけないのか?
という2点が疑問点です。 とりとめもなく長文ですみません。
0761デフォルトの名無しさん
2006/01/16(月) 22:35:20std::vectorに限っては特別で要素が連続していることになっている。
だから配列へのポインタみたいにこんなこともできる。
std::vector<int> hoge;
int *p = &hoge[0], pEnd = &hoge[0] + hoge.size();
while (p != pEnd)
... = p++;
0762デフォルトの名無しさん
2006/01/16(月) 22:42:57>a = &(*pos); //意味無いコードです
それでヲケ。カッコいらんけど。
>後はint*型のような組込型でもTStrings->Objects[]に関連
>させるためにはTObject*型みたいな大げさな型にキャスト
>しなくてはいけないのか
言いたいことは
×関連
○代入
なんだろうな、多分。
TString::ObjectsはTObject*型なんだから組込み型ポインタを代入するにはキャストするしかない。
あたりまえじゃん。
0763758
2006/01/16(月) 23:21:40へえ こういうのもアリなんですね。
>>762
>>a = &(*pos); //意味無いコードです
>それでヲケ。カッコいらんけど。
a = &*pos;
ですか?なんか読みにくい...
>あたりまえじゃん。
そうですよね。なんかイメージがわかなくて。
int型のポインタというと小さい気がするんですが
TObject型ポインタといとサイズが...
と思ってsizeofで測ってみたらどっちも4byteでした
なんか,大きな勘違いをしてました。型のサイズとかは
別に持ってて,ポインタはどんな型でも開始アドレスを
示しているだけということですか。
0764デフォルトの名無しさん
2006/01/16(月) 23:27:28>なんか,大きな勘違いをしてました。型のサイズとかは
>別に持ってて,ポインタはどんな型でも開始アドレスを
>示しているだけということですか。
おまえ、一から勉強しなおせ。
0765デフォルトの名無しさん
2006/01/16(月) 23:30:30シリアルポート(RS232C)の通信用に
OpenComm、ReadCommとかAPIがあったけど
OpenCommなんかは廃止されて今は
CreateFile でCOMポートをオープンするらしい
ググれば日本語の情報もあるとおもうが
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/msdn_serial.asp
0766デフォルトの名無しさん
2006/01/16(月) 23:38:02だからね、std::vector<int>::iteratorとbegin()とend()の代わりに
int *と&hoge[0]と&hoge[0] + hoge.size()が使える。
なぜならポインタはランダムアクセスイテレータの一種だから。
こうすれば&*と書く必要がない。
int* a;
int *pos;
for (pos = &hoge[0]; pos != &hoge[0] + hoge.size(); ++pos)
{
a = pos;
}
0768デフォルトの名無しさん
2006/01/17(火) 14:33:20DBGridで表示中のライン数を表示したいのですがどうすればいいのか分かりません。
昔は、RowCountプロパティで求められたように記憶しているのですが、
BDSでは見当たらないのです。(記憶違いかな?)
コードを書いて全件数求めるやり方しか方法はないのでしょうか?
よろしくお願いいたします。
0769デフォルトの名無しさん
2006/01/17(火) 21:52:26併用している方、教えてください!!
0770デフォルトの名無しさん
2006/01/17(火) 23:11:29今までと何も変わらないよ。
強いて言えばC++/CLIがあるから
.NetフォームアプリケーションではGUIを作った後が良くなったのかもしれない。
俺はC++/CLIは使ったことはないけれど。
あとExpressではリソースエディッタがない。
0771デフォルトの名無しさん
2006/01/18(水) 00:10:48ありがとうございました。
VC2003よりもVC2005はVBらしくなったと読みましたので、
少し期待したのですが違ったのですね。
VC#=VB>>>>VCという構図はそのままなんですかねぇ。
0772デフォルトの名無しさん
2006/01/18(水) 00:20:55C++/CLIはC++のスーパーセットだけど、拡張部分はまんまC#だと思えば良い。
今試しにWindows Formアプリケーションを作ってみたけど、使い勝手はC#の
それと極めて類似している。
.(ドット)が->(アロー)、*が^に(マネージオブジェクト)なったと思えば。
0773デフォルトの名無しさん
2006/01/18(水) 00:36:45しかもそうするとスコープを抜けるときにデストラクタが呼ばれたりすることに関してはC#より上。
0774デフォルトの名無しさん
2006/01/18(水) 00:44:160775デフォルトの名無しさん
2006/01/18(水) 00:49:08付いてるよ。
0776デフォルトの名無しさん
2006/01/18(水) 00:51:46あーそれがあったか。後、newの代わりにgcnewを使う(マネージオブジェクト)
位かな。気を付ける点は。managed C++がごちゃごちゃしていたのに対して、
本当に洗練されたね。本質は変わってないけど。
0777デフォルトの名無しさん
2006/01/18(水) 00:59:51( ・∀・)
0778デフォルトの名無しさん
2006/01/18(水) 02:03:41TCppWebBrowser *Browser
IHTMLDocument2 *doc2;
IHTMLElementCollection *ec;
Browser->Document->QueryInterface(IID_IHTMLDocument2,(void**)&doc2);
doc2->get_links(&ec);
ここまででたぶん、ドキュメント内のリンクのエレメントコレクションを取得しました。
で、ドキュメント内にあるリンクが
<a href="link.html">リンク1</a>
<a href="link2.html">リンク2</a>
<a href="link3.html">リンク3</a>
のようなnameもidも無いものだった場合、特定のリンクを選んでclick
させることはできますか?
0779デフォルトの名無しさん
2006/01/18(水) 17:59:58コレクションの走査が分からんの?
コレクションからエレメントが取れてるんなら、エレメントのouterHTML見れば<a〜/a>までの文字列が入ってるから、特定できると思うけど。
0780デフォルトの名無しさん
2006/01/18(水) 19:28:15検索結果を一覧で表示するプログラム
をc++builder6で作成するプログラムがわかりません。
どなたか教えてください。
0781デフォルトの名無しさん
2006/01/19(木) 17:42:460782デフォルトの名無しさん
2006/01/20(金) 09:27:33<P>
<A href="http://www.2ch.net" id="test">2ch</A>
<script type="text/javascript">
var obj = document.getElementById("test");
document.write(obj + "<BR>");
document.write(obj.href + "<BR>");
document.write(obj.firstChild.nodeValue + "<BR>");
</script>
0783782
2006/01/20(金) 09:31:27各個にhrefプロパティやA内のテキストノードの値を調べてオブジェクトを特定、clickメソッド呼び出せばいいだけ。
面倒だからJavascriptで書いたけどC++でも同じ。
0784デフォルトの名無しさん
2006/01/20(金) 17:07:02C++Builderへの乗り換えを検討しているのですが気になることがあります
仕事で使っても安心ですか?
将来性はありますか?
最適化性能はどうですか?
良さそうならEnterprise版に相当するものを上司に提案してみようと思ってます
0785デフォルトの名無しさん
2006/01/20(金) 17:11:360786デフォルトの名無しさん
2006/01/20(金) 18:19:310787デフォルトの名無しさん
2006/01/20(金) 18:26:57Pro版(激安)を上司に提案する方法がある。
とりあえず、ポトペタとC/C++系のコンパイルリンクは完璧。
コンパイル遅いだけで。
0788デフォルトの名無しさん
2006/01/20(金) 18:33:19「コード補完が泣ける程遅い」ってのも入れておいてくれ。
あと気になるのが標準のVCLクラスがUnicodeに対応していないってのが‥‥
0789デフォルトの名無しさん
2006/01/20(金) 19:11:32かなり速くなるぞ。コンパイルもな。
Unicodeはねえ・・・・
0790デフォルトの名無しさん
2006/01/20(金) 19:15:25難だっけ、これ?
>Unicodeはねえ・・・・
自分UTF-8で処理して、コンポに渡す瞬間にUtf8ToAnsiして渡してる。
で、おk。
0791デフォルトの名無しさん
2006/01/20(金) 19:17:25>C++Builderへの乗り換えを検討しているのですが
こういう人は、起動してポトペタした瞬間乗り換えだと思う。
某サイト(U$)から、体験版落とせ。
0792デフォルトの名無しさん
2006/01/20(金) 19:38:33乗り換えるべきじゃないの?
0793デフォルトの名無しさん
2006/01/20(金) 20:24:390794デフォルトの名無しさん
2006/01/20(金) 21:15:05動作が変にならない?
0795デフォルトの名無しさん
2006/01/20(金) 22:29:38>>639
但し、bcc32pchPlugin60.bplとIDECompilerSpeedFix60.bplは
同時に入れるなよ。前者は後者の機能を含んでいるので、両方
入れるとおかしな事になる。
0796デフォルトの名無しさん
2006/01/20(金) 23:51:530797デフォルトの名無しさん
2006/01/21(土) 01:32:300798デフォルトの名無しさん
2006/01/21(土) 02:09:35警察に聞くといいよ。
0799デフォルトの名無しさん
2006/01/21(土) 08:38:20ここに行け…話はそれからだ。
0800デフォルトの名無しさん
2006/01/21(土) 23:03:08http://vcf-online.org/
0801デフォルトの名無しさん
2006/01/22(日) 02:14:05自分で作らないと使い方覚えるのが面倒だろ。
そう言うのは買うんじゃなくて自分で作るのが一番なんだよ。
0802デフォルトの名無しさん
2006/01/22(日) 08:53:58BCBじゃなくてBCC5.5.1と予想
0803デフォルトの名無しさん
2006/01/22(日) 10:39:52とにかく全部ダブルクリックだ!
0804デフォルトの名無しさん
2006/01/26(木) 01:50:07>コレクションの走査が分からんの?
遅レスですが、そうです。
idもnameも使える前提でいいので教えて下さい。
0805デフォルトの名無しさん
2006/01/28(土) 13:02:26最終的にc++を主力に覚えていきたいと思うのですが
c言語の機能を網羅してからc++に移行したほうがいいですか?
c++になったとき使えなくなるような機能はないのでしょうか?
c++はcの完全互換ではないとかきくので
0806デフォルトの名無しさん
2006/01/28(土) 14:01:14手続き指向かオブジェクト指向か
基本的にC++はCを含むけど極一部に挙動が変わるところがあったかもしらん。
てか
【初心者歓迎】C/C++室 Ver.24【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1135828083/
向きの話題。
ここはBDS2006含むBorland C++Builderのスレだから。
0808デフォルトの名無しさん
2006/01/29(日) 18:33:29{
Application->MessageBoxA("保存しますか?","終了",MB_YESNOCANCEL);
}
てな感じでダイアログを表示させた時、キャンセル押した時にアプリ終了を中止するのはどうやりますか?
0809デフォルトの名無しさん
2006/01/29(日) 18:41:33if (Application->MessageBox("保存しますか?", "終了", MB_YESNOCANCEL) == IDCANCEL)
Action = caNone;
0810デフォルトの名無しさん
2006/01/29(日) 20:06:34OnCloseQueryがそのためのイベント
0811デフォルトの名無しさん
2006/01/29(日) 22:34:57ありがとう。
>>810
ウィンドウの×を押した時のCloseイベントをキャンセルしたかったので。
0812デフォルトの名無しさん
2006/01/29(日) 22:44:16>ウィンドウの×を押した時のCloseイベントをキャンセルしたかったので。
だからそのためのイベントがOnCloseQuertyだってのに、この池沼
0813デフォルトの名無しさん
2006/01/29(日) 22:54:31bool CanClose = false;
if (FOnQueryClose) FOnQueryClose(this, CanClose);
if (!CanClose) return;
if (FOnClose) FOnClose(this);
}
0814デフォルトの名無しさん
2006/02/02(木) 09:57:56【コンパイラ名】Borland C++ 5.5.1
【質問内容】
makefileの書き方についての質問です。例えばディレクトリ構成が以下の時。
---------------
dir1
┣main.cpp
┣main.h
┣Makefile1
┣dir2
┃┣a.cpp
┃┣a.h
┃┗Makefile2
┗dir3
┣b.cpp
┣b.h
┗Makefile3
---------------
Makefile1を実行するとMakefile2とMakefile3が実行されa.objとb.objを作成。
その後a.objとb.objよりmain.exeを作成。このようなMakefile1を作成したいと
思い色々調べたのですがわかりませんでした。
参考になりそうなサイト
ttp://www.ecoop.net/coop/translated/GNUMake3.77/make_toc.jp.html
ttp://www.geocities.co.jp/Milano/8000/bcc/make.html
ttp://d.hatena.ne.jp/kurai/19791002
ttp://homepage3.nifty.com/kaku-chan/make/chapter_006.html
0815814
2006/02/02(木) 10:00:15どなたか、知恵を貸してください
0816デフォルトの名無しさん
2006/02/02(木) 10:09:06タダで使えるBorland C++ Part5
http://pc8.2ch.net/test/read.cgi/tech/1135127048/
0817デフォルトの名無しさん
2006/02/03(金) 06:24:030818デフォルトの名無しさん
2006/02/03(金) 07:45:17私も現在トライしてまして(ステータスバーにLEDを表示する)、
もうちょいでできそうです。
「StatusBar にアイコン表示」
あたりのキーワードでググったページを参考にしてますが、
他に参考になるところがあれば、私も紹介して頂きたいです。
0819デフォルトの名無しさん
2006/02/03(金) 18:13:23ステータスバーのプロパティ「Panels」でStatusPanelを新規追加して
その新規追加したStatusPanelのプロパティをpsOwnerDrawにしてやる
ステータスバーのイベントハンドラ OnDrawPanelに描画処理を書いてやる
とできた
0820デフォルトの名無しさん
2006/02/04(土) 06:58:27あり^^
0821デフォルトの名無しさん
2006/02/04(土) 11:48:14行番号を表示するのはどうやってやるんですか?
カーソル位置の行番号は表示されるんですが、行ごとにはどうやって
やるのかヘルプ見ても分かりません。
0822デフォルトの名無しさん
2006/02/05(日) 06:54:29:se nu
0823デフォルトの名無しさん
2006/02/07(火) 14:11:12取り出すにはどうしたらいいでしょうか?
例「あいうえおかきくけこ」という文字列があり
「おか」という指定後を与えると
「おかきくけこ」という文字列が欲しいです
0824デフォルトの名無しさん
2006/02/07(火) 15:23:36s = "あいうえおかきくけこ";
ss = s.Delete(1,s.Pos("おか"));
0825デフォルトの名無しさん
2006/02/07(火) 15:37:46ss = s.Delete(1,s.Pos("おか")-1);
かな
0826デフォルトの名無しさん
2006/02/07(火) 15:41:350827デフォルトの名無しさん
2006/02/07(火) 17:39:31これって文字列中に"おか"が入っていなかった場合の動作は平気なの?
0828デフォルトの名無しさん
2006/02/07(火) 18:15:28エラー処理って言葉知ってる?
0829デフォルトの名無しさん
2006/02/07(火) 19:53:41関数名を教わったんだから、その先は自分でヘルプ引きなよ
例外のことも書いてあるから。
そんなんじゃ進歩しないよ
0830デフォルトの名無しさん
2006/02/07(火) 22:07:00ゲームを作りたくてどの言語が良いのか迷ってます。
書店で見た感じではC++が多そうだったのですが、
どの言語が向いてる、とかはありますか?
0831デフォルトの名無しさん
2006/02/07(火) 22:34:07つーか、ゲーム製作板池
0832デフォルトの名無しさん
2006/02/08(水) 07:27:150833デフォルトの名無しさん
2006/02/08(水) 10:45:460834デフォルトの名無しさん
2006/02/08(水) 11:13:32その動きに沿って黒線が表示される、という
簡単なペイントみないなモノを作ったんですが、
印刷してみても真っ白になってしまいます。
ImageをPaintBoxに代えてみたりBitmapを考えてみたり
色々してみましたが、上手くいきません。
おそらく物凄い初歩的なミスだと思うのですが・・・
わかる方がいらしたら教えていただけないでしょうか?
0835デフォルトの名無しさん
2006/02/08(水) 14:07:17そんなに難しくはないとはいえ、メソッド一発で印刷してくれるわけじゃない。
その説明で問題点を言い当てるのは不可能。
TImage に描いたものと同じものを TPrinter の Canvas に描いて、
それを出力するというのが、順当な方法(他にもある)
0836デフォルトの名無しさん
2006/02/09(木) 11:00:14void __fastcall TForm1::Print1Click(TObject *Sender)
{
RichEdit1->Print(Caption);
TPrinter *Prntr = Printer();
Prntr->BeginDoc();
Prntr->Canvas->Draw(0,0, Image1->Picture->Graphic);
Prntr->EndDoc();
}
こんな感じにしているんですが・・・コレで問題点がわかりますでしょうか?
0837デフォルトの名無しさん
2006/02/09(木) 11:02:20ビットマップファイルから読み込んで表示させることができません。
void型の値は許されない
とか
TCanvas*型で定義されているのでvoidは渡せない
とエラーが出てしまいます。
何か別のを使うのでしょうか?
教えてください。おねがいします。
if(ComboBox1->ItemIndex==1){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("001.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
else if(ComboBox1->ItemIndex==2){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("002.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
else if(ComboBox1->ItemIndex==3){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("003.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
else if(ComboBox1->ItemIndex==4){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("004.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
0838デフォルトの名無しさん
2006/02/09(木) 12:54:33BMP->LoadFromFile("001.bmp");
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),BMP,Rect(0,0,BMP->Width,BMP->Height));
でいけるんじゃないかな。
あと、switch-case の方が見通しがよくなるのと、PB1->Canvas->Draw(20,20,BMP);
の方が楽じゃね?
>>836
Image1 に対して、Lineto とか行ってる筈で、それと同じことを同時に
Prntr->Canvas に対して行う。
それが面倒で、どうしてもそのままのものを印刷したいと思ったら、
bitmap をそのまま出力する手もあるけども、これは少し難しい。
http://www.hey-to.net/ML-archive/vcppML/1999/msg10787.html
0839デフォルトの名無しさん
2006/02/09(木) 13:03:50http://live22x.2ch.net/test/read.cgi/news/1139444093/
0840デフォルトの名無しさん
2006/02/09(木) 13:59:150841デフォルトの名無しさん
2006/02/09(木) 14:24:270842836
2006/02/09(木) 14:26:12アドバイスありがとうございます。
なんとかぎこちないながらも印刷できるようになりました。
印刷のときとても小さく印刷されてしまうのですが、大きく印刷する方法等はあるのでしょうか?
プリンタのプロパティの出力サイズやズームをいじるとエラーが出てしまいます。
解決方法がわかるなら教えていただきたいのですが・・・。
0843デフォルトの名無しさん
2006/02/09(木) 14:35:50印刷までたどりつけば、あとはヘルプと検索で自力解決できると思うよ。
0844デフォルトの名無しさん
2006/02/09(木) 15:03:570845836
2006/02/09(木) 15:35:23やってみます。
0846デフォルトの名無しさん
2006/02/09(木) 15:44:45ありがとうございます。
おかげで絵が表示されるようになりました!
ですが、ファイルの入出力を行うと
「ファイルが開けません」と、エラーが出て表示されなくなってしまいます。
何が間違っているのでしょう?
教えてください。お願いします。
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
Caption=OpenDialog1->FileName;
BMP->LoadFromFile("001.bpm");
PB1->Canvas->Draw(0,0,BMP);
0847デフォルトの名無しさん
2006/02/09(木) 15:51:480848デフォルトの名無しさん
2006/02/09(木) 16:01:35Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
Caption=OpenDialog1->FileName;
BMP->LoadFromFile("001.bmp");
PB1->Canvas->Draw(0,0,BMP);
でした。
お願いします。
0849デフォルトの名無しさん
2006/02/09(木) 16:14:54String path = GetCurrentDirectory()
SetCurrentDirectory(path)
で挟む。
0850デフォルトの名無しさん
2006/02/09(木) 16:24:14何を挟めばいいのでしょう??
0851デフォルトの名無しさん
2006/02/09(木) 16:28:33ヒントは十分(というか与えすぎたことを反省してる)だから、あとは自分で考える。
0852デフォルトの名無しさん
2006/02/09(木) 16:30:56できました!ありがとうございました。
0853836
2006/02/09(木) 16:48:28簡単な見落としがあるような気がするのですが・・・。
そう難しくないことなのでしょうか?
0854デフォルトの名無しさん
2006/02/09(木) 18:08:110855デフォルトの名無しさん
2006/02/09(木) 18:16:14Prntr->PageWidth と、Image->Canvas->Width の比率に合わせて大きく描く。
0856デフォルトの名無しさん
2006/02/10(金) 11:02:12何か不具合あったりするんでしょうか?
VC++2005 Expressよりよさそうなので使ってみようと思うのですが
0857デフォルトの名無しさん
2006/02/10(金) 13:02:13嘘はいかんよ嘘は。
0858デフォルトの名無しさん
2006/02/10(金) 15:08:450859デフォルトの名無しさん
2006/02/10(金) 15:10:470860デフォルトの名無しさん
2006/02/10(金) 16:16:53フヒヒスイマセン
0861デフォルトの名無しさん
2006/02/10(金) 19:25:41未承諾と書かれてしまう。
0862デフォルトの名無しさん
2006/02/10(金) 19:29:53どうすればいいですか?
0863デフォルトの名無しさん
2006/02/10(金) 19:32:40それはガセ
0864デフォルトの名無しさん
2006/02/11(土) 00:18:45嘘じゃないですよ
ttp://www.borland.pl/download/personal.shtml
ここから落としたのに当てたら日本語化されたんです
Borlandのページだからいいのかなと思うんだけど
0865デフォルトの名無しさん
2006/02/11(土) 21:41:06IdHTTPでproxyの設定を"インターネットオプションに従う"にするには
どうすればいいですか?
863 :デフォルトの名無しさん :2006/02/10(金) 19:32:40
>>862
それはガセ
0866デフォルトの名無しさん
2006/02/12(日) 00:51:030867デフォルトの名無しさん
2006/02/12(日) 01:21:09メモリ256で動く
0868デフォルトの名無しさん
2006/02/12(日) 01:32:59メモリ使用量が起動直後で20MBぐらいになってます
0869デフォルトの名無しさん
2006/02/12(日) 05:14:23スワップに耐えられる精神力を持ち合わせているかどうかが鍵だ。
ディスク残容量はいらないアプリは全部消せ。いける。
と言うか、アプリは全部自前で作ろうという気合いが必要だ。
それすらも出来ないのであればActiveBasicかHSPをお薦めする。
やはり精神力が重要だ。
0870デフォルトの名無しさん
2006/02/12(日) 05:29:14あほか。精神力、精神力って、体育系ですか?
スワップが嫌ならメモリ増やせばいいし、頭が悪い人にはプログラミングは出来ない。
0871デフォルトの名無しさん
2006/02/12(日) 06:33:08頭良いようには見えないな、とりあえず。
早朝からなに興奮してんだか。
0872デフォルトの名無しさん
2006/02/12(日) 07:52:16ネタにマジレスカコワルイ
なーつかしーw
0873デフォルトの名無しさん
2006/02/12(日) 14:05:13void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage("ぬるぽ");
}
0874デフォルトの名無しさん
2006/02/12(日) 14:17:25ガッ
0875デフォルトの名無しさん
2006/02/12(日) 22:44:560876デフォルトの名無しさん
2006/02/13(月) 09:48:03解決しました。有難うございました。
0877デフォルトの名無しさん
2006/02/13(月) 11:54:17どこに書かれるのか教えて!
だって悪痴をスルーしてるだけで、製品2つ(日本版、英語版)も買ったもん。
0878大倉
2006/02/13(月) 13:54:5210個の整数を並べ替えるプログラムを書く課題なのですが・・・
0879デフォルトの名無しさん
2006/02/13(月) 14:36:46たった10個ならバブルソートでもしとけば?
0880デフォルトの名無しさん
2006/02/13(月) 16:29:560881デフォルトの名無しさん
2006/02/13(月) 16:46:340882デフォルトの名無しさん
2006/02/13(月) 18:27:12全く同じexeを作るにはどうしたらいいんでしょうか?
0883デフォルトの名無しさん
2006/02/13(月) 18:54:290884デフォルトの名無しさん
2006/02/13(月) 23:47:41なにか簡単な方法がありますか?
scanlineで行えば良いのですが矩形領域のコピー位なら
なにか便利な方法が用意されている様な気がするのですが。
0885デフォルトの名無しさん
2006/02/13(月) 23:53:590886884
2006/02/14(火) 00:02:05有り難う!!
0887デフォルトの名無しさん
2006/02/15(水) 11:14:58さしあたっては今までBC++でできていたことがBCBでもできるか調べているところですが、
BC++のstreamable class(TStreamableBaseおよびその下位クラス)に相当するクラスはvcl
には無いのでしょうか。BC++だと例えばアプリで動的に生成させたオブジェクトをディスク
に書き込み、後からそのファイルを読んで保存した時点でのアプリの動作状態を復元する
ことができます(オブジェクトがTStreamableBaseを継承していれば)。
ところがBCBのヘルプを探してもそれに相当するクラスの記述が見つかりません。もとから
streamable classをサポートしていないのか、サポートしているなら適当なサンプルコード
がどこかに無いでしょうか。
0888デフォルトの名無しさん
2006/02/15(水) 11:48:34OWLもコンパイルできるんじゃね?
VCLなら、
TObject-TStreamがベースクラス、
それを派生したTResourceStreamとか、TFileStream、
TMemoryStreamとかがあるお。
0889デフォルトの名無しさん
2006/02/15(水) 11:55:19ちなみにアイコン化状態でWindowStateをみてもNormalだったので
0890デフォルトの名無しさん
2006/02/15(水) 11:59:270891デフォルトの名無しさん
2006/02/15(水) 12:53:19IsIconic(Application->Handle)
0892デフォルトの名無しさん
2006/02/15(水) 13:22:12馬鹿はレスしないでください
0893デフォルトの名無しさん
2006/02/15(水) 19:11:49*.pas はできそうなのに *.cpp のやりかたがわからない・・・
それに,パッケージのメイク(コンパイルって言い換えもなんだかなぁ)をすると,なぜリンクしようとするの?
なんだか頭が混乱してきました
どなたかアドバイスをください
0894デフォルトの名無しさん
2006/02/16(木) 16:09:270895デフォルトの名無しさん
2006/02/17(金) 00:03:300896デフォルトの名無しさん
2006/02/17(金) 15:04:51コード取得時にエラーが発生しました。
このインストール番号ではこれ以上登録キーを発行できません。
発行数を増やすにはボーランドインフォメーションサービスセンターにお問い合わせください。
0897デフォルトの名無しさん
2006/02/17(金) 18:54:390898デフォルトの名無しさん
2006/02/17(金) 19:28:510899デフォルトの名無しさん
2006/02/17(金) 20:25:13そのまんま
0900デフォルトの名無しさん
2006/02/18(土) 10:03:30下のようにフォームにボタンを設置してコードを書きました。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
色々処理;
}
後で、このボタンを押したときの処理を違う関数でも実行したくなったのですが、
Button1->OnClick(NULL);
とするか、
新しく自作関数を作り、そこに処理を書いて、2つの関数から呼び出す。
のどちらが良いと思いますか?
Button1->OnClick(NULL);の方が無駄がないような気がしたのですが迷っています。
0901デフォルトの名無しさん
2006/02/18(土) 11:07:23なんとなく、イベントハンドラ内はシンプルに、と考えてるから。
あとで引数を渡したくなった場合も対応しやすいし。
0902デフォルトの名無しさん
2006/02/18(土) 12:40:52ありがとうございますm(_ _)m
0903デフォルトの名無しさん
2006/02/23(木) 15:10:35に付属のC++ builderを使うようになりました。
以前に6で作成した計算プログラムを2006でビルドすると計算結果が違うため、デ
バッグをしようとしています。6であればプロジェクト−オプション−コンパイラで
デバッグボタンを押せばデバッグコードが埋め込まれてステップ実行が可能ですが、
2006でプロジェクト−ビルド設定でDebug buildを選択して適用ボタンを押しても
ブレークポイントでの停止やステップ実行が出来ません。方法を教えてください。
0904デフォルトの名無しさん
2006/02/23(木) 17:38:310905デフォルトの名無しさん
2006/02/24(金) 17:18:51された方はいらっしゃいますか?
自分はまだBDSを持っていないため確認がとれないのですが、
話を聞くところによると出来ないと伺ったもので…
もしインストールが行えた方がいらっしゃればその方法を
お教え願いたく思います。
0906デフォルトの名無しさん
2006/02/24(金) 23:52:08Builder6で新規作成→その他→コンソールウィザードと、
最初に学校で習うようなc++のソースをコンパイルしたのですが、
[リンカ エラー] 外部シンボル '__InitVCL' が未解決(C:\・・・\LIB\CP32MTI.LIB|crtlvcl が参照)
[リンカ エラー] 外部シンボル '__ExitVCL' が未解決(C:\・・・\LIB\CP32MTI.LIB|crtlvcl が参照)
と、2つのエラーがでます。
コンソールウィザードを選んで「VCLを使う」チェックを外すと、
コンパイルできる時もあるのですが、固まってしまう時もあります。
どうすれば無事コンパイルすることができるのかご教授お願いします。
0907デフォルトの名無しさん
2006/02/25(土) 07:01:05#include <vcl.h>
を消してない?
0908デフォルトの名無しさん
2006/02/25(土) 11:30:38コンパイルはできるようになりました。
しかし、コンパイルできたソースのreturn (0);の前に
cin>>n;(DOS窓がすぐ消えるのを防ぐため)とかと入れてコンパイルすると
「→ int main(void)」と緑の矢印が表示されたままDOS窓が固まってしまいます。
終了させてもう一度コンパイルすると何故か正常に動きます。
何故こうなるのか教えてください。
0909デフォルトの名無しさん
2006/02/25(土) 14:03:03bcc32を使うのは俺くらいか?
0910デフォルトの名無しさん
2006/02/25(土) 15:35:150911デフォルトの名無しさん
2006/02/25(土) 15:41:00緑の矢印っていうから、そこでブレークしてるとかだろうけど。
0912デフォルトの名無しさん
2006/02/25(土) 18:50:29指定時刻に指定音量で指定mp3ファイルを演奏したいのです。
使うべきコンポーネントの指針を与えて下さい。
0913デフォルトの名無しさん
2006/02/25(土) 20:02:08MCIかDirectShow(ActiveMovie)を直接叩く。
TMediaPlayerはMCI呼んでたと思うから行けると思うけどあのUIはいらん。
普通のWaveならsndPlaySoundとかで逝けるけど。
0914912
2006/02/25(土) 22:33:27普通にTMediaPlayerとTTimerで実装できました><
ありがとうごちそうさま
0915デフォルトの名無しさん
2006/02/26(日) 22:55:390916デフォルトの名無しさん
2006/02/27(月) 00:08:440917デフォルトの名無しさん
2006/02/27(月) 09:58:540918デフォルトの名無しさん
2006/02/27(月) 10:49:140919デフォルトの名無しさん
2006/02/28(火) 01:01:02一つのスレッドに↓のタイマーを作りました。
InitializeCriticalSection()で初期化したSectionを使っています。
void __fastcall TForm1::Timer_Draw_CanvasTimer(TObject *Sender)
{
EnterCriticalSection(&Section);
Canvas->Draw(0, 0, Back_Screen);
LeaveCriticalSection(&Section);
}
もう一つスレッドを作成して、↓のような動作をさせました。
void __fastcall Thread::Execute()
{
while(1){
EnterCriticalSection(&Section);
Form1->Canvas->Draw(0, 0, Back_Screen);
LeaveCriticalSection(&Section);
}
}
そしたら、排他処理がうまくいかずに壊れて描画されなくなってしまいます。
CriticalSectionではなく、Synchronize()なら大丈夫だったのですが、
できればCriticalSectionを使いたいので、どなたか助言御願いしますm(_ _)m
0920デフォルトの名無しさん
2006/02/28(火) 01:37:11ヘルプを眺めていたらグラフィックの排他処理についてあったので、
EnterCriticalSection(&Section);
を
Back_Screen->Canvas->Lock();
LeaveCriticalSection(&Section);
を
Back_Screen->Canvas->Unlock();
としたら壊れなくなりました。
C++BuilderではCriticalSectionは使えないのかな?
失礼しましたm(_ _)m
0921デフォルトの名無しさん
2006/03/03(金) 07:26:320922デフォルトの名無しさん
2006/03/03(金) 12:10:18でも、ogg vorbis の実装(.DLL を3つほど使うやつ)は中級者ならそれほど難しくない。
がんばって中級者になるのだー。
0923デフォルトの名無しさん
2006/03/03(金) 15:36:360924デフォルトの名無しさん
2006/03/03(金) 15:41:48OOPか否か。
0925デフォルトの名無しさん
2006/03/03(金) 16:08:57糞言語か否か。
0926デフォルトの名無しさん
2006/03/03(金) 17:02:50http://pc8.2ch.net/test/read.cgi/tech/1136453898/
0927デフォルトの名無しさん
2006/03/03(金) 22:15:30糞なのはJavaの方?
0928デフォルトの名無しさん
2006/03/03(金) 22:20:170929デフォルトの名無しさん
2006/03/03(金) 22:59:46どうやれば取れるでしょうか?
GetCurrentRecordを使用したらカレントレコードの1カラム目のデータしか
取れませんでした。(RecordSizeを無視して参照すれば取れましたが、
保証されていなさそうなので・・・)
0930デフォルトの名無しさん
2006/03/03(金) 23:10:290931デフォルトの名無しさん
2006/03/05(日) 15:05:38http://d.hatena.ne.jp/takel/searchdiary?word=*%5BWin32%5D
case WM_KEYDOWN:
{
if (wParam == VK_RETURN)
{
if (lParam & 0x1000000L)
{
// テンキー側のENTERキー
}
else
{
// 標準キーボード側の ENTER
}
}
} break;
0932デフォルトの名無しさん
2006/03/06(月) 03:33:25資料はどこを参照すればいいですか?
0934デフォルトの名無しさん
2006/03/06(月) 23:11:57音の取得はマルチメディアAPIのwaveIn〜系
波形の処理は知らない。
0935デフォルトの名無しさん
2006/03/08(水) 20:36:180936デフォルトの名無しさん
2006/03/09(木) 15:56:45取得する方法を教えていただけないでしょうか?
0937デフォルトの名無しさん
2006/03/10(金) 21:42:59なにかメッセージみたいなのがきているのでしょうか
アプリケーションの×(閉じる)ボタンが押された時に FormCloseQueryで
はいorいいえ ダイアログを表示させてから終了させるようにしているのですが、
シャットダウンが押された時このダイアログで止まってしまいます
使用者が×ボタンを押したのか、シャットダウンしようとしたのか判別したいのです
よろしくお願いいたします
0938デフォルトの名無しさん
2006/03/10(金) 21:59:15http://www14.big.or.jp/~ken1/tech/tech10.html
0939デフォルトの名無しさん
2006/03/10(金) 22:13:14ボーのQAにも書いてあるのに
http://www.borland.co.jp/qanda/cbuilder/c0003190.html
0940937
2006/03/10(金) 23:46:25期待の動作が出来そうです
本当にありがとうございました
0941デフォルトの名無しさん
2006/03/10(金) 23:56:290942ミ,,゚Д゚彡 ◆A6VzDeLphI
2006/03/11(土) 00:03:50こっちじゃだめ?
//フルパスファイル名からアイコンを取得
function GetIconForFileName(FileName: String; Large: Boolean): HICON;
var
SHFInfo: TSHFileInfo;
begin
if Large then
SHGetFileInfo(PChar(FileName),
0,
SHFInfo,
SizeOf(SHFInfo),
SHGFI_ICON or
SHGFI_LARGEICON or
SHGFI_DISPLAYNAME)
else
SHGetFileInfo(PChar(FileName),
0,
SHFInfo,
SizeOf(SHFInfo),
SHGFI_ICON or
SHGFI_SMALLICON or
SHGFI_DISPLAYNAME);
Result := SHFInfo.hIcon;
end;
0943デフォルトの名無しさん
2006/03/13(月) 07:00:33936です
質問で書いたExtractAssociatedIconで取得が出来ていたのでとらわれすぎていました。
実際にまだ使ってはいないのですが検索してみるとSHGetFileInfoでいけそうです。
ありがとうございました!!
0944デフォルトの名無しさん
2006/03/15(水) 14:19:22教えて
0945デフォルトの名無しさん
2006/03/15(水) 16:14:42ように、ヘッダで変数Radiusを定義してcppで初期化したところ、
E2451 未定義のシンボルのエラーが出ます。どこがいけないのでしょう?
Unit1.h
#include <vcl.h>
中略
#include <stdlib>
//---------------------------------------------------------------------------
class TForm1 : public TForm{
__published:// IDE 管理のコンポーネント
中略
private:// ユーザー宣言
double Radius;
中略
};
Unit1.cpp
#pragma hdrstop
#include "Unit1.h"
中略
void __fastcall TMainForm::CulcButtonClick(TObject *Sender)
{
Radius = 0;
中略
}
0946デフォルトの名無しさん
2006/03/15(水) 18:33:15継承していなければ論外。
あと計算はcalculationだが、それはいいのか?
0947デフォルトの名無しさん
2006/03/15(水) 21:20:14C++Builderがデフォルトで付ける名前で質問を書こうとして、
修正し損ねました。
0948デフォルトの名無しさん
2006/03/15(水) 21:23:55イベントハンドラは
void __fastcall TForm1::Button1Click(TObject *Sender)
でした。
0949デフォルトの名無しさん
2006/03/17(金) 00:41:41某開発キット(静的リンク用の*.hファイルと*.libファイルのみ提供)を使いたいのですが、
これがVisualC++向けに作られているそうです(VCで開発、テストしていますとある)。
これをBuilder4で使いたいのですが、、うまくいきません。
<やってみたこと>
単純に*.libファイルをプロジェクトに追加し、*.hをインクルードしたところ、*.hの中身で文法エラー
(virtual宣言の使い方に関して)が出た。
↓
重要な部分ではなさそうだったので、VisualC++とBuilderの文法の差異かとも考え、とりあえず
その一文はコメントアウトして再コンパイルしたら、こんどは*.libの中身が不正です、というような
リンカエラーが出た。すみません、エラーの詳細は会社のPCなので今は分かりません。
<分からないこと>
・静的リンクって、*.h、*.libに加えて*.dll自身も必要ではないのか??それとも*.lib自体が
動的リンクでいうところの*.dllと同じ働きをするもの?
・VisualC++用のライブラリをBuilderで使うにはそもそもどうしたら?
自分で調べた範囲だと、静的リンクでも*.libを媒介して結局は*.dllを使うように書いてあるように見える。
implibというツールを使って*.libを Builder用に変換すればよいのだろうか??
ちょっと情報がまとまって無くて申し訳ありません。一言でも助かりますので助言いただければ幸いです。
0950デフォルトの名無しさん
2006/03/17(金) 01:15:38> 動的リンクでいうところの*.dllと同じ働きをするもの?
スタティックリンクライブラリ
http://yougo.ascii24.com/gh/07/000718.html
インポートライブラリ
http://yougo.ascii24.com/gh/04/000478.html
どちらのlibを持ってるかによる。
> VisualC++用のライブラリをBuilderで使うにはそもそもどうしたら?
> 自分で調べた範囲だと、静的リンクでも*.libを媒介して結局は*.dllを使うように書いてあるように見える。
> implibというツールを使って*.libを Builder用に変換すればよいのだろうか??
DLLがあるなら、implibでインポートライブラリを作って、BCBで使える。
VC用のスタティックリンクライブラリしかないなら、VCでそのライブラリをリンクしたDLLを作って
そのDLLをBCBで使う。
0951デフォルトの名無しさん
2006/03/17(金) 08:29:59libファイルは本当の静的リンクを行う、中にコードの詰まったものと、
DLLをインポートするためのDLLへの参照が詰まったものと2種類ある。
お前が使いたいものはDLLが無いことから前者であるはずだ。
#ちなみにもし後者なら、たしかにimplibを使えばDLLからBCB用のlibを作れる。
lib(そしてobj)にはCOFFとOMFという2種類の形式がある。
VC++はCOFF、BCBはOMFを使っている。
だからVC用のlibは直接BCBでは使えない。
#ちなみにVC++はOMFも入力としては扱える。
そこでどうするかというと、何らかのツールでOMFへ変換する、OMFもCOFFも受け付けるリンカを使う、
或いはVC++でDLLを作ってそれをインポートするなどの方法が考えられる。
0952949
2006/03/17(金) 20:20:42知りたいことピンポイントでした。ありがとうございます。
どうやら私が持っているのはコードが入ったスタティックリンクライブラリのようです。サイズもでかいし。
リンクエラーのときに確かにOMFとCOFFの不一致、というような内容が表示されていました。
変換用にcoff2omfというようなツールもあるようですが、これはインポートライブラリ用のようですね。
とりあえずおとなしくVCで使うか、DLLを作成するしかなさそうです。
新しい方向が分かったのでまた調べて突き進みます。どうもありがとうございました。
0953http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 20:04:11もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
0954デフォルトの名無しさん
2006/03/23(木) 16:08:25TextOutで書いた後のような座標を得るワイズストラテジーきぼん
0955デフォルトの名無しさん
2006/03/23(木) 20:25:17仕様理解してない?
0956デフォルトの名無しさん
2006/03/23(木) 20:32:49塗り潰したくなかったら、Brush->Style = bsClearにする。
0957デフォルトの名無しさん
2006/03/23(木) 20:47:40そしたらその少しの隙間に予め書いてあった文字が消えるんです。
bsClearにしてみたんですが…
0958デフォルトの名無しさん
2006/03/23(木) 20:57:16んな事ないはずだけどな。
bsClearのあとにBrushに色とか設定したらbsSolidに変わるけど、そういう事してない?
0959デフォルトの名無しさん
2006/03/23(木) 21:17:210960デフォルトの名無しさん
2006/03/23(木) 22:54:51文字書きたい場合、予定の書き込みのスペースのみを指定しろという事ですか?
余計な部分までRectに含めたらそこフラッシュアウトしちゃうよって事?
0961960
2006/03/24(金) 01:54:470962デフォルトの名無しさん
2006/03/27(月) 11:11:56Date: Mon, 19 Aug 2002 11:49:56 -0400 (EDT) 2002/08/20 00:49:56 +13
こんなのをTDateTimeに変換する方法を教えてください
0963デフォルトの名無しさん
2006/03/27(月) 12:06:092.それぞれを int に変換して EncodeDateTime にぶち込む。
0964デフォルトの名無しさん
2006/03/27(月) 15:10:310965デフォルトの名無しさん
2006/03/28(火) 13:39:200966デフォルトの名無しさん
2006/03/28(火) 14:35:160967デフォルトの名無しさん
2006/03/28(火) 23:43:35Indyあるから。
それに、NMxxxxxはバグが多すぎで・・・
0968デフォルトの名無しさん
2006/03/29(水) 02:58:070969デフォルトの名無しさん
2006/03/29(水) 11:21:42http://www.gesource.jp/programming/bcb/indy.html
0970デフォルトの名無しさん
2006/03/29(水) 11:32:560971デフォルトの名無しさん
2006/03/29(水) 18:09:59かなり色々
0972デフォルトの名無しさん
2006/03/29(水) 18:29:360973デフォルトの名無しさん
2006/03/29(水) 18:42:44Del7pro持ってる人にindyヘルプだけ貰ってみ?
0974デフォルトの名無しさん
2006/03/29(水) 19:21:03シリアルポート(RS-232c)にデータを送るプログラムを作っているのですが
17byteの整数を送りたいのですが
送るには複数回に分けて送るしかないのでしょうか?
double型で2回+charで1回みたいに・・・
なんか良い方法ありましたらご指導をお願いします。
0975デフォルトの名無しさん
2006/03/30(木) 07:43:490976デフォルトの名無しさん
2006/03/30(木) 08:34:420977デフォルトの名無しさん
2006/03/30(木) 08:36:07お前の処理系に64ビット整数型はないのか?
0978デフォルトの名無しさん
2006/03/30(木) 16:07:12*.bplとかランタイムライブラリとかない環境で動作する
様に、全部含んだパーケージを作るにはどうすればいいの
でしょう?
0979デフォルトの名無しさん
2006/03/30(木) 16:35:11>様に、全部含んだパーケージを作るにはどうすればいいの
プロジェクトのパッケージ設定の「実行時パッケージを使って構築」をオフにする。
0980 to:age
2006/03/30(木) 16:42:18typedef struct {
doubleX;//X座標
doubleY;//Y座標
} SCoord ;
//座標構造体へのポインタ列を格納するベクタ
vector<SCoord*> CoordsList;
//座標構造体のインスタンスを作ってポインタを格納
for (unsigned int i=0; i<10; i++){
SCoord* pTempCoord;
pTempCoord = new SCoord;
CoordsList.push_back(pTempCoord);
}
//ここから後があると異常終了するのでコメントアウトしました。
//使用済み座標構造体のインスタンスをメモリから削除するつもり
//for (unsigned int i = 0; i < CoordsList.size(); i++){
//delete CoordsList[i];
//}
//ポインタ格納ベクタをクリア
//CoordsList.clear();
//ベクタに格納したポインタは自動消滅するでしょうけど、
//構造体のインスタンスはプログラム終了後もメモリに残る
//予感がします。コメントアウト部分で異常終了の原因はどこ?
0981デフォルトの名無しさん
2006/03/30(木) 17:01:26ありがとうございました。一生懸命リンカのパッケージオプションの
ところを探してましたがターボアセンブラのパッケージのところを
探せばよかったんですね。
0982デフォルトの名無しさん
2006/04/02(日) 14:51:180983デフォルトの名無しさん
2006/04/02(日) 17:27:47http://www2.ttcn.ne.jp/~tkky/application.htm
0984デフォルトの名無しさん
2006/04/04(火) 11:37:26""を代入すればいいのですか?
0985デフォルトの名無しさん
2006/04/04(火) 12:15:320986デフォルトの名無しさん
2006/04/04(火) 14:20:590987デフォルトの名無しさん
2006/04/04(火) 15:00:520988デフォルトの名無しさん
2006/04/04(火) 15:01:060989デフォルトの名無しさん
2006/04/04(火) 15:48:030990デフォルトの名無しさん
2006/04/04(火) 16:41:34使うときnewして、いらなくなったらdeleteすれ。
0991デフォルトの名無しさん
2006/04/04(火) 16:49:360992デフォルトの名無しさん
2006/04/04(火) 22:31:000993デフォルトの名無しさん
2006/04/04(火) 22:36:56ローカル変数はスタックに積むんだから、関数からreturnすれば必ず解放される。
0994デフォルトの名無しさん
2006/04/04(火) 22:40:240995デフォルトの名無しさん
2006/04/04(火) 22:42:34参照カウンタとか持ってなかったっけ?
0996デフォルトの名無しさん
2006/04/05(水) 00:34:48AnsiString の変数はポインタ。アドレス保持してる変数は解放されるけど、文字列
そのものはヒープ。
0997デフォルトの名無しさん
2006/04/05(水) 01:03:40そんなことが発生するならメモリリークしまくりだぞ。
0998デフォルトの名無しさん
2006/04/05(水) 01:06:31関数からreturnしてAnsiStringのローカル変数が破棄されるときは
AnsiStringのディストラクタが呼ばれてオブジェクトを解放するに決まってるだろ。
0999デフォルトの名無しさん
2006/04/05(水) 01:07:081000デフォルトの名無しさん
2006/04/05(水) 01:13:1410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。