Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
ВнизКопирование массива рекордов? Найти похожие ветки
← →
Cemen (2007-01-12 03:33) [0]Надо обязательно поэлементно копировать?
← →
Германн © (2007-01-12 03:43) [1]
>
> Cemen (12.01.07 03:33)
>
> Надо обязательно поэлементно копировать?
А вопрос то где?
← →
Alx2 © (2007-01-12 03:50) [2]>Cemen (12.01.07 03:33)
Не обязательно. Можно за одно присваивание, если объявлен как отдельный тип. Для динамических массивов - свои функции есть. В любом случае, можно аккуртано воспользоваться процедурой move
← →
SergP © (2007-01-12 04:36) [3]> [2] Alx2 © (12.01.07 03:50)
> >Cemen (12.01.07 03:33)
>
> Не обязательно. Можно за одно присваивание, если объявлен
> как отдельный тип. Для динамических массивов - свои функции
> есть. В любом случае, можно аккуртано воспользоваться процедурой
> move
ну это если рекорды не одержат динамических структур.
← →
Alx2 © (2007-01-12 04:41) [4]>SergP © (12.01.07 04:36) [3]
Да, точно. Не учел.
← →
Cemen (2007-01-12 07:55) [5]А если содержат, то как лучше?
← →
Джо © (2007-01-12 07:56) [6]> [5] Cemen (12.01.07 07:55)
> А если содержат, то как лучше?
В цикле.
← →
DevilDevil © (2007-01-12 12:34) [7]type
TMyRecord = record ... end;
PMyRecord = ^TMyRecord;
var
RecArr1 : array of TMyRecord;
RecArr2 : array of TMyRecordl
procedure FastMemCPY(Dest, Src : PMyRecord; CountBytes : integer);
asm
push esi
push edi
mov edi, eax
mov esi, edx
mov eax, ecx
shr ecx, 2
jz @Bytes
rep movsd
@Bytes:
and eax, 3
jz @end_p
mov ecx, eax
rep movsb
@end_p:
pop edi
pop esi
end;
//*********************
procedure SomeProc();
begin
. . .
FastMemCPY( @RecArr1[n1], @RecArr2[n2], RecsCount *sizeof(TMyRecord) );
. . .
end;
← →
evvcom © (2007-01-12 15:51) [8]> [7] DevilDevil © (12.01.07 12:34)
> FastMemCPY
И чем он отличается от стандартного Move? Только отсутствием проверки на направление копирования? :-))
А [5] читал?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.058 c