Действия со строками в Паскале

 

Операция слияния (сцепления, конкатенации) применяется для соединения нескольких строк в одну, обозначается знаком «+». Операция слияния применима для любых строковых выражений, как констант, так и переменных.

 

Операции отношения позволяют сравнивать строки на отношение равенства (=), неравенства (<>), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=). В результате сравнения двух строк получается логическое значение (true или false). Сравнение строк производится слева направо посимвольно до первого несовпадающего символа, большей считается та строка, в которой первый несовпадающий символ имеет больший код в таблице кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что короткая строка меньше. Строки равны, если они имеют равную длину и соответствующие символы совпадают.

 

Стандартные функции.

Вызов Описание
function Chr(a: byte): char; Символ ASCII c номером а.
function Concat(s1,s2,...: string): string; Возвращает строку, являющуюся результатом слияния строк s1,s2,...
function Copy(s: string; index,count: integer): string; Возвращает подстроку строки s длины count с позиции index
procedure Delete(var s: string; index,count: integer); Удаляет из строки s count символов с позиции index.
procedure Insert(source: string; var s: string; index: integer); Вставляет подстроку source в строку s с позиции index
function Length(s: string): integer; Возвращает длину строки
function LowCase(ch: char): char; Строка S в нижнем регистре.
function Pos(subs,s: string): integer; Возвращает позицию подстроки subs в строке s. Если не найдена, возвращает 0
procedure Str(i: integer; var s: string Преобразует целое значение i к строковому представлению и записывает результат в s
function StringOfChar(ch: char; count: integer): string; Возвращает строку, состоящую из count символов ch
function UpCase(ch: char): char; Преобразует символ в верхний регистр
Val(S,V, C) Преобразует строку S в число V. При ошибке в C заносится номер ошибочного символа строки S.
Ord(n) Номер n (Код ASCII)
Succ (n) Следующее значение в последовательности
Pred (n) Предыдущее значение в последовательности
   
   

 

function ChrUnicode(a: word): char; Преобразует код в символ в кодировке Unicode
function OrdUnicode(a: char): word; Преобразует символ в код в кодировке Unicode
function UpperCase(ch: char): char; Преобразует символ в верхний регистр
function LowerCase(ch: char): char; Преобразует символ в нижний регистр
 
 
 
function PosEx(subs,s: string; from: integer := 1): integer; Возвращает позицию подстроки subs в строке s начиная с позиции from. Если не найдена, возвращает 0
 
procedure SetLength(var s: string; n: integer); Устанавливает длину строки s равной n
 
 
 
 
function Concat(s1,s2: string): string; Возвращает строку, являющуюся результатом слияния строк s1 и s2
function LowerCase(s: string): string; Возвращает строку в нижнем регистре
function UpperCase(s: string): string; Возвращает строку в верхнем регистре
 
function ReverseString(s: string): string; Возвращает инвертированную строку
function CompareStr(s1,s2: string): integer; Сравнивает строки. Возвращает значение < 0 если s1 0 если s1>s2 и = 0 если s1=s2
function LeftStr(s: string; count: integer): string; Возвращает первые count символов строки s
function RightStr(s: string; count: integer): string; Возвращает последние count символов строки s
function Trim(s: string): string; Возвращает строку с удаленными начальными и конечными пробелами
function TrimLeft(s: string): string; Возвращает строку с удаленными начальными пробелами
function TrimRight(s: string): string; Возвращает строку с удаленными конечными пробелами
function Format(fmtstr: string; params pars: array of object): string; Возвращает отформатированную строку, построенную по форматной строке fmtstr и списку форматиуемых параметров pars
function StrToInt(s: string): integer; Преобразует строковое представление целого числа к числовому значению
function StrToInt64(s: string): int64; Преобразует строковое представление целого числа к числовому значению
function StrToFloat(s: string): real; Преобразует строковое представление вещественного числа к числовому значению
function TryStrToInt(s: string; var value: integer): boolean; Преобразует строковое представление s целого числа к числовому значению и записывает его в value. При невозможности преобразования возвращается False
function TryStrToInt64(s: string; var value: int64): boolean; Преобразует строковое представление s целого числа к числовому значению и записывает его в value. При невозможности преобразования возвращается False
function TryStrToFloat(s: string; var value: real): boolean; Преобразует строковое представление s вещественного числа к числовому значению и записывает его в value. При невозможности преобразования возвращается False
function TryStrToFloat(s: string; var value: single): boolean; Преобразует строковое представление s вещественного числа к числовому значению и записывает его в value. При невозможности преобразования возвращается False
procedure Val(s: string; var value: integer; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
procedure Val(s: string; var value: shortint; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
procedure Val(s: string; var value: smallint; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
procedure Val(s: string; var value: int64; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
procedure Val(s: string; var value: byte; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
procedure Val(s: string; var value: word; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
procedure Val(s: string; var value: longword; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
procedure Val(s: string; var value: uint64; var err: integer); Преобразует строковое представление s целого числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
procedure Val(s: string; var value: real; var err: integer); Преобразует строковое представление s вещественного числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
procedure Val(s: string; var value: single; var err: integer); Преобразует строковое представление s вещественного числа к числовому значению и записывает его в переменную value. Если преобразование успешно, то err=0, иначе err>0
 
procedure Str(r: real; var s: string); Преобразует вещественное значение r к строковому представлению и записывает результат в s
function IntToStr(a: integer): string; Преобразует целое число к строковому представлению
function IntToStr(a: int64): string; Преобразует целое число к строковому представлению
function FloatToStr(a: real): string; Преобразует вещественное число к строковому представлению

 

 

Операции со строками.

 

1 . Операция сравнения (так как в строках определён порядок, то для их возможно сравнить).

 

В строках определён лексико-графический порядок: из двух строк меньшей считается та у который первый символ меньше.

Пустая строка по умолчанию меньше всех остальных.

 

2. Операция обращения к элементу строки

 

В отличии от массивов нельзя s[5]:=’c’ для этого лучше воспользоваться Copy или Concat.

 

 

Записи.

 

Данные такого рода, описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называют записью (record). В языке Паскаль запись определяется путем указания служебного слова record и перечисления входящих в запись элементов с указанием типов этих элементов.

 

Запись Паскаля – структурированный комбинированный тип данных, состоящий из фиксированного числа компонент (полей) разного типа.

 

type < имя _ типа >=record

<имя_поля1>: тип;

<имя_поля2>: тип;

………………….

<имя_поля K >: тип

end ;

где record – служебное слово, а <имя_типа> и <имя_поля> - правильные идентификаторы языка Паскаль.

 

Type anketa1=record

fio: string[45];

pol: char;

dat_r: record;

god: integer;

mes: string[10];

den: 1..31;

end;

adres: record

gorod: string[25];

ulica: string [20];

dom, kv: integer;

end;

curs: 1..5;

grupp: string[3];

end;

 

Полями записи могут быть любые типы (базовые, структурированные, конструируемые, процедуры, функции, файлы)

 

var

student: anketa;

student 1: anketa 1;