Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

сравнение строк


Handler ©   (2012-06-11 11:15:00) 

S1 := 'Led/ Жк телевизор BBK LED1955DT';
S2 := 'Led/ ЖК телевизор BBK LED1955DT';

 ShowMessage(BoolToStr(SameText(S1, S2)));

Результат сравнения - False. Почему? Сравнение ведь происходит без учета регистра.


Sha   (2012-06-11 11:32:00) [1]

Попробуй в среде Delphi навести курсор на имена этих функций
(SameText, CompareText, ANSICompareText) и нажать кнопку F1.

Ответ получишь раньше, чем за 11 минут.


sniknik   (2012-06-11 11:31:00) [2]

различие в русских буквах а функция используется без учета локали, т.е. либо английской части буквы увеличивай, а русские не трожь, либо функцию меняй на AnsiSameText.


Handler   (2012-06-11 11:26:00) [3]

Почему-то при сравнении SameText, CompareText получается, что строки не равны, а если использовать ANSICompareText - равны


procedure TForm1.FormCreate(Sender: TObject);
var
 S1, S2: string;
 SL: TStrings;
begin
 S1 := 'Led/ Жк телевизор BBK LED1955DT';
 S2 := 'Led/ ЖК телевизор BBK LED1955DT';

 ShowMessage(BoolToStr(S1 <> S2, True)); // S1 <> S2

 SL := TStringList.Create;
 try
   SL.Add(S1);
   ShowMessage(IntToStr(SL.IndexOf(S2))); // S1 = S2
 finally
   SL.Free;
 end;

end;


Anatoly Podgoretsky   (2012-06-11 11:23:00) [4]

> Handler  (11.06.2012 11:15:00)  [0]

Кроме того как ты различаешь - где пробел, а где скажем табуляция или другой
непечатный символ, например на разрывный пробел.
Ты что расчитываешь, что мы за тебя сделаем отладку?


Anatoly Podgoretsky   (2012-06-11 11:22:00) [5]

> Handler  (11.06.2012 11:15:00)  [0]

А может с учетом, проверь измени букву <К>


Наверх

Титульная страница Поиск, карта сайта Написать письмо