Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.04.2011, 18:15
antikiler antikiler вне форума
Прохожий
 
Регистрация: 16.03.2011
Сообщения: 23
Репутация: 24
По умолчанию множество, русские буквы и Delphi 2010

Есть множество с русскими буквами. В Дельфи 7 - работает, а в Дельфи 2010 - не хочет, гововорит что в этом множестве нет руских букв. Я так понял надо где-то что-то выставвить в опциях. Где и что?
Код:
const
   D = ['а'..'п', 'р'..'я', 'ё'];
 var
  ir: char;
   begin
   ir:= edit1.Text[1];
     if ir in d then  ShowMessage('есть')
     else ShowMessage('нету');

Последний раз редактировалось antikiler, 07.04.2011 в 18:28.
Ответить с цитированием
  #2  
Старый 08.04.2011, 06:44
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

m.b. AnsiChar?
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
  #3  
Старый 08.04.2011, 12:34
antikiler antikiler вне форума
Прохожий
 
Регистрация: 16.03.2011
Сообщения: 23
Репутация: 24
По умолчанию

пробывал, даже widechar - все ровно говорит что во множестве их нет. Самое интересное что в режиме отладки множество инициализируется русскими буквами.
Ответить с цитированием
  #4  
Старый 08.04.2011, 16:22
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

а явно задать тип множества не пробовали?
Код:
const
  D: set of (Ansi/Wide)Char = ['а'..'п', 'р'..'я', 'ё']
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
  #5  
Старый 08.04.2011, 17:28
antikiler antikiler вне форума
Прохожий
 
Регистрация: 16.03.2011
Сообщения: 23
Репутация: 24
По умолчанию

Вообщем полазив по интернету вышел на это http://www.sql.ru/forum/actualthread...=20&tid=612807
Выяснилось следующее что кирилица сильно лагает в дельфи 2009, 2010. Так теперь работает
Код:
const
   D = ['а'..'я',  'ё'];
 var
  ir: ansichar;
   begin
   ir:= ansistring(edit1.Text)[1]; // глюк
     if CharInSet(ir, d  ) then ShowMessage('есть')
    else ShowMessage('нету');
 
причем еще глюк - если использовать ansichar вместо ansistring то ни чего не работает.
P.S. Вот еще для чтения

Последний раз редактировалось antikiler, 08.04.2011 в 17:46.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:39.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025