...
...

От Delphi 4 к Delphi 5 часть 4

От Delphi 4 к Delphi 5 Продолжение. Начало в КГ №№ 2-4.

Меню Delphi. Раздел меню Project

Раздел меню Project содержит команды (рисунок 1), которые используются для компиляции и построения приложения.

Команда Add to Project... открывает диалоговое окно для поиска необходимого проекта и добавления его к уже существующему проекту. Когда вы добавляете модуль в проект, Delphi автоматически добавляет в файл проекта соответствующий оператор uses.

Команда Remove from Project удаляет формы и модули из текущего проекта. Когда вы выбираете данную команду и нажимаете OK, Delphi удаляет избранные форму и модуль текущего проекта, а из файла проекта удаляет соответствующий оператор uses.

Команда Import Type Library... импортирует в проект одну из зарегистрированных в системе библиотек типов.

Команда Add to Repository позволяет добавить ваши собственные проекты и формы в хранилище компонентов. Это позволит использовать ваш проект многократно, не создавая его заново.

Команда View Source позволяет осуществлять просмотр файла проекта в окне Редактора кода.

Команда Languages позволяет добавлять, удалять и обновлять DLL ресурсы, используемые при интернационализации проектов, выбирать язык в процессе отладки приложений.

Команда Add New Project... добавляет в группу проектов новый проект.

Команда Add Existing Project добавляет в группу проектов ранее созданный проект.

Команда Compile Project1 осуществляет компиляцию всех тех файлов проекта, которые были изменены с момента последнего выполнения вашей программы.

Команда Build Project1 компилирует все компоненты, модули, формы вне зависимости от того, изменялось ли в них что-нибудь с момента последней компиляции.

Syntax check Project1 производит синтаксическую проверку программы на наличие ошибок, без генерации исполняемого файла.

Команда Information for [none] показывает информацию о вашей программе: числе строк кода, размер выполняемого модуля, размер стека и т.п.

Команда Compile All Projects компилирует все измененные файлы проектов, которые изменялись с момента последней компиляции.

Команда Build All Projects компилирует все файлы проектов, включенных в групповой проект, независимо от того, изменялись они или нет.

Команда Web Deployment Options позволяет сделать установки для развертывания активной формы или элемента на сервере.

Команда Web Deploy развертывает активную форму ActiveForm или элемент ActiveX на сервере.

Команда Options активизирует диалоговое окно Project Options опций проекта, в котором вы можете устанавливать опции компиляции, редактирования связей и задавать каталоги.

Раздел меню Run

Раздел меню Run содержит команды (рисунок 2), обеспечивающие отладку и выполнение вашего приложения.

Команда Run запускает выполнение вашего приложения. Если до этого не была выполнена компиляция программы в ее текущем состоянии, то перед запуском эта компиляция выполняется.

Команда Attach to process отображает окно со списком выполняемых процессов, которые вы можете отлаживать. Для начала отладки надо выделить интересующий вас процесс и сделать на нем двойной щелчок.

Команда Parameters... задает параметры командной строки, необходимые при запуске приложения.

Команда Register ActiveX Server позволяет зарегистрировать в Windows 95/98 активный сервер ActiveX. Если вы проведете подобную регистрацию, то ваш управляющий активный элемент можно вызывать, применяя программу просмотра Web или другие приложения.

Команда Unregister ActiveX Server позволяет снять с регистрации в Windows активный сервер ActiveX, в результате чего экземпляр вашего активного элемента удаляется из системы.

Команда Install MTS Objects... допускает MTS объекты в ваше приложение, выполняемое в MTS среде, если на вашем компьютере установлена программа Microsoft transaction server.

Команда Step Over производит пошаговое выполнение приложения, по одному оператору за шаг. Любая процедура или функция выполняется, как если бы она была одним оператором программы. Это удобно, если вам необходимо просмотреть поведение программы, не заходя внутрь каждой процедуры или функции.

