10. november 2003 - 10:07Der er
13 kommentarer og 1 løsning
Nemmest at sortere listboks eller array ?
Jeg skal enten have sorteret mit array inden det sættes ind i en listboks eller også skal det først sorteres i listboksen. Hvad er nemmest ? Og hvordan gør man ? Jeg skal sortere en variabel som er integer, og det største tal skal øverst!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
function SortListBox(List: TStringList; Index1, Index2: Integer): Integer; var D1, D2: Integer; begin D1 := StrToInt(List[Index1]); D2 := StrToInt(List[Index2]); If D1 < D2 Then Result := 1 Else If D1 > D2 Then Result := -1 Else Result := 0; end;
procedure TForm1.Button2Click(Sender: TObject); var SL: TStringList; begin ListBox2.Items.Add('3'); ListBox2.Items.Add('1'); ListBox2.Items.Add('34'); ListBox2.Items.Add('63'); ListBox2.Items.Add('355'); ListBox2.Items.Add('7'); ListBox2.Items.Add('10'); ListBox2.Items.Add('55');
x-masman: Har du prøvet den !? Den virker meget dårlig da den er beregnet til at sortere alfabetisk og ikke til tal, så den sortere kun på første tegn i tallet og ikke hele tallet som helhed ;)
Denne procedure virker, hvis du skal have ændret rækkefølgen skal du bare vendre "krokodille-næbbet" :)
procedure SortListBox; var Finished : Boolean; I : Integer; begin repeat Finished := True; For I:=1 to Form1.ListBox1.Count-1 do begin If (StrToInt(Form1.ListBox1.Items.Strings[I]) > StrToInt(Form1.ListBox1.Items.Strings[I-1])) then begin Form1.ListBox1.Items.Move(I,I-1); Finished := False; break; end; end; until (Finished); end;
fordi jeg skulle samtidig rykke værdierne op i en anden listbox når den rykkede dem i den listbox den sorterer i, og så synes jeg den var mere overskuelig for sådan en nybegynder som mig...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.