くだすれC++Builder(超初心者用)その2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/04/06(木) 16:33:24もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。
Borland Home Page
http://www.borland.co.jp/
<前スレ>
くだすれC++Builder(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1117225464/l50
<兄弟スレ>
くだすれDelphi(超初心者用)その31
http://pc8.2ch.net/test/read.cgi/tech/1142594051/l50
0698デフォルトの名無しさん
2006/10/11(水) 00:28:20そういう風に自分の考えている課題を最初から質問で提示すればいいんだよ。
そのほうが適切なレスがつきやすい。
>たとえば、exeファイルクリックしたらはじめに設定ファイルを
>必ず読みに行くとか、など考えられるかもです。
それはメインフォームのコンストラクタでやるのが適切。
BCBではFormのOnCreateイベントを使うのは推奨されていない。
0699デフォルトの名無しさん
2006/10/11(水) 00:34:31教えて欲しいんですが、OnCreateが推奨でない根拠ってなんでしょうか?
バグあり、みたいな話?
0700デフォルトの名無しさん
2006/10/11(水) 00:46:54>注意 フォームのコンストラクタとのやり取りが不良になる可能性があるので,
>C++Builder で OnCreate イベントを使うことはお勧めできません(OldCreateOrder を参照)。
>かわりに,フォームコンストラクタをオーバーライドすることをお勧めします。
BCB使いには常識みたいな話なんだけど
0701デフォルトの名無しさん
2006/10/11(水) 00:53:41ありがとうございます。
メインフォームのコンストラクタですか。
今いろんなサイト調べてみたんですが、
メインフォームのコンストラクタというのは、
下記のことでよかったでしょうか。
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
自身がなくて。。。
すみませんが、よろしくお願いします。
0702デフォルトの名無しさん
2006/10/11(水) 00:58:56そだよ
あんた、悪いこと言わんからBCB以前にC++の入門書読みな
あたりまえだがC++を理解してなきゃBCBは使えないよ
0703デフォルトの名無しさん
2006/10/11(水) 01:13:01しらんかったー!
0704デフォルトの名無しさん
2006/10/11(水) 12:09:55ありがとうございます。
がんばります。
0705デフォルトの名無しさん
2006/10/11(水) 20:27:48Hoge( と入力しただけで5秒くらい待たされたり、
変数などにマウスカーソルを乗せただけで、同じく5秒ほど待たされます。
BDS2006ですが、PCがクソなのでしょうか
0706デフォルトの名無しさん
2006/10/11(水) 20:34:20IDE SpeedFixを入れろ。
0707デフォルトの名無しさん
2006/10/11(水) 21:42:520708デフォルトの名無しさん
2006/10/11(水) 21:45:370709デフォルトの名無しさん
2006/10/12(木) 00:40:54入れてみましたが、コンパイルは速くなったものの、コード補完の速度は変わりませんでした。
IDEが生産したForm1があるUnit1.cpp内では速いんですが、
自分で作ったcpp内だと倍以上時間がかかります。
自分の書いたコードを疑ってみます。
0710デフォルトの名無しさん
2006/10/12(木) 00:49:38プリコンパイルヘッダを作成した後じゃないと補完は速くならないよ。
0711デフォルトの名無しさん
2006/10/12(木) 01:10:42先日DelphiからBCBにスイッチしたばかりで、よく分からなかったのですが、
vcl.hもプリコンパイルヘッダというものなのですね。
それと、#pragma hdrstopまでにPCHをincludeするということも分かりました。
DelphiのようにSysUtils.hppとかClasses.hppをincludeしてただけだったので、遅かったようです。
0712デフォルトの名無しさん
2006/10/12(木) 03:56:43自分で作ったアプリケーションの起ち上がるプロセスの個数を
制限したいのですが、どのような方法があるのでしょうか。
例えば、IE(ブラウザ)の場合、いくらでも窓を立ち上げることができます。
ctrl+alt+delでwindowsタスクマネージャを見ると、プロセスが
複数なのがわかります。
この個数を制限したいです。
よろしくお願いします。
0713デフォルトの名無しさん
2006/10/12(木) 05:17:530714デフォルトの名無しさん
2006/10/12(木) 13:53:42ありがとうございます。
セマフォ勉強します。なんか聞いたことあります。
ちょっと違う方法なのですが、
タスクマネージャのタスク一覧みたいに、現在動いているタスク一覧の取得して、
その中に、これから起動しようとしているプロセスの名前があったら
起動できない。というふうにするのはどうでしょうか。
他のアプリケーションのプロセス名と偶然名前が同じになってしまったとき、
起動しなくなってしまう場合があるかもしれないのですが、
もしこれを回避するには、アプリケーションのある場所のパスを比較
するということになりますでしょうか?
よろしくお願いします。
0715デフォルトの名無しさん
2006/10/12(木) 14:05:29エクスプローラからListViewにD&Dはできたのですが、
逆にListViewからエクスプローラにファイルをD&Dする方法を教えてください。
0716デフォルトの名無しさん
2006/10/12(木) 15:32:02単純にFMOとかの共有メモリに起動プロセス数書きこんどけば?
0717デフォルトの名無しさん
2006/10/12(木) 15:35:21DoDragDrop、IDropSourceあたりで検索。そこそこ面倒。
ただしこれが分かってれば他アプリからテキストや画像、URL情報のドラッグしてきても受け取れるようになる。
0718デフォルトの名無しさん
2006/10/12(木) 18:58:39onshowイベントの実行できないんですが、どこがおかしいのか教えていただけ無いでしょうか。
エラーは無いのですが、onshowイベントが起こらないで、そのままウィンドウが表示されてしまいます。
ヘッダーファイルの書き方が違うんでしょうか。
よろしくお願いします。
includeなど省略してます。
○unit1.cpp
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TForm1::FormShow(TObject *Sender)
{
ShowMessage("hello");
}
○unit1.h
class TForm1 : public TForm
{
__published:// IDE 管理のコンポーネント
void __fastcall FormShow(TObject *Sender);
private:// ユーザー宣言
public:// ユーザー宣言
__fastcall TForm1(TComponent* Owner);
};
extern PACKAGE TForm1 *Form1;
0719デフォルトの名無しさん
2006/10/12(木) 19:08:130720デフォルトの名無しさん
2006/10/12(木) 19:25:23dfm早速調べてみます。
オブジェクトインスペクタで、OnShowイベントをダブルクリックして
書くと大丈夫でした。
builderなんとなくわかってきたかもしれません。
5時間ぐらい考えてたので泣けてきました。
でも解決してよかった。ありがとうございました。
0721デフォルトの名無しさん
2006/10/12(木) 19:31:09そうやって勉強していくもんだ。
dfmがやってることをコードで書く場合は、
this->OnShow = FormShow;
もしくは、
Form1->OnShow = FormShow;
だお。
TFormがOnShowというプロパティを持ってて、
実体はメソッドのポインタ。
VCL の Clickメソッドの中でそのプロパティがAssignされていたら実行する、
となっている。
0722デフォルトの名無しさん
2006/10/12(木) 19:33:57dfmとコードとどういう関係かっていうと、
プロパティの初期値をコードで書く代わりに、
GUI(Object Inspector)で手で設定してファイル保存したのがdfm。
Object InspectorのEventsタブに切り替えると、イベントハンドラのプロパティを目で見える。
0723デフォルトの名無しさん
2006/10/13(金) 22:53:17C++を学びたいと思い現在悪戦苦闘しています。
押されたキーコードを表示するプログラムを書いてみたのですが
キャストのところが我ながら無理矢理表示させているような気がしてなりません。
本来はどう記述するべきなのでしょうか?
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
ShowMessageFmt("%.4x", &(TVarRec)Key, 0);
}
0724デフォルトの名無しさん
2006/10/14(土) 00:14:26BCBだとVCLのFormat系使わずに、AnsiString::sprintf使うことが多いと思う。
こんな感じに。
ShowMessage(AnsiString.sprintf("%02X", Key));
0725デフォルトの名無しさん
2006/10/14(土) 02:33:47ARRAYOFCONSTマクロを使うてもある
ShowMessageFmt( "%.4x", ARRAYOFCONST((Key)) );
0726723
2006/10/14(土) 03:27:30サンクスです。
DelphiではAnsiStringはクラスではなかったのでそんなルーチンがあるとは気付いてませんでした。
また、ARRAYOFCONSTマクロはDelphiにはなかったのでこちらの方も勉強になりました。
0727デフォルトの名無しさん
2006/10/14(土) 21:51:34しょうがないので今まで使ってこなかったのですが、何が原因なのでしょうか。
0728デフォルトの名無しさん
2006/10/16(月) 00:05:05もしBDS2006ならば、BCBに限らず要らんコトしすぎだから。
メモリは1GB推奨だってさ。アフォか?
俺はコードだけEMエディタ使ってるけど。
0729デフォルトの名無しさん
2006/10/17(火) 19:42:41関数printfで標準出力が見たいんですが、方法ありますでしょうか。
dos窓でexeファイル実行すると、アプリのフレームは表示されますが
すぐに戻ってしまいます。
それか、標準出力を表示させるパーツとかないでしょうか。
0730デフォルトの名無しさん
2006/10/17(火) 20:38:25まさかエクスプローラでダブルクリックしてないだろうな?
0731デフォルトの名無しさん
2006/10/17(火) 20:43:170732デフォルトの名無しさん
2006/10/17(火) 21:22:51void __fastcall TForm1::Button1Click(TObject *Sender)
{
printf("hoge");
}
ボタン押したら、hogeって表示させようと思ってるんですが。
dos窓で、Project1.exeを入力してEnter押してます。
>>731
コマンドラインからbcc32を入力して-apを付けるんですよね。
-apってコンソールアプリケーションのことみたいですが、
作りたいのはWINアプリです。説明が下手ですみませんでした。
0733デフォルトの名無しさん
2006/10/17(火) 22:59:30IDEのプロジェクトオプションのリンクのとこに追加オプションというのがある。
エクスプローラから実行してもdos窓がでるけどフォームとかは使えるよ。
0734デフォルトの名無しさん
2006/10/18(水) 00:24:48をイベントログで見るとかそういう話じゃないの?
0735デフォルトの名無しさん
2006/10/18(水) 00:52:01バージョン6使ってますが、プロジェクトオプションにいくと
いろんなタブがあって、その中にリンカ、リンカ(詳細)とかありました。
全部のタブ見てみましたが、どこを変更すればよいかわかりません。
>>734
OutputDebugString検索してみました。
リアルタイムで表示できないってありましたが、ほぼこれをしたいです。
printfみたいにリアルタイムで表示させたいんです。
ついでにこの解説してあるページにprintfについて、
基本的にprintfはWINDOWSで使えないとありました。
MEMOに表示させるとかしか無いでしょうか。
0736デフォルトの名無しさん
2006/10/18(水) 02:12:50実際にコーディングして確かめました?
OutputDebugStringが実行されると即時表示されるのですが。
TMemoで使うならsprintfになると思うけど、、。
0737デフォルトの名無しさん
2006/10/18(水) 07:25:22やってみたところリアルタイムで出てきました。
すごい便利です。
ありがとうございました。
0738デフォルトの名無しさん
2006/10/19(木) 07:27:41できたところなんですが、フォーム外から取得する方法知りたいです。
エクスプローラから、ファイルをフォーム内に落として、
ファイル名を取得したいと思ってます。
よろしくお願いします。
0739デフォルトの名無しさん
2006/10/19(木) 07:43:43でググればいいと思うよ
0740デフォルトの名無しさん
2006/10/19(木) 09:15:02カタカナで検索したほうがよかったですか。
参考になりそうなページがいくつか出てきました。
ありがとうございました。
0741デフォルトの名無しさん
2006/10/19(木) 12:59:37逆はなんであんなに…
0742デフォルトの名無しさん
2006/10/19(木) 14:30:53拡張コンボボックスがインストできない。
[リンカ エラー] Error: 未解決の外部参照 '__fastcall Dialogs::TOpenDialog::Execute(void *)'
が C:\DOCUMENTS**** から参照されました
BDS2005
0743デフォルトの名無しさん
2006/10/20(金) 08:20:32ファイルドロップの受け入れだけOS標準のラッパーがあると考えるんだ。
0744デフォルトの名無しさん
2006/10/21(土) 18:21:53Unit1.~h Unit1.~CPPとかたくさんできるんですがなんででしょうか。
プロジェクト名とCPPファイルの名前聞いてきますが、
名前変えただけだと、リンクエラーみたいに、コンパイルできないときもあるんです。
そのうち、Project1に上書きしてしまったり。
なんかこわいです。
0745デフォルトの名無しさん
2006/10/21(土) 19:25:14それバックアップファイルだから。
BDS2006からちゃんと別フォルダに作られるようになったよ。
0746デフォルトの名無しさん
2006/10/21(土) 20:58:53つ [環境オプション]
0747774
2006/10/21(土) 22:13:460748デフォルトの名無しさん
2006/10/21(土) 23:50:22はやってんのか、それ
0749デフォルトの名無しさん
2006/10/22(日) 04:55:34お返事どもです。
バックアップファイルでしたか。
閉じるときにプロジェクトとCPPファイル聞いてくるのも
なんとなくわかりました。
0750デフォルトの名無しさん
2006/10/22(日) 09:34:23プロジェクト名とCPPファイル名を同じにすると、
WINMAINが無いとか出てくるみたいです。
これが原因だったのかなぁ。
0751デフォルトの名無しさん
2006/10/22(日) 21:12:52>>655>>657>>660
0752デフォルトの名無しさん
2006/10/22(日) 23:55:33あああ、ほんとだ。
すみませんでした。
でも、予想が当たって良かったです。
0753デフォルトの名無しさん
2006/10/24(火) 23:41:47"abc" → "000abc"
0754デフォルトの名無しさん
2006/10/25(水) 00:40:01AnsiString str = Edit1->Text;
Edit2->Text = str.StringOfChar('0', MaxLength - str.Length())+str;
0755デフォルトの名無しさん
2006/10/25(水) 20:45:15exampleの httpdemoがコンパイルできないんです。
0756デフォルトの名無しさん
2006/10/25(水) 21:25:13printfの書式?それとも文字列に出力?
http://ja.wikipedia.org/wiki/Printf
文字列バッファへの出力ならsprintf
0757デフォルトの名無しさん
2006/10/26(木) 15:19:38取得したいのですが、どうすればいいでしょう?
0758デフォルトの名無しさん
2006/10/26(木) 16:12:24CaretPos
0759デフォルトの名無しさん
2006/10/26(木) 18:07:11module.cppに、モジュールの関数を定義しました。
void __fastcall TDataModule::say_num(){
//数字を表示するだけです
printf("%d\n",n);
}
この関数を使う方のファイルjikko.cpp(ジッコウ)
でグローバル変数int nを定義しました。
グローバル変数なのでそのまま使えると思ったのですが、
コンパイルすると、[C++ エラー] module.cpp: E2451 未定義のシンボル n
と出てしまいます。確かにmodule.cppでは、定義してないんです。
どのようにすると、jikko.cppのnをモジュールmodule.cppのnに渡せるのでしょうか。
jikko.cppのコードですが、int nを定義して下記のように呼び出しているだけです。
DataModule->say_num();
よろしくお願いします。
0760デフォルトの名無しさん
2006/10/26(木) 18:16:05補足です。
say_num()関数にintの引数を取れるように
する以外で考えております。
よろしくお願いします。
0761デフォルトの名無しさん
2006/10/26(木) 19:00:15jikko.cppで、
extern int n=1;と定義
module.cppで、modu_ex.cppのnを参照するため
#include "modu_ex.cpp"
とすると、n=1が参照できるようになりました。
この処理で大丈夫でしょうか。
0762デフォルトの名無しさん
2006/10/26(木) 19:31:16基礎を書籍等で習得するべき。
掲示板の数行のやりとりで教えられる領域じゃないように見える。
0763デフォルトの名無しさん
2006/10/26(木) 20:27:02聞きたいのはメッセージフックに関してです。
通常のアプリケーションではWndProcのオーバーライトで
独自のメッセージのやり取りおよび、イベントの受け取り等は出来きたのですが、
それをコンポーネント化しようとすると、呼び出し元のWndProcを操作せねばならず
他で見かけたDelphiソースみたいに、親のWinProcアドレスを挿げ替える方法も
出来ないものかと色々ためしましたが上手く行きませんでした。
で、ローカルフック関係で色々調べて試して見たのですが、
MFC関連は結構引っかかって色々試しては見たのですが、
これもコンポーネントとして持たせようとすると上手く行かないのです。
理想は、プロパティに独自のメッセージを入れると、そのメッセージが親アプリに
送られてきた時にイベントを発生させてくれるものを作りたいのです。
お勧めのサンプルソースやHP等ありましたら宜しくお願いします。
0764763
2006/10/26(木) 20:32:01もう3日ほど試行錯誤でてんぱってるみたいです(^^;
短く書くと、ローカルフックコンポーネントを作りたいので
何処か参考になるソースやHPがありましたら宜しくお願いします。
……二行で済む話を長々書いてしまったorz
0765デフォルトの名無しさん
2006/10/26(木) 20:48:32お返事ありがとうございます。
>module.cppで、modu_ex.cppのnを参照するため
>#include "modu_ex.cpp"
すみません。ファイル名間違えてました。
>module.cppで、jikko.cppのnを参照するため
>#include "jikko.cpp"
でした。
ネットで「externで宣言したら、使いたいユニットで
その宣言したファイルをインクルードする。」
と書いてあったのでそのままインクルードしました。
手元の本見たら、ヘッダーファイルにextern宣言してました。
jikko.hを作ってそこで宣言したほうが良いってことでしょうか?
0766デフォルトの名無しさん
2006/10/27(金) 01:07:57//jikko.h
extern int n;
//jikko.cpp
int n;
//module.cpp
#include "jikko.h"
これでヲケ
ただし、ひじょ〜〜〜〜〜〜〜に不味い設計
BCBのフォーム周りは似た事してるけどさ
正解は
>say_num()関数にintの引数を取れるようにする
またはポインタないし参照をとるようにする
0767デフォルトの名無しさん
2006/10/27(金) 04:11:35詳しく解説ありがとうございます。
あんまり良く無い設計でしたか。
特別なときだけ使うようにしたいと思います。
0768デフォルトの名無しさん
2006/10/27(金) 17:15:33エクスプローラからファイルをドラッグアンドドロップして
ファイル名を取得してTEditに表示させたいのですが、
ドロップしたマウスカーソル位置がEdit1上ならファイル名はEdit1に、
同様にマウスカーソル位置がEdit2上ならファイル名はEdit2に表示させたいのです。
表示させるTEditのターゲットを切り替えたいのです。
DragAcceptFiles(Edit1->Handle, true);
DragAcceptFiles(Edit2->Handle, true);
とすべきなのでしょうか。またその場合のMESSAGE_MAPはどのように記述すべきでしょうか。
とりあえず
DragAcceptFiles(Handle, true);
とした上で、DragQueryPointで取得した座標値でターゲットの判断をしていますが、
こんなことしなくても出来るんじゃないかと思いまして。
0769デフォルトの名無しさん
2006/10/27(金) 19:52:32TEditから派生させてWindProcメソッドをオーバーライド
0770デフォルトの名無しさん
2006/10/27(金) 22:34:571つ目は、乱数の値を取得する際なんですが、どのサイトを見ても乱数の種でTime関数を
使うのを推奨してるのですが、分母が大きい場合(65536)に実行すると
時間の経過と共に徐々に取得してくる数値が大きくなってしまいます。
クリック時に乱数取得するように組んでみると…
クリック→100代 クリック→200代 クリック→300代
という風に徐々に徐々に増えていってしまいます。
逆にSRAND関数を使わない場合はちゃんとバラけた乱数を拾ってきます。
プログラムを起動しなおしても、同じ数値は拾ってきません。
これはC++BuilderのRand関数はC++などとは違い、種をリセットしない方が
良いという事なのでしょうか?
もう一つは、先ほどの分母に関してなのですが
Rand関数で返ってくる値は32768が最大なのでしょうか?
65536個の乱数を取得したいと考えているのですが、それは無理なのでしょうか?
ぜひ教えて頂ければと思います。
よろしくお願いします。
0771デフォルトの名無しさん
2006/10/27(金) 22:46:17通常、乱数ジェネレータの初期化(srand)は1回だけやればいい。
あと、0x7FFF以上の値が欲しければ_lrandを使えば0x7FFFFFFFまで取れる。
0772デフォルトの名無しさん
2006/10/27(金) 23:01:33ありがとうございました!!
_lrandで無事解決しました。
2番目の質問の方は、どうやらsrand関数にばかり目が行ってて
randomize関数を毎回呼び出していたために変な取得の仕方を
してたような感じでした。
多分これで大丈夫だと思います。助かりました!
ありがとうざいます。
0773デフォルトの名無しさん
2006/10/27(金) 23:24:56int a,b;
float c;
で宣言しておき
c = a / b;
とする場合に小数点1桁までをLabelで表示したい場合が分かりません。
ceil関数なども調べてみたのですが、小数点1桁までの切り上げが出来ませんでした。
質問ばかりで申し訳ありませんが、よろしくお願いします。
0774デフォルトの名無しさん
2006/10/28(土) 00:08:06書式付の編集で四捨五入をしてくれる
char str[100];
sprintf(str, "%5.1f", (double)a/b);
0775デフォルトの名無しさん
2006/10/28(土) 01:18:42//---
曰 void ...
│ {
│ ...;
└ }
//---
こんな感じが普通だと思うんですが、
曰 //--- //--- //---
│ void ... void ... 曰 void...
│ { 曰 { │ {
└ ...; . │ ...; . └ ...;
} │ } }
//--- . └ //--- . //---
このような風になってしまいます。
文法的には間違ってないですし、もちろんコンパイルもできます。
書き方が悪いのでしょうか。
0776デフォルトの名無しさん
2006/10/28(土) 13:16:00例えばdouble型の数値a,b,cがあって a/bの結果をcに代入してLabelで小数点1桁まで表示したい場合
double a,b,c;
c = a / b;
Label1->Caption = c;
とすると小数点以下が延々と表示されます。これを小数点1桁までの表示としたいのですが
>>774でお答え頂いたような編集式で記述するのでしょうか?
それともLabelのプロパティなどで設定出来るのでしょうか?
0777デフォルトの名無しさん
2006/10/28(土) 13:35:01Label1->Caption = str;
すればいいんでねーの?
0778デフォルトの名無しさん
2006/10/28(土) 14:53:19Label1->Caption = FormatFloat("0.0", c);
しっかし、Label1->Caption = c;が、なんでエラーにならんのだ。
AnsiStringは、数値を代入してもOKだったなんて。
今まで、Float(Int)ToStr(***)と無駄な事をしていた・・・
0779デフォルトの名無しさん
2006/10/28(土) 17:05:54っ[ AnsiStringのコンストラクタ ]
0780デフォルトの名無しさん
2006/10/29(日) 07:49:070781デフォルトの名無しさん
2006/10/30(月) 13:44:57どういう方法があるでしょうか?
0782デフォルトの名無しさん
2006/10/30(月) 14:01:16RFC嫁
0784デフォルトの名無しさん
2006/11/02(木) 14:33:46typedef void __fastcall (__closure *TDropFileEvent)(System::TObject *Sender, std::vector<AnsiString> Files);
class TMyEdit : public TEdit
{
public:
__fastcall TMyEdit(HWND ParentWindow) : TEdit(ParentWindow) { DragAcceptFiles(Handle, TRUE); }
__published:
__property OnDropFile = { read=FDropFileEvent, write=FDropFileEvent };
private:
TDropFileEvent FDropFileEvent;
protected:
virtual void __fastcall WndProc(Messages::TMessage &Message) {
if (Message.Msg == WM_DROPFILES)
{
std::vector<AnsiString> files;
// filesにファイル名格納
FDropFileEvent(this, files);
}
TEdit::WndProc(Message);
}
};
0785デフォルトの名無しさん
2006/11/02(木) 15:06:08これをどうやって使えばいいでyそうか?
0786デフォルトの名無しさん
2006/11/02(木) 21:26:10( ゚ Д゚)
( つ旦O
と_)_)
_, ._
( ゚ Д゚) ガシャ
( つ O. __
と_)_) (__()、;.o:。
゚*・:.。
0787デフォルトの名無しさん
2006/11/03(金) 00:51:04まんま>>769
これの意味が分からんと言われたら
C++の入門書を読みましょうとしか答えようがないな
0788デフォルトの名無しさん
2006/11/03(金) 00:52:17↓こっちが正解
>>784
まんま>>769
これの意味が分からんと言われたら
C++の入門書を読みましょうとしか答えようがないな
0789デフォルトの名無しさん
2006/11/03(金) 07:58:19というかただ単にTApplicationEvents::OnMessageでメッセージ拾って
Edit1、Edit2とHanlde比較すればすむんじゃね?
0790デフォルトの名無しさん
2006/11/06(月) 18:12:33'-'を検索し、'-'を全て無くしても同じ結果でした。
BCB5で新規プロジェクトを作成し何も変更せずに保存したものは、BCB6でも開けます。
何かわかりますか?
0791デフォルトの名無しさん
2006/11/06(月) 19:04:23makeファイルの-オプションのところとか。
0792デフォルトの名無しさん
2006/11/06(月) 19:31:06>>791
「makeファイルの-オプションのところ」とはどこで確認するのでしょう??
なにぶん初心者なもので・・・。
メイクファイルの作成で出来た「***.mak」はテキストで開いてみたのですが、
BCB6でも開ける新規プロジェクトの「***.mak」と比較しても特にめぼしいとこはありませんでした。
また、ツール→環境オプション、プロジェクト→オプションも見たのですが特にめぼしいとこは
ありませんでした。
0793デフォルトの名無しさん
2006/11/06(月) 21:48:02解決しました。
BCB5で、プロジェクト→オプション→Pascal→構造体を境界配置 にチェックをつけたら
BCB6で開けました。理由は不明。
0794デフォルトの名無しさん
2006/11/07(火) 02:36:26int color;
};
//1番
Color* c = new Color;
//2番
Color* c2 = new Color();
1番と2番の書き方って何か意味の違いはあるのでしょうか
0795デフォルトの名無しさん
2006/11/07(火) 11:44:16BCB5→BCB6 移行の続きなのですが、今度はリンクの所で下記エラーになります。
[リンカ致命的エラー]Fatal:ファイル VCLE50.LIBが開けません。
検索するとBCB5のフォルダ((BCB)\Lib\Debug/Release)には有り、BCB6のフォルダには無し。
コピーしたら、リンクは出来たのですがVCLE50.LIBはBCB5のファイルですよね?
VCLE.LIBがBCB6のフォルダにはあるのですが・・・。
プロジェクトファイルの下記部分を確認するような事が書いてあったので、確認してみましたが
VCLE50.LIB は書いてませんでした。
<SPARELIBS value="rtl.lib vcl.lib"/>
<PACKAGES value="vcl.bpi rtl.bpi"/>
なぜ、VCLE50.LIB を見ようとしてしまうのでしょう??
0796デフォルトの名無しさん
2006/11/07(火) 15:57:21クライアント WindowsXP
DB SQL Server2005
開発環境 Borland C++Builder6.0 Pro
上記環境でアプリを作成するのですが、SQL Serverへのアクセスは何が一番最適でしょうか?
SQL Server2005の文献を読む限り、「.NET Framework Data Provider for SQL Server」の利用が
推奨と書いてあり調査したがどうもBorland C++ は.NETに対応していない?ようで、SQL Native Clientを使用する?ようなのですが、
どのコンポーネントを使えば良いか分かりません。(TADO***,TSQL***,TDatabase・・・)
アドバイスお願いします。
(接続→更新→終了までの簡単なサンプルコードを教えて頂けると助かります。
参考サイトでも構いません。)
0797デフォルトの名無しさん
2006/11/07(火) 22:38:41RichEdit1->Paragraph->LeftIndent=xx; として
RichEdit1->Lines->Add("xxxxx");
としても変化がありませぬでした。
■ このスレッドは過去ログ倉庫に格納されています