hmm, also erstmal einen schönen Dank für deine schnelle Antwort. Ich muss noch zufügen, dass ich gerade dabei bin, so die Grundlagen zu erforschen, also mich noch nicht so mit Funktionen auskenne.
Außerdem habe ich es vllt nicht so gut erklärt, das Problem natürlich.
Ich könnte für das sortieren mehrere folgende Prozeduren erstellen, die sich nur in dem Bereich unterscheiden, wonach sortiert wird, also entweder nach Vorname, Nachnamen, PLZ, Wohnort usw:
Code:
procedure p_sortierenname(linkegrenze,rechtegrenze : integer);
var pivotelement : string;
j,k,i : integer;
hilfsarray : array of string;
LinkesFeldLinks, LinkesFeldRechts, RechtesFeldLinks, RechtesFeldRechts : integer;
begin
setlength (hilfsarray, rechtegrenze+1);
if linkegrenze < rechtegrenze then
begin
pivotelement := Adressbuch[0].name;
j := linkegrenze;
k := rechtegrenze;
for i := linkegrenze+1 to rechtegrenze do
begin
if Adressbuch[i].name < pivotelement then
begin
hilfsarray[j] := Adressbuch[i].name;
j := j+1;
end
else
begin
hilfsarray[k] := Adressbuch[i].name;
k := k-1;
end;
end;
hilfsarray[k] := pivotelement;
for i := linkegrenze to rechtegrenze do
begin
Adressbuch[i].name := hilfsarray [i];
end;
LinkesFeldLinks := linkegrenze;
LinkesFeldRechts := k-1;
RechtesFeldLinks := k+1;
RechtesFeldRechts := rechtegrenze;
p_sortierenname(LinkesFeldLinks,LinkesFeldRechts);
p_sortierenname(RechtesFeldLinks,RechtesFeldRechts);
end;
end;
Nur dann müsste ich jeweils mehrere Prozeduren erstellen, die sich nur darin unterscheiden, wonach sortiert wird. Könnte ich nicht für "Adressbuch[i].name" eine Variable einsetzten, die ich früher bestimmen kann (je nach Auswahl der Combobox, z.b: Adressbuch[i].wohnort oder Adressbuch[i].plz usw.).
Bitte um eure Hilfe und DANKESCHÖN für alle möglichen Antworten!
mfg
ElRaiden