Материал: Мансуров. Основы программирования в среде Lazarus. 2010

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Глава 3 Более сложные элементы языка

____________________________________________________________________

a:= 'Head&Shoulders';

writeln(UTF8ToConsole('Исходная строка: '),

UTF8ToConsole(a));

c:= Copy(a, 6, 9);

c:= UTF8Copy(a, 6, 9); // можно и так

writeln(UTF8ToConsole('Результирующая строка: '),

UTF8ToConsole(c));

a:= 'Меню:Окружение';

writeln(UTF8ToConsole('Исходная строка: '),

UTF8ToConsole(a));

//c:= Copy(a, 6, 9); // это неправильно!

//c:= Copy(a, 10, 18); // но можно так c:= UTF8Copy(a, 6, 9); // лучше всего так

writeln(UTF8ToConsole('Результирующая строка: '),

UTF8ToConsole(c));

writeln(UTF8ToConsole('Нажмите любую клавишу'));

readkey;

end.

Процедура Delete- удаляет из строки подстроку

Описание:

Delete(var S: string, index: integer, count: integer);

S – исходная строка, index – номер символа, начиная с которого удаляет-

ся подстрока из S, count- количество символов в подстроке. Также имеет-

ся аналогичная процедура UTF8Delete().

Пример:

program procedure_delete;

{$mode objfpc}{$H+}

181

3.3Обработка символьной информации в Паскале

____________________________________________________________________

uses

CRT, FileUtil, LCLProc;

var

a: string;

begin

a:= '123XYZ';

writeln(UTF8ToConsole('Исходная строка: '),

UTF8ToConsole(a));

UTF8Delete(a, 4, 3);

writeln(UTF8ToConsole('Результирующая строка: '),

UTF8ToConsole(a));

a:= '123АБВ';

writeln(UTF8ToConsole('Исходная строка: '),

UTF8ToConsole(a));

UTF8Delete(a, 4, 3);

writeln(UTF8ToConsole('Результирующая строка: '),

UTF8ToConsole(a));

writeln(UTF8ToConsole('Нажмите любую клавишу'));

readkey;

end.

Процедура Insert – добавляет подстроку в строку.

Описание:

Insert(Source: string, S: string, index: integer);

Source - исходная строка

S- добавляемая строка

index - номер символа строки Source, начиная с которого добавля-

ется подстрока S.

182

Глава 3 Более сложные элементы языка

____________________________________________________________________

Пример:

program procedure_insert; {$mode objfpc}{$H+}

uses

CRT, FileUtil, LCLProc; var

S: string; begin

S:= '1236789'; writeln(UTF8ToConsole('Исходная строка: '),

UTF8ToConsole(S));

Insert('45', S, 4);

writeln(UTF8ToConsole('Результирующая строка: '),

UTF8ToConsole(S));

S:= 'абвеѐжзиклмн';

writeln(UTF8ToConsole('Исходная строка: '),

UTF8ToConsole(S));

UTF8Insert('гд', S, 4);

writeln(UTF8ToConsole('Результирующая строка: '),

UTF8ToConsole(S));

writeln(UTF8ToConsole('Нажмите любую клавишу'));

readkey;

end.

Функция Pos- производит поиск подстроки в строке.

Описание:

Pos(Substr, S: string): Byte;

Substr подстрока, поиск которой производится в строке S. Функция

Pos возвращает номер символа, начиная с которого подстрока Substr найде-

183

3.3Обработка символьной информации в Паскале

____________________________________________________________________

на в S. Если такой подстроки нет, то возвращается 0. В модуле LCLProc

имеется аналогичная функция UTF8Pos().

Пример:

program function_pos_1; {$mode objfpc}{$H+} uses

CRT, FileUtil; var

S: string; i: integer;

begin

S:= 'МАМАША'; i:= Pos('ША', S);

writeln(UTF8ToConsole('Строка: '), UTF8ToConsole(S)); writeln(UTF8ToConsole('Номер символа, с которого')); writeln(UTF8ToConsole('начинается подстрока "ША"= '), i); writeln(UTF8ToConsole('Нажмите любую клавишу'));

readkey;

end.

Пример: Дана строка символов. Определить, входит ли в эту строку под-

строка 'ША'. Строку ввести с клавиатуры.

program function_pos_2; {$mode objfpc}{$H+} uses

CRT, FileUtil, LConvEncoding , LCLProc; var

184

Глава 3 Более сложные элементы языка

____________________________________________________________________

S: string; Substr: string; i: integer;

begin

writeln(UTF8ToConsole('Введите строку символов')); readln(S);

{$IFDEF WINDOWS}

S:= CP866ToUTF8(S);

{$ENDIF}

Substr:= 'ША';

i:= UTF8Pos(Substr, S); if i = 0 then

writeln(UTF8ToConsole('В данной cтроке ') + UTF8ToConsole(S) + UTF8ToConsole(' подстрока '), UTF8ToConsole(Substr) +

UTF8ToConsole(' отсутствует'))

else

writeln(UTF8ToConsole('подстрока ') +

UTF8ToConsole(Substr) +

UTF8ToConsole(' входит в данную строку с номера символа '), i); writeln(UTF8ToConsole('Нажмите любую клавишу'));

readkey;

end.

Процедура Str – преобразует численное значение в его строковое пред-

ставление. Описание:

Str(X[: width[: decimals]], S: string);

X- числовая переменная (типа integer или real)

width - длина строки S; decimals - количество знаков после за-

пятой.

185

Смотрите также:

11 Горм +
113
14
1433
1511
1632
199
204
2N4264RE
3773