Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.039 c
14-1084001250
infom
2004-05-08 11:27
2004.05.30
Про шахматы


4-1081364941
Дубинин Алексей
2004-04-07 23:09
2004.05.30
Как уменьшить количество ОЗУ занимаемой программой


1-1084772509
nkoleda
2004-05-17 09:41
2004.05.30
Excel подвисает


3-1083492155
SH
2004-05-02 14:02
2004.05.30
Microsoft FoxPro 6-8 -> Delphi 7


3-1084116682
Alleum
2004-05-09 19:31
2004.05.30
реализовать перемену строк местами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский