forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=109)
-   -   1.41, но мне бы лучше пятый! (http://forum.boolean.name/showthread.php?t=13858)

Жека 08.12.2010 11:39

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

Может кто знает - как заставить понимать русские имена файлов?
Если просто имя указать, то нормально работает, а если получить его через 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, в случае перетаскивания файлов на ехе-шку.

Ограничивает меня эта хрень! Помогите:)

cyberblut 08.12.2010 16:22

Ответ: 1.41, но мне бы лучше пятый!
 
Файлы с русскими именами - моветон. Правильно делает, что не понимает.

Randomize 08.12.2010 17:06

Ответ: 1.41, но мне бы лучше пятый!
 
Выход 1 - открыть модуль, в котором содержится NextFile и посмотреть.
Причина всё таже, как и с ReadStream и LoadText
В первом случае фейл, во втором всё хорошо.

moka 09.12.2010 00:35

Ответ: 1.41, но мне бы лучше пятый!
 
Продублирую одного из предыдущих ораторов - это не совсем правильно, и с точки зрения "человеков" (языка, как интернационального), так и с точки зрения системы, которая изначально, не предназначена для работы с русской "фигнёй" в системе.
Не используй русский, этого нигде не встретишь по разумным причинам.

Жека 09.12.2010 08:25

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


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot