AGB  ·  Datenschutz  ·  Impressum  







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

Sortierfunktion

Ein Thema von HariboHunter · begonnen am 3. Jan 2006 · letzter Beitrag vom 18. Jan 2006
Antwort Antwort
Benutzerbild von HariboHunter
HariboHunter

Registriert seit: 5. Okt 2004
Ort: Kentucky
78 Beiträge
 
#1

Sortierfunktion

  Alt 3. Jan 2006, 15:00
Hi Jungs,
Ich hab hier eine Sortierfunktion für eine Treeview.

Code:
function CustomSortProc(Node1, Node2: TTreeNode; Data: Integer): Integer; stdcall;
// für das Sortieren von TreeViews, als Parameter an Customsort übergeben:
// Aufruf: TreeView1.CustomSort(@CustomSortProc, 0);
// Data: 0 = Absteigend, 1 = Aufsteigend
begin
  if Data = 0 then
    Result := AnsiStrIComp(Pchar(Node1.Text), PChar(Node2.Text))
  else
    Result := -AnsiStrIComp(PChar(Node1.Text), PChar(Node2.Text));
end;
die Funktioniert auch wunderbar.
ich möchte aber, das Einträge mit einer bestimmten image, ganz nach oben kommen.
Leider haben ich keinen blassen dunst wie ich das implementieren soll, also frag ich hier.
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Sortierfunktion

  Alt 3. Jan 2006, 17:51
Hi,

das müsste mit folgender Vergleichsfunktion funktionieren, wobei myIdx der Index des Bildes ist, das nach oben soll:

Delphi-Quellcode:
if (Node1.ImageIndex = myIdx and Node2.ImageIndex <> myIdx) then
  Result := -1;
else if (Node2.ImageIndex = myIdx and Node1.ImageIndex <> myIdx) then
  Result := 1;
else if Data = 0 then
  Result := AnsiStrIComp(Pchar(Node1.Text), PChar(Node2.Text))
else
  Result := -AnsiStrIComp(PChar(Node1.Text), PChar(Node2.Text));
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
Benutzerbild von HariboHunter
HariboHunter

Registriert seit: 5. Okt 2004
Ort: Kentucky
78 Beiträge
 
#3

Re: Sortierfunktion

  Alt 18. Jan 2006, 08:54
Delphi-Quellcode:
  if (Node1.ImageIndex = 0) and (Node2.ImageIndex <> 0) then
  Result := -1
else if (Node2.ImageIndex = 0) and (Node1.ImageIndex <> 0) then
  Result := 1
else if Data = 0 then
  Result := AnsiStrIComp(Pchar(Node1.Text), PChar(Node2.Text))
else
  Result := -AnsiStrIComp(PChar(Node1.Text), PChar(Node2.Text));
waren noch ein paar kleine Flüchtigkeitsfehler.
So passt es, vielen Dank

->> Problem solved
  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 18:59 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