[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 01/28 12:10 / Filesize : 47 KB / Number-of Response : 150
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

C++Builder相談室 Part17



1 名前:デフォルトの名無しさん [2006/11/08(水) 02:01:27 ]
C++Builderに関する質問・回答や議論等を行う相談室スレッド。

【前スレ】
C++Builder相談室 Part16
pc8.2ch.net/test/read.cgi/tech/1138766165/l50

過去スレ・関連サイトは>>2-7あたり。


※Borland C++ Compiler 5.5.1についての質問は以下のスレへ
タダで使えるBorland C++ Part4
pc8.2ch.net/test/read.cgi/tech/1091066805/l50
※BDS(Borland Developer Studio)の総合スレはこちら
Borland Developer Studio 2006 No.10
pc8.2ch.net/test/read.cgi/tech/1162262669/l50


32 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 15:08:42 ]
Turbo C++ ExplorerでC++を学んでみようと思ってます。
>>6はVer6の時の物みたいですが、Turbo C++でも
ある程度は参考図書として使えますか?
(インターフェースが全然違っていたりとか)

33 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 15:22:31 ]
>>32
>>6の本を読む前にC++の入門書を読む
読み終わったころにはTurbo対応版が出るかもしれない
出なかったら>>6でいいでしょ

ただしC++の基本をマスターしてから
じゃなきゃ、読んでも分からん

34 名前:27 mailto:sage [2006/11/19(日) 21:19:02 ]
レスをくださった方ありがとうございます。でもやっぱりうまくいきませんでした。
しかし何となく手がかりをつかんだので、もう少しトライしてみます。


35 名前:30 mailto:sage [2006/11/20(月) 03:10:28 ]
>34
31ももちろん使うが、あとウィンドウハンドル分けできてないんじゃないかな、もしかしたら。
ウィンドウごとにhWnd1,hWnd2なり分けてやると(モーダレス)うまくいきそうな。



36 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 17:38:31 ]
SetStretchBltのHALFTONEモードをサポートしたOSを調べる方法ってありますか?

::SetStretchBltMode(bmp->Canvas->Handle, HALFTONE);
::SetBrushOrgEx(bmp->Canvas->Handle, 0, 0, NULL);
::StretchBlt(bmp->Canvas->Handle, 0, 0, bmp->Width, bmp->Height,
img->Canvas->Handle, 0, 0, img->Width, img->Height, SRCCOPY);

こんな感じで実装して2000では滑らか(微妙にシャープネスかかってるけどw)にリサイズされて、
Win95で動作させると無視されていました。
非対応OSの場合は自前の代替ロジック流したいな、と。。。

37 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 19:36:53 ]
>>36
MSDNをよく嫁

38 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 12:23:48 ]
Delphiソースで配布されてるコンポーネントってBuilderでも使えますよね。

39 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 18:44:04 ]
使えるのと使えない物がある

40 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 19:00:14 ]
むしろ誰かQuadruple D3をBuilderで動かす方法を教えてくれい



41 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 22:33:56 ]
誰かがやってたなぁ。ググればあるんじゃない?

42 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 23:06:50 ]
Turbo C++でQuadruple D3をコンパイルしようとすると意味不明なエラーでるんだよなそういえば

43 名前:デフォルトの名無しさん [2006/12/12(火) 20:37:43 ]
delphiの下記のソースをBuilderに書き直すとどうなるか教えてください。
(WebBrowser1.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms));
こんな感じだと動作しませんでした。
IPersistStreamInit* document;
(void*)document=WebBrowser1->Document;
TStreamAdapter* ts=new TStreamAdapter(ms,soReference);
document->Load((IStream*)ts);
Builderには、TStreamAdapter->Create()が無いんですよね。


44 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 00:01:33 ]
単純に翻訳すると
IPersitStreamInit* doc = dynamic_cast<IPersistStreamInit*>(WebBrowser1->Document); //キャスト失敗時はbad_cast例外送出
doc->Load(new TStreamAdapter(ms));
こんな感じ。これで動くかは知らないが。

delのCreateはBCBではnew、Freeはdeleteになる。Create、FreeはC++コード上では原則呼び出し禁止。
TStreamAdapterはIInterface(IUnknown)の派生クラスなのでIUnknown派生のIStreamを引数に要求するIPersistStreamInit::Loadにそのまま渡せる。

45 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 14:56:25 ]
TIdMessageにemlファイルを読み込ませて、
本文とか添付ファイルを取り出したりできますか?
ググったらそれらしき事を書いてるサイトがあったもので。。。


46 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 20:32:58 ]
>>44
レスさんくすです。
遅レスですんません。
そのまんまだといろいろエラーが出ます。
で試行錯誤してみましたが、結局うまくいきませんでした。
ぐぐっていたら、Builderではどうも
TStreamAdapter.Create(ms) これはnewに書き換えても、使えないような感じがします。
CreateStreamOnHGlobal()をつかって IStream* に変換している例があり、その方法だとうまく動作しました。


47 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 03:43:52 ]
質問ですけど自作コンポーネントの関数ってインライン関数使えないんですか。
4,5日原因不明の実行時エラーで詰まっててもしかしたらと思って変えたら動いたんですけど。
private:とかprotected:だと大丈夫だったりしますか。

48 名前:デフォルトの名無しさん [2006/12/16(土) 17:56:02 ]
MFCのCFileFindを使いたいのですが、コンパイル時に
「未定義のシンボル」とエラーが出てしまいます。
Turbo C++ Builderでは使用できないのでしょうか?

49 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 18:45:21 ]
>>48
TurboにMFC入ってるならMFCのヘッダをインクルード。
インポートライブラリなりスタティックリンクライブラリなりをプロジェクトに追加。

BCB6の場合はlib見あたらないから/Source/Mfc内のMakefileからビルドする必要があるっぽい

50 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 17:00:34 ]
Windows2000、BDS2006のC++Builder

デスクトップに「\\pc_001\data」へのネットワークプレース「PC001」があるとします。
このネットワークプレースをSelectDirectoryで選択する時、「PC001」を選択しても
パスに展開されず、「C:\Documents and Settings\user\デスクトップ\PC001」と
展開されてしまいます。

これってどうやって回避するんでしょうか?

・追記1
同じ実行ファイルをWinXPで起動し、同様の操作を行った場合は、
「\\pc_001\data」というパス変換されます。
Win2000でもこのように動作すると思っていたのですが…。

・追記2
「PC001」からサブフォルダ「061022」を選択した場合は「\\pc_001\\data\\061022」
というパスに展開されます。



51 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 00:28:30 ]
InstantObjects使ってるひといますか?

52 名前:デフォルトの名無しさん [2006/12/23(土) 11:42:41 ]
GExperts 1.30ってC++Builder6で使えないの?

53 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 22:39:23 ]
>>52
BCB6用のプロジェクトはあったから、ビルドしてみれば?
どっちみち、フォントを変更しないと使い物にならないし。

54 名前:デフォルトの名無しさん [2007/01/05(金) 03:28:59 ]
BCB6付属のJPEGライブラリをそのまま使ってJPEG保存すると赤成分のサンプリングが2x2で汚くなるので、
DISC2に収録されているjpeg.pasのソースをいじってサンプリング1x1を設定しようと思います。

procedure TJPEGImage.Compress;
var
 〜省略〜
 ci: Integer; //追加
begin
 〜省略〜
 jc.c.input_components := 3; // JPEG requires 24bit RGB input
 jc.c.in_color_space := JCS_RGB;

55 名前:デフォルトの名無しさん [2007/01/05(金) 03:30:36 ]
 //追加ここから
 for ci := 0 to MAX_COMPONENTS-1 do
 begin
  jc.c.comp_info[ci].h_samp_factor := 1;
  jc.c.comp_info[ci].v_samp_factor := 1;
 end;
 //追加ここまで

 Src := TBitmap.Create;
 try
 〜省略〜
end;

56 名前:デフォルトの名無しさん [2007/01/05(金) 03:31:28 ]
という感じでIJGのrdswitch.cからパクって追加すると

[Pascal エラー] JPEG.PAS(1073): 配列型が必要です
[Pascal エラー] JPEG.PAS(1074): 配列型が必要です
と出てしまいます。

pascal詳しくないので見比べても文法的ミスが発見できません。
どうすればよいでしょうか?

57 名前:デフォルトの名無しさん [2007/01/05(金) 19:57:08 ]
すんません、自己レスですが
BCB6のDISC2に収録のJCPARAM.Cのjpeg_set_colorspace関数にある
JPEGサンプリングを2,2から1,1に修正して、
JCPARAM.CとJPEG.PASをリコンパイル、
出来上がったjpeg.dcuとjpeg.objを\Lib\Obj内に上書きしてから
該当アプリをリビルドしたら解決しました。

58 名前:デフォルトの名無しさん [2007/01/12(金) 09:00:55 ]
タスクバーの位置をプログラムから移動しようと
HWND hand = FindWindow("Shell_traywnd", NULL);
でタスクバーのハンドルを取得して
現在のタスクバーの位置を取得
RECT rect;
GetWindowRect(hand,&rect);

SetWindowPosで位置の変更
SetWindowPos(hand,HWND_TOP, 0, rect.top,0,0, SWP_NOZORDER | SWP_NOSIZE)

としてみたのですが、タスクバーの位置は変更されませんでした。
タスクバーを移動するにはどうすればよいのでしょうか、
よろしくお願いします

59 名前:デフォルトの名無しさん [2007/01/13(土) 01:12:14 ]
>>58
::PostMessage(WM_LBUTTONDOWN〜)とかmouse_event使って手動操作をシミュレートしてみるとか。


60 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 04:59:01 ]
SHAppBarMessage(ABM_SETSTATE, pData)
APPBARDATA
cbSize As Long 構造体のサイズ
hWnd As Long アプリケーションのウィンドウのハンドル
uCallbackMessage As Long コールバック関数へのポインタ
uEdge As Long アプリケーションバーの位置を示す定数
rc As RECT アプリケーションバーの矩形を示すRECT構造体
lParam As Long メッセージのパラメータ

uEdgeの定数
ABE_BOTTOM = 3 下辺にある
ABE_LEFT = 0 左辺にある
ABE_RIGHT = 2 右辺にある
ABE_TOP = 1 上辺にある




61 名前:デフォルトの名無しさん [2007/01/18(木) 14:46:04 ]
BCB4でリリース版にしようとオプションを変更しプログラムを再構築したところ

Unresolved external '__fastcall Scktcomp::TAbstractSocket::SetPortA(int)' referenced from 〜

というリンカエラーが表示され
デバッグ戻しても再構築が出来なくなりました。

原因が判る方お願いします。

62 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 14:47:52 ]
>>61
プリンコンパイルヘッダ消してみろ。

63 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 16:14:54 ]
>>62
解決しました。
ありがとうございます。

64 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 14:28:29 ]
某のBCBセミナーって無くなったんでつか?

65 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 15:25:36 ]
某除某 人形

66 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 13:43:06 ]
くだすれ超初心者用のその3スレってないの?

67 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 14:01:40 ]
>>66 が建てることになってる

68 名前:デフォルトの名無しさん [2007/02/03(土) 14:10:57 ]
どうせどっちも流れ変わらないんだからこっちに一本化でいいんじゃないの?

69 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 14:12:59 ]
それもそうだな

70 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 14:20:14 ]
BCB5.82をよく使ってますが、重い実数演算をさせた時に
VC2005のようにFXCH命令を使ってくれませんね。

ま、時代の流れはSSE2/SSE3で実数演算をする方向なん
でしょうが・・・まだFPUを使いたい場面もたくさんあります。
糞遅い実数演算を何とかできないものでしょうか?



71 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 14:26:49 ]
演算が必要なところはVCで書けばいいじゃん

72 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 14:29:07 ]
DLLで実装ですね。
そうなるとC++でクラスの受け渡しをする事を諦めないと
いけないな・・・・コンパイラによって内部表現が微妙に
異なるものですから。

73 名前:デフォルトの名無しさん [2007/02/03(土) 14:57:31 ]
C++Builderの初心者です。
フォーム上に円、四角形や線を描画するたびに、
オブジェクトとして座標とともに記憶させていきたいのですが、なかなかうまくいきません。
どなたか、教えていただけないでしょうか。
よろしくお願いします。

74 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 15:28:25 ]
>>73
円、四角形、線の描き方はランダムな順なの?
それだったらunionを使って座標を記憶してvectorに突っ込むぐらいしか
思いつかんな。

知っての通りvectorに入れられる型は一通りのみ(多相ポインタはまた
違うけど)。

75 名前:デフォルトの名無しさん [2007/02/03(土) 16:04:43 ]
>>74
迅速に、ご回答していただき、ありがとうございます。
円、四角形、線、いずれも、ランダムで、かつ、描く数もバラバラです。

開発者ガイドを片手に、unionやvectorを調べているのですが、どのように書くのかわかりません。
ご面倒おかけしますが、簡単なプログラム例を教えていただけないでしょうか。
どうぞ、よろしくお願いします。

76 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 17:22:14 ]
>75
とりあえずDelphiだけど、文法の違いだけ気にしてみれば参考になると思う。
ttp://dn.codegear.com/article/34011

77 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 18:26:02 ]
くだすれは次は立てんの??

78 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 10:20:49 ]
>75
もうやっちゃったかもしれないけど、>76をBCBに書き直したソース
void __fastcall TfrmMain::pbxDrawMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if ( GetKeyState(VK_LBUTTON) < 0 ){
pbxDraw->Canvas->Pen->Mode = pmCopy;
pbxDraw->Canvas->Pen->Width = 5;
pbxDraw->Canvas->Pen->Color = clBlack;
pbxDraw->Canvas->MoveTo(preX, preY);
pbxDraw->Canvas->LineTo(X, Y);

bmpBuf->Canvas->Pen->Mode = pmCopy;
bmpBuf->Canvas->Pen->Width = 5;
bmpBuf->Canvas->Pen->Color = clBlack;
bmpBuf->Canvas->MoveTo(preX, preY);
bmpBuf->Canvas->LineTo(X, Y);
}
preX = X; preY = Y;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
bmpBuf = NULL;
bmpBuf = new Graphics::TBitmap;
bmpBuf->PixelFormat = pf32bit;
bmpBuf->SetSize(640,480);

preX = -1; preY = -1;
}

79 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 10:23:30 ]
つづき DelphiのAssignedに対応する関数が分かんなかったのでちょっと変えてある
void __fastcall TfrmMain::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
if ( GetKeyState(VK_LBUTTON) < 0 ){
pbxDrawMouseMove(Sender, Shift, X, Y);
}

}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::FormDestroy(TObject *Sender)
{
if ( bmpBuf ){ // objectがあればtrue
bmpBuf->FreeImage();
delete ( bmpBuf );
}
ReportMemoryLeaksOnShutdown = True;

}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::FormPaint(TObject *Sender)
{
pbxDraw->Canvas->CopyMode = cmSrcCopy;
pbxDraw->Canvas->Draw(0,0,bmpBuf);
}


80 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 10:25:16 ]
ヘッダ
class TfrmMain : public TForm
{
__published:// IDE 管理のコンポーネント
TScrollBox *sbxDraw;
TPaintBox *pbxDraw;
TXPManifest *XPManifest1;
void __fastcall pbxDrawMouseMove(TObject *Sender, TShiftState Shift, int X,
int Y);
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall FormPaint(TObject *Sender);
private:// ユーザー宣言
int preX;
int preY;
Graphics::TBitmap *bmpBuf;
public:// ユーザー宣言
__fastcall TfrmMain(TComponent* Owner);
};



81 名前:デフォルトの名無しさん [2007/02/04(日) 13:41:52 ]
listboxでリストのインデックスが範囲を超えていますとでます
itemsの数が少ないときは出ないんだけど
20とかになるとでる
なんですか
あとエラーの時にでる数字はなんですか


82 名前:デフォルトの名無しさん [2007/02/04(日) 15:09:33 ]
愚問ですみません、winsock2でUDPソケット通信プログラムを作つて問題なく動作しますが
EditでIPアドレスとポート番号を変更できるようにしたいのですが、ポート番号は簡単に
できましたが、IPアドレスの方が参考書どうりでも変更できなくて困っています。
何か参考になる、方法があれば教えてください。
iniファイルか読んでもいいのですが、BCB5 PRO で作っています。 

83 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 15:37:26 ]
>82
もうちょっと具体的に。

84 名前:デフォルトの名無しさん [2007/02/04(日) 17:00:47 ]
>>83
説明不足ですいません。

addr.sin_port = htons(Edit1->Text.ToInt());      //ポート番号はEdit1 にて変更できてる

addr.sin_addr.S_un.S_addr = inet_addr("192.168.1.50");  //IPアドレス 192.168.1.50 をEdit2 で変更できるようにしたい



85 名前:こなきじじい mailto:sage [2007/02/04(日) 17:07:02 ]
具体的すぎるわ
このアドレスにアクセスが殺到するぞい

86 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 17:15:58 ]
>>84
ネットワークは門外漢なんだが、その例で動くんなら
inet_addr(Edit2->Text.c_str());じゃできないかい?

87 名前:デフォルトの名無しさん [2007/02/04(日) 18:18:43 ]
>>86
ありがとう、解決しました。

88 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 00:15:53 ]
BCB初心者です。5.0を利用しています
Delphi用コンポーネント「EmbeddedWebBrowser」
(ttp://www.bsalsa.com/downloads.html)
をBCBから利用したく、ダウンロードしてきました
ttp://www.bsalsa.com/ewb_install_d5_d7.html
にDelphiへのインストール方法が載っていたので、同じようにBCBに
インストールしようと思いましたが、うまくいきません
具体的には、「dpk」ファイルを開いた後、どうしていいものかわか
らなくなってしまいました
日本語、英語サイト共に色々あたってみたのですが、このコンポー
ネントの情報はほとんどなく、途方にくれています
わかる方がいらっしゃいましたら教えてください。

89 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 01:02:14 ]
>>85
192.168.0.0/16はローカルアドレス

90 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 08:11:08 ]
>>84
それ私のPCのIPアドレスです!
勝手に使わないでください><



91 名前:デフォルトの名無しさん [2007/02/05(月) 15:35:37 ]
アクセスのデータベース検索で日付/時刻形式の検索方法がわからないのですが
教えていただけないでしょうか?

Variant vDAO;
Variant vDB;
Variant vRS;
AnsiString strSql;
AnsiString str = DBOpenDialog->FileName;

vDAO = Variant::CreateObject("DAO.DBEngine.36");
vDB = vDAO.Exec(Function("OpenDatabase") << str);
strSql = "SELECT * FROM テストテーブル";
vRS = vDB.Exec(Function("Openrecordset") << strSql << dbOpenDynaset);

vRS.Exec(Function("FindFirst") << buffer); //このbufferに検索条件を入れています
while(!vRS.Exec(PropertyGet("NoMatch"))){
//検索結果に対する処理
vRS.Exec(Function("FindNext") << buffer);
}
vRS.Exec(Procedure("Close"));
vDB.Exec(Procedure("Close"));


92 名前:デフォルトの名無しさん [2007/02/05(月) 15:47:10 ]
グローバルIPアドレスとローカルIPアドレスを理解してますか?

93 名前:75 [2007/02/05(月) 15:51:34 ]
>>76
参考になるURL教えていただき、ありがとうございました。

>>78,79,80
お忙しい中、BCBに直していただき、ありがとうございました。
さっそく、教えていただいたプログラムを参考に、自分の作っているプログラムにあてはめてみました。
多少、自分で作ったモノが悪く、エラーが出てしまいましたが、解決に向けて修正をしています。
本当に、ありがとうございました。

94 名前:デフォルトの名無しさん mailto:sage 有名なネタでしょ? [2007/02/05(月) 22:46:44 ]
おかしいなぁ。そのIPアドレスはうちで使っているはずなんだけど…。
すいませんけど使わないでもらえませんかね?

