| 
 
 
procedure SwapVars1(var u, v; Size: Integer);var
 x: Pointer;
 begin
 GetMem(x, Size);
 try
 System.move(u, x^, Size);
 System.move(v, u, Size);
 System.move(x^, v, Size);
 finally
 FreeMem(x);
 end;
 end;
 
 
 procedure SwapVars2(var Source, Dest; Size: Integer);
 // By Mike Heydon, mheydon@eoh.co.za
 begin
 asm
 push edi
 push esi
 mov esi,Source
 mov edi,Dest
 mov ecx,Size
 cld
 @1:
 mov al,[edi]
 xchg [esi],al
 inc si
 stosb
 loop @1
 pop esi
 pop edi
 end;
 end;
 
 procedure TForm1.Button2Click(Sender: TObject);
 begin
 SwapVars1(X1, X2, SizeOf(Integer));
 end;
 
 
 
   
   
    | 
         
          | Bewerten Sie diesen Tipp: |  |  |