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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Опции темы

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

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


Часовой пояс GMT +1, время: 12:57.


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