On Sat, 26 Mar 2016, C Western wrote:

On 26/03/16 09:19, Michael Van Canneyt wrote:
I have implemented a new property

  TStringsSortStyle = (sslNone,sslUser,sslAuto);

  Property SortStyle : TStringsSortStyle Read FSortStyle Write
SetSortStyle;

I assume the meaning is clear.

- Sorted is true if SortStyle is in [sslUser,sslAuto], so it reflects
actual state.

- Setting sorted to True is equivalent to setting SortStyle = sslAuto

- Setting sorted to false is equivalent to setting SortStyle = sslNone

- Find will work on one of those values, but it will raise an exception
if sortstyle = sslnone

- Add will put a new string on the 'correct' place if SortStyle=sslAuto

- Insert will raise an error (as it was) if SortStyle=sslAuto.

Michael.

I think you might have missed updating a file:

bootstrap/ppcx64 -Ur -gl -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -Fi../unix -Fix86_64 -FE. -FU/home/ctcmw/fpc/trunk.w/fpcsrc/rtl/units/x86_64-linux -Cg -dx86_64 -dDEBUG -dRELEASE -Fi../objpas/classes ../unix/classes.pp
stringl.inc(1447,29) Error: Identifier not found "SErrFindNeedsSortedList"

Correct. Committed the file.


On a related matter - is this insensitive to changes in the system/rtl sort order? I had a difficult to find problem recently where I had some code in an initialization section that prepared a sorted string list (or something like it). The use of this in the main program then broke when I added another package to the program (in fact fpSpreadsheet) that forced inclusion of cwstrings to the program, but implicitly after the initialization discussed. This was easily fixed by adding cwstrings at the top of the lpr file. I am not sure if this is something that can be more generally fixed, but if there is anything that can reduce the possibilities for confusion that would be good.

This is unrelated, and has to do with the fact that the stringlist by
default is sorted case-insensitively.

Michael.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to