Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль / spravochnictp7 / Справочник по Турбо Паскалю 7.0.rtf
Скачиваний:
94
Добавлен:
10.12.2013
Размер:
821.03 Кб
Скачать

2.3.2. Строки. Строковые функции и процедуры

Строка – последовательность (цепочка) символов; строки занимают промежуточное место между простыми типами и структурами данных.

Для строк, как и для символьных данных, применимы операция объединения строк (конкатенация) и операции сравнения.

Объявление строк:

  1. var ИмяСтроки : string ; - строка длиной 255 cимволов.

  2. var ИмяСтроки : string [ДлинаСтроки] ; - строка заданной длины (1 255 Б).

При объявлении используются и другие разделы (type и const).

Пример:

  • const Month0 : string [10] = January’ ; { типизированная константа Month0 }type Month : string [10] ; { тип пользователя Month }var Mon1, Mon2 : Month ;

Day_of_week : string [12] ;

Обращение к символу строкиИмяСтроки [Nсимвола].ИмяСтроки [Nсимвола] может быть левой частью оператора присваивания, а также операндом в символьном выражении.

Нумерация символов в строке начинается с 1 (в байте с номером 0 помещается длина строки). Строковая константа может быть длиной 0 (‘’).

Процедуры и функции для работы с символами и строками

Обращение

Тип результата

Действие

Str (Выражение, Строка)

string

Преобразование целочисленного выражения в строку

Val (Строка, Число, Код)

real

Преобразование строки с числом, в число; в случае успеха, Код = 0

Insert (Строка1, Строка2, N)

string

Вставка Строки1 в Строку2, начиная с позиции N

Delete (Строка, N, M)

string

Удаление M-символов, начиная

с позиции N

Length (Строка)

byte

Количество символов в строке

Pos (Подстрока, Строка)

byte

Позиция подстроки в строке

(0, если не найдена)

Concat (Строка1,,СтрокаN)

string

Объединение N строк в одну

Copy (Строка, N, M)

string

Копирование из данной строки М-символов, начиная с позиции N

UpCase (Символ)

char

Преобразование строчной буквы в прописную (кроме русских букв)

  • Str, Val, Insert, Delete процедуры, остальные в таблице – функции.

  • Подстрока – часть строки; N – номер (позиция) символа в строке – целочисленная константа или переменная, значение которой не выходит из диапазона [1.. ДлинаСтроки]; M – количество символов в удаляемой или копируемой подстроке, причем (N + M - 1) ≤ ДлинаСтроки.

  • Функции преобразования типов данных Chr и Ord см. в гл. 2.3.5.

29

Стандартные средства обработки файлов

Обращение

Действие

Assign (F, ИмяФайла)

Связывает файловую переменную Fс внешним (физическим) файлом;

если второй параметр - ‘prn’, то файл выводится на печать, если - ‘ ’, то файл выводится на экран

Reset (F)

Открывает существующий файл для чтения

Rewrite (F)

Создает и открывает новый файл; при этом уничтожается существующий файл с таким же именем

Close (F)

Закрывает открытый ранее файл

Rename (СтароеИмяФайла, НовоеИмяФайла)

Переименовывает существующий внешний (закрытый) файл

Erase (F)

Удаляет внешний (закрытый) файл

ChDir (S)

Устанавливает текущий каталог

MkDir (S)

Создает подкаталог

RmDir (S)

Удаляет пустой каталог

Seek (ИмяФайла, N)

Устанавливает текущую позицию файла

на компонент с номером N в файле (режим прямого доступа);

не используется с текстовыми файлами

Truncate (F)

Усекает размер файла до текущей позиции

в файле (не используется с текстовыми файлами)

EOF (F)

Проверяет, достигнут ли конец файла (TRUE) или нет (FALSE)

IOResult

Возвращает результат последней операции ввода-вывода (0 - успех, < > 0 – неудача)

FilePos (F)

Возвращает текущую позицию в файле

(не используется с текстовыми файлами)

FileSize (F)

Возвращает текущий размер файла

(не используется с текстовыми файлами)

  • Последние четыре в таблице – функции, остальные – процедуры.

  • F – файловая переменная, S - переменная или константа строкового типа.

  • Для внешних файлов (файлов на диске) ИмяФайла – это имя типа файла ; оно может быть переменной или константой строкового типа длиной менее 80 символов; ИмяФайла должно быть полным именем файла (т.е. написано по правилам MS-DOS): иметь вид: [ИмяДиска:] [Путь\] СоставноеИмяФайла,

где СоставноеИмяФайла – это ИмяФайла [. Расширение], причем ИмяФайла  и Расширение состоят из разрешенных в MS-DOS символов. Количество символов в имени - 1÷8, в расширении - 1÷3; разделитель - точка; Квадратные скобки здесь обозначают, что данную конструкцию (сами скобки и их содержимое) можно опускать. Если имя диска/путь отсутствует, то диск/каталог считается текущим.

28

3) Объявление записи с вариантами (вариантными полями)

type ИмяЗаписи = record

СписокПолей; {Инвариантная часть}

case КлючВыбора of {СписокВыбора}

константа1: (Список1_полей) ;

константа2: (Список2_полей) ;

константаN: (СписокN_полей) ;

end ; {end закрывает record , а не case}

  • КлючВыборапеременная порядкового типа;

  • СписокВыбора – следующие за словом of варианты.

Оператор присоединения WITH

позволяет упростить доступ к полям записи, опуская в операторах внутри операторных скобок begin и end имя записи и указывая только имена полей этой записи.

with ИмяЗаписи do

begin

ОператорыПрограммы

end;