안녕하세요 델파이 병아리 사용자입니다.
먼저 항상 도움 주시는 고수님들께 감사드림니다.
저는 장비이력카드를 작성하고 있는데요.. 프로그램을 카드 포멧에 맞출려다 보니
이것이 필요하네요.
사용 DataBase : 파라독스 DB
DB 필드명에 관리번호, 장비명, Serial No., 제작사, 등등이 있읍니다.
edit에 관리번호를 입력하고 버턴을 누르면 그에 해당하는 장비명이나 Serial No.등
항목 각각을 edit 창에 나타 낼 수 있는 방법이 있을까요?
edit 하나에 하나의 필드데이타가 나와야만 합니다.
관리번호를 제외한 필드수 만큼 edit가 있어야 겠지요..
우찌하는지 고수님들의 가르침을 기다리겠나이다.
저는 아직 초보라 어떻게 하라고 하시면 잘 모름니다. 소스 및 자세한 설명을
부탁 드립니다.
"도움 받는 시절을 지나 도움을 줄 날을 그리며..."
물론.. 직접
TEDIT1.Text := Table1.FieldbyName('필드명').AsString;
하시는게 빠르겠지만요..
귀찮잖아요..
대신에 아래와 같이 하시려면..
아시겠지만.. 필드명과 Componet이름이 동일해야 하겠지요...
무식한..초보가.. 용기를 내서..
몇자 적었습당..
procedure Db2Edit(fm_In:Tfm_UserIn; Table1 : TTable);
Var i : Integer;
str,data : string;
ComPo : TComponent;
begin
For i := 0 to Table1.FieldCount - 1 do
begin
str := Table1.Fields[i].FieldName;
Compo := TForm1.FindComponent(str);//필드이름과 동일한 Componenet찾기.
IF ComPo <> Nil then //Component가 있으면.. 구문 수행..
begin
With TForm1 do
begin
if (ComPo is TEdit) then //찾은 Component가 TEdit이면..
ComPo As TEdit).Text := Table1.FieldByName(str).AsString
else if (ComPo is TComboBox) then //찾은 Component가 TComboBox이면
(ComPo As TComboBox).Text := Table1.FieldByName(str).AsString;
end;
end;
end;
end;