Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];

Вниз

TStringList невзирает на регистр!   Найти похожие ветки 

 
Basilio   (2003-09-04 16:08) [0]

Когда в TStringList добавляю строки, то "aaa" и "AAA" считаются дубликатами! можно это как-нибудь обойти?

Лист создаю так:

SL:=TStringList.Create;
SL.Duplicates:=dupIgnore;
SL.Sorted:=true;


Посмотрел в исходниках: В методе Add вызывается Find, который выглядит так:

function TStringList.Find(const S: string; var Index: Integer): Boolean;
var
L, H, I, C: Integer;
begin
Result := False;
L := 0;
H := FCount - 1;
while L <= H do
begin
I := (L + H) shr 1;
C := AnsiCompareText(FList^[I].FString, S);
if C < 0 then L := I + 1 else
begin
H := I - 1;
if C = 0 then
begin
Result := True;
if Duplicates <> dupAccept then L := I;
end;
end;
end;
Index := L;
end;


Т.е. внутри зашито безразличие к регистру. можно ли это обойти?
(не создавая своего собственного TStringList"a)


 
Skier   (2003-09-04 16:09) [1]


> Т.е. внутри зашито безразличие к регистру. можно ли это
> обойти?
> (не создавая своего собственного TStringList"a)

Нет.


 
Reindeer Moss Eater   (2003-09-04 16:10) [2]

Duplicates:=dupAccept


 
mrcat   (2003-09-04 16:10) [3]

CaseSensitive ?


 
ZEE   (2003-09-04 16:12) [4]

>внутри зашито безразличие к регистру
тоесть зашито?, а TStringList.CaseSensitive тогда зачем?


 
Skier   (2003-09-04 16:14) [5]


> TStringList.CaseSensitive

Это из какого Delphi ?
Я в D5 не нашёл...(только у TDirectoryListBox)


 
Reindeer Moss Eater   (2003-09-04 16:14) [6]

нету CaseSensitive в D5


 
Basilio   (2003-09-04 16:14) [7]

> to Reindeer Moss Eater
Дубликаты нужно отсеивать. А "aaa" и "AAA" я не считаю дубликтами
> to mrcat
к сожалению в SL не предусмотрен параметр CaseSensitive - для того, чтобы внутри использовался другой метод сравнения.. (D5) :(
> to Skier
Ок. будем свой ваять
> to all
А в документации про то, что SL не CaseSesitive -- ни слова!
ща на седьмых проверю


 
ZEE   (2003-09-04 16:16) [8]

>Это из какого Delphi ?
>Я в D5 не нашёл...(только у TDirectoryListBox)
это из Д6 :) сори, топик невнимательно прочитал


 
mrcat   (2003-09-04 16:17) [9]

Basilio © (04.09.03 16:14)

в D5 можете наследника сделать с явным указанием AnsiCompareStr.


 
Basilio   (2003-09-04 16:18) [10]

ага. в седьмых это подправлено


 
Skier   (2003-09-04 16:20) [11]

function TStringList.Find(const S: string; var Index: Integer): Boolean; virtual;

virtual главное твоё оружие. Если в D5...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.012 c
3-48426
koks
2003-08-25 11:11
2003.09.15
ADOTable...


3-48420
shnidke
2003-08-24 01:52
2003.09.15
Суммирование значений


3-48438
Andrey V.
2003-08-25 10:13
2003.09.15
Feth ALL


6-48673
Maxim Pshevlotsky
2003-07-11 06:54
2003.09.15
TIDFTP.LIST - Отличия присылаемых строк Windows и Linux


11-48487
microlab
2003-01-06 19:26
2003.09.15
TKOLListView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский