Справочник континентов

Создаем новую форму :

File -> New -> Form -> Simple Form ->

На запрос имени файла - вводим "continentseditform" и подтверждаем -> автоматически создается форма :

"continentseditfo"

Не забудем включить в "uses" секцию "implementation" файла "continentseditform.pas" модуль "refsdatamodule" :

implementation

uses
  continentseditform_mfm,
  // предоставляет тип "trefsdatamo" и объект "refsdatamo"
  refsdatamodule
;

Переключаемся на отображение формы "refsdatamo" и выбираем "qryContinents" :

 

Вновь возращаемся на форму "continentseditfo" ( выбрав файл "continentseditform.pas", и далее, если необходимо - нажав "F12" ).

Щелкнув на форме правой кнопкой, открыть меню, и, командой "Insert submodule" - вставить в форму субмодуль "commonrefseditform" . При необходимости - подогнать размер, чтобы исчезли полосы прокрутки.

Уронить на "continentseditfo" компонент DB -> tdbwidgetgrid, и установить для него место и размер как у "planetseditfo -> grdPlanets" :

name := grdContinents

Теперь создадим и опишем столбцы "grdContinents", подлежащие просмотру и редактированию.

Уронить на "grdContinents" компонент DB -> tdbstringedit :

name:= seContinent

Настроить появившийся столбец таблицы

grdContinents :

Уронить на "grdContinents" компонент DB -> tdbenumeditlb :

name:= lbnePlanet

Примечания :

Настроить появившийся столбец таблицы

grdContinents :

 

Осталось сделать вызов "continentseditfo" через главное меню программы.

Переключиться на дизайн "mainfo" ( файл "main.pas" ).

Уронить в любом незарисованном месте "mainfo" компонент "GUI -> taction" :

Name:= actContinentsEdit

procedure tmainfo.continentseditexecute(const sender: TObject);
begin
 try
  application.createform(tcontinentseditfo, continentseditfo);
  if continentseditfo.show(true) = mr_windowclosed then begin
   qryPersons.active:= true;
  end;
 finally
  continentseditfo.free;
 end;
end;

Не забудьте добавить ссылку на файл "continentseditform" в секцию "interface" файла "main.pas" :

interface

uses
 msegui,mseclasses,mseforms,msepqconnection,msesqldb,msedb,
 msedbedit,mseactions,msesimplewidgets,msemenus,db,msegrids,
 planetseditform,
 continentseditform
;

Настроить вызов "actContinentsEdit" из основного меню формы приложения ( mainfo ):

mnuMain :

Финальный вид формы редактора списка континентов :

в дизайне :

и во время работы программы:

Единственное существенное отличие данного ( континенты -> continentseditform ) справочника от вышерассмотренного ( планеты -> planetseditform ) - наличие второго столбца в таблице, отображение и редактирование в котором сделано с использованием выпадающего списка ( предоставляемого компонентом "tdbenumeditlb" ) .