Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Range check error


Автор: GOST800 6.10.2008, 20:58
Компилятор ругается вышеуказанной ошибкой. 
Код
const
  slovo='privet';
  
function E_check(Str: String): String;
var
  I: Integer;
  MS: Integer;
  s: String;
begin
  randomize;
  random(MS);
  for I := 0 to Length(Str) - 1 do
  begin
    if Str[I] = 'e' then s := s + slovo[MS];
  end;
  result := s;
end;

Менял slovo на array or string, то же самое.

Автор: THandle 6.10.2008, 21:02
GOST800, строка начинается с 1, а не с 0.

Код

const
  slovo='privet';

function E_check(Str: String): String;
var
  I: Integer;
  MS: Integer;
  s: String;
begin
  randomize;
  random(MS);
  for I := 1 to Length(Str) do
  begin
    if Str[I] = 'e' then s := s + slovo[MS];
  end;
  result := s;
end;


Добавлено через 7 минут и 30 секунд
К тому же MS равняется не понятно чему...

Автор: GOST800 6.10.2008, 21:10
ррр!!!smile  спасибоsmile 

Автор: THandle 6.10.2008, 21:12
Код

const
  slovo='privet';

function E_check(Str: String): String;
var
  I: Integer;
  MS: Integer;
begin
  Result := '';
  randomize;
  MS := Random(Length(slovo));
  for I := 1 to Length(Str) do
    if Str[I] = 'e' then
      Result := Result + slovo[MS];
end;



Это требовалось?

Автор: GOST800 6.10.2008, 21:17
Ес smile еще раз спасибо за оперативность smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)