Skocz do zawartości

[Delphi] zamiana miejscami "ciał" dwóch zmiennych


Integer

Polecane posty

Witam.

 

Chodzi za mną od dłuższego czasu taki pomysł, żeby zamiast kopiować wartość rekordu ze zmiennej tymczasowej

do innej zmienne np. w tabeli array[0..100] of BardzoRozbudowanyRrekord albo Klasa

to może da się podmienić powiązania między nazwami zmiennych a ich strukturą w pamięci..

dobrać do stałej w środku programu się da, to może i to przejdzie?

 

Algorytm postępowania jest taki:

 

 procedure AdresyPamieci_Zamien (_ObszSour, _ObszDest: PObsz);
var
   Adr_ObszSour, Adr_ObszDest: Pointer;
begin //
 Adr_ObszSour:= _ObszSour;
 Adr_ObszDest:= _ObszDest;

 _ObszSour:= Adr_ObszDest;
 _ObszDest:= Adr_ObszSour;
end;

 

w efekcie jeżeli _ObszSour zawierała dane a _ObszDest pyła "czysta" to teraz jest na odwrót :) przynajmniej taki jest pomysł,

a czy zna ktoś realizacje takowego zadania?

Z góry dzięki za podpowiedź.

Link do komentarza
Udostępnij na innych stronach

jak masz np 2 obszary pamieci, nazwijmy je dla uproszczenia Rekord1 i Rekord2 to mozesz sobie do nic zdefiniowac pointery. Jesli chcesz operowac na pointerach np w liscie nic nie stoi na przeszkodzie czyli np

array[0..10] of Pointer; (albo typowany pointer, jak potrzeba).

Zamiana elementow w takiej tablicy to zamiana pojedynczych pointerow bez kopiowania wskazywanych rekordow.

Nie wiem czy o to chodzilo ?

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...