Строки и символы. Возможные ошибки: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) Нет описания правки |
Mikst (обсуждение | вклад) (→Ссылки) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
===Ошибка при преобразовании строки в число=== | ===Ошибка при преобразовании строки в число=== | ||
var | <source lang="Delphi">var | ||
s: string := 'z123'; | s: string := 'z123'; | ||
i: integer; | i: integer; | ||
Строка 17: | Строка 17: | ||
else writeln('Преобразованное число ',i); | else writeln('Преобразованное число ',i); | ||
end. | end. | ||
</source> | |||
===Выход за границы строки=== | ===Выход за границы строки=== | ||
Строка 22: | Строка 23: | ||
s: string := 'ABC'; | s: string := 'ABC'; | ||
begin | begin | ||
s[4] := ' | s[4] := 'z'; // Ошибка времени выполнения: индекс находится вне границ строки | ||
end.</source> | end.</source> | ||
== Ссылки == | == Ссылки == | ||
[[ | *[[Программы для начинающих]] | ||
*[http://pascalabc.net/ru/programmyi-i-algoritmyi-dlya-nachinayuschih.html Сайт PascalABC.NET: Программы и алгоритмы для начинающих] |
Текущая версия от 15:52, 19 января 2010
Ошибка при преобразовании строки в число
var
s: string := 'z123';
i: integer;
begin
// Первый способ - обработка исключений
try
i := StrToInt(s);
except
writeln('Ошибка преобразования');
end;
var errcode: integer;
// Второй способ - процедура Val
Val(s,i,errcode);
if errcode>0 then
writeln('Ошибка преобразования')
else writeln('Преобразованное число ',i);
end.
Выход за границы строки
var
s: string := 'ABC';
begin
s[4] := 'z'; // Ошибка времени выполнения: индекс находится вне границ строки
end.