• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом


  • Иллюстрированный самоучитель по Turbo Pascal

    Процедуры и функции для работы с динамической памятью

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

    type
    PInt =^Integer;
    var
    p: Pint;
    begin
    p: = New(PInt);
    ……
    end.
    

    При размещении в динамической памяти объекта разрешается в качестве второго параметра обращения к NEW указывать имя конструктора (см. гл.10).

    Функция OFS

    Возвращает значение типа WORD, содержащее смещение адреса указанного объекта. Вызов:

    OFS (X)
    

    Здесь Х- выражение любого типа или имя процедуры.

    Функция PTR

    Возвращает значение типа POINTER по заданному сегменту SEG и смещению OFS. Вызов:

    PTR (SEG, OFS)
    

    Здесь:

    • SEG – выражение типа WORD, содержащее сегмент;
    • OFS – выражение типа WORD, содержащее смещение.

    Значение, возвращаемое функцией, совместимо с указателем любого типа.

    Процедура RELEASE

    Освобождает участок кучи. Обращение:

    RELEASE (PTR)
    

    Здесь PTR – указатель любого типа, в котором предварительно было сохранено процедурой MARK значение указателя кучи. Освобождается участок кучи от адреса, хранящегося в PTR, до конца кучи. Одновременно уничтожается список всех свободных фрагментов, которые, возможно, были созданы процедурами DISPOSE или FREEMEM.

    Функция SEG

    Возвращает значение типа WORD, содержащее сегмент адреса указанного объекта. Вызов:

    SEG (X)
    

    Здесь X – выражение любого типа или имя процедуры.

    Функция SIZEOF

    Возвращает длину в байтах внутреннего представления указанного объекта. Вызов:

    SIZEOF (X)
    

    Здесь X – имя переменной, функции или типа. Например, везде в программе из примера 6.1 вместо константы SIZEOFREAL можно было бы использовать обращение SIZEOF(REAL).

    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.