(продолжение 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.