Строки и символы. Возможные ошибки: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Нет описания правки
Строка 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>


===Выход за границы строки===
===Выход за границы строки===

Версия от 15:41, 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] := '!'; // Ошибка времени выполнения: индекс находится вне границ строки
end.

Ссылки

Алгоритмы для начинающих