Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизПочему-то возникает File Access Denied Найти похожие ветки
← →
zif (2004-04-04 13:10) [0]В определенной папке лежит файл, порезанный на несколько кусков. Его нужно собрать, т.е. побайтно склеить все части.
Вот мой код, который выдает ошибку File Access Denied:
var
mask: String;
SR: TSearchRec;
i: integer;
Buf: array of Byte;
FI, FO: File;
begin
mask := Edit1.Text + "*";
if mask = "" then mask := "*.*";
memo1.lines.clear;
if FindFirst(mask, faAnyFile, SR)=0 then
AssignFile(FI, Edit1.Text + SR.Name + "final");
Rewrite(FI, 1);
repeat
begin
memo1.Lines.add(SR.Name);
end
until FindNext(SR)<>0;
FindClose(SR);
for i:=1 to memo1.lines.count do begin
AssignFile(FO, Edit1.Text + memo1.lines[i]);
Reset(FO, 1); //строка, где выдается ошибка!!!
SetLength(Buf, FileSize(FO));
BlockRead(FO, Buf, FileSize(FO));
BlockWrite(FI, Buf, FileSize(FO));
Buf := NIL;
CloseFile(FO);
end;
CloseFile(FI);
Ну откуда здесь может взяться эта ошибка?!!
← →
Cobalt © (2004-04-04 14:28) [1]А что находится в
Edit1.Text + memo1.lines[i]
?
← →
zif (2004-04-04 14:45) [2]Сорри...
Список названий файлов, которые программе нужно объеденить в один файл.
← →
Anatoly Podgoretsky © (2004-04-04 14:46) [3]Об этом мы предполалаем, но что говорит отладчик
← →
Unknown user © (2004-04-04 15:39) [4]2 zif. Код ужасный. Проверь что возвращает Edit1.Text + memo1.lines[i]. Используй TFileStream. Не выделяй под Buf сразу столько памяти, ведь файлы бывают и по 1Гиг, читай и пиши блоками фиксированной длины, для выделения памяти лучше использовать GetMem. Используй конструкции try .. finally везде где получаешь дескрипторы либо выделяешь память. Все.
← →
Camypau (2004-04-04 20:50) [5]а доступ к файлу есть?
попробуй его открыть в фаре и посмотреть или поставь
FileMode := 0; // открыть только в режиме доступа на чтение
и лучше уж тут писать просто Reset(FO);
если пишется что Access Denied значит имя файла таки верное
p.s.
mask := Edit1.Text + "*";
if mask = "" then mask := "*.*;
Гениальный код :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c