program My_Prj_1;

{$APPTYPE CONSOLE}

uses SysUtils;

begin

{ TODO User Console Main : Insert code here }

end.

С этого момента приступайте к вводу своей программы. Компиляция и запуск консольного приложения выполняются клавишей F9.

Русификация консольного приложения

Консольные приложения Delphi работают почти так же, как созданные в Borland (Free) Pascal. Но есть проблема с выводом русского текста на экран (именно на экран, а не в тестовый файл!). Запустив следующую программу, вместо русского приветствия вы увидите «абракадабру».

program My_Prj_1;

{$APPTYPE CONSOLE}

uses SysUtils;

begin

      Writeln('Hello, World!');

      Writeln('Привет, Мартышка!');

      Readln;

end.

Причина – в несоответствии кодировок консольного окна и текстового файла.

Проблема решается вставкой в начале программы вызовов двух системных процедур, вот они:

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

Процедуры спрятаны в модуле Windows, поэтому вам придется добавить его в список Uses. Пример такой программы представлен ниже.

program Rus;

{$APPTYPE CONSOLE}

uses SysUtils, Windows;

begin

{

Следующие вызовы процедур переключают консоль на кодовую страницу CP1251 (Win-1251). Если все же русские буквы показываются неверно, откройте системное меню консоли (в левом верхнем углу окна) и выберите: Свойства -> закладка "Шрифт" -> Lucida Console.

}

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

Writeln('Привет, Мартышка! (Lucida Console CP1251)');

Readln;

end.

Впрочем, при первом запуске и это не приведет к успеху (рис. 177).

Песни о Паскале _248.jpg

Рис.177 – Вид консольного окна при первом запуске программы

Вам следует настроить шрифт консольного окна, выполнив следующие действия.

Щелкните системное меню консольного окна и выберите пункт «Свойства» (рис. 178).

Песни о Паскале _249.jpg

Рис.178 – Выбор пункта меню «Свойства»

В появившемся окне выберите вкладку «Шрифт», а затем шрифт «Lucida Console» (рис. 179 слева). После нажатия кнопки ОК появится запрос, где можно подтвердить выбор шрифта для всех консольных окон (рис. 179 справа).

Песни о Паскале _250.jpg

Рис.179 – Вкладка «Шрифт» (слева) и окно подтверждения (справа)

Результат настройки не заставит себя ждать (рис. 180).

Песни о Паскале _251.jpg

Рис.180 – Русский текст в консольном окне

Приложение В

Особенности IDE Pascal ABCNet

Интегрированная среда разработки Pascal ABCNet пригодна для решения многих задач из этой книги. Я рекомендую её новичкам, делающим первые шаги в изучении Паскаля. Эта IDE проста в установке, не требует настройки, и отличается удобным русскоязычным оконным интерфейсом. IDE Pascal ABCNet создана в стенах Южного федерального университета, её можно бесплатно скачать с сайта http://pascalabc.net.

Ознакомимся с некоторыми особенностями этой IDE.

При первом вызове IDE появляется пустое окно, в которое можно ввести текст программы и сохранить под нужным именем (рис. 181). Если открыть несколько файлов с программами, каждый из них будет помещен в отдельной вкладке.

Песни о Паскале _252.jpg

Рис. 181 – Окно IDE Pascal ABCNet

Готовая программа запускается клавишей F9 или соответствующей кнопкой на панели инструментов.

Результаты, формируемые программой, выводятся в область консоли в нижней части окна (рис. 182). Здесь же расположено поле для ввода данных пользователем. Для завершения ввода нажимается клавиша Enter или кнопка «Ввести». Кнопкой «Завершить» выполнение программы прекращается досрочно, то же самое случится при нажатии комбинации Ctrl+F2.

Песни о Паскале _253.jpg

Рис.182 – Протокол работы запущенной программы

Запуск программы в пошаговом режиме выполняется кнопками на панели инструментов, либо через меню. В пошаговом режиме доступен просмотр локальных переменных (рис. 183), а также другой информации о программе (на соседних вкладках).

Разработчики IDE Pascal ABCNet стремились, очевидно, к совместимости её со «стандартной» IDE Borland Pascal в той мере, насколько это возможно. Но объектная технология «точка Net» диктует своё, – полной совместимости не получилось.

Песни о Паскале _254.jpg

Рис.183 – Просмотр переменных в пошаговом режиме

Так, например, в данной IDE не существует встроенной функции Assigned. Но вы можете написать её сами.

function Assigned (p: pointer): boolean;

begin

      Assigned:= p <> nil

end;

Ниже перечислены другие особенности Pascal ABCNet, которые следует учесть при переделке примеров данной книги.

• Отсутствует процедура FillChar. Записи и массивы нужно заполнять явным образом.

• Нельзя назначать файловым переменным пустое имя, связывая их, таким образом, с экраном и клавиатурой.

• Под символ отводится не один, а два байта (используется UNICODE).

• Строки являются объектами, поэтому доступ к нулевому элементу (байту длины) невозможен.

Приложение Г

Зарезервированные слова

Ключевые слова, которые нельзя применять по иному назначению.

Ключевое слово

Назначение

AND

Операция логического умножения «И»

ARRAY

Объявление массива

ASM

Начало блока инструкций на ассемблере

BEGIN

Начало блока операторов

CASE

Начало оператора множественного выбора

CONST

Начало секции объявления констант

CONSTRUCTOR

Объявление конструктора объекта

DESTRUCTOR

Объявление деструктора объекта

DIV

Операция целочисленного деления

DO

Элемент операторов FOR, WITH, WHILE

DOWNTO

Элемент оператора цикла FOR-DOWNTO-DO

ELSE

Элемент условных операторов IF, CASE

END

Завершение блоков BEGIN-END, CASE-END, ASM-END, RECORD-END

EXPORTS

Объявление списка экспорта для DLL

FALSE

Логическое значение «ЛОЖЬ»

FILE

Тип файловой переменной

FOR

Элемент оператора цикла FOR-TO-DO

FUNCTION

Объявление функции

GOTO

Безусловный переход на метку