ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 27

 Функция MaxAvail
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает размер наибольшего непрерывного свободного блока в динамически распределяемой области памяти. 
     Описание: MaxAvail

     Тип результата: Длинный целый (Longint).

Примечания: Данное значение вычисляется путем сравнения размеров наибольших свободных блоков в пространстве вторичного распределения глобальной динамически распределяемой области Windows. Функция возвращает наибольшее из двух значений, соответствующее на
ибольшей динамической переменной, память для которой можно выделить с помощю процедуры New или GetMem. Размер наибольшего свободного блока в глобальной динамически распределяемой области памяти Windows вычисляется с помощью функции GlobalCompact.
     Прочее: См. также процедуру MemAvail.

     Пример:

     type
        PBuffer = ^TBuffer;
        TBuffer = array[0..1638] of Char;
     var
        Buffer: PBuffer;
     begin
        .
        .
        if MaxAvail < SizeOf(TBuffer) then OutOfMemory else
        begin
          New(Buffer);
          .
          .
       end;
       .
       .
     end.

 Функция MemAvail
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает объем памяти в динамически распределяемой области памяти. 
     Описание: MemAvail

     Тип результата: Длинный целый (Longint).

     Примечания: Данное число определяется с помощью вызова функции Windows GetFreeSpace и прибавления к результату размера каждого свободного блока в пространстве вторичного распределения подсистемы управления динамически распределяемой памятью. 
     Прочее: См. также функцию МахAvail.

     Пример:

     begin
       Writeln('Доступно ', MemAvail, 'байт');
       Writeln('Наибольший свободный блок равен ', MaxAvail,
       ' байт');
     end.

 Процедура MkDir
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Создает подкаталог.

     Описание: MkDir(s : string)

Примечания: Параметр s представляет собой выражение строкового типа. Создается новый каталог с путем доступа, заданным строкой s. Последний элемент этой записи не может задавать имя существующего файла. 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Прочее: См. также процедуры RmDir, ChDir, GetDir. Те же действия, что и MkDir, выполняет подпрограмма CreateDir, но она работает со строкой с завершающим нулем, а не со строкой Паскаля. 
     Пример:

     begin
      {$I-}
     { получить из командной строки имя каталога }
     MkDir(ParamStr(1));
     If IOResult <> 0 then
        Writeln('создание каталога невозможно');
     else
        Writeln('создан новый каталог');
     end.

 Процедура Move
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Копирует заданное число непрерывных байт из заданного диапазона в указанный диапазон. 
     Описание: Моvе(var Source, Dest; Count word)

     Примечания: Параметры Source и Dest представляют собой ссылки на переменные любого типа. Параметр Count представляет собой выражение длиной в слово. Процедура Моvе копирует блок байт из Source, размер которого (в байтах) задается параметром Count, в
 блок, начинающийся первого байта, заданного параметром Dest. С данной процедурой следует работать аккуратно, поскольку никаких проверок не выполняется. 
      Замечание: Когда области, задаваемые параметрами Source и Dest, находятся в одном сегменте, то есть когда адреса сегментов у них совпадают, то процедура Моvе автоматически обнаруживает и компенсирует какие-либо перекрытия. Для статически и динамиче
ски распределяемых переменных внутрисегментных перекрытий никогда не происходят (если только это не делается специально) и, таким образом, они не могут обнаруживаться. 
     Там, где это возможно, для определения параметра Count следует использовать функцию SizeOf. 
     Прочее: См. также процедуру FillChar.

     Пример:

     var
       a : array[1..4] of char;
       b : longint;
      begin
        Move(a, b, SizeOf(a));         { для надежности исполь-
                                         зуется функция SizeOf }
      end.

 Функция MsDos                                       Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Выполняет функциональный вызов DOS.

     Описание: MsDos(var Regs : TRegisters)

     Примечания: Результат обращения к функции MsDos будет тот же самый, что и обращение к функции Intr с номером прерывания IntNo $21. TRegisters представляет собой запись, описанную в модуле WinDos следующим образом: 
     type
      TRegisters = record
                   case integer of
                     0: (AX,BX,CX,X,BP,SI,DS,ES,Flags: word);
                     1: (AL,AH,BL,BH,CL,CH,DL,DH: byte);
                   end;

     Ограничения: Программные прерывания, для которых на входе требуется задание определенных значений в SР или SS или изменяют значения SР и SS на выходе, с использованием данной функции выполняться не могут. 
     Прочее: См. также функцию Intr.

 Процедура New
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Создает новую динамическую переменную и устанавливает на нее указатель. 
     Описание: New(var p : pointer [ , Init: CVonstructor ] )

     Примечания: Параметр р является указателем-переменной и относится к указателям любого типа. Размер выделяемого блока памяти соответствует размеру того типа, на который указывает p. На вновь созданную переменную можно ссылаться с помощью p^. Если для
 выделения памяти под новую динамическую переменную в динамически распределяемой области недостаточно свободной памяти, то во время выполнения программы происходит ошибка (этой ошибки можно избежать - см. раздел "Функция обработки ошибки динамически расп
ределяемой области памяти", содержащийся в Главе 16). 
     Процедура New расширена таким образом, что допускает теперь для распределения динамической переменной объектного типа вызов в качестве второго параметра конструктора. В этом случае p - переменная-указатель, указывающая на данный объект, а Cunstruct 
- вызов конструктора данного объектного типа. 
     Дополнительные расширения позволяют использовать подпрограмму New, как функцию, которая распределяет и возвращает динамическую переменную заданного типа. Если вызов имеет форму New(P), то P может быть указателем любого типа. Если вызов имеет форму N
ew(P, Init), то Init должен быть вызовом конструктора данного объектного типа. В обоих случаях типом результата функции будет P. 
     Прочее: См. также процедуры GetMem, FreeMem, Dispose.

 Функция Odd
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Проверяет, является ли аргумент нечетным числом. 
     Описание: Odd(x : longint)

     Тип результата: Булевский (boolean).

     Примечания: Параметр x - это выражение длинного целого типа. Результат принимает значение Truе, если x представляет собой нечетное число и False - в противном случае. 
 Функция Ofs
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает для заданного объекта смещение.

     Описание: Ofs(x)

     Тип результата: Слово (word).

     Примечания: Параметр x представляет собой любую переменную или идентификатор процедуры или функции. Результат длиной в слово представляет собой смещение для x. 
     Прочее: См. также процедуры Seg, Addr.

 Функция Ord
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает порядковый номер для значения перечислимого типа. 
     Описание: Ord(x)

     Тип результата: Длинный целый (longint).

     Примечания: Параметр x представляет собой выражение перечислимого типа. Результат имеет длинный целый тип и его значение является порядковым значением для x. 
     Прочее: См. также функцию Chr.

 Процедура PackTime                                  Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Преобразует запись TDateTime (дата и время) в четырехбайтовое значение, преобразуя длинный целый тип представления даты и времени, используемый процедурой SetTime. 
     Описание: PackTime(var DT: TDateTime; var Time : longint)

     Примечания: Запись TDateTime описана в модуле WinDos следующим образом: 
     TDateTime = record
                  Year, Month, Day, Hour, Min, Sec : word;
                end;

     Для полей данной записи не выполняется проверка на правильность границ. 
     Прочее: См. также процедуры UnPackTime, GetTime, SetTime, GetFTime, SetFTime. 
 Функция ParamCount
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает число параметров, переданных в командной строке. 
     Описание: ParamCount

     Тип результата: Слово (word).

     Примечания: Разделителями служат пробелы и символы табуляции. 
     Прочее: См. также функцию ParamStr.

     Пример:

     begin
       if ParamCount < 1 then
          Writeln('В командной строке нет параметров');
       else
          Writeln(ParamCount,' параметров');
     end.

 Функция ParamStr
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает заданный параметр командной строки. 
     Описание: РаrамStr(Index)

     Примечания: Параметр Index представляет собой выражение длиной в слово. Данная функция возвращает из командной строки параметр, номер которого задается параметром Index, или пустую строку, если Index равняется нулю или больше, чем РаrамСоunt. В верс
ии Dos 3.0 или более поздней функция ParamStr(0) возвращает маршрут и имя файла выполняемой прогрыммы (например, C:\TP\MVYPROG.EXE). 
     Прочее: См. также функцию ParamCount.

     Пример:

     var i : word;
     begin
       for i := 1 to ParamCount do
            Writeln(PaamStr(i));
     end.

 Функция Pi
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает значение числа Pi (3.1415926535897932385). 
     Описание: Pi

     Тип результата: Вещественный (real).

     Примечания: В зависимости от того, работает ли компилятор в режиме с сопроцессором 80x87 или только в режиме программного обеспечения, точность может меняться. 
 Функция Pos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Производит поиск подстроки в строке.

     Описание: Pos(Sub, S : string)

     Тип результата: Байт (byte).

     Примечания: Параметры Sub и S являются выражениями строкового типа. Данная функция ищет подстроку, заданную параметром Sub, в строке S и возвращает целое значение, являющееся позицией первого символа подстроки в строке S. Если подстрока не найдена, 
то функция возвращает значение 0. 
     Прочее: См. также функции Concat, Copy, Delete, Insert, Length. 
     Пример:

     var
       s : string;
      begin
       s := '    123.5';
     { преобразует пробелы в нули }
       while Pos(' ',s) > 0  do
         s[Pos(' ',s)] := '0';
       end;

 Функция Pred
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает предшествующее значение аргумента. 
     Описание: Pred(x)

     Тип результата: Совпадает с типом параметра.

     Примечания: Параметр x - выражение перечислимого типа. Результат, имеющий тот же тип, что и x, является предшествующим значением x. 
     Прочее: См. также функции Dec, Inc, Succ.

 Функция Ptr
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Преобразует адрес, заданный в виде базового сегмента и смещения, в значение типа указатель. 
     Описание: Ptr(Seg, Offs : word)

     Примечания: Параметры Seg (сегмент) и Offs (смещение) представляют собой выражения длиной в слово. Результатом является указатель на адрес, заданный параметрами "сегм" и "смещ". Как и указатель типа nil, результат функции Рtr совместим по присваиван
ию с указателями любых типов. 
     Результат функции можно проанализировать, например:

    if Prt($40, $49)^ = 7 then
       Writeln('видеорежим = моно');

     Прочее: См. также функцию Addr, Offs, Mono.

     Пример:

     var
       p^ : byte;
     begin
       p := Ptr($40, $49);
       Writeln('Текущим видеорежимом является ', p^);
     end;

 Функция Random
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает случайное число.

     Описание: Random(Range : word)

     Тип результата: Совпадает с типом параметра.

     Примечания: Если параметр Range (диапазон) не задан, то результатом будет вещественное число x в диапазоне 0 <= х < 1. Если задан параметр Range, то он должен представлять собой выражение целого типа, а результатом будет случайное число длиной в сло
во в диапазоне 0 <= х < N, где N - значение, заданное параметром Range. Если параметр Range меньше или равен нулю, то вовращаемое значение будет равно нулю. 
     Генератор случайных чисел Random должен инициализироваться обращением к процедуре Randomize. 
     Прочее: См. также процедуру Randomize.

     Пример:

     uses Crt;
      begin
        Randomize;
        repeat
      { вывести текст со случайно выбранным цветом }
        TexAttr := Random(256);
        Write('!');
      until KeyPressed;
     end.

 Процедура Randomize
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Инициализирует встроенный генератор случайных чисел случайным значением. 
     Описание: Randomize

     Примечания: Случайное значение получается от системного таймера. 
     Замечание: Число, получаемое в результате работы генератора случайных чисел, хранится в предописаной переменной с именем RandSeed. Путем присваивания этой переменной конкретного значения можно получать каждый раз заданную последовательность случайны
х чисел. Это особено полезно в прикладных задачах, где используется кодирование данных. 
     Прочее: См. также процедуру Random.

 Процедура Read                                      Модуль WinCrt
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Считывает строку из окна CRT.

     Описание: ReadBuf(Buffer: PChar; Count: Word)

     Примечания: Параметр Buffer указывает на буфер строки, который имеет объем до Cunt символов. Может вводиться до Count - 2 символов, а когда пользователь нажимает клавишу Ebnter, к строке автоматически добавляется маркер конца строки (#13 и #10). Есл
и ChackEOF имеет значение True, то пользователь может также закончить ввод, нажав клавиши Ctrl+Z. При этом к строке будет присоединяться маркер конца файла (#26). Возвращаемое значение равно числу считанных символов, включая маркер конца строки. 
     Прочее: ReadChar.

 Процедура Read (текстовые файлы)
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Считывает одно или более значений из текстового файла в одну или более переменных. 
     Описание: Read( [ var f : text; ] v1, [, v2,...,vn ] )

     Примечания: Параметр f (если он указан) является файловой переменой, соответствующей текстовому файлу. Если он опущен, то подразумевается использование стандартной файловой переменной Input. Каждый параметр v является переменной символьного, строков
ого, целого или вещественного типа. 
     В случае строкового типа процедура Rеаd считывает из файла один символ и присваивает его переменной. Если перед выполнением процедуры Rеаd функция Eof(f) принимала значение Truе, то переменной присваивается значение Сhr(26) (символ Сtrl+Z). Если фун
кция Eoln(f) принимала истинное значение (Truе), то переменной присваивается значение Сhr(3) (символ возврата каретки). Следующая операция Rеаd начнется со следующего символа в файле. 
     В случае переменной целого типа процедура Rеаd ожидает поступления последовательности символов, образующих число со знаком (см. раздел "Числа" в Главе 1). Любые пробелы, знаки табуляции или метки конца строки, предшествующие числовой строке, пропуск
аются. Считывание прекращается при обнаружении первого пробела, символа табуляции или метки конца строки, которые следуют за числовой строкой, или в том случае, если функция Eof(f) принимает значение Truе. Если числовая строка не соответствует ожидаемому
 формату, то происходит ошибка ввода-вывода. В противном случае переменной присваивается значение. Если функция Eof(f) имела значение Truе перед выполнением процедуры Rеаd, или функция Eof(f) приняла значение Truе при пропуске начальных пробелов, знаков 
табуляции или меток конца строки, то переменной присваивается нулевое значение. Следующая операция Rеаd начнется с пробела, символа табуляции или метки конца строки, которыми завершилась числовая строка. 
     В случае переменной вещественного типа процедура Rеаd ожидает поступления последовательности символов, которые образуют число, но шестнадцатиричное представление не допускается. Любые пробелы, знаки табуляции или метки конца строки, предшествующие ч
исловой строке, пропускаются. Считывание прекращается при обнаружении первого пробела, символа табуляции или метки конца строки, которые следуют за числовой строкой, или в том случае, если функция Eof(f) принимает значение Truе. Если числовая строка не с
оответствует ожидаемому формату, то происходит ошибка ввода-вывода. В противном случае переменной присваивается значение. Если функция Eof(f) имела значение Truе перед выполнением процедуры Rеаd, или функция Eof(f) приняла значение Truе при пропуске нача
льных пробелов, знаков табуляции или меток конца строки, то переменной присваивается нулевое значение. Следующая операция Rеаd начнется с пробела, символа табуляции или метки конца строки, которыми завершилась числовая строка. 
     В случае переменной строкового типа процедура Rеаd считывает все символы, вплоть до следующей метки конца строки (но не включая ее), или пока функция Eof(f) не примет значение Truе. Переменной присваивается получившаяся в результате символьная строк
а. Если длина результирующей строки превышает длину, максимально допустимую для строковой переменной, то она усекается. Следующая операция Rеаd начинается с метки конца строки, которой завершилась предыдущая строка. 
     При разрешении расширенного синтаксиса функцию Read можно использвать для считывания в массивы с нулевой базой строк, завершающихся нулем. При использовании символьного массива вида array[0..N] of Char функция Read считывает до N символов, или пока 
Eoln(F) или Eof(F) не примут значения True, а затем присоединяет к строке нулевой завершающий символ NULL (#0). 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Ограничения: Процедура Rеаd со строковой переменной не делает после считывания пропуск до следующей строки. Поэтому для считывания последовательности строк нельзя использовать последовательные обращения к процедуре Rеаd, поскольку при этом вы никогд
а не перейдете дальше первой строки. После первого обращения к процедуре Rеаd последующие операции Rеаd будут обнаруживать метку конца строки и возвращать строку нулевой длины. Поэтому для считывания последовательности строк используйте обращения к проце
дуре Rеаdln. 
     Прочее: См. также процедуры Readln, ReadKey.

 Процедура Read (типизованные файлы)
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Считывает в переменную элемент файла.

     Описание: Read(f, v1, [, v2,...,vn])

     Примечания: Параметр f является файловой переменной, соответствующей любому типу файла, кроме текстового, а каждый элемент v представляет собой переменную того же типа, что и элемент файла f. При каждом считывании в переменную текущая позиция в файл
е продвигается к следующему элементу. Попытка считывания следующего элемента файла в тот момент, когда текущая позиция файла находится в конце файла (то есть когда Eof(f) имеет значение Truе) является ошибкой. 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Ограничения: Файл должен быть открыт.

     Прочее: См. также процедуру Write.

 Функция ReadKey                                     Модуль WinCrt
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Считывает символ с клавиатуры.

     Описание: ReadKey

     Тип результата: Символьный (char).

     Примечания: Считываемый символ не отображается на экране. Функция ReadKey поддерживает только стандартные коды клавиш ASCII. Расширенные кода, такие как коды клавиш перемещения курсора, не поддерживаются. 
 Процедура ReadLn
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Выполняет процедуру Rеаd, затем переходит к следующей строке файла. 
     Описание: ReadLn( [ var f : text; ] v1 [, v2,...,vn ] )

     Примечания: Процедура RеаdLn является расширением процедуры Rеаd и определена для текстовых файлов. После выполнения процедуры Rеаd процедура RеаdLn делает пропуск до начала следующей строки. 
     Вызов процедуры RеаdLn(f) без параметров приводит к перемещению текущей позиции файла на начало следующей строки (если она имеется, в противном случае происходит переход к концу файла). Функция RеаdLn без списка параметров полностью соответствует об
ращению RеаdLn(Input). 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Ограничения: Подпрограмма работает только для текстовых файлов, включая станадартный ввод. Файл должен быть открыт для ввода. 
     Прочее: См. также функцию Read.

 Процедура RemoveDir                                 Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Удаляет пустой подкаталог.

     Описание: RemoveDir(Dir : PChar)

     Примечания: Удаляется подкаталог с маршрутом, заданным параметром Dir. Ошибки (например, несуществующий или ненулевой каталог) можно получить с помощью переменной DosError. 
     Прочее: См. подпрограммы GetCurDir, CreateDir, SetCurDir. Функция RmDir также удаляет пустой подкаталог, но в качестве аргумента воспринимает строку Паскаля, а не строку с завершающим нулем. 
 Процедура Rename
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Переименовывает внешний файл.

     Описание: Rename(f; NewName : string)

     Примечания: Параметр f представляет собой файловую переменную, соответствующую любому файловому типу. Параметр NewName (новое имя) является выражением строкового типа. Внешнему файлу, связанному с переменной f, присваивается новое имя, заданное пара
метром NewName. Дальнейшие операции с f будут выполняться с внешним файлом с новым именем. 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Ограничения: Процедура Rename не должна использоваться для открытого файла. 
     Прочее: См. также процедуру Erase.

 Процедура Reset
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Открывает существующий файл.

     Описание: Reset(f [ : file; Size : word ] )

     Примечания: Параметр f является файловой переменной, соответствующей любому типу файла. Он должен быть связан с внешним файлом с помощью процедуры Assign. Параметр Size представляет собой необязательное выражение длиной в слово и может указываться т
олько в том случае, если f является нетипизованным файлом. 
     Процедура Reset открывает существующий внешний файл, имя которого было присвоено f. Если внешний файл с указанным именем отсутствует, то это является ошибкой. Если файл f уже открыт, то он сначала закрывается, а затем открывается вновь. Текущая пози
ция в файле устанавливается на начало файла. Если f было присвоено пустое имя (например, Assign(f'')), то после обращения к процедуре Reset f будет ссылкой на стандартный файл ввода (стандартный описатель 0). 
     Если f - текстовый файл, то он становится доступным только по чтению. После обращения к процедуре Reset Eof(f) принимает значение Truе, если файл пуст, и значение False в противном случае. 
     Если f является нетипизованным файлом, то параметр Size определяет размер записи, который должен использоваться при передаче данных. Если этот параметр опущен, то он подразумевается равным по умолчанию 128 байтам. 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Прочее: См. также процедуры Rewrite, Append, Assign, Close, Truncate. 
     Пример:

     function FileExists(FileName: string) : boolean;
     { булевская функция, возвращающая значение Truе, если файл
       существует и значение False в противном случае }
     var
       f : file;
     begin
      {$I-}
      Assign(f, FileName);
      Reset(f);
      Close(f);
      {I+}
      FileExists := (IOResult = 0) and (FileName <> '');
     end; { FileExists };
      begin
       if FileExists(ParamStr(1)) then { получить из командной
                                         строки имя файла }
       Writeln('Файл существует');
       else
       Writeln('Файл не найден');
     end.

 Процедура Rewrite
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Создает и открывает новый файл.

     Описание: Rewrite(f [ : file; Size : word ] )

     Примечания: Параметр f является файловой переменной, соответствующей любому типу файла. Он должен быть связан с внешним файлом с помощью процедуры Assign. Параметр Size представляет собой необязательное выражение длиной в слово и может указываться т
олько в том случае, если f является нетипизованным файлом. 
     Процедура Rewrite создает новый внешний файл, имя которого присвоено f. Если внешний файл с указанным именем уже существует, то он удаляется и на его месте создается новый пустой файл. Если файл f уже открыт, то он сначала закрывается, а затем откры
вается вновь. Текущая позиция в файле устанавливается на начало файла. Если f было присвоено пустое имя (например, Assign(f,'')), то после обращения к процедуре Reset(f) будет ссылкой на стандартный файл ввода (стандартный канал номер 1). 
     Если f - текстовый файл, то он становится доступным только по записи. После обращения к процедуре Rewrite Eof(f) принимает значение Truе, если файл пуст, и значение False в противном случае. 
     Если f является нетипизованным файлом, то параметр Size определяет размер записи, который должен использоваться при передаче данных. Если этот параметр опущен, то он подразумевается равным по умолчанию 128 байтам. 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Прочее: См. также процедуры Reset, Append, Assign, Truncate. 
     Пример:

     var f : text;
     begin
     Assign(f,'NEWFILE,$$$');
      Writeln(f,'Создается файл, в который записывается эта строка');
     Close(f);
     end.

 Процедура RmDir
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Удаляет пустой подкаталог.

     Описание: RmDir(s : string)

     Примечания: Параметр s является выражением строкового типа. Удаляется подкаталог с путем доступа, заданным строкой s. Если путь доступа не существует, является непустым или если он задает текущий католог, то происходит ошибка ввода-вывода. 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Прочее: См. также процедуры MkDir, ChDir, GetDir.

     Пример:

     begin
       {$I-}
     { получить имя каталога из командной строки }
     RmDir(ParamStr(1));
     if IOResult <> 0 then
        Writeln('Каталог удалить нельзя');
     else
        Writeln('Каталог удален');

 Функция Round
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Округляет значение вещественного типа до значения целого типа. 
     Описание: Round(x : real)

     Тип результата: Длинный целый (longint).

     Примечания: Параметр x представляет собой выражение вещественного типа. Функция Round возвращает значение длинного целого типа, которое является значением x, округленным до ближайшего целого числа. Если значение x находится точно посередине между дв
умя целыми числами, то результатом будет число с большим обсолютным значением. Если округленное значение x не соответствует диапазону представления длинного целого типа, то во время выполнения происходит ошибка. 
     Прочее: См. также функции Trunc, Int.

 Процедура RunError
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Останавливает выполнение программы и генерирует ошибку времени выполнения. 
     Описание: RunError [ (ErrCode : word ) ]

     Примечания: Процедура RunError аналогична процедуре Halt, но в дополнение к остановке программы она генерирует на текущем операторе ошибку времени выполнения. Параметр ErrCode представляет собой номер ошибки времени выполнения (0 опущен). Если текущ
ий модуль был скомпилирован с установленным параметром Debug Information (Отладочная информация), и вы запускаете программу из среды интерактивной отладки, то Турбо Паскаль обрабатывает обращение к RunErrorа как обычную ошибку времени выполнения. 
     Прочее: См. также процедуру Halt.

     Пример:

     {$IFDEF Debug}
        if P = nil then RunError(204);
     {$EDNIF}

 Функция ScrollTo                                    Модуль WinCrt
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Выполняет прокрутку окна CRT для вывода в левом верхнем углу позиции экрана с координатами (X,Y). 
     Описание: ScroolTo(X, Y: Integer)

     Примечания: Левому верхнему углу экрана соответствует точка с координатами (0,0). 
 Процедра Seek
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Перемещает текущую позицию файла на заданный элемент. 
     Описание: Seek(var F; N: Longint)

     Примечания: F - это файловая переменная любого типа, за исключением текстового файла, а N - выражение типа Longint. Текущая позиция файла F перемещается на элемент с номером N. Номер первого элемента файла равен 0. Чтобы увеличить файл, можно найти 
первый элемент после последнего, то есть Seek(F, FileSize(F)) перемещает текущую позицию файла на конец файла. 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Прочее: См. функцию FilePos.

 Функция SeekEof
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает для файла статус "конец файла" (end-of-file). 
     Описание: SeeEof [ (var f : text) ]

     Тип результата: Булевский (boolean).

     Примечания: За исключением того, что функция SеекEof пропускает все пробелы, знаки табуляции и метки конца строки, она полностью соответствует функции Eof. Ее полезно использовать при считывании числовых значений из текстового файла. 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Ограничения: Функцию можно использовать только для текстовых файлов. Файл должен быть открыт. 
     Прочее: См. также функции Eof, SeekEoln.

 Функция SeekEoln
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает для файла состояние "конец строки" (end-of-line). 
     Описание: SeekEoln [ (var f : text) ]

     Тип результата: Булевский (boolean).

     Примечания: За исключением того, что функция SееkEоln пропускает все пробелы и знаки табуляции, она полностью соответствует функции Eoln. Ее полезно использовать при считывании числовых значений из текстового файла. 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Oграничения: Функцию можно использовать только для текстовых файлов. Файл должен быть открыт. 
     Прочее: См. также функции Eoln, SeekEof.

 Функция Seg
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает сегмент для указанного объекта.

     Описание: Seg(x)

     Тип результата: Слово (word).

     Примечания: Параметр x представляет собой любую переменную или идентификатор процедуры или функции. Результат длиной в слово является адресом сегмента для x. 
     Прочее: См. также функции Ofs, Addr.

 Процедура SetCBreak                                 Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Устанавливает проверяемое операционной системой DOS состояние Ctrl+Break. 
     Описание: SetCBreak(Break : boolean)

     Примечания: Данная процедура устанавливает проверяемое DOS состояние Ctrl+Break. Когда это состояние выключено (False), DOS проверяет Ctrl+Break только во время выполнения ввода-вывода на консоль, устройство печати или порты. Во включенном состоянии
 (True) проверки выполняются при каждом системном выводе. 
     Прочее: См. также процедуру GetCBreak.

 Процедура SetCurDir                                 Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Изменяет текущий каталог в соответствии с маршрутом, заданным параметром Dir. 
     Описание: SetCurDir(Dir: PChar)

     Примечания: Если в Dir задается буквенная метка диска, то изменяется также текущий диск. Ошибки можно получить в DosError. 
     Прочее: См. также подпрограммы GetCurDir, CreateDir, RemoveDir. Процедурая ChDir выполняет те же функции, что и подпрограмма SetCurDir, но воспринимает в качестве аргумента строку Паскаля, а не строку с завершающим нулем. 
 Процедура SetDate                                      Модуль Dos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

      Назначение: Устанавливает текущую дату в операционной системе. 
     Описание: SetDate(var Y, M, D, Dw : word)

     Примечания: Возвращаемые значения имеют следующие допустимые значения: Y (год) - 1980..2099, M (месяц) - 1..12, D (число) 1..31, Dw (день недели) - 0..6 (где значение 0 соответствует воскресенью). Если дата указана неверно, то запрос игнорируется. 
     Прочее: См. также процедуры GetDate, GetTime, SetTime.

 Процедура SetFAttr                                  Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает атрибуты файла.

     Описание: SetAttr(var f; var Attr : byte)

     Примечания: Параметр f должнен представляеть собой файловую переменную (соответствующую типизованному, нетипизованному или текстовому файлу) для которого должно быть выполнено присваивание файловой переменой, но который не должен быть открыт. Формир
ование атрибутов выполняется путем добавления соответствующих масок, заданных в виде констант в модуле Dos: 
      const
       { константы атрибутов файла }
            ReadOnly   = $01;  { только чтение }
            Hidden     = $02;  { "скрытый" файл }
            SysFile    = $04;  { системный файл }
            VolumeId   = $08;  { идентификатор тома }
            Directory  = $10;  { каталог }
            Archive    = $20;  { архивизация }
            AnyFile    = $3F;  { прочий файл }

     Коды ошибок можно получить с помощью функции DosError. Возможными кодами ошибок являются код 3 (недопустимый маршрут) и код 5 (доступ к файлу отвергнут). 
     Ограничения: Файл не может быть открыт.

     Прочее: См. также процедуры GetFAttr, GetFTime, SetFTime.

     Пример:

     uses Dos;
      var
        f : file;
     begin
       Assign(f,'C:\AUTOEXEC.BAT');
       SetFAttr(f, Hidden);
       Readln;
       SetFAttr(f, Archive);
     end.

 Процедура SetFTime                                  Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Устанавливает дату и время последней записи файла. 
     Описание: SetTime(var f; Time : longint)

     Примечания: Параметр f должен быть файловой переменной, соответствующей типизованному, нетипизованному или текстовому файлу. Параметр Time (время) можно сформировать с помощью обращения к процедуре РасkТiме. Ошибки можно получить с помощью функции D
osError. Единственно возможным кодом ошибки является код 6 (недопустимый описатель файла). 
     Ограничения: Файл f должен быть открыт.

     Прочее: См. также процедуры GetFTime, PackTime, SetFAttr, UnPackTime. 
 Процедура SetIntVec                                 Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Устанавливает по указанному адресу заданный вектор прерывания. 
     Описание: SetIntVec(IntNum : byte; Vec : pointer)

     Примечания: Параметр IntNum задает номер вектора прерывания (0...255), а параметр Vec задает его адрес. Чтобы получить адрес процедуры обработки прерываний параметр Vec часто задается с использованием операции @. Предположим, что Int1BSave является 
переменной типа указатель и Int1BHandler - идентификатор процедуры обработки прерываний. Тогда следующая последовательность операторов новый обработчик прерывания $В1, а затем восстанавливает исходный обработчик прерывания: 
     GetIntVec($1B,Int1BSave);
     SetIntVec($1b,@Int1BHandler);
           .
           .
           .
     SetIntVec($1B,Int1BSave);

     Прочее: См. также процедуру GetIntVec.

 Процедура SetTextBuf
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Назначает для текстового файла буфер ввода-вывода.

     Описание: SetTextBuf(var f : text; var Buf [ ; Size : word])

     Примечания: Параметр f представляет собой файловую переменную, соответствующую текстовому файлу. Параметр Buf (буфер) - любая переменная, а параметр Size (размер) - необязательное выражение длиной в слово. 
     Каждая файловая переменная для текстового файла имеет внутренний буфер размером в 128 байт, что по умолчанию используется для буферизации операций чтения и записи. Этот буфер подходит для использования во многих прикладных задачах, однако программы,
 выполняющие значительное количество много операций ввода-вывода (например, задачи, осуществляющие копирование или преобразование текстовых файлов) будут лучше работать с буфером большего размера, поскольку это уменьшает перемещение головки по поверхност
и диска и избыточное использование файловой системы. 
     Процедура SetTextBuf переназначает буфер, используемый для текстового файла f: вместо внутреннего буфера файла f используется буфер, заданный параметром Buf. Параметр Size задает размер буфера в байтах. Если этот параметр опущен, то подразумевается 
использование SizeOf(Buf), то есть по умолчанию в качестве буфера используется вся область памяти, занятая буфером. Новый буфер действует до тех пор, пока для f вновь не выполняется процедура Assign. 
     Ограничения: Данная процедура никогда не должна применяться для открытого файла, хотя вызывать ее можно немедленно вслед за обращением к процедурам Reset, Rewrite и Appеnd. Вызов процедуры SetTextBuf для открытого файла во время выполнения операций 
ввода -вывода может из-за смены буфера привести к потере данных. 
     Турбо Паскаль не обеспечивает существование буфера на все время выполнения операций ввода-вывода для файла. Общей ошибкой, в частности, является введение качестве буфера локальной переменной и затем использование файла вне процедуры, в которой описы
вается буфер. 
     Пример:

        var
          f : text;
         ch : char;
        buf : char;                   { буфер 10 К }
       begin
       { назначить для файла считывание из командной строки }
       Assign(f, ParamStr(1));
       { ввести для более быстрого чтения буфер большего
       размера }
       SetTextBuffer(f, buf);
       Reset(f);
       { вывести текстовый файл на экран }
       while not Eof(f) do
       begin
         Read(f, ch);
         Write(ch);
       end;
       end.

 Процедура SetTime                                   Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Устанавливает в операционной системе текущее время. 
     Описание: SetTime(var Hour, Min, Sec, Ssec : word)

     Примечания: Возвращаемые параметры принимают следующие значения: Hour (час) - от 0 до 23, Min (минута) - от 0 до 59, Sec (секунда) - от 0 до 59 и Ssec (сотая доля секунды) - от 0 до 99. 
     Прочее: См. также процедуры GetTime, GetDate, SetDate.

 Процедура SetVerify                                 Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Устанавливает в DOS состояние флага проверки.

     Описание: SetVerify(Verify : boolean)

     Примечания: Процедура SetVerify устанавливает в операционной системе DOS состояние флага проверки. В сброшенном состоянии (False) проверка операций записи на диск не выполняется. В установленном состоянии флага (True) при операциях записи на диск вы
полняется поверки правильности выполнения операции. 
     Прочее: См. также процедуру GetVerify.

 Функция Sin
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает синус аргумента.

     Описание: Sin(x : real)

     Тип результата: Вещественный (real).

     Примечания: Параметр x является выражением вещественного типа. Результатом будет синус x. Предполагается, что это значение задает угол в радианах. 
     Пример:

       var
         r : real;
       begin
         r := Sin(Yк);
       end.

 Функция SizeOf
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает число байт, занимаемых аргументом.

     Описание: SizeOf(x)

     Тип результата: Слово (word).

     Примечания: Параметр x является ссылкой на переменную или идентификатором типа. Данная фунция возвращает число байт памяти, занимаемых x. 
     При передаче значений функциям FillChar, Моvе, GetМем всегда следует использовать функцию SizeOf: 
           FillChar(s, SizeOf(s), 0);
           GetMem(p, SizeOf(RecordType));

      Пример:

        type
          CustRec = record
                      Name  : string[30];
                      Phone : string[14];
                    end;
          var
            p : ^CustRec;
          begin
            GetMem(p, SizeOf(CustRec));
          end.

 Функция SPtr
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает текущее значение регистра SР.

     Описание: SPtr : word;

     Тип результата: Слово (word).

     Примечания: Результат длиной в слово представляет собой смещение указателя стека внутри сегмента стека. 
     Прочее: См. также функцию Sseg.

 Функция Sqr
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает квадрат аргумента.

     Описание: Sqr(x)

     Тип результата: Совпадает с типом параметра.

     Примечания: Параметр x представляет собой выражение целого или вещественного типа. Результат, имеющий тот же тип, что и x, представляет собой квадрат x, то есть x*x. 
 Функция Sqrt
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает квадратный корень аргумента.

     Описание: Sqrt(x : real)

     Тип результата: Вещественный (rеаl).

     Примечания: Параметр x представляет собой выражение вещественного типа. Результатом является квадратный корень x. 
 Функция SSeg
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает текущее значение регистра SS.

     Описание: SSeg : word

     Тип результата: Слово (word).

     Примечания: Результат длиной в слово представляет собой адрес сегмента для сегмента стека. 
     Прочее: См. также функции Sptr, Cseg, Dseg.

 Процедура Str
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Преобразует численное значение в его строковое представление. 
     Описание: Str(х [ : Size [ : Dec ] ], var s : string)

     Примечания: Параметр x является выражением целого или вещественного типа. Параметры Size и Dec представляют собой выражения целого типа. Параметр s - строковая переменная. Данная функция преобразует x в его строковое представление в соответствии в п
араметрами форматирования Size (размер) и Dec. За исключением того, что результирующая строка сохраняется в параметре s, вместо того, чтобы записываться в текстовый файл, результат выполения процедуры будет в точности тот же самый, что и при обращении к 
стандартной процедуре Write. 
     Прочее: См. также процедуры Val, Write.

     Пример:

       function IntToStr(i : longint) : string;
       { преобразует любое значение целого типа в строку }
       var
         s : string[1];
       begin
         Str(i,s);
         IntToStr := s;
       end;
       begin
         Writeln(IntToSt(-5322));
       end.

 Функция StrCat                                     Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Присоединяет копию одной строки к концу другой строки и возвращает строку, представляющую собой конкатенацию этих строк. 
     Описание: StrCat(Dest, Sourse : PChar)

     Тип результата: PChar.

     Примечания: Функция StrCat присоединяет копию строки Source к строке Dest и возвращает результат в Dest. Проверка длины строк не выполняется. Вы должны обеспечить, чтобы в буфере, заданном параметром Dest, было достаточно места (не менее StrLen(Dest
) + StrLen(Source) + 1 символов). Если вы хотите выполнять проверку длины, используйте функцию StrLCat. 
     Прочее: См. функцию StrLCat.

     Пример:

     uses Strings, WinCrt;
     const
        Turbo: PChar = 'Turbo';
        Pascal: PChar = 'Pascal';
     var
        S: array[0..15] of Char;
     bagin
        StrCopy(S, Turbo);
        StrCat(S, PAscal);
        Writeln(S);
     end.

 Функция StrComp                                    Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Сравнивает две строки.

     Описание: StrComp(Str1, Srtr2: PChar)

     Тип результата: Integer.

     Примечания: Функция StrComp сравнивает строку Srt1 со строкой Str2. Если Str1 < Str2, то возвращается значение, меньшее 0, если Str1 = Str2, то возвращается 0, а если Str1 > Str2 - то значение, большее нуля. 
     Прочее: См. также функции StrIComp, StrLComp, StrLIComp. 
     Пример:

     uses Strings, WinCrt;
     var
        C: Integer;
        Result: PChar;
        S1, S2: array[0..79] of Char;
     begin
        Readln(S1);
        Readln(S2);
        C := StrComp(S1, S2);
        if C < 0 then Result := ' меньше чем ' else
          if C > 0 then Result := ' больше чем ' else
             Result := ' равна ';
        Writeln(S1, Result, S2);
     end.

 Функция StrCopy                                    Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Копирует одну строку в другую.

     Описание: StrCopy(Dest, Source: PChar)

     Тип результата: PChar.

     Примечания: Функция StrCopy копирует строку Source в строку Dest и возвращает строку Dest. Никакой проверки длины строк функция StrCopy не выполняет. Вы должны обеспечить, чтобы в буфере, заданном параметром Dest, было достаточно места (не менее Str
Len(Source) + 1 символов). Если вы хотите выполнять проверку длины, используйте функцию StrLCat. 
     Прочее: См. также функции StrECopy, StrLCopy.

     Пример:

     uses Strings, WinCrt;
     var
        S: array[0..15] of Char;
     begin
        StrCopy(S, 'Turbo Pascal'');
        Writeln(S);
     end.

 Функция StrECopy                                   Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Копирует одну строку в другую, возвращая указатель на конец полученной в результате строки. 
     Описание: StrCopy(Dest, Source: PChar)

     Тип результата: PChar.

     Примечания: Функция StrECopy копирует строку Source в строку Dest и возвращает StrEnd(Dest). Никакой проверки длины строк функция StrECopy не выполняет. Вы должны обеспечить, чтобы в буфере, заданном параметром Dest, было достаточно места (не менее 
StrLen(Source) + 1 символов). Для конкатенации последовательности строк можно использовать вложенные вызовы StrECopy. 
     Прочее: См. также функции StrCopy, StrEnd.

     Пример:

     uses Strings, WinCrt;
     const
        Turbo: PChar = 'Turbo';
        Pascal: PChar = 'Pascal';
     var
        S: array[0..15] of Char;
     begin
        StrECopy(StrECopy(S, Turbo), ' '), Pascal);
        Writeln(S);
     end.

 Функция StrEnd                                     Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает указатель на конец строки.

     Описание: StrEnd(Str: PChar)

     Тип результата: PChar.

     Примечания: Функция StrEnd возвращает указатель на нулевой символ, который завершает строку Str. 
     Прочее: См. также функцию StrLen.

     Пример:

     uses Strings, WinCrt;
     var
        S: array[0..15] of Char;
     begin
        ReadLn(S);
        Writeln('Длина строки равна ', StrEnd(S) - S);
     end.

 Функция StrIComp                                   Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Сравнивает две строки без различия регистров символов. 
     Описание: StrIComp(Str1, Srtr2: PChar)

     Тип результата: Integer.

     Примечания: Функция StrIComp сравнивает строку Srt1 со строкой Str2. Если Str1 < Str2, то возвращается значение, меньшее 0, если Str1 = Str2, то возвращается 0, а если Str1 > Str2 - то значение, большее нуля. 
     Прочее: См. также функции StrComp, StrLComp, StrLIComp. 
 Функция StrLCat                                    Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Присоединяет копию одной строки к концу другой строки и возвращает строку, представляющую собой конкатенацию этих строк. 
     Описание: StrLCat(Dest, Sourse : PChar; MaxLen : Word)

     Тип результата: PChar.

     Примечания: Функция StrCat присоединяет не более MaxLen - StrLen(Dest) символов строки Source к концу строки Dest и возвращает результат в Dest. Для определения параметра MaxLen можно использовать функцию SizeOf (это показано в приведенном ниже прим
ере). 
     Прочее: См. функцию StrCat.

     Пример:

     uses Strings, WinCrt;
     var
        S: array[0..15] of Char;
     begin
        StrLCopy(S, 'Turbo', SizeOf(S) - 1);
        StrLCopy(S, ' ', SizeOf(S) - 1);
        StrLCopy(S, 'Turbo', SizeOf(S) - 1);
        Writeln(S);
     end.

 Функция StrLComp                                   Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Сравнивает две строки до максимальной длины.

     Описание: StrComp(Str1, Srtr2: PChar; MaxLen : Word)

     Тип результата: Integer.

     Примечания: Функция StrComp сравнивает строку Srt1 со строкой Str2 до максимальной длины MaxLen символов. Если Str1 < Str2, то возвращается значение, меньшее 0, если Str1 = Str2, то возвращается 0, а если Str1 > Str2 - то значение, большее нуля. 
     Прочее: См. также функции StrIComp, StrComp, StrLIComp. 
     Пример:

     uses Strings, WinCrt;
     var
        C: Integer;
        Result: PChar;
        S1, S2: array[0..79] of Char;
     begin
        Readln(S1);
        Readln(S2);
        if StrLComp(S1, S2, 5) = 0 then
             Result := ' равны'
        else
             Result := ' различны':
        Writeln('Первые пять символов ', Result);
     end.

 Функция StrLCopy                                   Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Копирует одну строку в другую.

     Описание: StrCopy(Dest, Source: PChar; MaxLen: Word)

     Тип результата: PChar.

     Примечания: Функция StrCopy копирует не более MaxLen символов из строки Source в строку Dest и возвращает строку Dest. Для определения параметра MaxLen можно использовать функцию SizeOf (это показано в приведенном ниже примере). 
     Прочее: См. также функции StrECopy, StrCopy.

     Пример:

     uses Strings, WinCrt;
     var
        S: array[0..15] of Char;
     begin
        StrCopy(S, 'Turbo Pascal' SizeOf(S) - 1);
        Writeln(S);
     end.

 Функция StrLIComp                                  Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Сравнивает две строки до максимальной длины без различия регистров символов. 
     Описание: StrComp(Str1, Srtr2: PChar; MaxLen : Word)

     Тип результата: Integer.

     Примечания: Функция StrComp сравнивает строку Srt1 со строкой Str2 до максимальной длины MaxLen символов. Если Str1 < Str2, то возвращается значение, меньшее 0, если Str1 = Str2, то возвращается 0, а если Str1 > Str2 - то значение, большее нуля. 
     Прочее: См. также функции StrIComp, StrComp, StrLComp. 
     Пример:

     uses Strings, WinCrt;
     var
        C: Integer;
        Result: PChar;
        S1, S2: array[0..79] of Char;
     begin
        Readln(S1);
        Readln(S2);
        if StrLComp(S1, S2, 5) = 0 then
             Result := ' равны'
        else
             Result := ' различны':
        Writeln('Первые пять символов ', Result);
     end.

 Функция StrLower                                   Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Преобразует строку в нижний регистр.

     Описание: StrLower(Str : PChar)

     Тип результата: PChar.

     Примечания: Функция StrLower преобразует строку Str в нижний регистр и возвращает строку Srt. 
     Прочее: См. также функцию StrUpper.

     Пример:

     uses Strings, WinCrt;
     var
        S: array[0..79] of Char;
     begin
        Readln(S);
        Writeln(StrLower(S));
        Writeln(StrUpper(S));
     end.

 Функция StrMove                                    Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Копирует символы из одной строки в другую.

     Описание: StrCopy(Dest, Source: PChar; Count: Word)

     Тип результата: PChar.

     Примечания: Функция StrMove копирует Count символов из строки Source в строку Dest и возвращает строку Dest. Строки Source и Dest могут перекрываться. 
     Прочее: См. также функции StrECopy, StrCopy.

     Пример:

     { строка равпределяется в динамически распределяемой
       памяти  }
     function StrNew(S: PChar): PChar;
     var
        L: Word;
        F: PChar;
     begin
        if (S = nil) or (S^ = #0) then StrNew := nil else
        begin
           L := StrLen(S) + 1;
           GetMem(P, L);
           StrNew := StrMove(P, S, L);
        end;
     end;

     { освободить память, выделенную для строки в
       динамически распределяемой памяти }
     procedure StrDispose(S: PChar);
     begin
        if S <> nil then FreeMem(S, StrLen(S) + 1);
     end;

 Функция StrNew                                     Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Выделяет память для строки в динамически распределяемой области памяти. 
     Описание: StrNew(Str: PChar)

     Тип результата: PChar.

     Примечания: Функция StrNew распределяет копию строки в динамически распределяемой области памяти. Если Str равно nil или указывает на пустую строку, то функция StrNew возвращает значение nil и не выделяет память в динамически распределяемой области.
 В противном случае функция StrNew делает копию строки Str, выделяя память с помощью вызова стандартной процедуры GetMem и возвращает указатель на строку-результат. Размер выделяемой области памяти равен StrLen(Str) + 1 байт. 
     Прочее: См. StrDispose.

     Пример:

     uses Strings, WinCrt;
     var
        P: PChar;
        S: array[0..79] of Char;
     begin
        Readln(S);
        P : SrtNew(S);
        Writeln(P);
        StrDispose(P);
     end.

 Функция StrPas                                     Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Преобразует строку, завершающуюся нулем, в строку Паскаля. 
     Описание: StrPas(Str: PChar)

     Тип результата: PChar.

     Примечания: Функция StrPas преобразует строку Str в стандартную строку Паскаля. 
     Прочее: См. StrPCopy.

     Пример:

     uses Strings, WinCrt;
     var
        S: string[79];
        S: array[0..79] of Char;
     begin
        Readln(A);
        S : SrtPas(A);
        Writeln(S);
     end.

 Функция StrPCopy                                   Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Копирует одну строку в другую.

     Описание: StrPCopy(Dest: PChar; Source: String)

     Тип результата: PChar.

     Примечания: Функция StrCopy копирует строку в формате Паскаля Source в строку Dest и возвращает строку Dest. Вы должны обеспечить, чтобы в буфере, заданном параметром Dest, было достаточно места (не менее StrLen(Source) + 1 символов). Если вы хотите
 выполнять проверку длины, используйте функцию StrLCat. 
     Прочее: См. также функции StrCopy.

     Пример:

     uses Strings, WinCrt;
     var
        A: array[0..15] of Char;
        S: string[79];
     begin
        Readln(S);
        StrPCopy(A, S);
        Writeln(A);
     end.

 Функция StrPos                                     Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает указатель на первое вхождение строки в другую строку. 
     Описание: StrPos(Str1, Str2: PChar)

     Тип результата: PChar.

     Примечания: Функция StrPos возвращает указатель на первое вхождение строки Str2 в Str1. Если строка Str2 не содержится в строке Str1, то StrPos возвращает значение nil. 
     Пример:

     uses Strings, WinCrt;
     var
        P: PChar;
        S, SubStr array[0..79] of Char;
     begin
        Readln(S);
        Readln(SubStr);
        P := StrPos(S, SubStr)
        if P = nil then
          Writeln('Подстрока не найдена');
        else
          Writeln('Подстрока найдена в позиции ', P-S);
     end.

 Функция StrRScan                                   Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает указатель на последнее вхождение символа в строку. 
     Описание: StrRScan(Str: PChar; Chr: Char)

     Тип результата: PChar.

     Примечания: Функция StrRScan возвращает указатель на последнее вхождение символа Chr в строку Str. Если символ Chr не содержится в строке Str, то StrRScan возвращает значение nil. Нулевой завершающий символ рассматривается как часть строки. 
     Прочее: См. также функции StrCopy.

     Пример:

     { возвращает указатель имя файла в полном имени
       маршрута }
     function NamePart(FileName: PChar);
     var
        P: PChar;
     begin
        P := StrRScan(FileName, '\');
        if P = nil then P := FileName;
     end;
        NamePart := P;
     end.

 Функция StrScan                                    Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает указатель на первое вхождение символа в строку. 
     Описание: StrScan(Str: PChar: Chr: Char)

     Тип результата: PChar.

     Примечания: Функция StrScan возвращает указатель на первое вхождение символа Chr в Str. Если символ Chr не содержится в строке Str, то StrScan возвращает значение nil. Нулевой завершающий символ рассматривается как часть строки. 
     Прочее: См. StrScan.

     Пример:
     { возвращает истинное значение, если имя файла
       содержит трафаретные символы }
     function RHasWildcards(FileName: PChar): Boolean;
     begin
        HasWildcards := (StrScan(FileName, '*') <> nil) or
           (StrScan(FileName, '?') <> nil);
     end;

 Функция StrUpper                                   Модуль Strings
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Преобразует строку в верхний регистр.

     Описание: StrUpper(Str : PChar)

     Тип результата: PChar.

     Примечания: Функция StrUpper преобразует строку Str в верхний регистр и возвращает строку Srt. 
     Прочее: См. также функцию StrUpper.

     Пример:

     uses Strings, WinCrt;
     var
        S: array[0..79] of Char;
     begin
        Readln(S);
        Writeln(StrLower(S));
        Writeln(StrUpper(S));
     end.

 Функция Succ
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает следующее значение аргумента.

     Описание: Succ(x)

     Тип результата: Совпадает с типом параметра.

     Примечания: Параметр x - выражение перечислимого типа. Результат, имеющий тот же тип, что и x, является следующим элементом x. 
     Прочее: См. также функции Pred, Inc.

 Функция Swap
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Переставляет местами старший и младший байты аргумента. 
     Описание: Swap(x)

     Тип результата: Совпадает с типом параметра.

     Примечания: Параметр x - выражение целого типа или слово.

     Прочее: См. также функции Hi, Lo.

     Пример:

       var
         x : word;
       begin
        x := Swap($1234);                        { $3412 }
       end.

 Функция TrackCursor
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Прокручивает окно CRT для обеспечения видимости курсора. 
     Описание: TrackCursor

 Функция Trunc
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Округляет значение вещественного типа до значения целого типа. 
     Описание: Trunc(x : real)

     Тип результата: Длинный целый (longint).

     Примечания: Параметр x представляет собой выражение вещественного типа. Функция Round возвращает значение длинного целого типа, которое является значением x, округленным в сторону нуля. 
     Ограничения: Если округленное значение x не соответствует диапазону представления длинного целого типа, то происходит ошибка этапа выполнения. 
     Прочее: См. также функции Round, Int.

 Процедура Truncate
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Усекает размер файла до текущей позиции в файле. 
     Описание: Truncate(f)

     Примечания: Параметр f является файловой переменной любого типа. Все записи после текущей позиции в файле f удаляются и текущая позиция в файле становится концом файла (функция Eof(f) принимает значение True). 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Ограничения: Файл f должен быть открыт.

     См. также процедуры Seek, Reset, Rewrite.

 Процедура UnpackTime                                Модуль WinDos
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Преобразует четырехбайтовое значение, представляющее собой упакованный длинный целый тип представления даты и времени, возвращаемый процедурами GetTime, FindFirst и FindNext, в распакованную запись TDateTime (дата и время) 
     Описание: UnpackTime(Time : longint; var Date : Time : longint; var DT : TDateTime) 
     Примечания: Запись TDateTime описана в модуле WinDos следующим образом: 
       TDateTime = record
                   Year, Month, Day, Hour,
                   Min, Sec, : word;
                  end;

     Для полей данной записи не выполняется проверка на правильность границ. 
     Прочее: См. также процедуры PackTime, GetFTime, SetFTime, GetTime, SetTime. 
 Функция UpCase
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Преобразует символ в прописную букву (в врехний регистр). 
     Описание: UpCase(Ch : char)

     Примечания: Параметр Ch представляет собой выражение символьного типа. Результатом символьного типа будет символ, задаваемый параметром Ch, преобразованный в прописной символ. Значения символов, не лежащие в диапазоне а...z, остаются без изменений. 

 Процедура Val
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Преобразует строковое значение в его численное представление. 
     Описание: Val(s : var V; var Code : integer)

     Примечания: Параметр s представляет собой выражение типа PChar. Параметр V - это переменная целого или вещественного типа. Параметр Code - это переменная целого типа, которая формирует все число со знаком. Параметр s должен представлять собой послед
овательность символов в виде полного числа со знаком (синтаксис показан в Главе 1 в разделе "Числа"). Функция Val преобразует строку s в ее численное представление и сохраняет результат в V. Если где-либо в строке встречается недопустимый символ, то его 
номер сохраняется в параметре Code. В противном случае этот параметр равен нулю. Для строк с завершающим нулем позиция ошибки, возвращаемая в Code, на 1 больше фактический индекс (считая с нуля) ошибочного символа. 
     В зависимости от состояния {$R} и типа параметра V функция Val по-разному выполняет проверку диапазона. 
     В зависимости от состояния {$R} и типа параметра V функция Val выполняет проверку диапазона по-разному. 
     Если состояние проверки диапазона установлено, то есть задано {$R+}, то выражения, выходящие за границу диапазона, всегда будут генерировать ошибку времени выполнения. Если состояние проверки диапазона сброшено, то есть задано {$R-}, то выражения, в
ыходящие за границу диапазона, будут вызываеть эффект, зависящий от их типа. Если V имеет тип real или longint, то значение V становится неопределенным и в параметре Code возвращается ненулевое значение. Для любого другого числового типа в параметре Code
 возвращается нулевое значение, а V будет содержать результат вычислений с переполнением (если предположить, что строковое значение попадает в диапазон представления длинного целого). 
     Таким образом, вы можете передавать функции Val переменную длинного целого типа (longint) и перед тем, как присваивать полученное значение, выполнять проверку диапазона. Например: 
        {$R-}
        Val('65536', LongIntVar, Code);
        if (Code <>0) or
           (LOngIntVar < 0) or (LongIntVar > 65535) then
           ...             { ошибка }
        else
          WordVar := LongIntVar;

     В данном примере LongIntVal будет установлено в значение 65536, a Code будет равно 0. Поскольку для переменгной типа Word значение 65536 выходит за границу диапазона, то будет сообщаться об ошибке. 
     Ограничения: Конечные пробелы должны быть удалены.

     Прочее: См. также процедуру Str.

     Пример:

       var
         i, code : integer;
        begin
          { получить текст из командной строки }
          Val(ParamStr(1), i, code);
          { ошибка при преобразовании в целое значение? }
          if code <> 0 then
             Writeln('Ошибка в позиции :', code);
          else
             Writeln('Значение = ', i);
        end.

 Функция WhereX                                      Модуль WinCrt
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает для текущей позиции курсора координату Х. 
     Описание: WhereX

     Тип результата: Байт (byte).

     Примечания: Возвращаемое значение отсчитывается от 1 и соответствует Cursor,X+1. 
 Функция WhereY                                      Модуль WinCrt
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Возвращает для текущей позиции курсора координату Y. 
     Описание: WhereY

     Тип результата: Байт (byte).

     Примечания: Возвращаемое значение отсчитывается от 1 и соответствует Cursor,Y+1. 
 Процедура Write (текстовые файлы)
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Записывает одно или более значений из одной или более переменных в текстовый файл. 
     Описание: Write( [var f : text; ] v1 [, v2,...,vn] )

     Примечания: Параметр f (если он указан) является файловой переменой, соответствующей текстовому файлу. Если он опущен, то подразумевается использование стандартной файловой переменной Output. Каждый параметр v является записываемым параметром. Кажды
й записываемый параметр включает в себя выводимое выражение, значение которого должно быть записано в файл. Каждое выводимое выражение должно быть символьного, целого, вещественного, строкового, упакованого строкового или булевского типа. 
     Записываемый параметр имеет вид:

     вывод_выраж [ : мин_разм [ : дес_знак ]]
 где "вывод_выраж" представляет собой выводимое выражение, а "мин_ разм" и "дес_знак" и являются выражениями целого типа. "мин_разм" задает минимальную ширину поля, которая должна быть больше нуля. Если "вывод_выраж" имеет значение, которое должно быть п
редставлено числом символов, превышающим задаваемое параметром "мин_разм", то записывается ровно столько символов, сколько определено в параметре "мин_разм" (при необходимости используются лидирующие пробелы). В этом случае, чтобы представить значение "в
ывод_выраж", записывается достаточное количество символов. Аналогично, если параметр "мин_разм" опущен, то для того, чтобы представить значение "вывод_выраж", записывается достаточное количество символов. 
     Параметр "дес_знак" задает число десятичных знаков в представлении вещественного значения с фиксированной точкой. Оно может указываться только в том случае, если "вывод_выраж" имеет вещественный тип, а также указан параметр "мин_разм". Если параметр
 "мин_разм" указан, то он должен быть больше нуля или равен нулю. 
     Что касается записи символьного значения (Char), то, если параметр "мин_разм" опущен, в файл записывается символьное выражение "вывод_выраж". 
     В противном случае значение параметра "мин_разм" - 1 определяет запись пробелов и далее символьного значения "вывод_выраж". 
     При записи целочисленного значения (Integer), если опущен параметр "мин_разм", то десятичное представление "вывод_выраж" записывается в файл без предшествующих пробелов. Если параметр "мин_разм" уазывается и его значение превышает длину десятичной с
троки, то перед десятичной строкой записывается количество пробелов, достаточное для того, чтобы длина десятичной строки соответствовала параметру "мин_разм". 
     При записи вещественного значения (Real), в файл записывается десятичное представление вещественного значения "вывод_выраж". Формат представления зависит от наличия или отсутствия параметра "дес_знак". 
     Если параметр "дес_знак" опущен (или если он присутствует, но имеет отрицательное значение), то записывается десятичная строка с плавающей точкой. Если параметр "мин_разм" также опущен, то по умолчанию он подразмевается равным 17. В противном случае
, если параметр "мин_разм" меньше 8, то его значение подразумевается равным 8. Десятичная строка с плавающей точкой имеет следующий формат: 
     [!-] <цифра>.<десят_знаки>Е[+!-<показатель_степени>]

     Элементы выводимой строки приведены в Таблице 24.1.

                   Элементы выводимой строки              Таблица 24.1
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД          
 [!-]                      Знак, соответствующий знаку "вывод-выраж"            

 <цифра>                   Отдельная цифра или ноль (в том случае,              
                           когда "вывод_выраж" равно 0.                         

 <десят_знаки>             Цифровая строка длиной "мин_разм"-7 (но не           
                           более 10 цифр).

 Е                         Прописной символ [Е].

 [+!-]                     Знак, соответствующий знаку экспоненты.              

 <показатель_степени>      Десятичный показатель степени из двух цифр.          
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД          

     Если присутствует параметр "дес_знак", то записывается десятичная строка с фиксированной точкой. Если значение данного параметра превышает 20, то оно считается равным 20. Строка с фиксированной точкой имеет следующий формат: 
     [<пробелы>][-]<цифры>[.<десят_знаки>]

     Элементы строки с фиксированной точкой приведены в Таблице 24.2. 
       Элементы строки с фиксированной точкой        Таблица 24.2
    ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    [.<пробелы>]      Пробелы (чтобы длины строки соответствовала
                      параметру "мин_разм".

    [-]               Знак -, если "вывод_выраж" отрицательно.

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

    <.десят_знаки>    Десятичные знаки, если параметр "дес_знак"
                      больше нуля.
    ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Запись значения строкового типа производится следующим образом. Если параметр "мин_разм" опущен, то в файл записывается строковое значение "вывод_выраж", а предшествующие пробелы отсутствуют. Если указан параметр "мин_разм" и его значение превышает 
длину "вывод_выраж", то перед десятичной строкой для того, чтобы ее длина соответствовала параметру "мин_разм", записывается достаточное количество пробелов. 
     При записи значения упакованного строкового типа, эффект будет тем же самым, что и при записи строки, длина которой соответствует числу элементов в выражении упакованного строкового типа. 
     При записи булевского значения Boolean выполняются такие же действия, как при записи строк Truе или False, в зависимости от значения "вывод_выраж". 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Ограничения: Файл должен быть открыт для вывода.

     Прочее: См. также процедуру Writeln.

 Процедура Write (типизованные файлы)
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Записывает переменную в элемент файла.

     Описание: Write(f, v1 [, v2,...,vn] )

     Примечания: Параметр f является файловой переменной, а каждый элемент v представляет собой переменную того же типа, что и элемент файла f. При каждой записи переменной текущая позиция в файле продвигается к следующему элементу. Если текущая позиция 
файла находится в конце файла (то есть когда Eof(f) имеет значение Truе), то файл расширяется. 
     При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае. 
     Прочее: См. также процедуру Writeln.

 Процедура WriteBuf                                  Модуль WinCrt
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Выводитт блок символов в окно CRT.

     Описание: WriteBuf(Buffer: PChar; Count: Word)

     Примечания: Параметр Buffer указывает на первый символ в блоке, а Count содержит число выводимых символов. Если AutoTracking имеет значение True, то окно CRT для обеспечения видимости курсора после вывода блока символов прокручивается. 
 Процедура WriteChar                                 Модуль WinCrt
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Выполняет запись одиночного символа в окно CRT. 
     Описание: WriteChar(Ch: Char)

     Примечания: С помощью вызова процедуры WriteBuf(@Ch, 1) записывает в окно CRT символ Ch в текущей позиции курсора. 
     Прочее: См. WriteBuf.

 Процедура Writeln
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Назначение: Выполняет процедуру Write, а затем записывает в файл метку конца строки. 
     Описание: Writeln( [ var f : text; ] v1, [, v2,...,vn])

     Примечания: Данная процедура является расширением процедуры Write для текстовых файлов. После выполнения процедуры Write процедура Writeln записывает метку конца строки (возврат каретки / перевод строки). 
     При вызове данной процедуры без параметров (Write(f)), в файл записывается метка конца строки. (Процедура Writeln без указания списка параметров полностью соответствует процедуре Writeln(Output)). 
     Ограничения: Файл должен быть открыт для вывода.

     Прочее: См. также процедуру Write.


Яндекс цитирования