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

Вниз

Вопрос про 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.158 c
2-1289811718
на4инающий
2010-11-15 12:01
2011.02.06
парсинг имени файла


2-1288885183
harisma
2010-11-04 18:39
2011.02.06
Присвоение TField.Value или TField.AsString


4-1245062957
василий иванович
2009-06-15 14:49
2011.02.06
самописный CSP


6-1234078143
FireMan_Alexey
2009-02-08 10:29
2011.02.06
ограничение скорости


15-1287738749
istok
2010-10-22 13:12
2011.02.06
категории программ..





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский