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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2011, 22:20   #1
alex0097
Форумчанин
 
Аватар для alex0097
 
Регистрация: 06.07.2010
Сообщений: 123
По умолчанию Многопоточность

Народ как сделать многопточность приложения?

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  data, list: TStringList;
  i, k: Integer;
begin
  IdHTTP1.ReadTimeout :=9000;
  //IdHTTP1.ProtocolVersion := pv1_1;
  k := 0;
  Data := TStringList.Create;
  List := TStringList.create;
  List.LoadFromFile('1.txt');
  List.NameValueSeparator := Char(':');
  for i := 0 to List.Count - 1 do
  begin
    IdHTTP1.ProxyParams.ProxyServer := List.Names[i];
    IdHTTP1.ProxyParams.ProxyPort := StrToInt(List.ValueFromIndex[i]);
    Data.Add('votec=3');
    Data.Add('x=49');
    Data.Add('y=8');
    Inc(k);
    Application.ProcessMessages;
    try
      IdHTTP1.Post('http://idsocium.ru/goloskpu1/vote.php', Data);
    except
      on E: exception do
      label1.Caption := E.Message;
    end;
      label2.Caption := IntToStr(k);
  end;
  IdHTTP1.Disconnect;
  List.Free();
  Data.Free();
end;

end.
alex0097 вне форума Ответить с цитированием
Старый 05.05.2011, 22:42   #2
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

ну сначало можно воспользоватса гуглом и прочитать вопше что такое поток и как им пользоватса...
Pein95 вне форума Ответить с цитированием
Старый 05.05.2011, 22:45   #3
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Переделать приложение. Практически с нуля.
mss вне форума Ответить с цитированием
Старый 05.05.2011, 22:46   #4
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

Код:

 potok = class(TThread)
  private
    { Private declarations }
  protected
    procedure Execute; override;
  end;

вот напишы такое в юните вв процедуре execute делай все что должно віыполнятса в потоке.
как вызвать поток:
создать переменню типа поток;
Код:
var
p:potok;
beign
p:=potok.create(false);
p.resume;
p.Priority:=tpnormal;


end;
Pein95 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
многопоточность DeDoK Общие вопросы Delphi 6 01.08.2010 02:14
Многопоточность kroŧ Общие вопросы Delphi 5 21.06.2010 10:47
Многопоточность CrazyDude Общие вопросы Delphi 1 18.04.2010 19:00
Многопоточность JakSon Общие вопросы Delphi 10 27.12.2009 02:19
Многопоточность. newmister Общие вопросы Delphi 9 24.07.2009 12:54