Hallo,
gegeben ist folgendes:
D11.2,
VCL Anwendung mit eienr TCheckListBox.
Außerdem eine generische TObjectList, deren Einträge u.a. ein Dateinamensfeld (string) haben.
Die in dieser Liste gespeicherten Einträge werden über eine Methode der CheckListBox.Items
Eigenschaft zugewiesen (diese wird vorher geleert).
Außerdem wurde für die generische Liste eine Sortierung anhand des Dateinamens umgesetzt.
Zum Vergleich der Strings wird CompareStr genutzt. Vermutlich liegt da auch der Hund begraben.
In den Pfad/Dateinamen gibt's u.a. solche:
[..]\Source\AddSomething.pas
[..]\Source\fWizard.pas
[..]\Source\__recovery\AddSomething.pas
Das Sort der TObjectList sortiert die jetzt so:
[..]\Source\AddSomething.pas
[..]\Source\__recovery\AddSomething.pas
[..]\Source\fWizard.pas
weil im
ASCII Zeichensatz _ zwischen den großen und kleinen Buchstaben kommt.
Wenn CheckListBox.Sorted true ist, wird dort drin aber so sortiert:
[..]\Source\__recovery\AddSomething.pas
[..]\Source\AddSomething.pas
[..]\Source\fWizard.pas
Wie bekomme ich die selbe Sortierung auch in der TObjectList hin ohne
im Comparer immer .ToUpper oder .ToLower aufrufen zu müssen?
Und: was ist der Unterschied zwischen CompareStr und CompareText?
Auf den ersten Blick auf die Hilfethemen beider sah' ich noch keinen...