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

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
* [[Ошибка при преобразовании строки в число]]
===Ошибка при преобразовании строки в число===
* [[Выход за границы строки]]
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.
 
===Выход за границы строки===
<source lang="Delphi">var
  s: string := 'ABC';
begin
  s[4] := '!'; // Ошибка времени выполнения: индекс находится вне границ строки
end.</source>
   
   
== Ссылки ==
== Ссылки ==
[[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]]
[[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]]

Версия от 15:40, 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.

Ссылки

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