Вниз
Скачать: 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.022 c
4-1081600941
Dron
2004-04-10 16:42
2004.05.30
Как изменить имя каталога


7-1082477705
tyoma
2004-04-20 20:15
2004.05.30
Поиск установленного ПО


1-1084863068
webpauk
2004-05-18 10:51
2004.05.30
Много окон


11-1074712103
mike.dld
2004-01-21 22:08
2004.05.30
СиБилдер


3-1083924108
WondeRu
2004-05-07 14:01
2004.05.30
Помогите написать SQL-запрос




   Наверх