Показать сообщение отдельно
  #1  
Старый 21.10.2012, 23:51
Аватар для seeman_tm
seeman_tm seeman_tm вне форума
Новичок
 
Регистрация: 03.02.2011
Сообщения: 79
Репутация: -2306
По умолчанию Глюки массивов в Delphi 2009

Всем привет.
Нужно было сравнить два массива, в которых хранятся String значения.
Дык вот.
Создал два динамических массива.
Задал их размеры.
Думаю ну понеслась.
При нахождении одинаковых значений смещаю их в конец используя
алгоритм
Код:
for I := 0 to LenGth(Bufer1) do
    Bufer1[i]:=Bufer1[i+1];
И сразу обрезаю
Код:
 SetLenGth(Bufer1,LenGth(Bufer1)-1);
Но вот беда.
Эта паскуда убирая последнюю ячейку, стирает значение ячейки которая идёт перед ней превращая её из 'Данные' в ' '.

Вывожу данные в листбокс.
Иполучается

Было:
a 0
b 1
c 2
d 3
e 4
f 5

А в итоге

b 0
c 1
d 2
3

Тобишь ячейка 3 осталась, а значение String в ячейке 3 просто потёрлось. И что посоветуете делать ?
Ответить с цитированием