![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
"str" to "file of byte" [D7, XP]
Sound.OFA © (2005-12-22 01:05:00)Здравствуйте, подскажите по сабду пожалуйсто, каким образом можно подобное сделать, кроме:
assignfile(fob,FileN);
writeln(FileN);
readln;
reset(fob);
CloseFile(fob);
begin...end (2005-12-22 18:51:00) [1]> Sound.OFA (22.12.05 16:11) [5]
> Нужно узнать размер файла... имя файла находиться в переменной типа str.
function FileSizeByName(const FileName: string): Int64;
var
FD: TWin32FindData;
H: Cardinal;
begin
H := FindFirstFile(PChar(FileName), FD);
if H <> INVALID_HANDLE_VALUE then
begin
Int64Rec(Result).Lo := FD.nFileSizeLow;
Int64Rec(Result).Hi := FD.nFileSizeHigh;
Windows.FindClose(H)
end
else
Result := -1
end
Sound.OFA (2005-12-22 16:11:00) [2]Джо © (22.12.05 01:39) [3]
Anatoly Podgoretsky © (22.12.05 10:37) [4]
Впринцыпи, наверно может подойти и textfile.
Тогда вопрос немного по другому - Нужно узнать размер файла,
делаю это ф-цией FileSize(), имя файла находиться в переменной типа str.
Каким образом, возможно переобразовать имя файла таким образом, что бы оно подошло для ф-ции FileSize()?
Извените если что-то непонятно =(
Anatoly Podgoretsky (2005-12-22 10:37:00) [3]Строку нельзя преобразовать в file of byte - несовместимые типы.
Джо (2005-12-22 01:39:00) [4]
> [2] sound.ofa (22.12.05 01:14)
Если удалить то, что вы указали (в общем-то, writeln(FileN) вообще непонятно к чему -- вывод в консоль имени файла), так вот, если удалить то, что вы указали, данная последовательность строк является жутким бредом (не в обиду). Что такое file on byte для FileSize? При чем здесь "фаил уже занят др. процессом" к "str" to "file of byte"? Ничего не понимаю.
Как прикажешь тебя понимать, Саид? © Я лично не понимаю совершенно.
sound.ofa (2005-12-22 01:14:00) [5]Джо © (22.12.05 01:09) [1]
Эм, ну...
> assignfile(fob,FileN); //есть имя файла в стр - FileN, ассоциирум его в переменную fob, у которой тип file on byte
> writeln(FileN); //эту строчку можно удолить
> readln; // и эту
> reset(fob);
> CloseFile(fob); //закрываем фаил =)
Как я уже писал выше, мне нужно переменную типа str, переделать в переменную типа file on byte (для FileSize()). тот код не подходит, т.к. фаил уже занят др. процессом =/
Джо (2005-12-22 01:09:00) [6]
> assignfile(fob,FileN);
> writeln(FileN);
> readln;
> reset(fob);
> CloseFile(fob);
Прокомментируйте, пожалуйста, приведенный код.