Показать сообщение отдельно
Старый 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)
 
Ответить с цитированием