Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.02.06;
Скачать: CL | DM;

Вниз

Вопрос про WideChar   Найти похожие ветки 

 
cyber-pilot   (2010-11-15 13:09) [0]

Есть код:

procedure TForm1.btn1Click(Sender: TObject);
var
 s: WideString;
 vChar: WideChar;
begin
 s := "ж";
 vChar := s[1];
 if (vChar >= "а") and (vChar <= "я") then
   ShowMessage("Сработало!!!");
end;

procedure TForm1.btn2Click(Sender: TObject);
var
 vChar: WideChar;
begin
 vChar := "ж";
 if (vChar >= "а") and (vChar <= "я") then
   ShowMessage("Сработало!!!");
end;


Кто-нибудь может объяснить почему во втором случае срабатывает условие, а в первом нет?


 
Игорь Шевченко ©   (2010-11-15 13:14) [1]


> Кто-нибудь может объяснить почему во втором случае срабатывает
> условие, а в первом нет?


Конечно, и этот кто-то - отладчик


 
Anatoly Podgoretsky ©   (2010-11-15 13:46) [2]

Может у тебя Д2007-


 
cyber-pilot   (2010-11-15 13:51) [3]


> Конечно, и этот кто-то - отладчик

Под отладчиком я конечно же запускал. В первом случае отладчик показывает, что в vChar находится "ж", но при этом не хочет сравнивать. Во втором случае в vChar оказывается какой-то иероглиф, но при этом сравнивается правильно.


> Может у тебя Д2007-

Да, у меня Д2007. Это что-то меняет?


 
Anatoly Podgoretsky ©   (2010-11-15 13:59) [4]

Меняет, "ж" это AnsiString
А  s := "ж"; это WideChar


 
cyber-pilot   (2010-11-15 14:18) [5]

А как в таком случае проверить, что WideChar-символ является русской буквой?


 
Anatoly Podgoretsky ©   (2010-11-15 14:25) [6]

> cyber-pilot  (15.11.2010 14:18:05)  [5]

У тебя весь код неправильный, надо прямое приведение для всех литералов,
иначе будешь постоянно ходить по граблям.
Нельзя писать "a", надо WideChar("a");


 
cyber-pilot   (2010-11-15 14:41) [7]


> Anatoly Podgoretsky ©   (15.11.10 14:25) [6]

А... понятно. Спасибо!



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

Текущий архив: 2011.02.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
2-1289810551
Евгений07
2010-11-15 11:42
2011.02.06
наследование


2-1289987934
SIV5000
2010-11-17 12:58
2011.02.06
Component KeyDown


2-1290065729
DoKZ
2010-11-18 10:35
2011.02.06
Indy TCP Client Server (Delphi 7)


15-1286748616
Германн
2010-10-11 02:10
2011.02.06
Инструмент для редактирования иконок


4-1244198418
GF
2009-06-05 14:40
2011.02.06
Курсор в определенной области. Отталкивание