Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа для поиска и удаления файлов, на локальной или удаленной машине 
:(
    Опции темы
Alexkm
Дата 23.3.2004, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.3.2004

Репутация: нет
Всего: нет



Здравствуйте!
Случилась у нас тут неприятность - завелся в локалке LoveGate (вирус такой).
В общем, написали программку (самую простенькую), которая удаляла с файлового сервера все эти вирусы...
Но потом пришла идея немного ее усовершенствовать...
В общем, улучшил я интерфейс ее (с пом suiPack), добавил таймер, еще мелочи...
Потом появилась идея сделать выбор папки для сканирования (но при этом и оставив возможность вводить путь вручную)...
Тут возникла проблемка небольшая...
Добавил я DirectoryListBoxEx1, DriveComboBoxEx1 (тут в параметрах DirLabel - передача значения на Label1). Далее с этой Label1 по-идее путь должен передаваться в Edit1, а оттуда считываться уже путь... Путь вроде как считывается, но я не совсем понял принцип - как-то через раз sad.gif. Естесно, что где-то начудил с кодом...
Кто может помочь разобраться? И если что - код сюда кидать или могу исходники выслать куда-то...
Заранее спасибо
PM MAIL   Вверх
<Spawn>
Дата 23.3.2004, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Кидай код, тут телепатов нету))


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Alexkm
Дата 23.3.2004, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.3.2004

Репутация: нет
Всего: нет



Код

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls, SUIEdit, SUIListBox, SUIButton, ExtCtrls, SUIForm, SUIDlg,
 PDJ_XPB, SUIProgressBar, FileCtrl, SUIComboBox, SUISideChannel, ComCtrls,
 treelist, FlCtrlEx, SUIImagePanel, SUIGroupBox, SUIRadioGroup;

type
     TForm1 = class(TForm)
   suiForm1: TsuiForm;
   Start: TsuiButton;
   filelist: TsuiListBox;
   location: TsuiEdit;
   lenght: TsuiEdit;
   about_app: TsuiButton;
   close_app: TsuiButton;
   about_application: TsuiMessageDialog;
   stop_poisk: TsuiMessageDialog;
   settings: TsuiButton;
   settings_app: TsuiMessageDialog;
   DriveComboBoxEx1: TDriveComboBoxEx;
   DirectoryListBoxEx1: TDirectoryListBoxEx;
   Label1: TLabel;
   Timer1: TTimer;
   TimerOnOff: TsuiCheckBox;
   suiRadioGroup1: TsuiRadioGroup;
   suiRadioButton1Net: TsuiRadioButton;
   suiRadioButton2Local: TsuiRadioButton;

   procedure suitempButton1Click(Sender: TObject);
   procedure about_appClick(Sender: TObject);
   procedure close_appClick(Sender: TObject);
   procedure settingsClick(Sender: TObject);
   procedure TimerOnOffClick(Sender: TObject);
   procedure suiRadioButton1NetClick(Sender: TObject);
   procedure suiRadioButton2LocalClick(Sender: TObject);

   
 private
   { Private declarations }
 public
   { Public declarations }
 end;
const  virus:array [1..16] of string= ('pics.exe', 'SETUP.EXE','images.exe', 'Card.EXE','joke.exe', 'billgt.exe', 'PsPGame.exe', 'midsong.exe','news_doc.exe', 's3msong.exe','hamster.exe', 'docs.exe',
'tamagotxi.exe', 'humor.exe', 'searchURL.exe', 'fun.exe'); // список файлов для поиска

var
 Form1: TForm1;

implementation

{$R *.DFM}



procedure TForm1.suiRadioButton1NetClick(Sender: TObject); //Сканирование сети
begin
 form1.DirectoryListBoxEx1.Enabled:=Not form1.DirectoryListBoxEx1.Enabled;
 Label1.Caption:='\\server\1\';
end;

procedure TForm1.suiRadioButton2LocalClick(Sender: TObject);  //Сканирование локальных папок
begin
 form1.DirectoryListBoxEx1.Enabled:=Not form1.DirectoryListBoxEx1.Enabled;
end;

procedure get_dir(Dir:string);
var
 f : TSearchRec;
 i : integer;
 k : integer;
 s : string;
 st : SYSTEMTIME;
begin

   i := FindFirst(Dir+'\*.*', faAnyFile, f);
 while (i=0) do
   begin
   if (f.Name='.') or (f.Name='..') then
   else
     begin
     if (f.Attr and faDirectory)<>0 then
       begin
       Get_Dir(Dir+f.Name+'\');
       Application.ProcessMessages;
       end
     else
       begin

       k := Length(form1.Label1.caption);
       s := Dir+f.Name;
       {s := Copy(s, k, Length(s));}
       form1.suiForm1.Caption:=s;
{}

       form1.FileList.Items.Add(s);
if (f.Size=41984) then
for k:=1 to 16 do
if f.Name= virus[k] then
begin form1.FileList.Items.Add('----I-Worm.LovGate.n detected---');deletefile(s);
      form1.FileList.Items.Add('------------DELETED-------------');end;
       end;
     end;
     i := FindNext(f);
   end;
   FindClose(f);form1.lenght.Text:=inttostr(f.size); form1.suiForm1.Caption:='Поиск вирусов завершен';
end;

procedure TForm1.suitempButton1Click(Sender: TObject);
begin
 filelist.Items.Clear;
 get_dir(Label1.Caption);
 stop_poisk.ShowModal;
end;

procedure TForm1.about_appClick(Sender: TObject);
begin
  about_application.ShowModal;
end;

procedure TForm1.close_appClick(Sender: TObject);
begin
 close;
end;

procedure TForm1.settingsClick(Sender: TObject);
begin
  settings_app.ShowModal;
end;


procedure TForm1.TimerOnOffClick(Sender: TObject); //Вкл-выкл таймер
begin
 Timer1.Enabled:=Not Timer1.Enabled;
end;

end.

PM MAIL   Вверх
PILOT
Дата 23.3.2004, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: нет
Всего: 54



Возможно таким образом быстрее и удобнее?
это Form в текстовом виде:
Код

object Form1: TForm1
 Left = 254
 Top = 107
 Width = 559
 Height = 503
 Caption = 'Form1'
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = 'MS Sans Serif'
 Font.Style = []
 OldCreateOrder = False
 PixelsPerInch = 96
 TextHeight = 13
 object Label1: TLabel
   Left = 8
   Top = 24
   Width = 204
   Height = 13
   Caption = 'D:\Program Files\Borland\Delphi6\Projects'
 end
 object DirectoryListBox1: TDirectoryListBox
   Left = 8
   Top = 40
   Width = 313
   Height = 297
   DirLabel = Label1
   ItemHeight = 16
   TabOrder = 0
 end
 object DriveComboBox1: TDriveComboBox
   Left = 8
   Top = 336
   Width = 313
   Height = 19
   DirList = DirectoryListBox1
   TabOrder = 1
 end
end


СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0790 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.