Главная страница
    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.46 MB
Время: 0.014 c
14-56875
Vlad Oshin
2003-10-26 15:57
2003.11.17
Антология -


1-56730
BlackTiger
2003-11-02 16:47
2003.11.17
Почему RichEdit такой дурной. Или у меня что...


8-56779
Hatawa
2003-07-20 18:17
2003.11.17
Почему StretchBlt при использовании портит рисунок?


14-56840
FoBE
2003-10-27 21:05
2003.11.17
Шифровка


3-56492
Vemer
2003-10-26 11:01
2003.11.17
(Не)Работа TQRExpr





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