Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Прочие языки программирования > Прочее...
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #2  
Старый 22.10.2012, 01:39
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,023
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Последняя ячейка имеет индекс Length()-1 или High(). Т.е. в твоем коде грубая ошибка - выход за пределы массива.
2. При смешении ты смещаешь все ячейка, что явно не правльно. Тебе надо начинать с той, которую ты нашел.
3. Не совсем понятно, что тебе надо в итоге получить. Впечатление, что ты делаешь что-то не то. Предположим, тебе надо получить список значений в первом массиве (A), которых нет во втором (B). тогда примерно так:
Код:
var
  A, B : Array Of String;
  I, J, K : Integer;
begin
  ... // Здесь заполнение массивов
  For I := High(A) DownTo Low(A) Do
    For J := Low(B) To High(B) Do
      If A[i] = B[J] Then
        Begin
          F := True;
          For K := I To High(A)-1 Do A[K] := A[K+1];
          SetLength(A,Length(A)-1);
          Break;
        End;
end;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:22.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter