Параметры таковы:

• S – ссылка на строку;

• Index – индекс первого удаляемого символа;

• Count – количество удаляемых символов.

Вот пример её применения.

      S:= ’Free Pascal forever!’;

      Delete(S, 6, 7);       { ’Free forever!’ }

Сравнение строк

Мы уже сравнивали строки на равенство (вспомните проверку пароля). Но строки сравнивают и на больше–меньше — лексикографически. При этом сравниваются слева направо коды символов двух строк в смысле их алфавитного порядка. Если длины строк разные и короткая совпадает с началом длинной, то большей считается длинная строка. Вот примеры:

      Writeln (’Borland’ > ’Pascal’); { false }

      Writeln (’ABC’ > ’AB’);   { true }

      Writeln (’ABC’ > ’abc’);  { false }

      Writeln (’45’ > ’1000’);  { true, поскольку ’4’ > ’1’ }

В первом примере код буквы «B» меньше кода буквы «P», поэтому левая строка меньше правой. Во втором случае первые символы совпадают, но левая строка длиннее, а значит больше. В третьем примере левая строка меньше, — тоже в соответствии с таблицей кодировки. Обратите внимание на неожиданный результат сравнения строк, составленных из цифр, — это вам не числа!

Сравнивая строки, можно отсортировать их в лексикографическом порядке (как если бы они располагались в словаре). К сожалению, такое сравнение работает только для латинских букв, для русских оно не всегда верно, приходится изобретать свою функцию сравнения (в DELPHI этой проблемы нет).

Перевод символов в верхний регистр (UpСase)

Функция UpСase меняет код латинской буквы, переводя её из нижнего в верхний регистр. Иными словами, она превращает строчную (маленькую) латинскую букву в заглавную (большую). Объявление функции таково.

      function UpCase(Ch: Char): Char;

Входной параметр – символ, а возвращается почти тот же символ, только «подросший», вот примеры.

      c:= UpCase(’r’);       { ’R’ }

      c:= ’n’;

      c:= UpCase( c );       { ’N’ }

Подсунув этой функции большую латинскую букву, цифру или знак препинания, вы получите назад свой символ неизменным. То же будет и с русскими буквами – они не обрабатываются функцией UpСase.

      c:= UpCase(’R’);       { ’R’ }

      c:= UpCase(’8’);       { ’8’ }

      c:= UpCase(’ы’);       { ’ы’ }

Функцией UpСase обычно приводят введенные строки к определенному виду. Ведь пользователь может ввести данные как заглавными, так и строчными буквами, а это иногда мешает правильной обработке строки.

Ознакомившись со строковой теорией, применим её, что называется, «в бою».

Подсчет слов в строке

Вот вам строка, посчитайте в ней количество слов «Pascal». Чуть подумав, вы остановитесь на функции Pos, – ведь она возвращает позицию искомого

Вы читаете Песни о Паскале
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату