- 1 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 16:30:32 ]
- C++Builderに関する質問・回答や議論等を行う相談室スレッド。
※2008/07よりCodeGear(Borland IDE/DB部門)はBorlandからEmbarcaderoに移動しました 【前スレ】 C++Builder相談室 Part18 pc11.2ch.net/test/read.cgi/tech/1188607282/ 過去スレ・関連サイトは>>2-7あたり。 ※Borland C++ Compiler 5.5.1についての質問は以下のスレへ タダで使えるBorland C++ Part5 pc11.2ch.net/test/read.cgi/tech/1135127048/ ※BDS(Borland Developer Studio)の総合スレはこちら Borland Developer Studio 2006 No.13 pc11.2ch.net/test/read.cgi/tech/1175861395/ ※CodeGear(Borland/Embarcadero)関連はこちら 【CodeGear】Embarcaderoオッチャ その10 pc11.2ch.net/test/read.cgi/tech/1216250111/ <関連スレ> くだすれC++Builder(超初心者用)その3 pc11.2ch.net/test/read.cgi/tech/1171219191/ [Tips]Borland C++Builder ちょいテク No.01 pc11.2ch.net/test/read.cgi/tech/1154580209/ 【Delphi】 Indyコンポーネント 【C++Builder】 pc8.2ch.net/test/read.cgi/tech/1093654251/
- 196 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:18:54 ]
- おれは、CSV文字列1行を
TStringListに分解する関数を作って使ってる。 この関数1個あれば、CSVを全然意識せずに文字列として扱える。
- 197 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:25:44 ]
- 全然関係ない話だけど俺はBCB3から2009まで買ってきたなあ
最初の頃は全然使い方が分からなくて、その頃に丁度Delphi6 のフリー版が出たので、Delphi本をBCBに翻訳しながら打ち込んで 動かす事で覚えたっけ。 お陰様でBCB6からは自由自在に使えるようになった。参考書も BCB用が皆無の頃でDelphi本を買って参考にしたっけ。
- 198 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:31:37 ]
- せっかく教えて頂いたのに重ね重ね申し訳ありませんでした・・・;;
次からはもう少し慎重に確認していくように注意します。 ここから先は自己解決していきたいと思います。 何度も教えていただきありがとうございました!!
- 199 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:32:21 ]
- VCLがObject Pascalで書かれているのでそれをC++で動かすために
少しの言語拡張とC++のクラスの柔軟性とマクロの多用で対応して いるが、今見ても頭がおかしい人が設計したんじゃないかと思う事がある
- 200 名前:デフォルトの名無しさん [2008/11/05(水) 09:16:56 ]
- >>196
CommaTextというプロパティがあってね・・・ 1例だけ特殊対応しなければいけないけど大抵はこのプロパティだけで大丈夫だな
- 201 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 12:43:08 ]
- CommaTextでは正しく解釈できない場合があるし
CSVの記述が正確ではない場合 悲惨な結果をもたらすことになる。 趣味なら笑って済ますことも出来るだろうが 業務用プログラムでは、 とてもじゃないが、CommaTextは使えない。
- 202 名前:デフォルトの名無しさん [2008/11/05(水) 13:39:21 ]
- >>200
それスペースまで区切りとみなしちゃうだろ? ""で囲ってあればいいけどそうでないのってどうしてる?
- 203 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 13:41:32 ]
- CSVのラインを解釈してバラして保持するクラスを自作すれば無問題。
その後、TStringList系は使いまくってるけど。
- 204 名前:203 mailto:sage [2008/11/05(水) 13:42:27 ]
- さらにそのCSVの1ラインを解釈して保持するクラスに、TStringListとの入出力を持たせればおk。
- 205 名前:デフォルトの名無しさん [2008/11/05(水) 13:49:10 ]
- 正しく解釈出来ないのが"で括られてない項目のスペースだな
>>201CSVの記述が正確では無かったら何やっても悲惨になるんだがw 俺はStringListに分解したあとにチェック入れてる
- 206 名前:デフォルトの名無しさん [2008/11/05(水) 13:57:34 ]
- TStringListのDelimiterとDelimitedTextってC++Builder5にないけど
これって6から?
- 207 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 13:59:24 ]
- >>206
そう 俺はBCB6から本格的にBCBを使い出したからBCB5以前の 奴とは話が時々合わず苦労する
- 208 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 14:01:56 ]
- 5から6へのバージョンうpは安定してるし、
Indy増えるし、やっぱそれに関しては無条件バージョンうpじゃね? 6から200Xへはやったことないガクブル
- 209 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 14:24:24 ]
- 2009使ってるけどこれどう見ても2006や2007と大差ないんだけど
Delphi + BCB で3万円が妥当な価格だと思う エンバカは高く設定し過ぎ
- 210 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 16:24:57 ]
- バカだから仕方ない
- 211 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 20:51:23 ]
- 2009出たけど配布用の仕組みって入ってる?JavaWebStartみたいな。
業務アプリはネイティブで作ると楽だけど配布がウザすぎてWebにしたくなる。
- 212 名前:デフォルトの名無しさん [2008/11/11(火) 17:24:47 ]
- VCLのラジオボタンをCLXのラジオボタンと同じ動きにする方法ってありませんか?
CLXアプリをVCLアプリに書き換えてるんですが、CLXのラジオボタンがスペーキーを押すまでチェックされないみたいなので… 環境はCLX→6.0 VCL→2007です
- 213 名前:デフォルトの名無しさん [2008/11/11(火) 19:38:51 ]
- >>210
バカに貢俺らって、バカ馬鹿だな
- 214 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 20:12:42 ]
- だがそれがいい
- 215 名前:デフォルトの名無しさん [2008/11/16(日) 15:27:45 ]
- A1とA2にはTStringlistで500行の数字の配列が格納されています。
そのA1とA2の配列の計算をしたいのですが AnsiString k1; for(int j=0;j<500;j++){ k1 = A1->Strings[j] + A2->Strings[j]; Memo1->Lines->Add(k1); } こんな形でやってみたところA1とA2の同じ行が足し算されず メモにはA1とA2の同じ行の数字が並んで表示されているだけなの ですがこれでは配列の足し算はできていないのでしょうか? どなたかよければアドバイスお願いします。
- 216 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 15:34:11 ]
- 足し算できてる。文字列の足し算が。
C++のデータには「型」があるんよ。数値とか文字とか。 StrToIntとかで数値に変換してから足せ。
- 217 名前:デフォルトの名無しさん [2008/11/16(日) 16:13:42 ]
- 返信ありがとうございます。
型で変換してみたのですが少数を含んだ数値の配列で strtodで AnsiString k1; for(int j=0;j<500;j++){ k1 = strtod(A1->Strings[j]) + strtod(A2->Strings[j]); Memo1->Lines->Add(k1); } と書いたときTStringlistに格納しているものなので、AnsiStringに一致するものが見つからないと出て しまいます。どのような変換で書いていけばよいのでしょうか 各配列の数値は 197.543545 や54.47673423のような数値の500個の配列です。
- 218 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:46:25 ]
- A1->Strings[i].ToStrInt()
- 219 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:48:05 ]
- ちごた
A1->Strings[j].ToDouble()
- 220 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:59:45 ]
- AnsiStringで受け取る必要ないのぜ。
- 221 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 17:04:48 ]
- >>219
ありがとうございます。 うまく変換して計算することができました。
- 222 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 17:24:36 ]
- 2007/2009はAnsiStringTでヘルプ探さないと見つからないな
- 223 名前:デフォルトの名無しさん [2008/11/17(月) 15:37:38 ]
- WINDOWS95で動くのはどのバージョンまでですか?
- 224 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 16:26:55 ]
- とりあえず、BCB6は動く。
- 225 名前:デフォルトの名無しさん [2008/11/17(月) 16:45:24 ]
- BCB6はとりあえず動くね。
- 226 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 16:57:01 ]
- ただ、ヘルプ周りはWindows2000以降じゃないと‥‥
- 227 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 17:07:16 ]
- 逆に、ヘルプ周りはWindows2000以降じゃないとアレ
- 228 名前:デフォルトの名無しさん [2008/11/18(火) 02:53:53 ]
- VistaにTurbo C++ Explorerをインストールしましたが、起動時に以下のエラーが表示されて起動できません。
どのようにすれば良いのでしょうか。 モジュール 'rtl100.bpl' のアドレス 51F515BE でアドレス 00000008 に対する読み込み違反がおきました。 EPackageRegistrationException がモジュール coreide100.bpl の 000DCB21 で発生しました。 登録プロシージャ Cppproject.IDERegister (パッケージ c:\program files\borland\bds\4.0\Bin\bcdide100.pbl) が例外クラス EOleSysError を生成しました: クラスが登録されていません, ClassID: {F8FEDD39-E3CE-4B8D-A657-9CA24686881F}. モジュール 'coreide100.bpl' のアドレス 20BA0DAF でアドレス 00000004 に対する読み込み違反がおきました。 モジュール 'designide100.bpl' のアドレス 20EE71DE でアドレス 00000000 に対する読み込み違反がおきました。 Borland® Developer Studio for Windows は動作を停止しました 問題が発生したため、プログラムが正しく動作しなくなりました。このプログラムを閉じてください。
- 229 名前:デフォルトの名無しさん [2008/11/18(火) 14:04:08 ]
- Resolving the EPackageRegistrationException error in BDS 2006 on Windows Vista
ttp://support.codegear.com/article/36202
- 230 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 22:52:25 ]
- レスありがとうございます。
教えて頂いたリンク先にあった内容や、 ttp://support.codegear.com/article/37345にあった内容を試したのですが、全く状況に変化が見られませんでした… どうも無理そうなので、とりあえずVista正式対応を待つことにします。
- 231 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 23:08:46 ]
- 素直に2007か2009を買うしかないね。Turbo Explorer?正式対応?残念ながら無理でしょ…。
- 232 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 13:49:41 ]
- TBitmapからTIconのハンドルを取得する方法を教えてください
- 233 名前:何をしたいのかを具体的に書けば有効な回答が得られるのでは? mailto:sage [2008/11/25(火) 22:38:53 ]
- できますん。
- 234 名前:デフォルトの名無しさん [2008/12/03(水) 11:42:25 ]
- ShowHint=trueにするとコントロールにカーソルがくると自動でヒントが表示されますが
指定コントロールのヒントを手動で表示される方法を教えてください
- 235 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 22:57:47 ]
- そのコントロールにCM_HINTSHOWをPerformすればいいみたいだけど、パラメータが問題かな?
- 236 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 10:40:48 ]
- >>235
なるほど。 まずはちょっと試してみますありがとう
- 237 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 22:47:38 ]
- Turbo C++ ExploerのdbExpressって、リモートでFirebird2.x接続は無理?
ローカルはOK、リモートでもコネクションは繋がってテーブル名は見える。 が、テーブルを開こうとするとエラー65535がでて繋がらない。
- 238 名前:デフォルトの名無しさん [2008/12/08(月) 17:23:25 ]
- メモ1に
0 0 0 0 1 1 0 0 1 1 ・ ・ ・ 1 1 0 0 0 とこのような感じで0と1が何千行と出されているのですがメモの上から順番にforで回して 1が出た場合その行数とそこから1がどれだけ続いたかカウントしていくプログラムを作成したいのですが どういったようにつくっていけばよいのでしょうか?
- 239 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 17:26:46 ]
- 普通に作れば良いと思うのだが、
先ず何が問題? ・C++文法 ・ファイル操作 ・ロジックの書き方
- 240 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 17:34:38 ]
- >>238
それってMemoでなくても配列の中に1がいくつ続いているかを 数えるのと同じ問題だよね
- 241 名前:デフォルトの名無しさん [2008/12/08(月) 18:05:48 ]
- >>239-240
お前等が馬鹿すぎてワロタ 知らないならレスするなよクズ共 >>238は普通にTMemoでどうやって書くかを聞いてんだろw Memo->Lines->Count Memo->Lines->Strings[i]
- 242 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 18:10:12 ]
- >>241
??
- 243 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 18:12:35 ]
- ここはクズのすくつでつねw
- 244 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 18:18:49 ]
- クズって言う奴はクズじゃないんだよ
- 245 名前:デフォルトの名無しさん [2008/12/08(月) 22:00:28 ]
- >>238 は
何がわからないのかを書いていない。 基本的に質問の仕方を知らない。 きっと何がわからないのかさえわからないのだろう。 そんな人は、たぶん論理的に組み上げていく プログラミングということはムリなのではないかと思う。 丸投げで全部教えてもらいたかったら C/C++の宿題を片付けます 119代目 pc11.2ch.net/test/read.cgi/tech/1228313292/ こっちで聞くべき
- 246 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:29:15 ]
- >>245
答え方がわからないならレスしないで下さい。ウザイだけです。
- 247 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 11:07:58 ]
- >>246
おいばかやめろ Win32APIスレから出てこないでください
- 248 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 15:57:06 ]
- ここにまで屑が侵食してきたか・・・
- 249 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 23:48:23 ]
- >>238
今C++Builder動く環境にないので疑似コードで。 変数start_posに-1を代入。(-1は「カウントしてない」というマーキング) 変数iを使って、メモ1の最初から最後までループを回す。{ start_posの値が-1で、{ メモ1の行iの内容が"1"なら、{ start_posにiの値を代入。 } } そうじゃなくて、{ メモ1の行iの内容が"0"なら、{ start_posの値が"1"の開始位置を指しているので、これを表示。 そして(i-start_pos)の計算結果が"1"の続いた個数なので、これも表示。 次のカウントのために、start_posに-1を代入する。 } } } 連続したデータを処理するときはいろんなやり方があるけど、 ・データの変わり目に注目する。("1"の始まりと、"1"の終わり="0"の始まり) ・変わり目でプログラムで行う処理を切り替える。(カウント中と、結果表示&カウント終了) とするのが一つの方法。
- 250 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 08:53:26 ]
- 日本語プログラミングですねわかります
- 251 名前:デフォルトの名無しさん [2008/12/15(月) 00:47:49 ]
- アカデミック版ってインストール時になんか問題ある?
- 252 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 00:51:00 ]
- インスコ時はないんじゃない?
ちゃんとした店なら買う時に学生証見せてなんか書かなきゃいけないと思うけど
- 253 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 14:15:38 ]
- 昔の学割版には、作ったプログラムは有償無償関係なく公開禁止っていうキツいルールがあったけど
あれ今もあるのかな
- 254 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 17:20:08 ]
- Delphi.Personalityってなんですか?
dclusr.dpkを読み込もうとすると、これがないって えらーになるんですが、 Delphiをインストールしないとダメですか?
- 255 名前:デフォルトの名無しさん mailto:sage [2008/12/15(月) 17:22:20 ]
- どれ?
- 256 名前:デフォルトの名無しさん [2008/12/18(木) 14:45:24 ]
- Panelとかコントロールの標準カーソルを指定カーソルファイル(*.cur)に変更する方法を教えてください
- 257 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 14:51:33 ]
- >>256
TScreen::Cursors
- 258 名前:デフォルトの名無しさん [2008/12/18(木) 15:01:00 ]
- >>257
そこにLoadCursorでぶち込むんですよね? それってリソースに予めないとダメですよね?
- 259 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:07:37 ]
- LoadCursorFromFileというAPIがあってですね‥‥
- 260 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:09:12 ]
- 259補足。
ただし、現在はLoadCursorやLoadCursorFromFileは後方互換性のためのAPIで、LoadImageが推奨されてる。
- 261 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:10:58 ]
- >>259
そんなのがあったんですかあああああああああああああああ!! ああ、おかげで思った通りのアレができますた! ありがとうございます。
- 262 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:14:15 ]
- >>260
補足までありがとう。 LoadImageもぐぐってみます。
- 263 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 22:03:33 ]
- BCB6から2009への乗り換えがスゲー苦労する
何か良い方法ないですか?
- 264 名前:デフォルトの名無しさん [2008/12/19(金) 23:51:11 ]
- VC++よりBCBを使うメリットってなんですか?
逆なら枚挙に暇が無いが・・・
- 265 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 00:08:04 ]
- >264
RADなところかな。
- 266 名前:デフォルトの名無しさん [2008/12/20(土) 02:09:12 ]
- lupus.is.kochi-u.ac.jp/~shiota/graphprog/sj/graphprog.html
ここにあるソースをコンパイルしようとしたのですが、 上手くいかないので助言お願いします。 コンパイルしたいのは下の3つです。 graph.h planar.h planarq.c コンパイルの環境はBCC55でCPADからビルドしてます。 ソースに問題があるのか、 環境が悪いのかだけでも分かれば教えてください。
- 267 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 02:16:36 ]
- こっちへどうぞ
ttp://pc11.2ch.net/test/read.cgi/tech/1135127048/ でも何がどういう風にうまくいかないのかをきちんと書かないと誰も答えてくれないと思うが。
- 268 名前:デフォルトの名無しさん [2008/12/20(土) 14:12:37 ]
- VC++MFCでちょっと凝ったUIを作成しようとすると
地獄のようにコードを記述する必要がある。 Builderなら部品をちょこちょこと置いて コードをちょこっと記述すればエエ。 工数が1/10くらいになるわ。
- 269 名前:デフォルトの名無しさん [2008/12/22(月) 17:23:26 ]
- >263
BCB6から2007なら簡単です。 2007で「BCB6のプロジェクトファイル(*.bpr)」を読み込んで 2007のプロジェクトファイル(*.cbproj)に書き出して、メイクするだけでOKである。 俺も2009のユニコード関係の処理で困っている。
- 270 名前:デフォルトの名無しさん [2008/12/23(火) 17:02:36 ]
- どうして、2009で「ユニコードライブラリを使う」をVSのように、
プロジェクト・オプションにしなかったんだろう。
- 271 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 22:02:52 ]
- >>263
自分が苦労したのは、AnsiString::c_strをAnsiString::t_strにしたりとか、VCL関数に渡す文字列リテラルをワイド文字列にしたくらいかな。 この辺は、Rubyでスクリプトを書いて何とかした。 TRegIniFileやTIniFileがほとんどだったから、ReadStringとかが見つかったらワイド文字列に変換するって感じ。 >>270 多分、両方メンテしなければならないからかな。 プロジェクトオプションで分けて欲しかったのは同意。
- 272 名前:デフォルトの名無しさん [2008/12/25(木) 13:55:44 ]
- PanelのCaptionに書いてる文字がパネルに収まってるかどうかを判断する方法を教えてください
- 273 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 16:12:29 ]
- >>272
Panelのサイズを調べて、Bevelとかの幅をそこから引いて、実際の表示領域のサイズを出す PanelのFontでCaptionに設定してある文字列のサイズを調べる 両者を比べる
- 274 名前:デフォルトの名無しさん [2008/12/25(木) 16:21:11 ]
- >>273
文字列のサイズはどうやって調べればいいんですか?
- 275 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 16:24:17 ]
- Win32APIで、指定文字を書いた場合のRectをとれたはずだが?
- 276 名前:デフォルトの名無しさん [2008/12/25(木) 16:26:16 ]
- >>275
知らないならレスしないで下さい。ウザイだけです。
- 277 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 16:29:10 ]
- >>276
正解をレスしようと思ったけどやめたw ヒント:Win32APIの文字列描画系APIをパラメータを含めて片っ端から調べろ。
- 278 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 16:39:08 ]
- >知らないならレスしないで下さい。ウザイだけです。
あれれ? なんだただのでじゃヴか
- 279 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 17:12:10 ]
- >知らないならレスしないで下さい。ウザイだけです。
これって貼り付いてるアンチだとオモ。 質問書いたらこれ書かれたことある。 アンチは加齢にスルーw
- 280 名前:273 mailto:sage [2008/12/25(木) 17:28:32 ]
- >>274
TCanvasに、自分(TCanvas)に設定されているTFontを使って、指定した 文字列を描画する際のサイズを調べるメソッドがある(と思った) >>279 というか、そのコピペはプログラミング系のスレとかでよく見る アンチ以前の、単なる茶々入れも多いよ。カレーにするーには同意
- 281 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 17:33:32 ]
- >>280
あった。 TextExtentが領域、TextHeightが高さ、TextWidthが幅を返すね。
- 282 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 18:15:13 ]
- そういや、なんでVCLリファレンスってTRectとTPointがRECT、POINTの派生ってこと書かれてないんだろ。
Types.hppだと struct TRect : public RECT ってなってるし、派生って事知らないといろいろ面倒だと思うんだが‥‥
- 283 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:23:08 ]
- >>279
それはWinAPIスレで流行ってますよ 是非いらっしゃってください お待ちしております
- 284 名前:デフォルトの名無しさん [2008/12/30(火) 17:07:05 ]
- double A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15に値が入っており
一つのMemoに全てを書き出していきたいのですが c言語と同じく printf("%d,%d,%d,%d,%d\n",A1,A2,A3,A4,A5); printf("%d,%d,%d,%d,%d\n",B1,B2,B3,B4,B5); printf("%d,%d,%d,%d,%d\n",C1,C2,C3,C4,C5); このような感じで書き出してCSV形式に3行5列の形に一つのmemoに書き出す方法はないでしょうか? 使用しているのはc++builder5です。 よろしくお願いします。
- 285 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 17:28:00 ]
- AnsiString().sprintf() って使えるはずだろ
- 286 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 18:13:30 ]
- わかりにくいかな
Memo1->Lines->Add(AnsiString().sprintf("%d,%d,%d,%d,%d\n",A1,A2,A3,A4,A5)); のように書ける
- 287 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 18:57:46 ]
- doubleなのに%d指定なのは構わないのかな。まあいいけど
でも”c言語と同じくmemoに書き出す”というのがイミフメ あとC言語系のプログラマーなら、アルファベットの大文字小文字はしっかり使い分ける 癖は付けた方がいいとおも
- 288 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 18:58:56 ]
- あごめんそうだな
コピペしただけだから"\n"まで入ってしまってたし "%f"な
- 289 名前:デフォルトの名無しさん [2008/12/30(火) 19:09:39 ]
- >>285>>286ありがとうございます。
方法を変えてやってみたらうまくCSV形式に表示はされたのですが、 引き算の値がエクセルで計算した結果と明らかに違う数値になってMemo5に表示されます。(-1.59444444444503E-02とか) Memo1,2,3,4には0.035083333などの少数の値が5行入っています。 AnsiString H1,H2,H3; for(int I = 0; I < 5; I++){ H1 = Memo1->Lines->Strings[I] - Memo4->Lines->Strings[I]; H2 = Memo2->Lines->Strings[I] - Memo4->Lines->Strings[I]; H3 = Memo3->Lines->Strings[I] - Memo4->Lines->Strings[I]; Memo5->Lines->Add(AnsiString().sprintf("%s,%s,%s",H1,H2,H3)); } どうすれば普通の数値になるかアドバイスお願いします。
- 290 名前:289 [2008/12/30(火) 21:22:12 ]
- 解決しました。
- 291 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 00:52:22 ]
- 馬鹿だろ
- 292 名前:デフォルトの名無しさん [2009/01/08(木) 17:26:06 ]
- 2007って64ビットXPに対応してる?
- 293 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 14:33:32 ]
- いまだにBCB6なんですが2009買うメリットありますか
既存コンポーネントも強化と書かれてますがどんなもんでしょう 2007くらいまでは案内の手紙も来てたのになー
- 294 名前:デフォルトの名無しさん [2009/01/10(土) 15:50:46 ]
- VC++2008expressでいい
- 295 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:08:24 ]
- BCBスレでVCを薦めるとな
- 296 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:40:55 ]
- struct T {
typedef void (T::*fn_t)(); void f(); int test(fn_t fn) { do { } while (0); // inline不可にしないと再現しない if (fn == &T::f) { return 1; } return 0; } }; BCB6だと(bcc5.6.4)このコードで落ちるんだが 新しいのだと大丈夫なのかな。 (ifの行を const fn_t cmp = &T::f; if (fn == cmp) { に変えれば落ちない) まあメンバ関数へのポインタを変数と直接比較なんて普通やらんが。 他にも落ちる時があるんだが こっちはどういう状態で再現するのかわからないし そもそもコンパイルエラー時だけなのでなんとかなるんだけど。
|

|