Topic: Conditional hiding of tab pages

I'm trying to hide tab pages those don't contain images.

I have tab pages to display DBimages. For instance if tab page4 image1 is empty(no image loaded) then tab page 4 is hidden.

Any script help please?

Adam
God... please help me become the person my dog thinks I am.

Re: Conditional hiding of tab pages

procedure Form2_OnShow (Sender: TObject; Action: string);
begin
    Form2.TabSheet1.TabVisible := not Form2.DBImage1.isEmpty;
    Form2.TabSheet2.TabVisible := not Form2.DBImage2.isEmpty;
end;
Dmitry.

Re: Conditional hiding of tab pages

Thanks a lot Dmitry...


Your script hides the tabsheet regardless there is an image or not.

Form1.TabSheet1.TabVisible := not Form1.DBImage1.isEmpty;
Form1.TabSheet2.TabVisible := not Form1.DBImage4.isEmpty;
Form1.TabSheet4.TabVisible := not Form1.DBImage8.isEmpty;
Form1.TabSheet5.TabVisible := not Form1.DBImage12.isEmpty;
Form1.TabSheet6.TabVisible := not Form1.DBImage16.isEmpty;
Form1.TabSheet7.TabVisible := not Form1.DBImage20.isEmpty;

I have specified images on about half the above and other half doesn't. I was hoping it'd display ones with image while hiding without specified image but it hides all tabsheets?

Adam
God... please help me become the person my dog thinks I am.

Re: Conditional hiding of tab pages

Please attach your project.

Dmitry.

Re: Conditional hiding of tab pages

DriveSoft wrote:

Please attach your project.


Here it's:

Post's attachments

Attachment icon Test_TabHide.zip 51.15 kb, 319 downloads since 2019-08-26 

Adam
God... please help me become the person my dog thinks I am.

Re: Conditional hiding of tab pages

procedure BrowseNOTES;
begin
    form1.Edit1.Text := sqlexecute('select item from aaa where id =' +inttostr (Form1.tgNotes.dbitemid));
    form1.Memo1.Text := sqlexecute('select notes from aaa where id =' +inttostr (Form1.tgNotes.dbitemid));

    Form1.DBImage1.Clear;
    Form1.DBImage1.LoadFromDatabase('aaa', 'img01', Form1.tgNotes.dbItemID);
    Form1.DBImage2.Clear;
    Form1.DBImage2.LoadFromDatabase('aaa', 'img02', Form1.tgNotes.dbItemID);
    Form1.DBImage3.Clear;
    Form1.DBImage3.LoadFromDatabase('aaa', 'img03', Form1.tgNotes.dbItemID);
    Form1.DBImage4.Clear;
    Form1.DBImage4.LoadFromDatabase('aaa', 'img04', Form1.tgNotes.dbItemID);
    Form1.DBImage5.Clear;
    Form1.DBImage5.LoadFromDatabase('aaa', 'img05', Form1.tgNotes.dbItemID);
    Form1.DBImage6.Clear;
    Form1.DBImage6.LoadFromDatabase('aaa', 'img06', Form1.tgNotes.dbItemID);
    Form1.DBImage7.Clear;
    Form1.DBImage7.LoadFromDatabase('aaa', 'img07', Form1.tgNotes.dbItemID);
    Form1.DBImage8.Clear;
    Form1.DBImage8.LoadFromDatabase('aaa', 'img08', Form1.tgNotes.dbItemID);

    Form1.PageControl1.ActivePageIndex := 0;
    Form1.TabSheet1.TabVisible := (not Form1.DBImage1.isEmpty) or (not Form1.DBImage2.isEmpty);
    Form1.TabSheet2.TabVisible := (not Form1.DBImage3.isEmpty) or (not Form1.DBImage4.isEmpty);
    Form1.TabSheet3.TabVisible := (not Form1.DBImage5.isEmpty) or (not Form1.DBImage6.isEmpty);
    Form1.TabSheet4.TabVisible := (not Form1.DBImage7.isEmpty) or (not Form1.DBImage8.isEmpty);
end;

procedure Form1_tgNotes_OnCellClick (Sender: TObject; ACol, ARow: Integer);
begin
    BrowseNOTES;
end;

procedure Form1_tgNotes_OnKeyUp (Sender: TObject; var Key: Word; Shift, Alt, Ctrl: boolean);
begin
    BrowseNOTES;
end;
Dmitry.

Re: Conditional hiding of tab pages

Hi Dmitry,

Now it works.
Thank you very much.....
Truly appreciated...........

Adam
God... please help me become the person my dog thinks I am.