Post by Michael Van CanneytPost by James MillsHi,
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.
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
Post by Michael Van CanneytMichael.
_______________________________________________
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.