2009-06-04 6 views
8

RAD StudioにVisual Studioの#regionsに相当するものがあるかどうか疑問に思っていました。#regionはC++ Builderで同等ですか?グループコードと同様の方法ですか?

私は、私が働く場所でDelphiとC++のビルダーIDEを使用しています。私は地域のようなものを使うことができるのが大好きです。

私の同僚と私はコードをグループ化する同等の方法をまだ見つけていません...あなたは何か知っていますか?

答えて

20

特別な{$ REGION 'Region Name'}ディレクティブを適用して、コードエディタで「名前付き」折りたたみ領域をマークすることができます。

コードをリージョンとしてマークするには、REGIONおよびENDREGIONディレクティブで囲みます。コードが折りたたまれて隠されたときに表示されるキャプションを含めることができます。ここで

は、2つ(ネストされた)領域のexampeです:

{$REGION 'Iterate Panels'} 
for j := 0 to StatusBar1.Panels.Count - 1 do 
begin 
    x := x + StatusBar1.Panels[j].Width; 
    {$REGION 'Inner if Region'} 
    if mpt.X < x then 
    begin 
    panel := j; 
    Break; 
    end; 
    {$ENDREGION} 
end; 
{$ENDREGION} 

折ったり展開地域を、(展開されている場合)[+]をクリックするか、するには、[ - ]マーカーを左(崩壊する場合) $ regionディレクティブ。これが表示されます:C++ Builderの

alt text http://z.about.com/d/delphi/1/G/o/a/coderegions.gif

+0

これは私が探していたものです。どうもありがとうございました。 – stevosaurus

+0

これはDelphi 2005で導入されたと信じています。 –

5

を、documentationで説明したように、

#pragma region [name]
#pragma end_region
を使用しています。

+1

少なくとも、C++ Builderを使用している場合、IDEは折りたたんだ領域を覚えておらず、他の部分を編集するたびに展開するという厄介な傾向がありますドキュメントのしたがって、ファイルを開くたびにリージョンを再度折りたたむ必要があります。 –

+0

はい、それはかなり面倒です、私はバグだと思います。折り畳まれたクラス/関数の場合、これはC++ Builder 2010で修正されましたが、#pragma regionではまだ修正されていません... –

+0

C++ Builder 2010 Update 4/5では#pragma regionも同様に修正されています。 –

4

eKek0の回答ノートに加えて(少なくともd2009では)、リージョンに配置するコード行を選択し、右クリックしてSurround |領域。地域名の入力を求めるメッセージが表示されます。

関連する問題