В Pascal строкой называется массив из Литерных символов, где 0-ое значение занято размером строки.
Общее.
При объявлении строки можно задать её размер. Максимальный размер строки 255 символов. По умолчанию, если размер строки не указан явно, в Borland Pascal и Turbo Pascal размер строки будет равен 255 символов, в UCSD Pascal – 80. В FreePascal и Delphi не ограниченная переменная string имеет на самом деле имеет тип AnsiString который может занимать максимальный размер в памяти до 2 Гб это 2147483646 символов.
В Object Pascal строковая переменная так же имеет ограничение в 2 Гб.
Объявление строки.
Что бы объявить строку, в блоке var надо указать тип string и возможно указать кол-во элементов, по следующему шаблону:
или
Пример объявления строковой переменной:
Можно так же объявить строку, через объявления пользовательского типа.
Шаблон такого способа будет выглядеть так:
Пример:
Процедуры, предназначенные для работы над строками:
Delete
Пример:
В результатае строка Str будет иметь значение ‘12789’ соответственно 4 символа начиная с третьего были удалены ‘3456’.
Insert
Пример:
В результатае строка Str будет иметь значение ‘120003456789’ соответственно была вставлена подстрока ‘000’ начиная с третьего символа.
Str
Пример:
В результате строка S будет иметь значение ‘123’.
Val
Пример:
В результате переменная i будет содержать число 123, а переменная Error число 4 .
Функции предназначенные для работы со строками:
Copy
Пример:
В результате в переменной SCopy будет строка ‘2345’ .
Concat(+)
Так же можно использовать обычный символ +
Пример:
Pos
Пример:
В результате в переменной i будет содержаться число 4, что соответствует началу первого вхождения подстроки ‘456’ в строку ‘123456789’.
Так же к строкам можно применить логические операции:
‘=’ — операция равно. Если две строки равны результат будет TRUE, в противном случае FALSE.
<> — операция не равно. Если строки равны результат будет FALSE, в противном случае TRUE.
<,>- операции больше или меньше. Сравнивает две строки по алфавиту. так например ‘a'<‘bc’ и ‘ab'<‘c’ и ‘A'<‘a’.
Пример:
Общее.
При объявлении строки можно задать её размер. Максимальный размер строки 255 символов. По умолчанию, если размер строки не указан явно, в Borland Pascal и Turbo Pascal размер строки будет равен 255 символов, в UCSD Pascal – 80. В FreePascal и Delphi не ограниченная переменная string имеет на самом деле имеет тип AnsiString который может занимать максимальный размер в памяти до 2 Гб это 2147483646 символов.
В Object Pascal строковая переменная так же имеет ограничение в 2 Гб.
Объявление строки.
Что бы объявить строку, в блоке var надо указать тип string и возможно указать кол-во элементов, по следующему шаблону:
<имя переменной 1>,<имя переменной 2>, … ,<имя переменной n>:string;
или
<имя переменной 1>,<имя переменной 2>, … ,<имя переменной n>:string[<кол-во символов в строке>][I];[/I]
Пример объявления строковой переменной:
Pascal:
var
s: string;
s1, s2: string[80];
Шаблон такого способа будет выглядеть так:
Pascal:
type
<имя пользовательского типа> = string [максимальная длина строки];
var
<имя переменной 1>,<имя переменной 2>, … ,<имя переменной n>: <имя пользовательского типа>;
Pascal:
type
MyString = string[80];
var
s: MyString;
Delete
procedure Delete(var Str: string; Poz: integer; Count: integer);
— Из строки Str удаляет Count символов, начиная с позиции Poz.Пример:
Pascal:
var
Str: string;
begin
Str := '123456789';
Delete(Str, 3, 4);
Writeln(Str);
end.
Insert
procedure Insert(S: string; var Str: string; Poz: integer);
— Вставляет строку S в строку Str, начиная с позиции Poz.Пример:
Pascal:
var
Str: string;
begin
Str := '123456789';
Insert('000', Str, 3);
Writeln(Str);
Readln;
end.
Str
procedure Str[B]([/B]IR:[integer;real] [B];[/B] var Str: string);
— Преобразует числовое значение IR в строку, и помещает его в строку Str.Пример:
Pascal:
var
S: string;
begin
S := '';
Str(123, S);
Writeln(S);
end.
Val
Procedure Val[B]([/B]Str: string[B];[/B] var IR:[integer, real][B];[/B] var Error: integer);
— Преобразует значение Str в целочисленный или вещественный тип и помещает результат в переменную IR. В переменную error будет помещаться позиция первого символа, на котором произошла ошибка.Пример:
Pascal:
program StringToRealOrInteger;
var
S: string;
i, error: Integer;
begin
S := '123a';
Val(S, i, Error);
Writeln(i);
Writeln(Error);
Функции предназначенные для работы со строками:
Copy
Function Copy[B]([/B]Str: string[B]; [/B]Poz: integer[B]; [/B]Count: integer): String;
— функция Сopy возвращает строку содержащую Count символов, начиная с Poz.Пример:
Pascal:
var
S, SCopy: string;
begin
S := '123456789';
SCopy := Copy(S, 2, 4);
Writeln(SCopy);
end.
Concat(+)
Function Concat[B]([/B]s1: string; s2: string): String;
— функция Concat возвращает слияние строк s1 и s2.Так же можно использовать обычный символ +
Пример:
Pascal:
var
S: string;
begin
S := '123' + '4' + '5' + '678' + '9';
Writeln(S);
end.
Function Pos[B]([/B]subs: string; s: string; from: integer:=1): String;
— функция Pos возвращает номер первого вхождения символа subs(или нескольких символов) в строке sПример:
Pascal:
var
i: integer;
begin
i := Pos('456', '123456789');
Writeln(i);
end.
Так же к строкам можно применить логические операции:
‘=’ — операция равно. Если две строки равны результат будет TRUE, в противном случае FALSE.
<> — операция не равно. Если строки равны результат будет FALSE, в противном случае TRUE.
<,>- операции больше или меньше. Сравнивает две строки по алфавиту. так например ‘a'<‘bc’ и ‘ab'<‘c’ и ‘A'<‘a’.
Пример:
Pascal:
begin
Writeln('Àíòîí'<'John'); {FALSE}
Writeln('Anton'='John'); {FALSE}
Writeln('Anton'='Anton'); {TRUE}
Readln;
end.