Главный файл проекта, изначально называется PROJECT1.DPR. Если необходимо переименовать название проекта, нужно перезаписать этот файл, выбрав в меню File команду Save Project As: При задании имени следует придерживаться правил задания имен в Object Pascal. Имя не должно содержать пробелов (используйте в таком случае знак подчеркивания), должно начинаться с буквы (цифры допустимы, но со второй позиции), не должно содержать других символов, кроме букв и цифр. Под каким именем вы сохраняете проект, под таким именем и будет создаваться исполняемый EXE файл, который вы всегда сможете самостоятельно переименовать.
Модуль программы, который автоматически появляется в начале работы Unit1. Файл называется UNIT1.PAS по умолчанию, но его можно назвать любым другим именем, вроде MAIN.PAS. Это делается аналогично переименованию названия проекта. Необходимо выбрать в меню File команду Save As: Сохраняется активный модуль в редакторе кода.
Файл главной формы, который по умолчанию называется UNIT1.DFM, используется для сохранения информации о внешнем виде формы (окна разрабатываемого приложения). При переименовании названия модуля автоматически меняет свое название.
Файл PROJECT1.RES изначально содержит иконку для проекта. Создается автоматически. Имеет одноименное название с названием проекта.
Файл PROJECT1.DSK содержит информацию о состоянии рабочего пространства. Состояние окон во время разработки приложения.
Исполняемый EXE файл, который создается в процессе компиляции проекта.
Разумеется, если сохранить проект
под другим именем, то изменят название и файлы с
расширением RES и DSK.
После компиляции программы получаются файлы с
расширениями:
DCU - скомпилированные модули PAS для последующей
быстрой компиляции некоторые файлы не
перезаписываются
EXE - исполняемый файл
~PA, ~DP - backup файлы редактора. Автоматически
создаются и содержат информацию, перед последним
сохранением.
Коротко про пункты главного меню Delphi
Пункт меню "File"
Если нужно сохранить проект, то Вы выбираете
пункт главного меню "File" (с помощью мышки или по
клавише Alt+F). У вас, в зависимости от
установленной версии, он может выглядеть по
другому, но это не меняет картины в целом. Пункт
меню "File" выглядит следующим образом:
Как вы можете видеть, здесь
есть шесть секций, разбиваемых по их
функциональному назначению.
Первая секция дает возможность управления проектом в целом. Создать новый: (проект, форму, модуль, отчет и т.д.). Создать новый проект. Создать новую форму (окно).
Вторая секция позволяет открывать с диска файлы проекта.
Третья позволяет сохранять открытые файлы на диске. Здесь можно закрыть активный файл в редакторе кода или закрыть весь проект.
Четвертая позволяет подключать в текущий модуль другие в открытом проекте.
Пятая управляет печатью.
Шестая секция - выход из Delphi.
Каждая строка пункта меню "File", как
и другого пункта, объяснена в справке. Выберите
меню "File", подведите под интересующий вас пункт
и нажмите F1.
Большинство из пунктов первой секции очевидны. "New
Application" начинает новый проект, "Open Project"
открывает существующий проект и т.д. Вложенный
список "Reopen" позволяет открыть файл или проект,
который недавно открывался.
При создании нового модуля Delphi дает ему имя по-умолчанию.
Вы можете изменить это имя на что-нибудь более
предпочтительное, чтобы название подходило к
функциональным принадлежностям данного модуля (например,
MAIN.PAS) с помощью пункта для первого сохранения "Save"
или для последующего изменения названия "Save As:".
"Save File" сохраняет только редактируемый файл, но
не весь проект. Для сохранения всех файлов
проекта пользуйтесь "Save All". Вообще всегда
удобнее пользоваться пунктом меню сохранить все,
чем сохранять файлы по отдельности, тем более,
что сохраняются только измененные.
"Close" закрывает файл из окна редактора. Если
файл был изменен произойдет запрос сохранений
перед закрытием.
"Close All" закрывает все открытые файлы проекта.
Пункт меню "Edit"
"Edit" содержит команды "Undo"
и "Redo", которые могут быть очень полезны при
работе в редакторе для устранения последствий
при неправильных действиях, например, если
случайно удален нужный фрагмент текста или
удален компонент из проектировшика форм.
Команды "Cut", "Copy", "Paste" и "Delete" - как во всех
остальных приложениях Windows, но их можно применять
не только к тексту, но и к визуальным компонентам.
Например, если необходимо размножить
необходимый компонент на форме. Принцип действия
первой и второй секции человеку, работающему в
Windows, думаю ясен. Третья секция предназначена для
работы с редактором формы. Не буду полность
описывать ее содержание. Расскажу только о
некоторых. "Bring to Front" - установить выбранный
компонент на уровень выше; "Send to Back" - компонент
на уровень ниже; "Align..." - выравнивание
компонентов, совместное позиционирование; "Size"
- точные размеры компонента; "Tab Order" - порядок
перехода по элементам формы с помощью кнопки Tab.
Сохранение проекта
Как известно, чтобы в последствии открывать свой
проект для дальнейшего корректирования и
управления необходимо его сохранить на диске.
Первый шаг - создать поддиректорию для программы.
Лучше всего создать директорию, где будут
храниться все ваши программы и в ней - создать
поддиректорию для данной конкретной программы.
Например, вы можете создать директорию LESSONS и
внутри нее директории, связанные с тем или иным
уроком LES4, которые содержали бы программы, над
которыми мы работали.
После создания поддиректории Bя хранения вашей
программы желательно выбрать пункт меню "File" "Save
All". Сохранить нужно будет два файла. Первый -
модуль (unit), над которым Вы работали, второй -
главный файл проекта. Здесь и далее сколько окон (форм)
в вашем проекте, столько и модулей.
Открытие проекта
Для открытия проекта необходимо выбрать пункт
меню файл "Open Project" и выбрать название
интересующего вас проекта DPR. При этом
открываются как сам проект, так и становятся
доступными все привязанные к нему файлы.
Если вы хотите открыть для редактирования
отдельный модуль, или модуль формы, необходимо
выбрать пункт "Open" и выбрать файл PAS. В этом
режиме будет доступно для редактирования только
форма и модуль. Чтобы запустить это окно на
выполнение сначала открывайте проект.
Часть урока для продвинутых
программистов
Запуск других приложений из вашего
Существует две наиболее часто применяемых
функций. WinExec и ShellExecute.
Функция WinExec
WinExec, оставлена для совместимости с ранними
версиями Windows, но я рекомендую для обычного
запуска программы с командной строкой
использовать эту. У нее мало параметров запуска.
Используемый модуль - Windows.
Описание: WinExec (FileName: PChar; CmdShow: Cardinal) : Cardinal;
где: FileName - путь, имя запускаемого
приложения, параметры командной строки. Все
указывается в одной строке;
CmdShow - стиль окна. Показывает, в каком
состоянии будет отображаться окно при запуске.
Параметры отображения окна CmdShow:
SW_HIDE | Запускаемое приложение делается невидимым |
SW_MAXIMIZE | Расширяет окно на весь экран |
SW_MINIMIZE | Запускаемое приложение минимизируется. После запуска активизируется окно высшего уровня, т.е. окно, откуда было запущено это приложение |
SW_RESTORE | Делает окно таким, каким оно было запущено в последний раз |
SW_SHOW | Отображает окно в своем текущем размере и позиции |
Для не-Windows приложений определяет
состояние окна файл PIF, если таковой имеется в
наличии. Если необходимо закрывать окно после
завершения работы такого приложения необходимо
создать PIF ярлык к нему в том же каталоге с таким
же названием и поставить галочку "Закрывать
окно по завершению сеанса работы". Все
дополнительные параметры запуска
устанавливаются там же.
Возвращаемые значения функции WinExec:
31 | нормальный запуск |
0 | системе не хватает памяти или ресурсов |
ERROR_BAD_FORMAT | EXE файл поврежден или имеет неверный формат (Windows на такой файл говорит, что он не является приложением Win32) |
ERROR_FILE_NOT_FOUND | файл не найден |
ERROR_PATH_NOT_FOUND | путь к файлу задан неверно |
Если имя выполняемого файла в
параметре FileName не содержит пути директории, Windows
производит поиск выполняемого файла в такой
последовательности:
1. Каталог из которого приложение было запущено.
Это рабочий каталог
2. Системный каталог Windows (обычно C:\WINDOWS\SYSTEM).
3. Каталог Windows.
4. Директории, указанные в переменной
операционной среды в среде PATH. Узнать о каталогах
этой переменной можно, введя PATH в командной
строке сеанса MS-DOS.
Пример использования функции WinExec в
программе:
WinExec ('command.com', SW_SHOW); //
запускает сеанс MS-DOS
Функция ShellExecute
Функция ShellExecute не только запускает
программы, а открывает, редактирует или печатает
файл, с учетом зарегестрированного типа, а также
открывает указанную папку проводником.
Возвращает Handle ссылку на открытое окно.
Используемый модуль ShellAPI. Его нужно не
забыть указать в разделе Uses.
Описание: ShellExecute (hWnd: HWND; Operation: PChar; FileName: PChar;
Parametrs: PChar; Directory: PChar; CmdShow: Integer): HINST;
где: hWnd - Handle родительского окна, в
который будут передаваться сообщения
запускаемого приложения. Можно указывать Handle-ссылку
окна вашего приложения.
Operation - производимая операция. Open - открыть, print - напечатать, explore - открыть папку. По умолчанию open, если указать nil.
FileName - имя файла или документа, интернет ссылка, e-mail адрес.
Parametrs - параметры, передаваемые приложению в командной строке.
Directory - каталог по умолчанию.
CmdShow - стиль окна. Показывает, в каком состоянии будет отображаться окно при запуске. Подробно рассказано выше.
Вместо параметров Operation, Parametrs
и Directory можно ставить nil. Они являются не
обязательными параметрами для запуска.
В случае успешного запуска возвращает Handle окна, в
случае неудачи возвращает код ошибки меньше или
равное 32. Список возможных ошибок можно
прочитать в справке по этой команде.
Пример использования команды ShellExecute в
программе:
ShellExecute (Form1.Handle, nil, 'http://programming.dax.ru', nil,
nil, SW_RESTORE); //запуск нашей странички
ShellExecute (Form1.Handle, nil, PChar (Application.ExeName), nil, nil, SW_RESTORE); //запуск
второй копии этой программы
ShellExecute (Form1.Handle, nil, 'iexplore', 'http://programming.dax.ru', nil,
SW_RESTORE); //запуск в отдельном окне
ShellExecute (Form1.Handle, nil, 'mailto:semen@krovatka.net?subject=delphi', nil, nil,
SW_RESTORE); //написать мне письмо
ShellExecute (Form1.Handle, nil, 'c:\1.doc', nil, nil, SW_RESTORE); //открыть
документ