Einzelnen Beitrag anzeigen

G4schi

Registriert seit: 23. Aug 2017
17 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

[Erledigt]Problem mit Sortier-Algorithmus

  Alt 17. Okt 2017, 12:02
Hallo, folgenden Code habe ich
Delphi-Quellcode:
procedure THauptfenster.sg_sortieren(sortierfeld:String);
var array_min,array_hilfe:TAngaben;
    i,merken,j:Integer;
begin
     if sortierfeld = 'Niederschlagthen
     begin
          for i:=0 to Length(aDaten)-1 do
          begin
              array_min := aDaten[i];
              merken:=i;

              for j:=i+1 to Length(aDaten)-1 do
              begin
                if aDaten[j].niederschlag < array_min.niederschlag then
                begin
                    array_min := aDaten[j];
                    merken:=j;
                end;
              end;
          end;
          array_hilfe := aDaten[merken];
          aDaten[merken] := aDaten[i];
          aDaten[i] := array_hilfe;
     end;
end;

Ablauf:
Daten sollen aus einem Array of Records in einen StringGrid übertragen werden. Das läuft auch alles, aber jetzt
möchte ich die Daten sortieren.
Wenn der Parameter 'Niederschlag' übergeben wird,an diese Procedure, soll das Array of Record nach .niederschlag sortiert werden.
Das Array hat 3 Elemente. Wenn j = 3, wird ein seltsamer Wert, lange Fließkommazahl, an aDaten[j].niederschlag übergeben.
Dieser Wert wird dann in mein StringGrid, beim letzten Eintrag, übergeben. Ich verstehe nicht wieso noch ein Wert übergeben wird.
Eigentlich sollte doch, wenn j=3, Schluss sein.
Kann mir einer sagen, warum das passiert? Liegt der Fehler nicht in dieser Procedure?

Geändert von G4schi (17. Okt 2017 um 14:29 Uhr)
  Mit Zitat antworten Zitat