Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Внизприсвоение записей Найти похожие ветки
← →
msgipss (2004-01-22 19:26) [0]Здравствуйте, есть 2 переменные типа record, как нибудь можно присвоить одну переменную другой (т.е наполнить данными), без поочередного присвоения свойств записей.
сорьки за ламерский вопрос..
← →
Тимохов (2004-01-22 19:29) [1]Можно
r1 := r2
← →
jack128 (2004-01-22 19:29) [2]
> есть 2 переменные типа record,
record это не тип
← →
msgipss (2004-01-22 19:31) [3]r=record
s:string;
k:word;
end;
r1,r2:r;
как нибудь персвоить "r2:=r1" без этого r2.s:=r1.s и т.д.
← →
TButton (2004-01-22 19:33) [4]никак. т.е. просто так никак, это точно, будет тайп мисмач, типа несовпадение типов.
← →
msgipss (2004-01-22 19:35) [5]я понимаю, что так никак, хотя никакого несовпадения не будет..
В дельфях никаких функций нет для копирования памяти.. ?
Что то по моему было..
← →
msgipss (2004-01-22 19:36) [6]я понимаю, что так никак, хотя никакого несовпадения не будет..
В дельфях никаких функций нет для копирования памяти.. ?
Что то по моему было..
Мне бы не хотелось в явном виде делать присвоение свойств record"а, как ни будь это можно обойти ?
← →
Тимохов (2004-01-22 19:40) [7]TButton © (22.01.04 19:33) [4]
Да не уж то?
← →
Agent13 (2004-01-22 19:42) [8]
> Тимохов © (22.01.04 19:29) [1]
> Можно
> r1 := r2
А по-моему это должно пройти нормально - и не надо никаких функций.
← →
msgipss (2004-01-22 19:47) [9]Да.., странно сделал simple пример - все, работает, а в своем проекте, пустые поля возвращает... буду разбираться.., сорьки
← →
TButton (2004-01-22 20:14) [10]Тимохов ©
и ведь точно... значить надо будет у точнить обстоятельства при которых был мисматч, но то что он был - факт...
← →
Тимохов (2004-01-22 20:16) [11]А вот и он: тайп мисматч
var
r1:record
s:string;
k:word;
end;
r2:record
s:string;
k:word;
end;
begin
r1 := r2
end;
← →
cyborg (2004-01-22 20:16) [12]Move(@r1,@r2,SizeOf(r1));
← →
Тимохов (2004-01-22 20:19) [13]Ага строки также будете мовить?
Нафиг дельфовый подстчет ссылок: он для дураков, наверное. :)))))
← →
cyborg (2004-01-22 20:21) [14]>>Ага строки также будете мовить?
да, только тип строк нужно сделать ShortString, либо String[число символов].
← →
Тимохов (2004-01-22 20:22) [15]
> да, только тип строк нужно сделать ShortString, либо String[число
> символов].
Этто точно...
и дин массивами не пользоваться...
и интерфейсами также...
← →
YuRock (2004-01-22 20:22) [16]
CopyMemory(@r1, @r2, SyzeOf(r));
И все будет отлично (кроме стринга)
← →
YuRock (2004-01-22 20:22) [17]...
Хотя и стринг, скорее всего, будет работать
← →
Тимохов (2004-01-22 20:23) [18]
> ...
> Хотя и стринг, скорее всего, будет работать
До тех пора не выйдешь из scope, где объявлена record.
← →
cyborg (2004-01-22 20:25) [19]Если нужны длинные строки или какие-то объекты, то после копирования ничего не мешает присвоить параметры таким переменным.
← →
YuRock (2004-01-22 20:25) [20]> Тимохов © (22.01.04 20:23) [18]
Ну да, конечно...
Ну так и без копирования то же самое, если использовать String в структурах, ведь полю то присваивается на самом деле только указатель.
← →
Тимохов (2004-01-22 20:26) [21]
> Если нужны длинные строки или какие-то объекты, то после
> копирования ничего не мешает присвоить параметры таким переменным.
Да не уж то???
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.027 c