procedure TForm12.Button1Click(Sender: TObject);
var
TableList: TStringList;
inLoop: Integer;
begin
TableList := TStringList.Create;
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Text := 'SELECT RDB$RELATION_NAME AS TABLE_NAME '
+ 'FROM RDB$RELATIONS '
+ 'WHERE RDB$SYSTEM_FLAG = 0 ';
IBQuery1.Open;
while Not IBQuery1.Eof do
begin
TableList.Add( IBQuery1.FieldByName( 'TABLE_NAME' ).AsString );
IBQuery1.Next;
end;
for inLoop := 0 to TableList.Count - 1 do
begin
if TableList.Strings[ inLoop ] = 'TF_PART' then
Part_Table.ENABLED := False
else
Part_Table.ENABLED := True;
if TableList.Strings[ inLoop ] = 'TF_JOB_TY' then
Job_Table.ENABLED := False
else
Job_Table.ENABLED := True;
end;
TableList.Free;
end;
전봉수 님이 쓰신 글 :
: 안녕하십니까? 전봉수입니다.
: Firebird 를 사용하고 있습니다. FDB내에 Table를 배포시 연습 데이타를 넣어서 구입하신분들이 연습후
: 연습 Table는 IBExpert 를 기동하여 지우고 지워진 Table은 은 메뉴에서 동적으로 생성하도록 하였는데요
: 생성되지 않은 메뉴의 ENABLED는 True 되어야하고 생성된 메뉴의 ENABLED는 False 되어야하는데
: 어떤방법으로 하여야할지 몰라서 고수님들에게 도움을 청합나다.
:
: 운영체제 Win_xp 델파이 7.0 Firebird 2.1 입니다.
:
:
: 아래는 제가한번 어설프게 구현한 방법인데 않되는군요
: procedure TEQUIP_F.FormShow(Sender: TObject);
: begin
: IF NOT FILEEXISTS(EXTRACTFILEPATH(APPLICATION.EXENAME)+'DATA\TF_PART') THEN
: begin
: Part_Table.ENABLED := FALSE;
: end
: else
: Part_Table.ENABLED := True;
:
: IF NOT FILEEXISTS(EXTRACTFILEPATH(APPLICATION.EXENAME)+'DATA\TF_JOB_TY') THEN
: begin
: Job_Table.ENABLED := FALSE;
: end
: else
: Job_Table.ENABLED := True;
:
: IF NOT FILEEXISTS(EXTRACTFILEPATH(APPLICATION.EXENAME)+'DATA\TF_EQM_STD') THEN
: begin
: Std_Table.ENABLED := FALSE;
: end
: else
: Std_Table.ENABLED := True;
: end;
|