- 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/
- 152 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 13:30:27 ]
- データはコントロールじゃなくてコード内で保持した方がよくね?
std::vector<int> results; void __fastcall TForm1::Button1Click(TObject *Sender) { for(int i = 0; i < 60; i++) { int value = std::rand(); results.push_back(value); Memo1->Lines->Add(AnsiString(value)); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { double sum = 0.; for(std::vactor<int>::iterator it = results.begin(); it < results.end(); it++) sum += *it; Edit1->Text = AnsiString(sum / result.size()); }
- 153 名前:デフォルトの名無しさん [2008/10/23(木) 16:01:04 ]
- 》150》151》152 ありがとうございました!おかげさまでなんとかつくり終えることができました
- 154 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:03:10 ]
- そういう安価のつけかたもあんか
いや、あるんか
- 155 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:14:07 ]
- >>153, >>154
さすがにコンパイルエラーになったけど, 150 >> 151 >> 152; ならコンパイル通ったw
- 156 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:18:52 ]
- そう言えばC++Builderの<<、>>演算子のキモい使い方があったような
何に使うんだっけ? 確かビットを立てたり外したりするのに使った記憶が
- 157 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:27:23 ]
- 集合型のエミュレーションだね
Set型
- 158 名前:155 mailto:sage [2008/10/23(木) 16:29:41 ]
- >>156
ヲイヲイ,<< と >> はCの時代からビットシフト演算子だよ。C++になってから >> cout とか別の使い方で 定義されるようになった。>>155だってビットシフトの意味があるからコンパイルが通るだと思う。 150数ビットもシフトしてどうすんの?...なんだけどw
- 159 名前:155 mailto:sage [2008/10/23(木) 16:30:30 ]
- あぁ,スマソ。そっちの話か。
- 160 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:34:11 ]
- >>157
ああ、それだ。滅多に使わないから忘れかけてた。 Delphiならスマートに書けるのだがC++Builderならムリヤリ感が。 >>158 まあそういう事だ。
- 161 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:44:00 ]
- >>160
普段はオブジェクトインスペクタからいじっちゃうからね コードでいじる場合はどうしてもヘルプ頼りに
- 162 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:52:42 ]
- そういやオープン配列もだいぶ無茶してたよなあ
TVarRecとか カッコを二重に書かなければならないのを時々忘れる
- 163 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 16:54:48 ]
- オープン配列は大抵Formatに使うことが多いから、Format使わずにAnsiString::sprintf()でやってるな
- 164 名前:デフォルトの名無しさん [2008/10/29(水) 11:22:19 ]
- すみません教えてください。。。
C++BuilderでVBスクリプト?を使ってSNMPで値の送受信を行いたいのですが VBのソースは以下の通りです Dim objSNMP Set objSNMP = CreateObject("OlePrn.OleSNMP") objSNMP.Open "192.168.0.40", "public", 2, 1000 Dim myObjectValue ObjectValue = objSNMP.Get(".1.3.6.1.2.1.1.4.0") WScript.Echo ObjectValue objSNMP.Set ".1.3.6.1.2.1.1.4.0", CStr("e-mail:xxx@xxx.xxx tel:xxx-xxxx-xxxx") Dim myChangedObjectValue myChangedObjectValue = objSNMP.Get(".1.3.6.1.2.1.1.4.0") objSNMP.Close() これをC++Builderではどのような記述になるのでしょうか? CreateObjectはたぶんこんな感じになると思うのですが この続きの記述を教えてください。。 Variant cn = Variant::CreateObject("OlePrn.OleSNMP");
- 165 名前:デフォルトの名無しさん [2008/10/30(木) 16:49:46 ]
- ブタ共さっさと教えてください
- 166 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 16:53:58 ]
- Indyでやるだろ、jk。
- 167 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 16:58:20 ]
- 最近の子はマニュアル読んでとりあえずできるかテストしてみようって事しないんだな
- 168 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 17:02:53 ]
- Indyならフォームにペタっと貼るだけ。
- 169 名前:デフォルトの名無しさん [2008/10/30(木) 18:41:08 ]
- 知らないならレスしないで下さいよ。ウザくてかなわん
- 170 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 19:02:18 ]
- その程度ができないのになんでプログラムなんて書いてるの?バカなの?
- 171 名前:デフォルトの名無しさん [2008/10/31(金) 15:32:06 ]
- アイコン化されたフォームを元に戻す方法を教えてブタ共よ
- 172 名前:デフォルトの名無しさん [2008/10/31(金) 15:37:40 ]
- Application->Restoreでできたわ
ほんとお前らって何の役にも立たないブタだよな・・・
- 173 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 16:27:08 ]
- 役に立たないブタはageます
- 174 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 00:31:47 ]
- 自力でできたということは、自力でやらせようとした人間達の狙いは大成功したということで、
役に立たないどころかすべてが計算通りに進んだということですw
- 175 名前:デフォルトの名無しさん [2008/11/03(月) 20:06:59 ]
- csv方式で
656,000,1123,5454 756,000,5454,3455 545,001,6565,4554 6565 545,002,5455,7775 → 5455 223,006,5656,9898 5656 054,004,5554,5554 5554 ・ ・ ・ ・ ・ ・ 843,022,6643,4443 6643 565,011,3434,4455 3434 656,000,3343,2432 789,000,5545,6665 こんな感じで配列が並んでいるのですが各数列の2番目数字が000以外のときに 3番目の数字だけを配列として順にMemo1にだしたいのですがどのようにすればよいでしょうか
- 176 名前:デフォルトの名無しさん [2008/11/03(月) 20:10:04 ]
- ずれていたので再投稿します
csv方式で 656,000,1123,5454 756,000,5454,3455 545,001,6565,4554 6565 545,002,5455,7775 → 5455 223,006,5656,9898 5656 054,004,5554,5554 5554 ・ ・ ・ ・ ・ ・ 843,022,6643,4443 6643 565,011,3434,4455 3434 656,000,3343,2432 789,000,5545,6665 こんな感じで配列が並んでいるのですが各数列の2番目数字が000以外のときに 3番目の数字だけを配列として順にMemo1にだしたいのですがどのようにすればよいでしょうか
- 177 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 20:28:15 ]
- void __fastcall TForm1::Button1Click(TObject *Sender)
{ std::ifstream ifs("File1.txt"); std::string str; AnsiString as; if (ifs) { TStringList* Data = new TStringList; Data->Delimiter = ','; while (std::getline(ifs, str)) { Data->DelimitedText = str.c_str(); if (Data->Strings[2] != "000") Memo1->Lines->Add(Data->Strings[3]); } delete Data; }
- 178 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 20:30:24 ]
- ごめんこっちで
void __fastcall TForm1::Button1Click(TObject *Sender) { std::ifstream ifs("File1.txt"); std::string str; AnsiString as; if (ifs) { TStringList* Data = new TStringList; Data->Delimiter = ','; while (std::getline(ifs, str)) { Data->DelimitedText = str.c_str(); if (Data->Strings[1] != "000") Memo1->Lines->Add(Data->Strings[2]); } delete Data; } }
- 179 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 20:44:28 ]
- AnsiString as;使ってなくね
いらないけどさ
- 180 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 20:46:46 ]
- >>179
ごめんそうです 削ってくらはい
- 181 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 20:56:09 ]
- >>177>>178
ありがとうございます! csv形式のテキストはオープンダイアログから読み込みその中から抽出することはできるのでしょうか また先ほどの文で DelimiterとDelimitedTextはTStringListのメンバーではないと言われるのですが 何か宣言文などが必要なのでしょうか。 まだまだ初心者でして;いろいろご迷惑かけてすいません。
- 182 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:17:26 ]
- >>181
>csv形式のテキストはオープンダイアログから読み込みその中から抽出することはできるのでしょうか できます。 TOpenDialog->Filesに入ります。 >DelimiterとDelimitedTextはTStringListのメンバーではないと言われるのですが >何か宣言文などが必要なのでしょうか。 えっもしかしてC++Builderのバージョンは5以前ですか?
- 183 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 23:14:27 ]
- しばらく待ってみましたが返事がないのでDelimiterを使わないバージョンを
書いてみました。 コンマの数や桁数などは決め打ちになってますので必要ならば適宜変更して ください。 void __fastcall TForm1::Button2Click(TObject *Sender) { OpenDialog1->Execute(); std::ifstream ifs(OpenDialog1->FileName.c_str()); std::string str; if (ifs) while (std::getline(ifs, str)) { std::string::size_type pos = str.find(',') + 1; if (str.substr(pos, 3) != "000") { pos = str.find(',', pos) + 1; Memo1->Lines->Add(str.substr(pos, 4).c_str()); } } }
- 184 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 19:29:47 ]
- >>183
返事が遅れてすいません。ありがとうございました!大変感謝しています こちらのやり方で動きました。c++builderはver5を使っています あと桁数をコンマの数をかえるとのことなのですが、 桁数を変える場合は5桁表示するならpos 5 にすればよいことはいじっていてわかったのですが コンマの位置を変える場合どの部分を変えていけばよいのでしょうか・・・ よろしければアドバイスお願いします>< 実際の応用テキストではさらに数字が多く6番目数字(コンマ5つ目)が00:00:00(桁数は変化しない)以外の時に 11番目(コンマ10個目)の数字を表示するようにしたいのです。実際に表示したい数字も小数点を含む5.55(桁数は変化しない)などです。
- 185 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 20:07:38 ]
- >>184
かなり汚いですが一応動くので載せておきます。 コンマの位置を変えるにはfor文の数字をいじればいいですが、 できればコンマn番目から次のコンマもしくは行末までの文字列を 取り出す関数を別に作ってそれを呼び出した方が綺麗に書けると 思います。 void __fastcall TForm1::Button4Click(TObject *Sender) { OpenDialog1->Execute(); std::ifstream ifs(OpenDialog1->FileName.c_str()); std::string str; if (ifs) while (std::getline(ifs, str)) { std::string::size_type pos = 0; for (int i = 0; i < 5; i++) { if((pos = str.find(',', pos)) == std::string::npos) goto next; pos++; } 次に続く
- 186 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 20:08:38 ]
- std::string::size_type pos2 = str.find(',', pos) + 1;
if (str.substr(pos, pos2 - pos - 1) != "00:00:00") { pos = pos2; for (int i = 0; i < 3; i++) { if((pos = str.find(',', pos)) == std::string::npos) goto next; pos++; } pos2 = str.find(',', pos); if (pos2 == std::string::npos) pos2 = pos; else pos2++; Memo1->Lines->Add(str.substr(pos2, 4).c_str()); } next:; } } 要するにTStrings::operator[] の機能を自前で書けばすっきりするはずです。
- 187 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 20:21:50 ]
- public:
__property AnsiString Cells [int rows] [int cols]= {read=GetCell, write=SetCell}; こんなメンバ持たせたCSVクラス作って使ってるなぁ
- 188 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 20:29:44 ]
- >>187
BCBはDelphiとのインターフェースが割合簡単に取れるから、 Delphiで書かれたcsvパッケージでも入れたら楽でしょうね。
- 189 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 20:31:03 ]
- >>185>>186
ありがとうございます。重ね重ねすいません;; if (str.substr(pos, pos2 - pos - 1) != "00:00:00") の部分がよくわからなくて 6番目の数字が00:00:00場合読み込まないようにするのではなく一つ増えて00:00:00:00の場合に読み込まないようにするには どのように変更したらいいのでしょうか・・ 実際11番目の数字(6.44や9.88など桁数は変らず)を表示させるときは6番目の数字が00:00:00:00以外のとき(00:00:00:45や00:00:05:35など)でこちらも桁数については変りません。
- 190 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 20:33:23 ]
- >>189
今回のプログラムは00:00:00の桁数については決め打ちしていませんので "00:00:00"を"00:00:00:00"に変更すればいいです。
- 191 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 20:56:52 ]
- >>190
わざわざありがとうございます;;どうやら勘違いしていたようでした。 実際の00:00:00:00のテキストのほうではコンマごとにわかりやすいように半角スペースがついており 半角スペース5列数字、半角スペース1列数字、半角スペース1列数字、半角スペース3列数字・・・ などのように書かれており上記のプログラムで半角スペースも認識されるため正しい数字が出せていないようでした。 (半角スペースを全部埋めていった場合正しい数字がでました。) 半角スペースを含んだ上で数値を出したいのですがこういう場合どのようにすればいいのでしょうか。
- 192 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:03:36 ]
- >>191
これ以上後出し条件はやめてください。 どこかのロダにそのテキストをうpしていただけませんか。
- 193 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:06:59 ]
- つーかもうC++Builderの話題じゃなくなってるし
TStringsListのバージョンは古くて使えないしだから C++相談室にでも書いてみたら?
- 194 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:08:06 ]
- まぁ・・・ね
あなた専用のサポートスレではないんですよって感じですかね
- 195 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:13:55 ]
- 例えサポートスレだとしてもこんな感じで次々に条件を変えられたら
イラッと来ると思うけどね
- 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 ]
- インスコ時はないんじゃない?
ちゃんとした店なら買う時に学生証見せてなんか書かなきゃいけないと思うけど
|

|