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

Вниз

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

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

Наверх




Память: 0.48 MB
Время: 0.053 c
1-1165306590
Lovd_E
2006-12-05 11:16
2007.01.28
Текст в Stringgride


2-1168609607
DelphiLexx
2007-01-12 16:46
2007.01.28
Как в SynEdit выделить некоторые строки другим цветом


15-1168186755
VolJinn
2007-01-07 19:19
2007.01.28
Еще задачка :)


15-1167925331
ProgRAMmer Dimonych
2007-01-04 18:42
2007.01.28
Областная олимпиада


15-1167925238
nameless
2007-01-04 18:40
2007.01.28
Почему когда я подключаю USB 1.1 мышь -