Команда Trace Into в отладочном режиме выполняет текущую строку кода и прослеживает работу вызываемых подпрограмм.

Команда Trace To Next Source Line позволяет выполнять программу до следующей исполняемой команды. Ее удобно использовать при работе с окном CPU.

Команда Run To Cursor выполняет программу до той точки в исходном тексте, где находится курсор.

Команда Run Until Return позволяет выполнять ваше приложение до тех пор, пока не произойдет возврат из выполняемой функции. Процесс остановится на операторе, следующим за вызовом этой функции.

Команда Show Execution Point показывает точку выполнения. Если вы закрыли окно редактирования и находитесь в процессе пошаговой отладки программы, то эта команда вернет вас в окно редактирования, причем курсор будет расположен на операторе, который будет выполняться следующим.

Команда Program Pause приостанавливает прогон отлаживаемой программы, и вы можете работать с окном Watch.

Команда Program Reset прекращает выполнение приложения и выгружает его из памяти.

Команда Inspect открывает окно инспектора отладки приложения. Команда доступна только во время выполнения приложения при останове его средствами отладки или вследствие генерации исключения. После останова программы вы можете поставить курсор на имя интересующей вас переменной, или компонента, или функции и выполнить команду Run/Inspect. Инспектор отладки позволяет исследовать различные данные (переменные, массивы, классы, функции, указатели) и изменять значения переменных и свойств компонентов.

Команда Evaluate/Modify открывает окно оценки и модификации выражений. Опции этого окна позволяют вычислять выражения и изменять значения переменных.

Команда Add Watch добавляет переменную или выражение в окно наблюдения.

Команда Add Breakpoint добавляет точку прерывания, которая вызывает выделение цветом соответствующего оператора в исходном тексте вашей программы.

Раздел меню Component

Раздел меню Component (рисунок 3) содержит команды, позволяющие создавать новые компоненты, изменять палитру компонентов и т.д.

Команда New Component... открывает диалоговое окно эксперта компонентов, помогающее создавать новые компоненты.

Команда Install Component... устанавливает новый визуальный компонент Delphi в новый или уже существующий пакет Delphi.

Команда Import ActiveX Control... позволяет импортировать активный управляющий элемент ActiveX, который уже зарегистрирован в системе, в новый или уже существующий проект Delphi.

Команда Create Component Template... сохраняет компонент с нужным набором свойств как шаблон для создания подобных компонентов. Эта команда становится активной, когда вы выделите на форме один или несколько компонентов.

Команда Install Packages... позволяет просмотреть список всех имеющихся пакетов и указать, какие пакеты должны компилироваться в вашем приложении. Вы можете видеть также текущий список компонентов каждого пакета и редактировать состав пакета.

Команда Configure Palette... вызывает диалоговое окно настройки палитры компонентов.

Раздел меню Database

Раздел меню DataBase (рисунок 4) содержит команды, позволяющие создавать, модифицировать и просматривать ваши базы данных.

Команда Explore вызывает инструмент исследования и редактирования структур баз данных Database Explorer или SQL Explorer (в зависимости от версии Delphi).

Команда SQL Monitor вызывает инструмент запросов к базе данных, позволяет наблюдать прохождение запросов в среде Windows и то, как они обрабатываются в вашем приложении.

Команда Form Wizard... вызывает окно эксперта форм для создания формы, отображающей наборы данных из удаленных или локальных баз данных.

Раздел меню Tools.

Этот раздел главного меню Delphi (рисунок 5) дает возможность просматривать и изменять установки среды Delphi, модифицировать список программ в меню Tools. Нижняя перестраиваемая часть меню отображает разделы программ, установленных в него пользователем или заданных при установке системы.

Команда Environment Options... вызывает окно настройки параметров Delphi и ее инструментов - палитры компонентов и окно просмотра объектов.

Команда Editor Options, введенная в Delphi 5, позволяет отображать диалоговое окно настройки Редактора кода. В Delphi 4 страницы настройки Редактора кода включены в окно настройки окружения Enviromental Options.

