AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sortieren eines Array of record

Ein Thema von ebi · begonnen am 8. Sep 2024 · letzter Beitrag vom 13. Sep 2024
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#10

AW: Sortieren eines Array of record

  Alt 8. Sep 2024, 15:48
Das "Warum" ignorieren ... hab ich oben editiert/geändert.

Aber bei dem +1 weist du ja immer das zweite Array-Item deinem Result zu.
Tipp: mit dem Debugger mal ansehen, was in der Result-Variable nach deiner Schleife drin steht.





Schön ist es auch, wenn man Gleiches Zusammengehöriges zusammenfasst.
So kann z.B. der Record selbst seine eigene Sortierfunktion bereitstellen.

Delphi-Quellcode:
type
  TCode = record
    Wort: string;
    Bezeichnung: string;
    class function Compare(const Left, Right: TCode): Integer; static;
  end;

// das Class+Static ist dafür, damit es kein implizites SELF gibt (als ersten unsichtbaren Parameter), also genauso, als wäre die Methode nicht in einer Klasse/Record.
class function TCode.Compare(const Left, Right: TCode): Integer;
begin
  Result := string.Compare(Left.Wort, Right.Wort, [coDigitAsNumbers]);
end;


TArray.Sort<TCode>(Self.TAdresse, TDelegatedComparer<TCode>.Create(TCode.Compare));


PS: Der Name mit T ist schon ein bissl verwirrend ... klingt irgendwie nicht nach Feld/Variable, sondern mehr nach Typ/Klasse.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Sep 2024 um 15:53 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz