Вниз
Скачать: CL | DM;

Почему не работает ? Программа вроде WipeInfo от Нортона.   Найти похожие ветки 

← →
Lizard   (2002-10-22 13:44) [0]

Когда вписываю один конкретный файл, все работает по первому классу, но когда необходимо удалить несколько файлов прога выдает сообщение Cannot open file... Почему это происходит ?
И, если можно, помогите обойти это безобразие.
Заранее благодарен.


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
b,k:integer;
F: TSearchRec;
implementation

{$R *.dfm}


procedure WipeFile(FileName: string);
var
buffer: array [0..4095] of Byte;
max, n: LongInt;
i: Integer;
fs: TFileStream;

procedure RandomizeBuffer;
var
i: Integer;
begin
for i := Low(buffer) to High(buffer) do
buffer[i] := Random(256);
end;
begin
fs := TFilestream.Create(FileName, fmOpenReadWrite or fmShareExclusive);
try
for i := 1 to 3 do
begin
RandomizeBuffer;
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);
end;




procedure TForm1.Button1Click(Sender: TObject);
begin
//wipeFile("E:\1111.txt");


b:=0;
k:=0;
if FindFirst("*.*", faAnyFile, F)=0 then
begin
b:=b+1;
Memo1.lines.add(F.Name);
while FindNext(F) = 0 do
begin
b:=b+1;
Memo1.lines.add(F.Name);
end;
end;
FindClose(F);


while k<b do
begin
wipefile(Memo1.lines[k]);
k:=k+1;
end;

end;
end.


← →
Smithson ©   (2002-10-22 13:52) [1]

faAnyFie замечательно находит каталоги (и как правило, первые два файла - "." и ".."). Вот их-то она и can`t open
:-))


← →
Lizard   (2002-10-22 13:57) [2]

Почему так ????
Если можно, помогите исправить.
Спасибо.


← →
Smithson ©   (2002-10-22 14:02) [3]


if (F.Attr and faDirectory) = 0 then // Добавить в список


Точно названия не помню, посмотри F1.


← →
Lizard   (2002-10-22 18:59) [4]

Спасибо большое.
А как можно сделать так, чтобы вместе с файлами удалялись
каталоги с подкаталогами и файлами, т.е. как удалить дерево
каталогов ?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
1-11249
cult
2002-10-25 15:30
2002.11.04
Сохранение published-свойств в поток


3-11099
nick-from
2002-10-15 19:11
2002.11.04
Добавление новых данных


1-11163
Sam Stone
2002-10-24 11:09
2002.11.04
Слежение


14-11405
konorl
2002-10-14 05:41
2002.11.04
Component ImageLib ?


1-11160
Gari
2002-10-24 13:55
2002.11.04
Сервер автоматизации




   Наверх