くだすれ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
0528デフォルトの名無しさん
2006/09/14(木) 12:42:50Form2がグローバル変数なら問題出る気がす
0529デフォルトの名無しさん
2006/09/14(木) 13:09:59ファイルの末尾からある一定の間隔を持ちながら後ろにさかのぼる様なプログラムを書きたいです。
例えば次のようなプログラムです。うしろからdeltaバイトずつスキップしながらデータをとっていきます。
while( 1 ) {
fin.seekg(-i*delta , ios::end);
if (終了条件) {
break;
}
fin.read((char*)&data,sizeof(int));
処理
++i;
}
ファイルの「終了条件」を先頭にきたときとしたいのですが、
どうしたらいいでしょうか?
0530デフォルトの名無しさん
2006/09/14(木) 13:22:330531デフォルトの名無しさん
2006/09/14(木) 13:28:45Form2はTForm2で定義されているグローバルです。
確かに問題ありそうなんだけど、何で普通に開いたり閉じたりできるのか・・
ちなみにそれを、Form2のグローバルを使わずにForm1のprivateとかに
TForm2 frm[10];
などと、定義して、最大10フォーム各々の配列で開いたとき
frm[cnt ++] = new TForm2(this);
frm[n]が開いてるか閉じてるかはどうやってみればいいでしょうか?
0532デフォルトの名無しさん
2006/09/14(木) 13:35:43Form2Destroyは本当に呼ばれてる?
0533デフォルトの名無しさん
2006/09/14(木) 13:38:32呼ばれてますよー
Form2を呼ぶときに↓でForm2が閉じられない限り新たに作られてないですから
if( !Form2 ) Form2 = new TForm2(this);
Form2->Show( );
0534デフォルトの名無しさん
2006/09/14(木) 13:41:32そのコードからは呼ばれてなくても正しく動くとしかいえないじゃん。
ブレークポイントしかけて確かめてみろ
0535デフォルトの名無しさん
2006/09/14(木) 13:57:47Form2をNULLにしたのに、それまで作成したフォームが普通に動くのが不思議なの?
インスタンスとポインタの区別がついてないのかな?
0536デフォルトの名無しさん
2006/09/14(木) 14:08:210537デフォルトの名無しさん
2006/09/14(木) 14:54:420538デフォルトの名無しさん
2006/09/14(木) 14:57:03すでに生成したウインドウはForm2とは個別にインスタンスを持っている。
しかし、Form2はポインタで、Form2に何を代入しようが既存のウインドウは変化しないわけだ
0539デフォルトの名無しさん
2006/09/14(木) 14:59:010540デフォルトの名無しさん
2006/09/14(木) 15:41:250541デフォルトの名無しさん
2006/09/14(木) 15:58:09配列か、ヴェクターかしらんが、ポインタに入れとくべきだな。
0542デフォルトの名無しさん
2006/09/14(木) 16:09:250543デフォルトの名無しさん
2006/09/14(木) 16:11:12そんな手があるんか・・・
0544デフォルトの名無しさん
2006/09/14(木) 16:53:04それはTForm2クラスが存在するかどうかはわかるけど
違う変数で作成したときに区別がつかないとおもう。
フォームありなしなら
try{
frm->Show( );
}
catch(...){
frm = new TForm2l(this);
frm->Show( ); // ←MDIコフォームならいらない
}
どう?
0545デフォルトの名無しさん
2006/09/14(木) 17:54:24frm->Showの例外を期待するようなプログラムなんて普通しない。
0546デフォルトの名無しさん
2006/09/14(木) 17:57:57アホかw
0547デフォルトの名無しさん
2006/09/14(木) 18:10:51普通のプログラムのコードを書いてみて
0548デフォルトの名無しさん
2006/09/14(木) 18:14:23frm := TForm2.Create(self);
frm->Show( );
0549デフォルトの名無しさん
2006/09/14(木) 18:15:17if (frm == NULL)
frm = new TForm2(this);
frm->Show( );
0550デフォルトの名無しさん
2006/09/14(木) 18:42:32そのfrmはどこでNULL入れてんの?
まさかそれグローバルでForm2で入れてるって落ちじゃないよね?
0551デフォルトの名無しさん
2006/09/14(木) 18:52:16グローバル変数でも他のクラスのメンバでも何でもいいだろ。
0552デフォルトの名無しさん
2006/09/14(木) 18:57:52いやいやそれじゃーどうやって
if (frm == NULL)
を、判断させるの?
これってどこかでfrmにNULLを入れないと、1回開いて閉じたら二度と開けなくなるよ
0553デフォルトの名無しさん
2006/09/14(木) 19:02:59いや、だから、フォーム削除したときにNULL入れりゃいいじゃん。
何を悩んでるのかさっぱり伝わってこない。
0554デフォルトの名無しさん
2006/09/14(木) 19:05:570555デフォルトの名無しさん
2006/09/14(木) 19:11:47んじゃ君が言うfrmはグローバルでForm2のDestroyやデストラクタでNULLを入れるってことかい?
それならTForm2のソースに定義してあるForm2を使うのと全然変わらん。
んで、それを違う名前や配列でfrm2、frm3やfrm[n]として複数開く場合は
同じようにForm2のDestroyに全部記述するのかい?
0556デフォルトの名無しさん
2006/09/14(木) 19:31:14> それならTForm2のソースに定義してあるForm2を使うのと全然変わらん。
だから>>551で変数なんか何でもいいって言ってるだろ。
> んで、それを違う名前や配列でfrm2、frm3やfrm[n]として複数開く場合は
> 同じようにForm2のDestroyに全部記述するのかい?
全部記述ってのがわからんが、配列から自分を参照してる変数見つけてNULLにすりゃいいだろ。
0557デフォルトの名無しさん
2006/09/14(木) 19:38:59まあ、変数が何でもいいはおいとくとして
配列なら確かにforで回してアドレスが一致した奴をNULLでOKですね。
でも、各画面で個別にprivate等で宣言してるTForm2の変数で
Form2を作成するとForm2でNULLを入れることができなくなるけど
フォームを扱う場合はそういう使い方はしないのかな?
0558デフォルトの名無しさん
2006/09/14(木) 20:17:08Form2のデストラクタで呼んでもらえばいいし、そんななんとでも出来る事で何を悩むのか本当に不思議だ。
0559デフォルトの名無しさん
2006/09/14(木) 20:46:370560デフォルトの名無しさん
2006/09/14(木) 22:41:55その管理順位の考察が甘いから混乱する。
管理すべきクラスが、ちゃんと管理するようにしろ。
破棄するならそいつに知らせる。
生成するなら、そいつにインスタンスを生成させて、
インスタンスアドレスを貰う。
ちゃんと管理主体を明確にすれば、何も混乱する必要などない。
>各画面で個別にprivate等で宣言してるTForm2の変数で
アホか。
個別に適当にprivateに宣言すんな。
管理したいなら、ちゃんと管理しろ。
頭悪すぎだぞ。
0561デフォルトの名無しさん
2006/09/15(金) 01:06:00前回作成したプロジェクトと一緒になってしまうのですが
どうすれば新しいプロジェクトを作成できますか?
例えば、project1がすでにあるとして、project2を新たに新規作成し
VCLフォームアプリケーションで始めるとForm2,Unit2となって
前回のプロジェクトの続きになってしまうのです。
0562デフォルトの名無しさん
2006/09/15(金) 10:11:54君が考えてることはとっくにわかってるんだけど、そんなめんどーな方法以外にはないの?
>>559
複数で別フォームから呼ぶ話しかしてないよ
>>560
private宣言したらダメな意味がわからない。なんで?
ちゃんと管理って何?君が言うちゃんとした管理って単にグローバルにするだけなのかい?
煽ることしかできない奴のレスはいらないよ。
わかりきった事を恥かしげもなくよく書けるね。
0563デフォルトの名無しさん
2006/09/15(金) 10:55:400565デフォルトの名無しさん
2006/09/15(金) 11:09:58とりあえず、スレタイを100回読んでからレスしてくださいね。
まず、知ったかぶりをしてるだけならレスは不要です。
そしてC++Builderスレは2つあるけど、このスレの意味を理解してください。
自分でまだまだと思うなら勉強してからレスしてね。
0566デフォルトの名無しさん
2006/09/15(金) 11:15:41他の人にお願いするよ。
0567デフォルトの名無しさん
2006/09/15(金) 11:45:200568デフォルトの名無しさん
2006/09/15(金) 15:42:552chで最後まで場に立ってるのは無自覚なお馬鹿さんだからw
0569デフォルトの名無しさん
2006/09/15(金) 22:01:240570デフォルトの名無しさん
2006/09/16(土) 02:26:400571デフォルトの名無しさん
2006/09/16(土) 02:36:36利口じゃないのはお互い様としても、そのスタンスは泥沼だろうよ、と。
0572デフォルトの名無しさん
2006/09/16(土) 02:36:51スレにそれなりのスキルのある人間が少なくなっちゃった
いなくなったわけではないだろうが
0573デフォルトの名無しさん
2006/09/16(土) 10:29:57結果として石の割合が増えてる
ってことだ。某はもうダメっぽい
0574274
2006/09/17(日) 15:39:52あれから、VBより速くする為に、WideString から AnsiString に改良しているのですが、
下のコードならうまく行くのですが、AnsiAscii( AnsiString& str )にすると上位バイト(-126)しか
取得出来ません。この様な時はどのようにすれば、WideString を使わずに処理出来るのでしょうか?
色々本やネットでも調べたのですが、判りませんでした。
すみませんが、よろしくお願いします。
vvvvvvvvv
int TForm1::AnsiAscii( WideString& str )
{
wchar_t buf[1];
swprintf(buf,L"%d",str[1]);
return String(buf).ToInt();
}
//----------------------------------
AnsiString TForm1::AnsiChar( int& str )
{
wchar_t buf[1];
swprintf(buf,L"%c",StrToInt(str));
return (AnsiString)buf;
}
//----------------------------------
0575274
2006/09/17(日) 15:40:40void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString c = "あ";
int i = AnsiAscii(c);
ShowMessage( c );
ShowMessage( (String)i );
ShowMessage( AnsiChar(i) );
}
//----------------------------------
0576デフォルトの名無しさん
2006/09/18(月) 02:07:48クイックレポートの中のQRExprで式の値をAnsiStringで取り出したいのですが、
ヘルプを見ても、(Value プロパティを使って式の値にアクセスします。)
と書いてあり、いろいろ調べましたが、意味がわかりません。
どなたか、教えていただけないでしょうか?
0577デフォルトの名無しさん
2006/09/20(水) 18:04:41このスレでは何を相談しても、バカwだのアホwだの言われて、
むかつくだけだからやめときな。
かといって、マイナー過ぎて書店に本売って無いんだよねー。
0578デフォルトの名無しさん
2006/09/21(木) 09:43:27回答する気も起きないだろ。たしかにつまらん質問だし。
0579デフォルトの名無しさん
2006/09/21(木) 19:02:10謙虚に質問してるんだから、優しくしてやる気にならんか?
こういう欠陥のあるヤシばっかりだから、576は可哀想だが
こんなとこで質問しないで、ネットで本買うなりしろや。
0580デフォルトの名無しさん
2006/09/21(木) 22:46:29どんな本でもここの回答者よりは役に立つしな。
0581デフォルトの名無しさん
2006/09/22(金) 14:51:08C++ Builderで開発する時にどの本やどのサイトで勉強するのがベストなのでしょうか?
C++ Builder 使い方
でgoogle検索しても中々いいサイトにヒットしません
ひょっとして、というかこれは当たり前のことでc++を勉強すれば自然に使えるようになるのでしょうか?
0582デフォルトの名無しさん
2006/09/22(金) 15:02:24VCLはDelphi関連のサイトや書籍で。
C++はC++の(ry
両方読んだ方がいい。
0583デフォルトの名無しさん
2006/09/22(金) 15:20:05thx
0584デフォルトの名無しさん
2006/09/22(金) 18:25:20とりあえずスタートガイド
TurboC++2006だったら‥‥Del6Perで最初の展開時に出来るディレクトリにpdfで入ってるからそれよれでも読むといい。
0585デフォルトの名無しさん
2006/09/22(金) 18:30:52サイトや書籍に書いてある簡単なDelphiのプログラムをBCBに移植する
事から初めて見ればよいかもしれない。
すぐにコツがつかめ、BCBでVCLを使ったプログラムを自由に作るには
どうすればいいかがわかると思う。
また、Object PascalはC++にはない機能がいくつかあり、それをサポート
するためにBCBのC++は拡張がなされている。またopen arrayなどC++の
拡張だけでは対応が難しいものに関してはマクロで代替えしている。
これらについてもヘッダーファイルを読む事により、徐々に分かってくる
はずです。
0586デフォルトの名無しさん
2006/09/22(金) 19:12:50Delphiを知ってるならいいが知らないなら無駄じゃないか?
>>581
現在はどんな本が出てるのか知らないが超基本の本が1、2冊あれば十分
基本が分かればあとはヘルプとML過去ログで大抵のことはできる
0587デフォルトの名無しさん
2006/09/22(金) 19:40:57まず基本的な使い方とVCLをマスターするには、カットシステムの
書籍が有効。つーか、これしか一般に流通していない。
そしてその後、本格的なシステム構築をするなら、インストールCD
に含まれているPDFドキュメントをプリントして読破する!
C/S型、分散型、Web型(CGI/Apach...)、などの構築方法について
唯一の日本語で書かれたマニュアルだ。
0588デフォルトの名無しさん
2006/09/22(金) 20:37:00> に含まれているPDFドキュメントをプリントして読破する!
Delphi10年つかってて知らなかったw
0589デフォルトの名無しさん
2006/09/22(金) 22:18:04開発者ガイドは6まで製本されて箱に入ってるぞ。分冊して欲しいような厚さで読みにくいけど。(Per/Std以外)
0590デフォルトの名無しさん
2006/09/22(金) 22:53:12でもちゃんとpdfファイルとして入っている。
サンプルプログラムがいっぱい添付されているから
どれか1個をすべて理解できるまで動かしながら読んでみるのがいいかも。
0591デフォルトの名無しさん
2006/09/22(金) 22:55:060592デフォルトの名無しさん
2006/09/22(金) 22:55:57意味不明の質問だったり、自分自身が何も理解していないで質問しているとか
情報を小出しにするとか
まあ、最低限レベルのマナーを守っていない場合だけどね。
0593デフォルトの名無しさん
2006/09/22(金) 23:00:38せめて1回はヘルプで引けば、ここで聞く必要はないとかね。
0594587
2006/09/22(金) 23:02:16つ DISK2
└ \Documentation
├ qs.pdf ……………… クイック.スタート 102頁
├ dg.pdf ……………… 開発者ガイド 1294頁
├ oplg.pdf …………… Object Pascal言語ガイド 246頁
├ bcb6vclposter.pdf … VCL OBJECT HIERARCHY 1頁
└ bcb6clxposter.pdf … CLX OBJECT HIERARCHY 1頁
>>589
えーっ?! 俺のC++Builder 6 Professional版StarTeam Editionに
同梱されている製本マニュアルは
・クイックスタート
・VCL OBJECT HIERARCHY
・CLX OBJECT HIERARCHY
・ダミーな7枚の段ボールの切れっぱしw
だけだったぞ。(怒)
C++Builder 3の頃はStandard版でも開発者ガイド、その他数冊
が入っていたのに・・・。
絶版の「Delphi6プログラミングバイブル」のC++Builder版は
とうとう出なかったな。
0595デフォルトの名無しさん
2006/09/22(金) 23:55:11ttp://up.mugitya.com/img/Lv.1_up55111.jpg
ちなみに厚さはそのダンボール7枚分だと思う
0596594
2006/09/23(土) 00:23:35つまり、こういう違いがあった訳なのか・・・
-----≪
Borland C++Builder 6 Professional 通常版 ≫------
■ CD-ROM (4枚)
Borland C++Builder 6 Professional (2枚組)
Borland C++Builder 6 Companion Tools
Borland Enterprise Server Web Edition
・
・
・
■ マニュアル (3冊)
Borland C++Builder 6 クイックスタート
Borland C++Builder 6 開発者ガイド
BorlandEnterprise Server インストールガイド
--≪ Borland C++Builder6 Professional StarTeam Edition ≫--
■ CD-ROM (6枚)
Borland C++Builder 6 Professional (2枚組)
Borland C++Builder 6 Companion Tools
Borland InterBase 7.1 Development Edition
Borland StarTeam 6 Windows Edition (2枚組)
・
・
・
■ マニュアル (1冊)
Borland C++Builder 6 クイックスタート
0597デフォルトの名無しさん
2006/09/23(土) 00:42:46辞書に使うような紙使えばあんな意味もなく分厚いマニュアルに
ならなかったんだが
0598デフォルトの名無しさん
2006/09/23(土) 01:05:350599デフォルトの名無しさん
2006/09/23(土) 01:10:111/4/5部と2/3部に分冊すれば使いやすいのになぁ‥‥
0600デフォルトの名無しさん
2006/09/23(土) 17:03:100601デフォルトの名無しさん
2006/09/24(日) 23:55:30かといって、ろくなこと書いてないし、サンプルもないし。
書店で本をみればロクなこと書いてないワリにめちゃめちゃ高いし、
やっぱVCのほうがいいっすよ。
本なんて買わなくても周りに知ってる人がいくらでもいるし。
BCBはね、DELPHIやってる人のほうが詳しかったりして。
なんで今更PASCALやらDELPHI固めのGUI操作を覚えねばならぬ。
0602デフォルトの名無しさん
2006/09/25(月) 00:03:03よそでやれボケ
0603デフォルトの名無しさん
2006/09/25(月) 08:18:11禿道
0604デフォルトの名無しさん
2006/09/25(月) 08:18:350605デフォルトの名無しさん
2006/09/25(月) 08:25:050606デフォルトの名無しさん
2006/09/25(月) 09:35:51人生は短い。
0607デフォルトの名無しさん
2006/09/25(月) 09:43:190608デフォルトの名無しさん
2006/09/25(月) 20:39:540609デフォルトの名無しさん
2006/09/25(月) 20:59:22そうきたかw
0610デフォルトの名無しさん
2006/09/25(月) 21:05:080611デフォルトの名無しさん
2006/09/25(月) 21:30:33俺? 俺は趣味でプログラミングやってる開業医だが何か?w
0612デフォルトの名無しさん
2006/09/25(月) 22:09:530613デフォルトの名無しさん
2006/09/25(月) 22:10:240614デフォルトの名無しさん
2006/09/25(月) 22:50:43実際にはBCB使ったことが無くて想像で書いてみましたが何か?
0615デフォルトの名無しさん
2006/09/25(月) 22:52:07面白いねーおまいら。
0616デフォルトの名無しさん
2006/09/25(月) 23:01:18そんなんでいいのかお前。
0617デフォルトの名無しさん
2006/09/26(火) 01:03:38自爆しながら成長していくんだよ。
0618デフォルトの名無しさん
2006/09/26(火) 02:20:030619デフォルトの名無しさん
2006/09/27(水) 11:31:410620デフォルトの名無しさん
2006/09/27(水) 12:21:570621デフォルトの名無しさん
2006/09/27(水) 14:03:250622デフォルトの名無しさん
2006/09/27(水) 21:56:220623デフォルトの名無しさん
2006/09/27(水) 22:28:450624デフォルトの名無しさん
2006/09/27(水) 22:38:12DelphiのAssign(うんちゃら)は、
BCBでは単にNULLを見ればいいの?
例えばねぇ......、やっぱやめたー。
ここの住人だと、ろくな答え返ってこないね。
0625デフォルトの名無しさん
2006/09/27(水) 23:23:040626デフォルトの名無しさん
2006/09/28(木) 02:00:22こいつはDelphiスレでも相手にしてもらえないんだろうなw
0627デフォルトの名無しさん
2006/09/28(木) 19:49:38■ このスレッドは過去ログ倉庫に格納されています