Частина уроку для новачків

Перед безпосереднім написанням програм необхідно засвоїти правилами роботи над даним проектом.

Проект Delphi

Як вже говорилося в першому уроці, будь-який проект має, принаймні, шість файлів, пов’язаних з ним. Три з них відносяться до управління проектом із середовища програмування і безпосередньо програмістом, як правило, не змінюються. Ось цей перелік файлів:

Головний файл проекту, спочатку називається 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»

«Правка» містить команди «Скасувати» і «Redo», які можуть бути дуже корисні при роботі в редакторі для усунення наслідків при неправильних діях, наприклад, якщо випадково видалений потрібний фрагмент тексту або видалений компонент з проектировшика форм.

Команди «Вирізати», «Копіювати», «Вставити» та «Delete» — як у всіх інших додатках Windows, але їх можна застосовувати не тільки до тексту, але і до візуальних компонентів. Наприклад, якщо необхідно розмножити необхідний компонент на формі. Принцип дії першої та другої секції людині, яка працює в Windows, думаю ясний. Третя секція призначена для роботи з редактором форми. Не буду повністю описувати її зміст. Розповім лише про деякі. «Bring to Front» — встановити вибраний компонент на рівень вище; «Send to Back» — компонент на рівень нижче; «Align…» — вирівнювання компонентів, спільне позиціонування; «Size» — точні розміри компонента; Tab Order» — порядок переходу з елементів форми за допомогою кнопки Tab.

Збереження проекту

Як відомо, щоб надалі відкривати свій проект для подальшого коригування та управління необхідно його зберегти на диску.

Перший крок — створити підпапку для програми. Краще всього створити директорію, де будуть зберігатися всі ваші програми та в ній — створити підпапку для даної конкретної програми. Наприклад, ви можете створити директорію LESSONS і всередині неї директорії, пов’язані з тим чи іншим уроком LES4, які містили програми, над якими ми працювали.

Після створення піддиректорії для зберігання вашої програми бажано вибрати пункт меню «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:WINDOWSSYSTEM).
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://hackzona.ru’, nil, nil, SW_RESTORE); //запуск нашої сторінки
ShellExecute (Form1.Handle, nil, ‘c:1.doc’, nil, nil, SW_RESTORE); //відкрити документ

Спасибі Вам deisoft.

Ще Новачки у читайте мої статті 😉