20개의 개체를 만들면서 Query1.FieldByName('name').AsString 을 개체명에 부여하는 것으로 하여야
할것같은데요... 물론 Query1.FieldByName('name').AsString 은 유일해야 겠죠..
Query1.First;
while not Query1.eof do begin
L_Goji_Item := TQRLabel .Create(self);
L_Goji_Item.name : Query1.FieldByName('name').AsString;
L_Goji_Item.Font.Size := Query1.FieldByName('Size').AsInteger;
Query1.next;
end;
질문이 좀 모자란듯 싶네요...^^;;
그러니깐 일종의 명세서 폼에 기입되는 QRLabel이 약 20여개 됩니다...
그것을 데이터베이스 파일에서 name이라는 항목으로 QRLabel이름을 직접 기입하고 또 다른 항목에는 폰트크기나 위치 좌표값 등을 입력하고자 합니다...
그래서 출력할때마다 사용자가 지정한 QRLabel항목의 좌표나 폰트크기 등을 적용해서 출력하고자 합니다...
그런데 데이터파일에 형식을 string(참고로 paradox 사용중)으로 하다보니 그 내용을 TQRLabel형식의 변수에 넣고 아래와같이 지정하려고 했던것입니다...
물론 while문을 이용해 해당 데이터베이스를 loop시키고요...^^
m_name := Query1.FieldByName('name').AsString;
m_name.Font.Size := Query1.FieldByName('Size').AsInteger;
:
:
어떻게 하면 할수 있는지 좀 도와주십시요...^^
제가 보기엔 DB에 저장된 값(name)으로 대응되는 QRLable을 찾아서 그 QRLabel의 속성에
어떤 값을 대응하려고 하신 것 같습니다. (제가 이해하는게 이정도 수준.. 이해가 어렵군요..)
- QRLabel을 찾는 Procedure가 필요하며, 그 Procedure는 해당 Procedure를 찾은 후
찾은 QRLabel에 값을 대입해 주어야만 합니다.
따라서, Procedure Argument를 받아야만 합니다.
예를들어, 폰트명,폰트size,TQRLabel명, TQRLabel에 표시할 문자, 등등...
<!--CodeS-->
Procedure TForm1.SetQRLabelInfo(QName,FontName,QText:String; Fsize:Integer)
begin
For i := 0 To Self.ComponentCount-1 Do
If (Self.Component[i] is TQRLabel) AND
((Self.Component[i] as TQRLabel).name = QName) then
begin
(Self.Component[i] as TQRLabel).Font.name := FontName;
(Self.Component[i] as TQRLabel).Font.size := FSize;
(Self.Component[i] as TQRLabel).Caption := QText;
// ...... 기타처리등등
// ......
end if;
end;
<!--CodeE-->
Delphi로 Test를 하진 않았지만, 개론은 위처럼 되겠습니다.
Source를 보면 쉽지 않나 생각되네요.. ^^;
그리고, 답변이 되었으면 합니다..
var m_name : TQRLabel ; begin m_name := Query1.FieldByName('name').AsString; m_name.Font.Size := Query1.FieldByName('Size').AsInteger; : : end; 위 문장에서 데이터 형식이 AsString이다보니 에러가 나타나네요... 그렇다고 TQRL...
하태희
•
2006.03.25 02:27
20개의 개체를 만들면서 Query1.FieldByName('name').AsString 을 개체명에 부여하는 것으로 하여야
할것...
나그네
•
2006.03.24 23:08
m_name 이라는 Label 컴포넌트의 캡션을 바꾸려고 하는건가요?
m_name.Caption := Query1.FieldByName('...
송유철
•
2006.03.23 23:42
m_name 자체는 라벨 이름일텐데 넣는거 자체가 좀 말이 안되는거구요
어떤식을 원하는건지요?? 라벨 ...
이승근
•
2006.03.24 16:30
질문이 좀 모자란듯 싶네요...^^;;
그러니깐 일종의 명세서 폼에 기입되는 QRLabel이 약 20여개 됩니다......
할것같은데요... 물론 Query1.FieldByName('name').AsString 은 유일해야 겠죠..
Query1.First;
while not Query1.eof do begin
L_Goji_Item := TQRLabel .Create(self);
L_Goji_Item.name : Query1.FieldByName('name').AsString;
L_Goji_Item.Font.Size := Query1.FieldByName('Size').AsInteger;
Query1.next;
end;