95 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 03:18:43 ]
つまらない

96 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 13:12:01 ]
なら面白くすればいい

97 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 08:06:08 ]
ファイルの選択は、OpenDialogですが、
フォルダの選択ができる部品ってないでしょうか。

98 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 11:09:23 ]
>>81
抽象的過ぎて分からんがforとか使ってるなら
for(int i = ListBox1->Items->Count; i >= 0; i--)
として、後ろから参照する


99 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 11:27:18 ]
スマン..Count - 1だったな

100 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 20:27:20 ]
>>97
SelectDirectory



101 名前:デフォルトの名無しさん [2007/02/07(水) 23:39:03 ]
vista で Builder5 を使ってるんだけど、いくつかトラブルあるね。

1.デバッグサービスがインストールされない。
regsvr32.exe bordbk51.dll で解決

2.OpenDialog がバグる?
OpenDialog でファイル名を拾って OpenDialog->FileName の値を見ると、
変な文字が入っていることがある。再現性は低いけど、2割ぐらいの確立で起きる。

3.フォームのレイアウトが崩れる
これは俺の組み方が悪いのかもしれないけど、ボタンとかが隠れちゃうことがある。

って感じ。解決法とかあればお願い。

102 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 00:04:48 ]
vistaを窓から投げ捨てろ

103 名前:デフォルトの名無しさん [2007/02/08(木) 10:21:48 ]
charで受け取ったコードをTColorへ移したいと思ってまして、
StringToColor関数を使ってみているのですけど、
「EConbertErrorクラスの例外を生成しました」
というメッセージが出てうまくいきません。
charで受け取ってる文字列は「#000000」みたいなものなんですけど、、
私のやり方がまずいのでしょうか?

104 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 10:41:55 ]
>>103
リファレンス嫁
VCL定数の文字列表現かStrToIntで変換できるunsigned longの文字列表現

105 名前:デフォルトの名無しさん [2007/02/08(木) 11:29:53 ]
>>104
そのように言われても、いまいちやり方がわからないのですけど・・
できればもうちょっと分かりやすく説明お願いします

106 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 11:31:55 ]
>>105
"clBlack"とか"0xFF00FF00"。

107 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 11:41:41 ]
>>105

int i;
AnsiString s;

s = "#000000";
i = ("0x" + s.SubString(2, 6)).ToInt();
Form1->Canvas->Pen->Color = TColor(i);
Form1->Canvas->Brush->Color = TColor(i);

こんな感じで逝けるのでは?

108 名前:デフォルトの名無しさん [2007/02/08(木) 12:17:20 ]
>>107
あっ すみません
intの変数じゃなくてTColorの変数へ返したいのですけど


109 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 12:56:08 ]
しまった。
オーダーがRGBかBGRかによって処理がまた変わってくるんだった。
RGBオーダーの場合は2文字ずつ切って値を移動させないと・・・

>>108
TColor型変数への代入だったら単に
TColor tcHogehoge = TColor(i);
でよいのでは。

110 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 14:08:33 ]
>>108
TColorは、
type TColor = -$7FFFFFFF-1..$7FFFFFFF;
で定義されているから、整数型変数だ。
ソースなりマニュアルなりよく嫁。



111 名前:デフォルトの名無しさん [2007/02/08(木) 16:14:32 ]
実行時に、ボタンを押すと動的配列を使って、memoオブジェクトを数個ずらりと生成する
方法を教えてください。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i = 1;
while( i < 6 )
{
TMemo * aMemo = new TMemo(Form1);
aMemo -> Parent = Form1;
aMemo -> SetBounds( 30 + i * 100 , 30, 100 , 100 );
i++;
}
}
上記のコードでも5個ずらりと並ぶのだがちょっと使えない
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i = 1;
while( i < 6 )
{
TMemo * aMemo = new TMemo(Form1)[10];
aMemo[i] -> Parent = Form1;
aMemo[i] -> SetBounds( 30 + i * 100 , 30, 100 , 100 );
i++;
}
}
このコードも「Cannot convert 'type1' to 'type2'  コンパイラメッセージ」
こんなこと言われるし
型キャストの方法 ?
誰か教えて


112 名前:デフォルトの名無しさん [2007/02/08(木) 17:22:28 ]
>>111
何がしたいのかサッパリわからんけど

TMemo * aMemo[10]; //大域変数

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i = 1;
while( i < 6 )
{
aMemo[i] = new TMemo(Form1);
aMemo[i] -> Parent = Form1;
aMemo[i] -> SetBounds( 30 + i * 100 , 30, 100 , 100 );
i++;
}
}

こんなんじゃダメ?

113 名前:111 [2007/02/08(木) 18:18:13 ]
112さん
ありがとう!

114 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 02:08:48 ]
>>100
SelectDirectory ですか。
お礼遅れました。
ありがとうございました。

115 名前:デフォルトの名無しさん [2007/02/09(金) 12:12:50 ]
QuickReportを使った印刷について教えてください。

クリップボードから画像をTQRImage上に貼り付けて
それを印刷する、ということをしているのですが、
Previewでは正しく画像が表示されているにもかかわらず
実際に紙に印刷すると真っ黒に塗りつぶされて
出力されてしまいます。

何か情報をお持ちの方、教えてください。
環境は C++ Builder 5 (Update済み) + Win XP SP2、
プリンタはHP Officejet 7210です。

116 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 12:22:27 ]
ヒント:画像減色

117 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 16:14:44 ]
>>116
ありがとうございます。
確かに PixelFormat が pfDevice になっていたので
pf24bit に変更したところ、今のところうまくいくようになりました。

ただ、以前の状態でも何回かはうまくいくけどときどき
真っ黒になる、という感じだったのでもう少し様子を見てみます。

118 名前:デフォルトの名無しさん [2007/02/09(金) 19:52:23 ]
TClientSocketについて質問があります。
TClientSocketでローカルポートを設定できなくて困っています。
ヘルプを見ると
『クライアントソケットは任意のローカルなポート番号を使います。ほかのソケットがクライアントソケットを見つけ出す必要はないからです。』
とあり設定できそうにありません。
どうにかローカルポートを設定できないものでしょうか?

119 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 02:12:39 ]
VCLとSTLを混ぜない方がいいのかな。
std::list<AnsiString> とかダメ?

120 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 05:24:48 ]
BDS2006です。
CodeGuardを使うと、fstreamファイル内で「関数に不正なファイルストリームが渡された」とでたり、
(fopenではなく)_wfopenで開いたファイルに対して、feofなどを行っても、同じエラーがでます。

CodeGuardをOFFにした際の動作は、期待通りのものであるんですが、
なぜこのようなエラーメッセージがでるのでしょうか。(自分が間違ってる可能性が高いですか?



121 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 01:23:03 ]
BCB6 を使っています。

TComboBox の ->Style が csDropDown で、
->Items が "abcde" で、 ->Text が "ab" にして実行した時に、
▽ をクリックすると "ab" が自動的に "abcde" になりますが、
この時 OnChange が無反応です。反応したいです。
日本語でおk

122 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 19:58:41 ]
BCB6でメニューを使ってMDI子フォームを表示させるのに、
  Sample = new TSample(Application);
としてるんだけど、なぜかnewでエラーになります・・・

フォームは自動対象から外していて、数あるメニューの
中でも、これ1つだけが突然エラーになってしまいました。

どの辺りから手をつければいいのやら・・・

123 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 20:18:20 ]
>>122
なんで引数がTApplicationなんだ。
MDI Childなら普通親はMDIフレームだろ。

124 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 09:19:24 ]
>>122
どんなエラーが出たか書きなさいって、お母さんいつも言ってるでしょ。

125 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 12:44:31 ]
>>124

エラーは一般保護違反です。
アドレス****の****に対する書き込みがどうの・・っていう。

126 名前:122 mailto:sage [2007/02/15(木) 14:37:55 ]
大きく勘違いしてて、それに気づくのが遅かっただけですた。
レスくれたひとサンクス

