Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
26.04.2015
Размер:
205.82 Кб
Скачать

Строковый тип

Строковый тип String (строка) в Delphi широко используется для обработки текстов. Данные В интерфейсе приложения ( в визуальных компонентах) значения данных как правило строковым типом. Этот тип является стандартным структурированным типом

В языке Delphi имеются строковые типы данных, которые перечислены в таблице 12.

Таблица 12.

Тип данных

Максимальная длина

Занимаемая память

Используется для..

ShortString

255 символов

2 – 256 байт

Совместимости с предыдущими версиями языка

AnsiString

2 в степени 31 символов

4 байта – 2 Гбайта

Символов ANSI, строк переменной длины

Кроме того, наиболее часто применяется тип данных String. Для уменьшения объема выделяемой памяти в типе String можно указывать его длину.

Строки по своему определению являются массивами символов Char. Поэтому для обращения к любому символу строки достаточно указать название строковой переменной и номер символа (как при обращении к элементу массива) :

Пример

var

A: Char;

MyString: String; // длина определяется директивой компиляции

Name:String[20]; // длина 20

…..

MyString := ‘Строка символов’ ;

A := MyString [10]; // A = ‘м’

Name:=’Иванов’;

Строковая константа это набор символов заключенный в апострофы.

Пример

‘Пример’, ‘Строка =’’Qwerty’’’, ‘123456’, ''

Над строками допустима только одна операция “склеивание” -

Name:='Turbo' +’ ’ +’Pascal’;// значение ‘Turbo Pascal’

Сравнение строк выполняется посимвольно в соответствии с их кодами до первого несовпадения. Если одна из строк закончилась до первого несовпадения, то она считается меньшей. Пустая строка меньше любой строки.

Пример

'abcd' > 'abcD' { 'd'>'D' }

'abcd' > 'abc' { 'd'>'' }

'abc' < 'axxc' { 'b'<'x' }

'abcd' = 'abcd'

Существует ряд стандартных функций и процедур для работы со строками.

  • Функция Length(s) выдает длину строки s.

  • Функция Concat(s1, s2,.., sn) возращает строку s1+s2+..+sn.

  • Функция Copy(s, p, k) возвращает фрагмент строки s, который начинается в позиции p и имеет длину k.

  • Функция Pos(s1, s) ищет первое вхождение подстроки s1 в строку s и возвращает номер первого символа s1 в строке s или 0 если не нашли.

  • Процедура Delete(s, p, k) удаляет из строки s фрагмент, который начинается в позиции p и имеет длину k.

  • Процедура Insert(s, s1, p) вставляет в строку s подстроку s1, начиная с заданной позиции p.

  • Функция CompareStr (s1,s2 ) сравнивает строки и принимает отрицательное значение если s1<s2 , 0 если s1=s2 , положительное значение если s1>s2

  • Функция CompareText (s1,s2 ) то же без учета регистров

  • Функция TrimRight ( s ) удаляет пробелы справа ( TrimLeft ( s ) – слева )

  • Функция LowerCase (s) переводит в нижний регистр ( UpperCase (s) – верхний

Пример

var S,S1 : String; I: Integer;

……

S1:=’’;

for i:=Length(s) downto 1 do

S1:=S1+Copy(S, i, 1); // S1 состоит из символов S в обратном порядке.

Соседние файлы в папке Методический материал