Команда Debugger Options... вызывает окно отладчика приложения для установки необходимых опций.

Команда Repository... открывает окно репозитория Delphi, позволяя добавлять и удалять объекты из репозитория.

Команда Translation Repository имеется только в Delphi 5, она вызывает окно репозитория трансляции, которое используется при интернационализации проектов.

Команда Configure Tools... позволяет настроить Delphi, добавляя инструменты отладки приложения в меню Tools.

Команда Database Desktop вызывает инструмент обслуживания баз данных.

Команда Package Collection Editor вызывает окно редактора пакетов.

Команда Image Editor вызывает окно редактора графики.

Раздел меню Workgroups (рабочая группа).

Это меню имеется только в Delphi 4 (рисунок 6) и содержит команды, облегчающие разработку приложений с помощью системы управления версиями PVCS.

Команда Browse PVCS Projects позволяет просмотреть файлы, которые были зарегистрированы в системе управления версиями, извлечь из архива любую версию, провести сравнение версий.

Команда Manage Archive Directories... открывает окно управления структурой каталогов вашего архива PVCS.

Команда Add Project to Version Control добавляет текущий проект в PVCS.

Команда Set Data Directories... устанавливает рабочие каталоги для PVCS общего и индивидуального пользования.

Раздел меню Help

Команды этого раздела (рисунок 7) позволяют работать со справочной системой Delphi.

Команда Contents или Delphi Help показывает содержимое справочной системы Delphi.

Команда Index открывает диалоговое окно поиска фрагментов текста по словам, предложенным в списке или заданных пользователем.

Команда Inprise Home Page открывает диалоговое окно мастера подключения к сети Интернет.

Команда Delphi Home Page открывает Web-браузер с доступом к странице Delphi.

Команда Inprise Programs and Services открывает Web-браузер с доступом к странице Programs and Services.

Команда Delphi Direct... осуществляет прямую связь с Интернет для получения информации о новых разработках по Delphi.

Команда Customize позволяет производить конфигурацию системы Help по темам.

Команда About... показывает окно "О программе" с объявлением авторских прав.

Следующие команды имеются в разделе меню Delphi 5.

Команда Delphi Tools открывает окно предметного указателя справки.

Команда Windows SDK открывает окно справки для программирования в Windows.

Команда Borland Home Page позволяет просматривать страницы Web Borland.

Команда Delphi Developer Support позволяет получить справочную информацию разработчика.

Разделительные линии и многоточия в структуре меню

Некоторые команды меню содержат многоточие после надписи заголовка, например "Open..." в меню File. Это говорит о том, что перед выполнением некоторого действия появится диалоговое окно с предложением провести какие-либо действия. Не надо ставить многоточие в тех случаях, когда для элемента меню имеется непосредственная возможность вызова действия. Так как, когда пользователь видит многоточие, он ожидает, что появится диалоговое окно.

Вы можете добавить разделительные линии в структуру меню. Они полезны для наглядного группирования родственных по значению элементов меню. Это придаст меню приложения читаемый вид.

Вы можете выключать элементы меню как во время разработки, так и во время выполнения программы. Для этого необходимо установить для элемента меню свойство Enabled в False. Данная установка выключает соответствующий элемент меню, на форме вид его будет затененным.

В меню можно включить подсказку, которая содержит более детальную информацию об отдельном элементе меню. Подсказка появляется в то время, когда вы подводите курсор к элементу меню, происходит его подсвечивание, и можно видеть подсказку в статусной строке. Подсказка позволяет пользователю во время работы получить информацию о функции данного элемента. Для того чтобы добавить к элементу меню подсказку, необходимо использовать свойство Hint.

Элемент меню может также служить опцией, которую пользователь может переключать. В этом случае показывать задействованный элемент поможет свойство Checked, которое поставит в нем галочку. Проверив это свойство у группы элементов меню во время работы, вы можете определить, какие элементы сейчас задействованы.

