Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Доброго времени суток [D5, Win95/98]


Dmitry1 ©   (2001-12-14 16:53:00) 

как определить есть ли в стоке символы кирилицей?
можно немного преобразовать вопрос:
как определить что в строке есть только: латинские буквы и служебные знаки


Dmitry1   (2001-12-17 15:08:00) [1]

Спасибо всем кто окликнулся.


Anatoly Podgoretsky   (2001-12-15 12:07:00) [2]

Лучше все таки not (s[i] in LatinAndSpecialChars)иначе отсекаются некоторые знаки, например денежные символы и некоторое другое
Так будет более гибко


Mbo   (2001-12-15 07:53:00) [3]

>как определить что в строке есть только: латинские буквы и служебные знаки
onlylat:=true;
for i:=1 to length(s) do if ord(s[i])>127 then begin
onlylat:=false;
break;
end;


Mick   (2001-12-14 19:55:00) [4]

Лучше так :)

for i := 1 to Length(s) do
begin
Result:=s[i] in RusChars;
if Result then Break;
end;


Вадим   (2001-12-14 19:53:00) [5]

case? Приплыли, всю ночь гребли, а лодку отвязать забыли...

function IsRus(s: string): boolean;
var
i: integer;
const
RusChars = ["А".."Я", "а".."я"];
begin
Result := False;
for i := 1 to Length(s) do
if s[i] in RusChars then
begin
Result := True;
Break;
end;


Mick   (2001-12-14 19:48:00) [6]

И чем например такое:
if MyString[i] in ["A".."я"] then ...
хуже чем case ?

И где именно был вопрос по API функциям, я что-то не заметил сразу?


Tonie   (2001-12-14 19:46:00) [7]

у строки нет признака кодировки, так что действительно тебе надо просто по строке идти и код символа на принадлежность латинскому алфавиту проверять типа: "A".."Z", "a".."z" : Result := inLatin


Dmitry1   (2001-12-14 19:42:00) [8]

я же про API функции спрашивал. :(( А в твоем варианте решения задачи лучше не ifприменять, а caseтак как тип char- перечисляемый.
а Api функция мне нужна для того чтобы правильно работать с кодировками.


Mick   (2001-12-14 17:15:00) [9]

Есть такая функция!
Фамилия у нее If


Dmitry1   (2001-12-14 17:11:00) [10]

а какой нибудь функции специальной нет?


Mick   (2001-12-14 17:05:00) [11]

Процессор 8086? Так и ему это вполне по силам.


Dmitry1   (2001-12-14 17:01:00) [12]

это можно конечно сделать но я боЮсь что работать будет это долго. у меня более 2000 строк которые необходимо обработать. :((


Mick   (2001-12-14 16:56:00) [13]

Сравнивать символы этой строки с символами кириллицы не пробовал?


Наверх

Титульная страница Поиск, карта сайта Написать письмо