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

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

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

Ответ
 
Опции темы
Старый 08.12.2010, 11:39   #1
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
1.41, но мне бы лучше пятый!

Что-то русские буквы в путях к файлам не любит и новый макс, а я так надеялся!

Может кто знает - как заставить понимать русские имена файлов?
Если просто имя указать, то нормально работает, а если получить его через nextfile(), то нет.

Пример:

SuperStrict

Local path:String
Local line:String
Local file:TStream

'вот тут способ получения имени файла
'path = fnGetPath1()
path = fnGetPath2()

If(FileType(path) = 1)
	file = OpenFile(path)
	line = ReadLine(file)
	CloseFile(file)
Else
	DebugLog("file not found, path = " + path)
EndIf


Graphics(400, 200)
DrawText(line, 0, 0)
Flip()
WaitKey()


'просто путь с русскими буквами
Function fnGetPath1:String()
	Return "ресурсы\слово или строка.txt"
End Function

'получение имени первого файла
Function fnGetPath2:String()
	Local dir:Int = ReadDir("ресурсы")
	Local s:String, path:String
	Repeat
		s = NextFile(dir)
		If s = "" Exit
		If s = "." Or s = ".." Continue
		path = s
		Exit
	Forever
	CloseDir(dir)
	Return path
End Function
Используя fnGetPath1() получаем желаемое - файл существует и загружается нормально.
При использовании fnGetPath2() получаем
file not found, path = A;>2> 8;8 AB@>:0.txt
Ещё шляпа одного порядка с этой возникает, когда пути к файлам получаем через AppArgs, в случае перетаскивания файлов на ехе-шку.

Ограничивает меня эта хрень! Помогите
(Offline)
 
Ответить с цитированием
Старый 08.12.2010, 16:22   #2
cyberblut
Знающий
 
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений
(для 257 пользователей)
Ответ: 1.41, но мне бы лучше пятый!

Файлы с русскими именами - моветон. Правильно делает, что не понимает.
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо cyberblut за это полезное сообщение:
baton4ik (08.12.2010), Harter (09.12.2010), moka (09.12.2010), Nuprahtor (08.12.2010), Reks888 (09.12.2010)
Старый 08.12.2010, 17:06   #3
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: 1.41, но мне бы лучше пятый!

Выход 1 - открыть модуль, в котором содержится NextFile и посмотреть.
Причина всё таже, как и с ReadStream и LoadText
В первом случае фейл, во втором всё хорошо.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Жека (09.12.2010)
Старый 09.12.2010, 00:35   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: 1.41, но мне бы лучше пятый!

Продублирую одного из предыдущих ораторов - это не совсем правильно, и с точки зрения "человеков" (языка, как интернационального), так и с точки зрения системы, которая изначально, не предназначена для работы с русской "фигнёй" в системе.
Не используй русский, этого нигде не встретишь по разумным причинам.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
Dzirt (09.12.2010), Nex (09.12.2010)
Старый 09.12.2010, 08:25   #5
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: 1.41, но мне бы лучше пятый!

cyberblut и MoKa, я не про игровые ресурсы речь веду (сразу не предупредил), а про всякие утилитки. Например, конвертер файлов из формата в формат и прочее. Удобно же - кинул файлы на ехе-шку и всё готово.
Randomize, угу, полезно посмотреть. Просто не ясно, что мешает разрабам самим прописать поддержку русского языка, раз уж взялись за UTF.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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