Примеры

В папке Samples содержится множество примеров программ, написанных на Pascal ABC. Эту папку удобно скопировать в рабочую папку (по умолчанию C:\PABCWork). На данной странице приведены некоторые примеры с комментариями. Их можно загружать в редактор и запускать на исполнение прямо из текущего окна. Текст загруженной таким образом программы доступен только для чтения, что отражается в заголовке соответствующей вкладки окончанием "(r)".

Новые программы

gr_SpriteCreation.pas. Создание спрайта с несколькими состояниями.

gr_ManySprites.pas. Несколько объектов-спрайтов на основе одного спрайта.

Игры

15.pas. Игра в 15.

DeleteByMouse.pas. Удаление объектов мышью.

KillThem.pas. Простая стрелялка.

Модуль ABCObjects (для обучения основам объектно-ориентированного программирования)

gr_PictureScale.pas. Иллюстрация свойств ScaleX и ScaleY класса PictureABC.

gr_MovingObjects.pas. Движение случайно сгенерированных объектов.

gr_Intersects1.pas. Попиксельное пересечение объектов.

gr_Text.pas. Использование класса TextABC для создания тени надписи.

gr_Mouse.pas. Перемещение объектов мышью. Составные объекты.

gr_House.pas. Составные объекты. Управление свойствами вложенного объекта. Смена владельца.

gr_Robots.pas. Роботы на клеточном поле.

gr_Star_Rotate.pas. Объект StarABC: вращение.

gr_Clone_Recur.pas. Клонирование составных объектов.

gr_Chess.pas. Шахматная доска и фигуры - простая анимация. Создание фигур с возможностью масштабирования из .WMF-файла. Запрещение реакции объекта на мышь.

gr_Brown_Moving.pas. Броуновское движение.

Модуль GraphABC

Brown_moving.pas. Броуновское движение.

Mosaic.pas. Анимированная мозаика.

Colors.pas. Стандартные цвета.

Graphic2.pas. График функции с возможностью масштабирования.

InflateRect.pas. Демонстрация использования процедуры InflateRect.

MovingObject.pas. Движение картинки.

SetPixel.pas. Демонстрация использования процедуры SetPixel.

Rain.pas. Капли дождя.

Polygon.pas. Многоугольники. Демонстрация использования черепашьей графики.

BrushPicture.pas. Демонстрация кисти, задаваемой картинкой.

Font.pas. Демонстрация использования различных характеристик шрифтов.

TextWH.pas. Демонстрация использования функций TextWidth и TextHeight.

Life.pas. Игра "Жизнь". Реализация с помощью алгоритма хеширования по равномерной сетке (автор идеи - А.Г.Кушниренко).

Fractal_c.pas. Фракталы. Демонстрация использования комплексной арифметики.

Консольные приложения

Matches.pas. Игра "Спички".

SimpleNumbers.pas. Вычисление больших простых целых чисел.

Простейшие события. Модуль Events

MouseWeb.pas. "Паутина". Использование событий OnMouseMove и OnResize. Режим пера pmNot.

MouseDraw.pas. Рисование мышью. Иллюстрация событий OnMouseDown и OnMouseMove.

Event_Key.pas. Использование события OnKeyDown.

Модуль Timers

Timer3.pas. Простейший таймер в консольном режиме.

Timer2.pas. "Собачка", бегающая вслед за мышью.

Модуль Sounds

Sounds3.pas. Иллюстрация всех методов класса Sound в консольном режиме.

SoundsMouse.pas. Извлечение звуков нажатием на мышь.

Модуль Containers

IntArray.pas. Демонстрация возможностей класса "Динамический массив целых".

ObjectArray.pas. Демонстрация возможностей класса "Динамический массив объектов". Владение элементами и своевременный вызов их деструкторов. Переопределение метода ToString для вывода массива объектов на экран.

ObjectArraySort.pas. Сортировка массива объектов по различным критериям.

RealStack.pas. Демонстрация возможностей класса "Стек вещественных".

StringQueue.pas. Демонстрация возможностей класса "Очередь строк".

IntSet.pas. Демонстрация возможностей класса "Множество целых". Итерация по множеству.

IntSetGreat.pas. Демонстрация скорости работы операций пересечения, объединения и разности для двух множеств целых, состоящих из миллиона элементов.

Объектно-ориентированное программирование

AssocArray.pas. Реализация класса ассоциативного массива.

ClassList.pas. Реализация класса односвязного списка с внутренним итератором.

Figures.pas. Иерархия классов графических фигур. Демонстрация полиморфизма. Клонирование объектов.

Robots.pas. Реализация класса Robot объектов, перемещающихся по клеточному полю Field.

Модуль Sockets

Client.pas, Server.pas. Иллюстрация использования сокетов. Сервер эхом выводит строки, которые вводятся в клиентской программе. Оба придожения завершаются при вводе строки 'Bye'. Каждая программа должна быть запущена из отдельного окна среды Pascal ABC.

Client2.pas, Server2.pas. Клиент управляет Роботом, реализованным на стороне сервера.

Рекурсивные программы

Dragon.pas. Кривая дракона.

Serpinsky.pas. Ковер Серпинского.

ESquares.pas. E-квадраты.

Модуль Utils

DiskSize.pas. Размеры и свободное место логических дисков компьютера.

Модуль VCL. Компонентные программы

Caption.pas. Ввод заголовка формы в поле ввода.

MainMenu.pas. Иллюстрация создания главного меню.

ModalResult.pas. Иллюстрация использования модального результата, возвращаемого окном диалога.

MouseDraw1.pas. Рисование мышью на компоненте PaintBox. Иллюстрация использования интерфейса, состоящего из панели инструментов с опциями и окном для рисования.

PageControl.pas. Иллюстрация возможностей компонента PageControl.

Parent.pas. Иллюстрация свойства Parent.

StatusBar.pas. Иллюстрация возможностей компонента StatusBar.

StringGrid.pas. Иллюстрация возможностей компонента StringGrid.

TrackBar.pas. Изменение цвета панели при помощи трех компонентов TrackBar.

ControlInheritance.pas. Вариант предыдущей программы, где линейка значений и ее метка объединены в новый класс.

Notepad.pas. Простой текстовый редактор.

Graph3D.pas. Визуализация трехмерных поверхностей.

Проекты

BallMain.pas. Проект "Шарики". Различное поведение объектов на клеточном поле. Иллюстрация полиморфизма.

Battle.pas. Модель "Хищник-жертва".

Animals.pas. Игра "Животные". Самообучающаяся программа отгадывает задуманное Вами животное. Задумайте животное и вводите 0 - нет, 1 - да.

MazeGen.pas. Генерация случайного лабиринта..