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

Вниз

присвоение записей   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.025 c
1-16357
denis24
2004-01-24 10:21
2004.02.06
выпадающий список у combobox


14-16742
Piter
2004-01-15 19:00
2004.02.06
Насчет NtQuerySystemInformation и йCreateToolhelp32Snapshot


14-16695
Radionov Alexey
2004-01-16 12:09
2004.02.06
Информатику в массы!


3-16032
andre_zsk
2004-01-13 11:19
2004.02.06
Балансы на Delphi


3-16178
Yahidze
2004-01-14 10:15
2004.02.06
Как сохранить базу данных под другим именем