Открытие файлов с кирилическими символами в пути

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Аватара пользователя
SourceOfDeath
незнакомец
Сообщения: 3
Зарегистрирован: 08.08.2015 06:45:43

Открытие файлов с кирилическими символами в пути

Сообщение SourceOfDeath »

Здравствуйте.
Пытался реализовать открытие файла, но столкнулся с тем, что если в пути есть кириллический символ, то функции DirectoryExists, FileExists возвращают FALSE. Попытки создания TFileStream.Create('C:\русские символы\file', faReadOnly) вызывают ошибку Unable to open file ...
Минимальный проект, воспроизводящий ошибку прилагаю.
Операционная система - Windows XP SP3
Lazarus 1.2.6
FPC 2.6.4
заранее спасибо
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
SourceOfDeath
незнакомец
Сообщения: 3
Зарегистрирован: 08.08.2015 06:45:43

Сообщение SourceOfDeath »

Да это, похоже, помогло. Большое спасибо. Что делать с потоком? Почему он файла не находит? Мало проверить существует файл, или нет, его ещё нужно открыть (меня больше устроит поток). Вот я ещё FileOpen не пробовал, может, и он не работает.
Аватара пользователя
SourceOfDeath
незнакомец
Сообщения: 3
Зарегистрирован: 08.08.2015 06:45:43

Сообщение SourceOfDeath »

Вот как надо!
TFileStream.Create(UTF8ToSys('C:\русские символы\file'), faReadOnly)
TFileStreamUTF8 - Спасибо, щас будем разбираться
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

UTF8ToSys(...) - да, для стандартных версий. Но я стараюсь использовать всюду UTF8-версии, как более универсальное средство.
Ответить