![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Доброго времени суток [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]Сравнивать символы этой строки с символами кириллицы не пробовал?