Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных» (1075664), страница 10
Текст из файла (страница 10)
Файл исходного текста, например UNIT1.PAS, добавляется к проекту при добавлении формы. Для каждой формы декларируется тип, который определяет эту форму как класс. Объявление нового класса содержится в файле исходного текста. Активный файл просматривается и редактируется в окне редактора кода.
Файл Delphi-Form, например UNIT1. DFM. Этот файл всегда содержит имя соответствующего PAS-файла. Также создается при добавлении формы к проекту. Форма одновременно является и графическим объектом, поэтому ее свойства должны быть декларированы и определены. Эти данные и хранятся в файле с расширением DFM. Данный файл бинарный. При компановке он присоединяется к ЕХЕ-файлу.Просмотреть файл DFM на экране можно выполнив команды File | Open главного меню и открыв требуемый файл. На рис. 1.40 в качестве примера приведен файл UNIT1. DFM.
Рис. 1.40. Пример файла *.DFM
Файл ресурсов, например Project1.RES, содержит сведения о всех необходимых для проекта ресурсах - пиктограммах, курсорах, графических изображениях и т.п. Файл двоичный.
Файл установок конфигурации проекта, например Project1.CFG. Файл содержит описание конфигурации проекта и используется компилятором при трансляции.
Файл Desktop-настроек проекта, например Project1. DSK. В файле содержится информация, о том, какие окна Среды разработки открыты и в каких позициях находятся. Используется для восстановления внешнего вида среды разработки проекта. Файл текстовый.
Файл опций проекта, например Project1. DOF. Файл содержит текущие установки проекта: настройки компилятора, компановщика, имена служебных каталогов, условные директивы, параметры командной строки. Обновляется при сохранении проекта. Файл текстовый.
Резервные файлы:
• *.~DP - резервная копия файла проекта. Создается при повторном сохранении проекта.
• *.~BP - резервная копия файла группы проектов. Создается при повторном сохранении группы проектов.
• *.~PA - резервная копия файла с расширением PAS. Создается при повторном сохранении проекта, если в исходном тексте модуля были сделаны изменения.
• *.~DF - резервная копия файла формы. Создается в том случае, если файл открывался и в нем были сделаны изменения.
Файлы, создаваемые пользователем. В проект могут быть включены файлы, написанные на языке Pascal более ранних версий, на других языках программирования. Такие файлы включаются в проект как Include-файлы.
По завершению редактирования программы для сохранения файла модуля с исходным текстом можно выполнить команды File | Close главного меню. На экране пявится запрос о необходимости сохранения произведенных изменений. При выборе кнопки Yes появляется диалоговое окно Save Unit As. В этом окне нобходимо выбрать каталог, в котором будет сохранен файл модуля и укзать имя файла.
Для сохранения файла проекта необходимо выполнить каманды File | Save Project As главного меню. В окне Save Project As также необходимо выбрать каталог и указать имя файла проекта. Каталог, заданный в окне Save Project As становится активным.
Для сохранения файла группы проектов необходимо выполнить команду Save Progect Group As контекстного меню окна Project Manager, открытого правым щелчком мыши на имени данной группы проектов и затем выполнить аналогичные описанным выше действия. Если файлы модулей и проектов перед этим не были сохранены, т.е. в них имеются не сохраненные изменения, то будут выданы по очереди все три окна сохранения: Save Unit As, Save Project As и Save Progect Group As.
Откомпилированный файл модуля - *.DCU ( UNIT1.DCU) и откомпилированный файл проекта - *.ЕХЕ (Project1.ЕХЕ) по умолчанию сохраняются в подкаталоге PROJECTS основного каталога Delphi. При инсталяции по умолчанию основным каталогом принимается каталог ДИСК:\PROGRAM FILES\BORLAND\DELPHI5.
Для задания другого каталога для хранения файлов необходимо путь доступа к нему указать в полях Output directory и Unit output directory на странице Directories/Сonditionals диалогового окна Project Options. Теперь откомпилированные файлы будут сохраняться в указанных каталогах.
Рекомендуется все файлы одного проекта хранить в одном каталоге.
Рекомендуется также перед началом работы над новым проектом выполнить его сохранение с помощью команды:
File | Save Project As
указав имя проекта и имя модуля формы и задать каталог для хранения файлов. Если содается группа проектов, то аналогичные действия выполнить и для файла группы.
1.2.6. МЕНЕДЖЕР ТРАНСЛЯЦИЙ
Менеджер Трансляций - это специальный механизм IDE Delphi, предназначенный для упрощения процессов создания локализованных для задаваемых языков (русский, английский, французкий, немецкий и т.д.) версий программ. Он состоит из трех взаимосвязанных частей:
• Эксперта создания специальной трансляционной DLL.
• Менеджера Трансляций.
• Трансляционного репозитория.
С помощью эксперта DLL задаются один или несколько языков, на которые будут переводиться языково-зависимые интерфейсные элементы: заголовки форм, кнопок, сообщения и др. Исключение составляет язык разработки. Эксперт вызывается с помощью команд:
Project | Languages | Add
и показывает несколько последовательно сменяющихся друг друга окон. Вначале появляется окно, в котором уточняется, о каком проекте или проектной группе идет речь - рис. 1.41.
Рис. 1.41. Окно эксперта DLL для выбора проекта
Затем появляется окно, в котором уточняется, на какие языки должен быть локализован проект - рис. 1.42.
Рис. 1.42. Окно эксперта DLL для выбора языка локализации
Далее последовательно задается еще целый ряд вопросов. После ответа на них эксперт создает ряд специальных DLL - по одному на каждый локализуемый язык. В заключение выдается окно с сообщениями о характеристиках процесса создания (рис. 1.43).
Рис. 1.43. Окно сообщений
Для каждого языка создается свой файл проекта (DPR), в котором указывается нужная DLL. Сами DLL автоматически размещаются в разных папках ( так как имеют одинаковые имена ) и связываются с общим проектом.
На рис. 1.44 представлено окно Менеджера Трансляций.
РиС. 1.44. Окно Менеджера трансляций
Менеджер Трансляций вызывается с помощью команд:
View | Translation Manager
В левой части окна Translation Manager необходимо выбрать требуемый язык и компанент проекта, для которого должна быть выполнена работа по локализации. После этого в правой части окна открывается таблица, содержащая строки с исходными и переведенными языковыми определениями. Чтобы перевести строку, следует щелкнуть по ней левой кнопкой мыши и написать новую.
Перевод можно поместить в специальное хранилище - Трансляционный Репозиторий (окно Translation Repository) - и в дальнейшем использовать для вставки в локализуемый проект.
На рис. 1.45 приведен пример помещения переведенного определения в Трансляционный Репозиторий.
Рис. 1.45. Пример помещения строки в Трансляционный репозиторий
Для вызова окна Translation Repository необходимо щелкнуть мышью по пиктограмме Launch repository в верхней части окна Translation Manager. Для помещения перевода активизируйте окно Translation Manager, выделите в нем строку с переводом, который хотите поместить в Трансляционный Репозиторий. Затем для правой части окна Translation Manager вызовите контекстное меню, в котором выполните команды:
Repository | Add strings to repository .
1.2.7. ОТЛАДКА ПРОГРАММ
В IDE Delphi основными инструментами отладки являются точки контрольного останова и окна наблюдения за переменными.
1.2.7.1. Работа с Debug-отладчиком
Точка контрольного останова определяет оператор в программе, перед выполнением которого работа программы должна быть прервана и управление должно быть передано IDE Delphi. Окно точек контрольного останова, окно добавления новой контрольной точки, окно наблюдения и окно добавления нового выражения в окно наблюдения представлены на рис. 1.8, 1.9, 1.10, 1.11. Порядок работы с окнами приведен в параграфе 1.2.1.1.4 при описании опции-заголовока Debug Windows. Эта опция вызывается из главного меню командами:
View | Debug windows .
После контрольного останова в окне наблюдения можно увидеть те- кущие значения наблюдаемых объектов. Можно также увидеть текущее значение любой переменной, если в окне редактора кода указать на нее мышью. При этом окно редактора кода должно быть активным.
По умолчанию точка контрольного останова выделяется красным цветом, а текущая строка выделяется синим цветом. Когда текущая строка совпадает со строкой останова, то строка выделяется красным цветом. Кроме того, текущая строка, точка контрольного останова и строки с исполняемыми операторами выделяются в окне редактора кода в служебной зоне (слева) специальными указателями (горизонтальная стрелка для текущей строки, кнопки для контрольных точек останова и точки для исполняемых строк).
Работу программы, запущенной из IDE Delphi, можно также приостановить в любой момент из главного меню с помощью опции
Run | Program pause
или с помощью соответствующей кнопки.
Чтобы установить или снять точку контрольного останова c помощью клавиатуры, можно в окне редактора кода щелкнуть мышью по служебной зоне слева от нужной строки. Либо установить в эту строку текстовый курсор и нажать клавишу F5.
После прерывания работы программы перед исполнением оператора с точкой контрольного останова, можно дальше прослеживать работу программы по шагам с помощью опций:
Run | Trace Into
или
Run | Step Over
опции главного меню либо с помощью соответствующих инструментальных кнопок. Либо с помощью клавиш F7 и F8.
При нажатии клавиши F 8 будут выполнены запрограммированные в текущей строке действия и работа программы прервется перед выполнением следующей строки текста программы.
При нажатии F7 выполняются те же действия, что и при нажатии F8, но при этом если в текущей строке содержится вызов подпрограммы, то работа программы будет прервана перед выполнением первого исполняемого оператора подпрограммы. Так можно проследить работу вызываемых подпрограмм.
Имеется еще ряд дополнительных возможностей для работы с точками останова.
Можно связать с контрольной точкой несколько действий или объединить несколько точек останова в группу. Для этого нужно активизировать окно контрольных точек останова (рис. 1.8), вызвать его контекстное меню (щелчок правой кнопкой) и выбрать Properties. В появившемся окне щелкнуть по кнопке Advanced. В нижней части окна имеется панель Actions. С ее помощью задаются действия для точки останова, указанной в верхней части окна:
• Break - простой останов перед выполнением помеченного оператора.
• Ignore - при установке данного переключателя игнорируются все возможные последующие исключения в текущем отладочном сеансе до очередной точки останова.
• Handle subsequent exceptions - данный переключатель отменяет действие предыдущего переключателя.
• Log mesasage - позволяет указать произвольное сообщение, связанное с точкой останова.
• Eval expression - позволяет вычислить указнное выражение и его результат помещает в сообщение.
• Строка Group - указывается имя группы.
• Enable Group - разрешает действие всех точек группы.
• Disable Group - запрещает действие всех точек группы.
С помощью окна Evaluate/Modify можно узнавать значение любой переменной или выражения и изменять значения переменных. Окно вызывается в режиме отладки нажатием клавиш Ctrrl+F7. Окно прерывает отладку программы до тех пор, пока не будет закрыто. В строке Ехрession записывается имя переменной или интересующее выражение. После щелчка по кнопке Еvaluate в поле Result появляется текущее значение переменной либо выражения. Для изменения значения переменной необходимо в строке New valua задать новое значение переменной и щелкнуть Modify.
1.2.7.1.1. Окно CPU
Для вызова на экран окна CPU необходимо выполнить команды:
View | Debug Windows | CPU
Окно CPU можно вызвать также с помощью контекстного меню окна редактора кода, выполнив в этом меню опцию CPU View.
Если в том месте, где произошло прекращение выполнения программы, исходный код программы недоступен для отладки в обычном режиме (например, в проекте используется DLL-модуль, для которого файл исходного текста осутствует), происходит автоматический вызов окна CPU.
Окно CPU используется при низкоуровневой отладке приложений для проверки:
• Содержимого стека программы.
• Содержимого регистров и флагов CPU.
• Содержимого областей памяти - memory dumps.
• Дизассемблированных инструкций машинного кода.
Рис.1.46. Окно CPU
Окно CPU состоит из пяти отдельных окон.