![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Здравствуйте.
пишу на Delphi 7 (вынужден. перейти на другую не могу) пытаюсь переименовать файл: Код:
появляется код ошибки: 123. Все от того, что в имени файла есть юникод символы (национальные буквы которых нет в ASCII). когда читаю их в проге вместо этих букв показывает "?". Почитал, что в этом случае нужно использовать для манипуляций с файлами WinAPI функции с постфиксом W (unicode) т.к. в Delphi 7 используются вызовы WinAPI функций с постфиксом A - для ANSI. Также нельзя использовать обычный FindFirst, т.к. он имя файла тоже в ANSI отдает. нужно использовать FindFirstFileW() из WinAPI. в итоге написал следующее: Код:
Результат выполнения ---> "ошибка 2: Не удается найти указанный файл!" а все потому, что не смотря на все манипуляции --- имя файла в d.cFileName - все равно почему-то в ANSI -- т.е. юникод символ заменен на "?" что же не так? Как же все-таки переименовать этот файл? всю голову уже сломал( Помогите, кто сможет. |
#2
|
|||
|
|||
![]() Неужели никто ничего не знает? Даже мыслей никаких на этот счет нет?..
или в этом разделе (а может и форуме) нет компетентных людей, тут отвечают только на вопросы типа - как поменять цвет метки?.. |
#3
|
||||
|
||||
![]() Вы переименовываете файл с указанием только его имени, без указания пути до фала. Поэтому найти его функция и не может.
Код:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#4
|
|||
|
|||
![]() Цитата:
Спасибо Вам, добрый человек! Все так! Вопрос решен! Тема закрыта. p.s. целые сутки убил из-за своей невнимательности... (( |