Программы, рассмотренные в этой книге, могут создаваться в среде Delphi в качестве консольных приложений. Здесь изложен порядок создания, настройки и русификации консольного приложения.
При входе в среду программирования Borland Delphi автоматически создается пустое оконное приложение с именем Project1, – нам оно не нужно. Для создания консольного приложения поступайте так:
1) Выберите пункт меню File –> New –> Other… (рис. 172).
2) В открывшемся окне выберите вкладку «New», а в ней – тип приложения «Console Application», затем нажмите кнопку OK (рис. 173).
В результате на экране появится окно с заготовкой будущей программы.
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
begin
{ TODO User Console Main : Insert code here }
end.
В первой строке указано имя проекта Project1, затем директива CONSOLE, определяющая тип приложения, а в третьей строке – список подключаемых модулей USES. Комментарий, стоящий между ключевыми словами BEGIN и END, отмечает место, где будет располагаться главная программа, этот комментарий можно удалить.
Перед сохранением пустого консольного приложения настройте опции компилятора следующим образом:
1) Выберите пункт меню Project –> Options… (рис. 174).
2) В открывшемся диалоге выберите вкладку «Compiler» и установите опции компилятора так, как показано на рис. 175. Эта настройка обеспечит совместимость с компилятором Borland Pascal. Перед нажатием кнопки OK установите флажок «Default», и тогда последующие проекты будут создаваться с этими же опциями.
3) Для сохранения приложения обратитесь к пункту меню File –> Save или File –> Save Project As… (рис. 176)
В открывшемся диалоге найдите нужную рабочую папку и укажите имя сохраняемого файла. Файлу проекта автоматически назначается расширение DPR (а не PAS, как в Borland Pascal).
Внимание! При сохранении файла проекту автоматически назначается имя этого файла (имя проекта указано после ключевого слова Program). Здесь вступают в силу ограничения на идентификаторы, действующие в Паскале. Имя файла должно начинаться с латинской буквы, состоять из латинских букв, цифр и знаков подчеркивания. Например, после сохранения проекта под именем My_Prj_1 окно с заготовкой программы станет таким.
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).
Вам следует настроить шрифт консольного окна, выполнив следующие действия.
Щелкните системное меню консольного окна и выберите пункт «Свойства» (рис. 178).
В появившемся окне выберите вкладку «Шрифт», а затем шрифт «Lucida Console» (рис. 179 слева). После нажатия кнопки ОК появится запрос, где можно подтвердить выбор шрифта для всех консольных окон (рис. 179 справа).
Результат настройки не заставит себя ждать (рис. 180).