Регистрация Пользавателя Через Сервер

  • Автор темы Автор темы Lomanu4
  • Дата начала Дата начала

Lomanu4

Команда форума
Администратор
Ofline
На данном примере показано как активировать пользователя через программу,и получить данные на сервер.
При подаче команды от сервера вы блокируете приложение и выскакивает активация пользователя.
При этом он вводит данные и отсылается на ваш сервер документ с данными.

Окно главной программы
Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, sSkinManager, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, Vcl.ExtCtrls,Unit2,Unit3,
  Vcl.StdCtrls, sLabel,System.IniFiles;

type
  TForm1 = class(TForm)
    sSkinManager1: TsSkinManager;
    Timer1: TTimer;
    IdHTTP1: TIdHTTP;
    activatelabel: TsLabel;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ini:tinifile;
notific:string;
implementation

{$R *.dfm}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'option.ini');//создаем ини файл для хранения лейбла
  ini.WriteString('option','Activate',activatelabel.Caption);
end;

procedure TForm1.FormCreate(Sender: TObject);

begin

  ini.ReadString('option','Activate',activatelabel.Caption);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
       if activatelabel.Caption='disactivate' then //если в лейбле записано дизактивейт то включаем на таймер
       begin
         Timer1.Enabled:=True;
       end;




if activatelabel.Caption='Activated' then
begin
   Timer1.Enabled:=False;                       
end else
begin
   Timer1.Enabled:=True;
end;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin


     notific:=IdHTTP1.Get('http://lomanu4.at.ua/notific.txt'); //Получаем данные команды с сервера
     if Pos('Block',notific) <> 0 then
     begin
      Timer1.Enabled:=False;
       Form2.Show;
       Form1.Hide;
     end;
end;

end.
Вторая форма активации
Код:
procedure TForm2.sButton1Click(Sender: TObject);
begin
Form2.Hide;
Form3.Show;

end;
третья форма
Код:
procedure TForm3.sButton1Click(Sender: TObject);
  var
  s:TStringList;
begin
   s:=TStringList.Create;
  if (sEdit1.Text='')or(sEdit2.Text='') then
  begin
    ShowMessage('Email or full name is not correct');
  end else
  begin
IdFTP1.Host:='ftp.guardianelinks.890m.com';
      IdFTP1.Port:=21;
      IdFTP1.Username:='u133425809';
      IdFTP1.Password:='80953264259aa';
      IdFTP1.Connect;
      if IdFTP1.Connected then
     begin
       s.Add('=======================');
       s.Add(sEdit1.Text);
       s.Add(sEdit2.Text);
       s.Add('========================');
       s.SaveToFile('mail.txt');
       sButton2.Enabled:=True;
       sButton1.Enabled:=False;
     end;
  end;
end;

procedure TForm3.sButton2Click(Sender: TObject);
begin
IdFTP1.Put('mail.txt','',True);
form1.activatelabel.Caption:='Activated';
form3.Hide;
Form1.Show;
end;

end.


Исходник [dl]http://guardianelinks.890m.com/_file-manager/php/connector.php?access=46.227.3.222_e1aefabc9769ecc54fa61cf01cdc3d1454919fd4&cmd=file&target=l1_0LDQstGC0L7RgNC40LfQsNGG0LjRjyDQv9C-0LvRjNC30LDQstCw0YLQtdC70Y8ucmFy&download=1[/dl]
 
Последнее редактирование:
Способ был придуман мною,но уже усовершенствован.
 
непонятный линк доступ к исходникуFux!!
 
Назад
Сверху Снизу