Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2018, 20:27   #1
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию Редактор кода Delphi 10.2: новый код button вставляется в модуль куда хочет

Доброе время суток,
Такой вопрос:
При добавлении новых компонентов «button», «DateTimePicker» на форму, ее код в модуль вставляется не как у других компонентов – в конец модуля, а в любое место модуля (начиная от «implementation»), в начало, в серидину.
Работать можно, но не удобно страшно… (уж и в настройках лазил, ничего не нашел)
Как избавится от этой напасти.

Спасибо за ответ

Последний раз редактировалось KBO; 11.03.2018 в 20:30.
KBO вне форума Ответить с цитированием
Старый 12.03.2018, 01:10   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Код модуля в студию.
northener вне форума Ответить с цитированием
Старый 12.03.2018, 21:45   #3
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Код модуля в студию.
Код:
unit UPlan;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.ComCtrls,
  Vcl.Mask, Vcl.DBCtrls, Data.DB, Vcl.Grids, Vcl.DBGrids, Vcl.Menus,
  IBX.IBCustomDataSet, IBX.IBDatabase, DBGridEhGrouping, ToolCtrlsEh,
  DBGridEhToolCtrls, DynVarsEh, EhLibVCL, GridsEh, DBAxisGridsEh, DBGridEh, UConst, UAUX, System.Win.Registry,
  IBX.IB, IBX.IBQuery;

type
  TFMain = class(TForm)
    pTree: TPanel;
    pView: TPanel;
    pEdit: TPanel;
    pStatistica: TPanel;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    dsRegistration: TDataSource;
    ibdbPlan: TIBDatabase;
    ibtrPlan: TIBTransaction;
    ibdsRegistration: TIBDataSet;
    ibdsRegistrationID: TSmallintField;
    ibdsRegistrationNAME_ORGANIZATION: TIBStringField;
    ibdsRegistrationCITY: TIBStringField;
    ibdsRegistrationSORT_WORK: TIBStringField;
    ibdsRegistrationEXECUTE_BEGIN: TDateField;
    ibdsRegistrationEXECUTE_END: TDateField;
    ibdsRegistrationSUM_PDV: TIBBCDField;
    ibdsRegistrationEXECUTOR: TIBStringField;
    ibdsRegistrationTYPE_DOCUMENT: TIntegerField;
    ibdsRegistrationNUMBER_SERT_SVID: TIBStringField;
    ibdsRegistrationOWNER_DEVICE: TIBStringField;
    ibdsRegistrationNUMBER_CONTRACT: TIBStringField;
    ibdsRegistrationNAME_DEVICE: TIBStringField;
    ibdsRegistrationSIGNATURE: TIBStringField;
    dbgrEhRegistration: TDBGridEh;
    TreeView1: TTreeView;
    pcInputValue: TPageControl;
    tsRegistration: TTabSheet;
    dbedlNameOrganization: TDBEdit;
    lNameOrganization: TLabel;
    dbedID: TDBEdit;
    lID: TLabel;
    dbcbCity: TDBComboBox;
    lCity: TLabel;
    dbcbSortWork: TDBComboBox;
    lSortWork: TLabel;
    grbPay: TGroupBox;
    lDate: TLabel;
    lSum: TLabel;
    dbedSum: TDBEdit;
    dtpDatePay: TDateTimePicker;
    dbedDate: TDBEdit;
    grbTermExecute: TGroupBox;
    lBegin: TLabel;
    lEnd: TLabel;
    dtpBegin: TDateTimePicker;
    dtpEnd: TDateTimePicker;
    dbedBegin: TDBEdit;
    dbedEnd: TDBEdit;
    dbrgrNumberSertSvid: TDBRadioGroup;
    dbedNumber: TDBEdit;
    dbcbOwnerDevice: TDBComboBox;
    lOwnerDevice: TLabel;
    dbedNumberContract: TDBEdit;
    lNumberContract: TLabel;
    dbedSumPDV: TDBEdit;
    lSumPDV: TLabel;
    lNameDevice: TLabel;
    dbSignature: TDBEdit;
    lSignature: TLabel;
    dbcbExecutor: TDBComboBox;
    lExecutor: TLabel;
    dbnavRegistration: TDBNavigator;
    tsSearch: TTabSheet;
    ibdsRegistrationPAY_DATE: TDateField;
    ibdsRegistrationPAY_SUM: TIBBCDField;
    dbcbNameDevice: TDBComboBox;
    ibqEmpty: TIBQuery;
    procedure ibdsRegistrationAfterPost(DataSet: TDataSet);
    procedure ibdsRegistrationAfterDelete(DataSet: TDataSet);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure dtpBeginChange(Sender: TObject);
    procedure dtpEndChange(Sender: TObject);
    procedure dtpDatePayChange(Sender: TObject);
    procedure ibdsRegistrationAfterInsert(DataSet: TDataSet);
    procedure ibdsRegistrationBeforeEdit(DataSet: TDataSet);
  private
    { Private declarations }
    Pr_RegistryIni: TRegIniFile;
    procedure SHOW_WINDOW(AIndexWindow: integer);
    procedure CONNECT_TO_BASE;
    procedure FULL_ComboBox;
  public
    { Public declarations }
  end;

var
  FMain: TFMain;

function TRANSMIT_DATAS_DLL(Name_current_application: String;
                              application_install_or_open,
                              Authentication_show_Form,
                              CSource_ID_last_user: integer;
                              sidetrack_reestr: HKEY;
                              Path_and_Partition,
                              Parameter_reest_1,
                              Parameter_reest_2,
                              Parameter_reest_3,
                              Parameter_reest_4: String): Integer; stdcall; far; external 'setting.dll';

implementation
function READ_PARAM_REGISTRY(name_param: integer): String; far; external 'setting.dll';

{$R *.dfm}

procedure TFMain.FULL_ComboBox;
//filling data combobox's
begin
  ExecQuery(C_sel_full_ComboBox, 0, Select_rec, nil);
  dbcbOwnerDevice.Clear;
  dbcbNameDevice.Clear;
  while not ibqEmpty.Eof do
  begin
    if not ibqEmpty.FieldByName('OWNER_DEVICE').IsNull then
      dbcbOwnerDevice.Items.Add(ibqEmpty.FieldByName('OWNER_DEVICE').AsString);
    if not ibqEmpty.FieldByName('NAME_DEVICE').IsNull then
      dbcbNameDevice.Items.Add(ibqEmpty.FieldByName('NAME_DEVICE').AsString);
    ibqEmpty.Next;
  end;
end;

procedure TFMain.CONNECT_TO_BASE;
//success link with BD
begin
  ibdbPlan.DatabaseName := READ_PARAM_REGISTRY(1);
  try
    ibdbPlan.Connected := true;
    except
      on EIBClientError do
        exit;
  end;

  ibdsRegistration.Active := true;
end;

procedure TFMain.SHOW_WINDOW(AIndexWindow: integer);
//open need window/bookmark
begin
  pcInputValue.ActivePageIndex := AIndexWindow;
  case AIndexWindow of
    0:
      begin

      end;
  end;
end;

procedure TFMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Pr_RegistryIni := TRegIniFile.Create(C_reg_key);
  dbgrEhRegistration.SaveColumnsLayout(Pr_RegistryIni);
//  dbgrEhRegistration.SaveColumnsLayoutIni(ExtractFilePath(Application.ExeName)+'\Template\Column.ini', 'Parameters', true);// save in file
end;

procedure TFMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if ibdsRegistration.State in [dsInsert, dsEdit] then
  begin
    MessageBox(HAndle, PChar(C_alert_exit), C_Warning, MB_ICONWARNING);
    abort;
  end;
end;

procedure TFMain.FormCreate(Sender: TObject);
begin
  SHOW_WINDOW(0);
  dbnavRegistration.Hints.Text := AnsiString(C_hint_navigator);
  Pr_RegistryIni := TRegIniFile.Create(C_reg_key);

  dbgrEhRegistration.RestoreGridLayout(Pr_RegistryIni, [grpColIndexEh, grpColWidthsEh, grpSortMarkerEh, grpColVisibleEh,
                                                        grpRowHeightEh, grpDropDownRowsEh, grpDropDownWidthEh, grpRowPanelColPlacementEh]);
  //TDBGridEhRestoreParams = set of TDBGridEhRestoreParam;
  CONNECT_TO_BASE;
  dtpBegin.Date := now;
  dtpEnd.Date := now;
  dtpDatePay.Date := now;
end;

procedure TFMain.ibdsRegistrationAfterDelete(DataSet: TDataSet);
begin
  ibtrPlan.CommitRetaining;
end;

procedure TFMain.ibdsRegistrationAfterInsert(DataSet: TDataSet);
begin
  FULL_ComboBox;
end;

procedure TFMain.ibdsRegistrationAfterPost(DataSet: TDataSet);
begin
  ibtrPlan.CommitRetaining;
end;

procedure TFMain.ibdsRegistrationBeforeEdit(DataSet: TDataSet);
begin
  FULL_ComboBox;
end;

procedure TFMain.dtpBeginChange(Sender: TObject);
begin
  ibdsRegistration.FieldByName('EXECUTE_BEGIN').AsDateTime := dtpBegin.Date;
end;

procedure TFMain.dtpDatePayChange(Sender: TObject);
begin
  ibdsRegistration.FieldByName('PAY_DATE').AsDateTime := dtpDatePay.Date;
end;

procedure TFMain.dtpEndChange(Sender: TObject);
begin
  ibdsRegistration.FieldByName('EXECUTE_END').AsDateTime := dtpEnd.Date;
end;

end.
KBO вне форума Ответить с цитированием
Старый 13.03.2018, 02:32   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

2 KBO
Вообще-то код модуля Дельфи включает в себя ещё и DFM-файл.
northener вне форума Ответить с цитированием
Старый 14.03.2018, 00:27   #5
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Да, не подумал)...
вот пожалуйста:
ссылка

Последний раз редактировалось KBO; 14.03.2018 в 00:30.
KBO вне форума Ответить с цитированием
Старый 14.03.2018, 02:24   #6
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от KBO Посмотреть сообщение
Да, не подумал)...
вот пожалуйста:
ссылка[/URL]
Когда вы задаёте вопрос или когда вы посылаете очередное сообщение у вас в меню есть кнопка "Загрузить файлы". Пожалуйста пользуйтесь этой кнопкой.
С одной стороны, вы облегчите нам работу по помощи вам. Ибо мы сможем ничего особо не делая загрузить ваш модуль в Дельфи. С другой стороны (кроме вышесказанного) и pas-файл и dfm-файл не являются
именно текстовыми. Т.е. предназначенными для работы в текстовом редакторе типа блокнота. Блокноту например наплевать на символы конца строки, а для компилятора Дельфи совсем не так. И для дизайнера Дельфи тоже. Так что ваши тексты, приведенные в теме малополезны.

Последний раз редактировалось northener; 14.03.2018 в 02:39.
northener вне форума Ответить с цитированием
Старый 14.03.2018, 03:17   #7
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

вот высылаю...
(файл немного превышает допустумую норму по правилам)
поэтому на
ссылка
KBO вне форума Ответить с цитированием
Старый 15.03.2018, 01:14   #8
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Реальных ошибок в модуле на краткий взгляд не увидел. Проверить на своём компе не могу из-за отсутствия у меня EhLib.
northener вне форума Ответить с цитированием
Старый 15.03.2018, 02:43   #9
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Та дело даже может не в самом модуле...
Я создал простую форму, кинул две "button" ("создал для них события"),
потом "ListBox",
затем опять начал кидать "button", и вот уже у них например событие "OnClick" начало добавляться не в конце модуля, а перед кодом "ListBox" или за кодом первых двух "button"

модуль небольшой, посмотрите пожалуйста
Вложения
Тип файла: zip Gluk.zip (10.5 Кб, 7 просмотров)

Последний раз редактировалось KBO; 15.03.2018 в 02:47.
KBO вне форума Ответить с цитированием
Старый 15.03.2018, 03:12   #10
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Ааа. Так вот вы об чём.
Не берите в голову. Ешьте, что дают. Алгоритм добавления шаблона обработчика событий в код модуля никому не известен, никому не интересен. И вообще никого не волнует, кроме вас.
И уверяю вас разработчики Дельфи об этом не думали никогда. (От слова совсем).
northener вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в редактор кода Delphi 7 добавить новый шрифт? lexaltd Общие вопросы Delphi 13 22.06.2012 18:34
Новый модуль WinProc для работы с процессами (Delphi) Terran Компоненты Delphi 1 10.01.2010 22:38
Тормозит редактор кода в Delphi 2006 Terminal Общие вопросы Delphi 2 04.08.2009 00:18
Нуна помощь. Куда вставляется запрос и... Ёжа Помощь студентам 4 15.04.2009 17:43
Delphi. Редактор кода. BOBAH13 Общие вопросы Delphi 5 25.05.2008 00:20