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

Вниз

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

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

Наверх





Память: 0.47 MB
Время: 0.016 c
1-56608
P0tia
2003-11-04 11:49
2003.11.17
MainMenu


3-56498
Vick
2003-10-27 18:23
2003.11.17
Пропадает коннект с сервером SQL


1-56670
TUser
2003-11-05 10:15
2003.11.17
FontImage


14-56827
Карелин Артем
2003-10-28 10:03
2003.11.17
TIBQuery.UniDirectional


14-56912
SergeyNew
2003-10-24 16:57
2003.11.17
стоимость диплома





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