BCS Tidy Menu Items

The menu system contains numerous entries and this section of BCS Tidy orders those entries in ascending alphabetical sequence.

tim01

The input appears below.

{*-----------------------------------------------------------------------------
 Procedure: OnMenuClick
 Author:    Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC
 Date:      04-May-2016
 @Param     Sender: TObject
 @Return    None
 -----------------------------------------------------------------------------}
procedure TBCSMenu.OnMenuClick(Sender: TObject);
var
  buf: string;
  x: Integer;
begin
  With Sender as TMenuItem do
  begin
    buf := name;
    buf := buf;
  end;
  if buf = 'muiExit' then
  begin
    BCSMenuc.Close;
  end;
  if buf = 'muiGenMenuItem' then
  begin
    cgeMenuItem;
    buf := buf;
  end;
  if buf = 'muiGenMenuClick' then
  begin
    cgeMenuXqt;
    buf := buf;
  end;
  if buf = 'muiPutExeToClipboard' then
  begin
    cgeGenXQT;
  end;
  if buf = 'muiCallProcedure' then
  begin
    cgeCallProc;
    buf := buf;
  end;
  if buf = 'muiProcedureDefinition' then
  begin
    cgeProcDef;
    buf := buf;
  end;
  if buf = 'muiProcedureBlock' then
  begin
    cgeProcBlock;
    buf := buf;
  end;
 
  if buf = 'muiFonts' then
  begin
    dlgFont.Execute(BCSMenuc.Handle);
    defFont := dlgFont.Font;
    for x := 0 to (BCSMenuc.ComponentCount - 1) do
    begin
      if (BCSMenuc.Components[x] is TDBEdit) or
        (BCSMenuc.Components[x] is TDBGrid) or (BCSMenuc.Components[x] is TDBMemo)
        or (BCSMenuc.Components[x] is TDBText) or
        (BCSMenuc.Components[x] is TComboBox) or (BCSMenuc.Components[x] is TEdit)
        or (BCSMenuc.Components[x] is TLabel) or
        (BCSMenuc.Components[x] is TListBox) or (BCSMenuc.Components[x] is TMemo)
      then
        TButton(BCSMenuc.Components[x]).Font := defFont;
    end;
  end;
  if buf = 'muiColors' then
  begin
    dlgColors.Execute(BCSMenuc.Handle);
    defColor := dlgColors.Color;
  end;
  if buf = 'muiHelp' then
  begin
    XQT('http://bcsjava.com/doc/app/BCS%20BCSMenu%20Base%20Dialog.htm', '', '');
  end;
  if buf = 'muiStyles' then
  begin
    frm001c.frmShowModal
  end;
end;

The sorted output is listed below.

{*-----------------------------------------------------------------------------
 Procedure: OnMenuClick
 Author:    Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC
 Date:      04-May-2016
 @Param     Sender: TObject
 @Return    None
 -----------------------------------------------------------------------------}
procedure TBCSMenu.OnMenuClick(Sender: TObject);
var
  buf: string;
  x: Integer;
begin
  With Sender as TMenuItem do
  begin
    buf := name;
    buf := buf;
  end;
  if buf = 'muiCallProcedure' then
  begin
    cgeCallProc;
    buf := buf;
  end;
  if buf = 'muiColors' then
  begin
    dlgColors.Execute(BCSMenuc.Handle);
    defColor := dlgColors.Color;
  end;
  if buf = 'muiExit' then
  begin
    BCSMenuc.Close;
  end;
  if buf = 'muiFonts' then
  begin
    dlgFont.Execute(BCSMenuc.Handle);
    defFont := dlgFont.Font;
    for x := 0 to (BCSMenuc.ComponentCount - 1) do
    begin
      if (BCSMenuc.Components[x] is TDBEdit) or
        (BCSMenuc.Components[x] is TDBGrid) or (BCSMenuc.Components[x] is TDBMemo)
        or (BCSMenuc.Components[x] is TDBText) or
        (BCSMenuc.Components[x] is TComboBox) or (BCSMenuc.Components[x] is TEdit)
        or (BCSMenuc.Components[x] is TLabel) or
        (BCSMenuc.Components[x] is TListBox) or (BCSMenuc.Components[x] is TMemo)
      then
        TButton(BCSMenuc.Components[x]).Font := defFont;
    end;
  end;
  if buf = 'muiGenMenuClick' then
  begin
    cgeMenuXqt;
    buf := buf;
  end;
  if buf = 'muiGenMenuItem' then
  begin
    cgeMenuItem;
    buf := buf;
  end;
  if buf = 'muiHelp' then
  begin
    XQT('http://bcsjava.com/doc/app/BCS%20BCSMenu%20Base%20Dialog.htm', '', '');
  end;
  if buf = 'muiProcedureBlock' then
  begin
    cgeProcBlock;
    buf := buf;
  end;
 
  if buf = 'muiProcedureDefinition' then
  begin
    cgeProcDef;
    buf := buf;
  end;
  if buf = 'muiPutExeToClipboard' then
  begin
    cgeGenXQT;
  end;
  if buf = 'muiStyles' then
  begin
    frm001c.frmShowModal
  end;
end;

 

 

A 32-bit executable program may be downloaded by clicking here.
A 64-bit executable program may be downloaded by clicking here.
The component documentation can be found by clicking here.
The source code may be found by clicking here.

Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.

Leave a Reply