Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Перевести строку на транслит нада ... / 3 сообщений из 3, страница 1 из 1
17.07.2007, 15:18
    #34664452
PaulJB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевести строку на транслит нада ...
Есть строка содержащая ФИО кириллицей.
Надо перевести ее на транслит (англицкими букивками).
Может у кого есть функция такая ?
Поделитесь, если не жалко ... :)

З.Ы.
Просто надо срочно и поэтому нет времени самому изобретать.
...
Рейтинг: 0 / 0
17.07.2007, 16:03
    #34664655
AIZ
AIZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевести строку на транслит нада ...
Есть по правилам современного узбекского языка (латиница). Вход - русский, Выход - узбекский.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Boolean	lb_yes
Long		ll_len, i, j, ll_count
String	ls_ret, ls_lit
String	ls_rus[] =	{"а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", &
							"н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", &
							"ы", "ь", "э", "ю", "я"}
String	ls_lat[] =	{"a", "b", "v", "g", "d", "e", "yo", "j", "z", "i", "iy", "k", "l", "m", &
							"n", "o", "p", "r", "s", "t", "u", "f", "h", "ts", "ch", "sh", "sch", "", &
							"i", "", "e", "yu", "ya"}
IF IsNull(as_text) THEN as_text = ""
ls_ret = ""
ll_len = Len(as_text)
IF ll_len =  0  THEN RETURN ""
ll_count = UpperBound(ls_rus)

FOR i =  1  TO ll_len
	lb_yes = False
	ls_lit = Mid(as_text, i,  1 )
	FOR j =  1  TO ll_count
		IF Lower(ls_lit) = ls_rus[j] THEN
			lb_yes = True
			EXIT
		END IF
	NEXT
	IF lb_yes THEN
		IF gnv_app.inv_string.of_IsUpper(ls_lit) THEN
			ls_ret += gnv_app.inv_string.of_WordCap(ls_lat[j])
		ELSE
			ls_ret += ls_lat[j]
		END IF
	ELSE
		ls_ret += ls_lit
	END IF
NEXT

RETURN ls_ret
...
Рейтинг: 0 / 0
17.07.2007, 16:41
    #34664838
PaulJB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевести строку на транслит нада ...
2 AIZ
Огромное спасибо !!!
С узбекского я уж как то на русский переведу ;)
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Перевести строку на транслит нада ... / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]