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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2012, 16:26   #11
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Код:
//idHTTP1:=TIdHTTP.Create(nil); <-- нельзя
idhttp1.AllowCookies := true;
idhttp1.HandleRedirects := true;
idhttp1.Request.Host:=('');
idhttp1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0';
Idhttp1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
Idhttp1.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
Idhttp1.Request.AcceptEncoding:='gzip, deflate';
idhttp1.Request.Connection:='keep-alive';
idhttp1.Request.Referer:='' ;
idhttp1.Request.ContentType:='application/x-www-form-urlencoded';
for i := 0 to form2.smemo1.Lines.Count - 1 do 
begin
//data:=TStringList.Create; <-- нельзя
data.Clear;
email:='';
pass:='';
email:=trim(copy(form2.smemo1.Lines[i],1,pos(';',form2.smemo1.Lines[i])-1));
pass:=trim(copy(form2.smemo1.Lines[i],pos(';',form2.smemo1.Lines[i])+1,length(form2.smemo1.Lines[i])-pos(';',form2.smemo1.Lines[i])+1));
data.add('name='+email);
data.add('pass='+pass);
data.add('op=%D0%92%D1%85%D0%BE%D0%B4+%D0%B2+%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%83');
data.add('form_build_id=form-6d1652dd1259cd84e60af5e57ee4f61f');
data.add('form_id=user_login' );
s1:=idhttp1.post('*****',data); <-- s1 где то должна быть вне класса потока. 
Synchronize(Update);
end;
//------
Вся эта дрянь ваще не к месту. запихните в конструктор потока.. и забейте
Код:
idhttp1.AllowCookies := true;
idhttp1.HandleRedirects := true;
//idhttp1.Request.Host:=''; <-- Если тут не хера, то закой писать?
idhttp1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0';
Idhttp1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
Idhttp1.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
Idhttp1.Request.AcceptEncoding:='gzip, deflate';
idhttp1.Request.Connection:='keep-alive';
idhttp1.Request.Referer:='' ;
idhttp1.Request.ContentType:='application/x-www-form-urlencoded';
Собственно зачем писать ничего?
Код:
idhttp1.Request.Referer:='';
Если помог, тут весы есть , Вам не сложно, а мне приятно.

Последний раз редактировалось Perchik71; 29.12.2012 в 16:30.
Perchik71 вне форума Ответить с цитированием
Старый 29.12.2012, 16:27   #12
admin22
Пользователь
 
Регистрация: 27.09.2011
Сообщений: 26
По умолчанию

Господа, где в моем криворуком коде ошибка, и как ее устранить, что бы заработало
admin22 вне форума Ответить с цитированием
Старый 29.12.2012, 16:31   #13
admin22
Пользователь
 
Регистрация: 27.09.2011
Сообщений: 26
По умолчанию


:006ae6bc TIdCustomHTTP.SetAllowCookies

Последний раз редактировалось admin22; 29.12.2012 в 16:34.
admin22 вне форума Ответить с цитированием
Старый 29.12.2012, 16:34   #14
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
Сообщение от admin22 Посмотреть сообщение

:006ae6bc TIdCustomHTTP.SetAllowCookies
Можно у вас спросить, как вы долго пишите?
честно я вижу сразу... нулевые адреса... походу вы забыли в конструкторе инициализировать idhttp.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 29.12.2012, 16:37   #15
admin22
Пользователь
 
Регистрация: 27.09.2011
Сообщений: 26
По умолчанию

Цитата:
Можно у вас спросить, как вы долго пишите?
Полгода
Цитата:
честно я вижу сразу... нулевые адреса... походу вы забыли в конструкторе инициализировать idhttp
не хочу показаться тупым, но я не знаю как и где это делать

Последний раз редактировалось admin22; 29.12.2012 в 16:45.
admin22 вне форума Ответить с цитированием
Старый 29.12.2012, 16:37   #16
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

type TPedik = class(TThread)
public:
constructor Create(AOwner: TComponent);
destructor Destroy; override;
end;

как вы поняли при создании класа автоматом вызываеться конструктор там мы иницализируем всё что нужно
в деструкторе мы всё выносим.


//------
type TPedik = class(TThread)
idhttp: TIdHttp; <-- тут наши переменные
data: TStringList;
public:
constructor Create(AOwner: TComponent);
destructor Destroy; override;
end;

//-----
Если совсем без заморочек
Код:
constructor TPedik.Create(AOwner: TComponent);
begin
тут инсталируем
end;
destructor TPedik.Destroy; 
begin
тут одни Free
end;
//----
большучий совет.... поищите тут у нас ссылки на книги...
попробуйте поработать сначало с простого.
поймите как работает сам класс, создайте его.. сделайте его и улучшайте.
что бы понять наследование из этого же прошлого класса
нужно создать другой. без книги никак. у вас слишком мало знаний.
для реализации такой вещи... вам нужно ещё время. что бы  ваш код был оптимально оптимизирован.
вам нужно понимать. так же пишите комменты. они сопровождают ваши мысли... 
по два 2 часа в день. вы быстро освоитесь в этом языке.
Если помог, тут весы есть , Вам не сложно, а мне приятно.

Последний раз редактировалось Perchik71; 29.12.2012 в 16:47.
Perchik71 вне форума Ответить с цитированием
Старый 29.12.2012, 16:51   #17
admin22
Пользователь
 
Регистрация: 27.09.2011
Сообщений: 26
По умолчанию

Надеюсь, я Вас правильно понял:


Хотя нет, неправильно понял
admin22 вне форума Ответить с цитированием
Старый 29.12.2012, 16:51   #18
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
eoln, не имеет значения сколько строк берет поток, имеет значение только то, что поток всего 1.
Это про что? Я имел в виду организацию очереди из нескольких потоков. Если строк в мемо много, то скоре всего программа не сможет создать столько потоков одновременно, либо работа будет не оптимальна. Поэтому нужен управляющий поток, который будет следить за общим кол-вом потоков, этим потоком может быть и главный поток, но тогда форма подвисать будет.

Цитата:
Сообщение от Perchik71 Посмотреть сообщение
Вы не правы... можно ускорить, главное не тормозить основной поток. а обмануть всегда можно.
В чём не прав? Я не утверждал, что с потоками будет медленнее. Но иногда это именно так, например, при частой синхронизации и при быстрых Execute.
А основной поток вообще не тормозит (кроме моментов вызова синхронизации), он как танк вперёд мчится и только для интерфейсного общения и синхронизации нужен.
eoln вне форума Ответить с цитированием
Старый 29.12.2012, 16:57   #19
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
Сообщение от eoln Посмотреть сообщение
В чём не прав? Я не утверждал, что с потоками будет медленнее. Но иногда это именно так, например, при частой синхронизации и при быстрых Execute.
А основной поток вообще не тормозит (кроме моментов вызова синхронизации), он как танк вперёд мчится и только для интерфейсного общения и синхронизации нужен.
Если не брать в расчёт не очень подходящий TThread а апи..
то вы увидите, что тормозить можно этот поток даже не трогая основной.. тем самым вы можете делать всё что угодно... например если создать событие и им тормозить? обычно на с++ так и делают и я не удивлюсь если где то в TThread тоже самое. Ибо для синхронизации нужно создать событие... можно пустое, а можно и с какой то фуной.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 29.12.2012, 16:58   #20
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
Сообщение от admin22 Посмотреть сообщение
Надеюсь, я Вас правильно понял:


Хотя нет, неправильно понял
вы забыли в креаторе инициализировать idhttp.
//
также конструктор и деструктор
всегда в паблике.
//
строки или числа
уничтожаются стеком.
ваши опирации по опустошению строк не нужны.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли прикрутить javascript к IE? Gorkiy JavaScript, Ajax 1 14.11.2011 10:05
Как прикрутить Events alex_alpha Win Api 2 17.12.2010 21:14
[Perl] Прикрутить цикл gamer123 PHP 8 01.11.2010 13:04
Прикрутить к функции таймер JustKurt Общие вопросы Delphi 8 03.08.2009 13:55
Как прикрутить GiveIO ? caveman Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 03.12.2007 08:43