Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2015, 18:03   #11
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
А всегда ли во всех таблицах алфавит с верхним регистром будет граничить с алфавитом с малым? Что-то мне помнится что бывают некоторые исключения, но пруф вспомнить не могу...
КОИ-8
cpp 866 (OEM)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 11.08.2015, 19:38   #12
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

А чо, компайлер не выдаёт хинт, что пора бы уже юзать функцию CharInSet()?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 11.08.2015, 19:49   #13
SQLPowerUser
Форумчанин
 
Аватар для SQLPowerUser
 
Регистрация: 19.01.2015
Сообщений: 158
Радость Я на SQL.RU тоже зарегистрирован...

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
некий Dmitry Arefiev вот тут на форуме sql.ru...
А это и есть тот самый Дмитрий, что придумал AnyDac (FireDac). Он периодически заходит на сиквел, подсказывает, если есть проблемы с его компонентами, собирает хотелки пользователей и т.д. Вот, например http://www.sql.ru/forum/1163016/fire...82759#17882759
SQLPowerUser вне форума Ответить с цитированием
Старый 11.08.2015, 21:24   #14
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А у меня каверзный вопрос: А всегда ли во всех таблицах алфавит с верхним регистром будет граничить с алфавитом с малым?
Таблица одна -- Юникод. Речь же про одиночные символы, которые теперь WideChar. Пруф -- стандарт Юникода. Для русского я в него посмотрел, для других алфавитов можете и сами.
Vapaamies вне форума Ответить с цитированием
Старый 11.08.2015, 21:28   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну ладно, ладно. Проехали... Я б конечно делал как Серж предложил, но и против твоего приема ничего не имею.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.05.2022, 13:45   #16
DevSergo
Новичок
Джуниор
 
Регистрация: 02.05.2022
Сообщений: 2
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
А чо, компайлер не выдаёт хинт, что пора бы уже юзать функцию CharInSet()?
Не работает!

Вот что ещё попробовал, тоже не работает:

Не работает:

Код:
    const
      MySet : set of WideChar = [WideChar('м'), WideChar('ж')];
    begin
      Value := edit1.Text[1];
      if Value in MySet then ...
Не работает:

Код:
    if AnsiChar(Value) in ['м', 'ж'] then ...
Не работает:
Код:
    if CharInSet(Value, ['м', 'ж']) then ...

А это работает :

Код:
      if (Value = 'м') or (Value = 'ж') then ...
DevSergo вне форума Ответить с цитированием
Старый 02.05.2022, 13:56   #17
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от DevSergo Посмотреть сообщение
Не работает:
Все. Проехали. В юникоде в Паскалевское множество могут входить только символы английского алфавита.
northener вне форума Ответить с цитированием
Старый 02.05.2022, 14:44   #18
DevSergo
Новичок
Джуниор
 
Регистрация: 02.05.2022
Сообщений: 2
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Все. Проехали. В юникоде в Паскалевское множество могут входить только символы английского алфавита.
Ясненько...

На стек-оферфлоу подсказали решение - нужно загнать всё в массив.

Проверил - работает!

Вот оно:

Цитата:
As Delphi set type can only handle maximum of 256 values it cannot be used for handling Unicode characters. For handling Unicode System.Character unit provides various methods and helpers.

For this particular case, there is IsInArray character helper you can use. Instead of declaring set of characters, you will need to declare array of characters.

Код:
var
  ch: Char;
  a: array of Char;
  s: string;
begin
  a := ['м', 'ж'];
  s := 'abcж';
  for ch in s do
    if ch.IsInArray(a) then ...
end;
ссылка
DevSergo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка на наличие кириллицы в textarea Ale}{ander JavaScript, Ajax 2 16.02.2014 22:10
Поиск в строке первого вхождения символа на СИ dannae Помощь студентам 3 26.11.2013 15:05
Множество кириллицы Sauber Помощь студентам 4 02.04.2011 12:17
Удалить из строкового значения все вхождения заданного символа. Delphi Saka Помощь студентам 10 08.03.2010 01:22
Проверка на вхождение символа во множество k1r1ch Общие вопросы C/C++ 2 01.01.2010 22:22