СРСП

СРСП № 7

Тема: Создание проектов с использованием символов и строк

Цель: знать основные функции для работы с символами и строками

Сегодня мы с вами разберемся, как в Delphi можно работать со строками, мы рассмотрим ряд функций и процедур которые пришли к нам еще из самого Pascal. Некоторые из них есть только в Object Pascal . Ну что же приступим, для начала разберемся, как можно переводить строку в число и обратно. Для этого используются функции IntToStr – для перевода числа в строку и StrToInt – для перевода строки в число. Вот пример:

var
a,b:Integer;
str:string;
begin
a:=5;
b:=1;
str:=IntToStr(a+b);
ShowMessage(str);
end;

Ну а противоположную функцию можно смело использовать например если вы хотите преобразовать строку лежащую, например в компоненте TEdit . Вот пример:

var
a:Integer;
begin
a:=StrToInt(Edit1.Text)+StrToInt(Edit2.Text);
Edit3.Text:=IntToStr(a);
end;

Следующая функция, которую мы рассмотрим, определяет длину строки. Это функция Length (str), где str это строка, которую мы должны измерить.

var
a:Integer;
str:string;
begin
str:='Hello World!';
a:=Length(str);
end;

В переменной а будет хранится число 12, именно столько символов, включая пробел содержит строка ‘ Hello World !'.

Следующая процедура Delete ( str , index , count ) – она удаляет количество count символов начиная с index в строке str . Ловите пример

var
str:string;
begin
str:='Hello World!';
Delete(str,6,7);
ShowMessage(str);
end;

На экран будет выведено слово Hello . Следующая функция Insert ( substr , str , index ) – эта функция вставляет подстроку substr в строку str , начиная с index . Например, давайте представим строку ‘ my girlfriend ' и давайте преобразуем ее в строку ‘ my best girlfriend '.

var
str,substr:string;
begin
str:='my girlfriend';
substr:='best ';
Insert(substr,str,4);
ShowMessage(str);
end;

Следующая функция с которой мы познакомимся соединяет строки. Это Concat ( s 1, s 2,…). Вот практический пример:

var
str1,str2,str3:string;
begin
str1:='MU';
str2:=' versus';
str3:=' Arsenal';
str1:=Concat(str1,str2,str3);
ShowMessage(str1);
end;

В итоге в str 1 мы получили строку ‘ MU versus Arsenal '.

Теперь давайте научимся копировать из строки определенное количество символов. Для этого используется функция Copy . Итак, Copy ( str , index , count ) – нужно копировать количество символов count начиная с index из строки str . Пример :

var
str1,str2:string;
begin
str1:='
один два три ';
str2:=Copy(str1,6,3);
ShowMessage(str2);
end;

В итоге на экране появится строка два.

Теперь познакомимся с функцией Pos (str1, str2) которая возвращает число, например:

var
str1,str2:string;
i:Integer;
begin
str1:='Hello world';
str2:='world';
i:=Pos(str2,str1);
end;

После выполнения данного кода в переменной I будет хранится число 7. Именно с него начинается слово world в строке str1.

PosEx по сути функция очень похожая на предыдущую. PosEx (substr, str, x) – тут все по сути почти также как и в предыдущей, только поиск начинается с x символов.

Чтобы перевести вещественное число в строку надо использовать функцию FloatToStr , а если надо наоборот то StrToFloat . Но у этих двух функции есть аналоги – val b str . Сейчас на примерах мы рассмотрим как с ними работать.

Var
S: string;
X: Extended;
code: integer;
Begin
S:= ' 7 . 8 ';
Val(S, X, code);
End ;

Результатом этого кода будет то, что в переменной x будет хранится число 7,8. Для чего нам нужен code ? Он выдает ноль если все в порядке или номер символа котолрый не является числом если произошла ошибка. Теперь обратный пример :

Var
S: string;
X: integer;
Begin
X:= 10 ;
Str(X, S);
End;

После этого кода в переменной S будет хранится строковое значение ‘10'.

Контрольные вопросы

1.      Опишите предназначение каждой функций


Ұқсас жұмыстар

Вуздағы кафедра құжат айналымын DELPHI көмегімен дамытуды ұйымдастыру
Акционерлік қоғамның қаржылық жағдайына жүргізілген талдау
Тіршілік қауіпсіздігі негіздері
Төлем көзінен салық салынбайтын табыстары барлар
Баян Сұлу АҚ мысалында операциялық және қаржылық тұтқа әсеріне талдау жүргізу
Оқу процесін ұйымдастырудың кредиттік жүйесі
Туристік өнімді қалыптастыру
Тұрғын үймен қамту бағдарламалары
Аммиактың алмасуы
Сызықтық регрессия