RECOMMEND
SELECTED ENTRIES
RECENT COMMENTS
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    pooco (12/26)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    hopeseeds (12/26)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    pooco (12/26)
  • Delphiコンポーネント:国際化対応コンポーネント IniLang
    hopeseeds (08/22)
  • Delphiコンポーネント:国際化対応コンポーネント IniLang
    Hideo (08/21)
  • 特定のページが開けない!なんと、コードギアのホームページが開けない・・私のせい?
    QQ (07/18)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    taha (05/30)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    cham (03/27)
  • 第8回 CodeGearデベロッパーキャンプ開催!
    cham (03/27)
  • delphiコンポーネント:祝祭日カレンダーコンポーネント
    ふみちゃん (03/25)
RECENT TRACKBACK
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS

11
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--
>>
<<
--

Delphi Holic (HopeSeeds blog)

「Delphi Holic」は、ホープシーズ製品の紹介、
Delphi、Kylix、Lazarusなどの情報を上げていきます。
<< ウィルスチェックソフトの遷移 | main | 注目しているの WebOS AppsBuilder >>
.tag は何に使う?
Delphiのコンポーネントのほとんどについている。 tag プロパティだが、これ、何に使ってます?
tagプロパティは、Integer型だ。
たぶん、一般的に、ボタンなら、
procedure TForm1.Button1Click(Sender: TObject);
begin
 case Tbutton(sender).tag of
 1:ShowMessage('1 Push!');
 2:ShowMessage('2 Push!');
 3:ShowMessage('3 Push!');
 end;
end;
複数のボタンを全て同じイベントに持って行って、tag番号として、振る舞いを振り分ける。

しかし、tagは、使わなければ、ただのもったいない箱だ。
Delphi7のヘルプには、こう書いてある。
「Tag は,定義済みの意味を持たない Integer プロパティです。Tag プロパティは,開発者の手間を省くために提供されます。追加の整数値の格納に使ったり,コンポーネント参照またはポインタなどの値に型キャストすることもできます。」
意味を持たない・・とさ、でも、もったいないと思う私は、下の様なことにも使っている。

//最初の振る舞いを見分ける。ボタン押下のカウントなど
procedure TForm1.Button1Click(Sender: TObject);
begin
 if Button1.tag =0 then
 begin
  ShowMessage('はじめまして');
 end;
 Button1.tag := Button1.tag +1; 
end;

正直、告白すると、変数として使っちゃったりしている。
(他の人にソースを見せない場合だけど)
他にも、
ShowHint をFalse にした時のHintプロパティを文字列変数に、
逆に、Hintを空にしておいて、ShowHint をBool型の変数に、

TLabel の TransparentをTrue にした時の Colorプロパティ
短い固定のキャプションの時の WordWrapプロパティをBool型の変数に、

などなど・・。やりすぎると、ソースが見えにくくなる。


| Delphi Holic | 23:34 | comments(0) | trackbacks(0) | - | - |









http://delphiholic.hopeseeds.com/trackback/480725