412 Приложение
¦ Обработка команды "Обновить информацию" I
+_-----------------—---_-__------_-------+
/ Procedure DWT.FreshFiles;
{Обновляет информацию в архиве} var
disk: Byte;
k: Integer;
R: TRect,-p: PWindow;
ch: "CheckType;
DI: Dir_Type;
FF: file;
sz,nz: Word;
label NotAcc;
begin
R.Assign(15,10,65,13)? P := New(PWindow,Init(R,'Переустанавливается файл:',0));
DeskTop^.Insert(P);
k := 0;
while k<VColl^.Count do begin
ch := FColl^.Atfk);
with ch" do begin
R.Assign(l,l,48,2) ;
(Выводим имя файла! Р".Insert(New(PStaticText,Init(R,#3+Name))) ;
Assign(FF,Name);
{$!-} Reset (FF,1);
{$!+} if IQResult <> 0 then {Ошибка доступа - удаляем файл из архива)
begin NotAcc; if MessageBoxt
'Нет доступа к файлу '+Ыаше+#13'Убрать контроль за файлом?', NXL,
mfYesButton+mfNoButton)«cmYes then begin
FColl*.AtDelete(I<) ;
FChange := True end end
else {Нормальное открытие файла! begin
sz := 512;
if sz > FileSize(FF) than sz := FileSize(FF);
FillChar(SecO,512,0);
BlockRead(FF,SecO,sz,nz);
if sz=nz then begin
SizO :- FileSize(FF);
FChange := True end else (Файл не читается)
MessageBox('Ошибка доступа к файлу 4-Name, NIL,0);
System.Close(FF)