Q&A

  • EditBox 들을 나누어서....
안녕하세요..

가끔 이곳에 들러보는 아직은 초보라서..

오늘두 질문을 드립니다..

음..이미 시간이 없어서..다른 방법으로 했는데..그게 맘에 들지 않아

이렇게 글을 올립니다..



EditBox 가 20개 있습니다.



판넬 속성을 가진, 즉 첫번째 판넬 안에 5개의 에디트 박스가 있구

2번째 판넬안에 5개의 에디트 박스, 그리고 나머지 10개의 에디트 박스는

폼위에 올려져 잇습니다..

그런데 초기화를 할려구 하는데요..



에디트 박스가 너무 많아서 일일히 코딩한다는 것은..좀 ^^; 그렇져?

그래서 일케 했거든요..



var

i : Integer;

begin

for i := 0 to ComponentCount-1 do

begin

if ( Components[i] is TEdit ) then (Components[i] as TEdit).Text := '';

end;

end;



이렇게 했습니다..

에디트 박스에 널값과, Enable 속성을...같이..했는데..

여기서..음..걸리는군요..



전체 초기화할때는 저렇게 하면 되는데..

첫번째 판넬만이나, 아님 첫번째,두번째 판넬에 있는것을 제외한것 즉

폼안에 있는것만 널값을 줄려면 어케 해야 하는지요..

일일히 주기는 좀 그런것 같구요..

에디트박스가 적으면 상관없겠지만, 많으니까..좀 그렇네요..

꼭 답변 부탁드립니다..그럼..수고하세요..

2  COMMENTS
  • Profile
    최용일 2000.06.19 18:50
    안녕하세요. 최용일입니다.



    Parent속성을 이용하세요.



    var

    I: Integer;

    begin

    for I := 0 to ComponentCount - 1 do

    begin

    if Components[I] is TEdit then

    if TEdit(Components[I]).Parent = Form1 then

    TEdit(Components[I]).Text := '';

    end;

    end;



    ^^ 항상 즐코하세요.



    정성훈 wrote:

    > 안녕하세요..

    > 가끔 이곳에 들러보는 아직은 초보라서..

    > 오늘두 질문을 드립니다..

    > 음..이미 시간이 없어서..다른 방법으로 했는데..그게 맘에 들지 않아

    > 이렇게 글을 올립니다..

    >

    > EditBox 가 20개 있습니다.

    >

    > 판넬 속성을 가진, 즉 첫번째 판넬 안에 5개의 에디트 박스가 있구

    > 2번째 판넬안에 5개의 에디트 박스, 그리고 나머지 10개의 에디트 박스는

    > 폼위에 올려져 잇습니다..

    > 그런데 초기화를 할려구 하는데요..

    >

    > 에디트 박스가 너무 많아서 일일히 코딩한다는 것은..좀 ^^; 그렇져?

    > 그래서 일케 했거든요..

    >

    > var

    > i : Integer;

    > begin

    > for i := 0 to ComponentCount-1 do

    > begin

    > if ( Components[i] is TEdit ) then (Components[i] as TEdit).Text := '';

    > end;

    > end;

    >

    > 이렇게 했습니다..

    > 에디트 박스에 널값과, Enable 속성을...같이..했는데..

    > 여기서..음..걸리는군요..

    >

    > 전체 초기화할때는 저렇게 하면 되는데..

    > 첫번째 판넬만이나, 아님 첫번째,두번째 판넬에 있는것을 제외한것 즉

    > 폼안에 있는것만 널값을 줄려면 어케 해야 하는지요..

    > 일일히 주기는 좀 그런것 같구요..

    > 에디트박스가 적으면 상관없겠지만, 많으니까..좀 그렇네요..

    > 꼭 답변 부탁드립니다..그럼..수고하세요..

  • Profile
    조복기 2000.06.19 18:38


    안녕하세요~

    그냥 간단하게 Tag값을 이용해서 해보시기바랍니다..

    Parent등을 사용해도 어차피 코딩이 들어가니까 이게 더 편할겁니다..

    지우고자하는 그룹을 Tag값으로 묶어서 파리미터로 그 값을 던져주면

    해결될것같네요..

    전 주로 퀵레포트의 레벨값을 지울때 주로 이용합니다..

    그럼 좋은하루되세요~





    procedure ClearEdit(Gbn: integer);

    var

    i : Integer;

    begin

    for i := 0 to ComponentCount-1 do

    begin

    if ( Components[i] is TEdit ) then

    begin

    case Gbn of

    // 전부지울때

    0 : (Components[i] as TEdit).Text := '';

    else

    if (Components[i].Tag = gbn) then

    (Components[i] as TEdit).Text := '';

    end;

    end;

    end;

    end;









    정성훈 wrote:

    > 안녕하세요..

    > 가끔 이곳에 들러보는 아직은 초보라서..

    > 오늘두 질문을 드립니다..

    > 음..이미 시간이 없어서..다른 방법으로 했는데..그게 맘에 들지 않아

    > 이렇게 글을 올립니다..

    >

    > EditBox 가 20개 있습니다.

    >

    > 판넬 속성을 가진, 즉 첫번째 판넬 안에 5개의 에디트 박스가 있구

    > 2번째 판넬안에 5개의 에디트 박스, 그리고 나머지 10개의 에디트 박스는

    > 폼위에 올려져 잇습니다..

    > 그런데 초기화를 할려구 하는데요..

    >

    > 에디트 박스가 너무 많아서 일일히 코딩한다는 것은..좀 ^^; 그렇져?

    > 그래서 일케 했거든요..

    >

    > var

    > i : Integer;

    > begin

    > for i := 0 to ComponentCount-1 do

    > begin

    > if ( Components[i] is TEdit ) then (Components[i] as TEdit).Text := '';

    > end;

    > end;

    >

    > 이렇게 했습니다..

    > 에디트 박스에 널값과, Enable 속성을...같이..했는데..

    > 여기서..음..걸리는군요..

    >

    > 전체 초기화할때는 저렇게 하면 되는데..

    > 첫번째 판넬만이나, 아님 첫번째,두번째 판넬에 있는것을 제외한것 즉

    > 폼안에 있는것만 널값을 줄려면 어케 해야 하는지요..

    > 일일히 주기는 좀 그런것 같구요..

    > 에디트박스가 적으면 상관없겠지만, 많으니까..좀 그렇네요..

    > 꼭 답변 부탁드립니다..그럼..수고하세요..