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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2010, 13:22   #1
Dreanks
Пользователь
 
Регистрация: 10.01.2010
Сообщений: 28
По умолчанию beginthread, ошибка при вызове

Запуск потока:
Код:
thr := beginthread(nil, 0, @Scan, nil, 0, th1);
вылетает ошибка: is not a valid floating point value
Dreanks вне форума Ответить с цитированием
Старый 28.10.2010, 14:05   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А сам код потока?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.10.2010, 14:09   #3
Dreanks
Пользователь
 
Регистрация: 10.01.2010
Сообщений: 28
По умолчанию

Код:
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)+'&nbsp;&nbsp;',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;
Dreanks вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при вызове хранимой функции MySQL tavrocotaps Общие вопросы .NET 0 23.04.2010 10:25
Ошибка компиляции при вызове подпрограммы Android_ua Общие вопросы C/C++ 4 02.03.2010 12:20
Ошибка при многократном вызове макроопределения xVxSeRGxVx Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 01.03.2010 23:46