Менеджер проєктів і файли проєкту Delphi. Урок №2

У цьому уроці ми детально розглянемо вікно «Менеджер проєктів» інтегрованого середовища розробки Delphi. А також дізнаємося які файли формує Delphi IDE при створенні проєкту і навіщо ці файли потрібні.

Відкрийте в Delphi проєкт з нашого минулого уроку, або створіть новий проєкт. Як це робиться ви повинні пам'ятати, але якщо хтось забув, то я нагадаю File - New - VCL Forms Application - Delphi.

Давайте тепер подивимося на «Менеджер проєктів». І, щоб розкрити всі гілки дерева, виберіть перший елемент у менеджері проєктів і натисніть <*> на додатковій цифровій клавіатурі.

Відео

Що означає кожен пункт цього дерева?

  1. ProjectGroup1 (Тема дерева) — ім'я групи проєктів. В одній групі проєктів може бути кілька додатків. Але так як у нас створено зараз тільки один додаток, то тут він у нас один. Якщо натиснути на кнопку «Add new project...», то перед нами з'явиться вікно, в якому ми можемо вибрати який новий проєкт додати до цієї групи.
  2. Project.exe — ім'я проєкту (програми). Коли ми створюємо новий додаток, Delphi дає йому ім'я Project плюс порядковий номер 1, 2, 3 і т.д.
  3. У розділі Build Configurations (Debug) перераховані різні конфігурації збірки, які доступні для вашого проєкту. Новіші версії Delphi мають три конфігурації збірки за замовчуванням: Debug, Release і All configurations. Debug — встановлюють для налагодження і тестування. Release — це вже готова версія. І All configurations — батьківська конфігурація для всіх інших конфігурацій.
    Конфігурації можна додавати і видаляти (в тому числі Debug і Release). Конфігурація All configurations не видаляється, в ній вказуються загальні для всіх конфігурацій налаштування.
  4. У розділі Target Platforms (Цільові платформи) можна додати, або видалити цільову платформу. Наприклад, зараз наш додаток розробляється під Windows 32 біт. Якщо ми хочемо розробляти додаток для Windows 64 біт, то правою кнопкою миші викликаємо контекстне меню і в ньому вибираємо Add Platform...
  5. Unit1.pas — модуль. Проект складається з модулів. Кожне вікно програми зберігається в окремому модулі. Так як у нашої майбутньої програми є вікно, то саме воно і зберігається в модулі Unit1.pas. Файли з розширенням pas містять вихідний код модуля. Ім'я цих файлів таке ж, як і ім'я модуля в менеджері проєктів.
  6. Unit.dfm — це візуальна форма. Вона зберігається з тим же ім'ям, що і модуль, тільки з розширенням dfm.

Якщо у вашому проєкті буде кілька додатків, то тільки один з них може бути активним. І тільки активне застосування ми можемо виконувати і налагоджувати в середовищі розробки. Ім'я активного застосування виділяється жирним шрифтом. Щоб змінити активне застосування, досить двічі кликнути по його імені лівою кнопкою миші. Також можна викликати контекстне меню, клікнувши на ім'я додатка правою кнопкою миші і потім вибрати Activate (Активувати).

Але поки давайте будемо працювати тільки з одним додатком. Тому якщо ви створили другий додаток, то його можна видалити. Для цього виділяємо ім'я другого додатка і натискаємо клавішу Del, або Delete (у кого яка клавіатура). У вікні про підтвердження видалення потрібно обрати Yes (Так) і додаток буде видалено з групи проектів.

Але реально з диска файли не видаляються. Вони залишаються на місці. Просто не відображаються в проєкті. Тому якщо вони вам взагалі не потрібні, то потрібно їх знайти і видалити. Це якщо ви зберігали проєкт після того як додали в нього другий додаток. Якщо ж ви не зберігали проєкт, то відповідно файли другого програми і не створювалися.

Тепер давайте перейдемо в папку з нашим проєктом і подивимося на файли присутні в ній.

  • в файлах з розширенням dproj міститься конфігурація нашого проєкту;
  • в файлах з розширенням dpr знаходиться сам проєкт;
  • в файлах з розширенням res містяться ресурси нашого проєкту: кнопки, іконки, курсори і т.д .;
  • в файлах з розширенням pas міститься вихідний код модулів;
  • в файлах з розширенням dfm міститься візуальна інформація про форму.
  • в папці Win знаходиться папка Debug, а в ній — файли з розширенням dcu і exe.

Файл з розширенням dcu — це відкомпільований модуль проекту в проміжному форматі. Коли відбувається компіляція програми, то всі модулі компілюються в файли формату DCU, а потім вони збираються в один файл. Якщо модуль не змінився з останньої компіляції, то Delphi пропустить його і при складанні буде використовувати вже існуючий файл DCU. Так збільшується швидкість компіляції.

Ну і файл з розширенням exe — це наша програма, виконуваний файл того додатку, який ми скомпілювали в Delphi.

Файли з розширенням dfm, pas, dpr і dproj можна відкрити звичайним блокнотом і внести в них необхідні зміни. Але це робиться тільки в тому випадку якщо з якоїсь причини ці файли не відкриваються в IDE Delphi.

Ви можете помітити, що коли відкриваєте вже існуючий проект в Delphi, то можна відкрити файл dpr, а можна відкрити і dproj. І ефект буде однаковим. У чому ж різниця?

Як я вже згадував, файл dpr містить вихідний код Delphi (це найважливіший файл), а файл dproj містить конфігурацію проекту.

Відкриваючи один з них, інтегроване середовище розробки автоматично шукає інший.

Спробуйте видалити файл dproj і відкрити файл dpr — IDE Delphi повідомить вам, що буде згенеровано новий файл dproj.

А ось файл dpr ні в якому разі не видаляйте!

Сподіваюся, цей урок став для вас корисним.

Рекомендуємо

Сollaborator

Hosting Ukraine

Продукція та послуги

Delphi Функції

Функція Abs – призначена для отримання абсолютної величини числа (модуль)

Функція Addr – повертає адресу змінної, функції чи процедури

Функція AnsiCompareStr – порівняння двох рядків на рівність

Функція AnsiCompareText – порівняння двох рядків на рівність

Функція AnsiContainsStr – повертає істину, якщо рядок містить підрядок

Функція AnsiEndsStr – повертає істину, якщо рядок закінчується підрядком

Функція AnsiIndexStr – порівнює рядок зі списком рядків і повертає відповідний індекс

Функція AnsiLeftStr – витягує символи з лівого боку рядка

Функція AnsiLowerCase – змінює символи верхнього регістру в рядок з малими літерами

Функція AnsiMatchStr – повертає True, якщо рядок точно відповідає будь-якому рядку зі списку

Функція AnsiMidStr – повертає підрядок із середніх символів рядка

Функція AnsiPos – знаходить позицію одного рядка в іншому

Функція AnsiReplaceStr – замінює частину одного рядка на інший

Функція AnsiReverseString – перевертає послідовність символів у рядку

Функція AnsiRightStr – вилучення символів з правого боку рядка

Функція AnsiStartsStr – повертає True, якщо рядок починається з підрядка

Функція AnsiUpperCase – використовують для зміни символів нижнього регістру на символи верхнього регістру

Функція ArcCos – повертає арккосинус числа в радіанах

Функція ArcSin – повертає арксинус числа в радіанах

Функція ArcTan – арктангенс числа повертається в радіанах

Функція Assigned – здійснює перевірку функціональності покажчиків, об'єктів, методів

Функція BeginThread – починає окремий потік виконання коду

Функція Bounds – передає координати вершин об'єкта типу TRect (прямокутник)

Функція CelsiusToFahrenheit – конвертує значення температури з Цельсія в Фаренгейта

Функція ChangeFileExt – змінює розширення імені файлу

Функція Chr – конвертує ціле число в символ

Функція Concat – з'єднує кілька рядків в один

Функція Convert в Delphi

Функція Copy – створює копію частини рядка або частини масиву

Функція Cos – косинус числа

Функція CreateDir – створює директорію

Функція CurrToStr – перетворює грошову величину в рядок

Функція CurrToStrF – перетворює грошову величину в рядок з форматуванням

Функція Date – повертає поточну дату

Функція DateTimeToFileDate – перетворює значення TDateTime у формат date/time формат файлу

Функція DateTimeToStr – конвертує значення дати та часу TDateTime в рядок

Функція DateToStr – перетворює значення дати TDateTime в рядок

Функція DayOfTheMonth – дає день місяця для значення TDateTime (ISO 8601)

Функція DayOfTheWeek – повертає індекс дня тижня для значення TDateTime (ISO 8601)

Функція DayOfTheYear – видає день року для значення TDateTime (ISO 8601)

Функція DayOfWeek – видає індекс дня тижня для значення TDateTime

Функція DaysBetween – видає цілу кількість днів між 2 датами

Функція DaysInAMonth – видає кількість днів у місяці

Функція DaysInAYear – видає кількість днів у році

Функція DaySpan – видає дробове число днів між 2 датами

Функція DegToRad – перетворює значення градусів в радіани

Функція DeleteFile – видаляє файл, вказаний у параметрі

Функція DirectoryExists – повертає True, якщо вказана директорія існує

Функція DiskFree – видає кількість вільних байтів на вказаному диску

Функція DiskSize – видає розмір вказаного диска в байтах

Функція DupeString – створює рядок, що містить копії підрядка

Функція EncodeDate – формує значення TDateTime із значень року, місяця та дня

Функція EncodeDateTime – формує значення TDateTime із значень часу та дня

Функція EncodeTime – формує значення TDateTime із значень години, хвилини, секунди та мілісекунди

Функція EndOfADay – генерує значення TDateTime, встановлене на кінець дня

Функція EndOfAMonth – генерація значення TDateTime, встановлене на самий кінець місяця

Функція Eof – повертає True, якщо позиція курсору знаходиться в кінці відкритого файлу за допомогою Reset

Функція Eoln – повертає True, якщо позиція курсору знаходиться в кінці рядка

Функція Exp – видає експоненту числа

Функція ExtractFileDir – витягує з повного імені файлу назву папки

Функція ExtractFileDrive – витягує з повного імені файлу назву диска

Функція ExtractFileExt – витягує з повного імені файлу його розширення

Функція ExtractFileName – витягує з повного імені файлу коротке ім'я файлу

Функція ExtractFilePath – витягує частину шляху з повного імені файлу

Функція FahrenheitToCelsius – конвертує температуру з Фаренгейта в Цельсій

Функція FileAge – отримання дати/часу останньої зміни файлу, не відкриваючи його

Функція FileDateToDateTime – конвертує формат дати/часу файлу в значення TDateTime

Функція FileExists – повертає True якщо вказаний файл існує

Функция FileGetAttr – видає атрибути файлу

Функція FilePos – дає позицію файлу у двійковому або текстовому файлі

Функція FileSearch – пошук файлу в одній або більше папках

Функция FileSetAttr – встановлює атрибути файлу

Функція FileSetDate – встановлює дату та час останньої зміни файлу.

Функція FileSize – визначає розмір записів відкритого файлу

Функція FindClose – закриває успішний FindFirst пошук файлу

Функция FindCmdLineSwitch – визначає, чи було передано певний перемикач параметрів

Функція FindFirst – знаходить усі файли, що відповідають масці файлу та атрибутів

Функція FindNext – знаходить наступний файл після успішного FindFirst

Функція FloatToStrF – перетворює значення з плаваючою комою в рядок з форматуванням

Функція ForceDirectories – створює новий шлях каталогів

Функція Format – розширене форматування чисел і тексту в рядку

Функція FormatCurr – розширене форматування значень валюти у рядок

Функція FormatDateTime – розширене форматування змінної TDateTime в рядок

Функція FormatFloat – розширене форматування числа з плаваючою комою в рядок

Функція Frac – дробова частина числа з плаваючою комою

Функція GetCurrentDir – повертає поточний каталог (диск плюс каталог)

Функція GetLastError – видає код помилки останнього невдалого Windows API виклику

Функція GetMem – отримує вказану кількість байтів пам'яті

Функція Hi – повертає байт старшого розряду від типу Integer

Функція High – повертає найвище значення типу або змінної

Функція IncDay – збільшує змінну типу TDateTime на + або - число днів

Функція IncMillisecond – прирощує змінну типу TDateTime на + або - число мілісекунд

Функція IncMinute – збільшує змінну типу TDateTime на + або - число хвилин

Функція IncMonth – збільшує змінну TDateTime на певну кількість місяців

Функція IncSecond – збільшує змінну типу TDateTime на + або - число секунд

Функція IncYear в Delphi – збільшує TDateTime змінну на кількість років

Функція InputBox – відображає діалогове вікно, яке просить користувача про введення тексту, зі стандартним значенням

Функція InputQuery – відображає діалогове вікно, яке просить користувача ввести текст

Функція Int – ціла частина числа з плаваючою точкою

Функція IntToHex – перетворює ціле число на шістнадцятковий рядок

Функція IntToStr – конвертує ціле число у рядок

Функція IOResult – містить код останньої операції введення/виводу, що повертається.

Функція IsInfinite – перевіряє, чи є число з плаваючою точкою нескінченним

Функція IsLeapYear – повертає True, якщо цей календарний рік високосний

Функція IsMultiThread – повертає True, якщо код виконує безліч потоків

Функція IsNaN – з'ясовує, чи число з плаваючою комою справжнє число

