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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2015, 14:28   #1
mavlon_m
Форумчанин
 
Регистрация: 04.08.2009
Сообщений: 101
По умолчанию Символ карилица

Всем привет,
Мне нужно определить есть ли в моем тексте символ кириллица...
кто знает? Есть ли готовая функция?
mavlon_m вне форума Ответить с цитированием
Старый 29.10.2015, 14:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если функции нет, то можно написать.
Типа
Код:
function Cyr(s:string):Boolean; var i:integer;
begin
 for i:=1 to Length(s) do 
  if ((s[i]>='А') and (s[i]<='Я')) or ((s[i]>='а') and (s[i]<='я')) then 
  begin Result:=true; exit; end;
 result:=false;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.10.2015, 14:54   #3
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Код:
function Cyr(S: string): Boolean;
var
i:integer;
const
Rus: Set of AnsiChar = ['А'..'я'];
begin
    Result:=false;
    for i:=1 to Length(S) do
        if s[i] in Rus then
        begin
            Result:=true;
            break;
        end;
end;
Iron Monk вне форума Ответить с цитированием
Старый 29.10.2015, 14:55   #4
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Цитата:
Сообщение от mavlon_m Посмотреть сообщение
Мне нужно определить есть ли в моем тексте символ кириллица...
Код:
function IsCyrillic(const S: UnicodeString): Boolean;
var
  I: Integer;
begin
  for I := 1 to Length(S) do
    case Word(S[I]) of
      $400..$52F, $2DE0..$2DFF, $A640..$A69F:
        begin
          Result := True;
          Exit;
        end;
    end;
  Result := False;
end;
Vapaamies вне форума Ответить с цитированием
Старый 29.10.2015, 14:56   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
if ((s[i]>='А') and (s[i]<='Я')) or ((s[i]>='а') and (s[i]<='я')) then
Ё ё так не поймается
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.10.2015, 14:57   #6
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Посмотрим теперь, какой вариант автор темы выберет -- наколенный или по стандарту.
Vapaamies вне форума Ответить с цитированием
Старый 29.10.2015, 14:58   #7
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ё ё так не поймается
Код:
const
Rus: Set of AnsiChar = ['А'..'я','ё','Ё'];
Iron Monk вне форума Ответить с цитированием
Старый 29.10.2015, 15:03   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
$400..$52F, $2DE0..$2DFF, $A640..$A69F
Это интервалы для всех возможных кириллических символов в юникоде? Чет много, запас не хилый наверно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.10.2015, 15:05   #9
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

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

Цитата:
Ё ё так не поймается
Добавить значит.
Цитата:
Set of AnsiChar
Выходит из моды учитывая юникод...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организовать текстовый файл f, состоящий из N строк. Организовать замену символов в файле. "Старый" символ и "новый" символ запраш Richik123 Паскаль, Turbo Pascal, PascalABC.NET 1 14.06.2012 16:28
Организовать текстовый файл f, состоящий из N строк. Организовать замену символов в файле. "Старый" символ и "новый" символ запра Richik123 Паскаль, Turbo Pascal, PascalABC.NET 0 31.05.2012 17:32
Assembler!!! Заменить на символ ‘!’ каждый 3тий символ в строке. Leon9313 Помощь студентам 0 24.04.2012 13:02
Символ Paul_AG Общие вопросы C/C++ 4 03.06.2009 21:06