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

Вниз

удаление строки из массива строкового типа   Найти похожие ветки 

 
Вал   (2002-11-20 16:48) [0]

Может кто-нибудь поможет решить задачу, я никак не могу понять как данным способом удалить строку из массива:
Дан массив строкового типа (пусть это b[i]), нужно удалить строку (например b[4])посредством вызова из основной программы процедуры, которая собственно и удаляет строку. Не ясно не то, как вызвать процедуру, а как удаляется строка в цикле:

procedure del( );
var i : integer;
begin
for i := 1 to m do
a[ ] := a[ ];
m := ;
end;
То есть имеется практически весь код, осталось вставить недостающие значения, но вот никак не могу понять, как же всё таки в цикле удаляется строка? Номер строки известен!


 
han_malign ©   (2002-11-20 16:53) [1]

если a - открытый массив
for i:=m to High(a)-1 do a[i]:=a[i+1];
SetLength(a,length(a)-1);
или
for i:=m to N-2 do a[i]:=a[i+1];
dec(N);
где m- номер удаляемой строки, N- размер массива


 
KoluChi ©   (2002-11-20 16:54) [2]

Лучше пользоваться TStrings - Delete().
Но если все-таки массив:
mas[i] := ""; //пустая строка
можно со сдвигом, но для обычных массивов не вижу в этом смысла
(размерность все равно не меняется)
for I := index to High(mas) do
mas[I] := mas[I+1];
mas[High(mas)] := ""; //все равно остается пустая строка

Если открытый массив, то поменять размерность.



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
6-4538
-Drive
2002-10-05 19:46
2002.12.02
Мастера ! прошу помочь с отсылкой данных!!!


1-4386
Dim!S
2002-11-22 13:35
2002.12.02
oleaut32.dll


1-4449
denick
2002-11-20 12:08
2002.12.02
Помогите ламеру!!! Как мне написать,


14-4595
VictorT
2002-11-11 23:05
2002.12.02
Утка, или нет?


7-4653
Olphi
2002-09-27 14:38
2002.12.02
Как узнать, запущена ли определённая программа?