Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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

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

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

Цитата:
Сообщение от 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, 03:32   #4
northener
Профессионал
 
Регистрация: 15.07.2013
Сообщений: 1,416
Репутация: 462
По умолчанию

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

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

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

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

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

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

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

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

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в редактор кода Delphi 7 добавить новый шрифт? lexaltd Общие вопросы Delphi 13 22.06.2012 18:34
Новый модуль WinProc для работы с процессами (Delphi) Terran Компоненты Delphi 1 10.01.2010 23: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


07:19.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru