Как рациональнее определить, содержит ли строка русские или только английские символы. Вот мой вариант
Code
s$ = 'Русскоязычная строка'
L = LEN(s$)
b = FALSE
For i = 1 To L
c$ = strget(s$, i)
c = ord(c$)
if (c >= 192) then
b = TRUE
Break()
End
Next i
if (b) Then
message("Русские символы есть", "")
Else
message("Русских символов нет", "")
End
Однако, как справедливо заметил Rush, при длине строки более 33 символов, будет быстрее использовать следующий алгоритм:
Code
cyr$='о;е;и;а;н;е;с;р;в;л;к;м;д;п;у;ё;я;ы;г;б;з;ь;ч;й;х;ж;ю;ц;ш;щ;э;ф;ъ;'
str$='проуйDFGEзытсCVBNS:\АОПЛКШЩЦЗВСЬМ'
strtmp$=LOW(str$)
For i=1 To GetArrayNum(cyr$,;)
char$=GetArrayItem(cyr$,;,i)
If (POS(char$,strtmp$)>0) Then
Message("Кириллица есть","")
strtmp$=''
Break()
End
Next i
Максимум проходов цикла при такой проверке - 33, при любой длине текста. Кстати, элементы шаблона расположены по частотности букв.
Все эти способы легко использовать также для проверки строки на наличие любых других символов (непечатных и др.), нужно только изменить условие...