Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Мансуров. Основы программирования в среде Lazarus. 2010

.pdf
Скачиваний:
45
Добавлен:
27.04.2021
Размер:
6.3 Mб
Скачать

Глава 2 Введение в язык программирования Pascal

____________________________________________________________________

Рис. 2.29. Окно исполняемой программы в Windows

Рис. 2.30. Окно исполняемой программы в Linux

Введите значения переменных A и B. Это должны быть целые числа. Для завершения ввода числа нажмите Enter.

Окно вывода программы в Linux будет иметь вид, рис. 2.31:

81

2.1 Основные элементы языка

____________________________________________________________________

Рис. 2.31. Окно вывода программы в Linux

В Windows после ввода второго числа в окне что-то промелькнет и окно закроется. Как сделать так, чтобы окно не закрывалось, и мы могли увидеть ре-

зультаты выполнения программы?

Для этого можно вставить в код программы оператор readln без пара-

метров перед завершающим оператором end с точкой. Снова нажмите клави-

шу F9. На этот раз после ввода чисел окно не закроется и вы сможете увидеть результаты работы программы, рис. 2.32.

Рис. 2.32. Окно вывода программы в Windows

82

Глава 2 Введение в язык программирования Pascal

____________________________________________________________________

Чтобы закрыть окно программы нажмите Enter.

Проанализируем нашу программу. Вроде программа работает, сумма вы-

числяется правильно. И все же даже в этой простейшей программе видны су-

щественные недостатки. Недостатки с точки зрения организации взаимосвязи с пользователем или, как говорят, интерфейса связи с пользователем.

Во-первых, после запуска нашей программы появляется пустое окно. Это сразу же вызывает негативные ассоциации. Что-то случилось с компьютером?

Он завис?

Ну, мы-то с вами знаем, что нужно ввести два числа, но пользователь мо-

жет и не знать об этом! Как исправить это? А очень просто! Вставьте оператор writeln(UTF8ToConsole('Введите два целых числа'));

перед оператором ввода readln(A, B);

Окно программы будет выглядеть так, рис. 2.33, 2.34:

Рис. 2.33. Окно программы в Windows

83

2.1 Основные элементы языка

____________________________________________________________________

Рис. 2.34. Окно программы в Linux

Теперь даже ежу понятно, что нужно ввести два числа!

Во-вторых, (это касается опять же Windows) неплохо было бы дать поль-

зователю инструкцию как выйти их программы. Окно программы будет закры-

то только после нажатия клавиши Enter. Нажатие любых других клавиш к за-

крытию окна не приведет! Можно, конечно, воспользоваться кнопкой закрытия окна. Но желательно, чтобы программа сама закрывала свое собственное окно.

И опять, пользователь ведь не знает, что для выхода из программы нужно на-

жать клавишу Enter. Есть два варианта выхода из этой ситуации:

1.В конце программы, но перед readln вставить оператор

writeln(UTF8ToConsole ('Для выхода нажмите Enter'));

2.Воспользоваться функцией readkey без параметров. Окно программы бу-

дет закрываться при нажатии любой клавиши. Этот вариант предпочтительней,

только для этого необходимо использовать объявление uses Crt, чтобы включить модуль CRT о котором речь пойдет позже и в ко-

тором и есть эта функция. Но, даже в этом случае, будет правильнее, если вставить оператор (разумеется, перед readkey) writeln(UTF8ToConsole('Для выхода нажмите любую клавишу'));

84

Глава 2 Введение в язык программирования Pascal

____________________________________________________________________

Окончательный текст программы будет выглядеть следующим образом:

program summa; {$mode objfpc}{$H+} uses

Crt, FileUtil; {Подключение модуля CRT для использования функ-

ции readkey и модуля FileUtil для корректного отображения русских букв с помощью функции UTF8ToConsole}

var

result, A, B: integer; begin

writeln(UTF8ToConsole('Введите два числа')); readln(A, B);

result:=A + B;

writeln(UTF8ToConsole('1-е введенное число= '), A); writeln(UTF8ToConsole('2-е введенное число= '), B); writeln(UTF8ToConsole('Сумма двух чисел = '), result); writeln(UTF8ToConsole('Нажмите любую клавишу')); readkey;

end.

Результаты работы программы приведены на рис. 2.35, 2.36.

85

2.1 Основные элементы языка

____________________________________________________________________

Рис. 2.35. Результаты работы программы в Windows

Рис. 2.36. Результаты работы программы в Linux

Пользователи Linux обратите внимание, что если вы выполняете програм-

му в терминале, то выдается еще дополнительно сообщение "Press enter". Все же операторы

writeln(UTF8ToConsole('Нажмите любую клавишу'));

readkey;

86

Глава 2 Введение в язык программирования Pascal

____________________________________________________________________

мы оставим, так как книга рассчитана не только для "линуксоидов", но и для

"оконщиков"! А в Windows, как мы уже видели, эти операторы нужны. Ну, а

пользователям Linux оставляем право выбирать, использовать эти операторы или нет, равно как и применять функцию UTF8ToConsole().

2.1.11 Открытие существующего проекта

Открыть существующий проект из среды Lazarus можно, воспользовав-

шись кнопкой в панели инструментов, рис. 2.37.

Рис. 2.37. Кнопка открытия существующего проекта

или в меню "Файл" выбрать пункт "Открыть…" или нажать клавиши Ctrl+О.

Будет открыт стандартный диалог, рис. 2.38, 2.39.

Рис. 2.38. Стандартный диалог открытия проекта в Linux

87

2.1 Основные элементы языка

____________________________________________________________________

Рис. 2.39. Стандартный диалог открытия проекта в Windows

Если у вас Lazarus не запущен, то можно открыть существующий проект дважды щелкнув по имени файла с расширением *.lpi или *.lpr. Файл с расши-

рением lpi (Lazarus Project Information) это основной файл проекта Lazarus, со-

храняется в XML формате.

Файл с расширением lpr – исходный код основной программы. Не смотря на специфичное для Lazarus расширение на самом деле это обычный Pascal-код.

В Linux, если вместо Lazarus будет запускаться другая программа (чаще всего Konqueror или KWrite), то надо настроить файловый менеджер, чтобы он открывал Lazarus по двойному щелчку по имени файла.

Щелкните по имени файла проекта правой клавишей мыши. В открывшем-

ся контекстном меню выберите пункт "Свойства…", рис. 2.40. Далее в открыв-

шемся окне "Свойства" нажмите на кнопку с изображением гаечного ключа,

рис. 2.41. В окне "Изменить тип файла" нажмите на кнопку "Добавить…", рис.

2.42. Откроется окно "Выбор приложения…", рис. 2.43. В этом окне введите

88

Глава 2 Введение в язык программирования Pascal

____________________________________________________________________

имя приложения с путем к нему, например

/usr/lib/lazarus/lazarus

или

/usr/lib/lazarus/startlazarus

или нажмите на кнопку выбора файла и в окне "Редактор типов файла" найдите папку, где установлен Lazarus, рис. 2.44.

Рис. 2.40. Контекстное меню

Рис. 2.41. Окно свойств файла

89

2.1 Основные элементы языка

____________________________________________________________________

Рис. 2.42. Изменение типа файла

Рис. 2.43. Окно выбора приложения для открытия файла

90