и, що процедурний блок за структурою схожий на саму програму.
СТВОРЕННЯ блокнот на DELPHI
Наочним прикладом асинхронного вводу/виводу є блокнот, розглянемо його створення.
Насамперед ми повинні побудувати базовий інтерфейс користувача програми. Для цього додайте в вікно Designer Surface компоненти TMainMenu, TMemo, TActionList, TOpenDialog, TSaveDialog, TStatusBar (категорія Win32) і компонент TToolbar.
Малюнок 3. Створення форми
Формі дайте ім'я MainForm.
Після цього виберіть компонент TMainMenu і створіть групи меню Файл, Виправлення і Формат. Не створюйте поки що ніяких пунктів меню, оскільки для реалізації команд меню будуть використовуватися дії.
Малюнок 4. Реалізація команд
Тепер виберіть компонент ТМеmо і виконайте наступні кроки:
Привласніть властивості Align значення alClient. щоб компонент зайняв усю клієнтську область форми.
Видаліть текст Memo1 з властивості Lines.
Привласніть властивості ScrollBars значення ssVertical. щоб відобразити вертикальну лінійку прокрутки і дозволити користувачеві без праці переглядати обширні текстові файли.
Меню File
Меню Файл повинно містити команди, які дозволять користувачеві завершувати роботу програми, створювати, завантажувати і зберігати файли.
Малюнок 5.Вспливающее вікно
Поки ми не займатимемося реалізацією команд Параметри сторінки іПечать.
Щоб створити команди меню Файл, і двічі клацніть на TActionList, щоб відобразити вікно редактора Action List (Список дій).
По-перше, нам необхідно створити команду Файл - Вихід. Клацніть на кнопкеNew Action (Нова дія), щоб створити нову дію, і виконайте наступні кроки:
Привласніть властивості Caption нового дії значення Вихід.
Зведіть у властивості Hint рядок Вихід з програми.
Привласніть дії ім'я ExitAction.
І, нарешті, призначте дію неіменованого пункту меню в меню Файл.
Щоб закрити програму, досить викликати метод Close форми в обробнику події OnExecute дії:
Малюнок 6. Код програми
Завантаження документів
Тепер необхідно реалізувати команду Файл - Відкрити, щоб користувач міг відкривати існуючі файли. По-перше, необхідно оголосити приватну змінну, яка буде зберігати ім'я файлу відкритого документа.
Ця змінна необхідна в команді Файл - Зберегти, а також в деяких інших місцях, про що буде сказано трохи пізніше.
Малюнок 7. Код програми
Щоб користувач міг вибрати існуючий документ, ви повинні використовувати компонент TOpenDialog. Змініть властивість Filter, щоб діалогове вікно показувало тільки файли з простим текстом, що мають розширення .txt.
Малюнок 9.Фільтр
Буде розумним завжди додавати фільтр All File Types, оскільки користувач може мати документи з простим текстом, збережені з розширенням, відмінним від .txt.
Тепер додайте нову дію в список дій і змініть його налаштування таким чином:
У властивості Caption нового дії введіть Відкрити.
У властивості Hint введіть Відкрити існуючий документ.
Привласніть дії ім'я OpenAction.
Призначте властивості Shortcut комбінацію Ctrl + O.
Щоб завантажити текстовий документ в компонент ТМеmо. ви повинні зробити кілька речей. По-перше, ви повинні викликати метод Execute компонентаTOpenDialog, щоб користувач міг вибрати документ. Якщо користувач клацнув на кнопці ОК у діалоговому вікні, ім'я обраного файлу буде записано у властивість FileName компонента TOpenDialog, і метод Execute поверне значеніеTrue.
Коли метод Execute повертає True, ви повинні скопіювати ім'я обраного файлу в змінну FOpenedFile. а потім викликати метод LoadFromFile, щоб завантажити обраний текстовий документ у властивість Lines компонента ТМеmо. Знову-таки помістіть цей код в обробник події OnExecute дії.
Малюнок 10. Код програми
І останнє що потрібно зробити - це створити команду Відкрити в меню Файли призначити дію OpenAction властивості Action нового меню.
Збереження документів
Більшість програм містять дві різні команди, які дозволяють користувачеві зберегти д...