トップページtech
985コメント281KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/10/23(金) 09:06:16
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。

Embarcadero Home Page
http://www.codegear.com/jp/

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

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

くだすれC++Builder(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1171219191/

<兄妹スレ>
くだすれDelphi(超初心者用)その50
http://pc12.2ch.net/test/read.cgi/tech/1246340765/l50
0729デフォルトの名無しさん2011/06/10(金) 11:26:28.23
>>726
TPNGObjectって書いてんだろ馬鹿はレスするなって
それにもう解決したからいい
何でレスも読めないのに知ったかしてレスするんだろうか
0730デフォルトの名無しさん2011/06/10(金) 12:54:08.41
>>729
カワイソス
頭おかし過ぎてワロタ
0731デフォルトの名無しさん2011/06/10(金) 13:09:20.40
>>729
逆ギレかよ。
>>726 (>>723) もとんだトバッチリだな。何一つ間違った事言ってないのに。
ヘッダも読めねークセに、こういう奴って居るんだなー。クワバラ-
相手にしなくてよかった。
0732デフォルトの名無しさん2011/06/10(金) 13:59:16.74
>>729
論拠は >>728 じゃねーの?RAD2010でも警告だしヘッダもそう(読めないんだっけ)
勘違いヤロ-なのはおまいだろ?
0733デフォルトの名無しさん2011/06/10(金) 14:55:06.61
>>729
なんかバカが馬鹿よばわりしてるし
0734デフォルトの名無しさん2011/06/10(金) 16:58:47.17
必死すぎワロタ
0735デフォルトの名無しさん2011/06/10(金) 17:49:54.00
>>729
クズが吠えてて笑える
0736デフォルトの名無しさん2011/06/11(土) 22:57:59.23
ppp
0737デフォルトの名無しさん2011/06/14(火) 15:48:29.17
Builder2010なんだけどTPageControlの背景って前はclBtnFaceだったのにWhiteになってるんだけど
これ背景色変える事できる?OS設定しか無理?
何でこれ背景白にしちゃったんだろ?激しく見づらいんだけど
しかもclWindowと色が被ってるから境界線が判りづらいし
0738デフォルトの名無しさん2011/06/14(火) 18:54:35.33
>>737
TPageControl継承すれば。
0739デフォルトの名無しさん2011/06/14(火) 22:29:43.48
めんどくせーからちゃんと教えて下さい
0740デフォルトの名無しさん2011/06/24(金) 11:53:19.65
UnicodeStringをchar*に変換するにはどうしたらいいですかね?
0741デフォルトの名無しさん2011/06/24(金) 12:03:14.22
wcstombs_s使おうと思ったけどなんかこれ無いってエラーが出る
wcstombsならコンパイルは通るんだけど何故か実行時にエラーが出る。
setlocale( LC_CTYPE, "jpn" );これしてもエラーなんだけどなんでだろう?
0742デフォルトの名無しさん2011/06/24(金) 12:52:35.16
char *ってのはANSI文字列のポインタ?ならAnsiStringに代入してc_strでいいんじゃないか?
0743デフォルトの名無しさん2011/06/24(金) 12:56:32.62
あ、ごめん言い忘れてたけどBuilder2010なのでAnsiStringってワイド文字なんですよねこれ
0744デフォルトの名無しさん2011/06/24(金) 14:05:02.85
えっ?
0745デフォルトの名無しさん2011/06/30(木) 13:34:35.00
質問です:タスクバーに表示されているアイコンにマウスを近づけたときに発生するイベントを取ったり出来ますか?
0746デフォルトの名無しさん2011/06/30(木) 17:11:22.25
出来ます。
0747デフォルトの名無しさん2011/06/30(木) 17:31:38.46
タスクバーって、アプリの中の人じゃなくてWindowsの持ち物なんだけど、どーやったら取れるわけ?
0748デフォルトの名無しさん2011/06/30(木) 17:42:30.35
初心者なら、取り合えず下記でも読んどけ
http://www.kab-studio.biz/Programing/Codian/DLL_Hook_SClass/06.html
0749デフォルトの名無しさん2011/06/30(木) 18:14:08.79
グロバールフックってシステム全体を重くするから禁じ手でしょ、常考。。。
0750デフォルトの名無しさん2011/07/03(日) 11:10:55.56
昨日ビルダ購入しました。早速質問です。

StringGridの各セルをテキストとしてファイル出力ってどうやるんでしょうか?
SaveToFileのようなものが用意されていますか?
0751デフォルトの名無しさん2011/07/03(日) 12:25:50.84
 発 者 同         . 。_   ____           争
 生 同 .じ     .    /´ |  (ゝ___)          い
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j     
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\
             /   ..:.:.}   /   |∨ ` ̄
            /   ..:.:./    |   丶
           / _、 ..:.:.:.{    .{.:.:.   \
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ
          |、  ..:/ 丿 .:〉   >.- ⌒  .  ヽ
          / {. ..:./ ソ ..:./  .(    ..:.:.:`  ..:}
         ./..:.:}.:.:./ ヘ、 ..:./   .\ ..:.:r_,ノ、.:.:}
        ./..:.:/|.:/   {.:./     X.:.:}.}   X X
        /..:.:/ .}.:|    }:/       .Y丶ヽ  Y.:Y
  . __/.:/ { }  《.〈、     _,,__>.:》丶   Y.:\
  /.:.:.:.:.::/   !.:.:ゝ  ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ   \.: ̄>
0752デフォルトの名無しさん2011/07/03(日) 15:12:02.10
>>750
TStringGridIOというのを見つけますた。

StringGridにてCellの行数をボタンを押すごとに増やしていく
プログラムを書いてみたのですが、1回目のクリックで列側
(2列目)に作られてしまうのですが、k行1列のグリッド
を適切に作る方法をご存じの方いますか?

下記のようなソースを書いてます。
StringGrid1->Cells[k][0] = IntToStr(k);
StringGrid1->RowCount = k++;
StringGrid1->Refresh();
0753デフォルトの名無しさん2011/07/03(日) 17:55:04.22
関数ポインタの作り方をご教示ください。
下の例では[C++ Error] Unit1.cpp(19): E2235 Member function must be called or its address taken.
のコンパイルエラーが出ます。
ヘッダーファイルには void Func();と void Func2();を書いています

//----------------------------------------
void TCTestForm::Func()
{
void (TCTestForm::*fpFunc1)() = Func2; <---Line 19
(this->*fpFunc1)();
}
//--------------------------------------------
void TCTestForm::Func2()
{
MessageBox(Handle,"Func2","Func2",MB_OK);
}
0754デフォルトの名無しさん2011/07/03(日) 18:04:10.38
メンバー関数を式で使うときは,呼び出すか,& 演算子を用いてアドレスをとらなければなりません。
メンバー関数が不正な文脈で使われると,このエラーになります。
次に例を示します。

class A

{
typedef int (A::* infptr)(void);
public;
A();
int myex (void);
int three;
} a;
A::A()
{
infptr one = myex; // 正しくない - myex を呼び出すかアドレスを取る
infptr two = &A::myex; // 正しい
three = (a.*one)() + (a.*two)();
}
0755デフォルトの名無しさん2011/07/04(月) 07:20:09.52
また質問させてください。

スターターを購入したのですが、
TextViewのようなコンポーネント、
出来ればフリーのものをご存じないでしょうか?

よろしくお願いします。
0756デフォルトの名無しさん2011/07/04(月) 11:16:01.23
うまくいきました!!!

>>754さん、ありがとう。感謝、感謝。
0757デフォルトの名無しさん2011/07/05(火) 14:45:28.83
ファイル選択とかのコモンダイアログをStayOnTopできまつか?
0758デフォルトの名無しさん2011/07/05(火) 16:03:39.13
出来る
0759デフォルトの名無しさん2011/07/05(火) 19:04:58.86
やり方教えて下さいorz
0760デフォルトの名無しさん2011/07/05(火) 21:02:38.94
実際にやってみたわけじゃないけど。OnShowイベントとOnCloseイベントでSetWindowPosを呼んで
HWND_TOPMOSTとHWND_NOTOPMOSTをセットする。対象HWNDはHandle。
0761デフォルトの名無しさん2011/07/07(木) 15:57:07.59
TOpenDialog
のOnShowでTOpenDialog::Handleを使ってWin32APIでTOPMOSTに変更してみましたが、
ダメっぽいですorz
0762デフォルトの名無しさん2011/07/07(木) 17:21:28.35
コモンダイアログの(プロパティにない)表示をかえるのと同じで、Hookしないとだめなんじゃないかな?

