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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2011, 20:26   #1
novart
Новичок
Джуниор
 
Регистрация: 08.01.2011
Сообщений: 1
По умолчанию Авторизация на mail.ru и поток

Вообщем пытался я разобраться с потоками, и так и сяк, но ничего у меня не вышло. Вводим данные и когда нажимаем кнопку "Вход", то форма зависает на время. И хотелось бы чтобы параллельно пока она виснет, происходило что нибудь, надписи например появлялись(Подключение к серверу, Чтение почты и т.д.) Заранее благодарю всех кто поможет)
Вот код:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    ComboBox1: TComboBox;
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    IdPOP31: TIdPOP3;
    IdSMTP1: TIdSMTP;
    IdMessage1: TIdMessage;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure Edit2Exit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  idLogin,idDomain,idPassword,FullDomain:string;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
form1.DoubleBuffered:=true;
//--------------------{
idPOP31.Host:='pop.mail.ru';
idPOP31.Port:=110;
idSMTP1.Host:='smtp.mail.ru';
idSMTP1.Port:=25;
idSMTP1.AuthenticationType:=atLogin;
end;

procedure TForm1.Button1Click(Sender: TObject);
var params,responseres:tstringlist;
begin
params:=TStringList.Create;
responseres:=TStringList.Create;
idhttp1.HandleRedirects := True;
try
params.Add('Login='+idLogin);
idDomain :=ComboBox1.Text;
Delete(idDomain,1,1);
params.Add('Domain='+idDomain);
params.Add('Password='+idPassword);
responseres.Text:=idhttp1.Post('http://auth.mail.ru/cgi-bin/auth',params);
if Pos('HeaderBtnSentMsg',responseres.Text)>0 then begin
//------------------------{
FullDomain:=idLogin+'@'+idDomain;
idSMTP1.Username:=FullDomain;
idSMTP1.Password:=idPassword;
idSMTP1.Connect;
//---------------------}
//------------------{
idPOP31.Username:=FullDomain;
idPOP31.Password:=idPassword;
idPOP31.Connect;
//------------------}
Label1.Caption:='Подключение произошло успешно';
self.update;
sleep(1000);
end
else
Label1.Caption:='Неверный логин или пароль';
finally
params.free;
responseres.free;
//-------------------- {
edit1.Clear;
edit2.Clear;
combobox1.Text:='@mail.ru';
end;
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
idLogin:=edit1.Text;
end;

procedure TForm1.Edit2Exit(Sender: TObject);
begin
idPassword:=edit2.Text;
end;

end.
Вот исходник
auth.rar
novart вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация агента mail.ru grominfo Работа с сетью в Delphi 3 19.06.2011 02:17
авторизация mail.ru DeDoK Работа с сетью в Delphi 1 18.09.2010 23:36
авторизация на mail.ru tranceman PHP 1 11.10.2009 20:21
Авторизация на mail.ru Des Работа с сетью в Delphi 4 27.04.2009 17:50