くだすれC++Builder(超初心者用)
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2005/05/28(土) 05:24:24もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。
Borland Home Page
http://www.borland.co.jp/
兄弟すれ
くだすれDelphi(超初心者用)その24
http://pc8.2ch.net/test/read.cgi/tech/1115581376/l50
0809デフォルトの名無しさん
2006/01/29(日) 18:41:33if (Application->MessageBox("保存しますか?", "終了", MB_YESNOCANCEL) == IDCANCEL)
Action = caNone;
0810デフォルトの名無しさん
2006/01/29(日) 20:06:34OnCloseQueryがそのためのイベント
0811デフォルトの名無しさん
2006/01/29(日) 22:34:57ありがとう。
>>810
ウィンドウの×を押した時のCloseイベントをキャンセルしたかったので。
0812デフォルトの名無しさん
2006/01/29(日) 22:44:16>ウィンドウの×を押した時のCloseイベントをキャンセルしたかったので。
だからそのためのイベントがOnCloseQuertyだってのに、この池沼
0813デフォルトの名無しさん
2006/01/29(日) 22:54:31bool CanClose = false;
if (FOnQueryClose) FOnQueryClose(this, CanClose);
if (!CanClose) return;
if (FOnClose) FOnClose(this);
}
0814デフォルトの名無しさん
2006/02/02(木) 09:57:56【コンパイラ名】Borland C++ 5.5.1
【質問内容】
makefileの書き方についての質問です。例えばディレクトリ構成が以下の時。
---------------
dir1
┣main.cpp
┣main.h
┣Makefile1
┣dir2
┃┣a.cpp
┃┣a.h
┃┗Makefile2
┗dir3
┣b.cpp
┣b.h
┗Makefile3
---------------
Makefile1を実行するとMakefile2とMakefile3が実行されa.objとb.objを作成。
その後a.objとb.objよりmain.exeを作成。このようなMakefile1を作成したいと
思い色々調べたのですがわかりませんでした。
参考になりそうなサイト
ttp://www.ecoop.net/coop/translated/GNUMake3.77/make_toc.jp.html
ttp://www.geocities.co.jp/Milano/8000/bcc/make.html
ttp://d.hatena.ne.jp/kurai/19791002
ttp://homepage3.nifty.com/kaku-chan/make/chapter_006.html
0815814
2006/02/02(木) 10:00:15どなたか、知恵を貸してください
0816デフォルトの名無しさん
2006/02/02(木) 10:09:06タダで使えるBorland C++ Part5
http://pc8.2ch.net/test/read.cgi/tech/1135127048/
0817デフォルトの名無しさん
2006/02/03(金) 06:24:030818デフォルトの名無しさん
2006/02/03(金) 07:45:17私も現在トライしてまして(ステータスバーにLEDを表示する)、
もうちょいでできそうです。
「StatusBar にアイコン表示」
あたりのキーワードでググったページを参考にしてますが、
他に参考になるところがあれば、私も紹介して頂きたいです。
0819デフォルトの名無しさん
2006/02/03(金) 18:13:23ステータスバーのプロパティ「Panels」でStatusPanelを新規追加して
その新規追加したStatusPanelのプロパティをpsOwnerDrawにしてやる
ステータスバーのイベントハンドラ OnDrawPanelに描画処理を書いてやる
とできた
0820デフォルトの名無しさん
2006/02/04(土) 06:58:27あり^^
0821デフォルトの名無しさん
2006/02/04(土) 11:48:14行番号を表示するのはどうやってやるんですか?
カーソル位置の行番号は表示されるんですが、行ごとにはどうやって
やるのかヘルプ見ても分かりません。
0822デフォルトの名無しさん
2006/02/05(日) 06:54:29:se nu
0823デフォルトの名無しさん
2006/02/07(火) 14:11:12取り出すにはどうしたらいいでしょうか?
例「あいうえおかきくけこ」という文字列があり
「おか」という指定後を与えると
「おかきくけこ」という文字列が欲しいです
0824デフォルトの名無しさん
2006/02/07(火) 15:23:36s = "あいうえおかきくけこ";
ss = s.Delete(1,s.Pos("おか"));
0825デフォルトの名無しさん
2006/02/07(火) 15:37:46ss = s.Delete(1,s.Pos("おか")-1);
かな
0826デフォルトの名無しさん
2006/02/07(火) 15:41:350827デフォルトの名無しさん
2006/02/07(火) 17:39:31これって文字列中に"おか"が入っていなかった場合の動作は平気なの?
0828デフォルトの名無しさん
2006/02/07(火) 18:15:28エラー処理って言葉知ってる?
0829デフォルトの名無しさん
2006/02/07(火) 19:53:41関数名を教わったんだから、その先は自分でヘルプ引きなよ
例外のことも書いてあるから。
そんなんじゃ進歩しないよ
0830デフォルトの名無しさん
2006/02/07(火) 22:07:00ゲームを作りたくてどの言語が良いのか迷ってます。
書店で見た感じではC++が多そうだったのですが、
どの言語が向いてる、とかはありますか?
0831デフォルトの名無しさん
2006/02/07(火) 22:34:07つーか、ゲーム製作板池
0832デフォルトの名無しさん
2006/02/08(水) 07:27:150833デフォルトの名無しさん
2006/02/08(水) 10:45:460834デフォルトの名無しさん
2006/02/08(水) 11:13:32その動きに沿って黒線が表示される、という
簡単なペイントみないなモノを作ったんですが、
印刷してみても真っ白になってしまいます。
ImageをPaintBoxに代えてみたりBitmapを考えてみたり
色々してみましたが、上手くいきません。
おそらく物凄い初歩的なミスだと思うのですが・・・
わかる方がいらしたら教えていただけないでしょうか?
0835デフォルトの名無しさん
2006/02/08(水) 14:07:17そんなに難しくはないとはいえ、メソッド一発で印刷してくれるわけじゃない。
その説明で問題点を言い当てるのは不可能。
TImage に描いたものと同じものを TPrinter の Canvas に描いて、
それを出力するというのが、順当な方法(他にもある)
0836デフォルトの名無しさん
2006/02/09(木) 11:00:14void __fastcall TForm1::Print1Click(TObject *Sender)
{
RichEdit1->Print(Caption);
TPrinter *Prntr = Printer();
Prntr->BeginDoc();
Prntr->Canvas->Draw(0,0, Image1->Picture->Graphic);
Prntr->EndDoc();
}
こんな感じにしているんですが・・・コレで問題点がわかりますでしょうか?
0837デフォルトの名無しさん
2006/02/09(木) 11:02:20ビットマップファイルから読み込んで表示させることができません。
void型の値は許されない
とか
TCanvas*型で定義されているのでvoidは渡せない
とエラーが出てしまいます。
何か別のを使うのでしょうか?
教えてください。おねがいします。
if(ComboBox1->ItemIndex==1){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("001.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
else if(ComboBox1->ItemIndex==2){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("002.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
else if(ComboBox1->ItemIndex==3){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("003.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
else if(ComboBox1->ItemIndex==4){
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),
BMP->LoadFromFile("004.bmp"),
Rect(0,0,BMP->Width,BMP->Height));
}
0838デフォルトの名無しさん
2006/02/09(木) 12:54:33BMP->LoadFromFile("001.bmp");
PB1->Canvas->CopyRect(Rect(20,20,20+BMP->Width,20+BMP->Height),BMP,Rect(0,0,BMP->Width,BMP->Height));
でいけるんじゃないかな。
あと、switch-case の方が見通しがよくなるのと、PB1->Canvas->Draw(20,20,BMP);
の方が楽じゃね?
>>836
Image1 に対して、Lineto とか行ってる筈で、それと同じことを同時に
Prntr->Canvas に対して行う。
それが面倒で、どうしてもそのままのものを印刷したいと思ったら、
bitmap をそのまま出力する手もあるけども、これは少し難しい。
http://www.hey-to.net/ML-archive/vcppML/1999/msg10787.html
0839デフォルトの名無しさん
2006/02/09(木) 13:03:50http://live22x.2ch.net/test/read.cgi/news/1139444093/
0840デフォルトの名無しさん
2006/02/09(木) 13:59:150841デフォルトの名無しさん
2006/02/09(木) 14:24:270842836
2006/02/09(木) 14:26:12アドバイスありがとうございます。
なんとかぎこちないながらも印刷できるようになりました。
印刷のときとても小さく印刷されてしまうのですが、大きく印刷する方法等はあるのでしょうか?
プリンタのプロパティの出力サイズやズームをいじるとエラーが出てしまいます。
解決方法がわかるなら教えていただきたいのですが・・・。
0843デフォルトの名無しさん
2006/02/09(木) 14:35:50印刷までたどりつけば、あとはヘルプと検索で自力解決できると思うよ。
0844デフォルトの名無しさん
2006/02/09(木) 15:03:570845836
2006/02/09(木) 15:35:23やってみます。
0846デフォルトの名無しさん
2006/02/09(木) 15:44:45ありがとうございます。
おかげで絵が表示されるようになりました!
ですが、ファイルの入出力を行うと
「ファイルが開けません」と、エラーが出て表示されなくなってしまいます。
何が間違っているのでしょう?
教えてください。お願いします。
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
Caption=OpenDialog1->FileName;
BMP->LoadFromFile("001.bpm");
PB1->Canvas->Draw(0,0,BMP);
0847デフォルトの名無しさん
2006/02/09(木) 15:51:480848デフォルトの名無しさん
2006/02/09(木) 16:01:35Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
Caption=OpenDialog1->FileName;
BMP->LoadFromFile("001.bmp");
PB1->Canvas->Draw(0,0,BMP);
でした。
お願いします。
0849デフォルトの名無しさん
2006/02/09(木) 16:14:54String path = GetCurrentDirectory()
SetCurrentDirectory(path)
で挟む。
0850デフォルトの名無しさん
2006/02/09(木) 16:24:14何を挟めばいいのでしょう??
0851デフォルトの名無しさん
2006/02/09(木) 16:28:33ヒントは十分(というか与えすぎたことを反省してる)だから、あとは自分で考える。
0852デフォルトの名無しさん
2006/02/09(木) 16:30:56できました!ありがとうございました。
0853836
2006/02/09(木) 16:48:28簡単な見落としがあるような気がするのですが・・・。
そう難しくないことなのでしょうか?
0854デフォルトの名無しさん
2006/02/09(木) 18:08:110855デフォルトの名無しさん
2006/02/09(木) 18:16:14Prntr->PageWidth と、Image->Canvas->Width の比率に合わせて大きく描く。
0856デフォルトの名無しさん
2006/02/10(金) 11:02:12何か不具合あったりするんでしょうか?
VC++2005 Expressよりよさそうなので使ってみようと思うのですが
0857デフォルトの名無しさん
2006/02/10(金) 13:02:13嘘はいかんよ嘘は。
0858デフォルトの名無しさん
2006/02/10(金) 15:08:450859デフォルトの名無しさん
2006/02/10(金) 15:10:470860デフォルトの名無しさん
2006/02/10(金) 16:16:53フヒヒスイマセン
0861デフォルトの名無しさん
2006/02/10(金) 19:25:41未承諾と書かれてしまう。
0862デフォルトの名無しさん
2006/02/10(金) 19:29:53どうすればいいですか?
0863デフォルトの名無しさん
2006/02/10(金) 19:32:40それはガセ
0864デフォルトの名無しさん
2006/02/11(土) 00:18:45嘘じゃないですよ
ttp://www.borland.pl/download/personal.shtml
ここから落としたのに当てたら日本語化されたんです
Borlandのページだからいいのかなと思うんだけど
0865デフォルトの名無しさん
2006/02/11(土) 21:41:06IdHTTPでproxyの設定を"インターネットオプションに従う"にするには
どうすればいいですか?
863 :デフォルトの名無しさん :2006/02/10(金) 19:32:40
>>862
それはガセ
0866デフォルトの名無しさん
2006/02/12(日) 00:51:030867デフォルトの名無しさん
2006/02/12(日) 01:21:09メモリ256で動く
0868デフォルトの名無しさん
2006/02/12(日) 01:32:59メモリ使用量が起動直後で20MBぐらいになってます
0869デフォルトの名無しさん
2006/02/12(日) 05:14:23スワップに耐えられる精神力を持ち合わせているかどうかが鍵だ。
ディスク残容量はいらないアプリは全部消せ。いける。
と言うか、アプリは全部自前で作ろうという気合いが必要だ。
それすらも出来ないのであればActiveBasicかHSPをお薦めする。
やはり精神力が重要だ。
0870デフォルトの名無しさん
2006/02/12(日) 05:29:14あほか。精神力、精神力って、体育系ですか?
スワップが嫌ならメモリ増やせばいいし、頭が悪い人にはプログラミングは出来ない。
0871デフォルトの名無しさん
2006/02/12(日) 06:33:08頭良いようには見えないな、とりあえず。
早朝からなに興奮してんだか。
0872デフォルトの名無しさん
2006/02/12(日) 07:52:16ネタにマジレスカコワルイ
なーつかしーw
0873デフォルトの名無しさん
2006/02/12(日) 14:05:13void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage("ぬるぽ");
}
0874デフォルトの名無しさん
2006/02/12(日) 14:17:25ガッ
0875デフォルトの名無しさん
2006/02/12(日) 22:44:560876デフォルトの名無しさん
2006/02/13(月) 09:48:03解決しました。有難うございました。
0877デフォルトの名無しさん
2006/02/13(月) 11:54:17どこに書かれるのか教えて!
だって悪痴をスルーしてるだけで、製品2つ(日本版、英語版)も買ったもん。
0878大倉
2006/02/13(月) 13:54:5210個の整数を並べ替えるプログラムを書く課題なのですが・・・
0879デフォルトの名無しさん
2006/02/13(月) 14:36:46たった10個ならバブルソートでもしとけば?
0880デフォルトの名無しさん
2006/02/13(月) 16:29:560881デフォルトの名無しさん
2006/02/13(月) 16:46:340882デフォルトの名無しさん
2006/02/13(月) 18:27:12全く同じexeを作るにはどうしたらいいんでしょうか?
0883デフォルトの名無しさん
2006/02/13(月) 18:54:290884デフォルトの名無しさん
2006/02/13(月) 23:47:41なにか簡単な方法がありますか?
scanlineで行えば良いのですが矩形領域のコピー位なら
なにか便利な方法が用意されている様な気がするのですが。
0885デフォルトの名無しさん
2006/02/13(月) 23:53:590886884
2006/02/14(火) 00:02:05有り難う!!
0887デフォルトの名無しさん
2006/02/15(水) 11:14:58さしあたっては今までBC++でできていたことがBCBでもできるか調べているところですが、
BC++のstreamable class(TStreamableBaseおよびその下位クラス)に相当するクラスはvcl
には無いのでしょうか。BC++だと例えばアプリで動的に生成させたオブジェクトをディスク
に書き込み、後からそのファイルを読んで保存した時点でのアプリの動作状態を復元する
ことができます(オブジェクトがTStreamableBaseを継承していれば)。
ところがBCBのヘルプを探してもそれに相当するクラスの記述が見つかりません。もとから
streamable classをサポートしていないのか、サポートしているなら適当なサンプルコード
がどこかに無いでしょうか。
0888デフォルトの名無しさん
2006/02/15(水) 11:48:34OWLもコンパイルできるんじゃね?
VCLなら、
TObject-TStreamがベースクラス、
それを派生したTResourceStreamとか、TFileStream、
TMemoryStreamとかがあるお。
0889デフォルトの名無しさん
2006/02/15(水) 11:55:19ちなみにアイコン化状態でWindowStateをみてもNormalだったので
0890デフォルトの名無しさん
2006/02/15(水) 11:59:270891デフォルトの名無しさん
2006/02/15(水) 12:53:19IsIconic(Application->Handle)
0892デフォルトの名無しさん
2006/02/15(水) 13:22:12馬鹿はレスしないでください
0893デフォルトの名無しさん
2006/02/15(水) 19:11:49*.pas はできそうなのに *.cpp のやりかたがわからない・・・
それに,パッケージのメイク(コンパイルって言い換えもなんだかなぁ)をすると,なぜリンクしようとするの?
なんだか頭が混乱してきました
どなたかアドバイスをください
0894デフォルトの名無しさん
2006/02/16(木) 16:09:270895デフォルトの名無しさん
2006/02/17(金) 00:03:300896デフォルトの名無しさん
2006/02/17(金) 15:04:51コード取得時にエラーが発生しました。
このインストール番号ではこれ以上登録キーを発行できません。
発行数を増やすにはボーランドインフォメーションサービスセンターにお問い合わせください。
0897デフォルトの名無しさん
2006/02/17(金) 18:54:390898デフォルトの名無しさん
2006/02/17(金) 19:28:510899デフォルトの名無しさん
2006/02/17(金) 20:25:13そのまんま
0900デフォルトの名無しさん
2006/02/18(土) 10:03:30下のようにフォームにボタンを設置してコードを書きました。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
色々処理;
}
後で、このボタンを押したときの処理を違う関数でも実行したくなったのですが、
Button1->OnClick(NULL);
とするか、
新しく自作関数を作り、そこに処理を書いて、2つの関数から呼び出す。
のどちらが良いと思いますか?
Button1->OnClick(NULL);の方が無駄がないような気がしたのですが迷っています。
0901デフォルトの名無しさん
2006/02/18(土) 11:07:23なんとなく、イベントハンドラ内はシンプルに、と考えてるから。
あとで引数を渡したくなった場合も対応しやすいし。
0902デフォルトの名無しさん
2006/02/18(土) 12:40:52ありがとうございますm(_ _)m
0903デフォルトの名無しさん
2006/02/23(木) 15:10:35に付属のC++ builderを使うようになりました。
以前に6で作成した計算プログラムを2006でビルドすると計算結果が違うため、デ
バッグをしようとしています。6であればプロジェクト−オプション−コンパイラで
デバッグボタンを押せばデバッグコードが埋め込まれてステップ実行が可能ですが、
2006でプロジェクト−ビルド設定でDebug buildを選択して適用ボタンを押しても
ブレークポイントでの停止やステップ実行が出来ません。方法を教えてください。
0904デフォルトの名無しさん
2006/02/23(木) 17:38:310905デフォルトの名無しさん
2006/02/24(金) 17:18:51された方はいらっしゃいますか?
自分はまだBDSを持っていないため確認がとれないのですが、
話を聞くところによると出来ないと伺ったもので…
もしインストールが行えた方がいらっしゃればその方法を
お教え願いたく思います。
0906デフォルトの名無しさん
2006/02/24(金) 23:52:08Builder6で新規作成→その他→コンソールウィザードと、
最初に学校で習うようなc++のソースをコンパイルしたのですが、
[リンカ エラー] 外部シンボル '__InitVCL' が未解決(C:\・・・\LIB\CP32MTI.LIB|crtlvcl が参照)
[リンカ エラー] 外部シンボル '__ExitVCL' が未解決(C:\・・・\LIB\CP32MTI.LIB|crtlvcl が参照)
と、2つのエラーがでます。
コンソールウィザードを選んで「VCLを使う」チェックを外すと、
コンパイルできる時もあるのですが、固まってしまう時もあります。
どうすれば無事コンパイルすることができるのかご教授お願いします。
0907デフォルトの名無しさん
2006/02/25(土) 07:01:05#include <vcl.h>
を消してない?
0908デフォルトの名無しさん
2006/02/25(土) 11:30:38コンパイルはできるようになりました。
しかし、コンパイルできたソースのreturn (0);の前に
cin>>n;(DOS窓がすぐ消えるのを防ぐため)とかと入れてコンパイルすると
「→ int main(void)」と緑の矢印が表示されたままDOS窓が固まってしまいます。
終了させてもう一度コンパイルすると何故か正常に動きます。
何故こうなるのか教えてください。
レス数が900を超えています。1000を超えると表示できなくなるよ。