Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.034 c
1-1084747745
Алекз
2004-05-17 02:49
2004.05.30
Три букви


3-1083959497
Vitello
2004-05-07 23:51
2004.05.30
Kак заескейпить % при SQL-запросе?


1-1084786460
Awod
2004-05-17 13:34
2004.05.30
Иконка приложения в WIN9X


1-1084681278
tamroF
2004-05-16 08:21
2004.05.30
__________опять DLL


3-1084170288
Галинка
2004-05-10 10:24
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский