ття файлу потрібно вказати, де він розташований. Для цього файлова змінна повинна бути асоційована з потрібним файлом, який визначається його адресою. Адреса файлу може бути абсолютним, із зазначенням диска і каталогів ( C: Мої документи Мої малюнки FileName.ini ), або відносним, тоді він створюється в папці з .exe файлом програми. Для завдання відносного адреси достатньо вказати ім'я файлу з потрібним розширенням. Робиться це оператором AssignFile: (SaveF, C: Мої документи Мої малюнки FileName.ini ); (SaveF, FileName.ini );
Тепер файл повинен бути відкритий.
Відкриття файлу оператором Rewrite призведе відтворенню файлу заново, тобто існуючий файл буде без попередження знищений, і на його місці буде створено новий порожній файл заданого типу, готовий до запису даних. Якщо ж файлу не було, то він буде створений.
Відкриття файлу оператором Reset відкриє існуючий файл до зчитування або запису даних, і його покажчик буде встановлений на початок файлу: (SaveF); (SaveF);
Кожен з цих операторів може мати другий необов'язковий параметр, що має сенс для нетипізований файлів, і вказуючий довжину запису нетипізованого файлу в байтах: (SaveF, 1); (SaveF, 1);
Читання файлу проводиться оператором Read: (SaveF, SaveV);
Запис у файл проводиться оператором Write: (SaveF, SaveV);
При цьому читання і запис здійснюється з поточної позиції покажчика, потім покажчик встановлюється на наступний запис. Можна перевірити, чи існує потрібний файл, оператором FileExists: FileExists ( FileName.ini ) Read (SaveF, SaveV);
Примусово встановити покажчик на потрібну запис можна оператором Seek (SaveF, N), де N - номер потрібного запису, який, як і майже все в програмуванні, відраховується від нуля: (SaveF, 49);- Установка покажчика на 50-ю запис.
При послідовному читанні з файлу рано чи пізно буде досягнуто кінець файлу, і при подальшому читанні відбудеться помилка. Перевірити, чи не чи досягнутий кінець файлу, можна оператором EOF (абревіатура End Of File), який дорівнює true, якщо прочитана остання запис і покажчик знаходиться в кінці файлу: (not EOF (SaveF)) do (SaveF, SaveV);
Для текстових файлів замість Read і Write використовуються оператори Readln і Writeln, які вміють визначати кінець рядка. У коментариях наведена процедура читання текстового файлу.
Оператор Truncate (SaveF) дозволяє відсікти (стерти або, якщо хочете, видалити) всі записи файлу, починаючи від поточної позиції вказівника, і до кінця файлу.
Наприкінці роботи з файлом його необхідно закрити. Це робиться оператором CloseFile (SaveF);
Потоки в Delphi
Потоки в Delphi виконують функцію імітації псевдопараллельной роботи додатку. Як відомо, для організації багатозадачності операційна система виділяє кожному додатку, що виконується в даний момент, певні кванти часу, довжина і кількість яких визначається його пріоритетом. Тому обсяг роботи, який додаток може виконати, визначається тим, скільки таких квантів воно зможе отримати в одиницю часу. Для операційної системи кожен потік є самостійною задачею, якій виділяються кванти часу на загальних підставах. Тому додаток Delphi, яке вміє створити кілька потоків, отримає більше часу операційної системи, і відповідно зможе виконати більший обсяг роботи.
Створити додатковий потік в Delphi допоможе об'єкт TThread.
. Майстер створення додаткового потоку в Delphi створює окремий модуль, в рамках якого виконується потік .- gt; New - gt; Other ...
У результаті буде створений модуль, що містить заготовку коду, що реалізує додатковий потік Delphi.
2. Практична частина
. 1 Постановка завдання
Гра аналог телевізійного шоу Поле чудес .
програма паскаль сі мову
2.2 Специфікація програми
Програма написана за допомогою пакету програм Borland Delphi 7 і Borland C ++ Builder 6. Для установки програми достатньо скопіювати папку з програмою в потрібний вам каталог. Для запуску програми потрібно запустити файл Pole.exe (для C ++) або файл Pole.exe (для Delphi)
Тестувалася на ноутбуці Lenovo T2330: Intel (R) Pentium (R) Dual CPU P6100 @ 1.60GHz 1.60 ГГц, 1.00 ГБ ОЗУ
ОС Windows XP Professional
2.3 Блок-схема алгоритму розв'язання задачі
Оскільки склад модулів і підпрограм на обох мовах збігається, то схема ієрархії модулів та інструкція користувача збігаються і мають єдине в...