Einzelnen Beitrag anzeigen

ElRaiden

Registriert seit: 6. Okt 2006
2 Beiträge
 
#3

Re: +++ Hilfe - komme nicht weiter - Projekt: Adressbuch +++

  Alt 6. Okt 2006, 19:37
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
  Mit Zitat antworten Zitat