Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Процедуры и функции для работы со String-строкамиVar Описание Turbo-строки Данному способу реализации строк соответствует стандартный тип String. Требуемая общая длина строки указывается в квадратных скобках. Примеры: S1:string; {общая длина = 255} S2:string[20]; {общая длина = 20} Данные процедуры и функции входят в состав модуля System, который автоматически подключается к любой программе. Поэтому в строке USES программы, работающей со строками, не нужно подключать дополнительные модули. Для символов, составляющих строки, применимы функции Ord(x), Pred(x), Succ(x), Chr(x), Upcase(x). Кроме этого, есть специальные процедуры и функции (всего 8): 1.function CONCAT(S1,[S2,…,SN]:String):String; Выполняет конкатенацию (сцепление) последовательности строк, указанных в качестве параметров функции. Результат – полученная строка, причем, если ее длина оказалась больше 255 символов, остаются первые 255. При вызове функции в качестве параметров можно задавать переменные, константы, выражения типа String. Пример: S1:=’светит’; S3:=’солнце’; S4:=concat(S1,’яркое’,S3); В результате S3=’светитяркоесолнце’; Такой же результат можно получить, используя операцию конкатенации, обозначаемую символом «+»: S3:=S1+’яркое’+S3; 2. function COPY(S:String; Ind:Integer; Count:Integer):String; Возвращает строку, число символов которой соответствует параметру Count и которая начинается с символа строки S, индекс которого равен Ind. При вызове функции в качестве параметров можно задавать переменные, константы или выражения: на первом месте – типа String, на втором и третьем - типа Integer. Пример: Пусть строка S содержит:
Тогда после выполнения оператора S1:=copy(S,9,5); строка S1 будет содержать текст ‘ХОРОШ’. 3. function LENGTH(S:String):Integer; Функция возвращает текущую длину строки. В качестве параметра может быть переменная. Константа или выражение типа String. Пример: Пусть строка S содержит:
Также объявлена переменная D типа Integer. Тогда после выполнения оператора D:=LENGTH(S); D будет содержать значение 13. 4. function POS(S,S1:String):Byte; Функция возвращает позицию первого вхождения строки S в строку S1. Если строка S в строке S1 не найдена, то функция возвращает 0. Примеры: Пусть строка S содержит:
Также объявлена переменная D типа Integer. Тогда после выполнения оператора D:=POS(‘CDE’,S); D будет содержать значение 3. А после выполнения оператора D:=POS(‘CDE_’,S); D будет содержать значение 0. 5. procedure DELETE(var S:String; Ind:Integer; Count:Integer); Процедура удаляет из строки S число символов, соответствующее параметру Count, начиная с символа, номер которого задан параметром Ind. При вызове процедуры в качестве параметров можно задавать: на первом месте – только переменная, на втором и третьем – переменная, константа, выражение типа Integer. Пример: Пусть строка S содержит:
Тогда после выполнения оператора DELETE(S,9,8); Строка S будет содержать
6. procedure INSERT(S:String; var S1:String; Ind:Integer); Процедура вставляет строку S в строку S1, начиная с позиции Ind. При вызове процедуры в качестве параметров можно задавать: на первом месте - переменная, константа, выражение типа String, на втором месте – только переменная, на третьем месте –переменная, константа или выражение типа Integer. Пример: Пусть строка S содержит:
Тогда после выполнения оператора INSERT(‘сильный’,S,9); Строка S будет содержать
7. procedure STR(X[:Size[:Dec]];var S:String); Преобразует численное значение в его строковое представление. Параметр Х – это выражение целого или вещественного типа. Параметры Size и Dec – выражения целого типа, задают параметры форматирования: Size – общий размер для записи числа, Dec – количество знаков после запятой (эти параметры имеют тот же смысл, что и при форматированном выводе на экран). В качестве второго параметра можно использовать только переменную типа String. Пример: Пусть D:=23.578; Тогда после выполнения оператора STR(D:6:2,S); Переменная S = ‘_23.58’, т.е. всего в строке будет 6 символов, т.к. форматированием задается общий размер записи числа равный 6. Из этих 6 символов последние 5 заняты числом, а первый равен пробелу. 8. procedure VAL(S:String; var V; var Cod:Integer); Преобразует строку S в ее численное представление и сохраняет его в переменной V. Если где-то в строке встречается недопустимый символ, то его позиция сохраняется в переменной Cod. Если недопустимых символов нет, то Cod=0. Первый параметр – строковая переменная, выражение или константа. Второй параметр V – переменная целого или вещественного типа. Третий параметр – переменная типа Integer. Примеры: А) Пусть S:=’-34.28’, а также имеются переменные D типа real и Cod типа Integer. Тогда после выполнения оператора VAL(S,D,Cod); Переменная D = -3.4280000e+01, Cod=0, т.к. в исходной строке нет недопустимых символов. Б) Пусть S:=’_34.28’ и те же переменные D и Cod. Тогда после выполнения оператора VAL(S,D,Cod); Переменная D = 0, Cod=1, т.к. в исходной строке на первой позиции находится пробел – недопустимый для числа символ. В) Пусть S:=’34abc28’ и те же переменные D и Cod. Тогда после выполнения оператора VAL(S,D,Cod); Переменная D = 0, Cod=3, т.к. в исходной строке на позиции №3 находится символ «a» – недопустимый для числа символ.
Дата добавления: 2014-03-11; просмотров: 381; Нарушение авторских прав Мы поможем в написании ваших работ! |