Главная страница
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.034 c
14-1130886861
Ораклиный глаз
2005-11-02 02:14
2005.11.27
Алькаида готовит диверсию?


2-1131394631
JBL
2005-11-07 23:17
2005.11.27
количество записей (sql)


14-1130915005
Saruwatari
2005-11-02 10:03
2005.11.27
Кто что знает об ипотеке поделитесь мыслями...


6-1124020298
Asail
2005-08-14 15:51
2005.11.27
проблема с idHTTP


1-1130791479
Aragon
2005-10-31 23:44
2005.11.27
Передача по ссылке параметра в Dll-процедуру