Вниз
Скачать: 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.036 c
3-1084265735
Desdechado
2004-05-11 12:55
2004.05.30
совместимость менеджеров памяти


3-1084383853
SeregaC
2004-05-12 21:44
2004.05.30
Сохранение БД


6-1081603302
Александр из Минска
2004-04-10 17:21
2004.05.30
Сколько байт осталось переслать?


6-1081753570
Darkman
2004-04-12 11:06
2004.05.30
Как создать VPN соединение


3-1083670240
maxz
2004-05-04 15:30
2004.05.30
FindKey




   Наверх