Показать сообщение отдельно
  #4  
Старый 06.12.2012, 00:45
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от juraman1
sA- глобальный массив

Код:
.....
var
  RGZ: TRGZ;
  sA: array [1..1000] of string;
  iB: array [1..1000] of DWORD;
   i: integer;
implementation
Прекрасно... Значит элементы массива sA могут индексироваться от 1 до 1000? Теперь посмотрим на твой код выше:
Код:
    Memo1.Lines.Add('Найдены файлы со следующими суммами:'); i:=0;
    repeat
      f:=fileopen(sR.Name,fmOpenRead);   sA[i]:=sPath+'\'+sR.Name;
Ты присваиваешь переменной i значение 0, и потом пытаешься присвоить значение элементу sA[i], а так как i=0 то получается пытаешься записать это значение в элемент sA[0], а разве элемент с индексом 0 допустим в этом массиве?
И почему переменная i глобальная?
И вообще где проверка, чтобы переменная i не "перевалила" за тыщу? Или ты "даёшь голову на отсечение", что ни в одном каталоге не может быть более 1000 файлов?
Цитата:
Сообщение от juraman1
функцию изучил)
Ну пока подозрение с этой функции снимается
Ответить с цитированием