Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
ВнизКирилица в имени файла. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.014 c