Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: 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 вся ветка

Текущий архив: 2002.11.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
14-11471
TAIPHOON
2002-10-11 20:31
2002.11.04
Win2000Server


14-11418
Sr. &#9788;
2002-10-13 00:09
2002.11.04
---|Ветка была без названия|---


4-11550
raiks
2002-09-22 18:24
2002.11.04
Как прокрутить TMemo на нужное количество строк?


1-11286
MsGuns
2002-10-23 12:42
2002.11.04
В Design-mode пропали линейки прокрутки фориы


7-11512
root87
2002-08-23 13:55
2002.11.04
администрирование удалённого компьютера