2016-11-15 3 views
-3

Iは、フォームに記入空にするためにこのコードを使用する:安全な決済コンポーネントですか?

var 
i: integer; 

for i:=0 to componentcounts-1 do 
    begin 
    if component[i] is TEdit then 
     (component[i] as Tedit).text:=''; 
    .....another component also include 
    end; 

しかし、それは別の形で使用することができるので、私はプロシージャを作成

その後、フォームの外側にこのコードを使用することを好む

procedure emptyForm(f:Tform) 
var 
    i:integer; 
begin 
with f do 
    begin 
    for i:=0 to componentcounts-1 do 
     begin 
     if component[i] is TEdit then 
      (component[i] as Tedit).text:=''; 
      //.....another component also include 
     end; 
    end; 
end; 

このように保存しますか?

+1

あなたは '安全'を意味しましたか?また、 'componentcounts'? - あなたの質問を編集し、実際のコードを使用してください。 – kobik

+1

コンパイルされないプログラムは実行できないという点では十分安全です。実際のプログラムを見るのはもっと面白いかもしれません。 –

+0

申し訳ありません@kobik、ありがとうDavid Heffernan –

答えて

-1

私はそうだと思いますが、「with」を使用するのは少し危険です。理由を調べるには、TFormはTComponentの子孫であり、Component [i]と同じプロパティの多くを持ち、潜在的な混乱とエラーにつながることに注意してください。私は以下を好む

procedure emptyForm(f:Tform); 
var 
    i:integer; 
    iComponent : TComponent; 
begin 
    for i:=0 to f.componentcount-1 do 
    begin 
     iComponent := f.Components[ I ]; 
     if iComponent is TEdit then 
     begin 
      (iComponent as Tedit).text:=''; 
     end; 
      //.....another component also include 
    end; 
end; 
+0

メソッド名は_ComponentCount_です。 _componentcounts_ではありません。 – nolaspeaker

+1

ご意見ありがとうございます。あなたは正しいです - 私はちょうどカットアンドペーストを使用するよりも、チェックしておくべきです。今修正されました。 – Dsm

関連する問題