C++Builder相談室 Part8
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNG過去スレ・関連サイトは>>2-5あたり。
<過去スレ>
C++Builder相談室
http://piza2.2ch.net/tech/kako/969/969458279.html
新C++Builder相談室(C++Builder相談室 Part2)
http://pc.2ch.net/tech/kako/997/997074601.html
C Builder相談室 Part3
http://pc3.2ch.net/tech/kako/1016/10160/1016065855.html
C++Builder相談室 Part4
http://pc2.2ch.net/tech/kako/1035/10355/1035596146.html
C++Builder相談室 Part5
http://pc2.2ch.net/tech/kako/1045/10455/1045542179.html
C++Builder相談室 Part6
http://pc2.2ch.net/tech/kako/1054/10542/1054280736.html
C++Builder相談室 Part7(前スレ)
http://pc2.2ch.net/test/read.cgi/tech/1061594556/
0002デフォルトの名無しさん
NGNGC++Builderのお部屋(Tips系)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/
C++Builderによるプログラミング(Tips系)
http://market.agr.tottori-u.ac.jp/ken/
Delphian World(コンポーネントライブラリ)
http://home1.infonia.ne.jp/~delphian/delphi/
C++Builder Bugs
http://www2.justnet.ne.jp/~tyche/bcbbugs/index.html
Borland C++Builder最新リンク2003(リンク集)
http://www2.famille.ne.jp/~akio1998/l_cpb.html
ビギナー向けtips
http://www.yukibow.com/bcb/index.html
0003デフォルトの名無しさん
NGNG公式サイト
http://www.borland.com/cbuilder/
http://www.borland.co.jp/cppbuilder/
builder-ML 過去ログブラウザ
http://leed.issp.u-tokyo.ac.jp/~takeuchi/builder/browse.cgi
http://www.sfdata.jp/ML/cbuilder/newlog.php?ml=cbuilder
C++Builder メーリングリスト
再登録が必要
http://www.sfdata.jp/ML/menu.php?ml=cbuilder
<Update>
BCB6/US SP1 は BCB6/JP 製品版に含まれています。
C++Builder 6 Update4 日本語版
ftp://ftp.borland.co.jp/pub/cbuilder/
0004デフォルトの名無しさん
NGNGくだすれDelphi Part8 (超初心者向け)
http://pc2.2ch.net/test/read.cgi/tech/1068201045/l50
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その11
http://pc2.2ch.net/test/read.cgi/tech/1068564708/l50
Delphi相談室(上級者用)その12
http://pc2.2ch.net/test/read.cgi/tech/1064766880/l50
Delphi相談室(中級者以上)その12
http://pc2.2ch.net/test/read.cgi/tech/1064420818/l50
【Delphi初心者】今から始めるDelphi Part01
http://pc2.2ch.net/test/read.cgi/tech/1062422335/l50
0005デフォルトの名無しさん
NGNG乙です。
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNGBorlandのDelphi7のアップデートに入ってた様な気がしないでもない。ごめん。
0008デフォルトの名無しさん
NGNGまあこっち使ったほうが早かったわ
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG1000 名前:gw.borland.co.jp[sage] 投稿日:03/12/01 19:51
記念カキコ
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG作ったプログラムが他のパソコンでは動かない
なんで?
ランタイムかなんかかな
0013デフォルトの名無しさん
NGNG> ランタイムかなんかかな
たぶんそういう設定になってるんだろうね。変えるべし。
0014デフォルトの名無しさん
NGNG自分の作った実行ファイルならApplication->ExeNameにフルパスはいっとるから
ExtractFilePath( Application->ExeName );で最後¥つきのパス
>>12
4はわからんけど5なら、共有RTL DLLを使うのチェックをはずすとか
0015デフォルトの名無しさん
NGNGほかのコンパイラーでしたいんだがどうすればいいんだ?
0016デフォルトの名無しさん
NGNGセルをまたがると他のセルにかぶってる部分の画像が表示されないのですが
どうやったら表示できますか?
0017デフォルトの名無しさん
NGNG言ってる意味がいまいち判らんのだけど、バッチファイル作ったらいいんじゃないの?
>>16
なぜにTStringGrid?
0019デフォルトの名無しさん
NGNGwchar_tのエリアを確保しといて、int MaxCharsで最大長決まってますよね。
1行で書けないというか、String型に比べて使い難いんですが、何とかなりませんか?
0020デフォルトの名無しさん
NGNG某年末だから売り上げ上げなんとか伸ばそうと必死なのだな。
0021デフォルトの名無しさん
NGNGWideString使うラッパーな変換関数自作すれば?
0022デフォルトの名無しさん
NGNG砂時計になってしばらく操作できなくなるんだけど
どうすれば良いですか?
0023デフォルトの名無しさん
NGNGエディタの自動支援機能を使わない。
自動支援を使わなくてもキー操作で入力支援は呼び出せる。
0024デフォルトの名無しさん
NGNGswitch (〜)
{
case:エディタのID_〜
でbreak;してる?
或いは、デバックでステップさせてって、どこでそういう現象起こり始めるか探ってみたら。
処理がLOOPしてるかもしれないし。
0025デフォルトの名無しさん
NGNGdebuck
0026デフォルトの名無しさん
NGNGどうしたらエラーでずに格納できるようになりますか?
002722
NGNGエディタの自動支援機能を切ってもなってしまうのです。
コード書いてるときにこの状況なって作業しづらくて。
だいたい6秒ぐらい作業が中断されます。
タスクマネージャーのCPUの使用率は100%です。
たぶん変数の宣言の場所(unit1.cppの30行とか)を表示しようとしているみたいです。
クラスの宣言をcppに書いてあるのが4ファイルぐらいあるのがいけないのでしょうか?
cppが一つのはこの状況になりません。
みなさんはなったことありませんか?
002822
NGNG「識別子定義の表示」
だと思うんですけど
ヘルプだとチェックを外せば良いと書いてあるのですが
チェックボックスが「式評価」の下にあるようなのですが
一つ分の空白しかない。
ver6.0のパーソナルです。UPデートはしたと思います。
6秒待ちは本当にストレスがたまって悲しくなります。
002922
NGNG起動してない状態で
ビルダーのCode InsightのDeclaration Information(直訳で宣言情報)を
falseにすることにより解決しました。
いじることによる悪い作用はなさそうです。
やっとストレスから開放されます。
ひとりで騒いでしまってすいませんでした。
0030
NGNG0031デフォルトの名無しさん
NGNGそんなものはボーランドでは作ってなかったと思ったが?
Borland C++ Builder のpersonal版なら可能。
ただし、当然だが必要なコードは自分で書く必要がある。
003230
NGNGレスありがとうございます。
そのコンパイラです。これで購入にふみきれます。
0033デフォルトの名無しさん
NGNG予算があるならProfessional買った方がいいかも。
0034デフォルトの名無しさん
NGNG表示される位置を変えたりすることはできるでしょうか…
003530
NGNG他のソフトと組み合わせて使うのであれば
高い方を買う必要があるのかと思いました。
他にも安いなりの理由があるのでしょうか?
0036デフォルトの名無しさん
NGNGPersonalの問題点:
・ライセンスが非商用利用限定
・VCLソースがない
・デバッガが貧弱
あたり。
あと、グラフィック周りやるなら
・インラインアセンブラが書けない
のも影響する予感。
(もっともdcc32はインラインアセンブラ使えるので、アセンブラ使うところだけPascalで書けばtasmなくても何とかなるが)
あと、今だとPro版が安くなってるというのも‥‥
VCLクラス派生させる時にソースがないのは意外と不便です。
まともなドキュメント付けてください。おながいします。
003735
NGNG参考情報ありがとうございます。
自分はC言語だけ使えればとりあえず大丈夫ですので、
やっぱりpersonalにします。商売目的でもないです。
0038デフォルトの名無しさん
NGNGC++Builder5Professional -> C++Builder6Professional 25,200円
とりあえず5で満足してるし、6は出たときバグ多いって聞いたし、機能的にも新規性が見えなかったし
って訳で今だに5を使い続けています。
7が出たら即購入のつもりなのですが、そろそろ6も安定してきたのではないかとか思うし
7はまだしばらく出ないのではないかなとか色々考えたりして、
5->6って今の時期に、意味ありでしょうか?
7まで待つ予定がちょっと揺れてます。
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGうまくPageControlが使えないことに気づきました。
説明がややこしいのでわかりやすく画像でまとめてみました。
http://cgi.members.interq.or.jp/www1/q-mail/gh/img-box/img20031204005107.gif
このような場合どうしたらいいのかアドバイス頂けないでしょうか?
よろしくお願いします。
004140
NGNGすいません。
0042デフォルトの名無しさん
NGNGだからよぉ、各PanelのALignmentがどうなってて、どこにPageControl使って、
それとToolBarがどういう関係になってるのか的確に示してくれなかったら
だれも何も言えんがな。
ただし、説明したとして、それに回答してくれる人間がいるかどうかは別問題だけどな。
0043デフォルトの名無しさん
NGNG004440
NGNG補足の画像をあげてみました。
http://cgi.members.interq.or.jp/www1/q-mail/gh/img-box/img20031204013137.gif
0045デフォルトの名無しさん
NGNGそれを見るかぎりでは問題ない。
よって問題があるのはコード。
つか、最初からコードは晒してくれないと。
情報を小出しにする質問者は歓迎されないよ。気をつけるべし。
なお、コントロールを出したり隠したりしたい場合は、それが乗ってる
コンテナのVisibleを切替えるのが普通。
>>44の例だとToolBarをPanel2から出した上でPanel2->Visibleを
切替えるという手もある。
004640
NGNG要領の悪い質問で申し訳ありません。
レスを拝見して、
ToolBarをPanel2から出す → 出したToolBarをPanel3の中に入れてそのToolBarのAlignをLeftに変える
これで上手いこといきました。コントロールの表示もWidthをいじるよりVisibleをいじった方が楽ですね。
どうもありがとうございます!
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNGMDIで画像ビューアのようなものをつくっています。
子ウィンドウに対して開いた画像を表示しているのですが、
開いたときやズームをしたときに子ウィンドウを画像の大きさに合わせたいと
考えています。
それで、
フォームにスクロールボックスとペイントボックスを貼った状態で画像をペイ
ントボックスに描画できるようにロードし、
int w = MainBMP->Width;
int h = MainBMP->Height;
// ペイントボックスの大きさを変える
MainPaintBox->Width = w;
MainPaintBox->Height = h;
// ウィンドウの大きさを変える
ClientWidth = w;
ClientHeight = h;
としているのですが、ウィンドウと画像をちょうどの大きさに合わせている筈
なのに
スクロールバーが表示された状態になってしまいます。
微妙な差なのかと思いましたがそうでもないようです。
原因がわかるかたおられましたらどうかお教えくださいませ。
0049デフォルトの名無しさん
NGNGか?(表現が変かもしれませんが)
Image[a] みたいな感じで。
0050デフォルトの名無しさん
NGNGfor (int i=0; i<10; i++)
Image[i] = new TImage(this);
0051デフォルトの名無しさん
NGNGサンクス
0052デフォルトの名無しさん
NGNG亀レスだけど、たんにScrollBoxの余白分だと思う。
いまちょいと試してみたら、上下左右2pix必要としますね。
だからClientWidth = w+4; ClientHeight = h+4; でちょうど。
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNGどうすればいいのですか?
ver5の時はできたのですがver6だと片方表示すると
もう片方が表示できません。
ソースから必要なものだけヘッダーに移すのがやりづらいので
教えてください。ヘルプなどを探しても見つけられませんでした。
0055デフォルトの名無しさん
NGNGclass TMyItem : public TCollectionItem
{
public:
void* Data; // Bitmapを挿す
AnsiString Caption;
int Height;
int Width;
__fastcall ~TMyItem(); // Dataで挿してるBitmapを削除
};
class TMyCollection : public TCollection
{
public:
TMyCollection(TMetaClass* Class) : TCollection(Class) { }
__fastcall ~TMyCollection();
TMyItem* Add() { return (TMyItem*)TCollection::Add() };
};
な感じのクラスで、
TMyItem* Item;
TMyCollection* Collection = new TMyCollection(Item->ClassType());
Item = Collection->Add();
〜
とやりたいんですが、TCollection::Add()で例外が。
どうすりゃ動くんでしょ。分かる方ヘルプを…たのんます。
0056デフォルトの名無しさん
NGNGCtrl+F6
0057デフォルトの名無しさん
NGNGやってみましたが切り替えるだけで
同時に表示されませんけど
0058デフォルトの名無しさん
NGNG右クリックから「別の編集ウィンドウを開く」
0059デフォルトの名無しさん
NGNG俺5使ってるが同時になんてやりかたわからんぞw
Ctrl+F6で別タブでやってっが、
0060デフォルトの名無しさん
NGNG4か5.5だと思うけど。
同時に表示できないと使いづらくありませんか?
0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG★★★★★常時接続の方におすすめビジネス★★★★★
1日二時間ネットを利用する人だと1ヶ月20000円は稼げます。
ネットサーフィン中に広告バナーを表示させているけでお金になります。
ネットサーフィンだけでなくワープロソフトやホームページビルダーなどを使って
お仕事していてもバナーを表示させていれば課金されます。
広告バーの使用時間は無制限。極端なことを言えば、1日24時間稼動させてもOK。
紹介制度も8段階あり頑張れば1ヶ月50万以上も可能です。もちろん登録も無料。
今までクリック保証のビジネスやメール受信をしましたがこれが一番お金になりました。
英語が苦手な方もホームペーシに解り易く登録方法を載せましたので登録できると思います。
ぜひ登録してみてください。確実に稼げます。
http://members.goo.ne.jp/home/taizou326
006355
NGNG×TMyCollection(TMetaClass* Class) : TCollection(Class) { }
○TMyCollection() : TCollection(__classid(TMyItem)) { }
006448
NGNG有り難う御座います。
きちんとあうように出来ました。
ちょっとした余白が必要だったのですね。
助かりましたです。
0065デフォルトの名無しさん
NGNG5までは、.cppと.hが別タブだったと思う。
6ではインクルードガードのマクロ変数を書き換えちゃうと別タブになるみたいです。
0066デフォルトの名無しさん
NGNG#ifndefとかをコメントアウトとか名前変えても別タブになりません。
ユニットだからかひとまとめになってるのね。
ヘルプの説明見てもガードをいじればよさそうなのだができませんでした。
006766
NGNG保存して開きなおししたら分けられました。
Unit2にもとのヘッダーガードをつけて
ユニットで保存すると元にも出るみたいです。
Unit1は、できないみたいですね。一応解決しました。
0068デフォルトの名無しさん
NGNGテーブルが2つある場合に
DataSourceとTableがある場合に
テーブル1つにDataSourceとTableとしたほうがいいのか、
それともDataSourceとTableは1つづつでTableのTableNameを変えてやったほうがいいのか
そのプログラムのアレとかによって変わってくるかもですが
一般的にはどっちでやるものでしょうか?
0069デフォルトの名無しさん
NGNGなぜだ。
0070デフォルトの名無しさん
NGNG送料とかでぶっちゃけどんくらい掛かる?
0071デフォルトの名無しさん
NGNGよろしくお願いします。m(_ _)m
0072デフォルトの名無しさん
NGNG質問の意味が分かりません。
頭を下げる前に明確な表現で質問してください。
0073デフォルトの名無しさん
NGNG失礼しました。
C++Builder5で、C:\CBuilder5\Bin\bcb.exe C:\Test.bpr のようしたものを
実行すると、C++Builderが立ち上がり Test.bprのプロジェクトが、読み込まれ
ます。その後、実行させるには、どのようなコマンドラインの指示をすれば、
いいでしょうか?さらにm(_ _)m
0074デフォルトの名無しさん
NGNGソートが変というかうまくされていない感じです。
ソース見てもよくわからなかったのでどなたか原因判明or修正できる方いたらお願いしたいです…
0075デフォルトの名無しさん
NGNGファイルをとあるディレクトリに入れるとアプリの機能が増えるような・・・
0076デフォルトの名無しさん
NGNGSPI_API.TXTでも読んどけ
0077デフォルトの名無しさん
NGNGヘルプを見るかぎりでは、ビルドしたりデバッガ呼び出したりは出来るみたいだが
「実行させる」ってのは出来なさそう。
>>74
だからさ、どう変なのか書いてよ。ただ「変だ」じゃあんたが勘違いしてるだけかもしれんし
検証してみる気にはなれない。
>>75
SPIもそうだが、普通、DLLとして実装するケースが多いと思う。
というか他の手を考えるのは大変だ。
0078デフォルトの名無しさん
NGNGなんとかしてくれ
0079デフォルトの名無しさん
NGNGエラーの内容も書かない独り言はご遠慮ください。
008074
NGNGすみません不足でした。
Delphi 6の方のコンポだと大丈夫なんですが、
例えばマイコンピュータを開くとエクスプローラでのドライブ順にソートした状態になります。
本来はフォームに貼り付けた状態でこうなるはずなんですが、
これがTextの値順でソートされている感じです。
コンボボックスについてはソート周りのプロパティやメソッドが見つからなく、
他の二つもプロパティいろいろ弄ったんですが解決できなかったので質問させて頂きました。
Delphiのコンポを流用する、ってのが一番楽かもしれないですが…
0081デフォルトの名無しさん
NGNGすまんが>>80も意味不明だ。何を言っているか全く分からん。
1つだけ言えることはShellTreeViewはおれのBCB6Proにはついてないってことだけ。
0082デフォルトの名無しさん
NGNGCPPファイルの頭の
> TFormMain *FormMain;
との部分で、
> Declaration syntax error
というエラーが出るようになってしまいました。
最初はなんともなかったのに、クラスを追加した途端出てきて、
そのクラスを削除しても直りません。
どのような原因が考えられるでしょうか?
よろしくお願いします。
008374
NGNG要はちゃんとエクスプローラみたいにアイテムが並んでくれないというだけです…
コンポはPersonalだと $(BCB)\Examples\ShellControls にあるんですが…
Proで無いってことあるのかな…
とりあえずdelphiのコンポ流用でしのぎます…
0084デフォルトの名無しさん
NGNG多分、カッコが照応してないか、セミコロンがどっか抜け落ちてるか。
コンパイラがエラーとしている行の直前とは限らないので根気よく探す。
インクルードしているヘッダファイルも確認する必要がある。
008582
NGNGおっしゃる通りでした。
インクルードされているファイルまで目が届いていませんでした。
ありがとうございます。
0086デフォルトの名無しさん
NGNGエクスプローラは裏でいろいろな処理をしている。
ExamplesにあるShellTreeViewはそこらへんがごっそり無いのでできないだけ。
ShellAPIの使用例に過ぎない。例はあくまで例。
そのまま使おうと考えるほうが間違っている。
かなりバギーではっきりいって使い物にならないので
素直に別のコンポを探すか自分で組みなさい。
0087デフォルトの名無しさん
NGNGどもです。やっぱ使えないですか…
途中まで作ってはあるのでやっぱりそっちを完成させることにします。
delphiの方のは正常に動くってのが腑に落ちないですが、気にしないことにします。
ありがとうございました。
0089デフォルトの名無しさん
NGNG関数にポインタで渡して書き換えることはできないんでしょうか。
前者の場合、Ansistringという良くわからない型のためにchar *に渡せないし、
後者の場合、const int型ということで、&(Scrollbar1->Position)などでアドレス渡ししても
変更は受け付けてくれないみたいです。
なんかソースがだら長くなって遺憾だなあとおもうのですが・・・
なんか良い方法はないでしょうか? C++は初心者ということでお願いします。
0090デフォルトの名無しさん
NGNGプログラムを実行した時にエラーが発生します。
とりあえず、現在に至った経緯を説明しますと
D/A変換ボードのメーカーさんから提供されている*.libファイルが
VC用だったのでcoff2omf.exeでBCB用に書き換えた後
*.hと*.lib(書き換え済み)をプロジェクトに追加しました。
コンパイルすると「リンクしているエクスポートFBIDA.DLL:_DaClose@4」が
見つかりません」と言うエラーが出たので
[プロジェクトオプション]を適当にいじってみて
[リンカ(詳細)]の[延滞ロード]に*.dllを追加してみたところ
コンパイラとリンカは通ってProject1.exeが出力されました。
しかし、いざToolButtonをクリックすると
「プロジェクトProject1.exeがEExternalException クラスの例外
を生成しました。'外部例外 C0FB007F' プロセスは停止しています。」
というエラーが発生しました。
インターネットで色々調べたのですが原因がわからず
困っています。どなたか詳しい方解決法を教えてくださいm(__)m
0091デフォルトの名無しさん
NGNG「extern "C"」でくくってみるとか……
extern "C"{
#include "fbida.h"
}
0092デフォルトの名無しさん
NGNG結論だけ言うとくと無理。
自称初心者相手に理由を説明するのは面倒なので
「何故?」と思ったらC++の勉強をきっちりした上で開発者ガイドを読んでくれ。
なおAnsiStringをchar*にすることは自体は簡単にできる。
これもきちんとヘルプを読むべし。
0093デフォルトの名無しさん
NGNGlibファイルの書き換えって、いつもこういうふうにやってますが・・・
impdef *.def *.dll
implib *.lib *.def
0094デフォルトの名無しさん
NGNGタイトルバーが無く、かつウィンドウサイズ変更が可能な
フォームを作るにはどうすれば良いでしょうか?
009594
NGNGBuilder MLの過去ログにありました。
http://www2.big.or.jp/~osamu/Delphi/builder-browse.cgi?index=014264
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNG型の問題じゃない。プロパティだから。
俺ならTEditやTScrollbarのインスタンスごと渡す。
0099デフォルトの名無しさん
NGNGC++において
classとstructの違いはデフォルトが
private:かpublic:かだけです
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNGAnsiStringのメソッド使ったらエエやン。
何のためにVCLいやさBCB使ってるのかと小一時間(ry
0102デフォルトの名無しさん
NGNGType
0103デフォルトの名無しさん
NGNGTyp
0104デフォルトの名無しさん
NGNGTy(ry
0105デフォルトの名無しさん
NGNGで、引数でジャンプ先のURL(Variant *URL)を捕まえてくれるんで、それを利用しようと思ったんですが、
Edit1->Text=*URL;
とかで中身を見ると「\」の文字が全部消えちゃってます…。
*URLをAnsiStringにしてその後の処理に使おうとしたのですが、これでは困りものです。
Variant *URL から「\」の字を失わないでAnsiStringにキャストする良い方法ってないんでしょうか?
0106デフォルトの名無しさん
NGNG試してみたが、ローカルのファイルパスとUNCどちらの場合も問題はない。
まさかとは思うがURLを渡して「\がない」と言っているわけではないな?
0107105
NGNGありがとうございます。UNCってのがよくわかりませんが、
ジャンプ先のURL先というのは、全部ローカルで少し特殊なもので
#C:\Documents and Settings\hoge\デスクトップ\hoge.jpg
というもの。
つまり同一ページに架空のアンカーを貼って、OnNavigateComplete2イベントで
画像のパス情報を受け取ろうとしてるんです。
もっと簡単に言うと「#」後のアンカー名を利用してアプリケーション側に情報(画像のパス)を投げています。
で、イベント発生時に*URLの中身が実際にどういうものになるかというと
file:///C:/Documents%20and%20Settings/hoge/デスクトップ/test.html#C:Documents and Settingshogeデスクトップhoge.jpg
このようなものになります。
「#」(アンカー)から前のパス(〜test.html)は元のページのものです。
同一ページにアンカー貼ると自動的に付加されるようですね。当たり前か。
で、情報として利用したい「#」以後のパスはご覧のとおり\が消えちゃってます…。
最初から「\」を「/」に置換しておいて、イベント発生後にパス名を利用する時に再度逆に置換し直す、
という手続きを経るのが一番簡単な解決でしょうか…。
0108デフォルトの名無しさん
NGNGアフォ。情報の後出しはするな。
おまえは>>105の発言だけで他人が.>>107の内容を推測できると本気で信じているのか?
もう一度言う、大事な情報を後出しするような質問の仕方は絶対にするな。
どこのスレに行っても嫌われるぞ。
質問内容についてはオレは知らん。自分で勝手に解決しろ。
0109デフォルトの名無しさん
NGNG親切心から要点をまとめて質問するってのも良いとは思う。
しかしどの情報を入れて何を抜くかの選択をきちんと判断しないとその親切心が仇になるぞ。
0110107
NGNGすいません、色々と考えて
「Variant *URL から「\」の字を失わないでAnsiStringにキャストするには」という質問の仕方が
一番問題点を簡潔に集約してると思ったのですが、確かに過程の部分をもう少しちゃんと書き込むべきでした。
>>109
おっしゃる通りです。
初心者板で質問するだけあってなかなかその判断がうまくつかなくて。
精進したいと思います。
0111デフォルトの名無しさん
NGNGていうか、自分が初心者だと思うなら、何か妙な動作が起きたときは、
自分が間違ったことをしているのではとまず疑いなさい。
>>105は、自分は間違ってないが、TCppWebBrowserの動作がおかしいという
書き方でしょ?
実際>>107の使い方はおかしい。URLで本来"\"は使わない(IEが強引に解釈
してしまうから話が面倒になるが)。正常に動作しないのは仕方がない。
「自分の使い方はおかしいかも?」と疑う気持ちがあれば、質問するときは
”自分の使い方”をきちんと説明する必要があると自然に判るはず。
ま、これに懲りずにがんがれ。
0112デフォルトの名無しさん
NGNGデフォルトでTMemoの内部に「Memo1」とかの文字が入ってきますが
これってインスペクタで空に出来ないんですか?
0113デフォルトの名無しさん
NGNGできる。
たのむからこのぐらいはヘルプ読んでくれよ。(;´Д`)ハァ
0114デフォルトの名無しさん
NGNGまずはクイックスタートガイド読め。
話はそれからだ。
0115デフォルトの名無しさん
NGNGこれを「できない」って思うようじゃ、これから先の開発が大変だろうに…。
がんばれよ。
0116デフォルトの名無しさん
NGNG「できますか?」だと「できる or できない」の一言で済ましたくなるし
「できないんですか?」だと「お前にはな」と書きたくなる。
0117デフォルトの名無しさん
NGNG0119112
NGNGTextとかCaptionプロパティがインスペクタにないから何でなんだろと思ってたんですが。
オブジェクトインスペクタのどこをいじればいいんでしょうか?
よろしくお願いします。
0120デフォルトの名無しさん
NGNGヘルプorクイックスタート読め。
0121デフォルトの名無しさん
NGNG小学生にはC++は難しいと思うよ。
BASICあたりからがんばってください。
0122デフォルトの名無しさん
NGNGかわいそうなのでヒント。
ユーザがTMemoにキー入力した場合、お前はその内容をどうやって取得する?
インスペクタのLinesプロパティの・・・をクリックすればできるよ。
0124デフォルトの名無しさん
NGNGLinesプロパティ
しかし、TMemoのヘルプを読まないと、結局使えない。
プロパティ、メソッド辺りを読むこと!
0125デフォルトの名無しさん
NGNGフォームで調べたいオブジェクトを選択して(この場合はメモ)F1押せ。
0126122
NGNG0127デフォルトの名無しさん
NGNGそれか相当な莫迦
0128デフォルトの名無しさん
NGNG¥6000のBorland C++Builder 6 マニュアルセット(PRO、ENT共通)は買う価値ありますか?
ヘルプはそこそこ読めるレベルなのですけど。
それとも参考書C++Builder 6 コンポーネント活用ガイド&実践プログラミング Vol.1とVol.2
を両方買うのとどちらが良いですか?
プロだと分厚いマニュアルが付属するのですよね。
0129デフォルトの名無しさん
NGNGソースどのくらいと聞かれたときにしょうがないから自分足してます。
コンパイルのときに表示される行数はVCLとか<math.h>を含めた
行数みたいですから自分が書いた文だけ知りたいのですけど。
0130デフォルトの名無しさん
NGNGマニュアルはことごとくPro版、Ent版のHelpを印刷した「だけ」のもの。
だからラーニング版なら買う価値があるが。
それとC++Builder 6 コンポーネント活用ガイド&実践プログラミング Vol.1とVol.2
だが、現在はVol.3(データベース機能編)も出ている。ラーニング版に
データベース機能がないならVol.1とVol.2だけで良いと思うが、それよ
りもDelphiの参考書の方がいいと思う。俺はVol.1とVol.2を買ったが
極々初心者用の内容だった。Vol.3はDelphiのオフィシャル・コースウェア
と重なる内容だったので買わなかった。
0131デフォルトの名無しさん
NGNGサンクス!
C++Builder 6の本ばかり探していたので
今度、Delphiの本も見てみます。
0132デフォルトの名無しさん
NGNGページ数はいっぱいで分厚くても操作マニュアルではね・・・
0134デフォルトの名無しさん
NGNGC++を書けるならDelphiを読むのは難しいことではないし、
VCLソースを読むためにもDelphiは必須だから読めるように
なっておくとその差は大きい。
逆にDelphiやってる香具師はC++を読めるようになって
おかないと膨大なC++系の資料が使えないんだな。
結局DelでもBCBでも両方読み書きできる人が強い。
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGttp://hp.vector.co.jp/authors/VA003457/
0138デフォルトの名無しさん
NGNG調べる方法って用意されてるんでしょうか?
自力でどうにかしなきゃいけないんでしょうか?
0139デフォルトの名無しさん
NGNG初心者の俺から言わせると
ボトルネックの意味を正しく使ってるのか聞きたい。
どういう事で聞いてるの?ツールとしてあるかとか?
こういう聞き方をするということは初心者ですか?
そんなシビアなことをやってるとはこの文の表現能力から思えません。
ベストをつくせ
参照渡しとか値渡しの適材適所を知っていれば良いのでは
あとif文の判定が複数の時の順序とかかな。
ブレークポイントで通過回数を調べれば
関数の試用頻度がわかるから多い所を改良。
画像や表示系は時間がかかるのは常識だから
通信系の方は、俺は知らない。
それともfor文で判定につかう変数をいじってるせいで
抜け出せないとか?
0140デフォルトの名無しさん
NGNGおれは138ではないが、要するにプロファイラーがあるのかって聞いているのだろ。
プロファイラーって知ってるか?
0141デフォルトの名無しさん
NGNG質問でわかりやすく。
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG間違えた。
質問はわかりやすくだな。
その上、上げてしまった。
0144デフォルトの名無しさん
NGNGおまえが一番馬鹿。
そう思うなら、>>138に対して答えてあげるべき。
しかも煽りレスでageてるのは厨房の証拠。
0145デフォルトの名無しさん
NGNG今必死になって、プロファイラーを検索している>>144の必死な姿が目に浮かぶよ。
知りもしないくせに知ったかぶりするから>139みたいな間抜けな回答になるんだよ。
VC6に付属しているようなプロファイラーはC++Builderには標準では付いていないってのが答え。
0146これも釣れるかな
NGNG今回はずいぶんと引きがよかったね。
釣れたのは雑魚だったけど。
0147デフォルトの名無しさん
NGNG0148ロバート・K・レスラー
NGNG呼んだか?
何か凶悪事件でも発生したか?
0149デフォルトの名無しさん
NGNGハウス
0150デフォルトの名無しさん
NGNG標準で付いてないってことは、ツールの付けだしができるってことですか?
じゃあVCの方がデバッグに強いってことでよいの?
0151138
NGNGそんな私だからこそ、どこが遅いのか見当がつきにくいんですよ
プロファイラでぐぐっても出てこないから
その言葉で合ってるのか自信がなかったんです、すんません
やっぱ標準じゃついてないんですね
ttp://village.infoweb.ne.jp/~fwhk9290/gimite/index.htm
のMaprofってのを使ってみました
ソースに埋め込まなきゃいけないのが辛いですが
処理時間はそれっぽく出ています
ありがとうございました
0152クラリス・スターリング
NGNG師匠、ご無沙汰してます。
0153デフォルトの名無しさん
NGNGそんなのがあるのか今度つかってみよ
0154138
NGNGどうにか使いこなしてボトルネックも見えてきました
(やっぱり思わぬ所で時間を取ってた、というのが見つかりました)
ListViewに4000件程度のデータを登録する
という極端な状況を想定しているのですが
(160GB HDDの全フォルダに相当する数です)
処理時間の1/3位
ListItemHogehoge->ImageIndex = n;
に持っていかれてるみたいです
まあ、そんなわけで、C++Builder-MLやら
ここのログやら見てみたのですが
・BeginUpdate、EndUpdate
→やってます
・ViewStyle = vsIcon にする
→Captionが2行以上になると急に遅くなる
・仮想リストビューを使う
→ ttp://www.microsoft.com/japan/developer/library/vccore/_core_virtual_list_controls.htm
どうも、仮想リストビューかなぁ、という気がしてるのですが
これはVCLのサポートは無い状態でやることになるんですかねぇ。。。
MFCはサポートしてるのにヽ(`Д´)ノウワァァン!!
それとも、VCLのリストビューでオーナードローがりがり、なのかしら?
ちと混乱気味なので、Delphi-MLでも覗いてみよう。。。
# なんか独り言みたい
0155138
NGNGちゃんとVCLがサポートしているじゃないか<仮想リストビュー
TListView の OwnerData を true にして
OnData、OnDataFind、OnDataHint、OnDataStateChangeの記述、と
0156デフォルトの名無しさん
NGNG>という極端な状況を想定しているのですが
仮想リストビューだったら100万程度でも余裕だよ。
0157デフォルトの名無しさん
NGNGgccやlccのコンパイラを使おうとすると、BCBやDelのmake.exeが
悪さをすることがあります。つまり、先にBCBをインストして、あとで
WideStudioなどを使おうとして、Path設定にWSのBinディレクトリを
指定すると、BCBのmake.exeが優先されてエラーになるのです。
Win2000を使っているのですが、環境変数でPathの二重登録をして
場合によってmakeを使い分ける方法を教えてください。
0158デフォルトの名無しさん
NGNGん?作者の宣伝?
0159デフォルトの名無しさん
NGNG点滅しているのですが、この点滅をやめる方法を教えてください。
TScrollBarにフォーカスがある状態でね
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG文字列をwchar_t*に変換してwcstokではだめ?
という自分はそんなときもっぱらboost::tokenizerを使うけど。
0162
NGNG0163デフォルトの名無しさん
NGNGttp://www21.ocn.ne.jp/~k-west/SSLandTLS/rfc1321-Ja.txt
0164デフォルトの名無しさん
NGNG0165
NGNGご紹介のサイトを拝見しましたが僕の実力では理解困難です(´・ω・`)
MD5を簡単に算出できるVCLかAPIなどがあれば助かるのですが・・・
0166デフォルトの名無しさん
NGNGリンク先にはCソースがまるごと載ってんだけど。しかも日本語訳だし。
Delphiでの実装
ttp://forum.nifty.com/fdelphi/samples/01242.html
DSPでの検索結果
ttp://dsp.href.com/scripts/runisa.dll?DSP.131508:DATA:413196.5637:.keepckb,results
0167
NGNG実装のサイトとても参考になります。どうしようもないヘタレなのでまた分からないことがあったらよろしくお願いします。
0168
NGNGたった今MD5値取得に成功しました!!ありがとうございました。
0169デフォルトの名無しさん
NGNG任意の変数の値が書き換えられた時に
プログラムの実行をブレークする
っていうのって、BCB6Pro でできますか?
できるとしたらその方法を教えて下さい。
監視式に関するヘルプを読んでみたけど、
それっぽいものを見付けられませんでした。
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGあるよ。>>116-117参照。
0174デフォルトの名無しさん
NGNG何か便利なものがあるんですか?
0175デフォルトの名無しさん
NGNG参考文献がDelphiしかなくそのソース読んでいたら、
with 〜 do
という部分があったのですが、これはどんな意味なのでしょうか。
ぐぐってみたのですが、withは一般的すぎるので検索できないと言われてしまい
うまく検索できませんでした。
0176デフォルトの名無しさん
NGNGbcbインストールディレクトリ/help/op.hlp
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGhttp://www.google.com/search?hl=ja&lr=lang_ja&q=pascal+"with%95%b6"
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGbordbk51.dllが上書きできません、使用中です
ってでてインストールできないんですけど
どうしたらよいのでしょう?
誰か教えてください
0182デフォルトの名無しさん
NGNGボタンを1つ置いて簡単な処理を記述してるんですが、
ボタンをエンターキーを押すと、2回押すごとに例外エラーが発生します。
マウスでクリック連打したときは何もおこらないのに・・・
0183デフォルトの名無しさん
NGNGPC再起動して常駐ソフトを含め一切のアプリを起動しない状態でインストールする。
つか、こらWindowsの初歩だろ。この板で聞くことじゃない。
>>182
それは貴方が何か間違いをしでかしてるからです。
本気でアドバイスが欲しかったら自分の書いたコードを晒しなさい。
0184デフォルトの名無しさん
NGNGbuilder-MLでも値を直接x,y軸に設定しているものはあったんですが、
DBの値を設定する方法がわかりませんでした。
0185デフォルトの名無しさん
NGNGとりあえずこんなのがあるけど。
http://www.borland.co.jp/qanda/delphi/d0003062.html
0186デフォルトの名無しさん
NGNGおおおっ!ありがとうございます。参考にしてみます。
0187デフォルトの名無しさん
NGNGBCBには標準搭載していなさそうです。市販のコンポーネントを買えば出来るのでしょうか?
もし、市販のコンポーネントを使わないと実現できない場合は、製品名を教えていただけるとうれしいです。
BCBは最近使い始めたばかりで何もわかりません。ご存知の方よろしくご指導お願いします。
0188デフォルトの名無しさん
NGNGhttp://www.vector.co.jp/soft/win95/writing/se261885.html
表示だけなら。
解読用コンポーネントは知らん。
ちなみにQRコード開発元のデンソーにいけば
QRコードの詳細なデータがあるから
気合があれば自力で組むこともできる
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG問題なく実行できるんですが、インストールしてないパソコンだとdllがないって
エラーがでて実行できません。自作ソフトでどのdllが必要なのか調べる方法は
ありますか?
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNGへぇー、こんなんあるんだ。しらなんだよ。
つか、>>190は、ランタイム使わなきゃいいんじゃ? という回答もあるがな。
0193デフォルトの名無しさん
NGNG1)[プロジェクト] - [オプション] - [パッケージ] - [実行時パッケージを使って構築] チェックをはずす
2)[プロジェクト] - [オプション] - [リンカ] - [リンク] - [ダイナミックRTLを使用] チェックをはずす
じゃないの?サイズでかくなるけど。
0194デフォルトの名無しさん
NGNGサンクス。
>>192-193
サイズが大きくなるので小さくすます方法はないかなと思ったわけです。
0195デフォルトの名無しさん
NGNGツールが見つかったようなので参考程度に。
愚直に探すならBCBインストール済みとインストールしてないPCを1台ずつ準備して
インストールしていないPCでプログラム実行
→足りないDLLの名前が出るのでインストール済みのPCからコピペ
これを実行できるまで繰り返す。
というかBCBのヘルプかマニュアルに配布可能な共有DLL一覧があったはず。
0196デフォルトの名無しさん
NGNGオーバーレイのイメージを大小それぞれImageList3, 4に用意してあるとします。
このときオーバーレイイメージにImageList3, 4のイメージを使うことはできますでしょうか
0197デフォルトの名無しさん
NGNGのような指示がでたんですが。。。まったくやり方が分かりません(bin
ディレクトリの操作の説明がまったく分からないんです。。。)。
だれかお願いします教えてください!!ほとんど知識がないので馬鹿な質
問だとは承知ですが先輩方本当にお願い致します。
コマンドラインツールのインストールと実行
-----------------------------------------------
1. freecommandlinetools.exe を実行します。無料の C++Builder 5
コマンドラインツール開発システムをインストールしたいドライブと
フォルダを選択します。
2. インストール先の bin ディレクトリで次の手順を実行します。
a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。
b. bcc32.cfg ファイルを作成します。このファイルは,Include
および Lib パスのコンパイラオプション(コンパイラの -I
および -L スイッチ)を設定するものです。ファイルには次の
行を含めてください。
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
c. ilink32.cfg ファイルを作成します。このファイルは,Lib
パスのリンカオプションを設定するものです。ファイルには
次の行を含めてください。
-L"c:\Borland\Bcc55\lib"
0198デフォルトの名無しさん
NGNGコンパイラの環境設定から読んでみて
http://www.mgs2.com/online.lesson/language.c/02.html
0199デフォルトの名無しさん
NGNG専用スレあるよ。
タダで使えるBorland C++ Part3
http://pc2.2ch.net/test/read.cgi/tech/1054390397/l50
0200デフォルトの名無しさん
NGNG0201196
NGNGViewStyleがvsReportじゃないとOnDrawItemはこないんですね…
0202デフォルトの名無しさん
NGNG以下のAPIがうまく使えません。
waveOutOpen(&hwo,
nDevId,
&wfx,
(DWORD)waveOutProc ,
(DWORD)this ,
CALLBACK_FUNCTION);
第4引数で、waveOutProcというコールバック関数を指定しているのですが、
ここでコンパイルが通りません。
エラー内容は、
「メンバー関数は呼び出すかそのアドレスをとらなければならない」
です。
ちなみに、waveOutProcの宣言はこんな感じです。
void CALLBACK waveOutProc(HWAVEOUT hwo, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2);
試しに、
(DWORD)&waveOutProc ,
としてみると、
「'void (__stdcall * (_closure )(void *,unsigned int,unsigned long,unsigned long,unsigned long))(void *,unsigned int,unsigned long,unsigned long,unsigned long)' から 'unsigned long' へのキャストはできない」
というエラーがでます。
どう書けばよいでしょう?
0203デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGもし、普通のプレイヤー作ってるならDirectShow使った方が楽だぞ
0206デフォルトの名無しさん
NGNGwebで公開されているフィルタなどのアルゴリズムを試して遊ぶのに、
土台にするアプリを作ってます。
DirectShowは、難しそうなのでとりあえず置いておこうと思ってました。
今の知識では無理っぽいです。
0207デフォルトの名無しさん
NGNG(・Д・ ,,) { ………。 )
(u u__)〜
0208デフォルトの名無しさん
NGNGE2188 式の構文エラー
E2379 ステートメントにセミコロン(;)がない
0209デフォルトの名無しさん
NGNGgoogleでポインタ示されるのは、答えてくれてるんじゃなくて。
「googleで検索しろよカス消えろ」って意味なんだよ。
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNGアスパラCAというカルシウムの薬をすすめられました。成分は天然に存在する
カルシウムなので、副作用もなく安心ということなのですが、いかがなものでしょうか。
A: おすすめできません。飲まない方がいいと思います。
第一に、イライラとカルシウムは関係ありません。なぜかイライラするのは
カルシウムが足りないせいだという俗説がありますが、根拠がありません。
おそらくは、神経細胞の活動にはカルシウムイオンが重要な役割を持っていることから、
誰かがそれならカルシウムを摂れば神経が安定すると考えたのかもしれません。
これは全く意味がありません。エセ科学の見本のようなものです。
第二に、カルシウムを摂りすぎると尿管結石や腎臓結石の原因になります。
アスパラCAは、何かの病気のためにカルシウムが不足している場合(たとえば
副甲状腺の病気)の薬で、それ以外の時に飲むのは意味がないばかりかかえ
って害になります。どんな薬でも、「副作用がない」といわれた場合は詐欺であると
考えるべきです。その薬が自然の成分によるものであっても同じことです。
0212187
NGNGありがとうございます。
試してみます。
0213sora
NGNG今回OSをWin95からWinXPに変更したのですが、
C++Builder3とImageKit4で作成したプログラムを
C++Builder6とImageKit6にバージョンアップしようとしたのですが、
C++Builder6とImageKit6はサポートされないという事でした。
そこでImageKitに替わるC++Builder用の画像処理用支援ツールを探しています。
ぱっ!と思い付いたのがLaedToolsだったのですが、どうもC++Builderには対応していないようです。
そこでどなたかC++Builder6に対応した画像処理用の外部コンポーネントツールをご存知の方が居ましたら教えて下さい。
やりたい事は、スキャナで取りこんだイメージをマウスで任意範囲選択し、その部分イメージを切り出し、
別イメージとしてDBに保存すると言う機能です。
Web等で検索したのですが、中々見つかりません。
どうそ宜しくお願いします。
0214デフォルトの名無しさん
NGNGTComboBoxのアイテムに現行のTComboBoxのTextを追加する際、
すでに同一のものがある場合はかぶってるものを全て削除してるんですが、
その削除の部分をwhile文でこんな風に書いてます。
while(ComboBox1->Items->IndexOf(ComboBox1->Text) !=-1){
ComboBox1->Items->Delete(ComboBox1->Items->IndexOf(ComboBox1->Text);
};
こんな感じで、自分が書くと同じものが二度出てきたりかなり不細工になっちゃうんですが、
マクロ使ったりコードの行数をこれ以上増やさないで(つまりwhile文と中の一行だけ)、もっと
エレガントに書けちゃったりする方法があれば教えてもらえないでしょうか。
いや、TComboBox関係ないC++の基本みたいなことを聞いてお恥ずかしいかぎりですが
なんか条件制御文の左項を表す記号「%d」(適当)、とかがあればなぁと思ったんですが。
0215デフォルトの名無しさん
NGNGwhile((int ix = ComboBox1->Items->IndexOf(ComboBox1->Text) )!=-1){
ComboBox1->Items->Delete(ix);
};
0216デフォルトの名無しさん
NGNG・・・っていうかカッコの数が合っていないぞ>214
>>215をよくみたら、それはエラーと思われ。
int ix;
while((ix=ComboBox1->Items->IndexOf(ComboBox1->Text) )!=-1){
ComboBox1->Items->Delete(ix);
};
でよいと思われ。
0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG>>216
あぁ、条件制御の中ってカッコでくくれば if((a=b)==c) みたいな書き方できたんですね。
これは知りませんでした、かつ自分にはかなり有用で助かります。
あと先ほどからどうしても理解できないことがあるんですが、
下のコードでやると項目数が二つ以上ある場合、コンボボックスのTextが消えてしまうんですが、
これってどういうことなんでしょうか。
TComboBoxのTextってプルダウンのItemsとは別個のもののはずですよね?
そんなものを削除した憶えはないんですが…。
自分が何か勘違いしてるんだとは思うんですが、どこを間違っているのやら。
(現在ComboBox1に表示されてる文字列をアイテム先頭に追加。TButtonのOnClickに書いてます)
int ix;
AnsiString ComboText=ComboBox1->Text;
if ( ComboText!="" ){
while((ix=ComboBox1->Items->IndexOf(ComboText))!=-1){
ComboBox1->Items->Delete(ix);
};
ComboBox1->Items->Insert(0, ComboText );
}
0219デフォルトの名無しさん
NGNG「へぇ〜」ボタン(趣味で)作りたいんだけど何かいい方法は?
0220デフォルトの名無しさん
NGNGどうやってやるんでしょうか。
拡張子でフィルターかけたりする方法はわかるんですが、フォルダが選択できなくて…。
0221デフォルトの名無しさん
NGNG初期設定用のダイアログとしてTPagesDlgを使ってます。
で、親元のTFormからShowModalで呼ばれてダイアログ開いた時に、
初期設定用ということですでに設定されてる値は
TMemIniFileのReadString()とかで呼び込んできますよね。
でもIniファイルを読み込むって作業はアプリケーション立ち上げた時に行っているので、
TPagesDlgに同じようなのをもう一度書くのもメンドウです。
なのでForm1ですでに読み込んでグローバル変数にしているIni値をそのまま使おうと
考えたんですが、哀しいことに書き方がよくわかりませんでした…
//TPagesDlg内にて
//変数FolderPathはForm1側のグローバル変数
Edit1->Text=Form1::FolderPath;
[エラー]Form1がクラス名または名前空間名ではない
こんな感じでうまくいきません。
この場合どのように書いたら他フォームのグローバル変数を受け取ることが出来るんでしょうか?
0222デフォルトの名無しさん
NGNG普通の書き方は多分
//Form1.h
extern AnsiString FolderPath;
//Form1.cpp
AnsiString FolderPath; //実体の定義
んでFolderPathを使いたいユニットでForm1.hをincludeする。
ただし、使用する変数の数が少ないなら引数で渡すことを考えたほうがいい。
0223デフォルトの名無しさん
NGNG結構手続きがいるんですねー。でもちゃんと出来ましたです。
どうもありがとうございます。
0224デフォルトの名無しさん
NGNGいや、ほんといえば、includeを使わず直接使う側のユニットに
extern AnsiString FolderPath; って定義してもいいんだけど
それは推奨されないってこと(実体がどこにあるか分からなくなる)。
でお薦めはやはりTPagesDlgを呼び出すための関数を定義すること。
これなら引数も戻値も使えるし、なにより使い回しがしやすくなる。
0225デフォルトの名無しさん
NGNGくっつけようとしてるんですが、上手くいきません。
同じようにくっつけたOnNewWindow2イベントとかOnTitleChangeイベントはエラー無しなのに
どういうことなんでしょうか。
CppWebBrowser->OnNavigateComplete2 = CppWebBrowser1NavigateComplete2;
「コンパイルエラー内容」
'void (_fastcall * (_closure )(TObject *,IDispatch *,Variant *))(TObject *,IDispatch *,Variant *)' 型は
'void (_fastcall * (_closure )(TObject *,IDispatch *,tagVARIANT *))(TObject *,IDispatch *,tagVARIANT *)' 型に変換できない
一応書いておくとこのコード自体は別のCppWebBrowserのOnNewWindowイベントに書いてます。
まぁ関係ないとは思いますが。
どなたか解決法がわかる方、よろしくお願いします。、
0226デフォルトの名無しさん
NGNG型が違うってコンパイラーが言ってくれてるじゃん。
0227デフォルトの名無しさん
NGNGいや、型が違うと言われてもこのイベントのデフォルトの定義のままなんですけど…。
実際のイベントみても、こんな感じで。
void __fastcall TForm1::CppWebBrowser1NavigateComplete2(TObject *Sender,LPDISPATCH pDisp, Variant *URL)
これで何故型が違うと言われるのかわからないんですが。
自分じゃちょっとわからないんですが、他の部分に問題があるかもしれないんで、
一応もうちょっとコード出してみます。
TCppWebBrowser *CppWebBrowser = new TCppWebBrowser(this);
CppWebBrowser->Align=alClient;
CppWebBrowser->OnNewWindow2 = CppWebBrowser1NewWindow2;
CppWebBrowser->OnNavigateComplete2 = CppWebBrowser1NavigateComplete2;//コレだけがエラー
CppWebBrowser->OnTitleChange = CppWebBrowser1TitleChange;
CppWebBrowser->TOleControl::Parent = TabSheet;
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG実験してないけど、多分キャストしてしまえば通るはず。
最後の引数がIDEのつくるイベントハンドラはVariant*形なのに
TCppWebBrowserの定義ではTVariant型になっているのが原因。
多分古いバージョンとの移植性を保つための処置だと思うけど。
なんか以前も別のコンポでこういう事があったような気がする。
よく覚えてないけど。
0232デフォルトの名無しさん
NGNGCppWebBrowser->OnNavigateComplete2
= (TCppWebBrowserNavigateComplete2)&CppWebBrowser1NavigateComplete2;
0233デフォルトの名無しさん
NGNGありがとうございます。文字列のキャストくらいしか知らない自分には不可思議なキャストですが、
同じような局面でガンガン応用したいと思います。
0234デフォルトの名無しさん
NGNG文字列も何も、キャストはみんな同じなんだが・・・。
C++のキャストはいろいろバラエティがあるけど。
0235デフォルトの名無しさん
NGNGRS232Cの送受信を簡単にできないかとおもってfopenあたりで
COMポートを開いてみたのですが、送信は簡単にできたのです
が受信がうまく反応しませんでした。バッファをなしとかにしてみ
てもだめでした。
つぎにopenあたりで開いてみると、送信、受信できるのですが、
受信文字があるかどうかをチェックする方法がわかりません
&うまくいきませんでした。
1バイト読み込みをすると、読み込みにいったまま1バイト受信
するまでライブラリにいったままになってしまいます。
本質的にはC++Builderの質問ではないのかもしれないのです
が、fopenまたはopenあたりで受信文字数を検出することはで
きないでしょうか?
0236デフォルトの名無しさん
NGNGアイコングループ毎の初めのアイコンの情報は多分ちゃんと取得できているのですが、
その後のアイコンの情報がうまく取得できません(取得される値が明らかに変)。
使用しているリソースヘッダの構造体はMSDNに載っていたものと、
他にも調べた物と合わせたので大丈夫だと思うんですが…
とりあえず、実行ファイルのリソースからアイコングループを検索、
そこから得た情報を列挙するものを作成しました。
よろしければ見て頂いて気付く点があればアドバイスお願いしたいです。
BCB6 personalで作成しましたが、多少古くても問題ないと思います…
ttp://xtp0001.s3.x-beat.com/cgi-bin/up/source/Sonata_5759.zip
0237236
NGNG0238デフォルトの名無しさん
NGNGぷろORパーソナル どっち使っているんですか?
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG普通の C ライブラリでやろうとするのは少し無理があるように思われ。
Windows の API を叩く方向で考えて下さいな。
CreateFile とか、ReadFile、WriteFile といったファイル入出力 API の他に
シリアル通信用の API があるから、そっちも使わないと
「受信データが無い時に受信しようとするとそれっきりになる」
という現象を回避する事はできませんよ。
あとは Windows API スレの住人の方々に尋ねてみて下され。
http://pc2.2ch.net/test/read.cgi/tech/1069339866/
0242デフォルトの名無しさん
NGNGttp://sourceforge.net/projects/comport/
0243デフォルトの名無しさん
NGNGC++ BuilderXを今使ってるのですが、Ctrl-Spaceでコード補間(補完?)してくれません。
ヘルプ見てもないようです。。確かC++ Builder5.0からコード補間ってありましたよね?
なんで退化するんだよぉー。コード補間がないとプログラムを書くのがつらいんじゃー。
0244デフォルトの名無しさん
NGNGBorland C++ BuilderX
http://pc2.2ch.net/test/read.cgi/tech/1065260556/l50
0245235
NGNGありがとうございます。
WindowsのAPIをたたく方向で考えるようにします。
>>242
会社のほうがファイルを何も持ち込んじゃいけないって
感じのところになっちゃって、その割には業務時間を使
わずRSの対応ツールがあったほうがいいって感じにな
り、普通のCライブラリならさっと組みあがるかなぁって
感じなので・・・
お教えいただいたAPI関連を自宅で使って見てパターン
を覚えて会社でやってみます。みなさんありがとう〜
0246236
NGNGsizeof(構造体) と、構造体内のそれぞれの変数の型のサイズ合計に差があったせいで
ズレが生じていたみたいです。読み込み方も変えて、正確な値が取れるようになりました。
ソースも大して役に立つような物じゃないので消しますね
0248デフォルトの名無しさん
NGNG0249sora
NGNG再度ご質問します。
今回OSをWin95からWinXPに変更したのですが、
C++Builder3とImageKit4で作成したプログラムを
C++Builder6とImageKit6にバージョンアップしようとしたのですが、
C++Builder6とImageKit6はサポートされないという事でした。
そこでImageKitに替わるC++Builder用の画像処理用支援ツールを探しています。
ぱっ!と思い付いたのがLaedToolsだったのですが、どうもC++Builderには対応していないようです。
そこでどなたかC++Builder6に対応した画像処理用の外部コンポーネントツールをご存知の方が居ましたら教えて下さい。
やりたい事は、スキャナで取りこんだイメージをマウスで任意範囲選択し、その部分イメージを切り出し、
別イメージとしてDBに保存すると言う機能です。
Web等で検索したのですが、中々見つかりません。
どうそ宜しくお願いします。
0250デフォルトの名無しさん
NGNG未だに悩んでるのは私ぐらいなものか?
0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG今CppWebBrowser1のBeforeNavigate2イベントの引数( Variant *URL)を使ってこれからジャンプする先の
URLを捕まえて、そのリンク先を書き換えてます。
でもhtmlのアンカータグa hrefのターゲットが_blankになっていた場合、
つまり新規タブの新規コンポCppwebBrowser2がターゲットになった場合のことなんですが、
その時の動作はというと
1)元のCppWebBrowser1のBeforeNavigate2は作動せず。(自身は変化しないから当たり前)
2)新規CppwebBrowser2のBeforeNavigate2の引数*URLには
ジャンプ前のURL (CppWebBrowser1のURLアドレス) が代入されてしまう。
という結果になってしまいます。
TCppWebBrowserのイベント発生順序は
BeforeNavigate2→NewWindow2→NavigateComplete2
の順番で、NavigateComplete2ではもちろんジャンプ先URLを受け取れるんですが
それじゃ遅いので、なんとかhtmlが読み込まれる前にURLを捕まえたいです。
なんとかBeforeNavigate2かNewWindow2のどちらかで
ジャンプ先のURLを捕まえる方法をご教授くださいませんでしょうか。
よろしくお願いします
0253250
NGNGまぁ、いいか‥
0254デフォルトの名無しさん
NGNGなんか前にインスペクタのStyle設定かなんかでそういう設定を見たような気がしたんですが、
今見たらToolBarにスタイル設定なんかありませんでした。
よろしくおねがします。
0255デフォルトの名無しさん
NGNG俺も悩んでたけど、結局見送った。
BuilderXの今後の展開も気になるし、LHもあるし。
第一今のBCB4減価償却してない!
0256デフォルトの名無しさん
NGNG初期化とテンプレートの実装がヤだね。
MingW-gcc3.3.1でいくわ。杉本さんバイバーイって感じ。
0257デフォルトの名無しさん
NGNG杉本さん…!?
C++のコンパイラ、初期化とテンプレートがおかしいの?
具体的に教えてくれませんか?
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNG今思えばBCBにしとけば良かった (´Д⊂
0261デフォルトの名無しさん
NGNGURLエンコードされた文字列をデコードする方法を探してリファレンスを見てると、
そのものズバリURLDecode( )って関数を見つけたので使ってみたんですが
未定義だと言われてコンパイルエラーが出てしまいます。
IdGlobal.pasっていうのが関係ありそうなんで、
ヘッダファイルとかcppの先頭で
#include "IdGlobal.pas"
みたいなことを書いてもオープン出来ませんと言われる始末…。
Googleで検索かけても情報が全然ないし、途方に暮れてしまいました。
どなたかURLDecodeの使い方、もしくは違う方法でのURLデコード方法などあれば
教えて頂けないでしょうか、よろしくお願いします…
0262デフォルトの名無しさん
NGNGIndy の関数じゃないのかな?
0263デフォルトの名無しさん
NGNGどのように決まるのでしょうか?
決定するプロパティなり、順番を入れ替えたり、指定したコンポーネントを
最前面に表示するメソッドを教えてください。
(Visibleをfalseにする訳にはいきません。一部のみが重なっている場合、両方を表示させたいので・・・)
0264デフォルトの名無しさん
NGNGありがとうございます。色々試した結果
#include <HTTPProd.hpp>
#include <HTTPApp.hpp>
#include <IdComponent.hpp>
をヘッダに書けばデコード関数が動くみたいです。
どうもありがとうございます。
0265デフォルトの名無しさん
NGNGTControl::BringToFront
例えば
Label1->BringToFront();
0266デフォルトの名無しさん
NGNGスタイルの設定をopDownListにしてるんですが、
それをやるとデフォルトで入れてるTextが空になってしまいますよね。
編集不可にしつつ、デフォルトの状態でTextに文字を入れておくにはどうしたらいいんでしょうか?
0267デフォルトの名無しさん
NGNGどうかね?
0268デフォルトの名無しさん
NGNGだめですー、StyleをcsDropDownListに変更したとたんに
デフォルトのTextに入ってる文字列が飛んじゃいますー。とほ
0269デフォルトの名無しさん
NGNGcsOwnerDrawVariableでどう?
0270デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1072883528/
海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。
必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
0271デフォルトの名無しさん
NGNGだめですー。csOwnerDrawFixedにしてもダメでした。
しょうがないのでデフォルトの文字列をアイテムの一番先頭にして、実行時に
ComboBox->ItemIndex=0;
とやることで代用することになりそうです。
とここまでやって気づいたんですが、そんなことしないでも、インスペクタで初期値を指定できたようです…。
ただし編集不能といってもデリートボタンを押すとTextが空になってしまうので、
汎用的にOnChangeイベントにこんなコードを書くことで完璧になりました。
if(dynamic_cast<TComboBox*>(Sender)->Text.IsEmpty()==true )dynamic_cast<TComboBox*>(Sender)->ItemIndex=0;
おつきあいくださりどうもありがとうございました。
0272デフォルトの名無しさん
NGNGは、VCLを使うBCBでは非常によろしくないような
0273デフォルトの名無しさん
NGNGどういう意味?
詳しく教えていただけます?
0275デフォルトの名無しさん
NGNG配列とかって動的に項目増やしたり項目数の調べたりするの面倒そうだし、
webでも詳しい使い方のってないので、代わりに全部TStringList使ってます。
これならBCBのレファレンスで詳しく使い方とかメソッドとか説明されてるんで安心。
…でも正直ちょっと不安です。
やっぱ何でもかんでもVCLばっかり使う(というかソレしか使えない)のってカッコ悪いですか?
0276デフォルトの名無しさん
NGNGTStringListを普通の配列に使うのは流石にやめれ。
std::vectorかTList使っておけと
0277デフォルトの名無しさん
NGNGTStringListに格納して構造体配列の代わりに使ってた時期があるぞ。
当時は若かった…
0278275
NGNGStringList使ってたとこを全てvector式に置き換えて見ました。
しかし、ただひとつsort使ってるとこだけコンパイルエラーが出ます。
「'sort'は'std'のメンバーではない」
ごく単純なミスだとは思うものの上手く修正できないのでどなたか見て頂けないでしょうか。
cppファイル
#include <vector>
フォームのメンバ
std::vector<AnsiString> hoge;
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){
hoge.push_back("田中");
hoge.push_back("加藤");
hoge.push_back("江田島");
std::sort( hoge.begin(), hoge.end());
}
0279デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNGAnsiString Tex="けっこう!君の手は犬のヨダレでベトベトだァ!それに荷物はさっそく召使に運んでもらう!";
int BeforeTime = Idglobal::GetTickCount();
for(int n=0;n<1000000;n++){
G_NameSearchPath.push_back(Tex);
}
int Time =Idglobal::GetTickCount() - BeforeTime;
int BeforeTime2 = Idglobal::GetTickCount();
for(int n=0;n<1000000;n++){
G_Source->Add(Tex);
}
int Time2 =Idglobal::GetTickCount() - BeforeTime2;
結果、ベクターの方のTimeは765、StringListの方のTime2は282でした。
頻繁に追加したりするには向いてないとは聞いてたもののベクター遅いっす…
0283デフォルトの名無しさん
NGNGループ前にG_Sorce->reserve(1000000); してみ
つか、配列とリスト構造とその他の違いを勉強した方が良いとは思うが。
0284デフォルトの名無しさん
NGNGTCppWebBrowserのNavigateでwebページ読み込んだ後、
マウスホイールでくるくるとページをスクロールしようとしても出来ません。
一度TCppWebBrowser内をクリックしてやるとくるくるホイールでスクロール出来るようになるのですが、
二度手間というか、スマートじゃなくて困ってます。
TCppWebBrowserがアクティブ状態になっていないんだと考えて、
CppWebBrowser->SetFocus() とかやっても効かないのでどうしたらよいのかと。
どうかお知恵を貸して頂けないでしょうか。
0285デフォルトの名無しさん
NGNGTCppWebBrowserの機能ではできない。
フォーカスを当てる
http://hogehoge2001.at.infoseek.co.jp/note-delphi.html
Delphiでのコードだけど。
0286デフォルトの名無しさん
NGNGttp://www.borland.co.jp/cppbuilder/papers/ado/ado02.html
1.フォームにTADOConnectionコンポーネントを配置し、ConnectionStringプロパティで接続文字列を指定する。
ということなのですが、そもそも、ADOConnectionが何処にあるのか分かりません。。。
助けてください。
0287デフォルトの名無しさん
NGNG遅ればせながらありがとうございます。
なんとか出来そうですー
0288デフォルトの名無しさん
NGNGすぐ右隣のタブに強制的にアクティブが移りますよね。
そうではなく削除後のアクティブタブを自分で指定したいので、
TTabSheet *ActTabSheet =アクティブにしたいタブシート;
TTabSheet *DelTabSheet = 削除するタブシート;
DelTabSheet->PageControl=NULL;
delete TabSheet;
PageControl1->ActivePage=ActTabSheet;
といった風に書いてみると、確かに削除後に指定のタブシートがアクティブになるんですが、
その一瞬前にピョコっと削除したタブの右隣にあったタブにフォーカスが移ってしまいます。
この一瞬のピョコって動きがなんともみっともなくてイヤなのですが、
どう書けばこのピョコって動きなしに指定タブにアクティブを移せるんでせうか。
よろしくおねがいします。
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG試していないのですが(もし試してもらえたなら結果をおしえてほしい)
「ピョコっと」なる所でWM_SETREDRAW を送って描画を止めてみたらどうだろう。
0291デフォルトの名無しさん
NGNGコンポーネントのインストールやろうとしたら
致命的リンカエラー:DSNIDE50.LIBがない
と、言われました。
しかし、コンピュータ内を探しても他の拡張子のはありますがDSNIDE.LIBと言うファイルはありません。
VirtualTreeViewを入れて見た頃から何かおかしくなりますた。
誰か助けて・・・
0292デフォルトの名無しさん
NGNGフォーカス移動してから削除じゃダメ?
0294デフォルトの名無しさん
NGNG初歩的なミス、ググレ
0295288
NGNGそれって
PageControl1->Perform(WM_SETREDRAW, false, 0);
//削除してアクティブを移す処理
PageControl1->Perform(WM_SETREDRAW, true, 0);
PageControl1->Repaint();
↑こういうののことですよね。
やってみましたがやはりピョコたん効果は解消されませんでした。
>>292
フォーカスにするというのが
・これから削除するタブ
・削除後にアクティブにするタブ
・これから削除するタブの右隣のタブ
のどれのことかわかりませんでしたが、
とりあえず上二つについてはあらかじめSetFocusしておいても効果ないようです。
他に一時的にEnableをfalseにするなどもしてみましたが意味無し。
個人的になんかあの動きが気持ち悪くて困るんですけどねえ。
まぁ玄人さんなら難しいコード書いてサクっと直しちゃうのかも知れないけど、
自分にはどうも無理そうです…。
0296291
NGNG0297デフォルトの名無しさん
NGNGじゃあ諦めろ
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNGTChart に SeriesList プロパティがあります。
これは StrlingList から継承された TChartSeriseList クラスです。
これを使って Serise を追加/削除したり列挙できます。
断片的ですが
ttp://www.berneda.com/publicnews/public/teechart6/general/76010000.htm
これが参考になるかな
0300デフォルトの名無しさん
NGNGありがとうございます!
0301デフォルトの名無しさん
NGNGボタンを押してもcase(IDNO):に飛んでくれません。
どこがおかしいのでしょうか?
よろしくお願いします。
switch (MessageBox( Handle,"変更しますか?","更新", MB_YESNO )){
case (IDYES): // 更新OK
break;
case (IDNO): // 更新NG
Abort;
break;
}
0302デフォルトの名無しさん
NGNGそこの前後でデバッグしたほうが簡単では?
MessageBox の返値をいったん変数に格納し、値をみてみなされ
0303デフォルトの名無しさん
NGNGButtonWidthを指定した幅にする方法を教えてください
0304デフォルトの名無しさん
NGNGキャプションが全部表示できるように幅が勝手に広がるんだと思ったけど。
0305デフォルトの名無しさん
NGNG他のマシンで実行すると、ペイントボックスとかの大きさが変わってしまいます。
もちろん自分のマシンで実行するときは、作ったとおりのフォームになります。
これってコンパイラのバグなのか仕様ってよく分からないんですが、exeを使用するターゲット(OS,CPU)によって
コンパイラのオプションを変えなきゃいけないんでしょうか。
それともソースを使いたいマシンでそれぞれコンパイルするしかないんでしょうか。
0306デフォルトの名無しさん
NGNGもしかして単に画面の解像度が違うというオチじゃ・・・・
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG具体的に大きさがどのように変化したのかを家計
0309デフォルトの名無しさん
NGNG整数a,bを引数として,aがbの倍数であれば1を、そうでない場合は0を戻り値として返す関数
int baisuu(int a, int b)
を作成する。この関数を利用して、入力した数が3の倍数であるか否かを判定するアプリケーションを作成せよ。
If(baisuu(x,3)==1){
Label1->Caption=”3の倍数です”;
}else{
Label1->Caption=”3の倍数ではない”;
}
を使うみたいです。Editに入力してButtonフォームを押したら判別されるらしいでのすがさっぱりです。誰か教えてください。
0310デフォルトの名無しさん
NGNG画面のプロパティの、デザインの「フォントサイズ」が、
「大きいフォント」になってるとかじゃないの?
とりあえず、TFormのScaledをfalseにしてみれば?
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG宿題は宿題スレ池
それに内容がレベル低すぎ。
おまいの頭寒すぎ。
もちっとまじめに勉学に禿目よ。
0313デフォルトの名無しさん
NGNGそもそも何を聞きたいのかわからない。
0314デフォルトの名無しさん
NGNGvoid __fastcall TForm1::Button1Click(TObject *Sender)
{
int ans=0,a,x,baisuu();
{
a=StrToInt(Edit1->Text);
ans=a%3;
x=baisuu();
{
if(ans==0)
{
return (1);
}
else
{
return (0);
}
-------------------------------------------------------------
double TForm1::baisuu(int x,int y);
{
if(baisuu(x,y)==1){
Label1->Caption="3の倍数です";
}else{
Label1->Caption="3の倍数ではない";
}
}
}
値が返せなくて困ってます。
0315デフォルトの名無しさん
NGNGやらしてくれる娘を世話してくれるなら、
「なんだ、こんなに簡単なことだったのか」
と顔を赤らめるくらいにまで、基礎を仕込んであげてもいいぞ。
0316デフォルトの名無しさん
NGNGとりあえず、コンパイラエラーが出ない程度に修正してみましょうね
0317デフォルトの名無しさん
NGNG>>306
そういうのじゃなくて、例えば、正方形の縦が半分になっちゃう、とかだから。
具体的には、グラフを表示してるんですけど、下のほうが表示されませんでした。
>>308
具体的には上のとおりです。横軸は時間で、
縦軸はy = 300 - data8bit; みたいにして、dataが1増えると、1ピクセル上に行くという感じです。
ペイントボックスのHeightは、オブジェクトインスペクタで300以上の値が指定されてます。
>>310
とりあえず、自分のマシンが大きいフォントだったので、小さいフォントに変えてみました。
すると、ペイントボックスのHeightが300以下に変わりました・・・
オブジェクトインスペクタで指定する値って、単位はピクセルじゃないんでしょうか?
0318デフォルトの名無しさん
NGNG>とりあえず、TFormのScaledをfalseにしてみれば?
を確認したのか?
0319デフォルトの名無しさん
NGNGあまりに滅茶苦茶で、救いようがない。
0320デフォルトの名無しさん
NGNGまずBuilderではなくCの基礎を勉強しなおしてこい
0321デフォルトの名無しさん
NGNGdouble TForm1::baisuu(int x,int y);
{
なんで";"が?
baisuuの中でbaisuを呼んでどうする?
最後に戻り値を入れろ
それよりも、倍数判定の方法を考えろ
算数レベルだぞ
ヒント:剰余
0322デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG思い下記のようにやってみました。
このままパレットから貼り付けて使う分には何とか使えるのですが、MYDBGridにOnDrawColumnCellイベントを書いてしまうと、せ
っかく書いた定型処理の部分が実行されなくなってしまいます。
それと、メソッドの隠蔽に関する警告を無視して使っているのもいやな感じです。
わかりにくいかもしれませんが、このような使い方をしたい場合には、どのようにすればいいのか教えていただけないでしょうか?
"MYDBGrid.h"
class PACKAGE TMYDBGrid : public TDBGrid
{
private:
TDrawColumnCellEvent FOnDrawColumnCell;
protected:
void __fastcall DrawColumnCell(TObject *Sender,const TRect &Rect, int DataCol, TColumn *Column,TGridDrawState State);
};
"MYDBGrid.cpp"
__fastcall TMYDBGrid::TMYDBGrid(TComponent* Owner)
: TDBGrid(Owner)
{
TDBGrid::OnDrawColumnCell = DrawColumnCell;
}
void __fastcall TMYDBGrid::DrawColumnCell(TObject *Sender,
const TRect &Rect, int DataCol, TColumn *Column,
TGridDrawState State)
{
/*
適当な処理
*/
TDBGrid::DefaultDrawColumnCell(Rect,DataCol,Column,State);
}
0325デフォルトの名無しさん
NGNG思い下記のようにやって、コンポーネントとしてインストールしてみました。
このままパレットから貼り付けて使う分には何とか使えるのですが、MYDBGridにOnDrawColumnCellイベントを書いてしまうと、せ
っかく書いた定型処理の部分が実行されなくなってしまいます。
それと、メソッドの隠蔽に関する警告を無視して使っているのもいやな感じです。
わかりにくいかもしれませんが、このような使い方をしたい場合には、どのようにすればいいのか教えていただけないでしょうか?
VER:BCB6 OS:Win2K
"MYDBGrid.h"
class PACKAGE TMYDBGrid : public TDBGrid{
private:
TDrawColumnCellEvent FOnDrawColumnCell;
protected:
void __fastcall DrawColumnCell(TObject *Sender,const TRect &Rect, int DataCol, TColumn *Column,TGridDrawState State);
};
"MYDBGrid.cpp"
__fastcall TMYDBGrid::TMYDBGrid(TComponent* Owner) : TDBGrid(Owner){
TDBGrid::OnDrawColumnCell = DrawColumnCell;
}
void __fastcall TMYDBGrid::DrawColumnCell(TObject *Sender,const TRect &Rect, int DataCol, TColumn *Column,TGridDrawState State)
{
/*
適当な処理
*/
TDBGrid::DefaultDrawColumnCell(Rect,DataCol,Column,State);
}
0326324
NGNG0327デフォルトの名無しさん
NGNGDrawColumnCellじゃなくてDefaultDrawColumnCellかDrawCellをオーバーライドする。
DrawColumnCellじゃ駄目なのはヘルプを読むと分かる。
DefaultDrawColumnCellとDrawCellのどちらを使うかは定型処理に照らし合わせて判断する。
0328324
NGNG自分でいろいろやってみたのですがうまくいきません。
できれば宣言方法などをおしえていただけないでしょうか?
やりたいことは、行によって文字色を変えることです。
//-----------------------------------------------
// 奇数行時処理
//-----------------------------------------------
if( DataSource->DataSet->RecNo%2 !=0 ){
Canvas->Brush->Color = FOddColor;
Canvas->Font = FOddFont;
//-----------------------------------------------
// 偶数行時処理
//-----------------------------------------------
}else{
Canvas->Brush->Color = FEvenColor;
Canvas->Font = FEvenFont;
}
0329324
NGNGProtectedに宣言し、下記のように実装してみたのですが、Brushの設定が反映されません。
どの辺が間違えてるのでしょうか?
普段DBGridのOnDrawColumnCellイベントでやってることを内包したコンポーネントを作りたいんですが。
void __fastcall TMYDBGrid::DrawCell(int ACol, int ARow, const Types::TRect &ARect, Grids::TGridDrawState AState)
{
//-----------------------------------------------
// 奇数行時処理
//-----------------------------------------------
if( DataSource->DataSet->RecNo%2 !=0 ){
Canvas->Brush->Color = clRed;
//-----------------------------------------------
// 偶数行時処理
//-----------------------------------------------
}else{
Canvas->Brush->Color = clBlue;
}
TDBGrid::DrawCell(ACol,ARow,ARect,AState);
}
0330デフォルトの名無しさん
NGNGすでに書いてるコードのインデントとかを一括で揃える機能ってありますか?
関数とか条件分岐のカッコの下がりとかのことなんですけど。
自分で書いてあちこちにコピペしたり削除したりしてると、どうも見栄えが悪くなっちゃったんですが、
今さらいちいち1行ずつタブとかでインデントを調整するのも面倒でして。
もしBCBにそういう機能がなければ、既存の有名アプリで代用できたりできないでしょうか。
Dreamweaverとか、無理か…。
ウィンドウズです。よろしくおねがいします
0331デフォルトの名無しさん
NGNG実験してないから保証は出来んが、多分。
×Canvas->Brush->Color
○Columns->Items[ACol]->Color
DefaultDrawColumnCellをいじった方が楽かも?
0332デフォルトの名無しさん
NGNGブロック単位のインデントの上げ下げなら、領域選択後、Ctrl-K-O / -K-I だったような...
ヘルプに乗ってると思う
0333デフォルトの名無しさん
NGNG全部一括で自動インデント、てのは無理そうですが、
これでも大分助かります。
ありがとうございます
0334324
NGNGCustomDBGridのDrawCellないでBrushが再設定されているようなので、呼び出し前にColorプロパティを設定することで解決しました。
しかし、できればDefaultDrawColmunCellをオーバーライドしたいのですが、やってみてもコードが実行されません。
DefaultDrawColumnCellを実行させるにはどうしたらよいのでしょうか?
0335デフォルトの名無しさん
NGNG-------------------------------------------------------
〔Ctrl〕+〔Shift〕+〔I〕ブロックをインデントする
〔Ctrl〕+〔Shift〕+〔U〕ブロックをアウトデントする
-------------------------------------------------------
だとさ
0336デフォルトの名無しさん
NGNGF1001 コードジェネレータの内部エラー
が出ますた。どうすればいいですか?
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNGどうすればいいのでしょうか
とりあえず
button->OnClick= 関数ポインタ
とやってみましたがだめでした
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage("Button1Click");
}
新しく呼び出される関数
void __fastcall TForm1::NewFunc(TObject * Sender)
{
//TODO: この下にコードを追加してください
ShowMessage("New Func");
}
イベントハンドラの変更処理
void __fastcall TForm1::ChangeButtonClick(TObject *Sender)
{
Button1->OnClick = NewFunc;
//正確にはButton1->OnClick = this->NewFunc;
}
ちゃんとできたよ。ただの関数じゃなくてTOject型の派生クラスのメンバ関数で引数、戻り値は一致してなくちゃいけない。
代入するのはただの関数ポインタじゃないけど。
ヘルプで __closure を調べてみたら。
>引数、戻り値は一致してなくちゃいけない。
引数、戻り値の型が一致してなくちゃいけないだった。
関数のシグニチャとか言うやつだっけ。
0341デフォルトの名無しさん
NGNGありがとうございました(TдT)
0342デフォルトの名無しさん
NGNGTButton型OnClickイベントの引数は(TObject *Sender)。
呼び出される関数とちゃんと合ってる?
あとだめでしたってどうダメだったのか、あるいはどんなエラーが出たのかを書くこと。
0343デフォルトの名無しさん
NGNGメンバ関数のポインタとオブジェクトの二つを渡さなくちゃいけないんだけどBuilderではC++から拡張されてて
TNewObject* NewObject;
だったら
Button1->OnClick = NewObject->NewFunc;
とか書ける。
さっきのはForm1のメンバ関数内だから省略したけど、違うオブジェクトのメンバ関数を呼ぶようにするときは関数だけじゃ駄目だよ。
NewObject->NewFunc とオブジェクト名も書かなくちゃいけない。
>メンバ関数のポインタとオブジェクトの二つを渡さなくちゃいけない
「メンバ関数のポインタとオブジェクトへのポインタの二つを」だった。
無駄にスレ消費してすみません。
0346デフォルトの名無しさん
NGNG(縦棒グラフを利用しています。デフォルトの0,1,2,…の値を変えたいです)
BottomAxis辺りのプロパティを探ったのですがわかりませんでした。
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNGあそこはクライアント領域ではないから書き換えるのは難しいと思うが。
MDI の Non-client 描画を分捕って処理しなきゃいけないよ。
という説明でピンとこなけりゃひっこんでなさい
0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNGFatal: ファイル6.0BJが開けません
と出ます。
どうすればいいでしょうか・・・
0358デフォルトの名無しさん
NGNGファイル6.cppを「プロジェクトに追加」
0359デフォルトの名無しさん
NGNGいや、「以下」だと含むから訂正。
ファイル名に2バイト文字を使うのはDQN未満。
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNG名前に変化し、削除不能になる。
0362むこうの249
NGNGhttp://pc2.2ch.net/test/read.cgi/win/1068705330/248-
の症状の人はいないかな?
俺以外にいなければBCBとは関係なしってことになるんだけど。
0363362
NGNGお騒がせしました。
0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNGexampleフォルダになんかそんなようなのあったぞ
0367デフォルトの名無しさん
NGNGIEやSleilpnirのお気に入りのようなTreeViewを作ってるのですが、
上記のソフトではドラッグして項目を移動する時に、
項目と項目の間にくれば上、もしくは下に太いラインが表示されますよね。
その、「項目と項目の間を判定する」というのと「太いラインを表示する」という
2点のやり方がわからないんですが、どうしたら可能ですか?
とりあえず、項目の間の判定はDisplayRectを駆使すれば何とかなるかも知れませんが、
移動位置を示す太いラインの表示がどうしてもわからなくて…。
よろしくお願いします。
0368デフォルトの名無しさん
NGNGTreeViewで普通にドラッグするのは駄目なの?
0369デフォルトの名無しさん
NGNGそれだと、移動位置にあの太いラインが出ませんよね。
移動位置を明確に示すあのインターフェイスがとても明確でわかりやすいと思うので、
ぜひ取り入れたいと思うんですが、何をどうやってるのかさっぱりで。
最初はDragCursorプロパティとかで簡単に出来ると思ってたんですが。
0370デフォルトの名無しさん
NGNGそれ、Indy8ならともかく、9以降ではエラーが出るだろ
0371デフォルトの名無しさん
NGNGこれを右から左に進むようにする方法はありませんか?
0372デフォルトの名無しさん
NGNGバーの色を変えて、Position = 100 - 値 とすればいいじゃん
0374デフォルトの名無しさん
NGNGバーの色変えられないんですよ
ImageにFillRectで代用することに決めたよ
0375369
NGNGスレイプニルがどの言語で書かれてるかは知らないけど、
BCB使ってるわけじゃなさそうなので、VCLの仕様じゃ出来ない設定なのかなぁ。
0376デフォルトの名無しさん
NGNGbuilderを使ってCで作ったプログラムの実行ファイルの作成とデータファイルを作りたいんだけど、
どうすればよいですか?
目標とするところは、データファイルの作成とそれを使ってのグラフの作成なんです。
他に良い方法があるなら、そちらでもかまいません。
とりあえずはCを使いたいので、その点だけは許してください。
お願いします。
0377デフォルトの名無しさん
NGNGきみ、>>309じゃないか?
0378デフォルトの名無しさん
NGNG妙齢の兄弟は居るか。話はそれからだ。
0379デフォルトの名無しさん
NGNGOnDragOverで
void __fastcall TForm1::TreeView1DragOver(TObject *Sender, TObject *Source,
int X, int Y, TDragState State, bool &Accept)
{
TTreeView* tree = (TTreeView*)Sender;
TTreeNode* node = tree->GetNodeAt(X, Y);
if (node != NULL) {
TRect rt = node->DisplayRect(true);
tree->Canvas->MoveTo(rt.left, rt.Bottom);
tree->Canvas->LineTo(rt.Right, rt.Bottom);
}
}
こんな感じか?まぁ上のままだとかなり不都合があるが。
onCustomDraw使った方がいいかもね。
0380379
NGNG少し修正。
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
TreeView1->DoubleBuffered = true; //ちらつき防止
}
void __fastcall TForm1::TreeView1DragOver(TObject *Sender, TObject *Source,
int X, int Y, TDragState State, bool &Accept)
{
TTreeView* tree = (TTreeView*)Sender;
TTreeNode* node = tree->GetNodeAt(X, Y); //ドラッグの位置にノードがあるか
if (node != NULL) {
tree->Refresh();
TRect rt = node->DisplayRect(true);
int b = rt.Bottom - Y;
if (b > rt.Height()/2) { //ノードの上半分にマウスポインタがある
tree->Canvas->MoveTo(rt.left, rt.Top +2);
tree->Canvas->LineTo(rt.Right, rt.Top +2);
} else { //ノードの下半分にマウスポインタがある
tree->Canvas->MoveTo(rt.left, rt.Bottom +2);
tree->Canvas->LineTo(rt.Right, rt.Bottom +2);
}
}
}
void __fastcall TForm1::TreeView1DragDrop(TObject *Sender, TObject *Source,
int X, int Y)
{
TTreeView* tree = (TTreeView*)Sender;
tree->Refresh();
}
0381376
NGNGリナックスでemacs+gnuplotという環境で過ごしてきましたが、
この度windowsの方でもプログラムをしたいなと思いbulder6が評判よかったのでこちらを選んだんです。
0382デフォルトの名無しさん
NGNG初歩的過ぎるんじゃなくて(それもあるが)、質問が曖昧過ぎる。
>>376じゃ誰も回答できない。
結局何が聞きたいわけ?
0383デフォルトの名無しさん
NGNG曖昧な質問でも適当に補完して回答すればいいだろ。
俺が手本をみせてやる。
>>376
ヘルプ読め。
0384デフォルトの名無しさん
NGNGおいおい、ヘルプにゃデータからグラフ作成プログラムなんて
載ってないだろ。そこはこうだろ
>>376
Cygwin使えば?
0385デフォルトの名無しさん
NGNG0386376
NGNGもっと具体的にいうと、非線形方程式をシミュレーションで動かして近似解をデータとして保存し、
それをグラフで出力し振る舞いをみたいのです。そのグラフをパワーポイントなどに貼り付けられれば言うことない、です。
当面はlinux使いで問題はないんですけどね・・
0387デフォルトの名無しさん
NGNG>>386
「曖昧」の意味がわかるか?
0388デフォルトの名無しさん
NGNGlinuxでパワーポイント使いたいよー
0389デフォルトの名無しさん
NGNG何を渡せばいいのでしょうか?
0390デフォルトの名無しさん
NGNGTForm もしくは TFormから継承されたクラスのオブジェクト。
>>387
0391デフォルトの名無しさん
NGNGよくわからんけどとりあえずthisでOKでたわ
0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNGLabelWndProc = Label1->WindowProc;
のようにカプセル化したときに
下のTMessageでLabel1のプロパティにアクセスする方法を教えてください
void __fastcall MaiWndProc(TMessage &Msg)
{
}
ユーザーの意見を聞いてどういう製品にするか参考にしたいとか。
次バージョンを発表できる段階には無いらしいが。
自分はBoost100%のC++コンパイラにしてくれて、IDEのエディタとか使いやすくしてくれれば良いな。
Eclipseみたいにリファクタリングとか支援してくれれば嬉しいけど。
0395デフォルトの名無しさん
NGNGそいつ、去年末にレイオフ喰らってもう某にはいないぞ。
それマジなの?
0397デフォルトの名無しさん
NGNGトロくさいコード補完をなんとかしろせめてDelphiレベルにしてくれ
普通に使っていてエラーを吐くIDEはやめろ
アップデートをまじめにやれ頼むからライブラリのバグくらいは手を入れてくれ
0398デフォルトの名無しさん
NGNG>トロくさいコード補完をなんとかしろせめてDelphiレベルにしてくれ
無理なのだーC++Builderはキーワードが多すぎて。CPUをアップグレード
してください。
>普通に使っていてエラーを吐くIDEはやめろ
エラーを吐くのは仕様です。その後のエディット作業に支障を来さない
はずですのでそのままお使いください。
>アップデートをまじめにやれ頼むからライブラリのバグくらいは手を入れてくれ
DelphiやC++BuilderXの製品開発に精一杯で手が回りません。
0400デフォルトの名無しさん
NGNG機能まででるふぃなみに制限してもいいですか?
0401369
NGNG大分遅くなりましたが、ありがとうございます!
やっと時間が空きましたのでお礼の書き込みができました。
ラインを引くCanvasってややこしそうなイメージがあったんですが、
教えて頂いた通りにやると簡単でした。
ただマウスカーソルの方が少しチラつくようですが、それでもかなりの進歩です。
ありがとうございます。
0402デフォルトの名無しさん
NGNGまじ。MS にいった。
0403デフォルトの名無しさん
NGNGttp://groups.google.co.jp/groups?hl=en&lr=&ie=UTF-8&edition=us&frame=right&th=45a0aea98c12b5b6&seekm=400d4bf8%40newsgroups.borland.com
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG今回の C Magazine のインタービューは、タイミング最悪だったな。
インタビューしていた時点で既に MS に行く気だったのかなぁ。
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNGのところで Label1 も保存しておいたら?
ウィンドウプロシージャはクラスごとに同じものが使われるので WindowProc から
元のクラスのインスタンスを引くことはできない。(TLabel が二つあっても区別できない)
大体、MaiWndProc は誰の持ち物(どのクラスのメソッド)なんだ?
0408380
NGNG上で書いたやつは Refresh() を多用してるので
更新が必要な場所だけ外部にでも保存しておいて
InvalidateRect() でも使って必要な部分だけ再描画してくれ。
(↑の場合、 DoubleBuffered はいらん。まぁ、メモリに余裕があればそのままでもok)
0409デフォルトの名無しさん
NGNGビデオクリップの取り込みは、「TAnimate」のコントロール使用しました
�@ボタン、ビットマップボタンを使用
・「TAnimate」のコントロールを、ボタンの下に重ねた
・ボタン、ビットマップボタンは、透過する事が出来ないので、当然ボタン上にビデオクリップが表示されなかった
�Aスピードボタンを使用
・「TAnimate」のコントロールを、ボタンの下に重ねた
・しかし、スピードボタンの前面にビデオクリップが表示され、ボタンとしてのクリックが不可能になった
(メソッドで、前面、後背に移動の設定を行っても無理だった)
<質問>
・ボタン、ビットマップボタンを透過させることは不可能でしょうか?
・スピードボタンを、「TAnimate」のコントロールの前面に設定することはできないでしょうか?
・実現するとしたら、どのような対策があるでしょうか?
よろしくお願いします
0410デフォルトの名無しさん
NGNGAni,ateやめて、ボタンはBitBtnにして
乗せるビットマップ(Glyph)をタイマーで切り替えればいいんでないかい?
0411デフォルトの名無しさん
NGNGTListViewなどのコントロールへ外部からWM的にメッセージを送る際の
定石みたいなのはあるのでしょうか?
具体的に言うと、ウィンドウが単なるListViewならSPY++とかで調べた
ウィンドウハンドルhwndに対して、
int count = SendMessage(hwnd, LVM_GETITEMCOUNT, 0, 0);
が効いたりするんですが、hwndがTListViewだとダメなんです。
よろしくおねがいすます。
0412デフォルトの名無しさん
NGNGTListView::Handleで普通にできると思うが?
メンバ関数のPerformがつかえるのでは?
0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNGttp://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200304_03040018.html
0416デフォルトの名無しさん
NGNG定石かどうか知らんが、マクロは結構使えるかも。
ListView_GetItemCountとか
ListView_EnsureVisibleとか
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNGというか、コンテナコンポを透明にする必要性が判らん。
単に隠したいならVisible=falseだが、それでは不味い訳か?
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNG変更後の WindowState が wsNormal のままでうまくできません。
どなたか方法を教えていただけないでしょうか?
0422デフォルトの名無しさん
NGNGコマンドがSC_MAXIMIZEだったら処理する
0423417
NGNG何がしたいのかというと、XPのビジュアルスタイルで表示された
CoolBar 上にボタンなどを任意の大きさで載せたいと思い、panel を
使ったのですが、CoolBarが微妙にグラデーション表示になっているので
panelを貼り付けたところが分っていまいます。
(見た目の問題ですが、、)
何かいい方法はありますでしょうか?
0424デフォルトの名無しさん
NGNGXPは使ってないんで上手くいくかどうか保証は出来ないが、
そういう場合はTPanel->ParentColorをtrueにする。
0425デフォルトの名無しさん
NGNG環境は、Builder6でして、統計の標準偏差値を返す StdDev関数を使いたいのです。
ヘルプを見ると、ユニットはMath、カテゴリは統計ルーチンとあります。
void func(void)
{
double a[3] = {1.0, 2.0, 3.0};
double ret = StdDev(a,2);
}
のように使いたいのですが、コンパイルすると、
'未定義の関数StdDevを呼び出した'
というメッセージになります。
このMathユニットを使えるようにするにはどうすればよいのでしょうか?
0426デフォルトの名無しさん
NGNG#include <Math.h> とか。
0427デフォルトの名無しさん
NGNGVCLだと<Math.hpp>じゃないかな?
0428soku
NGNGプログラマー初心者スレから誘導されてきました。
C++Builderで、ビットマップの表示に関して行きずまっています。
作っているのは、ある値の変化をメーターのように見れるように
タイマー割り込みでCanvasに描画する、といった感じのものです。
思惑通りに表示はできているのですが、問題は時たま画像が消える(描画が
とまってしまう)ことがある、というところです。
以前に同じようなことに挑戦していて、Penなどで描画するとことに限っては
ImageのCanvasが良くこの問題が出るのに対して、
PictureBoxのCanvasは安定していることを発見し、
PictureBoxのCanvasを使っていたのですが、ビットマップを読み込んで、
下地に使おうとすると(メーターの目盛りなど)、一定時間で下地だけ消えてしまう、
という問題がおきることがわかりました。
最初、ビットマップの読み込みは、ダミーのImageに取り込んだPictureを、
PictureBoxのDrawで吸い取っていたのですが、
以前上記のImageの問題に当たっていたので、Imageをできるだけ使わないようにと
(問題はImageにあると推測して)、
TBitmapのインスタンスを作ってそこにBitmapを取り込んでおき、
タイマーではTBitmapのインスタンスからのみ読み込むようにしてみたのですが、
やはりとまってしまうようなんです。
(長くて書き込めなかったので、次の番号に書かせていただきます)
0429soku
NGNG◇ソース要約
〜
(宣言)
Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
〜
(フォームSHOW時一回だけ)
pBitmap = Im_Mater->Picture->Bitmap;
//Im_Masterに下地ビットマップが入っています
〜
(タイマー割り込み処理)
Pb_speed->Canvas->Pen->Width = 1;
Pb_speed->Canvas->Pen->Color = clBtnFace;
Pb_speed->Canvas->Brush->Color = clBtnFace;
Pb_speed->Canvas->Rectangle(0,0,Pb_speed->Width,Pb_speed->Height);
//PictureBox内消去
//Pb_speed->Canvas->Draw(0,0,Im_Mater->Picture->Bitmap);
//メータービットマップ上書き(Imageを使うと、止まるため、下行の方法に変更
Pb_speed->Canvas->Draw(0,0, pBitmap);
//ビットマップのインスタンスからコピーする
Pb_speed->Canvas->Pen->Color = RGB(0,0,255);
Pb_speed->Canvas->MoveTo(a, b);
Pb_speed->Canvas->LineTo(x, y);
//ここでメーターの針を書いてます
0430soku
NGNG消え方は、別段操作しないでも、ふっと下地だけ消えて、
Penなどの描画処理している針だけがフラフラ動いているのが残る感じです。
(メーター等の場合)
タイマーのインターバルは、55msです。
一度消えてしまうと、Redraw()、Update()、Refresh()、Invalidate()等の
再描画を実行しても元に戻らず、ソフトを再起動するしかありません。
このような問題に出会われて、さらに解決された方がいらっしゃれば、
アドバイスなどいただければありがたいです!
よろしくお願いいたします。
それから、超長文大変失礼しました。
0431デフォルトの名無しさん
NGNGパッと見だけで言わせて貰うので、欲しい回答になっていないのがアレだけど、
宣言のところでオブジェクトを作っている pBitmap に
Im_Master->Picture->Bitmap を代入するのはまずいんでないの?
pBitmap が指しているオブジェクトが、Im_Mater->Picture->Bitmap の
代入によってどっかにいってしまわない?
それとタイマ割り込み内の Pb_speed はどんなオブジェクト?
内部で作った Graphics::TBitmap のオブジェクト?
0432425
NGNGありがとうございました。できました。
VCLだと*.hpp となるんですね。知りませんでした。
これで、知識がひとつ増えました。
0433soku
NGNGレスどうもありがとうございます。
あうーなるほど・・・いわれてみれば、かなり無茶苦茶やってるです。
とにかく逃がしたくて、割と考えずにいろいろやっていたので・・・
それから、Pb_speedは、PictureBoxです。
これはコンポーネントをフォームに置いたやつですので、
TBitmapのオブジェクトではないです。
う〜ん勉強不足。
もうちょっといろいろやってみます。
どうもありがとうございました!
0434^^
NGNG#define ORIG_STR "ymq\n"
#define CIPHERKEY 1
void cipher(unsigned char n, unsigned char *a)
{
while (*a !='0'){
*a=(unsigned char)(*a ^ n);
a++;
n++;
}
}
int main(void)
{
unsigned char a[4] = ORIG_STR;
unsigned char n=CIPHERKEY;
cipher(n,a);
printf("%s\n",a);
cipher(n,a);
printf("%s\n",a);
exit (0) ;
}プログラムを実行した結果は
xor
ymq
となりました。どうしたらこういう実行結果になるのですか?
ただし、英小文字をあらわすASCIIコードは、a〜zで16進数で61〜7Aです。
0435デフォルトの名無しさん
NGNGmani();
}
void main(void){
mani();
}
0436デフォルトの名無しさん
NGNGスレ違い。念の為に言うとそのコードは実行できないはず。
あとは他のスレで聞け。
0437デフォルトの名無しさん
NGNGborland のメニューフォームのイメージなのですが。
0438soku
NGNG解決しました。
詳しくはわからないのですが、Bitmapなどのオブジェクトは同時に
4つまでしか保持できないみたいです。
ですので、新たな描画が始まると、あいている所を探して、
破棄してしまうことがあるみたいなんです。
そこで、描画前にCanvas->Lock()、
描画後にCanvas->Unlock()という手順を踏むと、
どうやら消えずにすむようです。
というか消えませんでした。
理由はまだあんまり良くわからないんですが、精進します。
どうもありがとうございました!
それから、ついでにまた質問なのですが、
Canvasに描画する作業をしているとよく、
「Canvasに対する描画ができません」というエラーが出てくることがあります。
最初はインターバルが短すぎるのかな、と思っていたのですが、
1msでも出ないときは出ない感じなんです。
これは何が原因なのでしょうか?
ご存知の方、一つよろしくお願いいたします。
0439デフォルトの名無しさん
NGNGんなもん、ソース見な誰も何も分からん
つか、デバッガ使って自分で追っかけることも覚えや
0440デフォルトの名無しさん
NGNG無理。自分でコード書くべし。
0441デフォルトの名無しさん
NGNGint main(int argc, char **argv)
ってありますよね。このchar**argvと同じものを
AnsiString文字列を分解して作るにはどうしたらいいのでしょうか?
具体的には
int sub(int argc, char **argv)
という関数にAnsiStringを分解した引数を渡したいのです。
宜しくお願いします。
0442デフォルトの名無しさん
NGNG0443441
NGNGのargvにTStringList*は渡せません…シクシク
0444デフォルトの名無しさん
NGNGいまいち何がやりたいのかよくわからん。
"int argc, char **argv"でmain(や441のsub)に渡される情報は
*複数の*文字列、一方441が分解して云々したいといってる
AnsiStringは*一つの*文字列なので、そもそも情報の「質」が
違う。
>>442がいっているように、StringListを argc と **argv として
渡すのがNGということは、たとえば
int sub(int argc, char **argv);
...
AnsiString s = "Sample String";
char *Buf;
Buf = new char[100];
strcpy(Buf, s.c_str());
sub(1, &Buf);
delete[] Buf;
こんな感じのことがしたいのか?
0445デフォルトの名無しさん
NGNG0446441
NGNG説明が足らずに申し訳ありませんでした。
一晩考えて、こうしてみました。
static void sub(int argc, char **argv)
{
for (int i(0); i < argc; ++i)
ShowMessage(*argv++);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString as("This is sample string");
TStringList* listp(new TStringList);
for (int i(as.AnsiPos(' ')); 0 < i; i = as.AnsiPos(' ')) {
listp->Add(as.SubString(1, i - 1));
as = as.Delete(1, i);
}
listp->Add(as);
int argcnt(listp->Count);
char** argvp((char**)malloc(argcnt * sizeof(char*)));
for (int i(0); i < argcnt; ++i)
argvp[i] = listp->Strings[i].c_str();
sub(argcnt, argvp);
delete(listp);
}
何かおかしい点またはこうした方がいいという点がありましたら
引き続きご指導宜しくお願いします。
0447デフォルトの名無しさん
NGNGlistpを設定している部分は
>listp->Delimiter = ' ';
>listp->DelimitedText = as;
で、置き換えられそう。
>argvp[i] = listp->Strings[i].c_str();
c_strが返すポインタは「その文でしか有効でない」というのが仕様。
ヘルプ参照。
0448デフォルトの名無しさん
NGNG0449441
NGNGDelimit関連はひとつ勉強になりました。ありがとうございます。
僕も出来ればTStringListでいきたいのですが、実はsub(int argc, char **argv)は
外部ルーチンなので、引数の仕様を変えられないのです。それで止む無く…。
c_strについてもありがとうございました。ヘルプを参照して
for (int i(0); i < argcnt; ++i) {
char* cp(new char[listp->Strings[i].Length() + 1]);
strcpy(cp, listp->Strings[i].c_str());
argvp[i] = cp;
}
としました(あと、>>446ではfree(argvp);が抜けてました)が、
ループ内でnewした各cpについてはどうやってdeleteすればいいのでしょうか?
重ねてご指南宜しくお願いします。
0450デフォルトの名無しさん
NGNGやっぱりループでdeleteするしかないんじゃないかな。
ここ数年C++使ってないから詳しくはないんだけど。
0451崖っぷち
NGNG大学でレポートが出されまして、これが明日までに出来ないと留年してしまいます!
どなたか宜しくお願いします・・・・(T_T)
配列Aのデータをソートせよ。ただしAの入力は Void getdata(int *n,double *a)
を呼び出せば入力できるものとする。
っていうものです。このままでは本当に留年が確定してしまうのでどなたか助けてください・・・・・
0452デフォルトの名無しさん
NGNG宿題スレに行ってください
http://pc2.2ch.net/test/read.cgi/tech/1075217631/
0453デフォルトの名無しさん
NGNG自分の力でできないのであれば、留年した方があなたのためになると思います。
0454デフォルトの名無しさん
NGNGとっとと留年せぇ
0455デフォルトの名無しさん
NGNGつか、ParamStrじゃダメなのか?
0456デフォルトの名無しさん
NGNGコマンドライン引数が欲しいという話ではないようだぞ。
0457ふぁむ
NGNG実はBCB6 proでDirectX9.0bを利用したいのですが
うまくいきません
そもそも使い方が良くわかっていないのも問題なのですが
DirectX9.0SDKをインストールし*.libをコンバートして
インクルードとライブラリを指定しました
新規のアプリにヘッダのインクルードを追加し
コンパイルすると
[C++ エラー] d3dx9math.inl(1552):
E2268 未定義の関数 'sqrtf' を呼び出した
と言うエラーが発生してしまいます。
たしかにBCBにない命令なのですが
皆さんは、どうやって回避していますか?
0458デフォルトの名無しさん
NGNGttp://www.nk.rim.or.jp/~m_iida/programming/directX/BCB_DX9.html
ここを参考に。
0459ふぁむ
NGNG早速の回答ありがとうございます。
参考にして再度チャレンジします。
0460ふぁむ
NGNG[リンカ エラー] 外部シンボル 'Direct3DCreate9' が未解決
が出るようになってしまいました(涙)
何が足らないのでしょう?
ソースはこんな感じなのですが。。。
#include "d3d9.h"
// 変数
D3DPRESENT_PARAMETERS param;
// オブジェクト
LPDIRECT3D9 lpD3D = NULL;
LPDIRECT3DDEVICE9 lpD3DDEV = NULL;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
lpD3D = Direct3DCreate9(D3D_SDK_VERSION);
}
//---------------------------------------------------------------------------
0461デフォルトの名無しさん
NGNGライブラリをきちんと指定してない可能性が大だな
0462デフォルトの名無しさん
NGNGFormの色を変えた時にタブの部分(デフォルトでTabSheet1って書かれてる部分)
の色だけが変わってくれないのですが、
どうしたら全て同じ色に変えることができますか?
0463デフォルトの名無しさん
NGNGthis->Parent->Controls->Refresh();
BCBで上のようなコードを記述するとちゃんとコンパイルできますが
自分で作ったクラスはアロー演算子をつなげることが出来ません
これはfunctionとしてオブジェクトへのポインタを返しているからでしょうか?
propertyとして参照すればいいのでしょうか?
またBCBではなくgccのようなコンパイラだと
一度ポインタ変数に代入しないとダメなのでしょうか?
おしえて!えらい人
0464デフォルトの名無しさん
NGNGやったことないけど、OwnerDraw=trueで自力で描画だと思う。
>>463
一から勉強しなおせ。
お前さんの書いてる文章は支離滅裂。
1つ1つの用語の意味を理解していない。
どうしても教えて欲しけりゃ取敢えずソース晒せ。
0465デフォルトの名無しさん
NGNG0466ふぁむ
NGNG鋭いご指摘です(大汗)
同じ名前で複数見れてたのが原因だったみたいです。
ライブラリを追加しなおしたら動作しました
くだらない質問してすいませんでしたm(_ _)m
また勉強させてください^^
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNGいずれにせよ、然るべきdeleteを行うなら問題は何もないよ。
0471かみかみ
NGNG作成したフレームをフォームに配置する方法。
フレームを新規作成し、
そのフレームへボタンなどのコンポーネントを配置しました。
その後、そのフレームをフォームへ複数配置したいと考えています。
「Standard」タブページからFramesコンポーネントを使えば、
作成したフレームをいくつでもフォームに配置することができるのですが、
それをプログラムで動的に行いたいと考えています。
フレームはすでに作成されているとして、
そのフレームをフォーム上に複数配置させる方法を調べています。
方法をご存知の方おられましたら、是非ご教授ください。
0472デフォルトの名無しさん
NGNGParentを設定
つか、ヘルプ見りゃ書いてある訳だが。
0473デフォルトの名無しさん
NGNG構造体をです。
どっちみち問題ないってことですかそうですか、ありがとう
0474かみかみ
NGNG早速のレスありがとうございます。
現在の私の状況を簡単に説明させてください。
まずフレームを新規作成すると、
class TFrame2 : public TFrame
というクラスが作られました。
そして、フレームにはラベルなどを配置しました。
次にForm1というフォームに、作成したフレームを配置しようと、
以下のようなコードを記述しました。
TFrame2 *frame1 = new TFrame2(Form1);
frame1->Parent = Form1;
これだけなら、エラーはとくに出ることなく実行され、
Form1に作成したフレームが配置されました。
つづけてもう一個Form1に同じフレームを配置しようと、
TFrame2 *frame1 = new TFrame2(Form1);
frame1->Parent = Form1;
TFrame2 *frame2 = new TFrame2(Form1);
frame2->Parent = Form1;
のように記述しました。
すると、2つ目のnewのところで、
「コンポーネント名Frame2はすでに使われています」
というエラーが出てしまいました。
ここでつまづいております。
原因がお分かりの方いらっしゃいましたら、是非ご教授ください。
0475デフォルトの名無しさん
NGNGできれば日本語でお願いします
0476デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?num=100&hl=ja&ie=Shift_JIS&c2coff=1&q=socket&lr=lang_ja
0477デフォルトの名無しさん
NGNGヴォケ。最初から>>474の内容で質問しろ。
回答する方は二度手間なんだよ。
情報を後だしする質問はマナーに反するし、どのスレに行っても嫌われるぞ。
以後気をつけるべし。
んで、回答。
原因はエラー表示の通り。TFrameのインスタンスにはデフォルトのNameがある点に注意。
だから、フレームのインスタンス毎に別々のNameをつける必要がある。
たとえば、
TFrame2 *frame1 = new TFrame2(Form1);
frame1->Name="frame1";
frame1->Parent = Form1;
TFrame2 *frame2 = new TFrame2(Form1);
frame2->Name ="frame2";
frame2->Parent = Form1;
0478かみかみ
NGNGどうもありがとう。
早速やってみたところ、ちゃんとできました。
昨日からずっと考えていたことだったので、
とても助かりました。
ほんとにありがとう。
質問の仕方は、以後気を付けますね。
0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNGDrawCell引数のAColじゃなくてStringGridのColでアレしてたからだわ
ほんとおまいら氏ねよ
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNGどうすればできますか?
ラーニング版だとできないのですかおしえてください。
0483デフォルトの名無しさん
NGNGbcc32 -s target.cpp
0484デフォルトの名無しさん
NGNGありがとう
といいたいところですがTASM32.EXEが必要かも
それのやりかた(コマンドオプション)のこともよくわからないし
0485デフォルトの名無しさん
NGNGまずは手を動かせ
0486デフォルトの名無しさん
NGNGtasmはasmからobjを生成する時に必要(-Bオプション指定時)
とりあえずヘルプの「Borland C++Builderツール」->「C++コンパイラ: BCC32.EXE」を読め
0487デフォルトの名無しさん
NGNGbcc32はつかえるみたいだけどわからん
そもそも総合開発環境じゃないの?
DOSプロンプトをつかわんといけないの?
0488デフォルトの名無しさん
NGNGBCCはコンパイラ
BCBが開発環境
ここはBCBのスレ
BCCなら専用スレがあるのでそちらへ
0489デフォルトの名無しさん
NGNGBCB上でアセンブラのファイルを出力できないかを聞いてるんでしょ
0490デフォルトの名無しさん
NGNGpts[i] = new TTabSheet(this);
pts[i]->PageControl = ppc;
pts[i]->Caption = ppcTabTitles[i];
mem[i] = new TMemo(this);
TTabSheetとTMemoの関連付けのやり方が分かりません。
ご教授をお願いします。
0491デフォルトの名無しさん
NGNGTControl::Parent
0492デフォルトの名無しさん
NGNGthx!!
0493デフォルトの名無しさん
NGNGノードをドラッグして動かそうとした途端にノードのOnClickやOnMouseDownイベントが実行されてしまうので
困っています。
試しにOnDragOverなどのイベントを一度全部取り外してからOnClickのみにして実行してみたのですが、
やはりノードを動かそうとした途端にOnClick判定が実行…。
これってどうやって避ければよいのでしょうか?
よろしくおねがいします。
0494デフォルトの名無しさん
NGNGドラッグ中を示すフラグを定義して、ドラッグ中だったらOnClickは何もせずにreturnさせれば?
0495デフォルトの名無しさん
NGNGもう片方はいったんCloseしてOpenしないと更新されないのですが
Closeせずに更新する方法をおしえてください
0496デフォルトの名無しさん
NGNG何とか回避できないだろうか。これじゃうっかりif文にビット演算入れられん。
#include <iostream>
using namespace std;
typedef const unsigned char cuc;
int main()
{
cuc uc = 0xff;
cuc uca[] = { 0xff };
std::cout << std::showbase << std::hex << "uc = " << static_cast<int>(uc) << ", uca[0] = " << static_cast<int>(uca[0]) << std::endl;
std::cout << "~uc = " << ~uc << " は 0で" << ((~uc) ? "はありません" : "す") << std::endl;
std::cout << "~uca[0] = " << ~uca[0] << " は 0で" << ((~uca[0]) ? "はありません" : "す") << std::endl;
}
-- 結果 --
uc = 0xff, uca[0] = 0xff
~uc = 0xffffff00 は 0ではありません
~uca[0] = 0xffffff00 は 0です
0497デフォルトの名無しさん
NGNGわかりません
配列じゃないときはintに拡張されるからかな
あとなんでstdをつけてるの
0498デフォルトの名無しさん
NGNGこれかな
ttp://fujitake.dip.jp/sealsoft/namespace.html
0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNGhttp://www.google.com/search?num=100&hl=ja&inlang=ja&ie=Shift_JIS&c2coff=1&q=Builder+%83G%83f%83B%83%5E+%83t%83%8A%81%5B%83J%81%5B%83%5C%83%8B&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG参考になるオープンソースは無いでしょうか?
0503デフォルトの名無しさん
NGNG符号付き値と符号なし値の比較
とかいう警告が出てくるんですが…
ついでに結果がVC++とC++Builderで違います。
STLを使っているのですが、なにか移植に関して注意するようなことはないのでしょうか?
よろしくお願いいたしますm(_ _)m
0504デフォルトの名無しさん
NGNGこの前Delスレでもあったけど、TExcelApplicationはダメか?
あれ?BCB5にあるんだっけ?
0505デフォルトの名無しさん
NGNGusing namespace std;
してるじゃん
0506デフォルトの名無しさん
NGNGレスありがとうございます。
多分OLE経由でやるってところまでは分かるんですが、
プロジェクトごとソースがあれば参考になると思いまして。
全く分からなかったので質問させていただきました。
0507デフォルトの名無しさん
NGNG読み込みだけでしたら、こちらのサイトで分かったのですが・・・
http://www.geocities.co.jp/SiliconValley/4805/bcbtips/bcbtips078.htm
0508デフォルトの名無しさん
NGNGDelだけど、真似してみれば?
ある程度までできたら、残りはExcelVBAだから。
ttp://www.geocities.jp/lupin_home/delphi/index.html#21
0509デフォルトの名無しさん
NGNGありがとうございます!
Delphiですか、初めてですが、とりあえずそのままコピペしてみます。
ちなみに、 「CreateOleObject」を使用する際、
Serversコンポーネントの「ExcelOLEObject」をFormに貼り付ける必要はあるのでしょうか?
(初心者ですみません)
0510デフォルトの名無しさん
NGNGありが�d^^
0511デフォルトの名無しさん
NGNGいや、いらないはず。
0512デフォルトの名無しさん
NGNG早速のレスありがとうございます。
[C++ エラー] Unit1.cpp(31): E2268 未定義の関数 'CreateOleObject' を呼び出した
と、エラー発生するのですが、原因わかるでしょうか・・・
0513デフォルトの名無しさん
NGNG必要なライブラリをリンクしたか?
0514513
NGNGだとしたら必要なヘッダーファイルをインクルードしていないから。
0515デフォルトの名無しさん
NGNGヘッダーをインクルードする必要があるのですか、なるほど。
この場合、なんというヘッダでしょうか
ヘルプには見当たらなかったのですが・・・
0516デフォルトの名無しさん
NGNG何から何までお世話になり申し訳ありません。
それと同時にサクサク教えられるので尊敬のまなざしです。
0517デフォルトの名無しさん
NGNGヘルプにComObjと書いてあるけど
0518デフォルトの名無しさん
NGNGどのヘッダーをインクルードしなければならないか、
と言うのは、何かヘルプになる資料はあるのでしょうか?
(それとも、すでに常識で皆さん暗記が必須事項でしょうか?)
もし参考になるものがありましたら教えていただけると助かります。
0519デフォルトの名無しさん
NGNGヘルプで関数なりを引けば「ユニット」という項目に書いてある。
0520デフォルトの名無しさん
NGNGおおおぉー
これが、必要なヘッダだったんですか。
すみません、知りませんでした・・・
ComObjをインクルードする場合、#include ComObj ではありませんよね?
c++は素人で、今までCしかやったことが無く
質問ばかりでご迷惑おかけします。
0521デフォルトの名無しさん
NGNGそろそろ自分でヘルプを見ることを覚えませんか?
0522デフォルトの名無しさん
NGNG申し訳ありませんでした。
ヘルプに
「COM オブジェクトを作成するには,CreateComObject を使用してください。」
と書いてありました。CreateComObjectを調べてみます。
0523デフォルトの名無しさん
NGNGぉ〜ぃ、ちゃんと読め。
ヘルプにそんなことは書いてない。
0524デフォルトの名無しさん
NGNGあら?CreateComObjectは関係ないということでしょうか。
「説明」に書いてあることをもっとよく読んでみます。
(違うところを読めという事?)
とにかく、ご指摘ありがとうございます。
0525デフォルトの名無しさん
NGNG>IDispatch インターフェースをサポートしない COM オブジェクトを(以下省略)
つーか、なんでCreateComObjectだと思ったわけ?
朝早いんで寝る。
0526デフォルトの名無しさん
NGNGすみません、ヘルプに書いてあったのでまずはCreateComObjectかなと思いまして。
おやすみなさいです〜
0527デフォルトの名無しさん
NGNG>>520の「c++は素人で、今までCしかやった事が無く」
って、あんた、そのレベルではCも初心者じゃねーか!!
と突っ込むのは無しですかね。
0528デフォルトの名無しさん
NGNGレス送れました。ありがとうございます。
using namespace std; は取り忘れました。
それにしても配列とそうでない変数の時は挙動が違うと、
安心できませんね。当分ビット演算は直接if文に突っ込ま
ないようにします。
0529デフォルトの名無しさん
NGNG○遅れました
0530デフォルトの名無しさん
NGNG0531現調中
NGNGForm1.PrintForm で印刷すると文字がアウトライン化され非常に綺麗なのですが、
C++Builderでフォームに同じようにラベルを貼ってフォントサイズを20で
Form1->Print(); で印刷するととても汚いです。
VBとBCBでは印刷の仕組みが違うのは分かりますが、
どうにはVBのように綺麗に出す方法はないでしょうか。
Shapeなどを使用し罫線を引いたりしたものを一緒に印刷したいので
RichEditを使う方法は使えません。
色々と調べて何度もチャレンジしてみたのですが出来ませんでした。
教えて君で申し訳ないですが是非解決策を教えてもらえないでしょうか。
今日も帰れそうにないです。。
0532デフォルトの名無しさん
NGNGPrinterオブジェクトを直接使う方法しか知らないなぁ・・・。
役に立たないけど、応援の言葉だけ。
ま、ゆっくりしていけ。
0534デフォルトの名無しさん
NGNGやっぱりPrinter.Canvasに直接描画っぽい。
Print()はグラフィックとしてTFormをTBitmapにコピーし、それを
スケーリングして印刷してる。つまりハードコピーしたグラフィックを
拡大してるからフォントは汚くなる。
で、考えたのだが、TLabel等文字関係を非表示にしてTBitmapにコピー、
それをプリンタのスケールに拡大して、そこに文字列を描画ってのは
どうだろ? 結構面倒そうだが。
他の手段として、レポートツールとかでこの辺を楽にできないのかな?
俺使ったことないからわからんのだわ。
やっぱり、ゆっくりしていけ。
0535現調中
NGNG優しい>>534様。
文字関係を非表示にしてフォームをコピーで罫線とかを覚えてて・・・
プリンターのスケールに拡大で文字ですか〜。。頭が逝きそう。
いまさきほどから実験してるのは、フォームに散乱したラベルや罫線の
パーツ類を取得し座標を計算して、ラベルならその内容を・・・
->Canvas->TextOutA(x, y, str); で置いていくみたいな事を
やってました。
やりながらVBで1から作った方が早いような・・とか悩んでますが
先方がDLLだのランタイムだの必要とせずEXE1本でとうるさいので・・。
ということでゆっくりしたくないのでもっと実験します・・
0536デフォルトの名無しさん
NGNGそれをスケール調整してPrinterキャンバスに描いてみては
いかが?
0537デフォルトの名無しさん
NGNG一日は24時間あるさ。
0538536
NGNGついでいうとPaintToはコンボボックスの中身だけなぜか描いてくれない。
0539現調中
NGNG先方説得してVBで組むか・・・
0540デフォルトの名無しさん
NGNGttp://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=041956
0541デフォルトの名無しさん
NGNGhttp://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=042110
0542かみかみ
NGNG以下の件について、ご存知の方おられましたら、ご教授願います。
Microsoft ACCESSのデータベースを作成する方法
今のところ、まったくもってやり方が分からずにおります。
ご存知の方おられましたら、是非ご教授願います。
0543デフォルトの名無しさん
NGNGすげぇむかつく
0544デフォルトの名無しさん
NGNGAccess形式のファイルを自動作成するやり方は知らないけど、
テーブルも何もない空のAccessのファイルをあらかじめ作っておいて、
そいつに動的にテーブルを作って、データファイル的にAccessのDBを扱ったことはある。
そのときは、ADOCommandのCommandTextに"CREATE TABLE〜"でテーブル作成SQLを
設定してやって、ExecuteでSQLを実行した。
0545デフォルトの名無しさん
NGNGインストール時に関連付けをどうするか聞いてくるだろが!
まあ俺もDelphiの関連付けを乗っ取られたわけだが_| ̄|○
0546デフォルトの名無しさん
NGNG「Microsoft Internet Controls (Version 1.1)」をインストールし、パレットに出来た
TCppWebBrowserコンポーネントを単純にフォームに貼り付けてビルドすると、
[リンカ エラー] 外部シンボル '__fastcall Shdocvw_tlb::【A】::【B】
が未解決(C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ が参照)
がたくさんでてしまうのですけども、なんか手順しくじってますか?
Windows98se+Ie5/5.5/6と2000+Ie5.5です
【A】は、TCppSearchAssistantOC、TCppCScriptErrorList、
TShellFavoritesNameSpace、TCppShellUIHelper、TCppShellWindows、
TCppShellBrowserWindow、TCppInternetExplorer がそれぞれ、
【B】は、BeforeDestruction()、InitServerData()、InvokeEvent()、
Connect()、Disconnect() がそれぞれ組み合わさります。
0547デフォルトの名無しさん
NGNGどうすればいいですか?
0548デフォルトの名無しさん
NGNGセンスを磨いてください。
0549デフォルトの名無しさん
NGNGBCBのincludeディレクトリ以下のどこかにshdocvw_ocx.hというファイルがあるので、
それを削除すればOKなはず。
0550デフォルトの名無しさん
NGNGdclIndy60.bplをパッケージのインストールで追加しようとすると、「プロシージャエントリポイント
@Idresourcestring@_RSBindingAny がダイナミックリンクライブラリ Indy60.bpl から見つかりませんでした。」
と言われます。アップデートは当ててあるのですけれど・・・。
0551デフォルトの名無しさん
NGNG閉じるボタンを自作のアイコンに変更したりしたいんですが...
0552デフォルトの名無しさん
NGNG頑張って下さい
0553デフォルトの名無しさん
NGNGXPでやってる奴。
0554デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNGそのためにテンプレートを書くのはちょっとと思い、
以前に使ったことのあるATLに含まれる
CAutoPtr
CAutoPtrArray
を使おうと思ったんですがどうしてもうまく行きません……。
(そもそもコンパイルを通せません)
Proを使っていますのでATLをサポートしていると思うのですがヘッダにそれらしきものもなく。
BCBには同様の機能として
TPtr、TAPtrの二種類があるようなのですが、
これらはリファレンスにものっていないし、コードを見る限り挙動がおかしくて
(TAPtrのコンストラクタにTPtrを渡すと、TPtrのProtectedな関数を直接呼び出そうとしていたり……。)
困ってしまっています。
何か良い解決策は無いものでしょうか?
ご教授戴けますと幸いです。
0557デフォルトの名無しさん
NGNGこんなんどうよ
0558デフォルトの名無しさん
NGNGそんな特定の個人Dependな実装を使わなくても、
boost:shared_ptrとかSTL:auto_ptrを利用すれば?
俺はBCB4.0でコンテナには boost:shared_ptr、VCLは状況で auto_ptr 利用しているけど。
STLはまあいいとして、boostは ttp://www.boost.orgでどうぞ。
0559デフォルトの名無しさん
NGNGコピーしないことを明示したいときはscoped_ptr使ってるよ。
0560デフォルトの名無しさん
NGNGヤフーオークションでBuilder6が500円とかであるんですが買って大丈夫なんですか?
登録したらつかえませんとかないですか?
違法になったら怖いなぁー
0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNGINDYは最初からついてるやつ使ったほうがいいよ。新しいの駄目駄目。
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGBorland\CBuilder6\Bin\ ディレクトリの indy60.bpl をリネーム
0567デフォルトの名無しさん
NGNGttp://www.kumei.ne.jp/c_lang/bcc/
0568デフォルトの名無しさん
NGNGしています。
BCB4.0のヘルプファイルには「VCL コンポーネントを含む
DLL の作成」という項目があり、「YES」「NO」という2つのボタン
を有するフォームを作成する例が掲載されています(多分、BCB
5.0以降でも同じような内容があると思います)。
しかし、実際に作ろうとしてBCBの「ファイル」→「新規作成」
→「ダイナミックリンクライブラリ」を選択すると、フォームの無い
プロジェクトが作成されてしまいます。dllを作成するプロジェクト
にフォームを追加するにはどうすればよろしいのでしょうか?
0569デフォルトの名無しさん
NGNG上のマクロをBCB6で実現する方法ってないでしょうか‥‥
0570デフォルトの名無しさん
NGNG0571556
NGNG>>557さん、>>558さん、>>559さん、お答え戴き有り難う御座います。
>>557さん
やねうらおさんのYTLは知っていたのですがそれだけを分離して使えないので、困っていました。
しかし、ゲームをつくる上での使い勝手は良さそうですね。
ご紹介戴き、有り難う御座います。
>>558、>>559さん
boost使ってみました。
かなり良いです!
boost:shared_ptr
がvectorの要素に対して格納できるのが良いですね。
紹介戴きありがとうございました。
auto_ptrでは駄目な部分もあり、色々と迷っていたのでした。
こんな使い勝手の良いライブラリが無償で提供されているなんて
何だか感動です。
本当に有り難う御座いました。
0572デフォルトの名無しさん
NGNGフォームは別に作って、それをインクルードしたらいい
0573558
NGNG>>auto_ptrでは駄目な部分もあり、色々と迷っていたのでした。
vectorにはauto_ptrは*絶対に*使えませんよ。
この辺の詳しいことは、Effective STLの第7項に書いてあります。
#最終的にはshared_ptrを使うのが例外安全の意味もありBESTとなってます。
Effective STL:
ttp://www.amazon.co.jp/exec/obidos/ASIN/4894714108/249-4661473-2133910
0575デフォルトの名無しさん
NGNGというのは出来ますか?
0576デフォルトの名無しさん
NGNGCtrl+F9とかAlt+F9とか。
メニューの「プロジェクト」見れ。
0578デフォルトの名無しさん
NGNGCharsetプロパティへセットする定数の値が分かりません?
memo->Font->Charset = ?
教えてください、お願いします。
0579デフォルトの名無しさん
NGNGgrep
0580デフォルトの名無しさん
NGNG最大何バイトまでOKなのでしょう?
それから、AnsiStringみたいな可変長変数の扱いはどうなるんでしょう?
0581デフォルトの名無しさん
NGNGCharsetじゃなくてNameじゃないのか?
0582デフォルトの名無しさん
NGNG予約スタックサイズの設定次第
巨大な静的宣言された配列使わない限りは普通、問題は出ない
AnsiStringの様なクラスはプロパティの合計サイズと同じだったはず。
0583デフォルトの名無しさん
NGNGありがとうございます。
予約スタックと静的変数を検索してみます。
0584デフォルトの名無しさん
NGNGTCppWebBrowserを使った開発をやっているんですが、
Webが表示されたのはいいんですが、例えば2ちゃんねるなどの掲示板へのカキコの
際にエンターで改行して書くにはどうすればいいんでしょうか?
一番手っ取り早い方法を教えていただきたいです。
0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNGstaticだと、スタックとは関係なくなるんじゃないか?
・global/static/動的に確保
->heapに領域生成
->マシンの(OSの/処理系の)メモリに依存
・通常のlocal
->スタックに依存
でしょ。
MS-C4.00のころはそうでなくても乏しいメモリ環境の中で
環境変数をスタックにコピーしてたのですぐにスタックが
足りなくなってということもあったけど、
最近はそういうことはほとんど起こらないだろう>>580。
というかそんな噂みたいな聞きかじりを心配しても意味が無いと思う。
ちゃんとしたソースなり文献なりをあさるべし。
0587デフォルトの名無しさん
NGNG起動された場合の対応として
1)最初の起動時、ハンドルを共有メモリにセーブする。
2)2回目以降の起動時は、共有メモリのハンドルに対しパス名+ファイル名
をSendMessage"WM_COPYDATA"し終了する。
(初回、2回目以降の判断はミューテックス使用)
3)通知されたファイルを新たなタブで開く。
こんな方法しか思いつかないのですが、もっと簡単な方法ってありますか?
0588デフォルトの名無しさん
NGNGうまくいかなくて原因がわかりません。
やったこと:スレッドのコンストラクタでAllocateHWnd()でハンドルを取って、
RegisterHotKey()でホットキーを設定してみました。
で、execute()内でkeybd_event()でダミー入力を起こしてみたのですが
WndProc()にWM_HOTKEYが帰ってきてくれません。
実際にキー入力しても反応ありません。
フォームを使わない入出力(というかDLL作成)は初めてで
勝手がわかりません。基本的におかしい所があるんでしょうか?
0589デフォルトの名無しさん
NGNGないですか?
0590デフォルトの名無しさん
NGNG例)
int index;
Edit(…)->Text="Hello.";
(…)にはindexの数を当てはめたいのです。
教えてください!
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNGEditがたくさんある場合を想定しています。
プログラム始めたのが最近でまだあまりよくわからない初心者なもので…。
0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNGEditがたくさんっていくつ?
たくさん置く実装のほうが間違っているよ。
あなたが初心者ならなおさら。
学習が目的ならC++の勉強からはじめな。
数時間から十数時間の勉強でわかるようになるよ。
0596デフォルトの名無しさん
NGNGindexが1〜20まで、EditBoxが1〜20まであります。
for(index=1;index<20;i++){
ここで、hogeがなんらかで決まる。
if(hoge=1)Edit(…)->Text="Hello.";
if(hoge=2)Edit(…)->Text="Hello2.";
………
if(hoge=20)Edit(…)->Text="Hello20.";
}
な感じにしたいのです。
0597デフォルトの名無しさん
NGNGやっぱり実装が間違っているんでしょうか…。
例を見ると学習ぽいですが、
本当は、複数あるグラフボックスの下にグラフの判定結果を出力したかったのです。
0598デフォルトの名無しさん
NGNGeba[0] = Edit1;
eba[19] = Edit19;
eba[hoge]->Text = "hoge"
0599デフォルトの名無しさん
NGNG設計時にポトペタするんじゃなく、動的に作成するって事だな。
で、indexでアクセスするなら
TEdit *edits[] = ...
とすりゃいい。...の部分は
{ Edit1, Edit2, Edit3, ... } でもいい(これならローカル配列でも初期化できる)し
Create時にnewしてもいい(この場合は配列をFormのメンバにする)。
0600デフォルトの名無しさん
NGNGとても助かりました。(´ー`)♥
0602デフォルトの名無しさん
NGNGFindComponent
0603デフォルトの名無しさん
NGNGDDE使ってみるのは?
簡単かどうかは知らんが。
0604デフォルトの名無しさん
NGNGCppWebBrowserで現在表示されてるHtmlのソースを取得したいんですが、うまくいきません。
IEの「ソースを表示」とかと同じことをしようとしてるんですが…。
IHTMLElement *el;
TComInterface<IHTMLDocument2> doc2;
wchar_t *wcpp;
doc2 = CppWebBrowser1->Document;
doc2->get_body(&el);
el-> get_outerHTML(&wcpp);
Memo1->Text=AnsiString(wcpp);
一応上のコードでhtmlの<body>タグ内のものは取得することが出来たんですが、
そうではなくドキュメント内の全てのコードを取得したいんですよね。
なので次のような書き方にして、
IHTMLElementCollection *el;
doc2 = CppWebBrowser1->Document;
doc2->get_all(&el);
みたいにget_all( )という関数がそのものズバリなのかと思ったんですが、
そこから全てのコードを取り出す関数が見つかりませんでした…。
どなたかお助け願います
0606デフォルトの名無しさん
NGNG登録(コントロールとイベントハンドラの関連をコンパイラへ通知)
方法が分かりません。教えてくださいお願いします。
0607デフォルトの名無しさん
NGNGコンパイラに通知してどうする(w
イベントハンドラもプロパティだよ。代入すればいいだけ。
NewComponent->OnClick = OnHogeClick; //OnHogeClickが既存のイベントハンドラ
0608デフォルトの名無しさん
NGNG強制的にOnClickとOnMouseDownが実行されてしまいます。
OnDragOver内でドラッグ中にフラグを立てて、OnMouseUp時にフラグの値を元に戻す、
という方法も試してみたんですが、どうもうまくいかないです。
みなさんどのような方法でこれを回避してるんでしょうか?
0609デフォルトの名無しさん
NGNGそっかw、ありが�d
0610デフォルトの名無しさん
NGNG具体的に何をしようとしているか分からんとアドバイスのしようがない。
一般的に言うなら、ボタンが押された時点で、エンドユーザの意志が
「クリック」なのか「ドラッグ」なのか判断するすべはない。
だからOnClick, OnMouseDownとドラッグとで互いに競合する処理を
割りつけるのがそもそも不味いわけ。
たいていのアプリでは、OnMouseUp時に処理を行うようになってるはず。
これならドラッグ後はスキップするようなことも簡単にできる。
0611デフォルトの名無しさん
NGNG> 具体的に何をしようとしているか分からん
クリックすると処理の実行、ドラッグすると単に順番を入れ替えるだけ、です。
> 「クリック」なのか「ドラッグ」なのか判断するすべはない
> たいていのアプリでは、OnMouseUp時に処理を行うようになってるはず。
単純な指摘ですが盲点でした、そうか、それならOnMouseUpに書けば上手くいきますね!
で、こんな流れでコードを書きました。
まず、OnDragOver内でフラグを立てて、OnMouseUp時にもしフラグが立っていたら処理はキャンセルして
フラグの値だけ元に戻す。
これでイケルはず、と喜び勇んでやってみたんですが、驚くべきことにノードのドラッグを開始した途端に
なんとOnMouseUp内の処理が実行されてしまいます!!
調べてみたところ、OnDragOverよりも先だってOnMouseUpイベントが発生してる模様です。
しかし、そのまま一旦ドラッグしたものを放して、再度何かをドラッグすると、
次はちゃんとフラグが立って処理が実行されることはありません。
ただし、その後一度ドラッグなしにMouseUpイベントを実行させた後はまた同じように振り出しに…。
TTreeViewコンポーネントは一つだけ、動的に作成したものではない。フラグ用のメンバ変数もかぶってない。
イベントを他のイベントと間違えてつけてやしないかとインスペクタを見直してみてもちゃんと合ってます。
これは一体…。というか仕様ですか?BCB6なんですけど。
0612デフォルトの名無しさん
NGNG実験してないからなんとも言えんけど、その症状はフラグの管理を
失敗している気がする。
0613デフォルトの名無しさん
NGNGそうですか、もう一度見直してみることにします。
ありがとうございます。
確認のためにどなたかご存じの方にお聞きしますと、
BCB6(のVCL)ではノードのドラッグを開始すると
OnClickやOnMouseDownのみならずOnMouseUpも実行されるっていう仕様なのですよね?
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNGDragMode=trueでは
クリック時
マウスボタンアップ時に
OnMouseDown, OnClick, OnMouseUpが連続して発生
ドラッグ時
ドラッグ開始時にOnMouseDown, OnClick, OnMouseUpが連続して発生
その後OnDragそしてドロップ時にOnDrop発生
というかなり変則的なイベント。
うーん、これは予想外。
対応策は・・・ちと思い付かんな(w
0616デフォルトの名無しさん
NGNG×DragMode=true
○DragMode=dmAutomatic
0617デフォルトの名無しさん
NGNGあー、お手をわずらわせてしまってすいません。
やはりかなり変則的な仕様になってましたか…。
自分で前に簡単に試してみても同じような結果になったんですよね。
ついでに言うとOnMouseMoveも連続発生組だったと思うのでどうしようもないですね。
初心者なものであまりそのことで難しいコード書いたりするのも何なので、
最終手段としてとっておいた、ダブルクリック時に処理を行う、という流れに変更したいと思います。
どうもありがとうございました、感謝。
0618デフォルトの名無しさん
NGNGMoveTo( hoge , naInsert) でhogeの一つ前には移動できるものの、
一つ後に移動させる方法がわかりません。
hogeが最後の兄弟だったりしたケースなどを考えると解決策がどうも
浮かんでこないのですが、よろしければご教授くださいませ。
よろしくお願いします。
0619デフォルトの名無しさん
NGNGどなたかParadoxの仕様(最大レコード数とかサイズとか)が載ったサイトって
ご存知ないですか?
0620デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?q=cache:g0IBgbj5SF4J:www1.harenet.ne.jp/~hiharada/plink/p95/n018.htm+Paradox+%E6%9C%80%E5%A4%A7+%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E6%95%B0+%E3%82%B5%E3%82%A4%E3%82%BA&hl=ja&lr=lang_ja&ie=UTF-8&inlang=ja
0621デフォルトの名無しさん
NGNG表示させる方法を教えてください。
0622デフォルトの名無しさん
NGNG変更されません。
どうしてでしょうか?教えていただけませんか?
if( CheckBox1->Checked ){
DBGrid->Options = DBGrid->Options << dgTitles;
}else{
DBGrid->Options = DBGrid->Options >> dgTitles;
}
BCB6 Win2Kです
0623デフォルトの名無しさん
NGNGプロパティに<< >>は使えないんじゃないの?
0624デフォルトの名無しさん
NGNGDBGrid->Options << dgTitles;
は?
0625デフォルトの名無しさん
NGNG書式そのものはそれでいいはず。
念のためそのコードが実行されているかトレース。
あと、dgTitles以外の値もダメ?
0626デフォルトの名無しさん
NGNGTDBGridOptions のような集合型は、極力モノグサしない方が
経験上、後腐れないですよ。
TDBGridOptions dgoTemp;
dgoTemp = DBGrid->Options;
dgoTemp << dgTitles;
DBGrid->Options=dgoTemp;
という感じで、一度変数として取り出し、操作してからまた元に戻す…
というのがよろしいかと思います。
なぜそのようにしないとうまく動かないのかはわかりませんが。
0627デフォルトの名無しさん
NGNGプロパティのVisibleの値を非常に早く変化させると
「EOutOfResourcesクラスの例外を生成しました。'Cannot Remove System Shell Notification Icon'」
というエラーが出てしまいます。
チェックボックスとトレイアイコン表示を連動させていると、
ユーザーにチェックを連打された時にこのエラーが発生するとまずいので、
エラーが出ない対処法を何か教えていただけませんか?
0629デフォルトの名無しさん
NGNGGlyphプロパティじゃ駄目なん?
0630ML-:37332
NGNG業務に使えないのはBCBでなく、バックアップも取らないお前。
0631622
NGNG>>623
Stringgridだといけたんですよ。
>>624
言葉足らずすんません、それもやってはみたんですが。
>>625
うぅ、トレースでは確実に実行されているんでInvalidateしたりもしたけどだめでした。
>>626
ありがとうございます、それでいけました。
623さんへのれすにもかいたようにStringgridだといけたのになぁ。
皆さんありがとうございました。
0632デフォルトの名無しさん
NGNGビットマップの大きさが変えられないんよ、それにあれって4分割でアレしてるから
0633デフォルトの名無しさん
NGNGTSpeedButtonなら大きさに合わせて表示できると思うけど。
4分割も使わなければいいだけのはずだし。
俺が勘違いしてるのかな?
0634604
NGNG週末の前に僕の質問に答えてみませんかぁ!
0635デフォルトの名無しさん
NGNGdelだけど・・・
0636604
NGNGでも誰も答えてくれなかったので嬉しい_| ̄|○
0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNGなんだろ
0639初心者
NGNG結果はもう片方に表示させるなんて事はできるんでしょうか?
その必要性は別として。
0640reiko
NGNG私ウィルス対策のためウィルスの研究をしています。変わったウィルスを
お持ちの方、ご存知の方reikoに送信していただけないでしょうか。
お待ちしています!
0641デフォルトの名無しさん
NGNG2行3列の行列の和を求める関数 int sum(int x[][3],int y[][3],int z[][3])
で仮引数x[][3]をx[][]と出来ないのは何故ですか?
また、この関数だとn行3列の行列の和しか出せないのですが
n行m列の行列の和を出す関数は作れないんでしょうか?
0642641
NGNG無視してください
0643デフォルトの名無しさん
NGNGWNDCLASSEXはサポートされているんでしょうか?
0644デフォルトの名無しさん
NGNGそら必要なヘッダさえインクルードしたらな。
以降、BCCの話題はこっちのスレへ
タダで使えるBorland C++ Part3
http://pc2.2ch.net/test/read.cgi/tech/1054390397/l50
0645デフォルトの名無しさん
NGNGありがとうございました。
次からそうします。
0646デフォルトの名無しさん
NGNGC++Builder5からC++Builder6にアップデートしたら
.bprファイルのアイコンがC++Builder5のままだった。
「何でだよボケ」とか思いながら再起動したら、C++Builder6の新しいアイコン
に代わっていた、ところが次に再起動してみるとまたまたC++Builder5のアイコンに
戻っていた…
再起動するたびに5のアイコンだったら6のアイコンだったり怖すぎ。
これには裏にBorlandの大いなる意志が働いてるんだと俺は思う。
((;゚Д゚)ガクガクブルブル
0647デフォルトの名無しさん
NGNGプログラマに向いてないと思うぞ。
0648デフォルトの名無しさん
NGNGそういうツッコミは野暮でしょ
0649デフォルトの名無しさん
NGNGそれは大いなる意志に違いない。
速やかにBCB6を俺によこせ。
0650デフォルトの名無しさん
NGNGこれをDBGridに表示するときには1.23のようにしたいのですが,
DBGridの表示形式を変更するということは可能でしょうか?
0651デフォルトの名無しさん
NGNGTFieldのOnGetTextあたりで細工しれ。
DisplayFormatでもいいが。
0652デフォルトの名無しさん
NGNGこれってなんなんでしょう?ヘルプをみても
「引数をレジスタで渡す関数を宣言できます」なんていわれてもぱっときません
どういうものなのでしょう?
0653デフォルトの名無しさん
NGNGCPUペイン見れ。できるだけ多くのレジスタを使って関数の
パラメタを渡すようになる。でも結局__fastcall関数内でその
レジスタを待避しなければならないので本当に速くなるか
どうかは疑問の点もあるが。
0654デフォルトの名無しさん
NGNGデルファイとの互換のためにあるので、
BCBしか使わないなら気にする必要なし。
0655650
NGNGレスありがとうございます!DBにもともとあるフィールドに対しては
できました.
例えばDBの第1回模試というテーブルの中に英語と数学というフィールドが
あったとして,
Select (t1.英語+t1.数学)/2 as 平均 from 第1回模試 as t1;
を実行したきの"平均"の表示形式を変更することはできるのでしょうか?
0656デフォルトの名無しさん
NGNG動的に項目作成するなら、プロパティもそのときにせっていしてやれば?
0657デフォルトの名無しさん
NGNGDelphi6も同じく使ってるんだけど、Delphi6はすごく早い。
ところがC++Builderはメンバー一覧がでるまで「がががが...」しばらく
swapしてから表示される。この待ち時間中はキーをたたいてもエディタに
反映されないので待つしかないのです。
これ早くする方法ないのですあ?…やっぱりデフラグですか?
0658デフォルトの名無しさん
NGNGない
0659デフォルトの名無しさん
NGNG自動支援機能を全部切れ(・∀・)
必要な時だけCtrl+Space押せば問題なし
0660デフォルトの名無しさん
NGNGCPUを速くして、メモリを倍増させて、HDDを速いのに代えて・・・。
それでダメならユーザを交換しる!
0661デフォルトの名無しさん
NGNGレスあり、遅レスすまん
えとTSpeedButtonは大きさに合わせてできなかったんだけど、できる?
4分割は使わなくていいんだけど、勝手に分割されて・・しかも変なふうにl
0662650
NGNGそうしたいんですけど...
実行するSQLにEditから入力した値を渡しているので,DisplayFormatが
使えないんですよ.
0663デフォルトの名無しさん
NGNGどれ位のスペックのマシンですか?
俺はPen4 3.2G、デュアルチャンネルDDR-SDRAM3200 1G、
Serial ATA7200rpm、WindowsXP等を使用しておりますが
ほとんどストレスなく自動支援が働いております。
0664デフォルトの名無しさん
NGNGUxtheme.h をインクルードしたんだが
宣言には識別子が必要と怒られた。
もしかしてマニフェスト使うしか方法無いの?
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNGPen3 1Ghz、RAMは327MB
Win2kでHDDの回転数は不明です
0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNGメモリってそんなにつむものなんですか?
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG今だと開発機は普通に1GBくらいじゃないかな。
0671デフォルトの名無しさん
NGNGわかりました、メモリ増設します。
0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNGおっと、失礼w
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNGなんでやねん?
0676デフォルトの名無しさん
NGNGいや、つうかさ?
BCDの0x20てintで32じゃん?
これintで20ってするのにどうやってやりますか?
0677デフォルトの名無しさん
NGNG(x >> 4) * 10 + (x & 15)
0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNGVCLさえあればRADな所は損なわれねーから
VCLを利用してVCでコードのみ作成したいんだけど、インクルードパスを設定しても
補完機能が働いてくれねー。
VCLはポトペタよりコーディングした方が管理しやすいので
補完機能を何とかしたいんだが、どうにかならんかね。
いっとくけど、MFC使えなんてのは無し。MFCはRADじゃねーから。
BCB5 Learning
VC6 Standerd
0680デフォルトの名無しさん
NGNGVCLのヘッダは某の独自拡張機能使いまくりなのでVCのIDEじゃ解析できないかと
0681デフォルトの名無しさん
NGNGお、マジかいなー
どれどれ計算してみるわ、あんがとさん♥
0682679
NGNGPro版買えってことですね。(鬱
サラ金行って来るかな・・・
0684682
NGNGラーニングエディション買った俺がろくなプログラムを書けないから
誰か責任取れバカと言っている。
>>683はプロ版を使っており、
ラーニングエディションを買った俺がバカだと、言いたいわけだ。
>>683の心の師匠がエンタープライズ版を使ってもっと凄い物を作ってる。
ということかな?(w
0685デフォルトの名無しさん
NGNG気にせずPro版なりEnt版なり買え。切羽詰まったらマグロ相手の仕事を紹介してやる。
釣りが目的じゃないから、移動中にプログラム組めるだろ。
ということで。
0686デフォルトの名無しさん
NGNGC++Builderではどのようにすればよいのでしょうか?
0687デフォルトの名無しさん
NGNGDelphiで作るとちゃんとキャプションを一文字入力するごとに飛んでくるのに。これは自分だけですか?
private:
void __fastcall CMTextChange(TMessage & Message);
protected:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(CM_TEXTCHANGED, TMessage, CMTextChange)
END_MESSAGE_MAP(TGraphicControl)
void __fastcall TSimpleButton::CMTextChange(TMessage & Message)
{
TGraphicControl::Dispatch(&Message);
Invalidate();
}
0689デフォルトの名無しさん
NGNGLONG64
LONGLONG
0690デフォルトの名無しさん
NGNGDataSet->FieldByName("平均")->DisplayFormat = 〜〜
0691デフォルトの名無しさん
NGNG点線の四角形を表示させない方法を教えていただけませんか・・?
0692デフォルトの名無しさん
NGNGTBitBtnに代える。
0694デフォルトの名無しさん
NGNGごめん。TSpeedBtnに代える。
0695691
NGNGTSpeedButtonはHandleプロパティを持ってないからどうしようか迷ってるんです・・。
BCBのデフォルトで付いてるコンポーネントでHandleも持ってて実現できるのは無いですかねぇ。
0696デフォルトの名無しさん
NGNGTButtonやTSpeedBtnのOnClickでFormのActiveControlをNULLにすると
フォーカスが外れる・・・と思ったけど押されている間はフォーカス表示が
出てしまう。う〜ん。
0697デフォルトの名無しさん
NGNG私は押したままの状態になるボタンをTPanelで作った。
BevelInner/BevelOuterを両方bvLoweredにするとへこみ、bvRaisedにすると盛り上がる。
標準のボタンが気に入らないときは、たいていこれを使う。
0699デフォルトの名無しさん
NGNGNode単位で文字コード順にソートを行いたいのですがどの様な方法が良い
でしょうか?
これまで調べた内容では、AlphaSortは文字コード順ではない事がわかりました。
CustomSortProcというメソッドを使ってみたのですが、使い方がよくわかりません。
strcmpで比較できるようにソートする事が最終目的です。
0700699
NGNG0701デフォルトの名無しさん
NGNGどう解決したか書いてくれるとうれしいな。
0702デフォルトの名無しさん
NGNGはどうすればいいですか?
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNGCGIから画像を取得して取得したファイルをローカルフォルダに保存する方法が分
からなくて困っています。そもそもHTTPでネット上のリソースをダウンロードする事
って可能なんでしょうか?
0705デフォルトの名無しさん
NGNGWWWの基礎から勉強し直せ
0706デフォルトの名無しさん
NGNG一応参考
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/1512/
0707デフォルトの名無しさん
NGNG俺はサクラエディタを使うようにしてる。
補完機能自体はキーワード登録 (設定ファイル編集)が要るし、正直原始的なものではあるが
Builderのエディタなんぞより1億倍使いやすい。
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNGどうやったらよいでしょうか?
ボタンを押すごとにラベルが増えていく・・・
みたいにしたいのですが、Loadなんたらで検索しても
みつからないので困ってます。
CBはVCよりよほど使いやすくていいですね。
0710デフォルトの名無しさん
NGNG不要なレコードをそれ以降のレコードで詰めるしかない
あるいは必要なレコードのみを新しいファイルにコピーするか
>>709
new そして TControl::Parent
0711デフォルトの名無しさん
NGNG>>2のビギナー向けtipsのページの「コンポーネントを動的に作成する」を見るといい
0712デフォルトの名無しさん
NGNGおー。なるほど。
わかりました。ありがとうございます。
0713デフォルトの名無しさん
NGNGError: 外部シンボル’main'が未解決
って出てコンパイル出来ないんですが、どなたか何故か教えてくれま
せんか・・・
0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNG-W
0716デフォルトの名無しさん
NGNG有難うございました!
初歩的な質問で申し訳ありませんでした・・・
0717デフォルトの名無しさん
NGNGそれ以前にスレ違い
bcc32単独の話は↓
タダで使えるBorland C++ Part3
http://pc2.2ch.net/test/read.cgi/tech/1054390397/
0718名無し
NGNGMySQLとPostgreSQLユーザーに最適なRDBMSを教えてください。
0720デフォルトの名無しさん
NGNGUnit2.cppを変更して実行(F5)してもコンパイルのみで
リンクされてないのか、実行したアプリは変更が反映されません。
再構築(F7)すると変更が反映されるのですが構築時間がかかってしまう・・・
効率の良い方法は無いですか?
0721デフォルトの名無しさん
NGNGソース、ヘッダーのどの部分に、どよのように記述するかわかりませ。
ご教授おねがいします。
0722721
NGNGRandmize,どのようにの間違いでした。
回線で首吊ってきまつ。
0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNGrandmize();
って書くだけ。
0726デフォルトの名無しさん
NGNGTemplete(汎用)クラスを作ったんですが、ソースファイルとヘッダーファイルに分離すると、リンカエラーが出てしまいます。
これはC++の仕様なんでしょうか?
ちなみにヘッダー部だけで実装すると、リンカエラー無し(正常)です。
0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNGそらスレ違いだろ
>>727
今んとこメジャーなコンパイラで"export"をサポートしたものは確かないんじゃ?
0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNG無理
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGGetCursorPos APIではダメか?
0733デフォルトの名無しさん
NGNGVCLつってんだろっ!
まあTMouseでOKでたからいいや
0734デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNG一度閉じて開き直すと、最初の1個以外は全て消えてしまうのですが、
消えないようにする方法があったら、教えてください。
0736デフォルトの名無しさん
NGNGAnsiString str = "aaa , bbb , C:\Documents and Settings\hoge\デスクトップ\test.txt";
TStrings *csv = new TStringList();
csv->CommaText = str;
上のようにやった場合、「 and 」っていう半角スペースに挟まれた文字列のところでも
区切られてしまうんですよね。
これを回避するには、一旦TStringsに読み込ませる前に文字列「 and 」を
他のユニークな文字列と置換しておいて、
その後で、再度元の「 and 」に置換し直すって方法しか浮かばないんですが、
他にもっと簡単な方法ってありますでしょうか?
0737736
NGNG半角スペースに挟まれた場所なら全て区切り対象になるようです!
やれやれ、とほほ。
0738デフォルトの名無しさん
NGNGQuoteCharでなんとかするとか。
0739デフォルトの名無しさん
NGNG言うとくけど、それが正常な動作。
CammaTextはシステムデータ形式なのでスペースも区切り文字として扱う。
ヘルプをちゃんと読むべし。
0740デフォルトの名無しさん
NGNGオレだったら何も考えず
boost::tokenizer
使うな。
0741デフォルトの名無しさん
NGNGユーザ定義のイベントをどうやって実装すればよいのか
わからず困ってます。
(引数あり、なし共に)
解説しているサイトもあるにはあるのですが、
断片的でちょっとわかりにくいので、
詳しく説明しているサイト、もしくは知っている方が
おりましたらお教えください。
0742736
NGNGboost::tokenizerなど色々検索してやろうとは試みましたが、
なんか#include<boost/tokenizer.hpp>
が開けないって言われちゃうし、
開けてもなんか
http://boost.cppll.jp/HEAD/libs/tokenizer/introduc.htm
↑こことか見ると、
hoge[2]で3番目の値を取得、みたいに簡単に出来そうにないし、
どうも難しそうなんでやめときます。
やっぱり、絶対にユニークな文字列を考え出して、置換→CammaText→最置換の攻撃で
ここはしのごうかと…。
0743デフォルトの名無しさん
NGNGアフォ。>>738-739をちゃんと読め。
というか、大抵のCSVファイルはスペースを含むレコードをクォーテーションしているはずだが?
0744デフォルトの名無しさん
NGNG絶対ユニークなんぞ存在しない。
boost::tokenizerつかえって。
>hoge[2]で3番目の値を取得、みたいに簡単に出来そうにないし、
君にとってなにが簡単かしらんが
std::advance か boost::nextの距離指定できる方を使え。
まあ、743が正しいこといってるよ。
0745736
NGNG>>744
QuoteCharってのはイマイチレファレンス見ても使い方がわからなかったんであきらめました。
Webで検索してもVCLのそれは極端にドキュメントが少なかったもんで。
で、なんか言われたとおりに、項目を二重引用符でちゃんと括ってやると普通に読み込まれましたよ!
そうかー、CSVってのはこういうもんだったのか。
>>744さん、せっかく教えてくれたブースと上手く使えなくてすいません。
名前かっこいいし使ってみようかと思いましたが、またの機会にさせて頂きます。
std::advance か boost::next…、メモメモ。
0746デフォルトの名無しさん
NGNG>>736ー737
AnsiString str = "aaa , bbb , \"C:\Documents and Settings\hoge\デスクトップ\test.txt\"";
スペースが含まれると思われるとこは\"でかこんどけ
0747デフォルトの名無しさん
NGNGわかった。このスレでは今後回答しません。
0748デフォルトの名無しさん
NGNG( ´д)ヒソ(´д`)ヒソ(д` ) トックニカイケツシテイルノニ
0749デフォルトの名無しさん
NGNG追加するアイテムごとにフォントや背景色を変えるには
どうすればよいでしょう?
0750デフォルトの名無しさん
NGNGどのキーが押されたかの情報を取得するにはどうすればいいのですか(´・ω・`)?
0751750
NGNGホットキーなんたらかφ(。。)メモメモ…
0752デフォルトの名無しさん
NGNG>BCB Tips の全ページが、あるサイトのコンテンツのひとつと間違えられる形で無断リンクされておりました。
>当サイトのInformationにある通り、このような形でのリンクは禁じておりますし、管理者の意図する形態ではないため、
>残念ですが一時的に閉鎖と言う形を取らせて頂きます。
ヘタレなおれは愛用してたのにどこの馬鹿だ。
0753デフォルトの名無しさん
NGNG0754デフォルトの名無しさん
NGNG>あるサイトのコンテンツのひとつと間違えられる形で無断リンクされておりました。
何のことかよく判らんのだが、どっかのサイトが自分のサイトのコンテンツを装って
リンクしてたってことか?
それなら腹立てるのも無理ないが。
0755デフォルトの名無しさん
NGNG素人のくせに動的にページコントロールのタブをぽんぽん作成したりとか、
色んなところでnewし倒して、アプリを閉じる時に結局どれが消し忘れで残ってるのかわかりません。
終了時に、newしたものの内どれを消去し忘れたか確認するにはどうしたらいいんでしょうか?
って、そんなことが出来るかどうかもよくわからないんですが…。
なんかデストラクタというのを使うと便利らしいというのは何となくわかってるんですが、
どこの位置にどういう風に書いたらいいのかよくわかりません。
なにやらアドバイスよろしくお願いします。
0756デフォルトの名無しさん
NGNG確認したいなら、コードガード使ってみたら。
あとは
std::auto_ptr
か
boost::shared_ptr
使ってみて。
0757デフォルトの名無しさん
NGNGつか、TComponent属ならOwnerを設定していれば自動で破棄されるがな。
つう訳でちゃんとOwnerを設定しろ。
0758デフォルトの名無しさん
NGNG>なんかデストラクタというのを使うと便利らしいというのは何となくわかってるんですが、
デストラクタも知らんようでは話にならん。C++の解説書を1冊きちんと仕上げるべし。
0759デフォルトの名無しさん
NGNG今まで
TTabSheet *TabSheet = new TTabSheet( this );
TCppWebBrowser *CppWebBrowser = new TCppWebBrowser(this);
だったのを
TTabSheet *TabSheet = new TTabSheet( Owner );
TCppWebBrowser *CppWebBrowser = new TCppWebBrowser(Owner);
に変更しました。
オーナーの設定って思ったより簡単ですね。
後は自力でデストラクタとやらの勉強をしたいと思います。
生まれて初めてプログラム書いてアプリ作ったのでわからないことばかりで大変でした。
みなさん、ありがとうございます。
あと、756さん。
またboostつかえなくてゴメンナサイ(´・ω・`)
0760デフォルトの名無しさん
NGNGメチャクチャなプログラミングをやってるな...。
「自力でデストラクタとやらを」っていうのも、C++を運転にたとえるなら
「あとは自力でブレーキとやらを」って言ってるのと同じだよ。
書籍スレで手も動かさずに「次は何を読めばいいでしょうか」と言ってる
初心者も問題だが、あなたのように基本無視で手を動かしだすのもかなり
問題だな。
ま、自分で楽しんでいる分にはいいんだろうけど。
とにかくここのスレでなんとアドバイスされようと、
boostを使うのにはまだまだ早すぎるのは確かだな。
0761デフォルトの名無しさん
NGNGおーい!勘違いしてるぞ(w
仮にForm1のイベントハンドラ(またはメンバ関数)の中の処理だとすると、
TTabSheet *TabSheet1 = new TTabSheet( this ); //TabSheet::OwnerにForm1を指定
TTabSheet *TabSheet2 = new TTabSheet( Owner ); //TabSheet::OwnerにForm1->Ownerを指定
TabSheet1の指すオブジェクトはForm1が破棄されるときに破棄される
TabSheet2の指すオブジェクトはForm1のOwner(通常はApplication)が破棄されるときに破棄される
基本的にはどっちでも構わないよ。
TComponent属以外のオブジェクトはOwnerなんて便利な機能はないから自力で破棄する手当てを
しなきゃならない。
BCBは見よう見まねでもそれなりにアプリが組めるが、それだと直に行き詰まる。
結局、C++なりオブジェクト指向の知識が大事。
まぁ、がんがって勉強してちょ。
0762デフォルトの名無しさん
NGNGわかりやすい説明で勉強になります。
しかし自分ではガンダムに出てくるハロのようなものを工作してるつもりでいましたが、
実はハロどころか単なるたこ焼き以下のものだったとは…。
がんばります(`・ω・´)
0763デフォルトの名無しさん
NGNGこ、これは・・・!
0764デフォルトの名無しさん
NGNGBCB 関連チップ整理文書です.
翻訳は翻訳機で回した後 Gangsが整理しました.
一応あまりにも多い関係でウェップ翻訳機にリンクをかけておきました.
日本語になった部分は元々文書でありゆっくり翻訳をする嵐閧ナす.
全然しないかも知れないが...分かって見てください...-_-;; 以下...本文..
0765デフォルトの名無しさん
NGNG明示的に消してやるほうが気分がいいし。
0766デフォルトの名無しさん
NGNGうわ、韓国語も対応でパワーアップして復活してきた!
ありがとう!ゆきぼうさん!
0767デフォルトの名無しさん
NGNG> >>763
> うわ、韓国語も対応でパワーアップして復活してきた!
> ありがとう!ゆきぼうさん!
違うでしょ。
ttp://www.gangslab.com/
ここから勝手にリンク貼られてるんですよ。試しに
ttp://www.gangslab.com/bcb/index.html
の上の「Home」ないし「Top」をクリックしてみ。
前者はttp://www.yukibow.com/home/index.htmlに、
後者はttp://www.yukibow.com/にリンクが貼られている。
ロクなもんじゃねえ韓国人が勝手にパクったと推測しているが。
0768デフォルトの名無しさん
NGNGの中の韓国語コンテンツに見える部分は、navarというサイトにある
日韓自動翻訳cgiで翻訳する形でリンクされているようです。
0769デフォルトの名無しさん
NGNGhttp://ex2.2ch.net/test/read.cgi/korea/1077203043/
で相談しています
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNGんなわけねーだろ(;´Д`)
0774デフォルトの名無しさん
NGNG>>769
そのスレじゃ韓国からのアクセスを蹴れって風に言われてるけど、
NAVERの翻訳にリンクされてるのは既にバックアップ取られて、
韓国野郎のサイトにアップされてる日本語版じゃん。
韓国のやつらにとってはttp://www.yukibow.comはすでに何の関係もないんだよ。
まぁ自分でコツコツTips書きためて来た作者はたまらんだろうけど。
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNGそうですか
0777デフォルトの名無しさん
NGNG愛用してたのに・・・・(´・ω・`)
ところで、騒ぎの中質問スマソですが、BCBで、自作のマウスカーソルを使う方法は
あるのでしょうか?
resファイルいじってLoadCursorやってみたのですが、全然認識してくれません。
どうかよろしくお願いします。
ちなみにバージョンは6.0です。
0778デフォルトの名無しさん
NGNGTScreen::Cursors
0779777
NGNGお手数かけました。
//ぐぐってた漏れって一体・・・(-_-;)
0780デフォルトの名無しさん
NGNGどうすれば解消できるでしょうか?
BCBのバージョンは6.0
OSはWinXPです。
どうか、よろしくお願いします。
0781デフォルトの名無しさん
NGNG0782Delフサギコ ◆A6VzDeLphI
NGNG⊂ミ゚Д゚⊂,,,,,,,`つ≡≡(´⌒;;;≡≡≡
ズザーーーーーッ (´⌒(´⌒;;
エンタープライズ:変わり始めたボーランドの製品戦略――「C++製品群は、C++BuilderXに統合される」
http://www.itmedia.co.jp/enterprise/0311/05/epn10.html
0783デフォルトの名無しさん
NGNGBorConでBorlandの人に聞いてみたけど、C++のVCLのサポートは今後も続けていくけど、まだ社内でもめてるって・・・。
上の記事にもあるけど、C++は組み込み系重視したいみたいです。
0784デフォルトの名無しさん
NGNG正直、かなり使いやすいGUIの開発環境だったんだけどな。
Winも.NETになっていくし、もうネイティブコードを吐く
ラクチンGUI開発環境はなくなるんかなあ。
0785デフォルトの名無しさん
NGNGご利用いただけません。」ってあるのですが,
シェアウェア不可ってことですか?
0786デフォルトの名無しさん
NGNG(1)商売上の用事。
「―で出張する」
(2)商業上用いること。
過去ログからみてシェア、カンパ、同人は商用に含まれると解釈する人が多いようだ
0787デフォルトの名無しさん
NGNG以下Borland C++Builder 6 使用許諾条件から引用
<2.1.1 Borland C++Builder 6 Personal版に適用される特記事項>
「お客様は、直接的にも、間接的にも、お客様のアプリケーションプログラムの
配布または使用についていかなる報酬も受け取ってはなりません。」
引用終わり
よってシェア、カンパ、同人すべて不可。図書券ビール券もダメだな。
許されるのは無料配布のみ。
0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNGレスサンクス。
・・・そうするとVC++か・・・。
0790デフォルトの名無しさん
NGNGVC++の一番安い箱は最適化ができないという致命的な点があるぞ。
bcc32でも使ってろ。こっちは確か何も制限は無かったはず。
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNGプロ版はいいってこと?
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNGそれはDBに依存するけど、大抵は再構築しなくちゃいけないわけで
つまりは広げたテーブルにコピーしなさいってこった。
0796デフォルトの名無しさん
NGNGDelphiとBCBを統合するような形で残れるといいんだけどね。
いまだってBCBはPascalを解するし。
っていうか保守どうしよう。
BCB5でLonghorn大丈夫だと思う?
0797デフォルトの名無しさん
NGNGLongHornはむりっしょ。
0798デフォルトの名無しさん
NGNG今でも16ビットアプリ動くし。そうじゃなきゃLonghorn自体が売れそうに無いし。
0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNGよくわかりませんが、次回からは徐々にボトペタ環境は縮小されちゃうんですよね?
.NETとやらだとボトペタは難しいの?
あ、VCLってどうなるんですか?
今ほとんどVCLしか使ってないんですが。
その代わりになるのが.NETってこと?
すいません、何もわかってないです。
0801デフォルトの名無しさん
NGNGビッグチャンス一つで生き返る事が出来る。
逆に、Longhornで今のツールが十分使えるなら、それはボーランドにとっては痛手だが、ユーザにとっては問題ない。
0802デフォルトの名無しさん
NGNGもし、その代わりになるのがホントに .NET ならBC#BuilderもDelphi8も今ごろバカスカ売れてるだろうよ
0803デフォルトの名無しさん
NGNGObjectPascal用のツールなんですよね?
ここの世界プログラムの歴史を見るとデルがのってるけど、
http://www.levenez.com/lang/history.html
じゃあなんでBCBはのってないの?
0804デフォルトの名無しさん
NGNG.NETでもポトペタ開発は可能。というか、C#とかVBはそれがメイン。
ただ、ネイティブコードが出力されないということで、
現行DelユーザやBCBユーザには抵抗があるんだと思う。
「アプリ」という点で言えば、Win環境でしか動かないのというも
.NET環境でしか動かないというのも大した違いは無いのかも
しれないけど、今後、どれくらい.NETに移行していくのか
現状ではぜんぜん判断できないし。
>>796
”大丈夫”の意味が「BCB5が動作する」なのか
「BCB5が吐いた実行ファイルが動作する」なのか
わからないので何ともいえないが、多分どちらも大丈夫じゃないかな?
Win32APIはLonghorn上でもエミュレートで再現されるということだし、
相当特殊なことをしてなければちゃんと動くでしょう。
でも、MSはOffice製品も全部.NETに移行する(できる)のかな?
VBAもVBA.NETになるんだろうか。現行office製品はCOMの
塊だけにどうなるのか興味はある。こいつらがちゃんと移行できるのなら、
開発環境もすごい勢いで移行していくんじゃないかな。
0805デフォルトの名無しさん
NGNG「今は」言語の名前だよ。それに書いてある時代はそうではなかったけど。
DelphiはPascalに対して某独自の大幅な変更を加えてるけど、
BCBはC++の拡張仕様にのっとった形(キーワードに__をつける)だから
独立した言語とは認められないんじゃないかな。
0806デフォルトの名無しさん
NGNG本気で言っているのかと小一時間。
0807デフォルトの名無しさん
NGNGどうせ噛み付くんなら思いの丈を全部吐き出したまえよ :-)
0809デフォルトの名無しさん
NGNGC++Builder5で作成されたプロジェクトをC++Builder6でビルドすると、エラーが出てしまいました。
エラーの内容は
[リンカ 致命的エラー] Fatal: ファイルVCLE50.LIBが開けません
です。
ファイル名で検索してみたのですが、見つかりませんでした。
どうすれば解決できますでしょうか?
0810デフォルトの名無しさん
NGNG他のライブラリを指定する
0811デフォルトの名無しさん
NGNGとりあえずそういう時はGrepかけてみろよ。
0812809
NGNG他のライブラリって、どれを使えばいいんでしょう?
>>811
"VCLE"で、プロジェクトのあるフォルダ全てのファイルと、
C:\Program Files\Borland\CBuilder6\Lib以下全てのGrepしてみましたが、それらしいものは見つかりませんでした。
VCLE50.LIBって特殊なライブラリなんでしょうか?
0813デフォルトの名無しさん
NGNG普通に使われてるよ。
一度、obj を全部消去してから再構築してみたら?
0814デフォルトの名無しさん
NGNGVer5でVCLE50.LIBなら
Ver6ならVCLE60.LIBとかなんじゃないの?
それか再構築するとか
0815デフォルトの名無しさん
NGNGMakeファイル吐き出させてみると何故かxxx50.LIBとかが入ってるんだよ。
多分プロジェクトの変換時に古いライブラリが残るんだと思う。
プロジェクトファイルはXMLファイル(?)のテキストファイルなので、
テキストエディタで直接編集してしまったほうが早い。
一応 xxxx.bprファイルのバックアップととって置いてからエディタで
中をみてみれ。
0816809
NGNG一度、objを全部消去してから再構築してみました。
エラーの内容が変わって
[リンカ 致命的エラー]Fatal : ファイル BORLANDC_GPIB-32.OBJが開けません
になりました。
訳わからなくなってきたので、原因が何なのかもう一度調べなおしてきます。
0817809
NGNGあ、文章を書いている間にレスが。
ありがとうございます。
試してみます。
0818デフォルトの名無しさん
NGNGBuilder6ではVCLE60.LIBを使うみたいだ。
0819デフォルトの名無しさん
NGNGC++Builder6で、Excelブックの任意のシートを
シートの最後に移動するにはどのようにするのでしょうか。
VBAだと、
Worksheets("Sheet1").Copy After := Worksheets("Sheet3")
のような感じになるのですが、
After := 〜 の部分をどのように記述するのかが判りません・・。
0820デフォルトの名無しさん
NGNG指定したURLを表示できなかった場合に、
(PageNotFoundやページを表示できません等)
メッセージBOXを表示したいのですが、
イベントか、プロパティで、NotFoundであったと
言うことを知る術はないでしょうか?
意図したページが表示できなかった場合に、
別の処理を行いたいのですが、調べたところでは、
どのイベントでも、正常、異常、どちらでも発生、
または正常時のみ発生、というイベントしか見当たらなかったのですが、
他にいい方法を知ってる方いらっしゃいますでしょうか?
0821デフォルトの名無しさん
NGNGPostMessage (Form2->Handle, Message, 0, 0) ; //Postmessage
SendMessage (Form2->Handle, Message, 0, 0) ; //Sendmessage
Form2->ShowSummary(); //普通に関数を呼ぶ
どの方法が良いのでしょう??
結果はおなじに見えますが。
0822デフォルトの名無しさん
NGNG自分なら急がないのはForm2->Invalidate(); かな
経過表示のようにメッセージループが回らない所で表示させるなら
ProgressUp() とかのメソッドをForm2に追加しておいて、その中で描画させるし
0823デフォルトの名無しさん
NGNGVBで試してみたのですが、自分で新規に作成したプロパティーの内容が、
変更されないで困ってます。
変更しても、別のプロパティを変更すると、何故かオブジェクト名が
入ってしまったり、文字化けのような現象がおきたりしてしまいます。
タイプライブラリから追加して作ったのですが、
なにか足りない要素があるのでしょうか?
0824デフォルトの名無しさん
NGNGVBのIsNumericみたいなの。
ToIntDefだっけ。整数型なら、安全な変換ができるが、実数型だと出来ないような気がするんだが。
そりゃあ、tryCatchでエラーチェックすれば可能なのはわかるが、なんか最後の手段っぽいので嫌なのだが。
で、C標準のstrtod関数を使って、第二引数のchar*型文字列でチェックをかけてみたのだが、なぜか実数なのに、失敗する。(具体的にはstrtodの第二引数になぜかゴミが格納されてしまう)
仕方ないので、Ansistring型をstd::string型に変換して、std::string文字列のc_str()を、strtodの第一引数にしたら、strtod関数の第二引数にゴミが入ることなく、正常にチェックできた。
というわけで、結局AnsiString型のdouble型変換可能かを調べるのに、こんなに苦労したんですが、他に手はないのでしょうか。教えてください。
0825デフォルトの名無しさん
NGNGAnsiString str = "0.152";
try {
value = str.ToDouble();
} catch(EConvertError e) {
cout << "(´・ω・`)" << endl;
}
は?
0826デフォルトの名無しさん
NGNGstrtod関数が動かない理由の謎も知りたいです。
0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNGEditCaptionでListViewのCaptionを編集状態にして
何も編集せずに確定したときにもListViewEditedイベントが入るようにするには
どうしたらいいのでしょうか?
0829デフォルトの名無しさん
NGNGBCBというかDelphiコードだと例外って普通に使われてて
たとえば文字列使うだけで、自動的に _finally 文字.free なコードが入ってしまうから、無駄なアガキだと思うよ。
0830デフォルトの名無しさん
NGNG>>825みたいなのは大量に回すとクソおそいんだよバ カ
0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNG大量ってどの程度? で、どういう文字列を変換したいの?
自分でパースして変換すりゃいいんじゃないの?
俺は自分でやってるぞ。
0833デフォルトの名無しさん
NGNGC++ならsscanfとかも使えるんじゃないか?
0834デフォルトの名無しさん
NGNGAnsiString str = "0.152";
if ( TryStrToFloat( str, value) == false) {
cout << "(´・ω・`)" << endl;
}
0835デフォルトの名無しさん
NGNG{
std::string aVasStr;
char* aErr;
double aResult;
aVasStr = pStr; // std::string型に代入
aResult = strtod( aVasStr.c_str(), &aErr );
if( lstrlen( *aErr ) >0 )
{
Application.MessageA( "変換失敗", "異常", MB_OK );
return( false );
}
pRetDouble = aResult;
return( true );
}
0836デフォルトの名無しさん
NGNG現在、ADOコンポーネントを使って、マイクロソフトAccessのデータベースに接続しています。
以下のようなSQL文を投げると、テーブル1のフィールド1に値1が代入されます。
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("INSERT INTO テーブル1(フィールド1) VALUES(値1);");
ADOQuery1->ExecSQL();
次にそのテーブル1に対して以下のようなSELECT文をなげても、値を返してくれません。
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM テーブル1;");
ADOQuery1->Open();
for( ; !ADOQuery1->Eof; ADOQuery1->Next()){
int ID = ADOQuery1->FieldByName("フィールド1")->AsInteger;
}
MainForm->ADOQuery1->Close();
最初のSQL文のINSERTで、確かにテーブル1のフィールド1には値1が代入されているのですが、
その代入した値をSELECT文で取得しようとしても、for文の中に入らず、値を取得できません。
原因がわかる方いらっしゃいましたら、是非ご教授願います。
0837デフォルトの名無しさん
NGNGClose();
Open();
してからSelectしないとだめ
0838デフォルトの名無しさん
NGNGADOQuery1->Close();を追加するだけかな?
0839デフォルトの名無しさん
NGNG>>838
レスありがとうございます。
実際にやってみたのですが、どうもダメでした。
INSERTする前に、テーブル1の内容をDELETEしているのですが、
それが原因あるのでしょうか?
DELETEしないで、INSERT、そしてSELECTしたときは、
INSERTした値を取得することができました。
原因がわかる方いらっしゃいましたら、是非ご教授願います。
0840デフォルトの名無しさん
NGNG#if !defined ( __CTEST_H__ )
#define __CTEST_H__
#include <windows.h>
#if defined( _DLLEXPORT_ )
#define DLLTYPE__declspec(dllexport)
#else /* _DLLEXPORT_ */
#define DLLTYPE__declspec(dllimport)
#endif /* _DLLEXPORT_ */
class DLLTYPE __stdcall CTest
{
public:
CTest( void );
virtual ~CTest( void );
};
#endif /* __CTEST_H__ */
/*- EOF CTest.h ------*/
/* CTest.cpp */
CTest::CTest( void ) { }
CTest::~CTest( void ) { }
/*- EOF CTest.cpp------*/
このように定義して、DLLとインポートライブラリを作り、
C++Builder 6 のプロジェクトでインポートライブラリをリンクして、
メインフォームの中で
CTest *test = new CTest;
delete test;
とした場合、delete直後に(CTestのデストラクタ終了後に)
デバッガ例外で、EAccessViolationクラスの例外が発生するんですが、
原因がわかりません。どなたか、分かる方いらっしゃいませんでしょうか?お願いします。
0841デフォルトの名無しさん
NGNGそのソースだけならAccessViolationが起きようもない
原因は別のところだろ
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNGなにかアイデアはありませんか?
newとdeleteで動的にコンポネントを配置すると
動きが遅くてしょうがないのです。
画像10枚を、ウィンドウに表示させるとして、
横が5枚で折り返したり、3枚で折り返したりと、
ウィンドウの枠の変化に画像の並び方がついてくるようなものです。
0845デフォルトの名無しさん
NGNGそのままTCppWebBrowser使ったら?
別にコンポーネントの配置替えをイベントハンドラで処理しても
大した手間じゃないとは思うが。
配置替えにnew/deleteを繰り返す必要なんで全くないし。
0846デフォルトの名無しさん
NGNGレスありがとうございます。
TCppWebBrowserを使ってみます。
そのようなものがあると、気がつきませんでした!
0847デフォルトの名無しさん
NGNGIndyを利用したサンプルソースってどこにあるかご存じないでしょうか?
0848デフォルトの名無しさん
NGNGhttp://www.nevrona.com/Indy/から
"Demo Source Code"落とす。
0849デフォルトの名無しさん
NGNG既にそのデモソースは落としたんですけど、これってデルファイ用ですよね。
Builder用のソースはないのでしょうか?
それともパスカルコードを参考にするしかないのでしょうか・・・
0850デフォルトの名無しさん
NGNGBCB使う上でPascal読めないのはちときついような‥‥
ちなみにDelのプロジェクトをビルドしたいならBCBのプロジェクトにDelのユニット突っ込めば普通にビルドできる。
0851デフォルトの名無しさん
NGNGパスカルの勉強もしつつチャレンジしてみます。
ありがとうございました。
0852デフォルトの名無しさん
NGNGそこでBorlandユーザの皆様にお伺いしたいのですが、
C++Builder6は、Visual C++.NETと比べて、書籍が少ないこと以外に、何かデメリットはありますでしょうか?
0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNG・DirectX8以降Borland用のライブラリをMSが用意してくれなくなったので自前で調達してくる必要がある
0855デフォルトの名無しさん
NGNGVCLのことか?
0856デフォルトの名無しさん
NGNG・IDEがやたらとエラーを吐く
ついでに利点
・VCL
・__closureが便利
というか、VCLに魅力を感じないなら素直にVCにしる。
0857デフォルトの名無しさん
NGNG画面レイアウトしやすくて(・∀・)イイ!!
0858デフォルトの名無しさん
NGNGコアの部分はANSI準拠でつくって、インタフェース周りをVCLにおまかせ。
IDEはコンパイルとGUI作る時しか使ってない。
#あのフリーカーソルが馴染めなかったので。
だから>>856の指摘した欠点はあまり気にならない。
0859デフォルトの名無しさん
NGNGBCB6以降一切新バージョンが出てなくて、
Borland社内でも扱いに困っているという将来性の微妙な
(というか無い!?)ところだと思う。
と書いてしまうと、>>852は迷うだろうなー。
C++自体、どっちかというと今は人気言語じゃないからね。
ただ、JavaにしろC#にしろ、ベンダ主体の言語が幅を
きかせている(Javaはだいぶ環境が変わったけど)+VM環境
で動作させるのが流行という現状は、ちょっと寂しいね。
0860 ◆fNndt5hIPY
NGNGフリーカーソルでなくすことは出来ないんですか?
0861デフォルトの名無しさん
NGNGhttp://homepage1.nifty.com/fuu/software/nonfreecursor.htm
0862デフォルトの名無しさん
NGNGプロパティにアクセスするにはどうしたらよいのでしょうか?
FormCreateの時に、Captionの値を持ってこようとしたら、
ソースコードにエラーがありますと怒られます。
m_VclCtlではプロパティにアクセスできないようなのですが、
プロパティにアクセスするためのオブジェクトはどこに定義されているのでしょうか?
〜〜Implのオブジェクトでないとプロパティにアクセスできなさそうだと
言うことはわかったのですが、そのオブジェクトがどこにあるのかが
ちょっとわかりません。
ご存知の方教えてください。
0863デフォルトの名無しさん
NGNGちなみに、俺は普通に使ってる。
マウス選択の時だけフリーカーソルが残ってるけど問題なし。
0864デフォルトの名無しさん
NGNGttp://www.kumei.jp/c_lang/bcc/bcc_02.htm
の「カレントディレクトリをtest.cのディレクトリに移動します」
というところで
書いてある通りに打ち込んでも
「指定されたパスがみつかりません」とでてしまう。
入力ミスかと思い他人にやらせても同じ結果。
エロイ人おせーて。
0865デフォルトの名無しさん
NGNGOSによって場所が違う可能性があるので注意
個人的にはそんなわかりにくいところじゃなくてDドライブ直下に
一つtestなりprogramなりのフォルダを作ってそこでやるのをお勧めする
0866デフォルトの名無しさん
NGNGBCCの話題はこっち
>タダで使えるBorland C++ Part3
>http://pc2.2ch.net/test/read.cgi/tech/1054390397/l50
0867デフォルトの名無しさん
NGNGComponentState.Contains(csDesigning)
がうまく機能しません。
VBを使って、OCXを貼り付けて試してみたのですが、常に実行時(False)
となってしまいます。
他のサイトなんかで、設計時、実行時を見分ける方法として、
このような方法が載っていたのですが、
使い方が間違ってるのでしょうか?
↓ソースはこんな感じです。
void __fastcall TTest::ActiveFormCreate(TObject *Sender)
{
if (ComponentState.Contains(csDesigning)) {
//設計時
ShowMessage("Design");
} else {
//実行時
ShowMessage("Run");
}
}
0868デフォルトの名無しさん
NGNGそのコードは実行時にしか呼ばれないということはないな?
csDesigningとはBCB/DelphiのIDEでぽとりぺたりしているときのことだぞ?
0869デフォルトの名無しさん
NGNG無い・・・と、思います。
間にメッセージを入れてみたところ、Ocxを貼り付けた時には実行されています。
void __fastcall TTest::ActiveFormCreate(TObject *Sender)
{
ShowMessage("Test"); ←★
if (ComponentState.Contains(csDesigning)) {
//設計時
ShowMessage("Design");
} else {
//実行時
ShowMessage("Run");
}
}
やりたいことは、Ocxをペタっと貼り付けた時には
何もしないようにしたいだけなので、他に方法があるようでしたら
そちらでもかまわないのですが。。。
今のやり方だと、常に実行時の方に分岐してしまうので。。。
0870デフォルトの名無しさん
NGNG>VBを使って、OCXを貼り付けて試してみたのですが、常に実行時(False)
VB? BCBのIDEじゃなきゃ、そらcsDesigningにならんような。
0871デフォルトの名無しさん
NGNGうげげげ・・・
では、デザイン時か、実行時かを判別するのは無理なんでしょうか・・?
Ocxなので、VCでも、VBでもBCCで使用しても
デザイン時には処理を行わせないようにしたかったのですが、
これは無理なんでしょうか。。。。
別の手段でも一向に構わないのですが、
なんとか判別する方法はないものでしょうか?
0872デフォルトの名無しさん
NGNGクラスの
typedef enum test{
...
...
...
};←ここで「宣言には識別子が必要」といわれる。
別にtypedefの使い方も間違ってないし。VisualC++では問題なくコンパイル
できていたのですが…
いったい何が悪いんでしょう?typedefの使い方がC++Builderでは異なるのですか?
どなたが教えてください
0873デフォルトの名無しさん
NGNGtypedef <型定義> <識別子> だから、そこに識別子がやっぱり必要でしょう?
0874デフォルトの名無しさん
NGNGえ、ってことは私のいままでのVC++のほうでのやり方がおかしかったわけですか?
いままでずっとこれでやってたのに…
0875デフォルトの名無しさん
NGNG型名がSTLとかぶってるらしくエラーがでます。
STLを使わない!と宣言するのはどうしたらよいのですか?
0876デフォルトの名無しさん
NGNGというか、それなら typedefは何で必要なのか? と疑問が湧かない?
0877デフォルトの名無しさん
NGNG慢性的に書く癖が…、というよりtypedefをよく知りません(汗
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNGいぇ失礼しました、VC++ではいけてたもので…すみません…
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNGそろそろ混乱してきたので、誰かそうだといって。
0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNG>using namespaceしてないのに
>型名がSTLとかぶってるらしくエラーがでます。
#include <****.h> //STLの任意のヘッダ
にしてんじゃね? そうでなきゃありえない。
まぁ、いずれにせよ標準ライブラリとかぶるってのは
どう考えてもまずいんで、自分のほうで識別子を変えるか
ネームスペースに入れるかしたほうがよかんべ。
0886デフォルトの名無しさん
NGNGViewStyle=vsReport;
Checkboxes=true; にしてチェックボックスを表示します。
チェックボックスのチェックが変更された場合に処理を行いたいのですが、
どのイベントで処理すればいいのでしょうか。
いろいろなイベントで試してみたのですが、チェックボックスの変更では飛んできてくれません。
よろしくおねがいします。
0887デフォルトの名無しさん
NGNGhttp://www2.big.or.jp/~osamu/Delphi/builder-browse.cgi?index=011252
0888デフォルトの名無しさん
NGNGさんくすです。解決しますた。
0889デフォルトの名無しさん
NGNGいらんヘッダをincludeしてました。ありがとう!
0890デフォルトの名無しさん
NGNGオーナー描画時にItem(行)の高さがFontのサイズにあわせて
自動調整されません。
どなたか回避策を教えてください。
よろしくお願いします。
0891デフォルトの名無しさん
NGNGこのフォームをPageControlにドロップするとページとしてドッキングされる、という簡単なものなんですが
このときListBoxのScrollWidthを指定してもスクロールバーがでません。
スクロールバーを別に置いて、それでスクロールするようにしたりしましたが、
いまいち元の通りにできないです。仕様なのかバグなのかわかりませんが
改善方法あればご教授していただけるとありがたいです。
BCB6personalです。
0892デフォルトの名無しさん
NGNG「Error 1325.csristlportは正しい短いファイル名ではありません」
とダイアログが出てきます。
どうすれば、アンインストールに成功するでしょうか?
0893デフォルトの名無しさん
NGNGそれともVCでも応用できるように、STLとか標準C++文法で書くべきなのか?
0894デフォルトの名無しさん
NGNGTStringという型は無いので、TStringsの事かな?
普通のロジックってのが何のことか判らんし、
標準C++文法ってのも、標準ライブラリのことかなー、とか思うんだが。
それはさておき、Boundary/Control/Entityで分ければ、Entityの部分は
環境依存を避け標準ライブラリだけで書くというケースは多いだろう。
0895デフォルトの名無しさん
NGNG[C++ エラー] Unit1.cpp(20): E2352 抽象クラス 'TStrings' の変数は作成できない
[C++ エラー] Unit1.cpp(20): E2353 クラス 'TStrings' は抽象クラス('_fastcall TStrings::Get(int) = 0' のため)
TStringListなら使いまくり。VCLマンセー。って言ったらダメか?スレタイ読んで(ry
別にSTLで書いてもいいんだろうけど”いわゆる環境依存”のことを気にしてるのでは無いように思える。
>VCでも応用できるように、
という部分で。
0896デフォルトの名無しさん
NGNG親ウィンドウにWM_MEASUREITEMが送られてるんで、
それを捕らえてMEASUREITEMSTRUCTのitemHeightを設定すれば高さの調整できるよ。
0897デフォルトの名無しさん
NGNG肝心の頭からCがアンインストールされてて初心者状態です。
んで、記憶の引き出しを開けるきっかけにしたいんで、Formの動的生成(ボタンを押すたびにFormが生成される)の簡単なスクリプトを教えてもらえませんか?
よろしくお願いします。
0898890
NGNG回答ありがとうございます。
TLiistViewを元にコンポーネント作成し、そのなかで
高さを設定しようとしていたんですが、ヘルプを見ると
ListBo等にはMEASUREITEMがあるけどTListViewには
なかったのでできないかと思ってました。
親ウインドウ側で設定する方法を試して見ます。
0899デフォルトの名無しさん
NGNGんなもん、いちいち他人に聞くな、と突っ込みつつ、
THogeForm* hoge_ptr = new THogeForm(this);
hoge_ptr->Show();
ポインタの管理まで面倒はみん。自分で思い出せ。
0900デフォルトの名無しさん
NGNGBCB6の付属しているVCLのソースコードをDelphi6Parsonalにインストールして
利用する事は可能でしょうか?
0901デフォルトの名無しさん
NGNGライセンスについてはあなたとボーランドとの問題なので、ボーランドに問い合わせて下さい。
0902デフォルトの名無しさん
NGNGその判断された実行レベルによって、Formを非表示のまま終わらせる、または
途中でFormを表示して実行進捗状況を表示させたい。
とりあえずFormのOnShowに自動実行させた内容を記述した関数を書いたが、
その関数の中でFormを表示させようとすると、OnShowイベントの中では出来ないと怒られる。
解決策を教えて下さい。
0903デフォルトの名無しさん
NGNGWinMainに書いたらダメ?
0904897
NGNGどうもありがとさん。
脳みそを復元しようにも昔よく利用したサイトはことごとく消えちゃってるし、どうしたもんかと困っていたのよ。
ポインタとか文法は憶えてたんだけど、セオリーみたいなのは完全に消えてるっぽい。
また教えてちょ。
0905デフォルトの名無しさん
NGNGそもそもOnShowの中で自分自身の表示/非表示を切り替えるのは
矛盾している訳で、コンパイラに叱られるのは当然。
手としては、>>903みたいにWinMain内で処理するか、
メインフォームは非表示にして必要に応じ進捗状態表示フォームを
別に表示させるか、どっちかでしょ。
0906902
NGNG0907デフォルトの名無しさん
NGNGvoid __fastcall TForm1::FormShow(TObject *Sender)
{
int i;
for(i=0;i<100;i++)ButtonCreate(this);
}
void __fastcall TForm1::ButtonCreate(TObject *Sender)
{
TImage *image=new TImage(this);
}
このあと、必要に応じて生成したそれぞれのイメージのプロパティにアクセスしたい場合は、
どんな風に書けばいいんでしょか。
調べて、↓みたいにイベントの中で取得する方法はわかったんですが、任意の場合が
よくわかりません。
void __fastcall TForm1::Image1Click(TObject *Sender)
{
TImage *image = dynamic_cast<TImage *>(Sender);
image->Height=64;
image->Width=64;
}
0908デフォルトの名無しさん
NGNGどっかにおぼえておくか、動的に作成する時にnameプロパティを設定しておいたら?
0910デフォルトの名無しさん
NGNG? Cは書けるんでしょ?
TButton * ABtn[100];
void __fastcall TForm1::FormShow(TObject *Sender)
{
int i;
for(i=0;i<100;i++)ABtn[i] = ButtonCreate(this);
とか配列におぼえておけばいいんじゃない?
0912デフォルトの名無しさん
NGNG配列にできないってのは、こういうばあい。
TButton button_instance[10];
TObject属はnewでしか生成できないのが原因。よって、ポインタ配列なら問題ない。
TButton* button_ponter[10];
for( int i=0; i<10; ++i ) button_pointer[i] = new TButton(this);
なお、いちおう、VCLには汎用リストとしてTListってのがある。
オレならSTLのコンテナを使うと思うが。
しかし、その前に>>907よ、悪いことは言わんからC++の入門書一冊きちんと読みな。
基本的な文法もわからず手探りでBCB使うのは恐ろしく効率が悪いぞ。
0913910
NGNG0914907
NGNGImageをボタン代わりにしているのでそういう名前にしてました。
紛らわしくてすいません。
>>912
すいません。
プログラムはDOS時代の人間なのでWindows系で追加された概念がほとんどアレでして。
恥を忍んでもうひとつだけ訊かせてください。
調べてみた結果、TListの方がよさそうだと思ったのですが、
TList *List;
ButtonCreate()
{
TImage *image=new TImage(this);
List->Add(image);
}
で、追加した後、参照するにはどうしたらいいんでしょうか。
たとえば、Heightを参照したいというときにList->Items[n]の下位プロパティをどうたどればいいのか。
お手数ですが、本当にマジですいません。
よろしくお願いします。
0915デフォルトの名無しさん
NGNG0916907
NGNG普通に明示的にキャストを変換すればいいのか。
お騒がせしました。
0917デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNGdynamic_castだけは使用するんだろうに
0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1077102238/
から誘導されました。
お願いします。
C++ Builder 5を使っています。
ListView1にはvsReportでNUM,NAME,PATHの順にアイテムが入っているのですが、
ListView1->OnSelectItemイベントでサブアイテムの値にアクセスする方法がわかりません。
下のようにやってみたんですが、Strings[n]に何を入れてもNUMが帰ってきてしまいます。
何か勘違いしているでしょうか?
void __fastcall TForm1::ListView1SelectItem(TObject *Sender,
TListItem *Item, bool Selected)
{
Label1->Caption=Item->SubItems->Strings[1];
}
0922デフォルトの名無しさん
NGNGそれであってるはずなんだけど・・・
新規プロジェクトでその部分だけ作っても同じかな?
0923デフォルトの名無しさん
NGNG試しにやってみたら、ちゃんとできました。
INIファイルの読み込みをやっているのですが、そのへんでおかしくなってるかもしれません。
ありがとうございました。
0924デフォルトの名無しさん
NGNGDatabase Desktopでテーブルを開いて再構築するのはわかるのですが、
これをプログラムで動的にやるにはどうすればいいのでしょうか?
try {
Table1->IndexName = "Date";
}
catch (EDBEngineError&) {
//Table1にインデックスが無いので動的に追加
}
0925デフォルトの名無しさん
NGNGブラウザを作っているのですが、出来上がったOcxをコントロールに貼り付けたときに、
接続チェックに行くので、接続チェックに行く部分をスレッド化したのですが、
Executeが走ったときに何故か、指定した関数へ飛びません。
ソースはこんな感じです。
-------------------------------------------->Unit1.cpp
void __fastcall MyThread::Execute(){
SetName();
Synchronize(ReadHead);
}
void __fastcall MyThread::ReadHead(){
AnsiString as = "http://192.168.0.1/~test/2.html";
::AdverApp->NMHTTP1->TimeOut = 1000;
::AdverApp->NMHTTP1->Head(as);
・
・
・
}
--------------------------------------------<Unit1.cpp
TThreadクラスの中に、ReadHeadという関数を用意して、Executeの時にそこを見るよう
指定しているのですが、何故か呼ばれず、アプリケーションが起動してしまいます。
スレッド生成はこんな感じでやってます。
-------------------------------------------->TestAppImpl1.cpp
void __fastcall TAdverApp::ActiveFormCreate(TObject *Sender){
new MyThread(false);
}
--------------------------------------------<TestAppImpl1.cpp
ActiveXフォームに乗っかっているコントロールを使用するため、
Synchronizeを使っているのですが、使わなかった場合だと、TNMHTTP
コントロールのプロパティにアクセスした後、応答が無くなってしまいます。
どなたかご教授ください。
0926925
NGNGソースの部分がちょっとおかしかったです。
-------------------------------------------->Unit1.cpp
void __fastcall MyThread::Execute(){
SetName();
Synchronize(ReadHead);
}
void __fastcall MyThread::ReadHead(){
AnsiString as = "http://192.168.0.1/~test/2.html";
::TestApp->NMHTTP1->TimeOut = 1000;
::TestApp->NMHTTP1->Head(as);
・
・
・
}
--------------------------------------------<Unit1.cpp
-------------------------------------------->TestAppImpl1.cpp
void __fastcall TTestApp::ActiveFormCreate(TObject *Sender){
new MyThread(false);
}
--------------------------------------------<TestAppImpl1.cpp
0927デフォルトの名無しさん
NGNGDLL自体のパスがとれないのですが、どうやってとったらいいですか?
Application->ExeNameだと、アプリケーションの方のパスを持ってきて
しまうので、DLLの方のパスが取れないものかと。
0928デフォルトの名無しさん
NGNGwin32apiだけど
0929928
NGNG0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNGありがとう!
0932924
NGNGTTable::AddIndexでヨカッタのねん。
0933デフォルトの名無しさん
NGNG普通に連続で再生するほうほうがわかりません。
あらかじめ、ファイルネームを配列fname[i]にi個読み込んでおいて
fname[0]からfname[i]まで連続で再生したのですが
どうすればよろしいのでしょうか?
kは任意の整数として
void fastcall()
{
MediaPlayer1->Filename=fname[k];
MediaPlayer1->Open();
MediaPlayer1->Play;
}
で1曲再生することはわかるのですが、1曲終わった後に次のk+1番目をそのまま再生するにはどうしたらいいのでしょう??
通常のプレイヤーのように、i+1が終わったら、i+2、i+3・・・
というふうに連続で再生したいのです
0934デフォルトの名無しさん
NGNGさて、ここから先が本題なのだが、入門なら MediaPlayer でもOKとしても、
少しでも実用を考えるなら、頑張って DirectShow を。
0935933
NGNGNotifyがいまいちよくわかってないのですがC言語の基本的知識で考えてみたのですが
まず、再生ボタンをクリックしたとき1曲目再生
k=0;←オフセット
void __fastcall TForm1::ButtonClick(TObject *Sender)
{
MediaPlayer1->FileName=fname[k];
MediaPlayer1->Open();
MediaPlayer1->Play();
Label1->Caption="再生中 "+(ExtractFileName(fname[k]));
k++;
}
void __fastcall TForm1::MediaPlayer1Notify(TObject *Sender)
{
if(k==i){
k=0;
MediaPlayer1->FileName=fname[k];
MediaPlayer1->Open();
MediaPlayer1->Play();
}
else{
MediaPlayer1->FileName=fname[k];
MediaPlayer1->Open();
MediaPlayer1->Play();
}
Label1->Caption="再生中 "+(ExtractFileName(fname[k]));
k++;
}
}
これで、順番に再生されると思ったのですが、バグってPCがフリーズしたりするようになります。
たまに、2,3曲連続再生に成功するのですが何がまずいんでしょうか?
簡単でいいのでNotifyを使用する方法を教えて頂きたいです。初心者厨房ですいません
0936デフォルトの名無しさん
NGNGNotifyの使い方はヘルプを見れば書いてある。
ヘルプを見ても分からなかったら、ヘルプのどこが分からないのかを
質問するように汁。
今回はサービス。
Notifyイベントは1曲再生が終わるごとに呼び出される(ようにする)んだから、
その中で連続再生してどうする。
void __fastcall TForm1::MediaPlayer1Notify(TObject *Sender)
{
if(k==i) k=0;
MediaPlayer1->FileName=fname[k];
MediaPlayer1->Open();
MediaPlayer1->Notify = true;
MediaPlayer1->Play();
Label1->Caption="再生中 "+(ExtractFileName(fname[k]));
k++;
}
ユーザが停止ボタンを押したときは、MediaPlayer1->Notifyをfalseにしてから停止しないと
次が再生されてしまうので注意。
てか、こういうものは遷移をきっちり管理しないとならんな。
あと、質問とは直接関係内が、クラスメンバや大域変数には意味の分かる名前を付けろと
入門書に書いてなかったか?
kだの i だのって名前は、使い捨てる変数だけにしろ。
とりわけ人様に質問するときは名前だけで用途が一目で分かるようにしておくもんだ。
0937デフォルトの名無しさん
NGNG別にNotifyイベント内で連続再生してるわけではないのだな。スマン。
プロパティの設定を忘れてるのが問題だ。
0938933
NGNGPC始めたばかりの高校生で勉強不足でした。
ヘルプ読み直してみます。
0939デフォルトの名無しさん
NGNG今なら間に合う、がんばって英語勉強しろよ〜
そしてWinodowsAPIとかはMS純正の英語のマニュアルを読破するのだ。
それができれば普通のCとWindowsのイベントドリブンなC++の違いさえ念頭におけばなんとかなるさ。
0940デフォルトの名無しさん
NGNGWinodowsってなんだ
Windowsだろ
0941924
NGNGTable1->AddIndex("Hoge", "Hoge", TIndexOptions() << ixCaseInsensitive, "Hoge");
ご覧のようにixDescendingは指定していないのに結果は降順になってしまう。
なして?
0942デフォルトの名無しさん
NGNGお前もだ。ヘルプのTTable::AddIndexの項目を声を出して10辺嫁。
0944933
NGNGNotifyで連続再生はできたのですが、今度は停止ができなくなりました。
ボタンを押したときにfalseを代入してからStop()メソッドですよね
なぜかできない。。。
Timerを使って、連続再生する方法を考えてみたのですが、mp3ファイルの時間の長さを取得するのに
MediaPlayer1->Lengthを使用するんですよね?ヘルプにある
int TheLength;
MediaPlayer1->TimeFormat = tfHMS;
TheLength = MediaPlayer1->Length;
// label 1 に「時」を表示する
Label1->Caption = IntToStr(LOBYTE(LOWORD(TheLength)));
// label 2 に「分」を表示する
Label2->Caption = IntToStr(HIBYTE(LOWORD(TheLength)));
// label 3 に「秒」を表示する
Label3->Caption = IntToStr(LOBYTE(HIWORD(TheLength)));
でも、意味不明な値しか取得できないのは何故でしょう?秒で取得したいのですが・・・
0945933
NGNGNotifyのイベントハンドラの中にStop()メソッドいれることで解決しました。
しかし、時間の取得は不明なままです。
0946デフォルトの名無しさん
NGNGtfHMSがサポートされていないんだろ。
tfMillisecondsならまずだいじょうぶた。
0947デフォルトの名無しさん
NGNGVCLヘルプから引用(TMediaPlayer::TimeFormat)
>すべての形式がすべてのデバイスでサポートされているとは限りません。
>サポートされていない形式を設定しようとすると,その代入は無視されます。
君がコピーしたサンプルコードにもちゃんと「デバイスによってはtfHMSを
サポートしない」とコメントがありますな。
0948933
NGNG教えていただいてありがたいのですが
tfMilliseconds
↑これはなんでしょう?
OSはWindowsを使用しているのですが何か関係あったり?
0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNGOnClickでは無理
自分でメッセージを拾うよし
0951デフォルトの名無しさん
NGNGLabel2->Caption = DataList->Strings[1];
Label3->Caption = DataList->Strings[2];
これを繰り返しで一括処理できませんか?
0952デフォルトの名無しさん
NGNGFindComponent
0953デフォルトの名無しさん
NGNGたどり着かなかったので、恥を忍んで質問します。
VCLコンポーネント(Imageコンポーネント)をソース上で生成するには、
どこにどう書けばよいのでしょうか?
よろしくお願いします。
0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNG'TImage::TImage()'に一致するものが見つからない
と出たのですが、どうすればよいのでしょうか?
よろしくお願いします。
0956デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNG__fastcall virtual TImage(Classes::TComponent* AOwner);
0958デフォルトの名無しさん
NGNG一応生成することはできたようです。
しかし、それを画像をLoadFromFileメソッドを使用し、
CopyRectを使用して描画しようとしたところ
エラーが出てうまくいきませんでした。
>>957
publicのところに書けばよろしいのでしょうか?
実行しようとしたところ
)が必要 と出てコンパイルが通りませんでした。
質問ばかりですみませんが、よろしくお願いします。
0959デフォルトの名無しさん
NGNGエラーがでたなら、自分の書いたコードとそのエラーメッセージを
示した上で質問しなかったら誰も何も教えられないよ。
その辺はプログラミング以前の一般常識の問題。気をつけるべし。
>>957はTImageのコンストラクタの宣言。ヘルプからの引用。
これを見れば、TImageのコンストラクタを呼ぶときは
TComponent*型の引数が必要だと分かる。
よって具体的には>>956になるという事。
こういうことは、C++の基本さえ分かっていれば、
ヘルプを見ただけで自分で解決ができるはず。
悪いことを言わんからC++の入門書をまず読んで基本を身につけな。
でないと、何か一つするごとに人に聞いて回らなきゃならないぞ。
なお、サイトを見て回るよりは、定評のある入門書を読んだ方が
圧倒的に効率的で効果的。
こういうところで投資を惜しんではいかん。
0960デフォルトの名無しさん
NGNGGraphics::TBitmap *DSelect = new Graphics::TBitmap();
// 画像データの読込み
DSelect->LoadFromFile(ExtractFilePath( Application->ExeName ) + "system\\Select.bmp");
// 透過指定
DSelect->Transparent = true;
DSelect->TransparentMode = tmFixed;
DSelect->TransparentColor = clWhite;
// フォームの左上隅に描画
Form1->Canvas->Draw( 240, 0, DSelect );
delete DSelect;
とあるサンプルを参考にした↑のソースで透過画像を表示することはできるのですが、
画像位置の移動など、分からないことが多いので、TImageで画像を透過する
方法をお教えください。
Image1->Picture->Bitmap = DSelect;
とか、やってみたのですが、上手くいきませんでした。
0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG他のコンパイラではObjectPascalとの互換性の問題でコンパイルできません。
0963デフォルトの名無しさん
NGNGそうなんですか…親切にありがとうございました。
0964デフォルトの名無しさん
NGNGTImage::Transparent
0965デフォルトの名無しさん
NGNG気が付きませんでした。
ありがとうございます。
0966デフォルトの名無しさん
NGNG解説書なら数冊あるのですが…。
とりあえず入門書みてみます。
ありがとうございました。
0967デフォルトの名無しさん
NGNG本が何冊あってもその内容を自分が理解できなきゃ何の役にもたたん。
あと、君に必要なのは「BCBの解説書」じゃなくて「C++の入門書」だぞ。
0968デフォルトの名無しさん
NGNGUPDATE4だしCSCRIPTでOLEの動作確認してるんで環境はOKのはず。
#include <vcl.h>
#include <sysvari.h>
#include <dbdaoint.h>
#pragma link "rtl.bpi"
#pragma link "vcl.bpi"
int main() {
Variant dao = Variant::CreateObject("DAO.DBEngine.36");
exit(0);
return 0;
}
0969デフォルトの名無しさん
NGNG未定義の例外でなく "EOleSysError"だが?
あと、「CoInitializeは呼び出されていない」というメッセージも来るが?
なんでもかんでもライブラリのバグにするなよ。
0970デフォルトの名無しさん
NGNGその一行で例外が飛んできて当たり前だ罠。
例外が未定義になるのは、
必要なヘッダがインクルードされてないからだろ。
0971 ◆KcrJZ6hEJI
NGNGリンクでエラーになります。
Unresolved external 'SHEmptyRecycleBinA' referenced from XXXX..OBJ
shellapi.h をインクルードしてますが、他に手順が足りないような気がする
のですが、なんなのでしょう?
環境は BCB3 Pro On NT4SP6 です。
0972デフォルトの名無しさん
NGNGMinimum DLL Version shell32.dll version 4.71 or later
Custom Implementation No
Header shellapi.h
Import library shell32.lib
Minimum operating systems Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0
0973デフォルトの名無しさん
NGNG>必要なヘッダがインクルードされてないからだろ。
DLL内で別スレッドが起動して、
その内部で構造化例外が投げられているからでは?
MSJのlodprf32で見るとそういう現象
0974デフォルトの名無しさん
NGNGHTMLでゆうtarget="_brank"のタグを踏んだとき
すなわち、HTMLによって別ウィンドウで表示されるときはIEが起動してしまいますよね?
これを回避して、同じexeをIEのように起動しリンク先を表示させるにはどうしたらよいのでしょうか?
0975デフォルトの名無しさん
NGNGDLLからLIBファイルを作る。
漏れはそれでBCB1で使った実績有り。
0976 ◆KcrJZ6hEJI
NGNGDLLからLIBを作る。ですか…。調べてやってみます。
しかし原因が環境にあったとは。。。
ってことは、この環境では(ゴミ箱を空にする)別の正当な
方法があるってことですかね。
0977デフォルトの名無しさん
NGNGそもそもshell32.libをプロジェクトに追加してない予感
0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNGHandleプロパティ?
C:\...\CBuilder3\Bin>implib shel3247.lib C:\Winnt\...\Shellapi32.dll
C:\...\CBuilder3\Bin>move shel3247.lib ..\lib
として、プロジェクトのメイクファイルに shel3247.lib をリンクするよう
追加。これで無事にリンクも通りました。が…
テストしてみるとAPIは呼んでいるようですが、ゴミ箱のクリアは
されてない…。なんで?
0981デフォルトの名無しさん
NGNGこのイベントがどのオブジェクト(BitBtn1とか)からきたか知る方法を教えてください
0982デフォルトの名無しさん
NGNGSender->Name
0983デフォルトの名無しさん
NGNGTObjectはNameをもっていないっぽいのでとりあえず
dynamic_cast<TComponent *>(Sender)->Name
と、してみたらNameが空白になってしまいまして
0984デフォルトの名無しさん
NGNGTApplication::OnHintはTApplicationのイベントなので
SenderはTApplication自身
ヒントを表示するコントロールを取得したかったら、
メッセージを拾う
0985デフォルトの名無しさん
NGNGC++Builder相談室 Part9
http://pc5.2ch.net/test/read.cgi/tech/1080541814/l50
0986デフォルトの名無しさん
NGNGどうやってひろいますか?
0987デフォルトの名無しさん
NGNGでも986〜991のレスが消えたね。
0988デフォルトの名無しさん
NGNG厳密に言うと981から消えてる。今の981以降は復旧後のレス。
ログいる?
レス数が950を超えています。1000を超えると書き込みができなくなります。