img
00:00
imgDRKB online - Быстрый способ обмена значений в 2х переменных.
imgimgimg
  
  [drkb=67] Комментариев: 3
Быстрый способ обмена значений в 2х переменных.


delphi
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;





@Drkb::00074
Взято с сайта http://www.swissdelph...ndex.php

delphi
var
X1, X2: Byte;
begin
X1 := X2 xor X2;  
X2 := X1 xor X2; // X2 = X1
X1 := X1 xor X2; // X1 = X2



Автор ___ALex___
http://forum.pascal.dax.ru

@Drkb::00075
Количество статей: 4366
 
Вход
Имя:
Пароль:
Запомнить
Регистрация Забыли пароль?
Мини-чат :)
Необходима регистрация
Архив мини-чата
26-03-2024 15:49
Roan
Надеюсь, оно ещё живо. Классный ресурс
03-03-2024 16:34
ПаХаН
Надо чтобы этот сайт был жив
20-02-2024 06:12
memoryspeak
обалденный сайт. искал ответ на вопрос, как скриптом закрыть вкладку, и наткнулся на это чудо.
08-02-2024 20:22
stark452
Разработчику огромный респект
08-02-2024 20:21
stark452
Если ее немного допилить
и сделать все правильно
то она может стать чем то весомым
08-02-2024 20:20
stark452
Странно что эта штука не популярна
08-10-2023 02:39
Darian
smiley
just testing the smileys
08-10-2023 02:38
Darian
._. -_- >o) ;(
08-10-2023 02:37
Darian
smiley
08-10-2023 02:36
Darian
smiley smiley smiley smiley :$ :?
Emoji Test
Статистика
 СегодняВсего
Посетителей51914100512
Запросов88104395497670
Online
Пользователей0
Гостей319
imgimgimgimg
 
img
     00:00