ttp://wisdom.sakura.ne.jp/system/winapi/common/common2.html
ttp://www.kanazawa-net.ne.jp/~pmansato/CommonDialog.htm
0763デフォルトの名無しさん2011/07/08(金) 09:19:33.54
あ、コモンダイアログのフックってダイアログ指定できるんだ。
これってローカルフックだおね。
一旦やってみるかなぁ。
コモンダイアログが他のウィンドウに潜ったら、
自分で浮かびあがるような処理。
0764デフォルトの名無しさん2011/07/08(金) 11:24:12.75
>>763
人呼んでお邪魔虫ダイアログ
0765デフォルトの名無しさん2011/07/08(金) 15:21:38.22
TMyComboBox = class(TComboBox)
TComboBox = class(TMyComboBox)

みたいな感じで、継承してちょっとだけ弄ってそれを標準のコンポみたいに使ってる
Delphiのソースがあったのだけど、これってC++Builderでも可能?
区別が曖昧って怒られちゃう
0766デフォルトの名無しさん2011/07/08(金) 15:35:58.43
可能
0767デフォルトの名無しさん2011/07/08(金) 15:57:08.17
C++Builder 2009ってVS用のライブラリや
.NET Frameworkは問題無く使えますか?
0768デフォルトの名無しさん2011/07/08(金) 16:52:59.73
できないのか、残念
0769デフォルトの名無しさん2011/07/11(月) 15:49:37.12
HDDのフォーマット種別(NTFS/FAT32・・・)を調べる方法を教えて下さい。
Win7+BCB2010です。

DriveInfoというのを見つけたのですが使えなさそうです。
0770デフォルトの名無しさん2011/07/11(月) 16:04:57.35
>769
つ ttp://msdn.microsoft.com/ja-jp/library/cc429511.aspx
07717692011/07/11(月) 17:34:16.65
>>770

出来ました!!有り難うございます。
0772デフォルトの名無しさん2011/07/22(金) 17:30:25.07
「asin: DOMAIN error」っていうのをトラップしたいのですが、
catch (Exception &exception)では、catchできないのですか???
0773デフォルトの名無しさん2011/07/22(金) 21:29:11.88
Winキー+Dで全部のウィンドウ非表示(デスクトップ表示)ですが
この操作が行われた時ってトップレベルウィンドウに何かメッセージ
が送られているんでしょうか?
0774デフォルトの名無しさん2011/07/22(金) 22:46:03.43
>>772
int _matherr(struct _exception *e) {
throw Exception(AnsiString(e->name) + " でエラーだお");
}

とか _matherr を自分で定義するべし
0775デフォルトの名無しさん2011/07/25(月) 00:51:46.93
ttp://www2.ttcn.ne.jp/tkky/Application/Launcher/launcher1.htm
全くの初心者で↑のサイトを見ながらランチャを作ろうとしているのですが、

[BCC32 エラー] Unit1.cpp(18): E2316 '_fastcall TForm1::Create(TObject *)' は 'TForm1' のメンバではない
[BCC32 エラー] Unit1.cpp(33): E2316 '_fastcall TForm1::Save1Click(TObject *)' は 'TForm1' のメンバではない
[BCC32 エラー] Unit1.cpp(50): E2316 '_fastcall TForm1::Delete1Click(TObject *)' は 'TForm1' のメンバではない
[BCC32 エラー] Unit1.cpp(59): E2316 '_fastcall TForm1::Image1Click(TObject *)' は 'TForm1' のメンバではない

というエラーがでます。
なぜでしょうか?
0776デフォルトの名無しさん2011/07/25(月) 01:22:34.90
さーよくわかんないけど、フォームデザイナのオブジェクトインスペクタでそれぞれのイベントを
ダブルクリックして作ったらいいんじゃないかな。
07777722011/07/25(月) 08:51:46.03
つ d >>774
キャッチできないエラーって不便ですよねぇ。
07787722011/07/25(月) 13:10:32.01
ついでですが、何でキャッチできないんでしょう?
キャッチする方法あるのかなぁ?

