Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.27;
Скачать: CL | DM;

Вниз

Кирилица в имени файла.   Найти похожие ветки 

 
The Sound ©   (2005-11-12 18:56) [0]

Привет. Сначала часть кода:
var
FileN :string;
fob :file of byte;
FSize :Longint;
...
procedure GetSize(const FileN :String);
begin
assignfile(fob,FileN);
//writeln(FileN);
//readln;
reset(fob);
FSize := FileSize(fob);
CloseFile(fob);
end;

Процедура работает отлично, но если переменная FileN содержит кирилицу, сразу выскакивает ошибка(Некорректное имя файла, фаил не найден). Подскажите как это исправить? Спасибо.
P.S. Если это важно, приложение консолевое.


 
sniknik ©   (2005-11-12 19:47) [1]

> P.S. Если это важно, приложение консолевое.
очень важно, т.к. в консоли часто ввод/вывод в Oem кодировке

т.е. надо использовать (если у тебя это так)
function ToChar(const Str: String): String;
begin
 SetLength(result, Length(Str));
 OemToChar(PChar(Str), PChar(result));
end;

GetSize(ToChar(xxx))

а еще лучше и GetSize поменять на типа такого (© компоненты Indy)
function FileSizeByName(const AFilename: string): Int64;
begin
 with TFileStream.Create(AFilename, fmOpenRead or fmShareDenyNone) do
 try
   Result := Size;
 finally Free; end;
end;


 
The Sound ©   (2005-11-12 21:38) [2]

Спасибо за ответ, но...

При использовании "function ToChar" ( GetSize(ToChar(FileN)); ), вылетает ошибка: "File acess denied"(нет доступа к файлу?).

А при "function FileSizeByName" ( FileSizeByName(FileN); )- "Can"t open file C:\л<‹^‹~ ы;лv‹Э\;|$v‹|$;ыvj\h+ыWSи&ьяя…А.mp3" что-то типа этого =/

Удручающе =( Будут какие мысли по этому поводу?



Страницы: 1 вся ветка

Текущий архив: 2005.11.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.06 c
14-1130911527
Ega23
2005-11-02 09:05
2005.11.27
С днем рождения! 2 ноября


2-1131457353
pvm
2005-11-08 16:42
2005.11.27
Перетаскивание


14-1130999889
ANB
2005-11-03 09:38
2005.11.27
Нам в компанию срочно требуется документатор


9-1121200003
Turkish
2005-07-13 00:26
2005.11.27
Помогите чем сможите


6-1124185391
digger
2005-08-16 13:43
2005.11.27
Таблица маршрутизации