Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2009, 22:35   #1
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию Не могу организовать цикл удаления файлов

Написал небольшую программку, для удаление файлов, но не удаётся организовать цикл удаления найденных файлов

Код:
unit Unit1;

interface

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

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

var
  Form1: TForm1;
  FileName: string;
  cDir: string;
  n: integer;

implementation

{$R *.dfm}

procedure Find;
var
SearchRec: TSearchRec;
begin
GetDir(0,cDir);
if cDir[length(cDir)] <> '\' then cDir := cDir+'\';
if FindFirst(FileName, faAnyFile,SearchRec) = 0 then
repeat
if (SearchRec.Attr and faAnyFile) = SearchRec.Attr then
begin
Form1.Memo1.Lines.Add(cDir +  SearchRec.Name);
n := n + 1;
end;
until FindNext(SearchRec) <> 0;
if FindFirst('*', faAnyFile, SearchRec) = 0 then
repeat
if (SearchRec.Attr and faDirectory) = faDirectory then
if SearchRec.Name[1] <> '.' then
begin
ChDir(SearchRec.Name);
Find;
ChDir('..');
end;
until FindNext(SearchRec) <> 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;             // очистить поле Memo1
FileName := Edit1.Text;  // что искать
cDir := Edit2.Text;      // где искать
n:=0;                    // кол-во найденных файлов
ChDir(cDir);             // войти в каталог начала поиска
Find;                    // начать поиск
end;

procedure TForm1.Button2Click(Sender: TObject);
var
i : integer;
begin
for i:=1 to 5 do
 begin
 DeleteFile(Memo1.Lines[i])
 end;
end;



end.
dolphin705 вне форума Ответить с цитированием
Старый 08.05.2009, 00:29   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

А чего не удается то?
Может так написать:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
 i : integer;
begin
 for i := 0 to Memo1.Lines.Count - 1 do //т.к. отсчет строк начинается с нуля
 begin
  DeleteFile(Memo1.Lines[i]);
 end;
end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 08.05.2009, 05:15   #3
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

не забудь атрибут поменять у файла, если файл будет только для чтения, системным, то он не удалится... меняй атрибут на архивный
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 08.05.2009, 12:22   #4
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

Цитата:
Сообщение от Neeter Посмотреть сообщение
А чего не удается то?
Может так написать:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
 i : integer;
begin
 for i := 0 to Memo1.Lines.Count - 1 do //т.к. отсчет строк начинается с нуля
 begin
  DeleteFile(Memo1.Lines[i]);
 end;
end;
Этот код не работает
dolphin705 вне форума Ответить с цитированием
Старый 08.05.2009, 13:17   #5
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

ты не memo юзай а listbox в нем удобней
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 08.05.2009, 13:39   #6
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

с листбоксом работает, спасибо

Последний раз редактировалось dolphin705; 08.05.2009 в 13:43.
dolphin705 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита файлов от удаления (assembler) Omega1 Помощь студентам 16 17.11.2010 16:14
Помогите, пожалуйста, организовать цикл Axel1981 Помощь студентам 2 17.10.2008 09:22
Защита файлов от удаления Viteef Свободное общение 5 15.06.2007 22:44
Защита файлов от удаления Viteef Общие вопросы Delphi 10 02.06.2007 07:40