[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 07/05 09:41 / Filesize : 151 KB / Number-of Response : 533
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

くだすれDelphi(超初心者用)その48



1 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 00:50:40 ]
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。

<前スレ>
くだすれDelphi(超初心者用)その47
pc11.2ch.net/test/read.cgi/tech/1214292265/

<過去スレ>
DelWiki避難所(Delphi 関連の過去スレッド)
delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89

303 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:50:59 ]
case n of
    1:
        foo;
   
    2:
    begin
        bar;
    end;
   
    else
        baz;
end;

304 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 20:13:24 ]
case n of
1:
foo;

2:
begin
bar;
end;

else
baz;
end;

305 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2008/12/01(月) 21:52:39 ]
  ∧,,∧∩  おれ、こんなん。
 ミ,,゚Д゚彡
 ミ つ旦.ミ  
   if then
   begin
   end else
   if then
   begin
   end else
   begin
   end;

if が何個ならんでも、行頭を揃えたい気がするのです。
Caseはいつも悩む。
ifを、caseに変更したときに、begin...endをわざわざ
インデント変更したくないから
  case A of
  B:
  begin
  end;
  C:
  begin
  end;
  end; //case

かな。。行が増えすぎと、caseのendとbeginendが分けにくくていやなのだが。。

306 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:27:22 ]
おいらも case 文は苦手だったな。どうやってもキレイに書けない。しかし、だいたい次のようにやってた。(case の範囲を字下げではっきりさせたいんだな、おいら)

case A of
  B: 文  
  C: begin
      文;
      文
    end
  D,E: 文
  else 文
end

case 文を 「case A of :値: 文 :値: 文 end 」とビルトが設計すればよかったかもね、次のようにスッキリする。(「文」は単文でも複文でも可だよ)
case A of
  :B:  文
  :C: 文;
     文
  :D,E: 文
  else 文
end


307 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:34:44 ]
気持ち悪い

308 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:42:18 ]
caseの中はcaseより引っ込める
ラベルの中身も引っ込める、begin-endの中も引っ込める
ラベルの後ろにbeginを書くと、対応するendもおなじインデントに書きたい
横に伸び〜

309 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:43:14 ]
case〜endの間を字下げで解決。

310 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:44:53 ]
typeのクラス宣言内のprivateなprocedureとか、自動生成で変なインデントを付けられた日にはもうー

311 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:47:30 ]
record型のconstの配列の初期化の記述がめんどくさい
コンパイラサボりすぎ



312 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:51:10 ]
>>308
おいらもおんなじ気持ちだけど、これやるとインデント深くなるんだよなあ。
だからおいらはインデントをスペース3文字分にしてるんだが、それでも深くなる。
これがインデントがスペース8文字分で表示された日にゃー目がぶっ飛ぶ。


313 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 08:08:53 ]
え!Del党ってインデントはスペース2文字でしょ。


314 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 08:42:41 ]
オレは2文字だな。
if 〜 then begin
 文
end else if 〜 then begin
 文
end;

case i of
 1 : begin
    文
   end;
end;

315 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 08:51:14 ]
caseとelseとendをそろえてる。
caseに関しては自動インデントを使わずなるべく詰める様にしている。
17インチCRTからの流れで横も縦も圧縮する様な書き方になってしまった。
ifなんかでも改行してbeginの方が見やすいのに。

316 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 09:22:53 ]
>>305
ifが常に行頭だと、別のif分と区別がつきにくいから嫌だな

case分は無駄にインデントが増えるな

case hoge of
 A:
  begin
  end;
 B:
  begin
  end;
 else
end;

これでやると、else内だけインデントがずれるのがむかつく

317 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 09:23:34 ]
if分、じゃなくてif文だし、case分じゃなくてcase文
orz

318 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 11:01:35 ]
>>313-314
インデント2文字でやってみたことあるんだけど気に入らなかったんだな、おいら。
なぜかっていうと、(一番多用される)if文のときインデント2文字だと

i f a = b then begin
c:= 2;
........

のようになって、この例で説明すると変数 a と c の頭が揃わないので美しくない。それに
if の近くに変数 c がありすぎて if が窮屈に見える。これをインデント3文字にすると

i f a = b then begin
  c:= 2;
  ........

となって、こっちの方がスッキリして見えるんだな、おいらの目には。(if文重視なんで)
まあ、バカなおいらの好みだけどね。
そんで、クラス宣言の自動生成がインデント2文字固定なんで、苦労してる。

319 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 11:05:18 ]
秋田

320 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 11:07:07 ]
>>318 の最初の例が崩れてたから訂正するね。

if a = b then begin
 c:= 2;
 ........

(2ちゃんは左側の半角スペース取っちゃうんだよね.....。)

321 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 13:14:15 ]
インデントは2文字。
if文は>>305に同じ。
大規模なcase文などではソースを折りたためるようにREGIONを使う。
case hoge of
 A: {$REGION '説明'}
 begin
 end; {$ENDREGION}
 B: {$REGION '説明'}
 begin
 end; {$ENDREGION}
else
end;



322 名前:321 mailto:sage [2008/12/02(火) 13:19:47 ]
あ、if文は>>305とは微妙に違った。
if then
begin
end
else if then
begin
end
else
begin
end;

個人的には、else(else if) 〜endまでの処理を消したり、
begin〜endまでの複数行の文を単数行の文に書き換える際に自然だからこれで落ち着いた。

323 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:24:36 ]
どうせソースの書き方なんて十人十色なんだからいい加減飽きろよ

324 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:26:21 ]
新しい話題を提供しろよw

325 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:36:34 ]
>324
「CodeGear RAD Studio 2009 日本語版」販売開始だって

326 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:47:10 ]
delphiはなかなか良い言語だとは思うけど
C++ライクに記述できるような仕組みがあれば、いいなぁ。
あと、delphiにC++を埋め込めるようにできれば、なおよし。
begin〜endはうざい。
あと、function/procedureと区別する意味がわからん。
C++歴5年、delphi歴3ヶ月より。


327 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:52:56 ]
C++に、Pascalライクに記述できたらいいなあ。
なんて言われたら、ウザッとか思わない?

328 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:55:28 ]
DLLとかC++ Builderとか使えば出来るけどね

329 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:55:43 ]
>>327 そんな需要はないから。
delphiでC++ライクに使えれば、ポインタ使いまくれるし
C++脳の人間にとっては、とても楽。


330 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:56:14 ]
でもちょっと違うか

331 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:56:52 ]
>>329
それは工夫が足りないんじゃね?



332 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:59:10 ]
C++記述するときにはいつも
「もっとDelphiライクなら・・・」
って思っちゃう俺はアホなのかもしれん^^;

333 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:00:59 ]
じゃあおまいらどんな記述がいいのよ

334 名前:デフォルトの名無しさん [2008/12/02(火) 22:21:56 ]
教えてください。

既存のプロジェクトなのですが、DataModuleのSession,Aliasのアイコンが半透明に
なっています。
実行するとデータベースに接続するところで異常終了します。
つなげるべきデータベースはわかっているのですが、どのように設定したらよいので
しょうか。


335 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:28:21 ]
Pythonが綺麗って言われてるよね。

Delphiと似てるからすぐに使えるようになるよ。

336 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:28:27 ]
begin
end

{
}
ならDelphiが無敵

337 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:34:17 ]
if True then {
MessageBox(Handle, 'test', 'test', MB_OK);
};
こうですか分かりません><

338 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:07:14 ]
むしろBegin〜endの方が俺は見やすくて好きw


変態ですので

339 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:10:48 ]
Begin〜endよりbegin〜endのがよっぽど見やすい

340 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:48:59 ]
細かいやつって嫌われるよな

341 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:58:26 ]
C++のコードは見づらい



342 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:01:42 ]
>>340
C++は嫌われて無いじゃないですか

343 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:38:28 ]
CoolBarの行を1行固定にしたいんだけどどうすればいいの?
アイコンバンド1、アイコンバンド2、検索窓の3つ設置。
実行してCoolBandを弄ってると必ず2行目が出来てしまう。

344 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:42:07 ]
C++ の :: と -> がウザイ。


345 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 01:02:04 ]
俺も

346 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 11:57:27 ]
フォーム上の末代までのコントロール数をカウントする方法ってあります?

347 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 12:12:58 ]
Form1.ComponentCount
子供の子供まで数えたい時はComponents使って再帰とかすればいい
function CountFunc(Compo: TComponent): Integer;
var
I, Count: Integer;

procedure SaikiFunc(Compo: TComponent);
var
I: Integer;
begin
for I := 0 to Compo.ComponentCount - 1 do
begin
Inc(Count);
SaikiFunc(Components[I]);
end;
end;

begin
Count := 0;
SaikiFunc(Compo);
Result := Count;
end;

348 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 15:51:56 ]
教えてください。

Nscripterで集積エフェクトを使いたいのですが,

lsp 0,"****.jpg",208,32
print 99,3000,"breakup.dll/ulP"

これだと左,中央,右の指定ができず困っています。
どうしたらいいですか?

349 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/12/03(水) 18:01:45 ]
>>347
それだと非ビジュアルコンポーネントまでカウントしてしまうので
> if Components[i] is TControl then
みたいに絞り込むか ControlCount/Controls を使うと良いと思います。

>>326
Delphiはプログラミング教育用に生まれたPascalの血を引いた言語ですから
わかりやすさを捨てることはないでしょうね。

逆にPascalのbegin〜endがうざかった人間が作ったのがCですから
突き放したような結論で恐縮ですが
「Delphiのbegin〜endがうざいならCPB使え」
ということになってしまうのではないかと思います。
(…なあんてことを書いたときに限ってDelphi2010あたりで{}が実装されたりして)


350 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 21:11:09 ]
そういえば昔、SQL Anywhere というデータベースを使ったことがあったが、
そのストアードプロシジャーは if文が
  if 条件 then 文1 else 文2 end
という構文で、文1と文2は単文でも複文でも begin end が不要だったな。
ありゃあ見やすいし、書きやすかった。
begin end や { } なんて過去の遺物、消え去るよ。

351 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 21:19:41 ]
graphics32ってMPL1.1ですけど、改造しないで普通に使用して公開する場合は
ソースを公開する必要はないと聞きますけど
ここの ttp://ja.wikipedia.org/wiki/Mozilla_Public_License
特徴のところで
バイナリ形式で配布する場合には、ソースをバイナリと一緒に公開しないと
いけないみたいな事かいてるんですけどどっちが本当ですか?



352 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 21:39:55 ]
>>349

どれのことだ

ja.wikipedia.org/wiki/CPB

CPB

* ビルマ共産党
* キャンベル・スープ・カンパニーのNYSEコード。
* 公共放送機構 (Corporation for Public Broadcasting)
* セントラル・パシフィック・バンク

353 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 21:57:27 ]
BCBだな

354 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 22:42:57 ]
>>351

Delphi持ってるならGLSceneを使え
pc11.2ch.net/test/read.cgi/tech/1163269079/

の 25 辺りから見るとよいよー

355 名前:351 mailto:sage [2008/12/04(木) 04:45:25 ]
>>354
やっぱりソースは公開しなくても良いんですね
おかげでスッキリしました、ありがとうございます

356 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/12/04(木) 16:30:30 ]
すいません、思いっきり略称間違えました… orz


357 名前:デフォルトの名無しさん [2008/12/05(金) 02:03:30 ]
onKeyDown や onKeyPress などを使って、
『キーの同時押し』を検知する方法ってありますか?

たとえばAlt + Tab を検知するなど。

358 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 02:36:22 ]
Downならif Shift = [ssAlt] thenで

359 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 18:41:49 ]
GetAsyncKeyStateはだめ?


360 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 00:02:20 ]
同時押しの検出ならGetKeyStateかShiftパラメータでは?

361 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 09:00:10 ]
Del7+Win2000
フォームを半透過指定してフォーム上のコンポーネントは非透過ってのは可能?
Transparentみたいな色指定透過っぽい感じ



362 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 10:45:21 ]
Pascal を C++ っぽくしろって、
日本語は英語と同じ文法にしろっていうような門やん

363 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 15:16:53 ]
>>362
Begin...Endの事?
そうは思わないな…
日本語だって英語の良いところはカタカナという形で吸収するんだから
コメントと文法くくりはBegin、{両方サポートしてくれたら私もうれしいな。
でもそうなると過去のソースが動かなくなるわけで、そこまでして言語仕様を拡張することには反対
結果として{は無理だと思うけど。
コンパイラ指令で切り分けできたら面白いすね、デフォルトはOFFで。

364 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 15:45:26 ]
TEditの枠線の色を赤色に変えるにはどうしたらいいでしょうか?
よろしくお願いします。

365 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 15:51:45 ]
OSの管轄なので無理
あるいはオナニードロドロ

366 名前:364 mailto:sage [2008/12/06(土) 15:58:30 ]
早速回答ありがとうございます。
ちょっと変えてくれと言われたんだけど厳しそうだし、
見た目の問題だけなのでそのまま放置しますw

367 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 16:00:53 ]
>>364
一回り大きいPanelに乗せてPanelの色を変える

368 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 16:12:37 ]
>>366
ならそいつにVSでも変えてろハゲとでも言ってればいい希ガス

369 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 19:18:45 ]
Delphi2006でヘルプを使いDelphi終了すると、タスクにdexplore.exeが残り、
再びDelphi2006起動してヘルプを使いDelphi終了すると、タスクにdexplore.exeが2つ残り、
とドンドンdexplore.exeがタスクに増えて行きます。(OSはXPです)
これって、メモリーけっこう食ってますが、Delphiのバグでしょうか?


370 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 21:16:21 ]
dexplorerのバグでしょう、きっと。

371 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 09:41:05 ]
VS だとそんなことないから Delphi のIDEのバグじゃないの?



372 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 11:49:41 ]
食わせてるデータがまずいからだとは思うんだけど、それで逝っちゃうようなのはやっぱりバグだと思うんだ。
DelphiのIDEはDExplorerをキックしてるだけだしね。ちなみにXPで発現することが多いみたい。

373 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 16:17:50 ]
Borland Developer Studio 2006 (Professional)をデフォ状態でDelphi使うと
ヘルプにC++の内容まで検索されてウザイ。
C++の内容が検索されなくなる設定ができるかどうか調べても未だに分からない。
どなたかHELP!


374 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 19:34:12 ]
それが円馬鹿クオリテー

375 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 02:15:33 ]
フィルタ条件ではあかんのか

376 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 09:20:16 ]
6とかだとヘルプファイルの検索対象の範囲とか設定できるんだけどねぇ‥‥
CLXのヘルプ外したりとか。

377 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 11:59:47 ]
ヘルプはひどいな
リンクも不十分だし、欲しい情報になかなかとべん

378 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/12/08(月) 17:35:10 ]
旧ボーランド時代からヘルプは良くなかったですねぇ。
初代Delphiの頃はまだ良かったのですが…

>>367
さらにEditを枠無しにしたら完璧ですね。


379 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 16:44:35 ]
>>378
やってみたけど枠を消すと文字がずれて、枠有りの状態のようにはいかなかった。

380 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/12/09(火) 17:47:19 ]
確かにうまくいきませんでした。

赤パネル
 Editと同じ色のパネル
  Edit

の三段重ねでEditの位置を調整してなんとかそれらしく?なりましたがなかなか骨の折れる作業です。
複数貼り付けるならアンカーを使ったり赤パネルの代わりに赤フレームにすると作業効率は多少ましになるかもしれませんが
AutoSizeが利かなくなるのかフォントサイズを変えてもウィンドウサイズが変わらないのはつらいですね。


381 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 18:32:27 ]
そんなことするよりTCustomEdit継承して新しく作った方が楽じゃない?



382 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 20:53:08 ]
初心者質問お願いします。
DateTimePickerにMaxDateを設定している時、
プログラムでDateTimePickerのDate プロパティにMaxDateと同じ日付を代入することはできないのでしょうか?
手動ではMaxDateの日付を設定できます。
当方Delphi4です。

〜例〜
(MaxDate は2008/12/31と設定している)
DateTimePicker1.Date := StrToDate('2008/12/30'); ・・・日付が反映される
DateTimePicker1.Date := StrToDate('2008/12/31'); ・・・日付が反映されない
DateTimePicker1.Date := StrToDate('2009/1/1'); ・・・日付が範囲を超えているとエラーが出る
(手動で2008/12/31を設定することはできる)

383 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 21:23:34 ]
TEdit も TDateTimePicker もウィンドウズのコントロールだから、その機能は
本質的には Delphi と関係ない。MSDN 読むほうがいい。 >>381 は馬鹿回答。

384 名前:382 [2008/12/09(火) 21:49:28 ]
>>383
そうでしたかぁ。
ありがとうございました。


385 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 00:48:07 ]
>382
Timeプロパティに何が入ってるか確認したほうがよいかも。

386 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 08:21:07 ]
>>373
俺も2006でDelphiだけが表示される正式なヤリ方がしりたい。

前にどこかを見てやったときは、ヘルプのアプリ?がバグバグで
設定したのに設定したことにならなかったり嫌になった覚えがあるな。
しかし、どうやって設定したか憶えてなくて困る。
Delphiヘルプのみってのが確かできたはずなんだが。

6の時はテキスト弄るだけで簡単だったけどな。

387 名前:382 mailto:sage [2008/12/10(水) 13:20:42 ]
>>385
Timeプロパティを00:00:00にしたら正しく動きました!
ありがとうございました!

388 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:17:14 ]
TEditの枠のありなしでサイズが変わるのはVCL内で実装されているから、
継承してサイズが変わらないようにすればおk
それ以前にコントロールは自分でも描画できるから、簡単に枠を描画することが可能
↓にサンプルがある
www.delphipages.com/threads/thread.cfm?ID=171344&G=171334
VCLはただWindowsコントロールをラップしてるだけでなく独自のコードも追加してるし、
>>383はかなり見当違いの回答なので初心者は参考にしないようにね

389 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:22:03 ]
2006ではDelphi以外のHELPも(親切に)表示するのが仕様ということでハイ {{{{(+_+)}}}}。
(アーーーーめんどくさい)
しかし、こんな簡単なことがデフォでできてないなんて、何なのこの会社?

390 名前:デフォルトの名無しさん [2008/12/11(木) 00:24:47 ]
教えてください。MediaPlayerを使って1から9までの動画をランダムにつなげて流すというプログラムを作っています(例えば2→5→8→1→3→9→4→7→6の順番で動画を流してくれるようなプログラムです)
とりあえず作ってみたのですがボタンを押してもうんともすんとも動きません。ここが間違ってる、こうしたら良いなどのアドバイスをいただけたらと思います。よろしくお願いします

var
cou,new,test,i:Integer;
video:Array[1..9]of integer;
procedure TForm1.Button2Click(Sender: TObject);
begin
cou:=cou+1;
if cou>9 then exit;
Randomize;
new:=Random(10);
repeat
test:=0;
For i:=1 to cou do
if new=video[i] then test:=1;
If test=1 then new:=random(10);
until test=0;
video[cou]:=new;
MediaPlayer2.FileName:=ExtractFilePath(application.ExeName)+'tabidachi'+IntToStr(new)+'.wmv';
MediaPlayer2.Open; MediaPlayer2.Notify:=True; MediaPlayer2.Play;

procedure TForm1.MediaPlayer2Notify(Sender: TObject);
if (MediaPlayer2.DeviceID <> 0) and (new < 10) then
begin
MediaPlayer2.FileName := ExtractFilePath(application.ExeName)+'tabidachi'+IntToStr(new)+'.wmv';
MediaPlayer2.Open; MediaPlayer2.Play; Inc(new);
end;

391 名前:デフォルトの名無しさん [2008/12/11(木) 00:44:39 ]
宿題でダイヤモンドパターンのプログラムがあるのですが教えてください!!!!



392 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:45:27 ]
couの初期値って何なの?

393 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 03:01:18 ]
>>388 そうなんですか。それで変な動作をするんですね・・ TEdit くらい単純なラッパーの方がいいのに。

394 名前:386 mailto:sage [2008/12/11(木) 10:02:34 ]
ヘルプの編集思い出した。
編集というか、デフォルトのフィルタを変更するだけだけど

「ヘルプ」→「フィルタの編集」
(フィルタなし) を選択して、例えば以下を突っ込んで Save

("DevLang"="Delphi") OR ("DocSet"="bds_Win32") OR ("DocSet"="PSDK") OR ("DocSet"="indy")

これで、デフォルトでDelphiとBDS Win32とPlatformSDK、Indy 10からしか検索されない。

根本的にいらないヘルプをはずすわけではなく、
実質、起動時にフィルタを選択しているのでヘルプ起動時少し重いが難

395 名前:386 mailto:sage [2008/12/11(木) 10:06:04 ]
根本的に削除する方法みつけた。これでいけるんじゃね?

ヘルプを登録しなおすには:某所:So-net blog
bousyo.blog.so-net.ne.jp/2006-01-09

某所 - C++Builder のヘルプを削除するには
bousyo.blog45.fc2.com/blog-entry-91.html


