くだすれC++Builder(超初心者用)その2
レス数が900を超えています。1000を超えると表示できなくなるよ。
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
0809デフォルトの名無しさん
2006/11/11(土) 21:40:48で・・・できました。
ありがとうございます。
でも、LeftIndentって何のためにあるんでしょうか?
0810デフォルトの名無しさん
2006/11/12(日) 22:17:30同一パラグラフの2行目以降のインデント幅 FirstIndentに加算される
なのでパラグラフが1行しかないと反映されない
0811デフォルトの名無しさん
2006/11/18(土) 00:51:08いや、全部TPanelから派生させるべきだよ。
0812デフォルトの名無しさん
2006/11/20(月) 03:17:24よろしくお願いします。
sndPlaySound関数を利用して二つのWAVファイルを時間差で再生するプログラム
を作りたかったのですが、sndPlaySoundでは複数のWAVファイルを重複して再生
することは出来ないようでした。
時間差と音量の組み合わせが1000種類程あるので、事前にミックスして一つの
WAVファイルにまとめるのは現実的ではありません。
というわけで、複数のWAVファイルを時間差で再生できる関数などありましたら
よろしくお願いします。
0813デフォルトの名無しさん
2006/11/20(月) 03:25:24mciSendString("open A.wav type waveaudio alias A", NULL, 0, NULL);
mciSendString("open B.wav type waveaudio alias B", NULL, 0, NULL);
mciSendString("play A", NULL, 0, NULL); // ここからA.wavが鳴る
一定の時間後
mciSendString("play B", NULL, 0, NULL); // ここからB.wavが鳴る
・・・
鳴り終わったら後始末を忘れずに
mciSendString("close A", NULL, 0, NULL);
mciSendString("close B", NULL, 0, NULL);
多分こんなかんじだったと思う多分
0814デフォルトの名無しさん
2006/11/20(月) 03:31:40ファイルの読み込みがちょっと面倒だけどね。
0815812
2006/11/20(月) 03:42:09すばやい反応本当に感謝です。
0816812
2006/11/20(月) 05:10:19MCIとDirectSoundってどっちが手軽にできますか?
色々調べてみたのですがまだ数回、builderをかじった程度の自分では
どちらも敷居が高すぎてなかなか手がつけられそうにありません。
こちらの都合で申し訳ないですが、期限が迫っており、ゆっくり勉強している時間がありません。
>>812に書いた二つのWAVファイルの時間差再生ができる最低限の機能さえ
実現できればいいのですが、どちらの方法が短時間でできるでしょうか?
あと、ベクターで
「C++Builder用 DirectSoundを(比較的)簡単に扱えるDLL(サンプル付)」
というのを発見したのですが、バージョンが違うせいか、うまく動作しませんでした。
他にこのようなライブラリをご存知でしたら、お願いします。
環境はWinXP Professional , PS2 C++Builder 5 , DirectX9.0cです。
何でも良いので、よろしくお願いします
0817デフォルトの名無しさん
2006/11/20(月) 06:02:420818デフォルトの名無しさん
2006/11/20(月) 09:44:420819デフォルトの名無しさん
2006/11/21(火) 04:28:27次から"*****"が表示されて、再入力しなくてもいいようなのあります。
あればどうすればよいのでしょうか。
テキストファイルか何かにパスワード保存しておいて、ただ読み込むだけ
ということではないですよね。
よろしくお願いします。
0820デフォルトの名無しさん
2006/11/21(火) 04:40:360821デフォルトの名無しさん
2006/11/21(火) 07:30:12Delphi用のDirectSoundコンポーネントは、いくつかあると思うが・・・
DelphianWorldとか、Toryyとか探してみた?
あとは、Quadruple Dでもできたはず
0822デフォルトの名無しさん
2006/11/21(火) 07:58:19ありがとうございます。
ttp://www.runan.net/program/tips/API/shlwapi_SHAutoComplete.shtml
ttp://mist.clueup.org/blogs/1/archive/2006/09/29/_EA81D552DC888C5B92307F4F633066307F308B30_.aspx
こういうページ見つけて、使い方はわかったんですが、
****を表示させるのがわからないです。
SHAutoComplete関数のフラグとか****が表示されるようなのがあるんでしょうか。
自分でなにかプログラミングしないといけないんでしょうか。
難しいです。
0823デフォルトの名無しさん
2006/11/21(火) 08:14:33横から失礼します。
パスワードは基本的に別のエディットボックスですので、ユーザーID用の
ボックスにEnterが入力された時点でどこかに暗号化しておいたパスを
拾いに行くようにするしかないような気がします。
IEの場合は多分NTUSER.DAT当たりに記録されているのではないかと
思うのですが・・・外れていたらすみません。
0824デフォルトの名無しさん
2006/11/21(火) 12:46:46レスありがとうございます。
オートコンプリートってちょっと違うのでしょうか。
わかりませんでした。
えっと、保存する場合は、暗号化前の生のパスワードでいいんですよね?
暗号化したパスワードを保存すると、*の数変わってしまいますし。
md5でと思ってたんですが、復号化できる暗号ロジック使えば、
暗号化したパスワードを保存しても大丈夫なんでしょうか。
それで、EditのPasswordCharを*に。
初心者なので壁が多いです。><
0825デフォルトの名無しさん
2006/11/21(火) 23:47:34クラスTBevelが見つかりませんとか言われてしまうんですが、
なんでしょうか。ブレークを無視するとエラーダイアログ連発になります。
んで、Bevelを一回剥がして貼りなおすと直ります。
面倒なんで、誰が原因を知っている人がいましたら教えてください。
BDS2006のBCBです。
0826デフォルトの名無しさん
2006/11/24(金) 21:37:36たとえばコードにブレークポイントを埋め込めるとか。
0827デフォルトの名無しさん
2006/11/25(土) 07:04:33日本語(文字化けして読めない)になってしまいます。
エラーを英語にすることはできないでしょうか?
0828デフォルトの名無しさん
2006/11/25(土) 09:44:210829デフォルトの名無しさん
2006/11/25(土) 10:43:340830デフォルトの名無しさん
2006/11/25(土) 10:49:40俺以前bcb6の環境で同じ現象が出て、プロジェクトの言語設定を英語にしようが
言語リソースを使おうが直らなかった(MessageBoxを呼んだ後のVCL内の処理で
多言語対応がされてないっぽい)。
結局『CreateMessageDialog使って一度TFormオブジェクトを生成した後、その
キャプションを無理矢理英語に書き換えて表示する』という力業で切り抜けた
記憶がある。
個人的にはBCB(とういかVCL)のバグだったと思ってるんだけど、違うのかね?
6より後のバージョンは知らないけど。
>>828
俺も参考までに是非知りたい。教えてPlz。
0831デフォルトの名無しさん
2006/11/25(土) 11:01:350832デフォルトの名無しさん
2006/11/25(土) 13:50:19たとえば日本語のプロジェクトで生成したものを英語(ENU-ENglish/Us)ロケールで実行するときは
実行ファイル名の拡張子を.ENUにした言語リソースを探して見つかればそちらのリソースを使う。
言語リソースは新規作成のリソースDLLウィザードで作る(Pro以上)。ただしこのときに
SysConst.pasにあるresourcestringまでいちいち書き換えるのは不毛なのでCD-Rにある
英語版のライブラリに切り替えてからリソースDLLウィザードを使うのが吉(そのままだと
デフォルトで生成されるresourcestringの中身が日本語になってしまう)。
0833832
2006/11/25(土) 13:51:21○ CD-ROM
0834デフォルトの名無しさん
2006/11/25(土) 23:17:48うーん・・・リソースDLLはもちろん使ったんだけど、
SysConst.pasって関係あるのかな?
例えばMessageBoxでMB_YESNOを指定した時のボタンのキャプションも
日本語で表示されてたけど(本来英語環境ではYes/No表示のところを
はい/いいえで表示しようとして化ける)、こんなところまでSysConstで
管理してないような。
英語版ライブラリの使い方も探したけど、見つからなかったんだよね。
少なくともインストールディスクには入ってなかった気がする。
全部BCB6の話ですが。
0835デフォルトの名無しさん
2006/12/01(金) 17:38:23ようなことってできますか?
開始ボタンを押したら後は矢印押すだけで内部の変数が変わるようなプログラムを
作りたいのですが。プログラムを使っている人にはその変数の値がどの程度か知られたくないのです。
あと、できれば操作中はマウスを使わなくてすむようにしたいです。
0836デフォルトの名無しさん
2006/12/03(日) 16:21:58内容を自動スクロールしたいのですが
ScrollByメソッドを使っても上手くいかないみたいです
それ以外の方法はありますでしょうか?
0837デフォルトの名無しさん
2006/12/04(月) 03:08:07TEditから入力してもらった文字列をchar型の変数に代入するにはどうしたらよいのでしょうか?
char型の変数 = Edit1->Text;
では左辺値がありませんとエラーになってしまいます。
int型の変数 = StrToInt(Edit1->Text);
は通ったので大丈夫だとおもったのですが・・・
よろしくお願いします。
0838デフォルトの名無しさん
2006/12/04(月) 07:02:12『文字列をchar型の変数に代入する』という発想が既におかしい。
C言語の基礎から勉強しなおし。
0839デフォルトの名無しさん
2006/12/04(月) 07:16:59AnsiStringで宣言すればイコールで代入できるよ。
0840デフォルトの名無しさん
2006/12/04(月) 08:53:29char* AnsiString::c_str() const;
0841デフォルトの名無しさん
2006/12/04(月) 10:54:29不可視のコントロールにフォーカスを設定はできなかったはず
開始ボタンとか必要なコントロールでOnKeyDown/Upイベントを定義すればいいんじゃないかな
0842デフォルトの名無しさん
2006/12/04(月) 14:02:19char c[256];
strcpy(c, Edit1->Text.c_str());
この方が無難じゃない?
0843デフォルトの名無しさん
2006/12/04(月) 20:15:27char c = Edit1->Text[1];
0844デフォルトの名無しさん
2006/12/06(水) 09:49:50HP等は無いでしょうか?
0845デフォルトの名無しさん
2006/12/17(日) 21:52:38このような具合にです。
TForm1::TForm1(略) {
WindowProc = MyWndProc;
}
TForm1::MyWndProc(Messages::TMessage &Message){
(処理)
}
それでWM_TIMERのwParamを拾おうとしてMessage.WParamを見ると
本来はタイムアウトになったタイマのIDが入っているはずなのですが、
常にゼロが入っています。(´;ω;`)
私の使い方が悪いのでしょうか?
0846845
2006/12/17(日) 22:09:110847デフォルトの名無しさん
2006/12/18(月) 09:43:29自クラス内でウィンドウプロシージャ弄る場合はWndProcメソッドをオーバーライドしる
void __fastcall TForm1::WndProc(TMessage& message)
{
if (message.Msg == WM_TIMER)
{
OutputDebugString(AnsiString().sprintf("Message: %08X WPARAM: %08X LPARAM: %08X", message.Msg, message.WParam, message.LParam).c_str());
KillTimer(Handle, message.WParam);
}
TForm::WndProc( message);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SetTimer(Handle, 0x2, 100, NULL);
}
普通に動いているが‥‥
0848デフォルトの名無しさん
2006/12/18(月) 18:45:46とかボタンありますが、マウスのカーソル上に置くと、
なんのボタンか表す文字が出てきます。
こういうのやりたいですがわかりません。
よろしくお願いします。
0849デフォルトの名無しさん
2006/12/19(火) 14:35:57それのText(Caption)と縦座標のみ異なる複製を動的に作成したいのですが、
スマートなコーディング方法がないでしょうか
一応、newでコントロールを作成してプロパティやイベントを一個一個コピー
していくやりかたではできたのですが、数が多くてステップ数が馬鹿デカくなって困ってます。
0850デフォルトの名無しさん
2006/12/19(火) 14:53:18まさか、関数化せずに一個一個newしているわけじゃないだろうな。
0851デフォルトの名無しさん
2006/12/19(火) 15:09:49複製はTPersident::Assign()使えなかったっけ?
0852デフォルトの名無しさん
2006/12/19(火) 18:39:50やりましたよ!
オブジェクトインスペクタのHintで出来ました。
使ってるアプリいくつか見たら、同じように黄色のバックに黒文字だったので、
標準でなんかあるのかと思ったら。
HTMLでも同じ風に文字出てきますよね。
ありがとうございました。
0853デフォルトの名無しさん
2006/12/19(火) 20:10:14その際にキーボード部分をクリックした時に、アクティブな部分が変わらないよう、
常に非アクティブになるようにしたいのですが、
どうすればよろしいでしょうか・・・?
0854デフォルトの名無しさん
2006/12/20(水) 00:01:17なんて突っ込みは小学生並みだな
BCB6だろっ
0855デフォルトの名無しさん
2006/12/20(水) 00:28:27レス、ありがとうございました。
どうやら自分のSetTimerの使い方が悪かったようです。orz
ところで、SetTimerは第二引数のタイマ識別子として既存のタイマと同じものを使うと
新しい設定でタイマをつくりなおしてしまうとMSDNにありました。
VCLのTTimerはタイマの識別子を指定する仕組みではなかったので不用意に
TTimerとSetTimerを混在させると同じ識別子を使ってしまわないか心配です。
VCLのソースではSetTimerの識別子としては0か1しか使われていないように見えるのですが
いまいち自信がありません。
>>847さんはコード上で識別子に2を使われていますが、2以上ならVCLのTTimerをいっしょに
使っても重複しないものなんでしょうか?
みなさんはどうされていますか?
0856デフォルトの名無しさん
2006/12/20(水) 00:39:44TTimerは専用の不可視ウィンドウをインスタンス毎に作成してるからID重複しても問題ない。
Classes.pasのAllocateHWnd参照。
0857デフォルトの名無しさん
2006/12/20(水) 01:22:40TButtonじゃなくてTSpeedButton使ったら?
0858855
2006/12/20(水) 01:37:22なるほど。素人の取り越し苦労だったんですね…。(´ω`)
なにはともあれ感謝です。明日会社でご指摘の箇所を読んでみます。
VCLのソースは自分のプログラムのヒントになりそうなことがいっぱい書いてありそうですね。
それにしてもこんなにすぐ疑問を解決できるなんて、2chはすごいな。
0859デフォルトの名無しさん
2006/12/20(水) 02:24:34あとBorlandの一部が落ちてるような感じになってるのはいつものことなんですか?
0860デフォルトの名無しさん
2006/12/20(水) 02:31:26MinGW
とか
VisualC++ Express
とか
0861デフォルトの名無しさん
2006/12/20(水) 02:34:05C++Builde系はやっぱりないんですかね?
0862デフォルトの名無しさん
2006/12/20(水) 02:46:23Turbo C++
0863デフォルトの名無しさん
2006/12/20(水) 02:59:060864デフォルトの名無しさん
2006/12/21(木) 16:36:32文字をアクティブな部分に送るだけでよいので、
どなたかプログラムの例を挙げてもらえないでしょうか?
0865デフォルトの名無しさん
2006/12/21(木) 16:51:03x番目のButtonのEnabledを変更するような場合、
if(x == 1)Button1->Enabled = false;
else if(x == 2)Button2->Enabeld =false;
else ・・・・・・・・・・・・・・・・・・
の、ようなことせずにxからボタンのアドレスを直接取得するような方法はないでしょうか?
とりあえず、TListにAdd(Button1);Add(Button2);・・・・・・Add(Button100);ってやっておいて、
TButton *btn=(TButton *)List->items[x]; btn->Enabeld = false; とやる方法を考えたのですが、
もっとかっこいい方法はないものでしょうか?
0866デフォルトの名無しさん
2006/12/21(木) 17:32:59FindComponent
0867デフォルトの名無しさん
2006/12/22(金) 10:53:07ピンポイントな解答、どもです。
やりたいことがあっても、その方法がなかなか見つけられない。
いつになったら超初心者を抜け出せるんだろうか。
0868デフォルトの名無しさん
2006/12/22(金) 11:52:59・Delphi向けのリソースを活用する
・気になることがあったらVCLのソースを覗く癖をつけておく(stdやperとかでソース無い場合は新TurboはExplorerでもソース付いてるからインスコ)
0869デフォルトの名無しさん
2006/12/22(金) 21:21:090870デフォルトの名無しさん
2006/12/22(金) 23:34:21Sourceforgeなんかで、Delphiのオープソースのソフトのソースとか漁るとか。
OpenJaneとかその辺。
0871デフォルトの名無しさん
2006/12/23(土) 03:51:01同じようなこと考えてるヤツってのは他にも大抵はいる
0872デフォルトの名無しさん
2006/12/23(土) 19:09:21ググってコピーしていたのでは、いつまで経っても低レベルのままだ。
0873デフォルトの名無しさん
2006/12/25(月) 01:27:220874デフォルトの名無しさん
2006/12/25(月) 01:36:030875デフォルトの名無しさん
2006/12/25(月) 12:05:18フォーカスを奪わないようにするにはどうすればよいのでしょうか?
0876デフォルトの名無しさん
2006/12/27(水) 14:35:45描画する方法ってないでしょうか
0877自己レス
2006/12/27(水) 15:45:58DrawEdgeで直接描画する方法になるんですかね?
0878デフォルトの名無しさん
2006/12/28(木) 01:35:31OnDrawCellイベントあたりを見てみたら?
0879デフォルトの名無しさん
2006/12/28(木) 17:12:35OnDrawCellでこんな風にしました。
if( ACol == 0 && ARow == StringGrid1->Row ){
DrawEdge(StringGrid1->Canvas->Handle,&Rect,BDR_SUNKEN,BF_RECT);
StringGrid1->DefaultDrawing = false;
}else{
StringGrid1->DefaultDrawing = true;
}
あと、選択行がわかったときに上記で描画した固定セルを元に戻す処理を
StringGridのMouseDownイベントで行う必要があるんですが、
CellRectで取得した固定セルのRectに対して、DefaultDrawingがtrueの時の描画を
再現しようとDrawEdgeを使っていろいろやったんですがうまくいきませんでした。
結局下のように自分で線を引いたりして再現させたのですが、他に方法がなかったのかな?と思ってます。
TRect R = StringGrid1->CellRect( 0, OldRow );
DrawEdge( StringGrid1->Canvas->Handle, &R, BDR_RAISEDINNER, BF_BOTTOMRIGHT);
DrawEdge( StringGrid1->Canvas->Handle, &R, BDR_RAISEDINNER, BF_TOPLEFT);
StringGrid1->Canvas->Pen->Color = clBtnFace;
StringGrid1->Canvas->MoveTo( R.Right-1, R.Top+1 );
StringGrid1->Canvas->LineTo( R.Left+1, R.Top+1 );
StringGrid1->Canvas->LineTo( R.Left+1, R.Bottom );
0880デフォルトの名無しさん
2006/12/31(日) 01:23:04わかりやすいHPなどがあれば教えてください
0881デフォルトの名無しさん
2006/12/31(日) 14:48:32implibでインポートライブラリ作成
0882デフォルトの名無しさん
2007/01/03(水) 04:50:07タイマーが動き時間になれば知らせてくれるソフトを作りたいのですが、
非アクティブ時にキーを判定→実行させる方法がわからず悩んでいます。
わかる方がいましたら教えていただけないでしょうか?
0883デフォルトの名無しさん
2007/01/03(水) 10:53:44RegisterHotKey()
SetWindowsHookEx(WH_KEYBOARD, ...)
0884デフォルトの名無しさん
2007/01/03(水) 14:25:39ラグナ厨かよ
0885デフォルトの名無しさん
2007/01/07(日) 13:59:170886デフォルトの名無しさん
2007/01/09(火) 09:18:290887デフォルトの名無しさん
2007/01/09(火) 10:41:490888デフォルトの名無しさん
2007/01/09(火) 11:31:45引数にフォームのハンドル渡しても画面中央に表示されるんだけど、何か間違ってるかな。
0889デフォルトの名無しさん
2007/01/09(火) 15:55:30面倒だがWM_NCCREATEをフックしてサブクラス化する。
MFCはこの方法でオーナーウィンドウの中央に表示されるようになってる。
0890デフォルトの名無しさん
2007/01/09(火) 18:04:570891デフォルトの名無しさん
2007/01/09(火) 18:29:210892デフォルトの名無しさん
2007/01/09(火) 18:38:100893888
2007/01/10(水) 08:25:54はい。新規に共通で使うフォームを作ることになりました。
作ってて一つ問題。フォームのCaptionがメッセージより長くなる場合、
Captionの横幅によってフォームの横幅を合わせるようににしたいのですが、
どうすればいいですか?
0894デフォルトの名無しさん
2007/01/10(水) 14:28:23int Textlen = Canvas->TextWidth(Caption);
if(Textlen > Width) Width = Textlen;
0895デフォルトの名無しさん
2007/01/10(水) 14:29:39他のPCで実行しようとするとMIDAS.dllが無いと出ます。
Delphiだと、MidasLibをusesのところに書けばmidas.dllを配らなくても良いらしいのですが、
C++Builderでもmidas.dllを使わなくても良いようにするにはどうすればいいのですか?
0896デフォルトの名無しさん
2007/01/10(水) 14:35:55用途は趣味のゲーム製作なのですが、挫折する事も考えると安価なPersonalが
魅力的です。
DirectXを使うようなゲームを作る場合、Personalでも問題ありませんか? 両
者の大きな違いとは、単に商業的に使えないという事だけでしょうか?
ちなみにBCBを選んだのは仕事でDelphiを使っているので、VCよりもとっつき
易いかかもしれないと思ったからです。
0897888
2007/01/10(水) 14:43:14最初、TextWidthがCaptionの表示幅より小さい値になってたんですが、
FormのFontのSizeを大きくしたらうまくいきました。
これでいきます。
0898888
2007/01/10(水) 16:12:48自分で作ったメッセージボックスは、アプリケーション起動時にCreateFormしないで
動的にフォームを作成、削除するようにしたいのですが、どうやればよいのでしょうか?
0899デフォルトの名無しさん
2007/01/10(水) 20:34:29まあリファレンスはCのが多いからどちみちCを読めなきゃならないけど。
0900デフォルトの名無しさん
2007/01/10(水) 22:33:08はげどう
0901デフォルトの名無しさん
2007/01/10(水) 22:38:22WinMainにあるApplication->CreateForm(__classid(Txxxx), &xxxx);を消して
必要な時にnewしたらどうだね
(xxxxはフォームのクラス名ね)
0902デフォルトの名無しさん
2007/01/11(木) 00:07:22られず困っています。
FormのButtonクリック・イベントでlex.yy.cで実装されたyylex()をコー
ルさせたいのですが、未解決の外部参照だとリンクエラーが発生します。
*.cから別の*.c内定義の関数コールはできているのですが、*.c内で定義
されたラベルを*.cppで参照するには何か特別な記述が必要なのでしょうか?
0903デフォルトの名無しさん
2007/01/11(木) 00:15:25.dcuをプロジェクトに放り込めばいけそうな気が‥‥
>>896
DirectGraphicsベースのアプリだとVCLフレームワークの大半が無意味になるからVC2005Expressでいいとおもうぞ。
取っつきやすいだけならVC#2005Express+XNA GameStudio Expressの選択肢も。
0904デフォルトの名無しさん
2007/01/11(木) 00:17:32extren "C"
0905デフォルトの名無しさん
2007/01/11(木) 00:18:44extern "C"
0906デフォルトの名無しさん
2007/01/11(木) 00:29:22ありがとうございます。
職場のPCにしか環境が無く、すぐに試せなくて申し訳ないのですが、
コードの意味を調べておいて、明日試してみます。
0907895
2007/01/11(木) 02:26:09Midaslib.dcuをプロジェクトに追加しても駄目でした。
ソースに
#pragma link "Midaslib.dcu"
と書くと、
[リンカ エラー] Error: 'MIDASLIB.DCU' に無効な OMF レコード (タイプ 0x23) が含まれています
となります。
0908896
2007/01/11(木) 10:24:25DirectXを使う場合、そのうち限界を感じるようになると知り合いに言われまし
て・・・。
>>903
なるほど。
では、VC2005Expressを試しに使ってみます。 ありがとうございました。
0909デフォルトの名無しさん
2007/01/11(木) 17:56:48現在表示中のサイトのバックグラウンドカラーや表示中のテキストを取得することは
できませんでしょうか?
レス数が900を超えています。1000を超えると表示できなくなるよ。