Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать неотразимый комплимент Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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.

 






Date: 2015-06-08; view: 238; Нарушение авторских прав

mydocx.ru - 2015-2019 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию