Показать сообщение отдельно

  #10  
Старый 07.04.2009, 20:54
pira
Новичок
Регистрация: 09.12.2008
Сообщений: 7
С нами: 9169575

Репутация: 0
По умолчанию

Ребят помогите упростить исходник. Что-то из кода можно переделать на function?
Программа у меня работает, но написана по-нубовски.

Код:
unit auth;

interface

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

type
  TForm5 = class(TForm)
    http1: TIdHTTP;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Timer1: TTimer;
    RxTrayIcon1: TRxTrayIcon;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure RxTrayIcon1DblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
  procedure OnMinimize(Sender: TObject);
    { Public declarations }
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}
// Сворачивание в трей.
procedure TForm5.FormCreate(Sender: TObject);
begin
Application.onMinimize:=OnMinimize;
end;

procedure TForm5.OnMinimize(Sender: TObject);
begin
RxTrayIcon1.Show; //Показываем иконку в трее
 ShowWindow(Application.Handle,SW_HIDE); //Скрываем окно приложения
  end;

procedure TForm5.RxTrayIcon1DblClick(Sender: TObject);
begin
 Application.Restore; //Восстанавливаем окно
 SetForeGroundWindow(Application.MainForm.Handle); //Активизируем окно
  RxTrayIcon1.Hide; //Прячем иконку из трея
end;

// Запуск висения.
procedure TForm5.Timer1Timer(Sender: TObject);
var params,responseres:tstringlist;
begin
params:=TStringList.Create;
responseres:=TStringList.Create;
try
responseres.Text:=http1.Post('http://www.dmbchat.ru/refresh.php?say=aoaiaa&addr=Aey',params);
if Pos('refresh.php',responseres.Text)>0 then Memo1.Lines.Add('Вы успешно написали фразу.')
else Memo1.Lines.Add('Вы не в чате. Перезаходим.');
while Pos('refresh.php',responseres.Text)<=0 do begin
Button1.Click;
Exit;
end;
finally
params.free;
responseres.free;
end;
end;

// Вход в чат.
procedure TForm5.Button1Click(Sender: TObject);
var params,responseres:tstringlist;
Login, Password: string;
begin
params:=TStringList.Create;
responseres:=TStringList.Create;
try
Login:= Edit1.Text;
Password:= Edit2.Text;
params.Add('login='+Login);
params.Add('password='+Password);
responseres.Text:=http1.Post('http://www.dmbchat.ru/login.php',params);
if Pos('refresh.php',responseres.Text)>0 then
Memo1.Lines.Add('Вы успешно вошли в чат.')
else Memo1.Lines.Add('Ошибка! Вы не вошли в чат.');
finally
params.free;
responseres.free;
end;
while (Edit1.Text='') or (Edit2.Text='') or (Length(Edit1.Text) < 2) or (Length(Edit2.Text) < 5) do begin
ShowMessage ('     Логин или Пароль введён неверно.');
Exit;
end;
Edit1.Enabled:=False;
Edit2.Enabled:=False;
Button2.Enabled:=True;
Timer1.Enabled:=True;
end;

// Выход из чата.
procedure TForm5.Button2Click(Sender: TObject);
var params,responseres:tstringlist;
begin
params:=TStringList.Create;
responseres:=TStringList.Create;
try
params.Add('exit');
responseres.Text:=http1.Post('http://www.dmbchat.ru/logout.php',params);
finally
params.free;
responseres.free;
end;
Timer1.Enabled:=False;
Edit1.Enabled:=True;
Edit2.Enabled:=True;
Button2.Enabled:=False;
end;

end.
 
Ответить с цитированием