![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при работе с нетипизированными файлами [D7, WinXP]
-=dimon=- © (2007-02-15 18:55:00)Нужна Ваша помощь!
Пишу прогу, которая бы переименовывала и обрезала группу файлов, компилятор ничего не говорит, но при запуске прога немного работает и вырубается с сообщением об ошибке, но если отключить контроль ошибок на циклах обработки файлов, то всё работает! Вот несколько циклов, IOResult не равен 0 при closefile. Знаю, что ошибка детская, но извиняйте, это моя первая прога на делфи...
.......
Type
Spisok=record
fnm:string;{имена файлов с расширением}
....
end;
Var A:array of Spisok; St:string; i,j,k:word;
f1,f2:file; buf:array[1..n] of byte; .....
........
{Переименование файлов}
For i:=0 to k-1 do
Begin
St:=A[i].fnm;
If Pos('_',St)>0 then {удаление из имён всех символов до '_', включая его}
Begin
Delete(St,1,Pos('_',St));
AssignFile(f1,A[i].fnm);
Rename(f1,St);{переименование}
CloseFile(f1);
A[i].fnm:=St;
End;
End;
{Обрезание первых 69 байт}
For i:=0 to k-1 do
Begin
AssignFile(f1,A[i].fnm);
Reset(f1,1);
AssignFile(f2,A[i].tnm);
Rewrite(f2,1);
Seek(f1,c);
For m:=1 to (FileSize(f1)-c) div n do
Begin
Blockread(f1,buf,n);
Blockwrite(f2,buf,n);
End;
Blockread(f1,buf,(Filesize(f1)-c) mod n);
Blockwrite(f2,buf,(Filesize(f1)-c) mod n);
CloseFile(f1);
Erase(f1);
CloseFile(f2);
End;
........
OSA (2007-02-16 00:20:00) [1]AssignFile(f1,A[i].fnm);
AssignFile(f2,'new_'+A[i].tnm);
.......
Erase(f1);
CloseFile(f1);