matherr.cを見たけど、良く分からない(><)
0779デフォルトの名無しさん2011/07/25(月) 13:11:39.66
>>776
ありがとうございます!
できました
0780デフォルトの名無しさん2011/07/25(月) 13:22:52.77
>>778
http://msdn.microsoft.com/ja-jp/library/k3backsw.aspx
07817722011/07/25(月) 13:32:49.36
つ d >>780

つまり、キャッチしようにも、例外じゃなくて、Cランタイム系で動作が規定されている関数なのね。
0782デフォルトの名無しさん2011/07/25(月) 13:56:35.50
C++Builder XEで
ShellExecute(Application->Handle,
"open",
appname.c_str(),
NULL,
NULL,
SW_SHOW);

というコードで 'char const[5]' 型は 'const wchar_t *' 型に変換できない というエラーが出ます
これはUnicodeStringをAnsiStringに変換する事で直るのでしょうか?
もしそうならどう修正すればいいのでしょうか?
0783デフォルトの名無しさん2011/07/25(月) 14:12:24.62
"open"
->
L"open"
07847822011/07/25(月) 23:23:52.37
>>783
遅れました
すみませんまだエラーが出ます…
'char *' 型は 'const wchar_t *' 型に変換できない とエラー内容が多少変わったのですが…
0785デフォルトの名無しさん2011/07/26(火) 01:02:34.32
>>784
appname が AnsiString なら UnicodeString にする
07867822011/07/26(火) 01:16:13.41
>>785
ありがとうございます!
できました
0787デフォルトの名無しさん2011/07/26(火) 13:47:30.33
C++Builder2010でADOTableについて教えてください
既存のmdbファイルがあって指定テーブルのフィールドの説明を取得する方法を教えてください
ADOTableでダメならSQL文でも構いません
0788デフォルトの名無しさん2011/07/27(水) 01:22:03.91
>>787
ttp://support.microsoft.com/kb/210314
0789デフォルトの名無しさん2011/07/27(水) 09:43:06.09
>>788
ありがとう
これADOTableで表現するならどうやってやりますかね?
0790デフォルトの名無しさん2011/07/27(水) 10:44:49.98
RecordsetのProperties
0791デフォルトの名無しさん2011/07/27(水) 10:54:01.29
>>790
更にありがとうございます
しかしこれどうやって記述したらいいのかわかりません
0792デフォルトの名無しさん2011/07/27(水) 11:42:28.29
丸投げイクナイ
少しは自分で考えな
0793デフォルトの名無しさん2011/07/27(水) 11:57:43.94
うるせー。
だまって教えろ。ゴラァ
0794デフォルトの名無しさん2011/07/27(水) 12:38:03.73
スレタイ読めない奴はレスしないで下さい
0795デフォルトの名無しさん2011/07/27(水) 12:42:30.18
そして誰も居なくなるというループ
0796デフォルトの名無しさん2011/07/27(水) 12:47:03.76
もう、終わりにしようよ。
0797デフォルトの名無しさん2011/07/27(水) 13:33:29.25
もう〜終わりだね
0798デフォルトの名無しさん2011/07/27(水) 13:38:07.70
君が
0799デフォルトの名無しさん2011/07/27(水) 15:38:43.55
マジコード教えてくださいよろしくです
0800デフォルトの名無しさん2011/07/27(水) 16:19:22.92
小さく見える
0801デフォルトの名無しさん2011/07/27(水) 17:24:20.80
GetFieldDesc_ADO = MyTable.Columns(MyFieldName).Properties("Description")

これをどうやってADOTableの書式で表現するかわかりません
0802デフォルトの名無しさん2011/07/27(水) 20:56:29.33
>>801
まず、
1時間で正確に燃え尽きる蚊取り線香を3つ使って、1時間15分を計ってみてください。
0803デフォルトの名無しさん2011/07/28(木) 01:36:46.64
蚊取り線香ってなかなか着火しないから
火を同時に何ヶ所にもつけるのって難しいよね
0804デフォルトの名無しさん2011/07/28(木) 06:05:49.85
3人がかりだな
0805デフォルトの名無しさん2011/07/28(木) 23:45:07.35
>>801を教えてくださいよ
0806デフォルトの名無しさん2011/07/29(金) 00:59:27.92
ADOTable,ADODataSetにRecordset_といかうプロパティがあって、内部の
オブジェクト公開されてるからそれから、辿っていってみて。
0807デフォルトの名無しさん2011/07/29(金) 11:44:01.13
Builder2007でUTF-8にURLエンコードする方法を教えてください。
HTTPEncodeを使っても正常にUTF-8になってないみたいなので
0808デフォルトの名無しさん2011/07/29(金) 13:44:29.96
俺がアホだけかもしれないけど
UTF-8にURLエンコード
の意味が分からない
0809デフォルトの名無しさん2011/07/29(金) 20:12:08.80
アホはレスしないでください。
ウザいだけです。
0810デフォルトの名無しさん2011/07/30(土) 17:38:44.67
超初心者用なんだから分かるんなら説明してくれてもいいじゃん
0811デフォルトの名無しさん2011/08/01(月) 17:24:56.85
>>806
辿ってみましたがフィールドのコメントを取得するようなのを発見できませんでした。
ぶっちゃけコードを教えてください
08128012011/08/03(水) 20:43:32.92
まじでさっさと教えてください。
0813デフォルトの名無しさん2011/08/03(水) 21:07:55.33
______  ___________
         V
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ はぁ?黙ってろデブw
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |
0814デフォルトの名無しさん2011/08/04(木) 06:27:21.25
C++Builder2007で、Access2000形式のDBにアクセスしたいんですが、簡単に実現できるクラスライブラリありますでしょうか?
0815デフォルトの名無しさん2011/08/04(木) 09:48:01.54
dbGo(ADO)
0816デフォルトの名無しさん2011/08/04(木) 10:47:18.89
簡単すぎてうんこが漏れそうになった
0817デフォルトの名無しさん2011/08/08(月) 19:06:57.41
C++Builder5を使っています。

#include "ABCDEFGH.h" ←空のファイル
#include "ABCDEFGHI.h" ←存在しないファイル

上のようなCPPをコンパイルするとエラーもなく通るんですが、
これって基本先頭8文字しか確認していないってことでしょうか?
また、C++の仕様上では正しいのでしょうか?
0818デフォルトの名無しさん2011/08/08(月) 23:18:23.60
ファイルシステムのせい
仕様上問題ない
0819デフォルトの名無しさん2011/08/09(火) 12:28:32.91
>>818
8文字ってことでDOS形式のファイル名か何かが
絡んでいるだろうとは思っていましたが、仕様上
問題ないというのは驚きです。
となると、ヘッダーファイル名は先頭8文字をユニ
ークにしなければいけないんですね。
0820デフォルトの名無しさん2011/08/09(火) 14:01:34.81
仕様がMS-DOSも前提にしてるからさ
08218012011/08/11(木) 17:05:51.55
さっさと教えてくださいよ
0822デフォルトの名無しさん2011/08/11(木) 20:26:49.25
______  ___________
         V
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ はぁ?黙ってろデブw
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |
0823 忍法帖【Lv=16,xxxPT】 2011/08/14(日) 15:48:26.79
日本語版で開発したアプリケーションを英語版Windowsに持って行くと、エラーメッセージが日本語で表示されるのですが、
エラーを英語で表示するにはどうしたらいいのでしょうか?独島は日本の領土
0824デフォルトの名無しさん2011/08/16(火) 03:24:59.36
ヘルプの「国際化対応アプリケーションの作成」を読むといいよ
BCB5の場合だけど
08258012011/08/16(火) 16:26:08.12
とっとと教えてくださいよ
0826デフォルトの名無しさん2011/08/24(水) 15:20:16.08
BCB2010を使用しています。
pragmaでインクルードファイルのパスは指定できるのでしょうか?

0827デフォルトの名無しさん2011/08/24(水) 15:57:39.79
おそらくできない。
つ ttp://docwiki.embarcadero.com/RADStudio/ja/Pragma
0828デフォルトの名無しさん2011/08/24(水) 16:03:16.21
http://docwiki.embarcadero.com/RADStudio/ja/Pragma_option
#pragma option で使用できないオプションは以下のとおりです。
のところに
-Ifilename
■ このスレッドは過去ログ倉庫に格納されています