(продолжение 1)
Функция Concat
Назначение: Выполняет конкатенацию последовательности строк.
Описание: function Concat(s1, [s2, ..., sn]: String): String;
Примечания: Каждый параметр является выражением строкового типа. Результат представляет собой конкатенацию (объединение) всех строковых параметров. Если длина результирующей строки превышает 255 символов, то она усекается до 255 символов. Использование операции + дает тот же результат, что и вызов функции Concat:
Пример 20.1
VAR st1,st2: string; BEGIN st1:=Concat('ABCD','EFH'); st2:='ABCD'+'EFH'; { результат: st1=st2='ABCDEFH' } END.Процедура Continue
Назначение: Продолжает выполнение оператора for, while или repeat.
Описание: procedure Continue;
Примечания: Continue приводит к выполнению следующей итерации самого внутреннего оператора for, while или repeat. Если вызов Continue содержится вне указанных операторов цикла, то компилятор выведет сообщение об ошибке.
Пример 20.2
VAR i: byte; BEGIN for i:=1 to 20 do begin writeln('i=',i); Continue; { продолжить цикл (сверху) } writeln('Эта строка не будет написана.'); end; END.Функция Cos
Назначение: Возвращает косинус аргумента.
Описание: function Cos(x: Real): Real;
Примечания: Параметр x является выражением вещественного типа. Результатом будет косинус x. Предполагается, что это значение задает угол в радианах, т.е. x - это радианы, а не градусы.
Пример 20.3
VAR a:real; BEGIN a:=Cos(1710); { результат ~ 0.56 } END.Функция CSeg
Назначение: Возвращает текущее значение регистра CS.
Описание: function CSeg: Word;
Примечания: Результат длиной в слово представляет собой адрес сегмента для той части программы, из которой была вызвана функция CSeg.
Пример 20.4
VAR x: word; BEGIN x:=CSeg; writeln(x); END.Процедура Dec
Назначение: Уменьшает значение переменной.
Описание: procedure Dec(var x[; n: Longint]);
Примечания: Параметр x представляет собой переменную перечислимого типа, а n - целочисленное выражение. Значение x уменьшается на 1 (или на n в случае явного задания n). То есть Dес(x) соответствует x:=x-1, а Dес(x,n) соответствует x:=x-n. Функция Dес порождает оптимизированный код и особенно полезна в больших циклах.
Пример 20.5
VAR x: word; BEGIN x:=10; Dec(x); { уменьшить x на 1 (x=9) } Dec(x,3); { уменьшить x на 3 (x=6) } END.Процедура Delete
Назначение: Удаляет из строки подстроку.
Описание: Delete(var s: String; Indx: Integer; Count: Integer);
Примечания: Параметр s представляет собой выражение строкового типа. Параметры Indx и Count являются выражениями целого типа. Функция Delete удаляет символы, количество которых соответствует параметру Count, начиная с символа строки s, номер которого задан параметром Indx. Если значение параметра Indx превышает длину строки, то символы не удаляются. Если параметр Count задает больше символов, чем остается в строке, начиная с символа Indx, то удаляется остаток строки.
Пример 20.6
VAR st: string; BEGIN st:='треугольник'; Delete(st,4,7); { результат: st='трек' } END.Процедура Dispose
Назначение: Уничтожает динамическую переменную.
Описание: procedure Dispose(var p: Pointer [, Destructor]);
Примечания: Параметр p является переменной-указателем и может иметь тип, соответствующий любому типу указателя. Для этого параметра должно быть предварительно выполнено присваивание с помощью процедуры New или ему должно быть присвоено значащее значение с помощью оператора присваивания.
Данная процедура уничтожает переменную, на которую указывает p и возвращает занимаемую ей память в динамически распределяемую область памяти. Значение p становится неопределенным, и последующие ссылки вида p^ являются ошибкой.
Ограничения: Если p не указывает на область в динамической памяти (p=nil), то происходит ошибка этапа выполнения.
Пример 20.7
VAR p: ^string; x,y,z:word; BEGIN x:=maxavail; { сколько памяти сначало } New(p); { занять память для переменной } y:=maxavail; { сколько осталось памяти } Dispose(p); { освободить память } z:=maxavail; { сколько памяти после освобождения } writeln('Было памяти =',x); writeln('Заняли под переменную, стало =',y); writeln('Освободили память =',z); END.Функция DSeg
Назначение: Возвращает текущее значение регистра DS.
Описание: function DSeg: Word;
Примечания: Результат длиной в слово представляет собой адрес сегмента данных.
Пример 20.8
VAR x: word; BEGIN x:=DSeg; writeln(x); END.Функция Eof
Назначение: Возвращает состояние "конец файла" (end-of-file) для текстовых файлов.
Описание: function Eof[ (var f: Text) ]: Boolean;
Примечания: Параметр f представляет собой файловую переменную. Если этот параметр опущен, то используется стандартная файловая переменная Input. Если текущая позиция в файле находится за последним элементом файла или если файл не содержит никаких элементов, то функция Eоf(f) возвращает значение Truе. В противном случае она возвращает значение False.
При указании директивы компилятора {$I+} функция IОRеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае.
Пример 20.9
VAR f: text; s: char; BEGIN assign(f,'test.txt'); reset(f); { октрыть файл для чтения } repeat read(f,s); { считать из файла 1 символ } write(s); { отобразить символ на экран } until Eof(f); { повторять пока не будет конец файла, Eof(f)=true } close(f); END.Функция Eoln
Назначение: Для файлов возвращает состояние "конец строки" (end-of-line).
Описание: function Eoln [ (var f : text) ]: Boolean;
Примечания: Параметр f представляет собой файловую переменную, определяющую текстовый файл. Если этот параметр опущен, то подразумевается использование стандартной файловой переменной Input. Если текущая позиция в файле находится на метке конца строки, то функция Eоln(f) возвращает значение Truе. В противном случае она возвращает значение False.
При проверке состояния "конец строки" для стандартного ввода, направление которого изменено не было, следующая программа ожидает, пока не будет введен символ возврата каретки, а затем передает управление функции Eoln.
BEGIN writeLn(Eoln); { Это приведет к тому, что программа будет ожидать } { ввода с клавиатуры } END.При указании директивы компилятора {$I+} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае.
Пример 20.10
VAR f: text; s: char; BEGIN assign(f,'test.txt'); reset(f); { октрыть файл для чтения } repeat read(f,s); { считать из файла 1 символ } write(s); { отобразить символ на экран } until Eoln(f); { повторять пока не будет конец строки, Eoln(f)=true } colose(f); END.Процедура Erase
Назначение: Стирает внешний файл.
Описание: procedure Erase (var f);
Примечания: Параметр f представляет собой файловую переменную любого файлового типа. Внешний файл, связанный с переменной f, стирается.
При указании директивы компилятора {$I-} функция IORеsult будет возвращать значение 0 в том случае, если операция завершилась успешно, и ненулевой код ошибки в противном случае.
Ограничения: Процедура Erase не должна использоваться для открытого файла.
Пример 20.11
VAR f: text; BEGIN assign(f,'test.txt'); Erase(f); { удалить файл test.txt } END.