新C++Builder相談室
■ このスレッドは過去ログ倉庫に格納されています
0001新人
NGNGよろしくお願いします!
0497デフォルトの名無しさん
NGNG実際に試していただいてありがとうございました。
ご指摘がずばりあたっていました。
無事動きました。良かった・・・。
0498デフォルトの名無しさん
NGNGマニュアルは分厚いし、オンラインマニュアルは読みにくいし・・・。
基本的にC言語の基礎的な知識しかないので、CもしくはC++の入門本から
やり直そうといつも思うのですが、いつも途中で挫折して、BCBを使うところまで
たどりつけません。おすすめの学習方法を教えてください。アップグレードで
Ver1,3,4,そして5と購入しましたが、何一つソフトがつくれていません。
0499デフォルトの名無しさん
NGNGsample見れ。
Cの基礎知識があるんだったらとりあえず逝けるんでわないか?
BCB(Delも)使いはじめはVCLの使い方を覚えることが最短の学習方法だと思われ。
VB以上に直感的にソフト設計できるから、コードの書き方で悩む前に
IDEでComponentぺたぺた貼ってみては?
とりあえずHelloWorldを10回作れ。
0500498
NGNG「我をたたえよ」は10回以上も作りましたが、だめです。
上は冗談ですが、コンポーネントの使い方を覚えても身に付かないと言うか、
動く3Dを簡単に実現するコンポーネントとか、マイクから拾った音声を解析して
立体的なロゴを画面に表示するコンポーネントとか、自分の欲しいコンポーネントが
全然ないので学習がすすまないのです。そもそもコンポーネントの作り方がわからないので、
ソフトを作るとき、コンポーネントを組み合わせればいいから簡単とかいう話がありますが、
欲しいコンポーネントがないと意味がありません。
健康管理ソフトを作りたいので、血圧を測定するコンポーネントとか、体脂肪率を検査する
コンポーネントとか、肝機能検査のコンポーネントとか欲しいのですが、なかなか見つかりませんね。
0501デフォルトの名無しさん
NGNGハゲシクワラタ
0502デフォルトの名無しさん
NGNG欲しいコンポーネントを作るときに、
既存のコンポーネントを組み合わせる必要が(時間の経済性の要求から)
生じるんだヨ!
(´-`).。oO(なんでヘルプでクラスの階層構造を見た時に気づかないんだろ?)
0503マヂレスしてみよう
NGNG> 立体的なロゴを画面に表示するコンポーネントとか、自分の欲しいコンポーネントが
> 全然ないので学習がすすまないのです。そもそもコンポーネントの作り方がわからないので、
必要なComponentがないときにわざわざ一から全部作るかってなったら
VCLのクラス継承して作った方が効率的。
ふつうのアプリをざっくりと例えると、VCL的に
アプリの作成≒TFormを継承してカスタマイズ
っつーことだから、とりあえずそこから入ってみたほうがよさげ。
つーか血圧とかは最初手入力でもいーだろーが。
とりあえずUIだけ作ってみれ。
0504デフォルトの名無しさん
NGNGえー、質問なんですが、BCBのエディタで対応する括弧を検索するショートカットってないですか?
viの%みたいなヤシ。ないですか?とか聞いてるけど多分あるので、教えて下さい。
0505504
NGNG0506マヂレスしてみよう
NGNG>>504
Alt + [
Alt + ]
つーかヘルプ嫁。
0507デフォルトの名無しさん
NGNG本買えよ
0509デフォルトの名無しさん
NGNG60日ぐらいですか?
0510Delフサギコ
NGNG〜′,,,,,,,ミ,,゚Д゚彡 < Ctrl+Q+[ もしくは Ctrl+Q+] も
UU""" U U \_______________
0511デフォルトの名無しさん
NGNG外部 (=別の)エディタ使えばいい。
「ツール」に登録して起動すると ウマー
0512デフォルトの名無しさん
NGNGBCB5に付属しているPCRE(Perl互換正規表現ライブラリ)の
バージョンが古くて、Unicodeの正規表現に対応していません。
pcre.hを見ると、BCB用に変更してる部分もあるし・・・
BCBのPCREライブラリをアップデートする方法を知っている方
いませんでしょうか?
0513デフォルトの名無しさん
NGNG0514名無しさんに接続中…
NGNG自分で GetTickCount なり timeGetTime なりで計測してみるべし。
0515デフォルトの名無しさん
NGNGばいなりえじたのPowerWitch使えば変化部分もわかるよ
実際・・・見ないほうが後悔しない感じ。
ところであのexeサイズ圧縮のアプリ誰か使ってる?
カッコイイよね、あれ。実行展開後はサイズで会とはいえ、
メモリてんかいのみでやってたとしたらその腕はナカナカ
0516デフォルトの名無しさん
NGNGBCBのVCLなんてライブラリーがPascalとC++とごっちゃで半端だ
BCC用のフリーのRADツールがどっかにあるらしいが誰か知らない?
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNGてかちゃんと解析したか?
滅多に50kbきらないように氷魚が悪者ぶってちゃんとした
ものをつくらなかったんだよ。
つかっててかなりあたまにきたといってくれよ!!
かなーりのごみあるし、米業界の伝統にこだわったせいで
さいてきせいもおろそか。ま、OSかすだから結局同じ。
VCLもMFCも氷魚の自作自演だよ。初心者用。
まぁひとつの完成形ダトもいってたけどな、会った時。
本当にこの板の奴らもてあそばれてんねー(藁
もともとあいてにされていないだけ。
氷魚のおやぢより
0519デフォルトの名無しさん
NGNG結局能力の高い氷魚の一人勝ちになるのがいやでなんとか
教材ばらまいているつもりらしい。
他人には中と半端製品にしかみえんといってやれ。うざすぎる
だろ?あいつまじで現製品のほぼ八割を把握しているよ。
PS2もそれ。
0520デフォルトの名無しさん
NGNG俺色々つくりはしたんよ、あぷり。
そしたらぜんぶそれをうわまわるのをつくりやがった。
他の奴らも被害にあってるかとおもって、あいつの
つくりかけのC--をばらしてはみたのだが、
ま、俺でもぎりぎりじゃあ、他の奴らにはりかいできん
のかもね。BCV6はこそーり好きな人にだけわたしてるよ
0521デフォルトの名無しさん
NGNGココ数年の急激な業界の進歩なんて氷魚の(・∀・)
どのみちやつのC--に吸収されるよ。
だいたいせぐめんととメモリ保護もあいつぶちぬけるわけ
だし、それできるやつにしたってにほんでは、
あのゆうめいなふりーのべんちそふとだけ
それにも氷魚はコソーリと言ふ感じ。
有料でイイからもっとまともなOSとかを普及させろと
だれか逝ってやれって
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG0524T.O
NGNGありませんと表示されます。
どうして?
0526デフォルトの名無しさん
NGNG0527Delフサギコ
NGNG〜′,,,,,,,,,,ミ,,゚Д゚彡 < BuilderMLの一行レス&内容無関係Subject投稿
UU"""" U U \_なんとかしてーニャ
ミナカッタコトニスルカ
0528デフォルトの名無しさん
NGNG持ってる方がいたら教えてほしいのですが、
172ページ真ん中あたりにあるResourceフォルダというのが見つかりません。
検索しても駄目です。フルインストールしないと作られないんでしょうか?
0529528
NGNG解決しました
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNGワラタage
0532デフォルトの名無しさん
NGNG良い方法ありますか?
TMenuItem* item = new TMenuItem(this);
item->Assign(SubMenu->Items[n]);
PopupMenu->Add(item);
とやったら、Assign が「TMenuItem から TMenuItem への代入はできません」だって。
0533デフォルトの名無しさん
NGNG0534532
NGNGそれに RadioItem や GroupIndex の設定も含めてコピーしたいのです。
メインメニューに ToolBarの表示項目を設定する一連のサブメニュー項目があって、
ツールバーの右クリックでも同様のポップアップメニューを開くように改造中です。
メインメニューと同じ一連のメニュー項目を用意するのは保守性が悪いので、
デザイナで空のポップアップメニューを用意し、OnCreate時に動的にコピー
しようとしたのですがAssignがヘタレなので参ってます。
Assign使わずに、各プロパティを地道に代入するしか無いのかなぁ。
理想を言えば、TActionList からメインメニューとポップアップメニューの
両方を動的に生成したいのです。
0535デフォルトの名無しさん
NGNGActionListの数だけ作るだけでしょ?
0536523
NGNGfor (int i = 0; i < ActionList1->Count; ++i) {
TMenuItem* m1 = new TmenuItem(this);
TMenuItem* m2 = new TmenuItem(this);
m1->Action = ActionList1->Actions[i];
m2->Action = ActionList1->Actions[i];
m1->GroupIndex = 1;
m2->GroupIndex = 1;
m1->RadioItem = true;
m2->RadioItem = true;
SubMenuItem->Add(m1);
PupupMenu->Items->Add(m2);
}
同じ設定値を m1 と m2 の両方に設定するのはアホっぽいんで、
m1 に設定した内容を m2 にコピーしたいのです。
0538デフォルトの名無しさん
NGNG0539536
NGNGVCLに機能が備わっているのではと期待したけど。
ところで TMenuItem::Assign が、同じTMenuItem型をソースにすると
例外を出すのは何故なのでしょう。普通できるだろうと思うのだけど。
0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNGまさかそんなことする奴いないだろうって理由で実装しなかったのかも
0544デフォルトの名無しさん
NGNGだから、その場で Assignを継承したって同じ程度の作業量でしょ?
どういうふうに複製したいかはその時によって違うんだから ヘタレという表現は不要かと
0545デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNGコンソールアプリケーション (ProjectHogehoge.exe) を
main() からシコシコと書き上げて再構築して、
いざ動かしてみると、main() を抜けたあとに
「PROJECTHOGEHOGE のページ違反です」で氏んじゃう。
なぜだろう?
0548デフォルトの名無しさん
NGNGきっとどこかにメモリバグが。
それかグローバル変数のデストラクタで死んでるとか。
0550デフォルトの名無しさん
NGNGプログラム実行中のデバックメニューから、
インスペクト項目が消えてしまいました。
復活させるにはどうすれば?
0551デフォルトの名無しさん
NGNG気にしなくて良いもの?(でも気になる)
0552デフォルトの名無しさん
NGNG程度の初心者です。
今Builerの勉強がてらに簡単なADVゲームを作ろうとしていたのですが、
いきなり詰まってしまいました。
・背景画像とキャラ画像を上手く重ねる方法が分かりません。
普通にImageを二つ使用すると上の画像が四角に浮きでてきます。
・Labelですが、表示されている文字列のフォントは文字列の
途中から変更することは出来ないのでしょうか?
こんな段階で詰まっている私ですが、C++builerとても面白いっす。
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNG>・背景画像とキャラ画像を上手く重ねる方法が分かりません。
Transparentっつうプロパティを漁ってみなされ。
>・Labelですが、表示されている文字列のフォントは文字列の
>途中から変更することは出来ないのでしょうか?
できません。
0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNG出来ました!マジありがとうございます!
0557こぼ
NGNGボタンを押したらポップアップメニューが表示されるような
ものを作ろうと思い、TToolBarにTToolButtonを1つ置き、
StyleをtbsButton(逆三角マークを表示させたくないため)
DropdownMenuにポップアップメニューを指定しました。
ここまでは、うまく動作したのですが、、、
TToolButtonのキャプションを設定し、TToolBarの
ShowCaptionsをtrueにすると、ボタンのサイズが
キャプションの文字幅に自動的に変わってしまいます。
ボタンのAutoSizeはfalseにしているにもかかわらずです。
ボタンのサイズは変更したくないのですが、サイズを固定
する方法があるでしょうか?
0558デフォルトの名無しさん
NGNG俺はこうやって対策した。
キャプションをオンオフするのと同時にボタンサイズを再設定する。
ToolBar1->ShowCaptions = true;
ToolBar1->ButtonWidth = 24;
ToolBar1->ButtonHeight = 24;
とてもマヌケな方法なので、正しい方法を俺も知りたい。
0559YA
NGNGようやくプログラムが出来たので見てください。
http://www.vector.co.jp/soft/win95/game/se223305.html
0560デフォルトの名無しさん
NGNG捜す方法を教えてください。
0561こぼ
NGNGありがとうです。
でも、同じようにしてもサイズが変わっちゃいます。
無理なのかなぁ・・・
0562デフォルトの名無しさん
NGNG文字列解析をして、ディレクトリ構造を区切ってる「¥」なり「/」で
ひとつ縮めればいいのでは? ルートの場合だけ注意して。
Windowsのフォルダが対象なら、FindFirstFileに*.*を送って「.」なら親とか。
0563デフォルトの名無しさん
NGNG受け取るにはどうすればいいのでしょうか?
0564デフォルトの名無しさん
NGNGそれしか無いかなぁ…。BCBがあまりに便利なんで、
関数か何かが用意されてないかなと思ってしまう。
0565デフォルトの名無しさん
NGNGいま CBuilder 無いので Delphi で。
var
C : String;
begin
c := GetCurrentDir;
Button1.Caption := ExpandFileName(c + '\..');
end;
お尻の \ 記号処理をちゃんとしてください。
0567新人
NGNGForm1でホームページの内容をHtml形式で収集して、タグを除く。
終わったとき、Form2を呼び出し、ページの内容を表示しようとしている。
が、Form2を呼び出して、内容を表示するときエラーが出てくる。
「プロジェクトProject1.exeがEStackOverflowクラスの例外を生成しました。
’スタックオーバーフロー’プロセスは停止しています。
再開するにはステップ実行または実行を選択してください。」
ヘルプで調べたら、どうも前段階の作業がしすぎたみたい。どうすればいいですか?
ちなみに、メモリを開放しようとしたが、やり方が問題かもしれないので、
うまくいかないです。
よろしく!
0568デフォルトの名無しさん
NGNG原因はなんとなく察しがつくが、とりあえずForm2を呼ぶところのソースを見せれ。
あと、使用しているOS、BCBのバージョンも一応書いとけ。
0569デフォルトの名無しさん
NGNGそもそも、Form は1つで十分だと思う。
余分なスレッドを増やすと、自分のアタマが混乱しちゃうぞ。
0570デフォルトの名無しさん
NGNGお勧めを教えてくダサい
0571デフォルトの名無しさん
NGNGスタックオーバーフロー?
無限再帰に陥ってるのが一般的。
0572デフォルトの名無しさん
NGNGTStringList に 1行100byte以下 * 25000行程度のファイルを読み込み、
stringlist->Sort(); でソートする処理を書いたのですが、
Windows98でスタックオーバーフローが起きます(Win2kだと問題ない)。
別途ソート処理を書いて解決してはいるのですが、
スタックオーバーフローさせない方法はありますか?
実際のSortは TStringList.CustomSort ; virtual で行われています
で、内部では
private TStringList . QuickSort が呼ばれます。
名前の通りクイックソートで、再帰的に呼ばれます
このクイックソートは工夫もなにもしない普通のクイックソートなのでデータの並び方に
よりスタックを大量に消費しても不思議ではありません
安全な対策としては
TStringListを継承してStringList.CustomSort ; を自作のソートに置き換えるしかないでしょう
0574新人
NGNGOSはwin2000、BCBは5です。
Form2を呼び出す時は「Form2->Show();」でやっています。
ちなみに、
>569
Form1だけでも同じです。
原因はおそらく自分のプログラムのどこかにあると思いますが、
やりたいことをもう一度説明します。
Editでキーワードを入れ、Buttonをclickしたら、
gooのページ検索を利用し、その検索結果を全部取り入れ,ファイルに保存する。
と同時に、CppWebBrowserでgooの検索結果の最初ページを表示する。
ということです。
0575委員長 ◆ABoneCRY
NGNG> Form2を呼び出す時は「Form2->Show();」でやっています。
って、モロにForm2を呼び出す部分を書いてどーすんの。(^-^;
>567
> が、Form2を呼び出して、内容を表示するときエラーが出てくる。
> 「プロジェクトProject1.exeがEStackOverflowクラスの例外を生成しました。
と君も書いているのだから、Form2が呼び出された後、処理完了までの
間が怪しいということは察しがつくでしょ?
「この辺が怪しいなという部分の処理ルーティンを見せて」という意味だよ。
あ、私に見せてもダメだよ、そんな知識ないから。(ぢゃ出てくるなよ)
0576デフォルトの名無しさん
NGNG> Editでキーワードを入れ、Buttonをclickしたら、
> gooのページ検索を利用し、その検索結果を全部取り入れ,ファイルに保存する。
> と同時に、CppWebBrowserでgooの検索結果の最初ページを表示する。
つまり、それだけの処理が完璧に動くソースをよこせ、ということですか?
0577新人
NGNGForm2を呼び出すときそのエラーが出てきます。
呼び出す前には、取り込んだページのタグを
削除し、データをカンマ切りで整理しただけで
す。
0578デフォルトの名無しさん
NGNGForm2->Show() にブレークポイントを仕掛けて
1、 停止までにエラーが出るか?
2、 そこからステップ実行してみよう
0580委員長 ◆ABoneCRY
NGNGいやそういう意味ぢゃなくて、怪しい部分のコードを
コピペして見せてちょ という意味です。
どういう事をしようとしたのか?が問題なんぢゃなくて、
どういうコードを書いたか?が問題なので。
怪しい部分の見つけ方は、>579を参考にしてねん。
0581デフォルトの名無しさん
NGNG(1) ファイルオープンダイアログを、常に手前に(全てのwindowの上に)
表示する方法はあるでしょうか?
(2) AnsiString S を float か double型の変数tmpに変換するために、
tmp = StrToFloat(S) としました。
しかし、S が数値でないとエラーが出ます。数値でない場合には
デフォルト値をtmpに入れたいのですが、どうやるのがいいのでしょう?
整数型に変換するときには、StrToIntDef(S, default) という便利なもの
があるようなのですが、float では見当たりません。
0582デフォルトの名無しさん
NGNGソースを1行ずつコメントアウトしていけばエラー原因の行が判ると思うけどな。
エラーメッセージで指摘された行と、実際にエラーの原因になっている行は違う
場合も多いので気をつけるように。
どうしても判なかったらプロジェクトのソース一式アプすれ。
皆で添削してくれると思う。
0583デフォルトの名無しさん
NGNG(1) 表示する方法はあります
(2) 例外を使う事をお勧めします
0584デフォルトの名無しさん
NGNG0585581
NGNG(1)どうすればいいのでしょうか?
(2)数値以外のときは、例外エラーが発生すると、
オンラインヘルプに書いてありました。その例外エラーを
どのように利用すればいいのでしょう? というか、
例外エラーが発生したことを知るには,どうしたらいいのでしょうか?
0586デフォルトの名無しさん
NGNG2chに書き込む前にHELPで“例外”について調べるのが先でしょうに…
try {
StrToFloat("(・∀・)");
} catch(const EConvertError& e) {
//例外処理
}
0587581
NGNGありがとうございます。やってみます。
ところで、StrToIntDef に相当するものが, StrToFloat には
見当たらないのですが、何でなんでしょうか?
実数型の場合、「数値で無い場合はデフォルト値を吐き出す」
という処理は、あまり需要がないのでしょうか?
0588デフォルトの名無しさん
NGNGVCL関数にこだわる必要ないだろ?
C標準関数の sscanf を使えば、デフォルト値処理できるよ。
float tmp = 1.0;
sscanf(str.c_str(), "%f", &tmp);
0589581
NGNGsscanf って,そういう風に使うのか・・・
この場合、AnsiString str が数値じゃなかったら、
tmp = 1.0 が残るってことですよね。
try・・・catch を使った例外処理法も分かったし、
今日はとても勉強になりました。
0590デフォルトの名無しさん
NGNG微妙に書き直してみたり。
float tmp;
char dummy;
if(sscanf(str.c_str(), "%f%c", &tmp, &dummy) != 1){
tmp = 1.0;
}
0591572
NGNGご回答ありがとうございました。
スタックオーバーフロー起こしても仕方がないということですね。
でも、自前のクイックソートでは起きなかったのになぁ。
0592デフォルトの名無しさん
NGNG特に中央値の決め方は?
VCLのコードは中央値を区間中央の値そのまま使うからダメなんだと思うけど
0593572
NGNG>特に中央値の決め方は?
>VCLのコードは中央値を区間中央の値そのまま使うからダメなんだと思うけど
stringlist->Strings[ ( first + last ) / 2 ] ですから、同じような物だと思います。
で、for (;;) { whileでまわして、break判定、Str->Exchange( right, left ) } 再帰です。
ひねりも何もありません。
今日VCLのコードも見てみましたが、
ループ内で再帰してる(してますよね?)のが駄目なのかな?と素人ながらに思いました。
0594592
NGNGクイックソートで2分割する過程の前方だけ再帰させて
後方を末尾再帰でループに展開してるのでしょう
たまたま与えたデータとの相性が悪かったという事かもしれませんね
自作のソートでもネスト段数を管理して ネストが深くなりすぎるようならみたいな
処理が必要かもしれません
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNG-S
■ このスレッドは過去ログ倉庫に格納されています