Вниз
Скачать: CL | DM;

Как скопировать динамический масив?   Найти похожие ветки 

← →
Alek_1   (2004-05-17 15:26) [0]

пишу

var
temp_users: array of TUsers;
begin
inc(kol_users);
SetLength(temp_users,kol_users);
temp_users:=Copy(Users,1,kol_users-1); - выдает ошибку несоответствия типов


← →
Тимохов ©   (2004-05-17 15:27) [1]

type
  TUsersArray = array of TUsers;
var
  temp_users: TUsersArray;
begin
  inc(kol_users);
  SetLength(temp_users,kol_users);
  temp_users:=Copy(Users,1,kol_users-1);
end;


users также дожне быть описан как TUsersArray


← →
WebErr ©   (2004-05-17 15:29) [2]

Логично предположить, что Users имеет тип отличный от TUsers...
Однако, cкорее всего нужно писать:
Copy(Users,0,kol_users-1);


← →
PVOzerski ©   (2004-05-17 15:29) [3]

Либо поэлементным присвоением, либо через move - это быстрее, но тут надо быть осторожным. Опять же, мы ведь не знаеи, что такое TUsers - если там есть длинные строки или динамические массивы, это отдельная история.


← →
Тимохов ©   (2004-05-17 15:29) [4]

ещу подумайте над тем, что у вас делает строка

Copy(Users,1,kol_users-1);

Сейчас она копирует все элементы начиная со второго по порядку и до конца.
Это верно?

SetLength(temp_users,kol_users);

Делать не нужно - это лишнее.


← →
Alek_1   (2004-05-17 15:30) [5]

масив Users  - глобалбьный масив и он описан раньше


← →
Alek_1   (2004-05-17 15:32) [6]


> Логично предположить, что Users имеет тип отличный от TUsers...
> Однако, cкорее всего нужно писать:
> Copy(Users,0,kol_users-1);


users тоже TUsers.
Copy(Users,0,kol_users-1); - не помогло


← →
Тимохов ©   (2004-05-17 15:34) [7]


> Alek_1   (17.05.04 15:32) [6]

1 тоже не помогло?
может вы не на дельфи пишете?


← →
Alek_1   (2004-05-17 15:37) [8]

1 тоже не помогло.
Пишу на делфи 5


← →
Тимохов ©   (2004-05-17 15:40) [9]

тогда Users и temp_users по-разному описаны.
Как описана Users?


← →
Alek_1   (2004-05-17 15:53) [10]

users: array of TUsers;


← →
WebErr ©   (2004-05-17 15:56) [11]


> Alek_1   (17.05.04 15:53) [10]

Создайте тип TUsersArray = array of TUser как Вам советует Тимохов и не мучайтесь.


← →
Тимохов ©   (2004-05-17 15:57) [12]


> Alek_1   (17.05.04 15:53) [10]

сделайте как я вам сказал в 1
будет работать точно.


← →
evvcom ©   (2004-05-17 16:27) [13]

var
 pI: ^Integer;
 pJ: ^Integer;
begin
 pJ := pI; // Error: Incompatible types

Стоит задуматься...



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
6-1081497901
bykopor
2004-04-09 12:05
2004.05.30
Программная шара!!! NetShareAdd


3-1083357747
Fedia
2004-05-01 00:42
2004.05.30
подскажите, какой компонент использовать


6-1081777568
Ivolg
2004-04-12 17:46
2004.05.30
Почта


7-1082712524
Zyb
2004-04-23 13:28
2004.05.30
Сервис в Win2000


14-1084284261
296321823
2004-05-11 18:04
2004.05.30
delphigfx.mastak.ru




   Наверх