-
Sorteren in StringList
Hallo,
Code:
procedure TForm1.Button1Click(Sender: TObject);
Var
HStr : String;
L : TStringList;
I : Integer;
begin
HStr := 'Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,PnlForm, LzHTMLLabel, SynEdit, SynHighlighterPas, LzW10FormHdr, LzW10PnlSpec,LzColapseHorzPanel, LzMenuBar, LzCollapsePnl, LZGridMenu, LzTextPnl,LzCustomBtn,Format_Versie_01_Variabelen';
L := TStringList.Create;
L.Delimiter:=',';
L.Sorted:=True;
L.StrictDelimiter:=True; // De plaats van deze regel is kan een verkeerde lijst laten zin.
L.DelimitedText:=HStr;
// L.StrictDelimiter:=True; // Op deze plaats wel de juiste sortering
For I := 0 to L.Count - 1 do
Memo1.Lines.Add(L.Strings[I]);
end;
Waarom geeft dit niet een goed gesorteerde lijst? Wanneer HStr := 'q,w,z,s,a,d,f,g,t;' wordt er wel juist gesorteerd.
H.G. Frans
-
De strictdelimiter erna zetten heeft een effect
Zonder strictdelimiter wordt b.v. de spatie altijd ook als delimiter gezien. Dat "misbruik" je hier om de spaties eruit te strippen.