IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
gvy
- Сообщения: 9
- Зарегистрирован: 28 авг 2006, 14:13
Сообщение
gvy » 31 авг 2006, 10:08
Хочу избавиться от UDF. Там есть функция, которая проверяет строку на отсутствие латинских букв
(что буквы только русские). Вызывается она из ограничения check для колонок.
Может кто подскажет, как это же эффективно реализовать в PSQL?
Вот исходник. Заранее благодарю.
Код: Выделить всё
/*
Возвращает false, если строка содержит латинские(ASCII) буквы.
*/
NB_UDF_API bool nb_udf_is_native( const char *s )
{
if ( !s )
return true;
for( ; *s; s++ ) {
if ( iscntrl(*s) || isascii(*s) && !( isdigit(*s) || isspace(*s) || ispunct(*s) ) )
return false;
}
return true;
}
модератор: люди, пользуйтесь тэгом code !!!
-
mdfv
- Сообщения: 119
- Зарегистрирован: 23 май 2006, 15:53
Сообщение
mdfv » 31 авг 2006, 11:50
А если очень надо, то можно и извращенским способом
Код: Выделить всё
i=1;
nerus=0;
while (i<=Char_length(stroka)) do
begin
ch=substring(stroka from i for 1);
if (not(((ch>='А')and(ch<='Я'))or((ch>='а')and(ch<='я'))or(ch=' '))) then begin
nerus=1;
leave;
end
i=i+1;
end