С Т Р О К И Язык программирования DELPHI
Строковые значения Строка - последовательность символов. Строковые значения заключаются в апострофы. ПР: File. Name: = 'Help. txt'; Для записи апострофа в строке как значащего символа применяются два апострофа, следующих непосредственно друг за другом. ПР: Str: ='Object Pascal is Delphi''s and Kylix''s language';
Строковые значения Для записи отсутствующих на клавиатуре символов используется символ #, за которым следует десятичный номер символа в кодовой таблице ASCII. ПР: a: =#169; Строка, которая не содержит символов, называется пустой: ПР: Empty. Str: ='';
Строковые данные Тип данных Максималь. Из каких символов ный размер состоит значение (символов) Short. String символы расширенной кодовой таблицы ANSI 255 Ansi. String символы расширенной кодовой таблицы ANSI ~2^31 4 б. . 2 Гб Wide. String символы кодовой таблицы Unicode ~2^30 4 б. . 2 Гб Объем памяти 2. . 256 байт
Строковые переменные Способы объявления строковой переменной: n помощью зарезервированного слова string: если используется директива {$H+} (по умолчанию), то компилятор интерпретирует это как Ansi. String; если используется директива {$H-}, то компилятор интерпретирует это как Short. String. с помощью string[n], где n - значение максимально допустимой длины. n
Строковые переменные ПР: Var Name: string; Address: Short. String; Person: string[30]; First. Name: Ansi. String; …………… begin First. Name: = ‘Привет!‘; . . . . end. First. Name[2] – второй символ строки
Операции над строками Операндами строковых выражений являются строковые данные Строковые выражения состоят из строковых констант, переменных, имен функций и строковых операций Операция склеивания (+) - для сцепления нескольких строк в одну строку ПР: S: = 'Object' + ' Pascal‘ // Значение переменной 'Object Pascal‘
Операции над строками Операции отношения (=, <>, >, <, >=, <=) проводят сравнение двух строковых операндов посимвольно 'USA' < 'USES‘ 'abcde' > 'ABCDE‘ True { ‘A’ < ‘E’ } True‘ { ‘a’ > ‘A’ } Если короткой строке присваивается значение, длина которого превышает максимально допустимую величину, то все лишние символы справа отбрасываются
Функции для работы со строками модуль System Concat(S 1, S 2, . . . , Sn : string) : string возвращает строку, полученную в результате сцепления строк S 1, S 2, . . . , Sn ПР: S: = Concat('Object‘, ‘ ‘, 'Pascal‘); // S = 'Object Pascal‘ Copy(S: string; Index, Count: Integer) : string выделяет из строки S подстроку длиной Count символов, начиная с позиции Index ПР: S: = 'Object Pascal‘; T: = Copy(S, 8, 6); // T = ‘Pascal‘
Функции для работы со строками модуль System Length(S: string) : Integer возвращает реальную длину строки S в символах ПР: S: = 'Object Pascal‘; K: = Length(S); // K = 13 Pos(Substr, S: string): Byte возвращает номер позиции, где находится первый символ подстроки Substr в строке S. Если в S подстроки Substr не найдено, результат равен 0. ПР: S: = 'Object Pascal‘; K: = Pos(‘Pascal‘, S); // K = 8
Процедуры для работы со строками модуль System Delete(var S: string; Index, Count: Integer) удаляет Count символов из строки S, начиная с позиции Index ПР: S: = 'Object Pascal‘; Delete(S, 1, 7); // S = ‘Pascal‘ Insert(Source: string; var S: string; Index: Integer) вставляет строку Source в строку S, начиная с позиции Index ПР: S: = 'Obj Pascal‘; Insert(‘ect’, S, 4); // S = ‘Object Pascal‘ Set. Length(var S: string; New. Length: Integer) устанавливает для строки S новую длину New. Length
Процедуры для работы со строками модуль System Str (X [: Width [: Decimals] ], var S: string) преобразует числовое значение величины X в строку S. Width - ширина поля результирующей строки. Decimals (для вещественных чисел) задает количество символов в дробной части. ПР: K: =52. 4589; M: =34; Str(K: 5: 2, S 1); Str(M, S 2); // S 1=‘ 52. 45’ S 2=’ 34’
Процедуры для работы со строками модуль System Val(S: string, var V, Code: Integer) преобразует строку S в величину целого или вещественного типа и помещает результат в переменную V. Если ошибки не возникнет, Code=0. Если ошибка есть, Code = номеру позиции первого ошибочного символа. ПР: S 1: =‘ 5. 49’; S 2: =’ 34 a’; Val(S 1, T 1, C 1); Val(S 2, T 2, C 2); // T 1= 5. 49, C 1=0; T 2 не определено, C 2=3
Процедуры и функции для работы со строками Если хотите подробнее рассмотреть список процедур и функций для работы со строками, содержащимися в модуле Sys. Utils, жмите сюда


