Главная » Free Pascal

Строки типа PChar Free Pascal

Добавлено Дата: 15 July, 2014 категория: Free Pascal

Строки типа PChar тоже относятся к строкам неограниченной длины, но способ их представления в памяти отличается от Ansi-строк. Имя переменной типа PChar тоже является указателем на значение переменной, хранящееся в куче. Но этот ука- затель не типизирован — он "знает" адрес значения, но не "знает" его длину. При- знаком конца строки типа PChar является байт с нулевым значением, который ав- томатически добавляется вслед за последним значащим символом. В момент объявления переменной типа PChar компилятор выделяет 4 байта под указатель и заносит туда константу Nil, что эквивалентно созданию пустой строки. К любому символу значения строки типа PChar можно обратиться по его индексу, отсчет ко- торых производится от 0.

Читать »

Процедуры и функции общего характера Free Pascal

Добавлено Дата: 13 July, 2014 категория: Free Pascal

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

Таблица 10.1

Читать »

Отображение простейшего двумерного изображения OpenGL Free Pascal

Добавлено Дата: 11 July, 2014 категория: Free Pascal

В 1915 г. известный русский художник-авангардист Казимир Малевич предста- вил на выставке небольшое полотно (размером примерно 80  80  см),  бóльшую часть которого занимал черный квадрат. Тогда картина вызвала очень противоре- чивые отклики критиков. Да и в наше время можно многое услышать в адрес авто- ра от лиц как превозносящих Малевича до небес, так и считающих его не вполне здоровым. Так или иначе, но в 2002 г. один из оригиналов был куплен известным российским предпринимателем В. Потаниным за миллион долларов и передан им на хранение в Эрмитаж. На рис. 16.2 приведено изображение этой картины, кото- рое мы обнаружили в Интернете.

Читать »

Модуль System Free Pascal

Добавлено Дата: 10 July, 2014 категория: Free Pascal

Базовый набор для вычисления элементарных функций (табл. 13.1) и выполне- ния некоторых вспомогательных операций (табл. 13.2) входит в состав модуля Sys- tem, на автомате подключаемого к каждой программе.

Таблица 13.1. Элементарные функции модуля System

Читать »

Ввод/вывод данных простого типа Free Pascal

Добавлено Дата: 8 July, 2014 категория: Free Pascal

Из ряда программ, приводившихся в предыдущих разделах, вы заметили, что ввод осуществляется с помощью процедур read (от англ. read — читать) и readln (от англ. read line — читать строку), вывод — с помощью процедур write (от англ. write — писать) или writeln. Добавка символов ln означает, что после выполнения соответствующей операции курсор на экране дисплея переводится в начало сле- дующей строки.

Читать »

Построение прямых и прямоугольников Free Pascal

Добавлено Дата: 8 July, 2014 категория: Free Pascal

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

Таблица 15.5

Формат обращения к процедуре

Читать »

Короткие строки Free Pascal

Добавлено Дата: 6 July, 2014 категория: Free Pascal

Для объявления переменных типа "короткая строка" используются служебные слова String с необязательным указанием максимальной длины или ShortString. Объявление глобальных переменных может сопровождаться их инициализацией, т. е. присвоением начального значения:

Читать »

OpenGL Free Pascal

Добавлено Дата: 6 July, 2014 категория: Free Pascal
Немного истории

Графический стандарт OpenGL (Open Graphics Library — открытая графическая библиотека) базируется на разработке фирмы Silicon Graphics. В 1992 г. он был принят ведущими  производителями  программного  и  аппаратного  обеспечения. В настоящее время пакет OpenGL включается в состав операционных систем наи- более распространенных средств вычислительной техники.

Читать »

Format — универсальная функция преобразования данных Free Pascal

Добавлено Дата: 5 July, 2014 категория: Free Pascal

Наиболее широкими возможностями по преобразованию данных разного типа в их символьное представление обладает функция Format. Ее идеология заимствова- на из языков C, C++. В упрощенном варианте обращение к функции Format выгля- дит следующим образом:

Читать »

Расширенный вызов функций Free Pascal

Добавлено Дата: 4 July, 2014 категория: Free Pascal

Подобно языку С++ в программах на языке Free Pascal допускается вызов функций с игнорированием возвращаемого значения. Такой прием имеет смысл, когда функция помимо вычисления возвращаемого значения производит какие-то полезные дополнительные действия. В листинге 9.16 таким дополнительным дей- ствием в функции f_ex(y) является изменение аргумента y, если его значение от- рицательно.

Читать »

Выделение памяти локальным и глобальным массивам Free Pascal

Добавлено Дата: 4 July, 2014 категория: Free Pascal

Программа matrix_4 демонстрирует тактику выделения памяти для глобальных массивов — статического sa1 и динамического ds1 (листинг 6.8). Массиву sa1 па- мять выделяется сразу и всем его элементам присваиваются нулевые значения. Для массива ds1 сначала выделяется 4-байтовый указатель, в который заносится Nil. После первого обращения к процедуре SetLength массиву ds1 выделяется чистая память. При повторном обращении к процедуре SetLength массиву ds1 выделяет- ся новая память, в которую копируются накопленные ранее данные, а хвост — чистится. Функция SizeOf для статического массива выдает объем занятой памяти в байтах, для динамического — только объем памяти, занятой указателем. Функция Length выдает длину любого массива в количестве элементов.

Читать »

Шаблоны кода Free Pascal

Добавлено Дата: 4 July, 2014 категория: Free Pascal

Шаблоны кода используются для вставки в набираемый текст заранее сформи- рованных заготовок. Каждой заготовке должно быть присвоено уникальное имя. Например, с именем ifthen может быть связан следующий фрагмент кода:

If | Then begin  end

Такой фрагмент может быть вставлен в набираемый текст либо после набора соответствующего имени, либо после клавишной команды <Ctrl>+<J>, если курсор установлен справа от имени шаблона. Если перед курсором отсутствует имя шаб- лона, то появляется всплывающее окно для выбора нужного шаблона. Если в шаб- лоне обнаружен символ |, то курсор останавливается на нем, символ удаляется, освобождая место для набора нестандартной вставки. В приведенном выше приме- ре между словами If и Then должно быть вставлено условное выражение.

Читать »

Числовые данные

Добавлено Дата: 3 July, 2014 категория: Free Pascal

Полный перечень целочисленных типов данных, используемых в программах на языке Free Pascal, приведен в табл. 4.1. По сравнению с языком Object Pascal здесь появился новый тип 8-байтовых чисел без знака (QWord).

Читать »

Построение простейшего трехмерного изображения Free Pascal

Добавлено Дата: 3 July, 2014 категория: Free Pascal

Приведенная в листинге 16.5 программа Cube_1.pas воспроизводит на экране изображение разноцветного куба средствами библиотеки OpenGL. Массив Points задает координаты вершин куба. Каждой вершине присвоен индивидуальный цвет (массив Colors). Вдоль каждого ребра по умолчанию производится линейная ин- терполяция цветовых характеристик смежных вершин, и полученные цвета таким же образом распространяются на внутренние точки граней.

Читать »

Измерение интервалов времени Free Pascal

Добавлено Дата: 28 June, 2014 категория: Free Pascal

В задачах оперативного и долгосрочного планирования довольно часто прихо- дится определять длительность интервалов между двумя календарными датами dt1 и dt2, вычислять даты, отстоящие от заданной точки отсчета на указанный интер- вал времени вперед или назад.

Читать »