Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

Re: TComponentList.Sort --> Endlosschleife

  Alt 3. Jul 2009, 10:07
Hallo berens,

abgesehen von der etwas unglücklichen Benutzing von "If" sehe ich da erst einmal keinen Fehler. Allerdings halte ich folgendes für etwas schneller:
Delphi-Quellcode:
if TLayoutElement(Item1).Top < TLayoutElement(Item2).Top then Result := -1
else
  if TLayoutElement(Item1).Top > TLayoutElement(Item2).Top then Result := 1
  else
  if TLayoutElement(Item1).Top = TLayoutElement(Item2).Top then begin
    if length(TLayoutElement(Item1).Text) < Length(TLayoutElement(Item2).Text) then
      Result := -1
    else
      Result := 1;
  end;
So läuft er nicht für jeden Satz in drei "If"s.

@Hawkeye219
Wenn er aber unbeding keine "gleichen" Daten haben will? Sowas soll's ja geben.

Gruß
K-H

Oh ich hab nicht aufgepasst:
Delphi-Quellcode:
if length(TLayoutElement(Item1).Text) < Length(TLayoutElement(Item2).Text) then
      Result := -1
    else
      Result := 1;
Wenn aber der Text gleich ist gibt's ein Problem.
K-H
  Mit Zitat antworten Zitat