Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
21-60.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
270.43 Кб
Скачать
    1. Прямий доступ до компонентів файла.

9.2.6. Прямий доступ до компонентів бінарних файлів

Компоненти бінарного файла мають однаковий розмір. Цим зумовлені певні переваги бінарного файла над текстовим. По-перше, стає можливим прямий доступ до компонентів файла за їхніми номерами. Під прямим доступом розуміється можливість встановлювати файловий покажчик на заданий компонент без послідовного перебирання попередніх компонентів. По-друге, відкриття бінарного файла процедурою Reset робить можливим як читання, так і запис довільних компонентів файла без руйнації його вмісту. Це пояснюється тим, що модифікація кількох компонентів усередині бінарного файла не призведе до зміни їх розміру, а отже, не потребуватиме зсуву інших компонентів. Нагадаємо, що процедура Rewrite також відкриває бінарний файл у режимі читання і запису, але при цьому вона знищує його вміст (якщо файл уже існував).

Прямий доступ до компонентів бінарного файла в мові Pascal здійснюється за допомогою процедур та функцій, наведених у табл. 9.1.

Таблиця 9.1. Процедури та функції прямого доступу до компонентів бінарних файлів

Ім'я функції або процедури

Призначення

Seek(var f; n: Longint);, процедура

Переміщує файловий покажчик на компонент з номером n. Файл f має бути відкритий

Truncate(var f);, процедура

Видаляє всі компоненти файла f від поточного компонента до кінця файла

FilePos(var f): Longint;, функція

Повертає номер запису, на який посилається файловий покажчик

FileSize(var f): Longint;, функція

Повертає кількість компонентів файла f

9.2.7. Прямий доступ до компонентів бінарних файлів

Крім процедур і функцій, розглянутих раніше, у мові Pascal визначено процедури, за допомогою яких можна видалити файл або перейменувати його, тобто виконати операції, властиві операційній системі. Для видалення файла використовують процедуру Erase, а для перейменування — процедуру Rename. Синтаксис зазначених процедур є таким:

Еrаsе(<файлова змінна>); Rеnаmе(<файлова змінна>,<нове ім'я>);

Тут <нове ім' я> — рядок, який має задовольняти вимоги операційної системи щодо специфікації імен файлів. Під час виклику процедур Erase та Rename файл має бути закритим.

Процедури та функції, призначені для пошуку файлів на диску, керування атрибутами файла тощо, означені у бібліотечних модулях dos та windos.

29)Поняття про процедуру з параметрами та без параметрів. Локальні та глобальні змінні.

Поняття про процедуру з параметрами та без параметрів

Процедури з параметрами (методика розробки)

· процедура складається із заголовка і блока. Блок будується стандартно і не відрізняється від блока програми за винятком того, що наприкінці процедури ставиться крапка з комою.

· Ім'я вибирають довільно. Параметри, які містяться у списку параметрів, носять назву формальних - тобто вони не приймають ніяких значень, а тільки позначають місця, на які далі будуть поставлені так звані фактичні параметри. Параметри позначають початкові дані (аргументи) і результати виконання процедури.

· Список параметрів складається із окремих секцій, які відокремлюють крапкою з комою ( ; ). В секції вказується перелік (список) параметрів і через двокрапку їх тип.

Наприклад:

Procedure R( x, y : real; k : integer; var s : real);

Тут параметри x і y вказують першу секцію, k - другу, s - третю. В даному прикладі x, y, k - параметри-значення; s - оператор-змінна, перед яким повинно стояти службове слово var. Параметри-значення - аргументи функції, а параметри-змінні - результати виконання процедури.

Методика використання процедури у зовнішньому блоці

Для використання процедур існує так званий оператор процедури:

<ім'я процедури> (список фактичних параметрів)

Ім'я повинно співпадати з іменем записаної процедури. Параметри у дужках носять назву фактичних. Вони відповідають реальним змінним, над якими виконують операції. Фактичні і формальні параметри повинні відповідати одне одному за містом їх розміщення і типом. Список фактичних параметрів не містить типів даних, бо вони вже вказані у списку формальних параметрів.

Program PR;

procedure P(x, y : real; var z : real );

end;

begin

P(a, b, c);{виклик процедури}

end

Процедури без параметрів

В таких процедурах замість формальних параметрів використовують глобальні змінні. Використання процедур без параметрів потребує уваги і коректності при складанні програм, точного дотримання правил локалізації змінних.

Локальні та глобальні змінні.

Види змінних Прикладна програма мовою MQL4 може містити десятки і сотні змінних. Дуже важливою властивістю будь-якої змінної є можливість використовувати в програмі її значення. Обмеження такої можливості безпосередньо пов'язано з областю видимості змінних. Область видимості змінної - місце в програмі, в якому доступно значення змінної. Кожна змінна має свою область видимості. По області видимості в мові MQL4 розрізняють два види змінних: локальні та глобальні. Локальні та глобальні змінні Локальна змінна - змінна, оголошена всередині якої функції. Областю видимості локальних змінних є тіло функції, в якій ця змінна оголошена. Локальна змінна може бути проініціалізувати константою або виразом, відповідними її типом. Глобальна змінна - змінна, оголошена за межами всіх функцій. Областю видимості глобальних змінних є вся програма. Глобальна змінна не локалізована ні на якому рівні. Глобальна змінна може бути проініціалізувати тільки відповідної її типу константою (але не виразом). Ініціалізація глобальних змінних проводиться одноразово перед початком виконання спеціальних функцій. Якщо управління в програмі знаходиться всередині якої-небудь функції, то значення локальних змінних, оголошених в іншій функції не доступні. Значення будь-якої глобальної змінної доступно з будь-якої спеціальної та користувача функції.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]