Hilfe bei Array-Daten vertauschen

Hallo,
Ich bräuchte hilfe bei meiner Programmierung und zwar wollte ich bei meinem Programm (eine Art von Adressbuch) das so machen, wenn ich auf einen Button klicke, dass z.B. das 1. Array-Feld mit dem 3. vertauscht wird.

Das ist einmal mein Quelltext von meinem Button Save klick, indem ich die Array-Daten einspeicher:
procedure TFrmAnwendung.BTNSaveClick(Sender: TObject);
var i:integer;
begin
i:=length(liste);
setlength(liste,i+1);
liste[i].name:= edtn.text ;
liste[i].Vorname := edtvorn.text ;
liste[i].KlassenStufe := StrToInt(edtS.text) ;
liste[i].Klasse := edtV.text ;
liste[i].tag:=strtoint(edtd.text);
liste[i].monat:=strtoint(edtmo.text);
liste[i].jahr:=strtoint(edtja.text);
edtd.text:=’’;
edtmo.text:=’’;
edtja.text:=’’;
edtvorn.text:=’’;
edtn.text:=’’;

Ich weiß auch, dass ich die Daten in etwa so vertausche:
Feld[1]:=Feld[3];
Nur weiß ich jetzt nicht, wie ich schreiben soll, dass er den kompletten Datensatz verschiebt. Außerdem muss er die Daten irgendwo Zwischenspeichern, da weiß ich auch nicht weiter.
Ich hoffe ihr könnt mir helfen.
Mit freundlichen Grüßem
John.

Hallo,

genau, wenn du die Inhalte zweier Variablen vertauschen willst, musst du irgendwie den Inhalt einer zwischenspeichern, bevor er überschrieben wird.

Nehmen wir ann, du willst die Inhalte der Variablen A und B vertauschen. Dann brauchst du ein dritte Variable vom gleichen Typ - nennen wir sie dummy. Der Tausch sieht dann so aus:

dummy := A;
A := B;
B := dummy;

Man könnte eine kleine Prozedur schreiben, welche den Austausch von zwei Variablen bewerkstelligt:

procedure Swap(var A,B: TMeinTyp);
var
 dummy: TMeinTyp;
begin
 dummy := A;
 A := B;
 B := dummy;
end;

was in einem Programm dann einfach aufgerufen werden kann, um die Inhalte verschiedener Variablem vom Typ „TMeinTyp“ zu tauschen („TMeinTyp“ steht stellvertretend für den gewünschten Variablen-Typ, bei Dir zB. für den Record-Datentyp).

LG
Jochen

Danke Jochen,
werde es Morgen ausprobieren.