Главная страница
    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.008 c
4-11555
Ich Hasse
2002-09-21 19:57
2002.11.04
Как ЗАСТАВИТЬ окно перерисоваться???


1-11294
ruslan_as
2002-10-23 11:54
2002.11.04
Борьба с крупными шрифтами


1-11290
BOOMER
2002-10-23 14:56
2002.11.04
BrainBench


7-11502
VetMIg
2002-08-30 01:59
2002.11.04
Модальные окна


1-11285
brestmarket
2002-10-23 02:12
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский