jin>>>>>
예를 들어 StringGrid가 6개 있습니다.
Name은 StringGrid1,StringGrid2....6까지 지정해줬는대요
코딩을 줄일려고 아래와 같이 For 문을 사용했어요!!
그런데 GridName(변수)에 지정된 값이 안들어가고요 그냥
문자 자체가 들어 가더라구요~
값이 들어 갈려면 어떻게 코딩해야하나요??
--------------------------------------코딩입니당^^
var GridName : String;
GridCount : integer;
.
.
GridName:='StringGrid'+ inttostr(GridCount);
For Count := 1 to 17 do begin
GridData:= gridName+'.Cells[0,Count]';
showmessage(GridData);
//showmessage결과: StringGrid1.Cells[0,Count]
//만약 GridData := GridName +'.Cells[0,'+count+']'; ->요렇게하면
//showmessage결과: StringGrid1.Cells[0,1]
//저는 StringGrid에 있는 값을 얻고 싶어요!!
그냥 FindComponent를 쓰면 되지 않나여???
var
sgComp : TStringGrid;
I : Integer;
begin
for I := 1 to 6 do begin
sgComp := TStringGrid(FindComponent('StringGrid' + IntToStr(I)));
sgComp.Cells[I,I] := {원하는값}; //I 대신에 다른 증감변수를...?!
end;
end;
이렇게 하면 되나여...???
아무쪼록 많은 도움이 되길 바랍니다...!!!???
그럼 *^.^*;
jin wrote:
>
> jin>>>>>
> 예를 들어 StringGrid가 6개 있습니다.
>
> Name은 StringGrid1,StringGrid2....6까지 지정해줬는대요
>
> 코딩을 줄일려고 아래와 같이 For 문을 사용했어요!!
>
> 그런데 GridName(변수)에 지정된 값이 안들어가고요 그냥
>
> 문자 자체가 들어 가더라구요~
>
> 값이 들어 갈려면 어떻게 코딩해야하나요??
>
> --------------------------------------코딩입니당^^
> var GridName : String;
> GridCount : integer;
> .
> .
> GridName:='StringGrid'+ inttostr(GridCount);
>
> For Count := 1 to 17 do begin
> GridData:= gridName+'.Cells[0,Count]';
> showmessage(GridData);
>
> //showmessage결과: StringGrid1.Cells[0,Count]
>
> //만약 GridData := GridName +'.Cells[0,'+count+']'; ->요렇게하면
> //showmessage결과: StringGrid1.Cells[0,1]
>
> //저는 StringGrid에 있는 값을 얻고 싶어요!!
>
>