-
Уважаемые Мастера. столкнулся с проблемой которую никак не могу решить. Пишу программу которая в ходе своей работы достает ресурсы(картинки, звук) из архива и испоьзует их. Так вот проблема в том что если архив лежит по пути в котром отсутствуют кириллические символы то все работает нормально.иначе файлы после распаковки из архива просто не находятся...что делать не знаю уже пробовал пользоваться функцией GetShortPathName...но при преобразовании возвращается код ошибки что файл не найден...что делать? Заранее спасибо..
-
Ну и что это за чудо-архив? Как разархивация-то идет?
-
обычный 7zip. нет на архивирование пенять врядли стоит...разархивирование всегда проходит нормально...а поиск файлов нет...ное сли нужно могу привести код модуля доступа к архиву и распаковки...
-
> ое сли нужно могу привести код модуля доступа к архиву и
> распаковки...
зачем? и так ясно, что проблема именно там. ща, схожу за Унтедонфом, и все сам увижу.
-
Унтедонф это кто?....немного не понятно...как говорил Шура Воробьянинов...объясните пожалуйста Остап Ибрагимович...извини за шутку но все же если можно поподробнее...
-
Универсальный телепатор для отвечающих на форуме.
Потому как без него приходится клещами вытягивать. Ибо иначе
> немного не понятно...
-
> yaric (30.08.2008 23:32:00) [0]
Надо переходить на Юникод или менять локализацию системы.
-
> yaric (30.08.2008 23:32:00) [0]
GetShortPathName тоже надо использовать Юникод версию.
-
>>Anatoly Podgoretsky
так дело вcе таки в путях...я правильно понял?
-
>>Anatoly Podgoretsky
GetShortPathNameW? или как она называется...а почему сбоит FileExists
объясните пожалуйста просто хочеться до конца разобраться
-
> а почему сбоит FileExists
А в кавычки заключаешь?
-
да заключаю все равно не находит ....попробовал GetShortPathNameW
получаю котроткое имя...теперь находит(спасибо Anatoly Podgoretsky) а раньше нет. Так в чем собственно дело..почему такая ситуация взникла?
-
> yaric (31.08.2008 0:10:08) [8]
А я не знаю, что ты понял, я просто телепатировал на вопрос, он смутный, и я не уверен за свой телепатор.
-
> yaric (31.08.2008 0:11:09) [9]
FileExists -> FindFirstFileW
-
итак еще раз...
1) достаю из ахива файл
2) пытаюсь его открыть
а)не находил его если каталог вкотром он лежал содержал в названии кириллицу
б) пробовал преобразовывать к котроткому пути GetShortPathName не получалось так как эта функция не чего не возвращает а говорит что файл не найден(через getlasterror)
в) попробовал преобразовывать с помощью GetShortPathName теперь все вопрядке находит...
в чем дело?
-
ой опечатка
в) попробовал преобразовывать с помощью GetShortPathNameW теперь все вопрядке находит...
-
> yaric (31.08.2008 0:56:11) [11]
Локализация для не Юникод программ не русская.
-
т.е. насколько я правильно понял...в процессе локализации (работа функции GetShortPathName) неправильно преобразовывались кирилические символы)?
-
где об этом можно более подробно почитать...
-
> yaric (31.08.2008 1:20:17) [17]
GetShortPathName, она же GetShortPathNameA работает правильно, поскольку это всего лишь заглушка, реально работает GetShortPathNameW но для этого нужно преобразовать из ANSI в Юникод, но правильно система это может сделать только в рамках локализация и если локализация не русская, то и преобразование будет неверное. Спасение только в прямой работе с Юникодом, пока единственная версия Дельфи, которая это умеет - это 2009