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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 12:52   #1
Zatara
Новичок
Джуниор
 
Регистрация: 14.05.2013
Сообщений: 1
По умолчанию Post запрос+потоки

Здарова всем! Возникла такая проблема, нажимаю на старт ничего не происходит стоит так стоит(((ошибку никакую не выдает...в чем может быть проблема? Подскажите пожалуйста! Вот собственно код:
Цитата:
unit Unit1;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdTCPConnection, IdTCPClient, IdHTTP,
IdBaseComponent, IdComponent, IdIOHandler, IdIOHandlerSocket,
IdIOHandlerStack, IdSSL, IdSSLOpenSSL, Vcl.Samples.Gauges, Vcl.ComCtrls,
Vcl.StdCtrls, SyncObjs;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
GroupBox1: TGroupBox;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
OpenDialog1: TOpenDialog;
UpDown1: TUpDown;
Gauge1: TGauge;
IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
IdHTTP1: TIdHTTP;
Label5: TLabel;
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
//################################### ################################### ########
TMyThread = class(TThread)
private
{ Private declarations }
Rez: integer;
protected
procedure Execute; override;
procedure Sync; //Синхронизация
public
{ Public declarations }
constructor Create(CreateSuspended: Boolean);
end;
//################################### ################################### ########
var
Form1: TForm1;
MyThread: TMyThread;
send: tstringlist;
Thread:integer;
goodfile, badfile: textfile;
Work:boolean;
CS:TcriticalSection;
IdHTTP1 : TIdHTTP;
login, pass: string;
http, go: string;
i: integer;
implementation

{$R *.dfm}
//=================================== =================================== =======
constructor TmyThread.Create(CreateSuspended: boolean);
begin
inherited Create(CreateSuspended);
end;
//=================================== =================================== ========
procedure TForm1.Button3Click(Sender: TObject); //Загрузка акков
begin
send:=tstringlist.create;
if Opendialog1.Execute then
begin
send.Clear;
send.LoadFromFile(Opendialog1.FileN ame);
Label4.Caption:=IntToStr(send.Count-1);
end;
end;
//=================================== =================================== ========
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Enabled:=false;
Button2.Enabled:=true;
label5.Caption:='0';
label6.Caption:='0';
gauge1.Progress:=0;
assignfile(goodfile, extractfilepath(application.exename )+'Good.txt');
Rewrite(goodfile);
closefile(goodfile);
Gauge1.MaxValue:=send.Count;
Work:=true;
for Thread:=1 to strtoint(Edit1.Text) do
TMyThread.Create(false);
Thread:=strtoint(Edit1.Text);
end;
//=================================== =================================== ========
procedure TMyThread.Execute;
var
data: TStringlist;
begin
while Work do
begin
CS.Enter;
for i:=0 to send.Count-1 do
CS.Leave;
begin
login:= Copy(send.Strings[i],1,Pos(':',send.Strings[i])-1);
pass:= Copy(send.Strings[i],Pos(':',send.Strings[i])+1,length(send.Strings[i]));


data:=tstringlist.Create;
go:= 'Адрес для авторизации';
data.Add('Login='+ login);
data.Add('Password='+ pass);
http:=idhttp1.post(go, send);
if pos('exit"', http)<>0 then
rez:=1
else
rez:=0;
Synchronize(Sync);
end;
end;
end;
//=================================== =================================== ========
procedure TMyThread.Sync;
begin
case Rez of
1:begin
Form1.Label5.Caption:=IntToStr(StrT oInt(Form1.Label5.Caption)+1);
Form1.Memo1.Lines.Add(login+':'+pas s);
Append(GoodFile);
Writeln(GoodFile, login+':'+pass);
Closefile(GoodFile);
form1.gauge1.Progress:=Form1.gauge1 .Progress+1;
end;
0:begin
Form1.Label6.Caption:=IntToStr(StrT oInt(Form1.Label6.Caption)+1);
Form1.gauge1.Progress:=Form1.gauge1 .Progress+1;
end;
end;
end;
//=================================== =================================== ========
procedure TForm1.Button2Click(Sender: TObject);
begin
Button1.Enabled:=true;
Button2.Enabled:=false;
Work:=false;
end;
//=================================== =================================== ========
procedure TForm1.FormShow(Sender: TObject);
begin
CS:=TcriticalSection.Create;
end;
//------------------------------------------------------------------------------
end.
Zatara вне форума Ответить с цитированием
Старый 14.05.2013, 14:27   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

11.JPG читать обсуждения включая ссылки

Код:
CS.Enter;
for i:=0 to send.Count-1 do
CS.Leave;
begin
вас ничего не настораживает?
Если нет, то попробуйте отформатировать код выполняемый внутри цикла(блока) сместить на 2-4 позиции вправо.
как писать понятный код
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 14.05.2013 в 14:40.
evg_m вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
post запрос sanyamel Работа с сетью в Delphi 1 04.11.2012 04:28
Post запрос VarXdar Помощь студентам 0 08.06.2012 09:53
Post запрос Arsenx777 PHP 0 19.04.2012 19:35
POST запрос DeDoK Работа с сетью в Delphi 6 12.07.2009 00:48
post запрос Editor Работа с сетью в Delphi 4 20.04.2008 14:01