Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.03;
Скачать: CL | DM;

Вниз

Сopy и SetLength   Найти похожие ветки 

 
007bond   (2003-02-20 18:30) [0]

програмисты подскажите
как правильно удалить найденый символ из динамического массива?
фунциями Сopy и SetLength у меня не получается.


 
jack128 ©   (2003-02-20 19:01) [1]

type
TDinArrayOfInteger = array of integer;
procedure DeleteFromArray(var Arr : TDinArrayOfInteger; Index,Count : integer);
var PSource, PDest : PInteger;
begin
PSourse := PInteger(Integer(@Arr[0])+4*(Index+Count));
PDest := PInteger(Integer(@Arr[0])+4*Index);
Move(PSource^,PDest^,SizeOf(integer)*(Length(Arr)-Count));
SetLength(Arr,Length(Arr)-Count);
end;

+ надо добавить проверкуна коректность значений Index и Count...

ЗЫ хотя стандартная ф-ция наверника есть..


 
Mikhail ©   (2003-02-20 19:22) [2]

Move


 
shodan   (2003-02-20 20:33) [3]

var DynArray : array of integer;
for i:=IndexofArray+1 to Length(DynArray)-1 do
DynArray[i-1]:=DynArray[i];
if Length(DynArray) > 0 then SetLength(DynArray,Length(DynArray)-1);


 
PVOzerski ©   (2003-02-21 06:30) [4]

Но если у Вас в массиве СИМВОЛЫ, может, логичнее использовать не массив, а длинную строку? К ней и функций полезных много. Delete, например.



Страницы: 1 вся ветка

Текущий архив: 2003.03.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
3-5433
nkrainev
2003-02-13 01:03
2003.03.03
Проблемы с MySQL


14-5835
blackman
2003-02-13 17:24
2003.03.03
Не понимаю я этого кода


14-5711
RV
2003-02-12 12:26
2003.03.03
15 рублей


3-5462
Tornado
2003-02-13 16:53
2003.03.03
Access -> MySQL


1-5615
Ozone
2003-02-20 09:51
2003.03.03
Создание компонентов в run-time