Что нового
  • Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Работа со строковыми типами данных

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,184
Баллы
155
Функция Length(Str: String)- возвращает длину строки (количество символов). Пример:
Код:
var
   Str: String; L: Integer;
{ ... }
Str:='Hello!';
L:=Length(Str);  { L = 6 }
Функция SetLength(Str: String; NewLength: Integer)позволяет изменить длину строки. Если строка содержала большее количество символов, чем задано в функции, то "лишние" символы обрезаются. Пример:
Код:
var Str: String;
{ ... }
Str:='Hello, world!';
SetLength(Str, 5); { Str = "Hello" }
Функция Pos(SubStr, Str: String)- возвращает позицию подстроки в строке. Нумерация символов начинается с единицы (1). В случае отсутствия подстроки в строке возвращается 0. Пример:
Код:
var Str1, Str2: String; P: Integer;
{ ... }
Str1:='Hi! How do you do?';
Str2:='do';
P:=Pos(Str2, Str1);  { P = 9 }
Функция Copy(Str: String; Start, Length: Integer)- возвращает часть строки Str, начиная с символа Start длиной Length. Ограничений на Length нет - если оно превышает количество символов от Start до конца строки, то строка будет скопирована до конца. Пример:
Код:
var Str1, Str2: String;
{ ... }
Str1:='This is a test for Copy() function.';
Str2:=Copy(Str1, 11, 4); { Str2 = "test" }
Процедура Delete(Str: String; Start, Length: Integer)- удаляет из строки Str символы, начиная с позиции Start длиной Length. Пример:
Код:
var Str1: String;
{ ... }
Str1:='Hello, world!';
Delete(Str1, 6, 7); { Str1 = "Hello!" }
Процедура Insert(SubStr: String; Str: String; Pos: Integer)- вставляет в строку Str подстроку SubStr в позицию Pos. Пример:
Код:
var Str: String;
{ ... }
Str:='Hello, world!';
Insert('my ',Str, 8); { Str1 = "Hello, my world!" }
Функции UpperCase(Str: String)иLowerCase(Str: String)преобразуют строку соответственно в верхний и нижний регистры:
Код:
var Str1, Str2, Str3: String;
{ ... }
Str1:='hELLo';
Str2:=UpperCase(Str1); { Str2 = "HELLO" }
Str3:=LowerCase(Str1); { Str3 = "hello" }
В модуле StrUtils.pasсодержатся полезные функции для обработки строковых переменных. Чтобы подключить этот модуль к программе, нужно добавить его имя (StrUtils) в раздел Uses.
PosEx(SubStr, Str: String; Offset: Integer)- функция аналогична функции Pos(), но позволяет задать отступ от начала строки для поиска. Если значение Offset задано (оно не является обязательным), то поиск начинается с символа Offset в строке. Если Offset больше длины строки Str, то функция возратит 0. Также 0 возвращается, если подстрока не найдена в строке. Пример:
Код:
uses StrUtils;
{ ... }
var Str1, Str2: String; P1, P2: Integer;
{ ... }
Str1:='Hello! How do you do?';
Str2:='do';
P1:=PosEx(Str2, Str1, 1); { P1 = 12 }
P2:=PosEx(Str2, Str1, 15); { P2 = 19 }
Функции ReverseString(Str: String)иAnsiReverseString(Str: AnsiString)- инвертируют строку, т.е. располагают её символы в обратном порядке. Пример:
Код:
uses StrUtils;
{ ... }
var Str1: String;
{ ... }
Str1:='0123456789';
Str1:=ReverseString(Str1); { Str1 = "9876543210" }
 
Последнее редактирование:
Вверх