396 名前:386 mailto:sage [2008/12/11(木) 10:08:25 ]
ああ、やべえ、 >>394 はやらん方がいいわw
(フィルタなし) に Saveすると、以下の様にでて元に戻せなくなるわw

---------------------------
Windows Internet Explorer
---------------------------
Filter cannot be saved without a definition
---------------------------
OK
---------------------------

欠陥ヘルプww

397 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 10:22:02 ]
>>396 の問題は、deleteで(フィルタなし)を削除しようとしたら大丈夫だった

>>395のヘルプの編集はうまくいった。
以下C++と.NETの削除の方法 for Vista。

まずは、適当なフォルダに %PROGRAMFILES%\Borland\BDS\4.0\Help\Common\mergeWin32.xml をコピー。
以下のパッチを当てる。(といっても該当行を削除するだけ)

--- mergeWin32.org.xml  2005-11-14 10:00:00.000000000 +0900
+++ mergeWin32.xml      2008-12-11 10:12:02.910931700 +0900
@@ -10,16 +10,13 @@
 <CompiledIndex>Help\Win32\bds4Win32devguide.HxI</CompiledIndex>
 <CompiledIndex>Help\Win32\bds4Win32tasks.HxI</CompiledIndex>
 <CompiledIndex>Help\Win32\bds4Win32api_win32.HxI</CompiledIndex>
-<CompiledIndex>Help\Win32\bds4Win32api_cpp.HxI</CompiledIndex>
 <HelpTopic>Help\Win32\bds4Win32guide.HxS</HelpTopic>
 <HelpTopic>Help\Win32\bds4Win32devguide.HxS</HelpTopic>
 <HelpTopic>Help\Win32\bds4Win32tasks.HxS</HelpTopic>
 <HelpTopic>Help\Win32\bds4Win32api_win32.HxS</HelpTopic>
-<HelpTopic>Help\Win32\bds4Win32api_cpp.HxS</HelpTopic>
 </FileList>
 <Filters>
 <Filter Name="Developer Studio 2006 for Win32">"DocSet"="bds_Win32"</Filter>
-<Filter Name="Language: C++">"DevLang"="C++"</Filter>
 </Filters>
 </Merge>
 </helpConfig>

(つづく)

398 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 10:24:29 ]
同じフォルダに以下のregHelp.batファイルを作り、管理者権限で実行

copy mergeWin32.xml "%PROGRAMFILES%\Borland\BDS\4.0\Help\Common"
"%PROGRAMFILES%\Borland\BDS\4.0\Help\Common\regHelp.exe" -7
"%PROGRAMFILES%\Borland\BDS\4.0\Help\Common\regHelp.exe" 5

おもむろにヘルプを起動すると、しばらく後適用された状態で検索ができる

                   / ̄\
                  |     |
                   \_/
                 __|___
                 /        \
                  /         \
                    l            | 
              (             |
                   \       〃_/
                 >'⌒ ̄ ̄、,\
                /         \
               /  ィ     ,ノ'ヾ ヽ
                (   /  ),      l
                  ) ノ _,/    、,,  |
                /⌒ ̄ ̄ ̄          |
            l  、_          ,ノ ,/
          | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
.            └┬:‐┬───┬‐────┘
            ノ ,‐‐,)      丿,‐‐,)          ┼ヽ  -|r‐、. レ |
           (,∠/       (,∠/           d⌒) ./| _ノ  __ノ

399 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 10:39:17 ]
>>397
念のため編集前に mergeWin32.xml はバックアップを取っておいた方がよいです

400 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 12:52:35 ]
>>394-399
サンキューベリーマッチ!  m(_ _)m

401 名前:390 [2008/12/11(木) 13:28:48 ]
>>392さん
初期値は設定していません。設定しないとうまくいかないんでしょうか?

引き続きご回答いただければ幸いです。よろしくお願いします



402 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 13:33:07 ]
cou:=cou+1;
の行にBreakPointを置いて、実行。

止まったときのcouの値は?

cou:=0;
で初期化しないとだめじゃないの?
自動で0にしてくれたっけ?


403 名前:390 [2008/12/11(木) 13:57:43 ]
>>402さん
cou:=0;で設定し、ブレークポイント置いて実行してみました
couは1で止まってしまっているみたいです…






[ 続きを読む ] / [ 携帯版 ]

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

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