Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.17;
Скачать: CL | DM;

Вниз

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

 
Oleg_   (2003-11-05 13:51) [0]

Оператор
arr1:=copy(arr2,0,length(arr2)-1);
воспринимается Дельфи нормально только если
arr1 и arr2 определены одной строкой
arr1,arr2:array of double;
Если же так:
arr1:array of double;
arr2:array of double;
то выдается несовпадение типов
Свою функцию поэлементного копирования написать элементарно,
но есть ли стандартное решение?


 
Skier ©   (2003-11-05 13:53) [1]


> но есть ли стандартное решение?


Move() ?


 
Anatoly Podgoretsky ©   (2003-11-05 13:58) [2]

Да это разные типы, можно и двумя строками если отдельно определить тип.


 
Oleg_   (2003-11-05 13:59) [3]

Спасибо, работает


 
REA ©   (2003-11-05 14:45) [4]

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


 
Skier ©   (2003-11-05 14:53) [5]

>REA © (05.11.03 14:45) [4]
При присвоении именно копирование указателя и происходит...


 
Oleg_   (2003-11-05 18:15) [6]

Немного Другая тема, но можно ли присвоить значения массиву строк одним оператором?


 
Владислав ©   (2003-11-05 18:26) [7]

type

TStrArr = array of string;

...

var
StrArr1: TStrArr;
StrArr2: TStrArr;
...
StrArr2 := StrArr1;


 
Oleg_   (2003-11-05 18:33) [8]

Владислав
Да, это посоветовал Anatoly Podgoretsky ©

А вот проинициализировать значения массива строк одним оператором именно в выполняемой части кода, можно ли?
На этапе определения скажем действуют конструкции вида:
(пример для массива вещ. чисел)

const gauss_sten_procent: array[1..10] of
double = (1.23, 4.01, 10.56, 22.67, 40.13, 59.88, 77.34, 89.45, 96 , 98.78);


 
Владислав ©   (2003-11-05 18:35) [9]

const
Arr: array [1..2] of string = ("first", "second");


 
Oleg_   (2003-11-05 18:38) [10]

Это работает при определении массива, а на этапе выполнения программы?
Нужно чтобы массив формировался в зависимости от ряда условий.


 
Владислав ©   (2003-11-05 18:39) [11]

for i := Low(Arr) to High(Arr) do
begin
Arr[i] := ...
end;


 
Oleg_   (2003-11-05 22:27) [12]

Конечно можно так определить, а одним оператором возможно?



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

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

Наверх




Память: 0.49 MB
Время: 0.02 c
1-56568
RoLeX
2003-11-07 21:36
2003.11.17
Как узнать местонахождение папки Temp ???


1-56607
Oleg_
2003-11-05 13:51
2003.11.17
копирование динамич. массивов


14-56906
Кен
2003-10-25 01:41
2003.11.17
Как связаны размер кластера и размер диска ? Я хочу сделать один


3-56489
DimChan
2003-10-28 14:38
2003.11.17
Оператор запроса LIKE


8-56768
nukeATK
2003-07-20 00:27
2003.11.17
Определение Пересечений