Свойство Visible позволяет показывать или прятать отдельные элементы меню. Если вы спрятали какой-нибудь элемент меню, то все "привязанные" к нему вложенные меню становятся невидимыми и недоступными.

Рассмотрим пример приложения, в котором изменяется цвет формы. Выбор цвета формы осуществляется командами из сформированного вами меню.

Следует заметить, что команды меню могут быть доступны выбором заголовка меню мышью, а перемещение внутри меню можно производить с использованием клавиши F10 или клавиш со стрелками.

1. Запустите Delphi.

2. Сохраните приложение, используя меню File и команду Save Project As... Файл модуля сохраните под именем Menu_pas, а файл проекта сохраните под именем Menu.dpr.

3. Поместите на форму компонент MainMenu, используя палитру компонентов страницы Standard. Компоненту будет автоматически присвоено имя MainMenu1. Щелкните два раза левой кнопкой мыши по пиктограмме MainMenu1. Откроется диалоговое окно проектировщика меню Form1. MainMenu1. В первый активный элемент меню введите заголовок "Цвет формы". Для этого используйте свойство Caption страницы Properties инспектора объекта. После нажатия клавиши Enter элемент меню будет иметь надпись, а также появятся новые элементы меню справа и слева от первого элемента. Будем наращивать меню вниз. Для следующего элемента меню введите надпись "Random". Эта команда меню будет использоваться для задания форме цвета случайным образом, с использованием датчика случайных чисел. Далее отобразим черту, разделяющую подразделы меню. Для этого, используя свойство Caption страницы Properties инспектора объекта, введите знак разделительной черточки, показанный в скобках (-). После нажатия клавиши Enter можно увидеть появившуюся разделительную черту в составе меню. Для следующих трех элементов меню введите заголовки соответственно "Красный", "Желтый", "Зеленый". Установите для элементов Желтый", "Зеленый" свойство Enabled в False. На странице Properties найдите свойство Enabled и установите его в состояние False. Можно увидеть, как элементы приобретут вид "пригашенного" состояния. Далее вновь введите элемент с разделительной чертой. В следующем элементе меню введите надпись "Выбор цвета...". Три точки после названия, как вы помните, говорят о том, что появится диалоговое окно. Для нашего примера поместите на форму компонент ColorDialog со страницы Dialogs палитры компонентов. По команде "Выбор цвета..." вызывается диалоговое окно, в котором вы можете задать цвет вашей форме. Используя кнопку этого окна "Определить цвет", вы можете установить дополнительный цвет, не входящий в предложенный набор выбора цвета. Для реализации примера с использованием свойства Checked введите команду меню с именем "Другие цвета". Для элементов меню, входящих в состав этой команды, введите имена "Голубой", "Синий", "Лимон".

4. Назначьте "горячие клавиши" для команд меню, можно сделать так, как в приведенном примере. Для команды "Выбор цвета...", используя свойство ShortCut страницы Properties инспектора объекта, определите "горячие клавиши", например Ctrl+N.

5. Измените имена элементов меню для более осмысленного чтения в тексте программы. Для этого активизируйте первый элемент меню Random на странице Properties инспектора объекта, введите имя RandomMenu в свойство Name. Для остальных элементов меню введите следующие имена RedMenu, YellowMenu, GreenMenu, VyborCweta, Drugie, LimeMenu, SilverMenu, BlueMenu.

6. Поместите на любое место формы компонент ColorDialog со страницы Dialogs палитры компонентов.

7. Введите программный код, который будет изменять цвет формы после щелчка левой кнопкой мыши по элементам меню.

8. Проведите синтаксическую проверку написанного программного кода. Чтобы видеть результаты проверки, необходимо проделать следующее. Выберите команду меню Delphi Tools, щелкните по команде левой кнопкой мыши, из раскрывшегося списка выберите команду Environment Options. В раскрывшемся диалоговом окне выберите вкладку Explorer. В разделе Explorer Options поставьте галочку в окне команды Show declaration syntax. Для того чтобы видеть результаты компиляции, необходимо выбрать на странице Preferences раздел Compiling and Running. Поставьте галочку в окне Show compiler progress. Теперь, задавая процедуру компиляции или процедуру синтаксической проверки программы, вы будете видеть диалоговое окно результатов (рисунок 8).

9. Используя свойство Hint для каждого элемента меню на форме, а также и для самой формы, введите пояснительную текстовую часть. Например, активизируйте элемент с заголовком "Другие цвета" и введите текстовую часть в свойство Hint на странице Properties инспектора объекта; "установив галочки слева от надписи, откроются новые команды".

10. Переход от формы к окну Редактора кода можно производить через меню View, выбрав команду Project Manager. Ниже приведен программный код раздела implementation программы Menu. На рисунке 9 показан процесс редактирования приложения.

implementation
 {$R *.DFM} {комментарии пишутся в круглых скобках} // можно использовать две наклонные черты для за
писи комментариев {цвет формы выбирается с использованием диалоговой панели} procedure TForm1.VyborC
wetaClick(Sender: TObject); begin if ColorDialog1.Execute then Form1.Color:=ColorDialog1.Color; end;
 // выбор цвета procedure TForm1.RedMenuClick(Sender: TObject); begin Form1.Color:=clRed; YellowMenu
.Enabled:=True; RedMenu.Enabled:=False; GreenMenu.Enabled:=False; end; procedure TForm1.YellowMenuCl
ick(Sender: TObject); begin Form1.Color:=clYellow; YellowMenu.Enabled:=False; GreenMenu.Enabled:=Fal
se ; GreenMenu.Enabled:=not GreenMenu.Enabled; RedMenu.Enabled:=True; RedMenu.Enabled:=not RedMenu.E
nabled; end; procedure TForm1.GreenMenuClick(Sender: TObject); begin Form1.Color:=clGreen; GreenMenu
.Enabled:=False; YellowMenu.Enabled:=True; end; //выбор цвета случайным образом procedure TForm1.Dat
chikClick(Sender: TObject); begin Randomize; Form1.Color:=Random(65535); end; {окончание работы} pro
cedure TForm1.VychodClick(Sender: TObject); begin Close; end; {вывод на экран дополнительных элемент
ов меню} procedure TForm1.DrugieClick(Sender: TObject); begin Drugie.Checked:=not Drugie.Checked; ca
se Drugie.Checked of True: begin LimeMenu.Visible :=True; BlueMenu.Visible:=True; SilverMenu.Visible
:=True; end; False:begin LimeMenu.Visible:=False; BlueMenu.Visible:=False; SilverMenu.Visible:=False
; end; end; end; procedure TForm1.LimeMenuClick(Sender: TObject); begin Form1.Color:=clLime; end; pr
ocedure TForm1.BlueMenuClick(Sender: TObject); begin Form1.Color:=clBlue; end; procedure TForm1.Silv
erMenuClick(Sender: TObject); begin Form1.Color:=clSilver; end; end.
Литература:

1. Марко Канту. Delphi 2 для Windows 95/NT. Москва. ООО "Малип". 1997г.

2. Джон Матчо. Дэвид Р. Фолкнер. Delphi. Москва. БИНОМ. 1995г.

3. Эндрю Возневич. Delphi. Освой самостоятельно. Москва. Восточная книжная компания. 1996г.

4. В.В.Фаронов. Delphi 5. Учебный курс. Москва. Издательство Нолидж. 2000г.

5. А. Я. Архангельский. Программирование в Delphi 5. Москва. ЗАО "Издательство Бином". 2000 г. Владимир Скуратов (c) компьютерная газета




© Компьютерная газета

полезные ссылки
Ремонт ноутбуков, компьютеров, мониторов