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
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進でって事なら、そう書け
356 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 21:20:38 ] Turbo C++ Builderで、XPスタイルのボタンって作れますか?
357 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:04:00 ] >>356 TXPManifestをパレットからフォームに適当に配置する
358 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:56:43 ] >>357 ありがとう もうCodeGearについていく
359 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 08:20:08 ] 俺も
360 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 13:36:25 ] C++Builder 2007ではその必要すらないのだが
361 名前:デフォルトの名無しさん [2008/01/16(水) 22:17:55 ] シリアルポートからのオン信号とオフ信号を受信してその間の時間を表示するだけのプログラムを 作りました、最大でも約5秒程度です、パソコンによっては遅くカウントされてしまいます。 いろいろなパソコンで試して見ましたが、パソコンのスピードやWIN2000 win xp とか関係なく 正しく計測されるパソコンもあります、何かパソコンの設定のような気もしますが どなたかわかりますか? c++builder5 pro で作ったプログラムです。
362 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 23:03:39 ] >>361 > シリアルポートからのオン信号とオフ信号を受信して 受信処理はどうなってるの?というかオン信号とオフ信号って? > その間の時間を どうやって取得してる? > 何かパソコンの設定のような気もしますが まず自分のコードを疑おう。 > どなたかわかりますか? エスパー求むってこと?
363 名前:デフォルトの名無しさん [2008/01/16(水) 23:28:12 ] >>362 説明不足でした。 特定コマンドをオン信号 オフ信号として判断してます。
364 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 23:41:13 ] このスレには超能力者は存在していない。 阿呆の見本なら居るようだが。
365 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 07:40:26 ] >>363 キミが困ってるのは時間表示の結果が思うようにならないって事なんだろ? 試しに複数の方法で計測してみたらどうだ? 1、VCL Now() 関数の差 windowsAPI 2 GetTickCount()の差 3 GetMessageTime() 4、timeGetTime() 5、QueryPerformanceCounter()/QueryPerformanceFrequency
366 名前:デフォルトの名無しさん [2008/01/17(木) 08:37:09 ] >>365 親切に対応して頂き有り難う御座います。 試してみます。
367 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 09:51:17 ] あとはシリアルポートの通信速度の設定とか
368 名前:デフォルトの名無しさん [2008/01/19(土) 18:42:14 ] C++Buider6を使ってます。 何ミリ秒後に処理を行うというプログラムを書きたいのですが、 時刻をミリ秒以下の単位で加算できるような関数はないでしょうか? 一応、単一スレッドで、複数の処理を実行しないといけないので、Sleep による停止は出来ません。 例えば、こんな感じで使いたい: time = getTime(); time1 += 3500; time2 += 4000; : for(;;){ now = getTime(); if( now >= time1 ){ doSometing(); time1 = now + 3500 } if( now >= time2 ){ doSometing(); time2 = now + 3500 } : }
369 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:54:10 ] CodeGear C++Builder2007の評価版を使っています。 BCB5で作ったソースを読み込み実行すると パラメータSenderは一度も使用されないと警告がでます。 気になります。 警告を外すのもなんですし。 警告が55もだされるのもいやなんですが。 みなさんはどんな感じなのでしょうか? void __fastcall TForm1::Button8Click(TObject *Sender) ちなみに呼び方はBCB7でOK?
370 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 20:43:28 ] C++Builder(BCB7ではなくC++Builder2007かBCB11だと思う)を持ってないんであてずっぽなんだけど、 void __fastcall TForm1::Button8Click(TObject *) {... とかパラメータを型だけにして仮引数名を書かないってのはだめですか?
371 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 20:51:06 ] (TObject *) がっつり怒られました^^;
372 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 20:55:05 ] あ、cppだけSenderを消したらコンパイル通りました。 いろいろやってみます。 Senderってなんだっけ? 調べてみます。ども、助かりました。
373 名前:デフォルトの名無しさん [2008/01/19(土) 21:01:26 ] 自己解決 timeGetTimeの戻値を加算で出来ました。
374 名前:370 mailto:sage [2008/01/19(土) 21:06:48 ] Senderはそのイベントを起動したオブジェクト。この場合はButton8へのポインタが入っている。
375 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 21:06:59 ] SenderのほかにShiftとかX・Y・Buttonとかあったので、 消したら警告はきれいさっぱり。 ほんとにいいのか?ま、いいか
376 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 21:20:42 ] >>374 了解です。
377 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 21:45:26 ] >>373 完全にオーバースペックになるけどパフォーマンスカウンタ使うと恐ろしい精度で計測できるよ
378 名前:370 mailto:sage [2008/01/19(土) 22:17:20 ] 使わないパラメータは名無しでおk
379 名前:デフォルトの名無しさん [2008/01/21(月) 16:25:37 ] 小さいアイコンを取得したくて、下記のようにしてみました。 TImage* img=new TImage(this); img->Height=16; img->Width=16; Image1->Picture->Icon->Handle=LoadIcon(NULL,IDI_APPLICATION); すると大きいアイコンの左上1/4が取得されてしまいました。 小さいアイコンをリソースから取得するにはどうすればいいのでしょうか、教えてください。
380 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 16:43:01 ] LoadImageでサイズ指定してみては?
381 名前:デフォルトの名無しさん [2008/01/21(月) 19:55:02 ] Cプログラマの為に、ポイントをまとめたドキュメントを販売しています。 プロのプログラマでもあまりにレベルが低い人が多すぎます。 そんな人に限って、自分のレベルの低さを自覚していない、、、 本人は構わないかもしれませんが、その下についた新人プログラマは たまったものではありません。(私が経験しました。) 今になって分かりました。 彼らもまた、理解できていなかったのです。 プログラミング言語の一番の習得の近道はきちんと理解している人にアドバイスをもらうこと。です。 (何といったって、参考にしようとする市販の本さえ、 きちんと説明してくれていないのですから、 その証拠にC言語の学習で悩む人がどんなに多いことか) 私のC言語に取り組んだ7年間をすべてぶつけたつもりでテキストを作りました。 私の会社の後輩からは、どんなテキストよりもわかりやすかった!や、 今まで教えてくれていた先輩や、テキストたちが、ちゃんと理解できていないことがわかりました。 と、嬉しいコメントをたくさんもらいました。 そしてなにより、彼らの社内での評価がとても高いということが、私の誇りです。 宣伝と言ってしまえば、そうなってしまうかもしれませんが、ひとりでも多くのプログラマを救いたい。 プログラムの世界そのものの実力を底あげに貢献し、 無意味なバグに、残業したり、悩んだりして欲しくないのです。 興味がある方はどうか、下のサイトをみてみてください。 mori.eco.to/
382 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:42:30 ] 日本語でおk
383 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:49:20 ] そろそろひろゆきの目に止まって多額の広告料金請求されっぞ
384 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:03:25 ] >379 ExtractIconEx
385 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:03:53 ] ごめん。リソースからなら違うや