AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Array of CustomRecord - Strings sortieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array of CustomRecord - Strings sortieren

Offene Frage von "ThE_-_BliZZarD"
Ein Thema von ThE_-_BliZZarD · begonnen am 10. Mai 2007 · letzter Beitrag vom 10. Mai 2007
Antwort Antwort
ThE_-_BliZZarD

Registriert seit: 15. Sep 2006
Ort: Wiesbaden/Hessen
89 Beiträge
 
Delphi 2010 Professional
 
#1

Array of CustomRecord - Strings sortieren

  Alt 10. Mai 2007, 21:03
Hallihallo,

ich habe mir einen Record angelegt, der sieht so aus:
Delphi-Quellcode:
TSR = record
    is_directory: boolean;
    name: String;
    size: integer;
end;
Nun wird der Record mittels
Delphi-Quellcode:
var
   tmp: array of TSR;
in ein Array gepackt und dann befüllt, jeweils mit Name, Size und is_dir.

Jetzt würde ich das Array der Records gerne anhand der name's sortieren.. aber MIT den size's^^

Habe mir schon von hier diese schöne Bibliothek geholt, aber
wie ich das damit verwenden soll, is mir noch nicht so knorke..

Hoffe auf eine kleine Anleitung *bettel & lieb guck*

Danke
MSVC2008 (C/C++ with QT), Delphi RAD 2010, Flash CS5 (FDT/Adobe), Java EE (Eclipse), PHP5
Antwortsprachen: Deutsch, Englisch, Französisch, Japanisch
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Array of CustomRecord - Strings sortieren

  Alt 10. Mai 2007, 21:53
Hallo,

ich kann aus deiner Problembeschreibung nicht erkennen, wo da ein natural sort involviert sein könnte. Hier hast du einen normalen Sort als Anschauungsmaterial:

Delphi-Quellcode:
type
  TSR = record
    is_directory: Boolean;
    name: string;
    size: Integer;
  end;
  TSRDynArray = array of TSR;

procedure BubbleSort(var da: TSRDynArray);
var
  iInner, iOuter: Integer;
  sr: TSR;
begin
  for iOuter := Succ(Low(da)) to High(da) do
    for iInner := Pred(iOuter) downto Low(da) do
      if AnsiCompareText(da[iInner].name, da[Succ(iInner)].name) > 0 then
      begin
        sr := da[Succ(iInner)];
        da[Succ(iInner)] := da[iInner];
        da[iInner] := sr;
      end else Break;
end;
Erschließen kannst du dir den Code indem du das Tutorial zu den Sortierverfahren liest oder eine kommentierte Fassung im Forum suchst.

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz