Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

Вниз

Доброго часу доби Знайти схожі гілки


Dmitry1   (2001-12-14 16:53) [0]

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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

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



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

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

function IsRus(s: string): boolean;
було
i: integer;
сопзЬ
RusChars = ["А".."Я", "а".."я"];
починати
Result: = False;
for i: = 1 to Length (s) do
if s[i] in RusChars then
починати
Result: = True;
Break;
end;



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

Лучше так :)

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



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

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



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

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



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

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



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.85 MB
Час: 0.026 c
3-21913
SklifF
2001-12-03 19:08
2002.01.08
Про підсумовування стовпців


14-22374
nikols
2001-11-01 16:03
2002.01.08
Як відпочивають програмісти? І коли?


3-21905
nic406
2001-11-28 04:21
2002.01.08
Help! Роблю Select * From T1 -> refresh -> помилка (ADODataSet)


14-22399
McSimm
2001-11-11 12:01
2002.01.08
Форматування в відповідях


3-21912
Сергій Н.
2001-12-04 06:23
2002.01.08
Обробка дати з IB в Delphi і назад





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська