Показать сообщение отдельно
  #8  
Старый 20.07.2011, 01:13
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Примерно так:
Код:
type
  int_arr = array of Integer;

function TForm2.Parse_string_to_array(parsing_str, splitter : String) : int_arr;
var
  I, Count, str_length : Integer;
  generated_arr : int_arr;
  temp_str : String;
  v : variant;
begin
  SetLength(generated_arr, 0);
  Result := generated_arr;
  if parsing_str = '' then
    Exit;

  Count := 1;
  temp_str := '';
  SetLength(generated_arr, Count);
  str_length := Length(parsing_str);
  for I := 1 to str_length + 1 do
  begin
    if (parsing_str[i] <> splitter) and (parsing_str[i] <> #0) then
      temp_str := temp_str + parsing_str[i]
    else
    begin
      v := temp_str;
      generated_arr[Count - 1] := v;
      v := '';
      temp_str := '';
      inc(Count);
      SetLength(generated_arr, Count);
    end;
  end;
  Result := generated_arr;
end;

procedure TForm2.Button3Click(Sender: TObject);
var
  arr : int_arr;
begin
  arr := Parse_string_to_array('9,6,4,12,5,2,6,5,7,5,3,11,10,5,10,7', ',');
end;
Всё работает, никаких AV я не получил.
Ааа..., так там у тебя ошибочка была при обращении к массиву, выход за пределы диапазона.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием