On Wed, Aug 27, 2003 at 09:39:10AM +0200, Michael Van Canneyt wrote: > > > On Wed, 27 Aug 2003, James Mills wrote: > > > Hi, > > > > Is TStringList.indexOf case sensitive or insensitive ? > > TStrings.indexOf is case insensitive, but TStringList.indexOf overrides > > the TStrings.indexOf implementation accoriding to the documentation. > > It is case insensitive, but this was changed recently for Delphi > compatibility. > Older versions are case sensitive. Here are the relevant log entries: > > revision 1.15 > date: 2003/05/29 23:13:57; author: michael; state: Exp; lines: +5 -2 > fixed case insensitivity of TStrings.IndexOf > ---------------------------- > revision 1.14 > date: 2002/12/10 21:05:44; author: michael; state: Exp; lines: +12 -5 > + IndexOfName is case insensitive > ----------------------------
Is there no other function that searches the list in a case insensitive way ? I've been looking through the current FCL source and speaking to a member of the list... It seems perhaps I should write a descendant of TStringList, which I've done and works for my purpose. The other query I have with TStringList, is the sqlite unit uses CommaText which replaces " with "" and other side affects you don't want in an IRC Services application. I'm going to have a find a way around this too. I've solved the problem of null values and quoted string returns from sqlite by a simple algorithm check. function TDatabase.simpleQuery(query: String): String; var tmp: String; begin if NOT (SQL = nil) then begin SQL.Query(query, nil); if (SQL.List_Field.count > 0) then begin S := TStringList(SQL.List_Field.items[0]); tmp := S.Strings[0]; if (tmp[1] = '"') AND (tmp[length(tmp)] = '"') then begin if ((length(tmp) - 2) = 0) then begin simpleQuery := ''; end else begin (* tmp := copy(tmp, 2, (length(tmp) - 1)); *) tmp := copy(tmp, 2, length(tmp)); tmp := copy(tmp, 1, (length(tmp) - 1)); simpleQuery := tmp; end; end else begin simpleQuery := tmp; end; end else begin simpleQuery := ''; end; end; end; This works for what I need. cheers James > > Michael. > > > _______________________________________________ > fpc-pascal maillist - [EMAIL PROTECTED] > http://lists.freepascal.org/mailman/listinfo/fpc-pascal -- - -Zero Defect Software Engineers Group - ZDSEG - -You need only two tools. WD-40 and duct tape. -If it doesn't move and it should, use WD-40. -If it moves and shouldn't, use the tape. _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal