Показать сообщение отдельно
  #12  
Старый 12.04.2021, 10:22
Аватар для Guaho
Guaho Guaho вне форума
Начинающий
 
Регистрация: 27.08.2017
Сообщения: 173
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    mExpToTXT: TMenuItem;
    procedure N1Click(Sender: TObject);

  private
    { Private declarations }

  public //Прописываете в секции "public", чтобы Ваша процедура была видна из других окон программы.
    procedure ExpFromGrid(g: TDBGridEh; Format: Integer; Act: Integer); // объявление процедуры (БЕЗ "TForm1."!!!)

    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ExpFromGrid(g: TDBGridEh; Format: Integer; Act: Integer); // Сама процедура экспорта. Прописываете её тут сами. Префикс "TForm1." обязателен (это имя формы + приставка "Т", означающая класс).
begin
// Тело процедуры экспорта
end;


// Автоматически созданный обработчик. Создаёте меню "Экспорт", в нём - пункт "экспорт в ТХТ", даёте ему имя "mExpToTXTClick"
// и по клику по этому пункту меню автоматически создаётся данный обработчик.
procedure TForm1.mExpToTXTClick(Sender: TObject);
begin
  TForm1.ExpFromGrid(fg, TMenuItem(Sender).Tag, fm_param._cbAfterExport.itemIndex); // это Вы сюда прописываете.
  // Если вызываете процедуру из того же окна, где она объявлена, префикс "TForm1." необязателен. При вызове из других окон - обязателен.
end;

end.

TMenuItem(Sender).Tag - это свойство Tag того пункта меню, по которому Вы щёлкнули мышью.
fm_param._cbAfterExport.itemIndex - это на отдельной форме параметров специальный комбобокс, задающий действия после экспорта. Вместо этого можете просто вручную задавать число, определяющее эти действия (см. в моих предыдущих сообщениях саму процедуру экспорта; например, 0 - ничего не делать).
Ответить с цитированием