Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Работа со строкамиСтроковый тип данных - один из самых часто используемых в программах тип. Действительно, без него не обходится практически ни один алгоритм. Даже программы, выполняющие исключительно математические операции, порой, написаны с использованием строковых типов данных. Строка - это последовательность символов. В Object Pascal существует несколько строковых типов: Тип данных Максимальная длина Используемая память Используется для... ShortString 255 символов от 2 до 256 байт Минимальная совместимость, хранение небольших строк AnsiString около 2^31 символов от 4 байт до 2 Гб 8-битные символы (ANSI), DBCS ANSI, MBCS ANSI и т.д. WideString около 2^30 символов от 4 байт до 2 Гб Юникод-символы - многопользовательские сервера, мультиязыковые приложения Для большинства целей подходит тип AnsiString (иногда называется LongString), а также универсальный тип String (аналог AnsiString). Примеры описания строк: type str_type = string [12]; const n = 50; var s1: string; s2, s3: str_type; s4: string [n]; s5, s6, s7: string [7];
Для работы со строками в Object Pascal`е существует довольно много процедур и функций, перечислять которые здесь не имеет смысла. Приведем только некоторые из них. Стандартные функции и процедуры обработки строк: 1) Функция Length(Str: String) - возвращает длину строки (количество символов). Пример: var Str: String; L: Integer; {... } Str:='Привет!'; L:=Length(Str); { L = 6 }
2) Функция SetLength(Str: String; NewLength: Integer) позволяет изменить длину строки. Если строка содержала большее количество символов, чем задано в функции, то "лишние" символы обрезаются. Пример: var Str: String; {... } Str:='Hello, world!'; SetLength(Str, 5); { Str = "Hello" }
3) Функция Pos(SubStr, Str: String) - возвращает позицию подстроки в строке. Нумерация символов начинается с единицы. В случае отсутствия подстроки в строке возращается 0. Пример: var Str1, Str2: String; P: Integer; { ... } Str1:='Пример решения 1-й задачи'; Str2:='1-й'; P:=Pos(Str2, Str1); { P = 16 }
4) Функция Copy(Str: String; Start, Length: Integer) - возвращает часть строки Str, начиная с символа Start длиной Length. Ограничений на Length нет - если оно превышает количество символов от Start до конца строки, то строка будет скопирована до конца. Пример: var Str1, Str2: String; {... } Str1:='Тест решения задачи'; Str2:=Copy(Str1, 6, 7); { Str2 = 'решения' }
5) Функция Delete(Str: String; Start, Length: Integer) - удаляет из строки Str символы, начиная с позиции Start длиной Length. Пример: var Str1: String; {... } Str1:= 'Тест решения задачи'; Delete(Str1, 6, 8); { Str1 = 'Тест задачи' }
6) Функции UpperCase(Str: String) и LowerCase(Str: String) преобразуют строку соответственно в верхний и нижний регистры: Пример: var Str1, Str2, Str3: String; {... } Str1:='hELLo'; Str2:=UpperCase(Str1); { Str2 = 'HELLO' } Str3:=LowerCase(Str1); { Str3 = 'hello' }
Строки можно сравнивать друг с другом стандартным способом: Пример: var Str1, Str2, Str3: String; B1, B2: Boolean; {... } Str1:= '123'; Str2:= '456'; Str3:= '123'; B1:= (Str1 = Str2); { B1 = False } B2:= (Str1 = Str3); { B2 = True } Если строки полностью идентичны, логическое выражение станет равным True.
Помимо отмеченных стандатных фунций и процедур, существует еще довольно большое количество дополнительных, которые размещены в модуле StrUtils.pas. Чтобы подключить этот модуль к программе, нужно добавить его имя (StrUtils) в раздел Uses.
|