Коментарі та змінні в Delphi. Урок №3

Мова програмування Delphi досить проста у вивченні, але при цьому, вона досить потужна. На цій мові програмування написано дуже багато дійсно крутих програм, таких як: Open Server, Total Commander, Skype (до того, як цей додаток викупила компанія Microsoft), Light Alloy, The KMPlayer, AIMP, FastStone Image Viewer, Guitar Pro (до версії 6.0), FL Studio, Sublimetext і багато інших.

В минулих уроках, ми ознайомилися з оболонкою Delphi (інтегрованим середовищем розробки програм). А починаючи з цього уроку — ми вже почнемо вивчати саму мову програмування Delphi.

І перше з чого пропоную почати наше навчання — це коментарі в Delphi.

Що таке коментарі в програмуванні?

Коментарі — це будь-який текст, який ніяк не впливає на код програми. Коментарі ніколи не компілюються і не додаються в виконуваний файл. Вони використовуються розробниками, для того щоб пояснити ту, чи іншу ділянку коду.

У Delphi коментарі можна оформити двома способами:

  1. Використовуючи подвійний слеш. Все що знаходиться після подвійного слеша в Delphi — це коментар. Але так можна закоментувати тільки один рядок.
  2. Використовуючи фігурні дужки. Все що укладено в фігурні дужки — це теж коментар. Цим способом можна закоментувати кілька рядків.

Ось невеликий приклад:

// Це коментар
А це вже не коментар
Це не коментар // А ось це вже коментар
{Все що у фігурних
дужках – це
коментар}

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

Давайте створимо новий проект в Delphi, або відкриємо той проект, який ми створювали на минулому уроці, і докладно розглянемо кожну строчку його коду.

Якщо хто забув, то нагадаю — щоб переключатися між візуальної формою і редактором коду потрібно використовувати клавішу <F12>. Натискаємо F12 і таким чином переходимо в редактор коду.

Я розумію, що поки для вас все це «темний ліс», але в процесі створення реальних програм, все почне прояснюватися. Запам'ятати все відразу неможливо, та й не потрібно. Головне зараз зрозуміти сенс написаної програми.

unit Unit1; // Ім'я модуля

// початок оголошення інтерфейсів
interface

uses // після цього слова йде перелік підключених модулів
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type // після цього слова йде оголошення типів
  TForm1 = class(TForm) // Начало описания нового объекта TForm1

  // Тут описуються компоненти та події

  private // Після цього слова можна описувати закриті дані об'єкта
    { Private declarations } // это подсказка, которую сгенерировал сам Delphi

    {Тут можна описувати змінні та методи, доступні тільки для об'єкта TForm1}

  public // Після цього слова можна описувати відкриті дані об'єкта
    { Public declarations } // це підказка, яку згенерував сам Delphi

    {Тут можна описувати змінні та методи, доступні з будь-якого іншого модуля}
  end;

var // Оголошення глобальних змінних
  Form1: TForm1; // Це описана змінна Form1 типу об'єкта TForm1

 // початок реалізації
implementation

{$R *.dfm} // підключення .dfm файлу. Це файл із даними про візуальні об'єкти

end. // кінець модуля (слово end з крапкою)

А ось те, що я обов'язково рекомендував би запам'ятати вам прямо зараз.

Крапка з комою «;» в Delphi позначає кінець оператора.

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

Знак «;» ставиться тільки після оператора! І цей знак ніколи не ставиться після ключових слів. Якщо дивитися на наш код, то після uses, type, begin, implementation, private, public крапка з комою не ставиться.

Більшість ключових слів виділяються жирним шрифтом.

Структура коду в Delphi

На самому початку нашого коду стоїть ім'я модуля. Це ім'я таке ж, як і ім'я файлу модуля, але без розширення. Вручну міняти це ім'я не бажано. Воно формується тоді, коли ви зберігаєте свій проект (або модуль) вибравши меню File | Save As.

Після імені модуля йде розділ interface. У ньому описуються інтерфейси модуля, які ми будемо реалізовувати. Кінцем цього розділу є ключове слово implementation (реалізація).

Після implementation починається ще один розділ і закінчується він словом end з крапкою.

Весь код, який ми напишемо в розділі interface буде доступний іншим модулям, які підключать даний модуль. Таким чином, всі змінні, які ми оголосимо тут, будуть доступні і в інших модулях.

У розділі interface також можуть бути і підрозділи: uses, type, var і const.

В uses відбувається підключення глобальних модулів. Тобто, якщо нам потрібно отримати доступ до змінних, функцій, констант і процедур, які описані в якомусь іншому модулі, то його потрібно підключити до поточного модулю. І робиться це саме тут — в uses.

Наприклад, ми хочемо, щоб при натисканні на кнопку здійснювався запуск браузера, і в ньому відкривалося якесь посилання. Для цього вже є готова функція ShellExecute. І все, що нам потрібно — це вказати компілятору шлях, де описана ця функція, зрозумілим компілятору мовою. Тому в uses ми прописуємо ShellApi. Тепер для реалізації нашої задумки досить написати лише одну строку коду і все запрацює без будь-яких проблем.

ShellExecute(Handle, 'open', 'https://d-nik.pro', nil, nil, SW_SHOWNORMAL) ;

Будь-програмний код в Delphi прописується між begin і end (операторні дужки).

  • begin — це початок коду;
  • end — це кінець коду.

Наприклад, якщо ми створюємо процедуру, то спочатку пишемо її ім'я, а потім весь код цієї процедури поміщаємо між операторними дужками begin та end.

Оголошення змінних в Delphi здійснюється за допомогою ключового слова var. У нашому коді вже оголошена одна змінна — Form1. І оскільки ця змінна описана після оголошення об'єкта і його складових, то ця змінна глобальна.

Глобальна змінна — це така змінна, областю видимості якої є вся програма (якщо тільки ця змінна не перекрита). Глобальні змінні створюються при запуску програми і знищуються при виході з програми. Простими словами — це така змінна, яка доступна завжди і всюди, поки програма працює.

Щоб зрозуміти різницю між глобальною і локальною змінної, і краще розібратися як влаштована мова програмування Delphi, давайте виконаємо невелике практичне завдання.

Мова програмування Delphi. Практичне завдання.

  • Створіть новий проект в Delphi (File - New - VCL Forms Application - Delphi).
  • Помістіть на форму два компоненти TEdit і одну кнопку TButton.
  • Збережіть цей проект (Save All).
  • Перейдіть в редактор коду (F12) і оголосіть глобальну змінну YourName типу String в розділі interface. Цю змінну буде видно скрізь і завжди, при роботі програми.
  • Тепер в Об'єктному інспекторі виберіть компонент TButton (Button1) і на вкладці Events, створіть для нього обробник події OnClick.
  • Перед begin, створеної процедури, оголосіть локальну змінну Age типу String. Цю змінну буде видно тільки в даному модулі. В інших модулях програми ми не зможемо її використовувати.
  • Між begin і end створеної процедури, напишіть код:
YourName := Edit1.Text; // присвоюємо змінній YourName значення Edit1
Age := Edit2.Text; // привласнюємо змінній Age значення Edit2
  • Тепер створіть ще одну форму File - VCL Form - Delphi.
  • Помістіть на цю форму компонент TLabel.
  • Для того, щоб ми могли взаємодіяти з головною формою програми, необхідно підключити модуль Unit1. Для цього в меню File вибираємо UseUnit.
  • Створіть обробник події для цієї форми OnShow. В об'єктному інспекторі виберіть Form2 TFotm і на вкладці Events клікніть поруч з OnShow.
  • Напишіть код для створеної процедури:
Label1.Caption := YourName; // присвоюємо рядку заголовок рівний глобальній змінній YourName
  • Перейдіть на вкладку Unit1 і підключіть до нашої головної формі модуль Unit2 (File - UseUnit).
  • Додайте в процедуру TForm1.Button1Click ще один рядок коду:
Form2.Show; // відобразити форму 2
  • Збережіть і запустіть весь проект.

При натисканні на кнопку у вас повинна з'явитися друга форма і на ній повинен бути виведений той же текст, що і в Edit1.

А ось якщо ми спробуємо отримати дані змінної Age в другій формі, то у нас нічого не вийде.

Label1.Caption := Age;

Компілятор видасть помилку:

Undeclared identifier: 'Age'

Що означає «Неоголошений ідентифікатор». Тобто компілятор не розуміє, де знаходиться змінна Age і які потрібно взяти дані, щоб привласнити їх заголовку компонента Label1.

Адже Локальна змінна — це змінна, оголошена всередині блоку коду. Область видимості такої змінної починається в точці її оголошення і закінчується в кінці цього блоку.

Таким чином, змінну Age видно тільки в межах процедури TForm1.Button1Click модуля 1 (Unit1).

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