127 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 02:35:42 ]
TCppWebBrowserで縁を出さないようにするにはどうすればよいでしょうか?
webを読み込んでいない状態だとでないのですが、
読み込むとでてきてしまいます。

フォームなどの
BorderStyle = bsNone
的なのをやりたいです。

if(CppWebBrowser1->Document){
  IHTMLDocument2 *doc = NULL;
  CppWebBrowser1->Document->QueryInterface(IID_IHTMLDocument2, (void **)&doc);
  if(doc){
    IHTMLElement *elem = NULL;
    doc->get_body(&elem);
    if(elem){
      IHTMLStyle *style;
      elem->get_style(&style);
      if(style){
        style->put_border(TVariant(0));
      }
    }
  }
}
とやってみましたが、全然でした。

128 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 19:52:14 ]
Alt+Tabしたときのリストに表示されないようにするにはどうすればよいでしょうか?

129 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 15:58:20 ]
ボタンをクリックしたところでフォームを表示させたいのですが
ボタンなどにどのようなソースを書けばいいのでしょうか?

130 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 16:06:20 ]
TForm2 *Form2 = new TForm2(this);
try {
 Form2->init( /*必要なパラメタ。但しTForm2にinitメソッドを作っておく事!*/);
 Form2->ShowModal();
} __finally {
 delete Form2;
}



131 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 17:03:29 ]
>>130
うまくいきました。ありがとうございます

132 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 01:06:25 ]
こういうのじゃ駄目だったっけ?

Form2=new TForm2(this);
if(Form2->ShowModal()==mrOk){
//ごにょごにょ
}
delete Form2;

133 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 01:24:44 ]
DelphiR 2007 for Win32 が発表されましたが、これのC++版 (C++Builder 2007 ??) は出るのかなぁ

誰か詳しい事情、知ってる人いる?


134 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 08:41:45 ]
>>132

//ごにょごにょ
があるんなら、そういうときこそtry __finallyで囲むべき。

135 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 11:15:05 ]
>133
それが出たらぜひ買いたい。
出るといいなぁ。。

136 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 11:31:01 ]
DelとBCBが分かれてくれたのは良いんだけど、
AJAXがEnt版だけなので、Del.EntとBCB.Entを揃えるのはきつい。
というか、買えんだろうな。
Pro版は両方揃えてまつ。

137 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 01:05:21 ]
>>133
出ません

138 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 01:52:54 ]
えええーーー!!
CodeGearはC++を切り捨てるつもりか!
対して手間でもないだろうに、C++を付けろ!

139 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 02:08:36 ]
>>133
C++ Builder 2007も数か月内に出る。
Highlanderよりも早い時期。

>>136
スタンダードサポートに入ればおkじゃねえか?
それかHighlanderまで待てば全部入りだし。

140 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 03:28:45 ]
BDS2006からHighlanderへの優待コースはあるのでしょうか?



141 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 17:14:14 ]
当然あるだろ

142 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 17:51:04 ]
AC版でも、ですか?

143 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 21:26:41 ]
アカデミック版のこと?
買ったことないから知らない。
BDS2006の時にアップグレード価格で購入できたのなら、今回も同じじゃないのか?

144 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 21:44:29 ]
アップグレードの時は、AC版も通常版と同じ値段で通常版にアップグレードできる。

145 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 08:52:51 ]
>>139
それ、AJAX付き?

146 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 21:45:30 ]
まだ情報が出てない。


147 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 08:59:31 ]
TListView の HideSelection 的なことを TStringGrid でやりたいのですが
どうしたらいいのでしょうか?

Delphiでそれらしきものを見つけたのですがナニがナニやら・・・
ttp://forum.nifty.com/fdelphi/samples/00600.html


148 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 23:32:04 ]
>147
そのサンプルはDelphi上でTStringGridを継承した新しいコンポーネントを作るというもの。
それで問題なければ新規ユニット(.pas)をそのままサンプルのとおりに作ってパッケージに組み込めばいい。

149 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 01:21:23 ]
TStringGridって基本的にアレだから使いたくない






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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