Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Путь к файлу в котром присутствует кириллица [D7, WinXP]


Страницы:   1 2

yaric ©   (2008-08-30 23:32:00) 

Уважаемые Мастера. столкнулся с проблемой которую никак не могу решить. Пишу программу которая в ходе своей работы достает ресурсы(картинки, звук) из архива и испоьзует их. Так вот проблема в том что если архив лежит по пути в котром отсутствуют кириллические символы то все работает нормально.иначе файлы после распаковки из архива просто не находятся...что делать не знаю уже пробовал пользоваться функцией GetShortPathName...но при преобразовании возвращается код ошибки что файл не найден...что делать? Заранее спасибо..


Riply   (2008-08-31 04:56:00) [1]

> [19] Anatoly Podgoretsky ©   (31.08.08 01:27)
> Спасение только в прямой работе с Юникодом, пока единственная версия Дельфи, которая это умеет - это 2009

ИМНО - если забыть про VCL, то умеет любая версия Delphi ибо она умеет использовать API и NT функции :)
Или я что-то не так поняла ?


Германн   (2008-08-31 02:07:00) [2]


> Anatoly Podgoretsky ©   (31.08.08 01:27) [19]


> пока единственная версия Дельфи, которая это умеет - это
> 2009

А она уже есть? А она действительно умеет?


yaric   (2008-08-31 01:48:00) [3]

понятно...спасибо большое ...картина мира стала полнее...:)


Anatoly Podgoretsky   (2008-08-31 01:28:00) [4]

> yaric  (31.08.2008 1:21:18)  [18]

Ну стандартно MSDN только это монстр, можно также почитать Рихтера и некоторых других авторов, для того чтобы в этом монстре MSDN можно было ориентироваться.


Anatoly Podgoretsky   (2008-08-31 01:27:00) [5]

> yaric  (31.08.2008 1:20:17)  [17]

GetShortPathName, она же GetShortPathNameA работает правильно, поскольку это всего лишь заглушка, реально работает GetShortPathNameW но для этого нужно преобразовать из ANSI в Юникод, но правильно система это может сделать только в рамках локализация и если локализация не русская, то и преобразование будет неверное. Спасение только в прямой работе с Юникодом, пока единственная версия Дельфи, которая это умеет - это 2009


yaric   (2008-08-31 01:21:00) [6]

где об этом можно более подробно почитать...


yaric   (2008-08-31 01:20:00) [7]

т.е. насколько я правильно понял...в процессе локализации (работа функции GetShortPathName) неправильно преобразовывались кирилические символы)?


Anatoly Podgoretsky   (2008-08-31 01:15:00) [8]

> yaric  (31.08.2008 0:56:11)  [11]

Локализация для не Юникод программ не русская.


yaric   (2008-08-31 01:05:00) [9]

ой опечатка
в) попробовал преобразовывать с помощью GetShortPathNameW теперь все вопрядке находит...


yaric   (2008-08-31 01:04:00) [10]

итак еще раз...
1) достаю из ахива файл
2) пытаюсь его открыть
   а)не находил его если каталог вкотром он лежал содержал в названии кириллицу
   б) пробовал преобразовывать к котроткому пути GetShortPathName не получалось так как эта функция не чего не возвращает а говорит что файл не найден(через getlasterror)
   в) попробовал преобразовывать с помощью GetShortPathName теперь все вопрядке находит...

в чем дело?


Anatoly Podgoretsky   (2008-08-31 01:02:00) [11]

> yaric  (31.08.2008 0:11:09)  [9]

FileExists -> FindFirstFileW


Anatoly Podgoretsky   (2008-08-31 01:01:00) [12]

> yaric  (31.08.2008 0:10:08)  [8]

А я не знаю, что ты понял, я просто телепатировал на вопрос, он смутный, и я не уверен за свой телепатор.


yaric   (2008-08-31 00:56:00) [13]

да заключаю все равно не находит ....попробовал GetShortPathNameW
получаю котроткое имя...теперь находит(спасибо Anatoly Podgoretsky) а раньше нет. Так в чем собственно дело..почему такая ситуация взникла?


Германн   (2008-08-31 00:38:00) [14]


> а почему сбоит FileExists

А в кавычки заключаешь?


yaric   (2008-08-31 00:11:00) [15]

>>Anatoly Podgoretsky
GetShortPathNameW? или как она называется...а почему сбоит FileExists
объясните пожалуйста просто хочеться до конца разобраться


yaric   (2008-08-31 00:10:00) [16]

>>Anatoly Podgoretsky
так дело вcе таки в путях...я правильно понял?


Anatoly Podgoretsky   (2008-08-31 00:06:00) [17]

> yaric  (30.08.2008 23:32:00)  [0]

GetShortPathName тоже надо использовать Юникод версию.


Anatoly Podgoretsky   (2008-08-31 00:06:00) [18]

> yaric  (30.08.2008 23:32:00)  [0]

Надо переходить на Юникод или менять локализацию системы.


KilkennyCat   (2008-08-31 00:00:00) [19]

Универсальный телепатор для отвечающих на форуме.
Потому как без него приходится клещами вытягивать. Ибо иначе
> немного не понятно...


yaric   (2008-08-30 23:55:00) [20]

Унтедонф это кто?....немного не понятно...как говорил Шура Воробьянинов...объясните пожалуйста Остап Ибрагимович...извини за шутку но все же если можно поподробнее...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо