Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вотрос про массивы... [D6, XP]


Malik ©   (2007-04-13 23:13:00) 

Можно ли динамически изменять размеры массива. Если да то как. Подскажите плиз


jack128   (2007-04-15 22:07:00) [1]

Belorus ©   (15.04.07 13:31) [11]
Это полный размер

нет, это два.


{RASkov}   (2007-04-15 15:10:00) [2]

> [10] Anatoly Podgoretsky ©   (15.04.07 12:47)

Ну может быть, я в "правильных названиях" могу ошибаться....Собственно Length - это длинна, вот отсюда и плясал.


Belorus   (2007-04-15 13:31:00) [3]

var X : array of Word;
....
SizeOf(X) div SizeOf(Word)

Это полный размер


Anatoly Podgoretsky   (2007-04-15 12:47:00) [4]

> {RASkov}  (15.04.2007 02:19:09)  [9]

Так это же ширина, а не длина.


{RASkov}   (2007-04-15 02:19:00) [5]

Многомерные динамические массивы могут иметь разную длинну:

var N: Integer; A: array of array of Integer;
begin
 Randomize; SetLength(A, Random(10));
 for N:= Low(A) to High(A) do SetLengh(A[N], Random(15));
 for N:= Low(A) to High(A) do ShownMessage('Массив № '+IntToStr(N)+#13#10'имеет длинну: '+IntToStr(Length(A[N])));
end;


Malik   (2007-04-15 02:12:00) [6]

спасиб


{RASkov}   (2007-04-15 02:02:00) [7]

или вот:
N: Integer; A: array [0..5, 0..10] of Integer;
........
for N:= Low(A) to High(A) do begin
X:=Length(A[N]);
........
end;


{RASkov}   (2007-04-15 01:56:00) [8]

> узнать длинну

Что значит длина?
A: array [0..5, 0..10] of Integer;
Length(A[3]); = 11
?


Malik   (2007-04-15 01:51:00) [9]

А как узнать длинну 2-х мерного массива?


Malik   (2007-04-15 01:49:00) [10]

А как узнать длинну 2-х мерного массива?


{RASkov}   (2007-04-14 00:02:00) [11]

Дополню к [1]
Например, если далее по тексту примера сделать SetLength(A, 10); то А[0] и A[4] значения не потеряют.....
var
A: array of integer;

begin
SetLength(A, 5);
A[0]:=1;
A[4]:=5;
ShowMessage(IntToStr(A[4])); // покажет - 5
SetLength(A, 10);
A[5]:=6;
A[6]:=7;
ShowMessage(IntToStr(A[4])); // покажет - 5, остается - "не затирается"

ЗЫ Ну так... до кучи :)


Malik   (2007-04-13 23:33:00) [12]

Спасиб


_Аноним   (2007-04-13 23:16:00) [13]

var
A: array of integer;

begin
SetLength(A, 5);
A[0]:=1;
A[4]:=5;


Наверх

Титульная страница Поиск, карта сайта Написать письмо