Функція LastDelimiter – знаходить останню позицію вказаних символів у рядку

Функція Length – повертає кількість елементів у масиві чи рядку

Функція Ln – видає натуральний логарифм числа

Функція Lo – повертає молодший байт цілого числа (2-байтовий)

Функція Log10 – обчислює логарифм числа із основою 10

Функція Low – повертає найнижче значення типу чи змінної

Функція Max – видає максимальну кількість із двох цілих значень

Функція Mean – видає середнє число з набору чисел

Функція MessageDlg – відображає повідомлення, знак та кнопки, що вибираються

Функція MessageDlgPos – відображає повідомлення та кнопки у заданій позиції екрана

Функція Min – видає мінімальне із двох цілих значень

Функція MonthOfTheYear – видає місяць для значення TDateTime

Функція Now – видає поточну дату та час

Функція Odd – перевіряє, чи є ціле число непарним

Функція Ord – порядкове значення цілого числа, символу чи перерахування

Функція ParamCount – видає кількість параметрів переданої поточній програмі

Функція ParamStr – повертає один із параметрів, що використовуються для запуску поточної програми

Функція Pi – математична константа

Функция Point – генерирует значение TPoint из значений X и Y

Функція PointsEqual – порівнює два значення TPoint щодо рівності

Функція Pred – зменшує порядкову змінну

Функція Printer – повертає посилання на глобальний об'єкт Printer

Функція PromptForFileName – показує діалог, що дозволяє користувачеві вибрати файл

Функція PtInRect – перевіряє, чи знаходиться точка в межах прямокутника

Функція RadToDeg – перетворює значення радіана на градуси

Функція Random – генерує випадкове число з плаваючою комою або ціле число

Функція RandomRange – генерує довільне число у межах введеного діапазону

Функція RecodeDate – змінює лише дату змінної TDateTime

Функція RecodeTime – змінює лише час змінної TDateTime

Функція Rect – створює об'єкт TRect (прямокутник) із зазначенням 2 точок чи 4 координат

Функція RemoveDir – видалити директорію

Функція RenameFile – перейменування файлу чи директорії

Функція Round – округлення чисел із плаваючою комою до цілого числа

Функція SeekEof – пропускає символи, доки не зустрінеться кінець файлу

Функція SeekEoln – пропускає символи, доки не зустрінеться кінець поточного рядка чи файлу

Функція SelectDirectory – виводить діалогове вікно, за допомогою якого користувач може вибрати директорію

Функція SetCurrentDir – змінює поточну директорію

Функція ShellExecute – відкриває або виводить на друк зазначений файл

Функція Sin – повертає синус числа

Функція SizeOf - повертає займаний розмір типу або змінної в байтах

Функція Slice створює частину масиву з параметром "Відкритий Масив"

Функція Sqr – повертає квадрат числа

Функція Sqrt – повертає квадратний корінь числа

Функція StringOfChar – створює рядок із одного символу, повтореного багато разів

Функція StringReplace – замінює один або кілька підрядків, знайдених у заданому рядку

Функція StringToWideChar – перетворює звичайний рядок у WideChar-буфер із завершальним 0

Функція StrScan – шукає задані символи у рядку

Функція StrToCurr – перетворює числову рядок у грошовий вираз

Функція StrToDate – конвертує рядок з датою на значення типу TDateTime

Функція StrToDateTime – конвертує рядок з датою та часом на значення типу TDateTime

Функція StrToFloat – перетворює числовий рядок на значення з плаваючою комою

Функція StrToInt – перетворює рядок з цілим значенням Integer

Функція StrToInt64 – перетворює рядок із цілим значенням у Int64

Функція StrToInt64Def – перетворює рядок з цілим значенням Int64, враховуючи значення за замовчуванням

Функція StrToIntDef – перетворює рядок на значення з типом Integer, враховуючи значення за замовчуванням

Функція StrToTime – конвертує рядок з часом на значення з типом TDateTime

Функція StuffString – замінює частину одного рядка на інший

Функція Succ – інкрементує порядкову змінну

Функція Sum – знаходить суму елементів масиву, що складається з чисел із плаваючою точкою

Функція Tan – тангенс числа

Функція Time – повертає поточний час

Функція TimeToStr – конвертує значення часу типу TDateTime у рядок

Функція Tomorrow повертає дату завтрашнього дня

Функція Trim – видаляє початкові та кінцеві прогалини у рядку

Функція TrimLeft – видаляє початкові прогалини у рядку

Функція TrimRight – видаляє кінцеві пробіли в рядку

Функція Trunc – ціла частина числа з плаваючою комою

