Как вставить элемент в середину массива.
Здравствуйте! В моей программе есть динамический массив в стиле Delphi. Как вставить в его середину элемент?
форум
http://lazarus.freepascal.ru/forum/
http://lazarus.freepascal.ru/forum/viewtopic.php?f=23&t=7670
procedure insertitem(var dest: integerarty; index: integer; value: integer);
begin
setlength(dest,high(dest) + 2);
move(dest[index],dest[index+1],(high(dest)-index) * sizeof(dest[0]));
dest[index]:= value;
end;
procedure insertitem(var dest: realarty; index: integer; value: realty);
begin
setlength(dest,high(dest) + 2);
move(dest[index],dest[index+1],(high(dest)-index) * sizeof(dest[0]));
dest[index]:= value;
end;
procedure insertitem(var dest: complexarty; index: integer; value: complexty);
begin
setlength(dest,high(dest) + 2);
move(dest[index],dest[index+1],(high(dest)-index) * sizeof(dest[0]));
dest[index]:= value;
end;
procedure insertitem(var dest: pointerarty; index: integer; value: pointer);
begin
setlength(dest,high(dest) + 2);
move(dest[index],dest[index+1],(high(dest)-index) * sizeof(dest[0]));
dest[index]:= value;
end;
procedure insertitem(var dest: winidarty; index: integer; value: winidty);
begin
setlength(dest,high(dest) + 2);
move(dest[index],dest[index+1],(high(dest)-index) * sizeof(dest[0]));
dest[index]:= value;
end;
procedure insertitem(var dest: stringarty; index: integer; value: string);
begin
setlength(dest,high(dest) + 2);
move(dest[index],dest[index+1],(high(dest)-index) * sizeof(dest[0]));
pointer(dest[index]):= nil;
dest[index]:= value;
end;
procedure insertitem(var dest: msestringarty; index: integer; value: msestring);
begin
setlength(dest,high(dest) + 2);
move(dest[index],dest[index+1],(high(dest)-index) * sizeof(dest[0]));
pointer(dest[index]):= nil;
dest[index]:= value;
end;