[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/01 23:10 / Filesize : 254 KB / Number-of Response : 923
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれC++Builder(超初心者用)その3



1 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 03:39:51 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、 
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 
C++Builder使いが優しくコメントを返しますが、 
お礼はC++Builderの布教と初心者の救済をお願いします。 

Borland Home Page   www.borland.co.jp/ 

<過去スレ> 
くだすれC++Builder(超初心者用) 
pc8.2ch.net/test/read.cgi/tech/1117225464/l50

くだすれC++Builder(超初心者用)その2
pc10.2ch.net/test/read.cgi/tech/1144308804/l50

<兄弟スレ> 
くだすれDelphi(超初心者用)その39
pc10.2ch.net/test/read.cgi/tech/1169386914/l50


255 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 09:10:37 ]
BCB5の者です。
趣味でフリーソフトつくっていますが、
オプションフォームをnewで呼び出すか
起動と同時にロードしておくか
どちらがいいのか迷っています。
ソフト自体の大きさは単体のみの動作で
1MB程度です。

一般配布を意識した場合、
オプションフォーオムはバックグラウンドに
待機させておくものでしょうか?
それとも呼び出し毎にロードするものでしょうか?
なお、常駐ソフトです。

オプションはダイアログ形式で
部品の数は20個ほどです。

256 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 09:37:11 ]
>オプションはダイアログ形式で 部品の数は20個ほどです。

今のPC/dozなら、リソース的には無問題だが、

>起動と同時にロードしておくか

コード的に素直じゃない。

さらに、オプション内容をフォームに保持させたりすると、プログラムが崩れてきたり。

フォームを開く時点でnewしてグローバルはなるべく無い方が良い。
どうしても消せないグローバルはあると思うが、グローバルフォームっていうのは...

257 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 10:31:17 ]
よくわかりました。
一般作法ってのは聞かないと
わからないものですから。
助かりました。

258 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 10:42:24 ]
Win9xを考慮しなくて良いなら別に動的に作らんでも良いんじゃないの〜

259 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 10:59:08 ]
別に全部グローバルで良いんじゃないの〜
ってこと?

260 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 08:03:49 ]
>>258
VB or JAVA プログラマみたいな発想でつな

261 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 10:56:40 ]
BuilderはVB感覚で使ってるからね〜

262 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 12:42:39 ]
VB->BCBはまったく違和感がない。
最近ここに張り付いたBCB5厨だけど、
ヴァーアップを考えています。
ターボCとBCB2007のどちらかとおもっています。
ベンダーのページみたら
ターボCでもいけそうな・・・
どうなんだろ。
用途は、ちょっとしたアプリ程度で、通信なんか使わない。

263 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 13:17:22 ]
>用途は、ちょっとしたアプリ程度で、通信なんか使わない。

今の時代超便利だお。

だってIndyをポトペタしただけで、データ渡しの手段が増えるんだから。



264 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:20:09 ]
へぇ。
ターボCでもOK?ですか

265 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:47:34 ]
って、言ったけど・・・。
ターボCの情報はスレチガイでつか?

266 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:47:51 ]
YES

267 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 21:15:22 ]
んなこたーない

TurboC++Expはコンポーネントの追加ができないからプロジェクトにIndyのユニット追加してソース上で自分で宣言/newしないとダメ。
Pro買うんなら2007かっとけ(TurboC++ = C++Builder2006 = C++Builder10)

268 名前:デフォルトの名無しさん [2007/11/16(金) 08:33:42 ]
SQLでLIKE %あ%としたときに
パソコンによって
あ ア ア が対象になるパソコンと
あ しか対象にならないパソコンがありますが
なにか環境が必要になってくるのでしょうか?
いろいろ調べてますが決め手がわかりません
よろしくお願いします。

269 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 11:12:43 ]
>あ ア ア が対象になるパソコンと
>あ しか対象にならないパソコンがありますが
んなこたーない
LIKE '%あ%' クォートつけるべし
スレ違いだ

270 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:20:19 ]
static_castって、何をするものなのですか?普通の型変換と何が違うのでしょうか。
コードを書いていて、うまくいくのだけど、何をしているのか分からないと気持ち悪いし、問題もあるだろうし。


271 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 10:19:20 ]
ttp://ray.sakura.ne.jp/tips/cast.html

272 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 22:27:43 ]
>>271
トン。読んでみます。

273 名前:デフォルトの名無しさん [2007/11/27(火) 10:42:05 ]
質問です。
TStringList* lst;
lstに文字列をセットして
char* p=lst->Text.c_str();
として文字列先頭アドレスを求めて処理をしている部分があったのですが
ある特定文字列のときに、pがNULLになります。
でも、
AnsiString str=lst->Text;
char* p=str.c_str();
とすると正常に文字列先頭がセットされます。
この二つで違いが出る理由は何故なのでしょうか。




274 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 10:51:04 ]
物が違うから。

275 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 11:12:57 ]
pがNULLってのは勘違いのはず。ただ無効な領域を指しているのでアクセスした時の動作は不定。

p = lst->Text.c_str()の実際の動作は、p = lst->GetTextStr().c_str()なので、
pはGetTextStrが返す一時オブジェクトが持つバッファを指していることになる。
上の式の評価後に一時オブジェクトは破棄されてpの参照先も無効になる。

276 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 15:04:54 ]
ひさびさにくだスレが正常に機能してる例をみた

277 名前:273 mailto:sage [2007/11/27(火) 20:10:11 ]
>>275
超ありがとうございます。
とてもよくわかりました。
ちゃんと表示されていないのは大きな文字列のときでした。
小さな文字列のときは、一時的なバッファがたまたま破壊されなかったので
正常に動いているように見えたのですね。


278 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 23:56:19 ]
質問です。
下記 __finallyの中のA位置で、返そうとしている戻り値を知りたいのですが
result変数を作る以外の方法はないでしょうか?

int hoge() {
 try{
  if(...) return 1;
  if(...) return 2;
  if(...) return 3;
  if(...) return 4;
  throw;
 }__fianlly{
   (A)
 }
}

279 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 08:05:12 ]
fianlly

280 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 08:47:01 ]
無理でしょ

281 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 10:21:32 ]
むしろresult作らない理由がないとおもう。
コスト云々なら例外処理やめてgotoで(A)に飛ばした方がはるかにコスト低いし。

282 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 10:28:46 ]
どちらかというと、finallyはDelphi用であって、C++には元々無いもの。
Delphiにfinallyが必須なのはFreeのためであり、C++ではローカルオブジェクトの使用が推奨されている。

try finallyとtry except(←こっちはC++標準)のネストやその中でのthrow や return は言語規定されてないんじゃないかと思うのでやヴぁ目。

逆にローカル変数やローカルオブジェクトは推奨なので、
>result変数を作る以外の方法はないでしょうか?
という考えがワケワカメ。

283 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 10:34:18 ]
C++でもWindowsAPIのハンドル閉じたりするのにfinallyは有用よ。
最近のC++処理系は大抵__finally使えるし。



284 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 10:37:50 ]
finallyが有用なのと各種処理系で実装されているのは認めますが(実際自分も使ってる)、
finallyと例外catch(上では間違えてexceptって書いちゃった)系や、returnを組み合わせちゃダメ。

何でかっていうと、tryを2つ組み合わせて、その中でreturnすると、一番外のfinallyを通過しない。
ソースコードを読む上ではfinallyは必ず通るって頭で読むから、バグの元になるだけだお。

285 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 11:50:46 ]
むしろreturnできる処理でどう__finally使うのか

286 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 11:59:47 ]
その通り。

・finallyするなら複数箇所でreturnするな
・複数箇所でreturnするならfinallyするな


あと、プログラミングテクニック的には、
関数やメソッドから抜ける箇所は1箇所にするとコーディングバグを防げる。
つまり、複数箇所returnはやめるべき。

(これも適材適所で、使い方によっては便利なときもあるけどね)

287 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 12:23:07 ]
>>285
Delphi で Exit の後に finally が実行されるのを利用するのと同じで

ローカル変数のデストラクタは return の後に実行されるのだろ?

288 名前:209 mailto:sage [2007/11/28(水) 14:22:59 ]
TListBoxのn行目を「マウスでクリックした状態」にするにはどうすればいいのでしょうか?

289 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 16:12:00 ]
SelectedIndexプロパティ とかなかったか?

290 名前:288 mailto:sage [2007/11/28(水) 17:53:35 ]
Selected[n]でいいようです。ありがとうございました。

291 名前:278 mailto:sage [2007/11/28(水) 20:50:41 ]
>>280-287
有難う御座いました。
各種参考にさせていただきます。

292 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 22:09:08 ]
GetWindowLong(hwnd, nIndex)を使って、
すでにわかっている他アプリの子ウインドウ(ツールバー)の
位置変更およびサイズ変更をフックしたいと考えています。
フック自体良くわかっていません。

別に横取りして変更を加えるつもりはありません。スルーします。
単にバーの座標と幅・高さがユーザによって変更されたことの
通知がほしいだけです。
WM_MOVE
WM_SIZE
をつかって云々と他板での情報ですが、
WinAPIプログラマーリファレンスを見ても、

GetWindowLongとWM_MOVE・WM_SIZEのつながりが見えてきません。

再度申しますが、ユーザの変更知りたいだけで、座標データ等は取得済みです。
環境WinXP BCB5

293 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 22:17:45 ]
GetWindowLong(HWND, GWL_WNDPROC)は対象が自プロセスじゃないと使えない。
SetWindowsHookEx使ってフックDLLからフックしないと無理。



294 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 22:35:17 ]
なるほど。ますますわからん。
bcbのコード少ないからなぁ。
タイマーなんか使って
こちらからアプローチすれば、座標データが
わかっているんで、比較するだけで変更こそは
感知できるんですが、
ユーザーの変更を感知したいんですよね。
もう少し精進してみます。

295 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 22:45:19 ]
BCBじゃなくてWin32APIの問題

296 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 20:00:56 ]
292です。
マルチいやだから書くけど、
Win32APIスレに転載して
もまれて来ます。
とりあえず、一日放置してから
明日くらいにカキコしてみます。

297 名前:デフォルトの名無しさん [2007/12/08(土) 10:37:10 ]
WinExecを使って自アプリAから他のアプリBを起動しています
アプリB処理完了後に自動で終了するものなのですが
アプリAからアプリBが終了したのを調べる方法はありませんか?
Aからデータを渡しながらBを順次稼動させたいのですが

298 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 11:06:25 ]
CreateProcessをどうして使わないの?
どうしてもWinExecって事だと実行ファイルを開いてみてロックされてるかどうか見るか
パソコン上のプロセスを列挙させるかだけど、他に実行されてると厄介だし
手間はズーっと大変だろうに

299 名前:297 mailto:sage [2007/12/08(土) 12:50:35 ]
単純に知りませんでした
CreateProcessなら簡単にできるのかな
少し調べてみます

300 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 12:54:23 ]
CreateProcess()
WaitForSingleObject()
CloseHandle()
このあたりでしょうかね?


301 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 18:53:47 ]
プロジェクト開こうとしたら、プロジェクトルールがみつかりません
って出るんだけど、これ何が原因ですかね?

302 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 14:04:15 ]
TForm上に配置した複数のTCheckBox同士をDnDして位置を変えたいのですが
Checked値を変える為にクリックしただけでOnDragOverイベントに飛んでしまいます。
これらを切り分けるにはどうすればいいのでしょうか。

303 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 17:25:00 ]
TMemoryStream::LoadFromFile にて大きなファイルを読み込もうとすると
「メモリストリームの拡大中にメモリが足りなくなりました」と言われます
OSはXP、ファイルの具体的なサイズは1,382,526,976バイトです
確かにちょっと大きめのファイルですが何とか読み込みたいのですが
BCBでは読み込めないサイズなのでしょうか



304 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 18:52:11 ]
搭載メモリは1GBという落ちか


305 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 19:08:12 ]
ストリームなんだからファイルストリームでシークしてアクセスすればいいと思うんだけどな
どうしてわざわざメモリに読むのだろ?

306 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 19:20:11 ]
メモリに取り込みたいって、高速処理したい以外に理由はあるんかね?


307 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 20:03:55 ]
>>303の環境に十分な空き領域があっても、仮想メモリ空間内で"連続して"1.3GB分の空き領域がないと
メモリの確保には失敗する。どうしてもメモリに置きたいなら、小さいブロックに分けないと。

308 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 21:35:44 ]
私もオフセット指定でシークするのを薦めるな

309 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 08:56:45 ]
303です。
暗号化させるのにどかんと読んでどかんと処理させたかったのですが
僕のやり方は非常識だったんですね(苦笑)方針を変更してみます
ありがとうございました

310 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 09:41:41 ]
大きなファイルはメモリに読むだけでも処理時間がかかるし、その間操作出来ないから
ユーザにはストレスがかかるだろ?
それに仮想記憶の機構ってのはHDDのキャッシュの機構でもあるから、
ハードディスクをブロック的にアクセスするのもメモリに読むのもそうスピードは変わらない。

ブロック単位に読んで処理するのが一般的だし最速だと思うよ。
途中でユーザーはキャンセルも出来るしね。


311 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 10:58:30 ]
データベースをパソコンで動かすようになってから、巨大ファイルは
一度にメモリに読み込んで処理するような機会は無くなってきたと思う。
1レコードが固定長ならランダムアクセスが出来るし、必要なインデックス
番号でシークすればいいのだから。

312 名前:デフォルトの名無しさん [2007/12/14(金) 20:32:36 ]
ボタンを押したら、あらかじめbuilderで作っておいたexeファイルを実行(開く)にはどうすれば良いですか?

313 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 20:45:49 ]
他のプロセスとして実行させるなら
1, ShellExecute CreateProcess WinExec の windowsAPI

2,execl / execv とかのprocess.h

どっちか



314 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 14:14:59 ]
>>311
固定長じゃなくてもインデックス作っとけばランダムアクセスできるじゃん

315 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 14:22:03 ]
可変長だと読み込みはよくても、書き込み時にサイズ変わると大変だな

316 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 12:05:19 ]
ちょっと良くわからないなりに
以下のようなソースを
書きました。
ColorDialog1->Color=(TColor)iFontColor;
if(ColorDialog1->Execute()){
iFontColor=ColorToRGB(ColorDialog1->Color);
}

#255255255 or #FFFFFF
のような値を得たいのですが、
どうしたら得られるでしょうか?

317 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 13:14:02 ]
このコードならiFontColor にその形式で入ってる筈だけど?


318 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 13:39:20 ]
とおもうんですが、
B R Gそれぞれ0-255の値がほしいのです。
逆に言うと、#FFFFFFから
ColorDialog1->Color=hoge(FFFFFF);

ColorDialog1->Color=hoge(FF,FF,FF);

ColorDialog1->Color=hoge(255,255,255);
のように扱いたいのです。
iFontColorの値がいまいち理解できていないと
おもてまする。

今はカラーダイアログを使いとそれなりに動くので、
いいのですが、カラーピッカーからの数字データを
手入力でカラーダイアログもしくは、フォントカラーに
反映させたいのです。
iFontColorを16進法に酢りゃいいのでしょうか?
未熟で申し訳ないです。

319 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 13:49:21 ]
char 配列とのunion かchar ポインタでアクセスするか

iFontColor & 0xff;
(iFontColor>>8) & 0xff;
(iFontColor>>16) & 0xff;

とやるか

320 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 14:32:22 ]
やっぱり深みにはまってしまった模様。
即レスいただけると大変ありがたいのですが、
内容が理解不能ならあせりますね。
iFontColorの構造をもう少し調べてみます。

321 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 15:04:50 ]
iFontColor=ColorToRGB(ColorDialog1->Color)
でiFontColorの値が
14811135で
フォトショップで得た値
FFFBE7
相関関係が見えてきません。

322 名前:デフォルトの名無しさん [2007/12/28(金) 15:16:12 ]
ただのビット演算じゃないの?

323 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 15:23:36 ]
14811145は16進でE1FFFF。
TColorはBGRの順だから、RGBだとRとB入れ替えてFFFFE1。



324 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 15:43:26 ]
理解できました。
14811145
ではなく
14811135
でした。
ありがとうございました。


325 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 16:42:31 ]
ちなみにTColor = COLORREFだからGetRValue()マクロとか使えば簡単に色成分取り出せる

326 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 20:18:30 ]
厳密にはTColor = COLORREFではない。


327 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 11:46:28 ]
$00FFFFFF
右6桁がBGRだべ

328 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 13:09:30 ]
VCL&C++ってキモイな
ソース見るたびにそう思う

329 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 14:15:13 ]
そうか。

330 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 14:19:13 ]
VCL&Delphiは潔い
ソース見るたびにそう思う

331 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 23:51:07 ]
できました。
ありがとうございました。
くそソース晒して手直ししてもらえるものでしょうか?
VB仕込みのソースが悲しくて

332 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:14:23 ]
どんどん晒せ

333 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:11:37 ]
でも、かなり痛いソースですよ
痛いなりに面倒みてもらえたらいいんですが
プロのソースみてみたいし。
擦違いのような



334 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:47:06 ]
別にスレ違いとは思わないけど2chでやるのは無理がないか

335 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 11:33:11 ]
int __fastcall CConv::fcRGBToInt(AnsiString strRGB){
// AnsiString sC="FFFFE1"; //FFFFE1(Winツールチップカラー)
char bf[32];
strcpy(bf,strRGB.c_str());
//RGBからBGRに変換
AnsiString strBRG=
(AnsiString)bf[4]+(AnsiString)bf[5]+
(AnsiString)bf[0]+(AnsiString)bf[1]+
(AnsiString)bf[2]+(AnsiString)bf[3];
return strtol(strBRG.c_str(), NULL, 16);//int型に変換

}
//---------------------------------------------------------------------------
AnsiString __fastcall CConv::fcIntToRGB(int intRGB){

//TColorからR G B 16進法へ変換

AnsiString str = IntToHex(intRGB,6);
char bf[32];
strcpy(bf,"");
char bfRGB[32];
strcpy(bfRGB,str.c_str());

if(str.Length()==1){
bf[0]='0';
bf[1]='0';
bf[2]='0';
bf[3]='0';
bf[4]='0';
bf[5]=bfRGB[0];
bf[6]='\0';


336 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 11:34:01 ]
}else if(str.Length()==2){
bf[0]='0';
bf[1]='0';
bf[2]='0';
bf[3]='0';
bf[4]=bfRGB[0];
bf[5]=bfRGB[1];
bf[6]='\0';
途中rk
}else if(str.Length()==5){
bf[0]='0';
bf[1]=bfRGB[0];
bf[2]=bfRGB[1];
bf[3]=bfRGB[2];
bf[4]=bfRGB[3];
bf[5]=bfRGB[4];
bf[6]='\0';
}else if(str.Length()==6){
bf[0]=bfRGB[0];
bf[1]=bfRGB[1];
bf[2]=bfRGB[2];
bf[3]=bfRGB[3];
bf[4]=bfRGB[4];
bf[5]=bfRGB[5];
bf[6]='\0';
}else{}

return (AnsiString)bf;

};


337 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 13:09:29 ]
int __fastcall CConv::fcRGBToInt(AnsiString strRGB)
{
int intRGB = strtol(strRGB.c_str(), NULL, 16);
return (intRGB >> 16 & 0x000000FF) | (intRGB & 0x0000FF00) | (intRGB << 16 & 0x00FF0000);
}

AnsiString __fastcall CConv::fcIntToRGB(int intRGB)
{
int intBGR = (intRGB >> 16 & 0x000000FF) | (intRGB & 0x0000FF00) | (intRGB << 16 & 0x00FF0000);
return IntToHex(intBGR, 6);
}

338 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 13:27:44 ]
スゲーコンパクトでシンプルだ
礼をもうします。

339 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 15:51:34 ]
BRGってのはミス?

