Створення консольного застосування

Створюється консольний додаток наступним чином. Спочатку потрібно з меню File вибрати команду New | Other Application, потім на вкладці New діалогового вікна NewItems вибрати тип створюваного додатка - Console Application. В результаті цих дій на екрані з'явиться вікно Projectl.dpr, в якому знаходиться шаблон головної процедури консольного застосування. В цьому вікні можна набирати інструкції програми.

Мал. 4.1. Шаблон головної процедури консольного застосування

Починається консольне застосування інструкцією program, за якою слідує ім'я програми. Спочатку воно збігається з ім'ям проекту "за замовчуванням". У момент збереження проекту воно буде автоматично замінено на ім'я, під яким програміст збереже проект.

Слід звернути увагу на те, що консольний додаток створюється в Windows, а виконується як програма DOS. В DOS використовується
кодування ASCII, а в Windows - ANSI, літери російського алфавіту в яких мають різні коди. Це призводить до того, що замість повідомлень російською мовою консольний додаток виводить "абракадабру". Тому консольні додатки повинні виводити повідомлення англійською, що не завжди зручно.

Проблему виведення повідомлень російською мовою консольними додатками можна вирішити, розробивши функцію перекодування ANSI-рядки в рядок ASCII. Якщо цю функцію назвати RUS, то інструкція виведення повідомлення російською мовою може виглядати, наприклад, так:

writeln (Rus ( 'У лукогморья дуб зелений')).

У лістингу 4.1 приведений приклад програми, яка запитує у користувача вага в фунтах, перераховує його в кілограми і виводить результат на екран. Для виведення повідомлень використовується функція RUS, яка перетворює рядок символів в кодуванні ANSI в рядок символів в кодуванні ASCII.

Лістинг 4.1. Перерахунок ваги з фунтів в кілограми (консольний додаток)

// Функція Rus перетворює ANSI-рядок в ASCII-рядок

function Rus (mes: string): string;

// В ANSI російські літери кодуються числами від 192 до 255,

// в ASCII - від 128 до 175 (А..Яа..п) і від 224 до 239 (р..я).

i: integer; // номер оброблюваного символу

for i: = 1 to length (mes) do case mes [i] of

mes [i]: = Chr (Ord (mes [i]) - 64); 'Р' .. 'я'.

Схожі статті