あちこちで見かける tips 集

今回は趣向を変えて、あちこちの tips サイトで見かけるような珍しくもない tips をまとめてどどーんと紹介。
今までの tips の中にも、珍しくないものが混じっているという突っ込みは禁止(笑)

ちゅーわけで、不定期でここのページは拡大する予定。

日本語の Win32API ヘルプ
「英語なんて読めるか、きー」ってあなたに朗報。
Delphi の CD の中に日本語の Win32API ヘルプが存在しています。
Delphi をインストールしただけではハードディスクにコピーされないので、手作業でコピーしましょう。
CD の \Extras\Jphelp に入っています。
ただし、内容が古いので載ってない事項があります。
私も最近 TFolderDialog を作るときに、ShellApi 関連の API が載っていなくて、しかたがなく英語ヘルプ引きました。
Senderのない手続きから、Senderを引数に持つ手続きを呼ぶ
Sender は TObject。
TObject は class。
class はポインタ。
よって nil を渡せばOK。
Win32API の SetFocus が呼べない
TWinControl.SetFocus と衝突しているせいです。
Windows.SetFocus という風に明示的に呼びましょう。
一度 Form に張りつけたコンポーネントを、Panel に乗せられない
乗せたいコンポーネントをカットして、Panel にフォーカスを与えた後ペーストすれば出来ます。
短く書きたい
Form2.Flag.Flag1 := Form3.CheckBox1.Checked;
Form2.Flag.Flag2 := Form3.CheckBox2.Checked;
Form2.Flag.Flag3 := Form3.CheckBox3.Checked;
Form2.Flag.Flag4 := Form3.CheckBox4.Checked;
Form2.Flag.Flag5 := Form3.CheckBox5.Checked;

長々としていますねえ。
こんな時は以下の様に省略できます。

with Form2.Flag, Form3 do
begin
  Flag1 := CheckBox1.Checked;
  Flag2 := CheckBox2.Checked;
  Flag3 := CheckBox3.Checked;
  Flag4 := CheckBox4.Checked;
  Flag5 := CheckBox5.Checked;
end;

実は with って複数でも受けつけるんですねえ。


Return index page