1 名前:1 mailto:sage [2006/08/03(木) 13:43:29 ] 今まで知らないでゴリゴリしこしこやっていた処理が実は簡単に出来たなんてことがよくあります。 そんなちょっとしたテクニックやTips(秘訣)を紹介するスレです。 プログラミングのQ&Aは C++Builder相談室 Part16 pc8.2ch.net/test/read.cgi/tech/1138766165/ くだすれC++Builder(超初心者用)その2 pc8.2ch.net/test/read.cgi/tech/1144308804/ 関連スレ Borland Developer Studio 2006 No.07 pc8.2ch.net/test/read.cgi/tech/1154069526/ 【Delphi】 Indyコンポーネント 【C++Builder】 pc8.2ch.net/test/read.cgi/tech/1093654251/
101 名前:デフォルトの名無しさん mailto:sage. [2007/03/12(月) 22:39:40 ] OK
102 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 16:45:43 ] BCB5, 6でのみ確認。 バージョン情報ダイアログを開いて、 Altを押しながら「GUNGLA」。
103 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 19:04:38 ] ガンプラがどうしたって?
104 名前:デフォルトの名無しさん [2007/03/17(土) 03:55:51 ] BCB6 ですが、 「共有RTL DLLを使う」をOFF 「実行時パッケージを使って構築」をOFF 「デバッグ」にしてコンパイルすると、 (つまり、スタティックリンクのデバッグでコンパイル) 標準ライブラリの qsort() が無限ループしてしまいます。 データによってはしないのですが、あるデータにするとなります。 また、【デバッグ」ではなくて「リリース」にしたり、DLLを使うように すると無限ループしません。 これについて、何か情報を持ってる人いらっしゃいませんか・
105 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 20:58:54 ] >>102 なんだこれwwwwww 音もなるしwwwww
106 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 22:16:41 ] >>104 その手のバグの原因の99%は #ifdef _DEBUG ブロックが原因 上記が存在していればデバッグとリリースでは同じコードではない。
107 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 22:45:45 ] >>95 ツールが何かの説明はBorlandはしないよ。 カタログ送ってくるけど機能一覧で名前を一覧表示するだけで 何が出来てどういうことになるのかの説明は無いから。 どういうことが出来るのかをわかってるのはBorlandだけで ユーザーは判らない。
108 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 23:12:54 ] web.archive.org/web/20020912014129/www24.big.or.jp/~faru/kojin/txt011.html
109 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 01:37:12 ] > 104 qsort からコールバックする比較関数で、 要素のアドレス値を使って比較すると、 データにより無限ループになることがあるので注意。
110 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 17:01:53 ] #pragma curious_george
111 名前:デフォルトの名無しさん [2007/04/04(水) 22:02:32 ] 詩織
112 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:37:18 ] TListBoxでWordWrapを簡単に実現する方法をご存じの方いらっしゃいませんか?
113 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 10:21:44 ] ご存知の方…誰かいらっしゃいませんか?
114 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 14:18:51 ] 知ってる奴いねーかって聞いてんだ! さっさと答えやがれゴミ共がっ!!
115 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 22:25:13 ] つ OwnerDraw
116 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 22:47:25 ] TListBoxでWordWrapなんてありえねー
117 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 10:25:22 ] いいからさっさと教えろ!役立たず共が!!
118 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 10:32:14 ] TListBoxのリストの1個1個は状態取れるから、 その上にTMemoを動的生成して貼れば?
119 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 10:33:12 ] めんどくせーよ!
120 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 10:34:06 ] と思ったが、 TMemoにWordWrapしたラインを作らせて、 TListBoxのCavasにオーナードローで描画すれば、おk。 それをさらにTWordWrapListBoxと派生したクラス内に処理作れば完璧だお。
121 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 10:34:53 ] ま、メンドくさくても、そーじゃなくても、オーナードローするのは避けれないね。
122 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 13:47:52 ] RichEdit使う事にした
123 名前:デフォルトの名無しさん [2007/05/17(木) 17:09:40 ] C++Builder 2007 発表 www.codegear.com/jp/products/cppbuilder
124 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 17:17:20 ] で、今回はBDS2007が出る予定はないの?
125 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 18:57:51 ] Turbo C++はどうなるんだ。
126 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 06:39:38 ] かなり前からそうだけどさー… なんというか、ほんとgdgdだなぁ…
127 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 15:00:27 ] >>124 Delphi→BCB→BSD の順でリリースしていくって話だったような。
128 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 15:51:21 ] Delphi→BCB→CRS(CSB,Delphi.NET含む)→Turbo じゃないの。
129 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 21:31:45 ] 大規模プロジェクトなんかどーでもいいからさー、コンポーネントの改良と充実をやってほしいよ
130 名前:ミ,,゚Д゚彡 ◆A6VzDeLphI mailto:sage [2007/05/19(土) 22:56:07 ] >>129 はげどー
131 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 12:56:46 ] それでUNICODE問題は2007では解決しているのかね それならうつっちゃうぞー
132 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 13:51:37 ] UNICODE問題って何?
133 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 11:09:46 ] 「なに!UNICODE問題だと…!?」 「!!知っているのか!雷電!?」
134 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 13:13:52 ] もまいら日本語とアルファベットをせいぜい使ってるだけのくせにUNICODEとかかっこつけてんじゃねーよ
135 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 15:37:31 ] ドキッ!
136 名前:デフォルトの名無しさん [2007/05/29(火) 02:01:54 ] C++Builder2007 pro 71,400円 BDS2006からのVUP 31,500円 <<-- 高いぞ
137 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 08:49:58 ] 前回が大出血サービスだったと思われ。
138 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 13:19:24 ] 確か1から6までは2万くらいだったよな?
139 名前:デフォルトの名無しさん [2007/05/29(火) 20:26:58 ] 前回のバージョンアップ料金 Borland C++ Builder Professional --> Borland Developer Studio 2006 37,800円 Borland C++ Builder6 Professional --> Borland Developer Studio 2006 29,400円 値上がりしている BDS2006にはDelphi/Delphi.NET/Builder/C#が含まれているのに レベルダウンのBuilderだけなのに、値上げはひどいよ。
140 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 21:15:49 ] こんなやり方してたらただでさえ少ないユーザーがますます減るよ
141 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 23:54:41 ] もうしばらくするとBDS(CDS?)が出るので、単体でご不満の方はそれまで待ってみたら?
142 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 23:58:11 ] どうせBDSの価格は7万とか言うんでそ?
143 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 00:00:29 ] BDSは7万で済むはずがない、9万ほどするだろ。
144 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 00:59:09 ] アップグレードが7万っていってるんでしょ。
145 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 01:04:45 ] アップグレード7万・・・・・聞いた事ねえよ なんてボッタクリ商売
146 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 07:52:31 ] 貧乏人の巣
147 名前:デフォルトの名無しさん [2007/06/19(火) 04:43:54 ] 自己解決しました
148 名前:デフォルトの名無しさん [2007/06/28(木) 16:24:43 ] Borland Developer Studio 2006 アップデート2 Hotfix 13 support.codegear.com/article/36674
149 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 14:14:50 ] >>132-133 ユニコード問題、以下の作者の受け売りだけど信じてる mana.ikuto.com/tnotepad.php [要約] ユーザーがファイル名やフォルダ名にユニコードを使用しないように注意しないと、 それが原因で無関係のファイルまで破壊しかねません。 Delphiでテキストエディタなどを作る際は、ファイルIO関数のユニコード化は必ず行ってください。 そしてさらに深刻なのは、ユニコード非対応アプリがレジストリにアクセスする場合です。 ファイルの場合と同様に、絶対にDelphiが用意したクラスを使ってはいけません。
150 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 16:20:34 ] 俺様のページに勝手に直リンすんじゃねぇ
151 名前:デフォルトの名無しさん [2007/06/30(土) 18:46:45 ] 皿仕上げ
152 名前:デフォルトの名無しさん [2007/07/01(日) 15:04:22 ] >Delphiは開発環境にバグが多かったり、最新のOSやCPU向けの最適化がなされていないなど、 >欠点も多いのですが、作ったアプリケーションの動作速度と開発の容易さとの妥協点として、 >”しかたなく”利用しています。後述の問題点もあるので、これからプログラミングを始めるという >初心者にはDelphiでの開発は絶対オススメできません。 つまりMS謹製開発環境のみを使いなさいということだな。 発想がいかにも日本人らしくてよいね。
153 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:46:36 ] >>152 それを見たとき、真っ先に思い浮かべたのはこれ↓だった。 「…僕が一番Delphiをうまく使えるんだ。一番、一番うまく使えるんだ…」 www.geocities.co.jp/AnimeComic-Pastel/3829/words19_Gundam.html
154 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 12:44:56 ] 最近のIDE(具体的にはTurbo C++ Explorer)ってSDIスタイルにはできないの? 今どきの、MDIともちょっと違う気持ち悪いサブウィンドウ構成がデフォルトだけど、 フォームエディタやコードエディタを独立したウィンドウにできないのかしらん。 (記憶あいまいだけどDelphi6/BCB6ではオプションから変更できたような)
155 名前:154 mailto:sage [2007/07/02(月) 16:04:30 ] デスクトップ ツールバーの Classic Undocked でした > 自己解決 お騒がせしました。
156 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 00:52:06 ] >>149 むちゃくちゃ感じの悪いヤツだな、その作者。
157 名前:デフォルトの名無しさん [2007/11/17(土) 10:42:33 ] がっつ
158 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 13:02:56 ] >>149 Delphiが用意したクラスって、iostreamとかもダメ?
159 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:12:58 ] ShiftJIS範囲内の文字しか使われない or ファイルシステムがFAT系ならUnicode対応してなくても問題ない。 問題が出る可能性があるのはパス名にShiftJIS外の文字(アラビア語や韓国語など)が含まれてファイルシステムがNTFSの場合だけだとおもう。
160 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 11:15:25 ] あ、FAT32はダメかもわからん まあ文字化け起こして、意図せずに既存ファイル名とかぶる場合があり得る程度(特に半角カナ)
161 名前:デフォルトの名無しさん [2007/11/20(火) 18:35:54 ] wxFormsで開発したときのTipsキボンヌ。 特に、Macでのコンパイルはどうやんのか、とか。
162 名前:デフォルトの名無しさん [2007/11/20(火) 23:22:42 ] > 特に、Macでのコンパイルはどうやんのか、とか。 ftp://bekins.borland.com/groups/jp/events/devcamp/07/a3.pdf
163 名前:161 mailto:sage [2007/11/21(水) 08:38:10 ] thx!>>162 有難うございます。 そのPDFだけ持ってます。というか、そのPDFで存在自体知りました。
164 名前:161 mailto:sage [2007/11/21(水) 13:08:38 ] 度々すみません。 実際にセミナー見られた肩、レポートお願いしますorz
165 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 09:23:23 ] まぁ、そもそもインタネットに接続されてるのが当たり前な今日に ShiftJIS範囲内の文字しか使われない とかどうやってユーザーを制限する気なんだろうね。もう、あほかと。
166 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 09:34:34 ] ヒント: UTF-8
167 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 09:29:54 ] >>165 意味不明。
168 名前:デフォルトの名無しさん [2007/12/31(月) 09:13:11 ] 会社でTurboC++(Professional)を使わされてるんですが、 この先使い続けてても大丈夫ですかね? 反Microsoft派の意見が、まかりとおってて、口出しできません。 ほんとはVisualC++使いたいのに。 参考書の数も圧倒的に違うのに。
169 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 13:00:53 ] 基本はC++なんだからどっちも変わらない。 boostの通りが悪いくらい。 しかもTurboC++の方がGUIは.NET無しでVBみたいに作れるから楽。
170 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 13:09:06 ] >168 そんな会社辞めちゃえよ。でVCやってる会社に行けば、現状がいかに恵まれてるかがわかる。
171 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 13:38:33 ] 釣れたw
172 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 14:18:46 ] バラクーダまだぁ?
173 名前:デフォルトの名無しさん mailto:age [2008/02/02(土) 22:22:49 ] 無駄
174 名前:デフォルトの名無しさん [2008/02/15(金) 10:06:04 ] C++Builderでクロス開発しててある程度見通しついたのですが、最後に躓きました。 Stringはコンポとアクセスする前までstd::string使えば良いし、 Exceptionは直接使わずに派生したエラークラスを使ってgcc側ではlogic_exception/runtime_exception派生したものを使えば良いことは分かりました。 が、最後の難題はTStringListです。 結構コアな文字列解釈にTStringListをSTLベースに書き換え前途多難、某にはめられますた。 おまいら、クロス用のTStringListどこにあるか教えて下さい。 もしくは純粋C++やSTLでTStringList作って下さい。
175 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 10:30:16 ] >>174 要素単位でコピーじゃ駄目なん? #include <iostream> #include <vector> #include <vcl.h> #pragma link "rtl.lib" #pragma link "vcl.lib" int main(){ TStringList* dest = new TStringList(); std::vector<std::string> src; src.push_back("1行目"); src.push_back("2行目"); src.push_back("3行目"); src.push_back("4行目"); for(int i = 0; i < src.size(); i++) { dest->Add(AnsiString(src[i].c_str())); } for(int i = 0; i < dest->Count; i++) { std::cout << dest->Strings[i] << std::endl; } delete dest; return 0; }
176 名前:174 mailto:sage [2008/02/15(金) 10:35:47 ] Valuesプロパティ、Namesプロパティ、IndexOf、CommaTextの入出力等が要ります。
177 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 13:48:42 ] TStringList おれも昔作ったよ。 STLべースでさ。 Values/Names/IndexOf/CommaText こんなのなんて簡単に自力で作成できるじゃん。
178 名前:174 mailto:sage [2008/02/15(金) 14:08:57 ] >>177 レスにコピペorz もしくは、うpうp!
179 名前:174 mailto:sage [2008/02/15(金) 14:13:35 ] >CommaText だけでも欲しぃお( ^ω^)
180 名前:174 mailto:sage [2008/02/15(金) 14:36:33 ] 何ていうか、TStringListって偶然だろうけど使い勝手の良いインターフェースですね。
181 名前:174 mailto:sage [2008/02/15(金) 14:46:46 ] さっさと教えて下さいよ役立たず共
182 名前:174 mailto:sage [2008/02/15(金) 14:48:37 ] ↑ 上はニセ174です。
183 名前:174 mailto:sage [2008/02/15(金) 15:07:50 ] ニセ174登場予定 ↓
184 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 15:11:06 ] 181=183
185 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 15:53:28 ] 180=182=184
186 名前:デフォルトの名無しさん [2008/02/15(金) 20:20:25 ] String::SubStringは1ベースで、 std::string.substrは0ベースで、 あってますか?
187 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 20:41:58 ] どうでしょうね
188 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 21:24:09 ] 答え待つよりさーー 自分で試したほうが絶対速いじゃんかーー
189 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 21:28:25 ] 間違ってますって言われたらどうするんだろう
190 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:32:32 ] TStringListくらい多少手間は食うだろうが自力でできるよ
191 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:16:45 ] ってかdelphiのソースがあるんだから、それを参考にすれば簡単に作成できるじゃん。
192 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:20:46 ] コンマで区切るのはstring_algoとかtokenizerとか使ったらダメ? archives.free.net.ph/message/20071213.140751.41186719.ja.html あと、連想配列ならmapとかunorderd_mapがあるから、 それで済む程度のことなら、自分でコードを書く必要がない。
193 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:46:26 ] つーか、余程の無能でも二日もあれば自分で書いてるだろう・・・
194 名前:デフォルトの名無しさん [2008/02/17(日) 21:50:49 ] 初めての質問です。 環境:WindowsXP/C++Builder5 Imageコントロールに延々とグラフを描画するプログラムを運用中のですが、 突然、描画が出来なくなってしまう現象が発生しています。 一度この現象が出ると、プログラムを再起動しないと復旧しません。 止まるもの、規則性が無く、極端には一回目からグラフの描画が途中で 止まったりします。 これは、バグなのでしょうか? また、何とか対応したくて、Imageコントロールを動的に取得して描画しようと したのですが、デバッグでブレーク張っていると、問題なく動くのですが ブレークをはずすと例外エラーが出てしまうのです。(NTDLL.DLLで) 何とかImageコントロールへの描画不具合を直せないでしょうか? 宜しくご指導をお願い致します。
195 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 23:01:40 ] しらんけど、タイミングに気をつけりゃいいんじゃないの?
196 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 10:25:48 ] ImageのPictureにBitmapを作成して描画してるわけ? もしかしてスレッド作って描画していない? 片方のスレッドで描画して、メインスレッドで画面に表示なんてやってると良く落ちるよ。 スレッドではTBitmapに描画しておいて、Synchronizeか、メインに対してメッセージを投げて 画面表示の部分だけは同期させるとかさ
197 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 10:56:45 ] VCLがスレッドセーフなら使いやすいのにな
198 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 13:06:47 ] 無茶言うなよ 大昔に出来た基礎に増築しまくっていじるにいじれなくなってるのがVCLなんだから 酷いプロジェクトの見本だな
199 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 13:11:36 ] 逆に言うと、クラスライブラリでスレッドセーフな物ってあったっけ? なわけねーだろ、オブジェクトにアクセスするときにはミューテックスとかセマフォとか取得するだろーが。
200 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 13:37:27 ] >>198 妄想としてOOPでもスレッド同士でメソッド呼び合えるようなものを考えてるんだろうけど、まあ夢は夢。 VCLのように委譲(イベント)を使いまくる場合、 基本的にダブルポインタが必要なわけ。 メソッドポインタって奴ね。 つまりオブジェクトと、関数アドレスの2つが必要になるわけね。 ポインタ1個だけなら同期とかは必要ないけど、2つになると、これはどうしようもない。 スレッドセーフにする為に、イベントに代入するような場面全部に同期対策入れろって思う? 思わないでしょ? メソッドポインタ一つでさえコレなんだから、スレッド同士でメソッド呼び出しってのは基本的に無理 関数型言語なら、ある程度は可能かもしれないけどね
201 名前:デフォルトの名無しさん [2008/03/06(木) 00:23:00 ] TStringList *hogehoge = new TStringList(); ... delete hogehoge; ってコードをよくみるが、 TStringList hogehoge; でdeleteなしってダメなんか?