Код:
begin
nnn:=0;
if form1.combobox3.ItemIndex<>0 then
begin
k:=1;
while tovars[k].adr1<>0 do
k:=k+1;
tovars[k]:=tovars[form1.combobox3.ItemIndex];
i:=k;
end
else
i:=1;
while tovars[i].adr1<>0 do
begin
kat:=false;
Application.ProcessMessages;
dir:=all[tovars[i].adr1].name0;
CreateDir(getcurrentdir+'\Foto\'+dir);
dir:=dir+'\'+all[tovars[i].adr1].alllinks[tovars[i].adr2].name1;
CreateDir(getcurrentdir+'\Foto\'+dir);
if all[tovars[i].adr1].alllinks[tovars[i].adr2].name1<>
all[tovars[i].adr1].alllinks[tovars[i].adr2].links[tovars[i].adr3].name then
begin
dir:=dir+'\'+all[tovars[i].adr1].alllinks[tovars[i].adr2].links[tovars[i].adr3].name;
CreateDir(getcurrentdir+'\Foto\'+dir);
kat:=true;
end;
st:=0; nstr:=1;
s:=form1.IdHTTP1.Get(tovars[i].adrlink);
st:=pos('<div class="products hproduct"',s);
if st=0 then
begin
st:=pos('<ul class="link_list_catalog">',s);
delete(s,1,st+29);
st:=pos('<div',s);
delete(s,st,length(s)-st);
repeat
s1:='';
st:=pos('<b><a href=',s);
delete(s,1,st+11);
fin:=pos('"',s);
s1:=copy(s,1,fin-1);
if copy(s1,8,8)='fotos.ua' then
begin
k:=1;
while tovars[k].adr1<>0 do
k:=k+1;
tovars[k]:=tovars[i];
tovars[k].adrlink:=s1;
end;
until s1='';
end;
st:=0;
repeat
s1:='';
st:=pos('<div class="products hproduct"',s);
if st<>0 then
begin
base.path:=dir;
st:=pos('<span class="photo"',s);
delete(s,1,st+18);
st:=pos('<img src="',s);
delete(s,1,st+9);
fin:=pos('"',s);
s1:=copy(s,1,fin-1);
fotoname:='';
j:=length(s1);
while s1[j]<>'/' do
begin
fotoname:=s1[j]+fotoname;
j:=j-1;
end;
foto := TMemoryStream.Create;
form1.idhttp1.Get(s1,foto);
foto.SaveToFile(getcurrentdir+'\Foto\'+dir+'\'+fotoname);
FreeAndNil(foto);
base.foto:=fotoname;
st:=pos('<span class="price',s);
delete(s,1,st+29);
fin:=pos('</span>',s);
s1:=copy(s,1,fin-1);
base.cena:=s1;
st:=pos('<span class="fn">',s);
delete(s,1,st+16);
fin:=pos('</span>',s);
s1:=copy(s,1,fin-1);
base.name:=s1;
st:=pos('<span class="description"',s);
delete(s,1,st+43);
fin:=pos('</span>',s);
s1:=copy(s,1,fin-1);
base.opisanie:=pchar(s1);
if base.path<>'' then
begin
nnn:=nnn+1;
fillchar(base,sizeof(base),0);
end;
Form1.ADOQuery1.SQL.Clear;
form1.ADOQuery1.SQL.Add('insert into NewTable (Наименование, '+
'Цена_грн, Описание, Категория1, Категория2, Категория3, Изображение)'+
' values (:name,:cena,:opis,:kat1,:kat2,:kat3,:izo)');
form1.ADOQuery1.Parameters.ParamByName('name').Value:=
base.name;
form1.ADOQuery1.Parameters.ParamByName('cena').Value:=
strtofloat(base.cena);
form1.ADOQuery1.Parameters.ParamByName('opis').Value:=
AnsiString(base.opisanie);
form1.ADOQuery1.Parameters.ParamByName('kat1').Value:=
all[tovars[i].adr1].name0;
form1.ADOQuery1.Parameters.ParamByName('kat2').Value:=
all[tovars[i].adr1].alllinks[tovars[i].adr2].name1;
if kat then
form1.ADOQuery1.Parameters.ParamByName('kat3').Value:=
all[tovars[i].adr1].alllinks[tovars[i].adr2].links[tovars[i].adr3].name
else
form1.ADOQuery1.Parameters.ParamByName('kat3').Value:=' ';
form1.ADOQuery1.Parameters.ParamByName('izo').Value:=
base.foto;
Form1.ADOQuery1.ExecSQL;
end
else
begin
st:=0;
st:=pos('<li class="zr">',s);
if st<>0 then
begin
st:=pos(inttostr(nstr)+' ',s);
delete(s,1,st+13);
st:=pos('href="',s);
delete(s,1,st+5);
fin:=pos('"',s);
s1:=copy(s,1,fin-1);
s:=form1.IdHTTP1.Get(s1);
nstr:=nstr+1;
end;
end;
until s1='';
i:=i+1;
end;
endthread(0);
end;