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/
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なしってダメなんか?
202 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 00:52:13 ] VCLなオブジェクトってスタックにおけるんだっけ?
203 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 01:44:11 ] c++ builder 2007のkeygenerator持ってる人いる?
204 名前:デフォルトの名無しさん [2008/03/06(木) 01:52:16 ] >>202 スタックにおけないのか?kwsk
205 名前:デフォルトの名無しさん [2008/03/06(木) 09:52:23 ] >>201 ヘルプに書いてある
206 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 10:01:51 ] >TStringList >String これって便利なんだけど、クロス環境で開発してると害悪になる。 下はstringの代用があるけど、上は自作する必要があるorz
207 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 10:29:41 ] 文字列リストくらい自作すればいいじゃん 別にTStringListそのものである必要なんて殆どないんだろうし 1時間もあれば書けるだろ
208 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 10:47:45 ] ヒント: TStringListをバリバリ利用したクラスの移植
209 名前:デフォルトの名無しさん [2008/03/06(木) 10:52:08 ] TStringListを自前で書いたけど 1時間では絶対に無理 俺は結局1日半くらいかかった。
210 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 12:56:42 ] STLとboot使えばよゆー
211 名前:デフォルトの名無しさん [2008/03/06(木) 13:01:34 ] TStringListって何か特殊な機能あったっけ?
212 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:09:48 ] 特殊な機能は無いけど、 Values、Names とか CommaText入出力 とか、 LoadFromStream/File とかあるから、 代替品を作るときにイパーイ機能を実装しないといけないし、 posとfindとイマイチ似てないところや、 無意識にthrow Exceptionすれば良かったのをクロスでどうするとか、 考えるの大変、差し替え後テスト大変。
213 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:11:49 ] .CommaText とか便利機能もあるしな まあ IStrings のCOMインターフェース連携機能は諦めるとして
214 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:13:03 ] だから、そんなのSTLとboostで代替できるじゃん? それら使い方知らないってのは勘弁してくれw
215 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:15:29 ] で、それらを全て持ってるSTLとboostの代替ってどれ? バラバラに持ってても意味無いんだよ。
216 名前:デフォルトの名無しさん [2008/03/06(木) 13:15:46 ] そか、VCLしか知らない人が困るというだけだね
217 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:18:17 ] >>215 なんでバラバラに持っていては意味ないのかわからない 余程の無能じゃなければラッパー部のテストなんてすぐ可能だし、時間がかかる理由がない 逆に教えてくれw
218 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:21:35 ] そりゃCommaTextくらい実装出来るけど STL や boostでどうやるわけ? boostのSpiritでやるのか? なんか牛刀持ち出してるように思うが1時間で書けるの? IStringsはATLだが これも STLの一種だと言い張るわけか
219 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:22:53 ] ってかまともにテストするなら、テストコード書いてテストするだけで1時間上かかるだろ。
220 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:29:02 ] >>218 CommaTextなんてtokenizer使えばすぐ つーか、クロス開発するときにTStringListの置き換えに困るという話なんだから >>206 が言っているようにStringの代替にstd::stringを使えるレベルでいいなら余裕でしょ IStringsAdapterが、とか持ち出すのは滑稽w 全体的なテストはまた別の話だし、TStringList関係なく必要だから
221 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:39:36 ] >なんでバラバラに持っていては意味ないのかわからない クラスのメンバ変数となってたりするわけだから。
222 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:50:19 ] それだってescaped_list_separatorからエスケープ殺すか、TokenizerFuncから自作するか
223 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:52:22 ] posが1ベースでfindが0ベースだったり。 TStringListの仕様はガチガチに決まってるところを、 類似クラス作成するときどこまで同じにするかで悩んだり。
224 名前:デフォルトの名無しさん [2008/03/06(木) 13:54:52 ] そもそも、どんなプラットフォームで開発するにしてもTStringListみたいなデータ構造は必要なんだから クロス開発するような人なら手持ちにあるはずなんだけどな・・・
225 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:57:16 ] >手持ちにあるはずなんだけどな・・・ 誰でも一番初めは作らないといけないだろ。 反論になってない。
226 名前:デフォルトの名無しさん [2008/03/06(木) 13:58:13 ] 結局、自分のよく知らない開発環境で作ろうとしてるから大変なだけ 初心者がBCB難しいって言ってるのと同じ
227 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 17:08:30 ] 最近はboost::algorithm::splitなんてものもあるね。
228 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 18:04:25 ] VCLべったりってのもよろしくないね。
229 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 08:14:02 ] MSべったりが一番です