Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 2D-программирование

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 01.02.2016, 02:17   #1
Harts
AnyKey`щик
 
Регистрация: 01.02.2016
Сообщений: 16
Написано одно полезное сообщение
(для 2 участников)
lower$ и Trim$ не работают с русскими словами

Всем доброго дня.
Я никак не могу найти решение данной проблеме.

Моя проблема заключается в том, что при использование Trim удаляет 3 начальных символа место пробелов.
А с командой Lower нечего не происходить.
Local txt$ = Trim(Lower(" АРБУЗ "))
Print txt
Место строчного слова и без пробелов, я получаю: УЗ.

Вопрос:
Как или что необходимо сделать, чтобы код нормально работал?
(Offline)
 
Ответить с цитированием
Старый 01.02.2016, 02:49   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: lower$ и Trim$ не работают с русскими словами

Ошибок в этом коде я не вижу.
Увы и ахъ, если это действительно так, видимо, это баг Блитза, исправить его никак.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 01.02.2016, 03:24   #3
Harts
AnyKey`щик
 
Регистрация: 01.02.2016
Сообщений: 16
Написано одно полезное сообщение
(для 2 участников)
Ответ: lower$ и Trim$ не работают с русскими словами

Сообщение от ABTOMAT Посмотреть сообщение
Ошибок в этом коде я не вижу.
Увы и ахъ, если это действительно так, видимо, это баг Блитза, исправить его никак.
Спасибо что откликнулся.

Не может быть, чтобы не было решения.
(Offline)
 
Ответить с цитированием
Старый 01.02.2016, 11:34   #4
Andvrok
Бывалый
 
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений
(для 995 пользователей)
Ответ: lower$ и Trim$ не работают с русскими словами

Решение так-то есть: не мучать трупешник и дать ему догнить спокойно.
(Offline)
 
Ответить с цитированием
Старый 01.02.2016, 12:00   #5
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: lower$ и Trim$ не работают с русскими словами

Если приемлемо, то использовать только латинские символы.
Или сделать транслитерацию, но тут нужно придумать способ распознавать комбинации из нескольких символов.
(Offline)
 
Ответить с цитированием
Старый 01.02.2016, 14:49   #6
Harts
AnyKey`щик
 
Регистрация: 01.02.2016
Сообщений: 16
Написано одно полезное сообщение
(для 2 участников)
Ответ: lower$ и Trim$ не работают с русскими словами

Сообщение от Жека Посмотреть сообщение
Если приемлемо, то использовать только латинские символы.
Или сделать транслитерацию, но тут нужно придумать способ распознавать комбинации из нескольких символов.
Если подумать, то отличная идея:
Создать функцию, которая преобразует из Кир. в Лат. и Наоборот.

Буду пробовать.

И да, есть готовые функции?
(Offline)
 
Ответить с цитированием
Старый 01.02.2016, 15:23   #7
mingw
ПроЭктировщик
 
Аватар для mingw
 
Регистрация: 01.01.2016
Сообщений: 138
Написано 71 полезных сообщений
(для 155 пользователей)
Ответ: lower$ и Trim$ не работают с русскими словами

Эти функции работают с текстом только в кодировке ANSI, либо сам файл исходника кодируется в ANSI, а еще может быть и то и другое.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (02.02.2016)
Старый 01.02.2016, 15:46   #8
Harts
AnyKey`щик
 
Регистрация: 01.02.2016
Сообщений: 16
Написано одно полезное сообщение
(для 2 участников)
Ответ: lower$ и Trim$ не работают с русскими словами

Сообщение от mingw Посмотреть сообщение
Эти функции работают с текстом только в кодировке ANSI, либо сам файл исходника кодируется в ANSI, а еще может быть и то и другое.
Знаю.
FastText_Ascii.bb
И про кодировку ANSI, то же.

Но вопрос о том:
Есть готовые функции, которая преобразует из Кир. в Лат. и Наоборот?
(Offline)
 
Ответить с цитированием
Старый 02.02.2016, 01:37   #9
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: lower$ и Trim$ не работают с русскими словами

Вообще-то это делается легко и на васике.

Всё что нужно - отыскать таблицу кодировки ANSI с русской второй половиной.
Посмотреть диапазон маленьких русских букв и аналогичный им диапазон больших букв, простым вычитанием узнать смещение.

Далее в своих реализациях указанных в заголовке функций, проверять попадает ли очередной символ в диапазон больших или малых русских букв, если нет вызывать встроенные функции, если да - добавлять/вычитать из кода символа смещение между большими и малыми буквами.

Отдельно нужно обрабатывать букву Ё. Она на отшибе в таблице.
__________________
(Offline)
 
Ответить с цитированием
Старый 02.02.2016, 22:53   #10
Harts
AnyKey`щик
 
Регистрация: 01.02.2016
Сообщений: 16
Написано одно полезное сообщение
(для 2 участников)
Ответ: lower$ и Trim$ не работают с русскими словами

Ни как не получаеться создать функцию для Trim

Последний раз редактировалось Harts, 04.02.2016 в 02:34.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:56.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com