unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw, HTTPApp, HTTPProd, MSHTML, ActiveX,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdFTP,Wininet, IdFTPCommon, IdFTPList,
IdAntiFreezeBase, IdAntiFreeze;
type
TForm1 =
class
(TForm)
ListBox1: TListBox;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit3: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit4: TEdit;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
WebBrowser1: TWebBrowser;
IdFTP1: TIdFTP;
Button4: TButton;
Label12: TLabel;
IdAntiFreeze1: TIdAntiFreeze;
Button1: TButton;
procedure
FormCreate(Sender: TObject);
procedure
Button4Click(Sender: TObject);
procedure
Button1Click(Sender: TObject);
private
public
Procedure
PoiskIndy(
var
Schet1,Schet2,Schet3:
integer
; dir:
string
);
end
;
var
Form1: TForm1;
S1,S2,S3:
integer
;
implementation
{$R *.dfm}
uses
unit2;
procedure
TForm1
.
FormCreate(Sender: TObject);
begin
S1:=
0
;S2:=
0
;S3:=
0
;
end
;
Procedure
TForm1
.
PoiskIndy(
var
Schet1,Schet2,Schet3:
integer
; dir:
string
);
var
i,q:
integer
;f,a1:
string
; LS:TStrings;
begin
idftp1
.
ChangeDir(dir);
idftp1
.
List(
nil
);
Listbox1
.
Items
.
Add(idftp1
.
RetrieveCurrentDir);
if
idftp1
.
DirectoryListing
.
Count =
0
then
begin
idftp1
.
ChangeDirUp;
end
;
for
i:=
0
to
idftp1
.
DirectoryListing
.
Count-
1
do
begin
if
(idftp1
.
DirectoryListing
.
Items[i].ItemType = ditdirectory)
then
begin
a1:=idftp1
.
DirectoryListing
.
Items[i].Filename;
PoiskIndy(Schet1,Schet2,Schet3,a1);
end
;
if
(ExtractFileExt(idftp1
.
DirectoryListing
.
Items[i].FileName)=Form1
.
Edit2
.
text)
or
(ExtractFileExt(idftp1
.
DirectoryListing
.
Items[i].FileName)=Edit3
.
text)
then
begin
ListBox1
.
Items
.
Add(idftp1
.
DirectoryListing
.
Items[i].FileName);
if
(ExtractFileExt(idftp1
.
DirectoryListing
.
Items[i].FileName)=Edit2
.
text)
then
Schet1:=Schet1+
1
;
if
(ExtractFileExt(idftp1
.
DirectoryListing
.
Items[i].FileName)=Edit3
.
text)
then
Schet2:=Schet2+
1
;
end
;
Schet3:=Schet3+
1
;
end
;
idftp1
.
ChangeDirUp;
idftp1
.
List(
nil
);
s1:=schet1;s2:=schet2;s3:=schet3;
end
;
procedure
TForm1
.
Button4Click(Sender: TObject);
var
a:
string
;
begin
a:=Edit1
.
text;
idftp1
.
Host:=
'mirror.yandex.ru'
; idftp1
.
Username:=
'Anonymous'
; idftp1
.
Password:=
''
;
idftp1
.
Port:=
21
; idftp1
.
Connect;
PoiskIndy(s1,s2,s3,a);
Label1
.
Caption:=IntToStr(s1); Label10
.
Caption:=IntToStr(s2); Label11
.
Caption:=IntToStr(s3);
if
Assigned(idftp1)
then
idftp1
.
Disconnect;
end
;