Функція VarType – повертає поточний тип Variant змінної

Функція WideCharToString – копіює рядок WideChar, що закінчується нулем, у нормальний рядок

Функція WrapText – додає перенесення рядка до рядка, щоб імітувати перенесення слів

Функція Yesterday – повертає вчорашню дату у місцевому часовому поясі

Delphi Процедури

Процедура Abort – перериває обробку команд і виходить до останнього виняткового блоку

Процедура Append – відкриває текстовий файл для додавання записів у файл (додає в кінець файлу)

Процедура AssignFile – пов'язує дескриптор файлу з бінарним чи текстовим файлом

Процедура AssignPrn – обробляє принтер як текстовий файл (простий спосіб друку тексту)

Процедура Beep – робить звук гудка

Процедура BlockRead – читає блок записів даних із нетипізованого двійкового файлу

Процедура BlockWrite – записує блок записів даних у нетипізований двійковий файл

Процедура Break – виконує вихід з одного циклу

Процедура ChDir – вибір диска та директорії (папки), в якій проводитиметься робота

Процедура CloseFile – закриває відкритий файл

Процедура Continue – змушує перейти до наступної ітерації циклу

Процедура DateTimeToString – величезні можливості форматування дати в рядок

Процедура Dec – декремент порядкової змінної

Процедура DecodeDate – отримує значення року, місяця, дня з TDateTime змінної

Процедура DecodeDateTime – розбиває TDateTime змінну на її частини дати/часу

Процедура DecodeTime – розбиває значення TDateTime на окремі значення часу

Процедура Delete – видаляє частину символів з рядка

Процедура Dispose – очищує пам'ять на яку вказує покажчик

Процедура EndThread – закінчує потік із кодом завершення

Процедура Erase– стирає файл

Процедура Exclude – виключає значення зі змінної набору (множини)

Процедура Exit – здійснює вихід із функції або процедури

Процедура FillChar – заповнює розділ пам'яті значенням байта або символу-заповнювача

Процедура Flush – скидає буферизовані дані текстового файлу до файлу

Процедура FreeAndNil – звільнення пам'яті об'єкта та встановлення його в nil

Процедура FreeMem – звільняє пам'ять, що використовується змінною

Процедура GetDir – отримує поточний каталог (диск плюс шлях) для вказаного диска

Процедура GetLocaleFormatSettings – отримує регіональні значення для безпечних потоків функцій

Процедура Halt – закінчує програму з додатковим діалогом

Процедура Inc – збільшує порядкову змінну

Процедура Include – включає значення у множину змінних

Процедура Insert – вставляє рядок в інший рядок

Процедура MkDir – створює каталог

Процедура Move – копіює байти даних із джерела у місце призначення

Процедура New – створює нову змінну типу покажчик

Процедура ProcessPath – розділяє рядок диск/шлях/ім'я файлу на його складові.

Процедура Randomize – встановлює генератор випадкового числа на наступне значення

Процедура Read – дозволяє прочитати дані із двійкового або текстового файлу

Процедура ReadLn – дозволяє прочитати повний рядок даних із текстового файлу

Процедура Rename – перейменування файлу

Процедура ReallocMem – дозволяє змінити розмір існуючого блоку пам'яті

Процедура ReplaceDate – змінює лише частину дати TDateTime змінної

Процедура ReplaceTime – змінює лише частину часу TDateTime змінної

Процедура Reset – відкриває текстовий файл для читання, або двійковий файл для читання/запису

Процедура ReWrite – відкриває текстовий або двійковий файл для запису

Процедура RmDir – видалення каталогу

Процедура RunError - закінчує програму з діалогом помилки

Процедура Seek – переміщує покажчик у двійковому файлі на нову позицію

Процедура SetLength – змінює розмір рядка або розмір динамічного масиву

Процедура SetString – копіює символи з буфера в рядок

Процедура ShowMessage – показує просте діалогове вікно з кнопкою ОК, що містить заданий рядок

Процедура ShowMessageFmt – відображає відформатовані дані у простому діалоговому вікні з кнопкою ОК

Процедура ShowMessagePos – показує рядок у простому діалоговому вікні розміщеному у заданому місці

Процедура Str – конвертує ціле число або число з плаваючою точкою в рядок

Процедура Truncate – зменшує розмір файлу, видаляючи всі дані після поточної позиції

Процедура Val – конвертує числові рядки в ціле число, або число з плаваючою комою

Процедура Write – записує дані до бінарного або текстового файлу

Процедура WriteLn – записує закінчений рядок даних у текстовий файл

Main Menu