Показать сообщение отдельно
  #7  
Старый 29.10.2006, 23:28
Аватар для Olegator
Olegator Olegator вне форума
Прохожий
 
Регистрация: 27.09.2006
Адрес: Липецк
Сообщения: 5
Репутация: 10
По умолчанию Всё работает

В приведённом выше исходнике ошибка. Таже самая ошибка встречается ещё кое-где в инете. Вот так вот люди не совсем честно копируют исходники друг у друга... вместе с ошибками.

Вот как я доработал код. Ниже приведена процедура обработки нажатия кнопки "Open" формы "Form1" и кнопки "Delete" (в последней процедуре используется TrackBar "Num" с вариантами надёжности удаления - количества переписываний файла). Вариант рабочего кода в совершенно никаком оформлени можно скачать в прикреплённом файле.

Код:
procedure TForm1.OpenClick(Sender: TObject);
var
 FileName: string;

begin
OpenDialog1.Execute;

FileName:=OpenDialog1.FileName;

Path.Caption:= FileName;
end;

procedure TForm1.DeleteClick(Sender: TObject);
 var
   buffer: array [0..4095] of Byte;
   max, n: LongInt;
   i,j,k: Integer;
   fs: TFileStream;
   FileName: String;
 begin

 case Num.Position of
0: k:=1;
1: k:=3;
2: k:=5;
3: k:=10;
4: k:=15;

end;
   FileName:= Path.Caption;
   fs := TFilestream.Create(FileName, fmOpenReadWrite or fmShareExclusive);
   try
     for i := 1 to k do
     begin
            for j := Low(buffer) to High(buffer) do
       buffer[j] := Random(256);
       max := fs.Size;
       fs.Position := 0;
       while max > 0 do
       begin
         if max > SizeOf(buffer) then
           n := SizeOf(buffer)
         else
           n := max;
         fs.Write(Buffer, n);
         max := max - n;
       end;
       FlushFileBuffers(fs.Handle);
     end;
   finally
     fs.Free;
   end;
   Deletefile(FileName);
   ShowMessage('Все пучком');
 end;
Вложения
Тип файла: zip Del.zip (7.9 Кбайт, 69 просмотров)
__________________
Грех предаваться унынию, когда есть другие грехи!
Ответить с цитированием