Turbo Pascal и издательское дело



     машина на свадьбу в липецке. | пррно онлайн |    заказ тура | марокко отзывы туристов      Сын переспал со зрелой мамой erozero.info    Watch video how to save on deluxe business checks

Turbo Pascal для начинающих

Учебник состоит из трех частей и приложения.
В первой части собраны задачи. Они сгруппированы по темам и относятся практически ко всем разделам программирования: от объявления переменных и программ с линейной структурой до работы с графикой и файлами.
Во второй части приведены решения, представленные в виде хорошо документированных текстов программ, изучение которых поможет начинающему программисту даже в том случае, если задача решена им самостоятельно.
Третья часть представляет собой справочник по языку программирования Turbo Pascal, содержащий описание большинства процедур и функций.
Если вы имеете компьютер с процессором типа Pentium (Celeron), то используйте Turbo Pascal версии 7.1. Программы, созданные при помощи Turbo Pascal 7.0 и использующие библиотеку ctr, на компьютерах с процессором типа Pentium (Celeron) не работают, при их запуске возникает ошибка "деление на ноль".
Еще раз хочется повторить, что научиться программировать можно только программируя, т. е. решая конкретные задачи.

Предисловие
Чтобы научиться программировать, не достаточно прочитать книгу, посвященную языку программирования, надо писать программы, решать конкретные задачи. Но где их можно найти? В учебниках, как правило, приводятся типовые, стандартные задачи, в основе которых лежит расчет по формулам. Такие задачи, несомненно, полезны, но они не всегда интересны.

Задачи
Приступая к решению задач этого раздела, следует помнить, что:
* каждая переменная программы должна быть объявлена;
* объявления переменных помещают в раздел, который начинается словом var;
* инструкция объявления переменной выглядит так:
ИмяПеременной:Тип;
* в имени переменной можно использовать буквы латинского алфавита и цифры (первым символом должна быть буква);
* основными числовыми типами языка Turbo Pascal являются:
integer (целый), real (дробный);
* после инструкции объявления переменной рекомендуется указывать назначение переменной.

Объявление переменных
Инструкция присваивания
Вывод
Ввод
Программы с линейной структурой
If
Case
For
Repeat
While

Справочник
Структура программы в общем виде выглядит следующим образом:
label
{ объявления меток }
const
{ объявления констант )
type
{ объявления типов }
var
{ объявления переменных }
{ объявления процедур и функций программиста }
begin
{ инструкции основной программы} end.

Структура программы
Основные типы данных
Целые числа
Действительные числа
Строки
Массивы
Записи
Инструкция IF
Инструкция CASE
Инструкция FOR

Приложение
В языке Turbo Pascal нет стандартной процедуры, которая обеспечивала бы вывод на экран картинки, находящейся в файле. Программист сам может разработать такую процедуру. Однако эта задача является довольно сложной. Поэтому ниже приведен текст разработанной автором функции Draw, которая выводит на экран 16-цветную картинку, созданную в среде Windows, например, при помощи графического редактора Paint.

Вывод иллюстраций
Таблица кодировки символов
Десятичные, двоичные числа
Память компьютера

Самоучитель по Tirbo Pascal

Система Турбо Паскаль довольна значительна по объему. Она поставляется на нескольких дистрибутивных дискетах и устанавливается на жесткий диск. При развертывании системы на жестком диске обычно создается каталог с именем ТР (или PAS, TURBOPAS, PASCAL и т.п.), в который помещаются все файлы с дистрибутивных дискет. Для вызова Турбо Паскаля необходимо отыскать в древовидной структуре каталогов ПК этот каталог и в нем файл TURBO.EXE. Этот файл содержит готовую к работе диалоговую систему программирования Турбо Паскаль. В него входят минимально необходимые части Турбо Паскаля (текстовый редактор, компилятор, компоновщик, загрузчик). Для нормальной работы в диалоговой среде понадобятся также основная библиотека, располагающаяся в файле TURBO. TPL, и справочная служба (файл TURBO.HLP). В принципе, этих файлов достаточно для написания, компиляции и исполнения большинства примеров, содержащихся в этой книге.

Как начать работу с Турбо Паскалем
Среда Турбо Паскаля - это первое, с чем сталкивается любой программист, приступающий к практической работе с системой. Если Вы по каким-либо причинам не собираетесь писать собственные программы, можно пропустить эту главу, в которой приводятся минимальные сведения об основных приемах работы в среде Турбо Паскаля.

Как начать работу с Турбо Паскалем
Как начать работу с Турбо Паскалем - 2
Функциональные клавиши
Текстовый редактор
Текстовый редактор - 2
Текстовый редактор - 3
Основные приемы - Работа с файлами
Прогон и отладка программы

Ваша первая программа
В этой главе описывается ядро Турбо Паскаля - минимальный набор средств, достаточный для написания сравнительно простых программ. В частности, рассматриваются все операторы языка, наиболее популярные типы данных и операции над ними. Вы познакомитесь с приемами разработки процедур и функций, позволяющими создавать структурированные программы.

Ваша первая программа
Ваша первая программа - 2
Ваша первая программа - 3
Ваша первая программа - 4
Ваша первая программа - 5
Типы данных
Типы данных - 2
Типы данных - 3
Типы данных - 4
Преобразованя типов и действия над ними

Иденитификаторы
Особое место в алфавите языка занимают пробелы, к которым относятся любые символы ASCII в диапазоне кодов от 0 до 32. Эти символы рассматриваются как ограничители идентификаторов, констант, чисел, зарезервированных слов. Несколько следующих друг за другом пробелов считаются одним пробелом (последнее не относится к строковым константам).

Иденитификаторы
Константы
Константы - 2
Выражения
Операции
Операции - 2

Типы данных
Любые данные, т.е. константы, переменные, значения функций или выражения, в Турбо Паскале характеризуются своими типами. Тип определяет множество допустимых значений, которые может иметь тот или иной объект, а также множество допустимых операций, которые применимы к нему. Кроме того, тип определяет также и формат внутреннего представления данных в памяти ПК.

Простые типы
Порядковые типы
Порядковые типы - 2
Порядковые типы - 3
Порядковые типы - 4
Порядковые типы - 5
Вещественные типы
Вещественные типы - 2
Сьруктурированные типы
Массивы

Файлы
Любой файл имеет три характерные особенности. Во-первых, у него есть имя, что лает возможность программе работать одновременно с несколькими файлами. Во-вторых, он содержит компоненты одного типа. Типом компонентов может быть любой тип Турбо Паскаля, кроме файлов. Иными словами, нельзя создать «файл файлов». В-третьих, длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти.

Доступ к файлам
Имена файлов
Логические устройства
Логические устройства - 2
Инициализация файла
Процедуры и функции для работы с файлами
Процедуры и функции для работы с файлами - 2
Процедуры и функции для работы с файлами - 3
Процедуры и функции для работы с файлами - 4
Процедуры и функции для работы с файлами - 5

Указатели и динамическая память
Все переменные, объявленные в программе, размещаются в одной непрерывной области оперативной памяти, которая называется сегментом данных. Длина сегмента данных определяется архитектурой микропроцессоров 80x86 и составляет 65536 байт, что может вызвать известные затруднения при обработке больших массивов данных. С другой стороны, объем памяти ПК (обычно не менее 640 Кбайт) достаточен для успешного решения задач с большой размерностью данных.

Динамическая память
Адреса и указатели
Оъбявление указателей
Выделение и освобождение памяти
Выделение и освобождение памяти - 2
Выделение и освобождение памяти - 3
Выделение и освобождение памяти - 4
Использование указателей
Использование указателей - 2
Использование указателей - 3

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

Типизированные константы
Константы простых типов и типа String
Константы - массивы
Константы - записи
Константы - множества
Константы - указатели

Процедуры и функции
Отличие функции от процедуры заключается в том, что результатом исполнения операторов, образующих тело функции, всегда является некоторое единственное значение или указатель, поэтому обращение к функции можно использовать в соответствующих выражениях наряду с переменными и константами. Условимся далее называть процедуру или функцию общим именем «подпрограмма», если только для излагаемого материала указанное отличие не имеет значения.

Локализация имен
Локализация имен - 2
Локализация имен - 3
Описание программы
Заголовок
Параметры
Параметры - 2
Параметры - 3
Параметры - 4
Параметры - массивы и параметры - строки

Модули
Стандартный Паскаль не предусматривает механизмов раздельной компиляции частей программы с последующей их сборкой перед выполнением. Более того, последовательное проведение в жизнь принципа обязательного описания любого объекта перед его использованием делает фактически невозможным разработку разнообразных библиотек прикладных программ. Точнее, такие библиотеки в рамках стандартного Паскаля могут существовать только в виде исходных текстов и программист должен сам включать в программу подчас весьма обширные тексты различных поддерживающих процедур, таких, как процедуры матричной алгебры, численного интегрирования, математической статистики и т.п.

Структура модулей
Заголовок модуля и связь модулей друг с другом
Интерфейсная часть
Исполняема часть
Инициирующая часть
Компиляция модулей
Компиляция модулей - 2
Доступ к объявленным в модуле объектам

Объекты
Исторически первой была идея процедурного структурирования программ, в соответствии с которой программист должен был решить, какие именно процедуры он будет использовать в своей программе, а затем выбрать наилучшие алгоритмы для реализации этих процедур. Появление этой идеи было следствием недостаточной изученности алгоритмической стороны вычислительных процессов, столь характерной для ранних программных разработок (сороковые - пятидесятые годы). Типичным примером процедурно-ориентированного языка является Фортран - первый и все еще один из наиболее популярных языков программирования.

Объекты
Объекты - 2
Основные принципы ООП
Постановка учебной задачи
Создание объектов
Создание объектов - 2
Создание объектов - 3
Создание объектов - 4
Создание объектов - 5
Создание объектов - 6

Другие возможности Турбо Паскаля
Машинно-ориентированный язык ассемблера предоставляет квалифицированному программисту богатейшие возможности использования всех особенностей архитектуры ПК. Ассемблерные программы выполняются значительно быстрее и занимают меньший объем памяти, чем программы, написанные на Турбо Паскале, однако низкий уровень языка ассемблера существенно снижает производительность труда программиста и резко усложняет отладку программ.

Внешние процедуры (функции)
Внешние процедуры (функции) - 2
Использование встроенных машин кодов
Использование встроенных машин кодов - 2
Обращения к функциям операционной системы
Обращения к функциям операционной системы - 2
Поддержка процедур обработки прерываний
Поддержка процедур обработки прерываний - 2
Запуск внешних программ
Запуск внешних программ - 2

Встроенный ассемблер
Ассемблером называется машинно-зависимый компилятор, преобразующий специальным образом составленные текстовые строки в машинные инструкции. Как и любой другой компилятор, ассемблер упрощает разработку программ за счет того, что предоставляет пользователю доступ к кодам машинных инструкций и операндам с помощью символьных имен.

Регистры
Регистры - 2
Регистры - 3
Адресация
Адресация - 2
Система команд
Система команд - 2
Система команд - 3
Система команд - 4
Система команд - 5

Использование библиотеки CRT
Во многих случаях стандартные для Паскаля возможности ввода/вывода данных с помощью процедур Read, ReadLn, Write, WriteLn оказываются явно недостаточными для разработки удобных в использовании диалоговых программ. Например, процедуры Read/ReadLn вводят с клавиатуры только типизированные данные, причем с обязательным эхо-повтором набираемых символов на экране. С их помощью нельзя определить факт нажатия какой-либо специальной клавиши (функциональной клавиши, клавиши управления курсором и т.п.).

Использование библиотеки CRT
Программирование клавиатуры
Программирование клавиатуры - 2
Текстовый вывод на экран
Текстовый вывод на экран - 2
Текстовый вывод на экран - 3
Текстовый вывод на экран - 4
Текстовый вывод на экран - 5
Текстовый вывод на экран - 6
Текстовый вывод на экран - 7

Использование библиотеки Graph
Начиная с версии 4.0, в состав Турбо Паскаля включена мощная библиотека графических подпрограмм Graph, остающаяся практически неизменной во всех последующих версиях. Библиотека содержит в общей сложности более 50 процедур и функций, предоставляющих программисту самые разнообразные возможности управления графическим экраном. Для облегчения знакомства с библиотекой все входящие в нее процедуры и функции сгруппированы по функциональному принципу

Включение драйвера и шрифтов в программу
Включение драйвера и шрифтов в программу - 2
Процедуры и функции
Процедуры и функции - 2
Процедуры и функции - 3
Процедуры и функции - 4
Процедуры и функции - 5
Координаты, окна, страницы
Координаты, окна, страницы - 2
Координаты, окна, страницы - 3

Введение в Turbo Vision
Мы попробуем разработать программу, которая использует некоторые возможности Turbo Vision. Пусть, например, нам необходимо создать простейшую информационную систему - нечто вроде электронной записной книжки. Предполагается, что данные, используемые этой системой, будут храниться в виде записей в дисковом файле. Наша задача - разработать удобную диалоговую программу, облегчающую доступ к файловым данным

Простейшая программа в Turbo Vision
Простейшая программа в Turbo Vision - 2
Цветовая палитра
Цветовая палитра - 2
Цветовая палитра - 3
Использование коллекций
Использование коллекций - 2
Использование коллекций - 3
Указатель на элемент списка
Указатель на элемент списка - 2

Общая характеристика объектов
Все свойства Turbo Vision заключены в полях и методах входящих в библиотеку объектов. Каждый объект предназначен для тех или иных целей, поэтому, если Вы хотите использовать какие-то возможности Turbo Vision, Вы должны создать и использовать экземпляры объектов с нужными Вам свойствами. Этот процесс не представляет никакой сложности: вспомните обычные переменные или константы Турбо Паскаля; если, например, в программе понадобится осуществить преобразование строковых данных, Вы объявляете переменную типа String, для реализации математических вычислений - переменную типа Real и т.д.

Структура объектов
Контроллеры
Абстрактные объекты и методы
Функциональность объектов
Обзор видимых элементов
Группы видимых элементов
Группы видимых элементов - 2
Терминальные видимые объекты
Терминальные видимые объекты - 2
Терминальные видимые объекты - 3

Видимые элементы
Любой видимый элемент Turbo Vision имеет два важнейших свойства: он полностью контролирует изображение в пределах выделенного ему участка экрана и знает, как обрабатывать связанные с этим участком события - нажатие на клавиши или отметку мышью. Эти свойства определяются двумя псевдоабстрактными методами объекта TView (этот объект является родителем всех остальных видимых элементов Turbo Vision): Draw и HandleEvent. Метод Draw знает, как рисовать объект, но не знает, когда это нужно делать. Метод HandleEvent, наоборот, знает когда, но не знает как.

Территориальность
Территориальность - 2
Поле Options
Поле Options - 2
Поле GrowMode
Поле DragMode
Поле State
Воздействие на состояние поля State
Заполнение области
Цвет изображения

События
Как уже неоднократно подчеркивалось, программы, работающие в среде Turbo Vision,- это программы, управляемые событиями. В этой главе подробно рассматривается механизм событий и способы их использования.

Природа событий
Природа событий
События, определенные пользователем
Маскирование и очистка событий
Перекрытие HandleEvent
Перекрытие GetEvent
Неиспользованное время
Ненужные события
Взаимодействие видимых элементов
Взаимодействие видимых элементов - 2

Коллекции
Одним из недостатков языка Паскаль (и Турбо Паскаль) является невозможность создания и использования в программе массивов с переменной размерностью - так называемых динамических массивов. Этот недостаток особенно ощутимо сказывается в диалоговых программах, работа которых в существенной своей части определяется действиями пользователя. Если программист заранее не знает, какие именно требования к используемым в программе массивам предъявит пользователь, он обычно резервирует для них максимально возможные объемы памяти или размещает массивы в куче.

Элементы коллекций
Создание коллекций
Создание коллекций - 2
Доступ к элементам коллекций
Доступ к элементам коллекций - 2
Доступ к элементам коллекций - 3
Доступ к элементам коллекций - 4
Отсортированные коллекции
Отсортированные коллекции - 2
Отсортированные коллекции - 3

Потоки
Основным способом хранения данных в Turbo Vision является их размещение в полях объектов. Это, разумеется, не означает, что Ваша программа должна использовать исключительно поля объектов и/или методы доступа к ним - программа в среде Turbo Vision - это прежде всего программа на Турбо Паскале, а следовательно, Вы можете использовать в ней и все другие средства этой системы программирования.

Сущность потоков
Сущность потоков - 2
Регистрация объектов
Регистрация объектов - 2
Создание и удаление потока
Создание и удаление потока - 2
Работа с потоком
Методы Put и Get
Методы Store и Load
Обработка ошибок

Ресурсы Turbo Vision
Ресурсы - это индексированные потоки. Главное отличие ресурсов от потоков заключается в том, что к объектам, хранящимся в ресурсе, можно обращаться по ключам - уникальным строкам, идентифицирующим объекты. Таким образом, ресурсы спроектированы специально для облегчения произвольного доступа к потокам.

Ресурсы Turbo Vision
Создание ресурса
Использование ресурса
Строковые ресурсы

Объекты - контролеры
При разработке диалоговых программ часто бывает необходимо не только предоставить пользователю возможность ввода данных, но и проверить их допустимость в данном контексте программы. Если, например, пользователь должен вводить целочисленные величины, то в набранной им строке могут содержаться только цифры, а если от него ожидается ввод имени файла, строка должна представлять собой правильный маршрут поиска дискового файла.

Объекты - контролеры
Типы объектов-контролеров
TPXPictureValidator
TFilterValidator
TRangeValidator
TLookupValidator
TStringLookupValidator
Контроль текстового ввода
Проверка других объектов
Реализация нестандартного контроля

Практика использования
Программирование с использованием библиотеки Turbo Vision весьма специфично по сравнению с обычным программированием в среде Турбо Паскаля. Эта специфика прежде всего связана с широко используемым в Turbo Vision механизмом ООП: как правило, нельзя чисто механически перенести старую программу в новую объектно-ориентированную среду, обычно для этого требуется переосмысление всего проекта в целом.

Контроль за динамической памятью
Контроль за динамической памятью - 2
Строка статуса
Меню
Диалоговое окно
Диалоговое окно - 2
Диалоговое окно - 3
Диалоговое окно - 4
Окно с текстом
Окно с текстом - 2

Среда Турбо Паскаля
Окно в Турбо Паскале предназначено для обмена информацией между программистом и средой. В окно редактора программист помещает текст программы, в окне программы среда показывает результат ее прогона, в справочном окне появляются справочные сообщения, в отладочном окне программист может наблюдать за изменением переменных в процессе отладки программы. Одновременно на экране может присутствовать сразу несколько окон, однако только одно из них активно в каждый момент. Активное окно очерчивается двойной рамкой, неактивные - одинарной.

Среда Турбо Паскаля
Элементы диалоговой среды
Работа с окнами
Работа с окнами - 2
Меню опции OPTIONS
Меню опции OPTIONS - 2
Меню опции OPTIONS - 3
Меню опции OPTIONS - 4
Меню опции OPTIONS - 5
Меню опции OPTIONS - 6

Варианты кодировки знакогенераторов ПК
Стандартный знакогенератор ПК IBM PC имеет кодировку символов, изображенную на 2.1. Символы с кодами от 0 до 127, образующие первую половину символов знакогенератора (П2.1, а), построены по стандарту ASCII и одинаковы на всех IBM-совместимых ПК. Вторая половина символов (коды 128...255) могут отличаться на ПК разного типа.

Сообщения и коды ошибок
Среда Турбо Паскаля дает исчерпывающую информацию о характере и месте обнаруженной компилятором ошибки. При обнаружении ошибки среда автоматически загружает в окно редактора исходный файл и помещает курсор около того места, где в исходном тексте обнаружена ошибка. При этом в верхней строке редактора появляется диагностическое сообщение. После нажатия на любую клавишу (кроме FI) верхняя строка восстанавливает свой первоначальный вид и среда переходит к режиму редактирования.

Сообщения и коды ошибок
Сообщения об ошибках периода компиляции
Сообщения об ошибках периода компиляции - 2
Сообщения об ошибках периода компиляции - 3
Сообщения об ошибках периода компиляции - 4
Сообщения об ошибках периода компиляции - 5
Сообщения об ошибках периода компиляции - 6
Сообщения об ошибках периода компиляции - 7
Сообщения об ошибках периода компиляции - 8
Сообщения об ошибках периода компиляции - 9

Стандартные библиотечные модули
Модуль SYSTEM является основной библиотекой Турбо Паскаля. Он реализует подпрограммы для всех встроенных возможностей, таких как ввод/вывод, обработка строк, эмуляция арифметического сопроцессора, управление оверлеями и динамическое распределение памяти. Модуль SYSTEM используется автоматически любым модулем или программой и никогда не указывается в предложении USES.

Модуль SYSTEM
Константы
Переменные
Стандартные процедуры и функции
Стандартные процедуры и функции - 2
Стандартные процедуры и функции - 3
Стандартные процедуры и функции - 4
Стандартные процедуры и функции - 5
Переменные
Процедуры

Тексты программ
Программа для определения физической, эмоциональной и интеллектуальной активности человека. Вводится дата рождения и текущая дата. Программа вычисляет и выводит на экран общее количество дней, часов, минут и секунд, разделяющих обе даты, а также прогнозирует на месяц вперед даты, соответствующие максимуму и минимуму биоритмов

Программа определения дня недели
Определение биоритмов
Определение биоритмов - 2
Определение биоритмов - 3
Определение биоритмов - 4
Игра Ним
Игра Ним - 2
Игра Ним - 3
Игра Ним - 4
Программа Notebook

Руководство по языку B.Pascal 7

Данное руководство посвящено используемому в Borland Pascal with Objects языку Паскаль. Оно
* Дает формальное определение языка Borland Pascal.
* Поясняет, как использовать и писать динамически компонуемые библиотеки.
* Знакомит вас с библиотекой исполняющей системы.
* Поясняет, как писать программы для защищенного режима DOS.
* Освещает такие вопросы Borland Pascal, как использование памяти, форматы данных, соглашения по вызову, ввод и вывод и автоматическая оптимизация.
* Описывает, как использовать Borland Pascal с языком ассемблера.

Что такое программа Borland Pascal?
В своей простейшей форме программа Borland Pascal состоит из заголовка программы, который именует программу, и основного прог- раммного блока, выполняющего назначение программы. В основном программном блоке находится секция кода, заключенная между ключе- выми словами begin и end. Приведем простейшую программу, иллюст- рирующую эти принципы: program Privet; begin Writeln('Добро пожаловать в Borland Pascal'); end.

Программа Borland Pascal
Процедуры и функции
Процедуры и функции - 2
Операторы
Выражения
Лексемы
Типы, переменные, константы
Компоновка частей
Модули
Синтаксические диаграммы

Параметры процедурного типа
Параметры процедурного типа особенно полезны в том случае, когда над множеством процедур или функций нужно выполнить ка- кие-то общие действия. В данном случае процедуры PrintTable представляет собой общее действие, выполняемое над функциями Add, Multiply и Funny.

Синтаксис программ
Заголовок программы
Оператор uses
Синтаксис модулей
Заголовок модуля
Интерфейсная секция
Секция реализации
Секция инициализации
Косвенные ссылки на модули
Перекрестные ссылки на модули

Функции модуля Strings
Borland Pascal не имеет встроенных подпрограмм, предназначенных специально для работы со строками с завершающим нулем. Эти функции вы можете найти в модуле Strings. Среди них вы найдете функцию StrPCopy, которую можно использовать для копирования строки Паскаля в строку с завершающим нулем, и StrPos, используемую для преобразования строки с завершающим нулем в строку Паскаля

Использование строк с завершающим нулем
Символьные указатели и строковые литералы
Символьные указатели и символьные массивы
Индексирование символьного указателя
Операции с символьными указателями
Строки с завершающим нулем и процедуры
Пример использования функций с нулем
Использование графического интерфейса Borland
Драйверы
Поддержка устройства IBM 8514

Процедуры и функции ассемблера
До сих пор мы рассматривали конструкцию asm...end, как опе- ратор с обычной частью begin...end. Директива assembler в Borland Pascal позволяет вам писать на встроенном ассемблере целиком процедуры и функции без необходимости begin...end. Приведем пример функции на ассемблере

Процедуры и функции ассемблера - 2
Компоновка с программами на ассемблере
Компоновка с программами на ассемблере - 2
Турбо Ассемблер и Borland Pascal
Примеры программ на языке ассемблера
Методы на языке ассемблера
Включаемый машинный код
Операторы Inline
Операторы Inline - 2
Директивы inline

Borland Pascal. Руководство пользователя

Borland Pascal with Objects (Паскаль с объектами фирмы Borland) предназначен для всех тех пользователей, которые хотят разрабатывать прикладные программы для операционной системы DOS или операционной среды Windows. Вы можете создавать прикладные программы, работающие в реальном режиме DOS, Windows или прикладные программы для защищенного режима DOS или Windows. Borland Pascal предлагает богатую среду программирования, которая делает разработку программного обеспечения более производительной и более приятной. Используя структурированный язык высокого уровня Паскаль, вы можете писать программы для приложений любого типа и размера.
Borland Pascal 7.0, оставаясь совместимым с программным кодом, написанным для Turbo Pascal или Turbo Pascal for Windows, предоставляет вам новые возможности. Исследуя эти возможности следует учитывать, что этот компилятор Паскаля является быстрым и эффективным компилятором и принят в качестве общемирового стандарта.

Введение
Borland Pascal поставляется с одиннадцатью руководствами, каждое из которых имеет свое назначение. Если раньше вы никогда не работали с прог- раммным продуктом Turbo Pascal, прочтите руководство пользователя.

Введение
Как использовать руководства по Pascal
Как использовать руководства по Pascal - 2
Как использовать руководства по Pascal - 3

Установка и запуск Borland Pascal
Borland Pascal поставляется с автоматической программой ус- тановки, которая называется INSTALL. Из-за использования методов упаковки файлов вы должны воспользоваться данной программой, а не просто скопировать на свой жесткий диск файлы Borland Pascal. Программа INSTALL автоматически копирует и распаковывает файлы Borland Pascal и Borland Pascal for Windows.

Использование программы Install
Программа Install и Windows
Запуск Borland Pascal
Защищенный режим и память
Защищенный режим и память - 2
Запуск Borland Pascal for Windows
Запуск BP.EXE в расширенном режиме Win 386
Запуск BP.EXE в стандартном режиме Windows
Запуск BP.EXE в окне Windows DOS
Жидкокристаллические и плазменные экраны

Что нового в Borland Pascal
Два средства просмотра объектов ObjectBrowser - одно в IDE для DOS защищенного режима, другое в IDE для Windows. С помощью ObjectBrowser вы можете просматривать в своей программе объекты и модули, проверять свой исходный код, получать полные перекрестные ссылки на каждый используемый в программе идентификатор и видеть свою программу с новой позиции. Об ObjectBrowser для DOS и Windows в данной книге рассказывается ниже.

Новые средства IDE
Новые средства IDE - 2
Компилятор командной строки
Среда разработки программ защищенного режима
Динамически компонуемые библиотеки DOS
Добавления к языку Паскаль
Улучшения в библиотеке исполняющей системы
Новые подпрограммы модуля System
Новые модули
Новые директивы компилятора

Основы интегрированной среды для DOS
Borland Pascal представляет собой не только быстрый компилятор Паскаля. Это эффективный компилятор, интегрированную интерактивную среду которого очень легко изучать и использовать. При работе с Borland Pascal для того, чтобы создавать, отлаживать и запускать программы на Паскале, вам не требуется использовать отдельный редактор, компоновщик, компилятор и отладчик

Запуск IDE
Компоненты интегрированной среды
Компоненты интегрированной среды - 2
Окна IDE
Окна IDE - 2
Окна IDE - 3
Управление окном
Управление окном - 2
Строка состояния
Диалоговые окна

Программирование в интегрированной интерактивной среде для DOS
Если вы укажете параметр /D, IDE сможет одновременно работать с двумя мониторами. IDE проверяет, имеется ли на вашем компьютере соответствующее оборудование, например, монохромная и цветная плата. Если это не так, то IDE игнорирует данный параметр. Режим с двумя мониторами полезно использовать при отладке программы. Один монитор вы можете использовать как экран выводимых программой данных, а другой - для работы с отладчиком.

Запуск IDE и выход из нее
Параметры запуска
Параметры запуска - 2
Параметры запуска - 3
Параметры запуска - 4
Установка параметров запуска в среде
Выход из IDE
Использование справочной системы Help
Перемещение в справочной системе
Запрос помощи

Программирование в интегрированной интерактивной среде для Windows
Командные кнопки в оперативной полосе представляют команды. Это оперативные кнопки для "мыши", аналогично тому, как определенные комбинации клавиш на клавиатуре являются оперативными клавишами. Чтобы выбрать команду, щелкните на соответствующей командной кнопке "мышью". Например, если вы щелкните "мышью" на командной кнопке Open a File (Открыть файл), то реакция IDE будет такой же, как при выборе команды Open меню File

Использование оперативной полосы
Использование оперативной полосы - 2
Настройка конфигурации оперативной полосы
Использование справочной системы Help
Перемещение по справочной системе
Запрос помощи
Запрос помощи - 2
Копирование примеров кода
Выход из справочной системы
Запись и редактирование исходного кода

Отладка в интегрированной среде
Интегрированная интерактивная среда разработки программ Borland Pascal (IDE) включает в себя ряд средств, облегчающих разработку программ: автоматическое управление проектами, средств обеспечения модульной структуры программы, быструю компиляцию и простые в использовании оверлеи. Но несмотря на все это ваша программа все равно может содержать ошибки, что не позволит ей корректно работать.

Что такое отладка?
Какие существуют виды ошибок?
Методы отладки
Методы отладки - 2
Генерация отладочной информации
Управление выполнением
Что такое шаг?
Выполнение программы по шагам
Трассировка программы
Трассировка или выполнение по шагам?

Модули Borland Pascal
Borland Pascal обеспечивает вам доступ к большому числу встроенных констант, типов данных, переменных, процедур и функ- ций. Некоторые из них специфичны для Borland Pascal, другие специфичны для приложений Windows. Их количество велико, однако, в своей программе вы редко используете их все сразу. Поэтому они разделены на связанные группы, называемые модулями.

Структура модуля
Интерфейсная секция
Секция реализации
Секция инициализации
Как используются модули?
Ссылки на описания модуля
Оператор uses секции реализации
Стандартные модули
Создание ваших собственных модулей
Компиляция модуля

Использование указателей
По мере того как программы становятся более сложными, и требуются работа с большим количеством данных, область объемом в 64К, зарезервированная в Borland Pascal для данных, может оказаться недостаточной, чтобы содержать все необходимые программе данные. Указатели позволяют вам обойти эту проблему.

Для чего используются указатели?
Работа с большими объемами данных
Работа с данными неизвестного размера
Работа с временными буферами данных
Работа с несколькими типами данных
Связанные списки
Что такое указатель?
Ссылочный тип
Типизированные указатели
Разыменование указателей

Объектно-ориентированное программирование
Объектно-ориентированное программирование представляет собой метод программирования, который весьма близко напоминает наше поведение. Оно является естественной эволюцией более ранних нововведений в разработке языков программирования. Объектно-ориентированное программирование является более структурным, чем все предыдущие разработки, касающиеся структурного программирования. Оно также является более модульным и более абстрактным, чем предыдущие попытки абстрагирования данных и переноса деталей программирования на внутренний уровень.

Объекты
Наследование
Наследование - 2
Объекты: наследующие записи
Объекты: наследующие записи - 2
Экземпляры объектных типов
Поля объектов
Хорошая и плохая техника программирования
Методы
Методы - 2

Взгляд на Windows
В данной главе содержится обзор программирования для Microsoft Windows с использованием Borland Pascal (с акцентом на объектно-ориентированное программирование). В представленном здесь примере используется поставляемая с Borland Pascal библиотека ObjectWindows. Вы узнаете о поведении прикладной программы Windows и о том, как с помощью ObjectWindows автоматизировать од- ни задачи и упростить другие.

Что такое приложение Windows?
Преимущества Windows
Требования
Программные средства
Архитектура с управлением по событиям
Графика, независимая от устройств
Многозадачность
Управление памятью
Ресурсы
Динамическая компоновка

Турбо Паскаль 6.0

Это руководство содержит полное описание Turbo Vision - новому подходу к разработке прикладных систем. Мы опишем не только что и как может делать Turbo Vision, но и для чего. Если Вы потратите время на то, чтобы понять основные принципы Turbo Vision, Вы обнаружите, что это удобный, сохраняющий время и продуктивный инструмент: Вы сможете создавать разумные интерактивные программы, затрачивая на это меньше времени, чем Вы думаете.

Что такое Turbo Vision?
После создания ряда программ с окнами, диалогом, меню и поддержкой мышки в фирме Borland, мы решили объединить все эти возможности в набор инструментов. Объектно-ориентированное программирование дало нам средство, и Turbo Vision - его результат. Мы использовали Turbo Vision для написания новой интегрированной среды разработки для среды Turbo Pascal, затратив на это меньше времени, чем если бы мы писали ее из отдельных частей.

Оболочка оконной программы.
Новый взгляд на разработку программ.
Элементы Turbo Vision.
Новые понятия.
Видимые элементы.
События.
Невидимые объекты.
Другие элементы.
"Hello, World!" в Turbo Vision.
Выполнение HELLO.PAS.

Модификация поведения видимых элементов
До этого момента Вы видели как ведут себя стандартные видимые элементы по умолчанию. Но иногда Вам потребуется, чтобы видимые элементы выглядели или действовали несколько по-другому и Turbo Vision предоставляет такую возможность. Этот раздел объясняет способы модификации стандартных видимых элементов.

Модификация поведения видимых элементов.
Флаг Options.
Флаг Options. - 2
Флаг GrowMode.
Флаг DragMode.
Флаг State и SetState.
Действие на изменение состояние.
Цвет видимого элемента.
Палитры цветов.
Внутри палитры цветов.

Процедуры и функции
Эта глава содержит алфавитный список всех стандартных объектов Turbo Vision с объяснением их назначения и использования, с полями, методами и палитрами цветов. Чтобы найти информацию по определенному объекту помните, что многие свойства объектов в иерархии наследуются от предков. Вместо бесконечного дублирования всей информации эта глава описывает только поля и методы, которые добавляются или изменяются в этом объекте

Объект TSample Модуль объекта
TApplication App
TBackground App
TBufStream Objects
TBufStream Objects - 2
TButton Dialogs
TButton Dialogs - 2
TButton Dialogs - 3
TCheckBoxes Dialogs
TCluster Dialogs

Процедура InitMemory Memory
Функция Инициализирует обработчик системных ошибок Turbo Vision, переопределяя вектора прерываний 09H, 1BH,21H, 23H, 24H и очищая состояние Ctrl-Break в DOS. Вызывается автоматически посредством TApplication.Init.

Процедура InitSysError Drivers
Процедура InitVideo Drivers
Константы kbXXXX Drivers
Константы kbXXXX Drivers - 2
Функция LongDiv Objects
Функция LongMul Objects
Тип LongRec Objects
Функция LowMemory Memory
Переменная MaxBufMem Memory
Переменная MaxCollectionSize Objects

Системное программирование в UNIX средствами Free Pascal

Со времени своего появления в Bell Laboratories в 1969 г. операционная система UNIX становилась все более популярной, вначале получив признание в академическом мире, а затем уже в качестве стандартной операционной системы для нового поколения многопользовательских микро- и миникомпьютеров в 80-х годах. И этот рост, по-видимому, продолжается в момент написания данной книги.
Операционная система UNIX оправдала возлагавшиеся на нее надежды и теперь является ключевой деталью технологического пейзажа на рубеже XXI века. Не говоря уже о том, что UNIX всегда занимала сильные позиции в научном и техническом сообществах, в настоящее время существует множество крупномасштабных систем управления данными и обработки транзакций на платформе UNIX. Но, самое главное, ОС UNIX, безусловно, является ядром серверов магистральной сети Internet.

Основные понятия и терминология
Операционная система UNIX оправдала возлагавшиеся на нее надежды и теперь является ключевой деталью технологического пейзажа на рубеже XXI века. Не говоря уже о том, что UNIX всегда занимала сильные позиции в научном и техническом сообществах, в настоящее время существует множество крупномасштабных систем управления данными и обработки транзакций на платформе UNIX. Но, самое главное, ОС UNIX, безусловно, является ядром серверов магистральной сети Internet

Глава Основные понятия и терминология
Файл
Каталоги и пути
Каталоги и пути - 2
Владелец файла и права доступа
Обобщение концепции файла
Процесс
Межпроцессное взаимодействие
Системные вызовы и подпрограммы
Системные вызовы и подпрограммы - 2

Ожидание завершения определенного потомка: вызов waitpid
Системный вызов wait позволяет родительскому процессу ожидать завершения любого дочернего процесса. Тем не менее, если нужна большая определенность, то можно использовать системный вызов waitpid для ожидания завершения определенного дочернего процесса.

Зомби-процессы и преждевременное завершение
Командный интерпретатор smallsh
Командный интерпретатор smallsh - 2
Командный интерпретатор smallsh - 3
Командный интерпретатор smallsh - 4
Командный интерпретатор smallsh - 5
Командный интерпретатор smallsh - 6
Атрибуты процесса
Идентификатор процесса
Идентификатор процесса - 2

Системный вызов fdwrite
Этот вызов намного проще в отношении взаимодействия с терминалом. Единственный важный момент заключается в том, что вызов fdwrite будет блокироваться при переполнении очереди вывода терминала. Программа продолжит работу, только когда число символов в очереди станет меньше некоторого заданного порогового уровня.

Функции ttyname и isatty
Описание
Изменение свойств терминала: структура termios
Описание
Описание
Определение структуры termios
Массив с_сс
Поле c_cflag
Описание
Поле c_iflag

Файловые системы
Ниже приведен список сообщений об ошибках системных вызовов. Он основан на информации выпуска 4.2 стандарта X/Open System Interfaces Standard (стандарта системных интерфейсов X/Open). Каждый пункт списка озаглавлен мнемоническим сокращением имени ошибки, определенным соответствующим кодом ошибки в файле linuxerror, и содержит системное сообщение об ошибке из таблицы sys_errlist, а также краткое ее описание.

Файловые системы
Файловая система proc
Файловая система proc - 2
Файловая система proc - 3
Файловая система proc - 4
Управление файлами
Управление файлами - 2
Управление файлами - 3
Управление файлами - 4
Управление файлами - 5

Издательская система Publisher

Итак, верстка. Что такое — верстать?
Верстка включает в себя искусство правильно разместить на странице (полосе) тексты, изображения, логотипы, другие знаки, а также (особенно это касается текста) привести текст средствами верстальной программы в такой вид, чтобы он полностью соответствовал принципам верстки.
Принципы эти заложены, слава Богу, еще до изобретения компьютерного изготовления книжек, соответственно в верстке участвовали и до сих пор участвуют опытные специалисты прошлого, то есть тех времен, которые отмечены принципами высокой печати и, конечно же, ручным (только кое в чем автоматизированным) набором текстов Соответственно гранки — это и сейчас гранки, хотя и сильно отличающиеся от тех, что были прежде. Обработка свинцовых пластов или барабанов с текстом нас не касается, да я точно и не знаю, назывались ли они матрицами или штампами, какова была точно та технология, но теперь для нас, готовящих на домашнем компьютере целиком всю; I. книгу, вплоть до вывода типографских пленок, это и не столь важно. Программа верстки должна выдерживать самое главное — все принципы верстки, которые, если от них не отступать, позволяют сделать все не только красиво, но и правильно. Добавлю только то, о чем упустил сказать раньше. Для верстальной программы практически безразлично, насколько текст, находящийся в буфере, отформатирован. Все настройки форматирования текста мы назначаем опять же в самом приложении. Задачи форматирования — это переносы, выравнивание текста, шрифт и его размер. Все это мы увидим в опциях командных меню. Но она невозможна и без кое-каких других настроек.
Идем дальше. Жидкая строка получается в книге очень часто — чаще чем плотная. Это происходит от того обстоятельства, что программа, восприняв словарный язык русский, разбивая строки переносами, игнорирует иностранные слова. Именно длина этих непонятых программой слов и порождает жидкие строки: на всякий случай программа выбрасывает какое-нибудь длинное русское слово в следующую строку (хотя перенос ему вполне можно было назначить) или оставляет его на предыдущей. Тут вступает в силу опция назначения переноса. То есть мы можем назначить длинному русскому слову ручной перенос, и слово попадет частично на прошлую строку, таким образом ликвидировав ее «жидкость». Плотные же строки практически не могут родиться при работе верстальной программы без прилагаемых со стороны пользователя усилий, то есть по умолчанию. Плотная строка образуется, как правило, когда мы ее доводим до этого состояния своими действиями — например, стараясь убрать небольшой «хвостик» текста из последней строки абзаца. Или загоняя тире, выскочившее в начало строки (этого делать категорически нельзя!), в предыдущую строку...

Windows XP детище Microsoft
Для удобства пользователя все виды работ в Windows начинаются с кнопки «Пуск» или «Старт», расположенной на Панели задач интерфейса Windows. Все виды работ начинаются с вызова меню. Меню — это виртуальный объект-таблица, в котором собраны все необходимые для работы команды. Главным меню ПК является Стартовое меню, которое открывается кнопкой «Пуск».

Windows XP детище Microsoft
Пакет приложений Windows XP Microsoft Office XP
Средства Microsoft Office XP
Microsoft Word 2002 XP

Введение в Microsoft Publisher 2002 XP
Программа существует пока отдельно от пакета Офис ХР, но все явно указывает на то, что она станет в него входить. Мало того, она и устанавливается именно в папку Офиса! Это по умолчанию, — я, как пользователь, путей приложению при установке не назначал. Кстати сказать, комплектование Офиса с каждой версией становится сложнее: он уже не помещается на компакт-диск, а тут и еще одна дополнительная программа!

Верстальная программа ее свойства и задачи
Интерфейс программы Microsoft Publisher
Интерфейс №1 Microsoft Publisher (I)
Интерфейс № 2 Microsoft Publisher
З Подменю настройки Панели инструментов
Диалог «Параметры »
Панели Стандартная и Форматирования
Открыли кнопку и получили каскад подменю
Вкладка Toolbars
Вкладка Commands

Microsoft Publisher: основы верстки
Вообще-то, по-хорошему, это меню должно бы называться, как оно и называется в майкрософтовских приложениях — «Сервис». Потому что Сервис — более широкое понятие, чем просто Tools (Инструменты). Очень сложно систему назначения Тезауруса назвать Инструментом. Или того же Языка... Но это все же детали.

Подменю Spelling
Диалог Проверки Орфографии
Опция Параметры Орфографии
Диалог Определения Языка
Выбрали язык — Русский (Россия)
Диалог Тезауруса
Заменилось слово на слово
Диалог Hyphenation
Вручную можно перенести выделенное слово
Назначаем Автоматический перенос

Microsoft Publisher: основы верстки 2
У нас осталась последняя вкладка диалога: Tint (Оттенок). Это градуированный одноцветный фон. Выбор — пошаговый. Выбор же самого цвета, оттенки которого назначаются, осуществляется в поле списка Base Color: (Базовый цвет:).

Изображение— на страницах
Последняя вкладка — Tint (Оттенок)
Диалог Web Options
Докер Стили и Форматирование
Диалоговое окно Format Text Box
Установили Фон для страницы
Знакомый диалог
Прозрачность красного цвета
Диалог Patterned Lines вкладка Tint
Вкладка Pattern открыт список Foreground

Практическая работа в Microsoft Publisher
С чего начать? Сакраментальный вопрос. Один из трех сакраментальных вопросов русской истории. Правда, задавались они в обратном порядке — видимо, по мере приближения к практике. Сначала — «Кто виноват?», потом — «Что делать?», и уж потом — «С чего начать?». Ленин ответил на последний: «С создания марксистской газеты». Он был по-своему прав, но только по-своему, а нам марксистская газета ни к чему, поэтому начнем с просто газеты.

Верстаем газету (I)
Окно Publisher сразу после открытия программы
Чистая страница Blank Publication
Диалог Page Setup
Вкладка Layout
Чистый лист будущей газеты
Меню Layout Guides
Назначили зеркальные поля и их размеры
Назначили число колонок
Все назначения отразились на газетной полосе

Средства Microsoft Office 2002 XP
Говоря о папке, название которой вынесено в заголовок, требуется припомнить, что до последнего времени мы имели возможность пользоваться многими и многими приложениями сторонних фирм, решающими задачи, с которыми, возможно, лучше всего справились бы специалисты «материнской» фирмы, разработавшие саму операционную систему. Ведь именно им, знающим многие нюансы программистам и функционалистам, гораздо легче заставить свою среду пристроиться к самым распространенным в мире прикладным задачам.

Подменю «Средства Microsoft Office»
Появилось окно программы
Окно сканирования программы Document Imaging
Возникло окно сканера с прежней работой
Просмотр того что на стекле сканера
Растянули область выделения
Наша картинка уже в окне программыутилиты
Сохраним здесь картинку в формате TIFF
Результат сканирования в ФотоРедакторе
Настройка изображения - Поворот

27 уроков по Word 97
Руководство по программному пакету ERwin
Есенберлин Ильяс - Золотая Орда
Эхерн Джерри - Побег Из Гарема
Безопасность жизнедеятельности. В вопросах и ответах, задачах и решениях
XML - статьи
Поисковые системы
Построение сетей на инфракрасных лучах и лазерах
Экслер Алекс - Забавные Дневники
Физическое окружение вычислительной техники
Возможности вычислительных машин и человеческий разум
Организация вычислительных систем
Объектно-ориентированное проектирование с примерами
Практическая работа с таблицами Excel
MS Excel 2000 для начинающих
Программирование в IIS
MS Excel 97
Полезные советы по MS Office
Файнток Дэвид - Николас Сифорт
Учебник по автоматической установке Windows XP