340 名前:デフォルトの名無しさん [2007/12/31(月) 09:16:27 ]
LMD Toolって何ですか?
英語でよくわからないのですが、
日本語サイトないですかね?


341 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 04:46:46 ]
pc5.2ch.net/tech/kako/1061/10615/1061594556.html#R487
にある方法を使ってコンポーネントを置き換えた場合、オブジェクトインスペクタで指定したイベント対応コードが実行されません。
普通に配置したコンポーネント同様に、イベント対応のコードを実行させるにはどうしたらいいのでしょうか。
よろしくお願いします。

342 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 08:43:04 ]
>>341
homepage1.nifty.com/MADIA/delphi/delphi_bbs/200703/200703_07030070.html

343 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 14:33:37 ]
>>342
ありがとうございます。



344 名前:デフォルトの名無しさん [2008/01/02(水) 15:07:36 ]
C++Builder2007のエディタの支援機能が誤作動してるみたいで、
改行するたびに余分な}が勝手に入力されるんだけど、これって直らないの?

誤作動するのは次のコードの前後からみたいだが。

char c[2]="\"";





345 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 23:31:40 ]
QCには出てないね。登録を依頼してみたら?

346 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 16:33:14 ]
Turbo C++ を始めようと思ったのですが、
.Net frame work v1.1のインストールができません。
WindowsXP SP2で、Windows Installerサービスは起動してます。
何か気をつけなければならない要素ってありますか?

347 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:00:03 ]
>346
個別にMSのサイトからダウンロードしてインストールしてみたら?
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&DisplayLang=ja
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=a8f5654f-088e-40b2-bbdb-a83353618b38&DisplayLang=ja
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=04dbaf2e-61ed-43f4-8d2a-ccb2bab7b8eb&DisplayLang=ja

348 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:26:53 ]
>>347
おっ うまくいきました
ありがとうございました〜

349 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:45:55 ]
Windows Updateとかでセキュリティ関係の更新プログラムを適用するのを忘れないようにね、

350 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 16:13:08 ]
C++Builder起動直後のブラウザ画面で、
どのメニューをクリックしても反応しないのですがどうしたらなおりますか?
ブラウザは普段はIE6(sp1)+Sleipnirを使っています

351 名前:350 mailto:sage [2008/01/08(火) 20:50:37 ]
IEのインターネットオプションで、bds:/を信頼済みサイトに登録してみましたが駄目でした
ここで不具合でた人いないのかなぁ・・・

メニューのヘルプ>ボーランドのホームページ
を選択すると、ブラウザでwww.borland.com/jp/が開き、
この画面では、普通にブラウジングできるので、
bds:/だから駄目なのかな、と思ったのですが・。・・

352 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:03:13 ]
バージョンくらい書けよ


353 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:35:01 ]
>>352
すいません忘れてました

Turbo C++
Borland(R) C++Builder(R) for Microsoft(R) WindowsTM Version 10.0.2288.42451
Update 2 Copyright (C) 2005 BorlandR Software Corporation. All Rights Reserved.

OS
Windows XP Home Edition
build 2600.xpsp_sp2_gdr.070227-2254 (Service Pack 2)

IE
Version 6.0.2900.2180.xpsp_sp2_gdr.070227-2264
暗号強度: 128 ビット
プロダクト ID:76492-OEM-0011903-00111
更新バージョン:; SP2; 3283;

となっています よろしくおねがいします



354 名前:デフォルトの名無しさん [2008/01/10(木) 03:09:25 ]
すいません
16進数が入ったBYTE型変数を10進数のINT型の値に変換するにはどうすればいいですか?

355 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 08:03:39 ]
「16進数が入ったBYTE型変数」
の意味が判らん。

もしかして単なるBYTE = unsigned char の配列か?
ASCIIで文字列が入ってるなら '$'を足して StrToInt とかだが
配列ならどっちが上位なのか判らんけど 256倍しながら加算すればいいだけ


「10進数のINT型の値」も意味が判らんが、後で10進数で表示したいって事なら、そんな情報は胸にしまっとけ
パック10進でって事なら、そう書け






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<254KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef