퀵 리포트위에 qrlabel을 필드 갯수 만큼 생성하고...
쿼리해온 각 값들을 뿌려줄려구 합니다...
for문을 이용해서 qrlabel들을 생성했는데여...
각 label들의 이름을 알아야 쿼리해온 값들을 뿌려줄수있을 텐데여...
name은 어떻게 결정되는지...
코딩상으로 어떻게 적어야 할지 몰라서여...
걍~ name으로 적으니 에러가 나네엽...
procedure TForm2.BitBtn1Click(Sender: TObject);
var
qrl : TQRLabel;
i : integer;
begin
for i := 2 to query1.FieldCount -1 do
begin
qrl := tqrlabel.create(self);
with qrl do
begin
visible := false;
parent := self;
left := 166;
top := I * 60 ;
width := 64;
height := 26;
name := 'qrlabel'+inttostr(i);
'qrlabel'+inttostr(i).caption := //어쩌구 하니까 에러남
//에러내용 : 레코드나 오브젝트,클래스 required
visible := true;
end
end;
form3.QuickRep1.Preview;
end;
항상 도움주시는 분들 감사하구여...
꼭 좋은 답변 부탁드립니다.....
> 퀵 리포트위에 qrlabel을 필드 갯수 만큼 생성하고...
> 쿼리해온 각 값들을 뿌려줄려구 합니다...
> for문을 이용해서 qrlabel들을 생성했는데여...
> 각 label들의 이름을 알아야 쿼리해온 값들을 뿌려줄수있을 텐데여...
> name은 어떻게 결정되는지...
> 코딩상으로 어떻게 적어야 할지 몰라서여...
> 걍~ name으로 적으니 에러가 나네엽...
>
> procedure TForm2.BitBtn1Click(Sender: TObject);
> var
> qrl : TQRLabel;
> i : integer;
> begin
>
> for i := 2 to query1.FieldCount -1 do
> begin
> qrl := tqrlabel.create(self);
>
> with qrl do
> begin
> visible := false;
> parent := self;
> left := 166;
> top := I * 60 ;
> width := 64;
> height := 26;
> name := 'qrlabel'+inttostr(i);
> 'qrlabel'+inttostr(i).caption := //어쩌구 하니까 에러남
> //에러내용 : 레코드나 오브젝트,클래스 required
> visible := true;
> end
> end;
>
>
> form3.QuickRep1.Preview;
> end;
>
>
>
>
> 항상 도움주시는 분들 감사하구여...
> 꼭 좋은 답변 부탁드립니다.....
안녕하십니까 위의 소스를 보니까 틀린 부분이 없는듯 합니다.
그리고 제가 위의 소스로 테스트 해본바 로는 잘 됩니다.
다시 한번 해 보십시요
혹시 같은 이름이 생성되는지 확인 해보시기 바랍니다.
아래는 제가 추천하는 생성 방법입니다.
// 밴드에 속한 TQRLabel 추가
with 밴드.AddPrintable(TQRLabel) do
begin
Name := 'QRLabel' + inttostr(숫자);
end;
// 추가한 TQRLabel 정의
with 밴드 do
begin
for i := 0 to ControlCount - 1 do
begin
if Controls[i] is TQRLabel then
begin
with TQRLabel(Controls[i]) do
begin
Caption := '켑션'++ inttostr(숫자);
Top
Left
Width
Height
end;
end;
end;
end;