코딩은 아래와 같습니다.
procedure TfMachine.Edit1Enter(Sender: TObject);
var
I : Integer;
begin
for I := 0 to ComponentCount - 1 do begin
If TShape(Components[i]).Tag = (Sender as TEdit).Tag Then
TShape(Components[i]).Brush.Color := clRed
else
TShape(Components[i]).Brush.Color:= clYellow;
end;
end;
제가 하려는 것은 각 Edit 앞에 Shape로 원형을 만들어 두고
서로 같은 Tag값을 준후 특정Edit에 Enter시 해당 Edit앞에 있는 Shape의 색깔을 변경해주려 합니다.
한폼의 edit의 text를 모두 clear할때 아래와 같이 한적이 있어 좀 응용을 한 것인데
Access에러가 자꾸 나네요.
for i := 0 to componentcount - 1 do begin
if components[i] is TEdit then begin
TEdit(Components[i]).Clear;
end
end;
위의 코딩에 잘못된것이 있는지 알려주세요.
> 코딩은 아래와 같습니다.
> procedure TfMachine.Edit1Enter(Sender: TObject);
> var
> I : Integer;
> begin
> for I := 0 to ComponentCount - 1 do begin
> If TShape(Components[i]).Tag = (Sender as TEdit).Tag Then
> TShape(Components[i]).Brush.Color := clRed
> else
> TShape(Components[i]).Brush.Color:= clYellow;
> end;
> end;
>
> 제가 하려는 것은 각 Edit 앞에 Shape로 원형을 만들어 두고
> 서로 같은 Tag값을 준후 특정Edit에 Enter시 해당 Edit앞에 있는 Shape의 색깔을 변경해주려 합니다.
>
> 한폼의 edit의 text를 모두 clear할때 아래와 같이 한적이 있어 좀 응용을 한 것인데
> Access에러가 자꾸 나네요.
> for i := 0 to componentcount - 1 do begin
> if components[i] is TEdit then begin
> TEdit(Components[i]).Clear;
> end
> end;
>
> 위의 코딩에 잘못된것이 있는지 알려주세요.
>
>
>
procedure TfMachine.Edit1Enter(Sender: TObject);
var
I : Integer;
begin
for I := 0 to ComponentCount - 1 do begin
if not(Components[i] is TShape) then continue; <---요기가 빠졌네요.
If TShape(Components[i]).Tag = (Sender as TEdit).Tag Then
TShape(Components[i]).Brush.Color := clRed
else
TShape(Components[i]).Brush.Color:= clYellow;
end;
end;
그럼, 즐코