Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Вниз

Почему не работает ? Программа вроде 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
6-11364
novato
2002-09-05 07:56
2002.11.04
Socket+proxy=отправка сообщений))


3-11106
Leran2002
2002-10-16 10:42
2002.11.04
Строка в запросе


14-11399
iZEN
2002-10-14 09:08
2002.11.04
Сервисы на D6


4-11572
Oak
2002-09-20 13:42
2002.11.04
Как перехватить запуск какой-то программы


14-11472
Johnny Smith
2002-10-16 11:21
2002.11.04
Жертвы переписи :((((





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский