⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 百度知道的自动发帖回复机器人。可以用来发广告
💻 PAS
字号:
{∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑
◎→
◎→            百度知道挂分
◎→  Project: Baidu
◎→  Start Date:2006/4/15
◎→  Change Date:2006/4/15
◎→  System: Delphi6+WinXP
◎→  Author: tresss
◎→  My Home:http://www.tresss.com
◎→  E-Mail:potianjing@gmail.com
◎→  Explain:界面处理;模块调用;
◎→
◎→
∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑∑}
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, ExtCtrls,mshtml, StdCtrls,BConst, Buttons,
  ComCtrls,inifiles;

type
  TFrmMain = class(TForm)
    PnlTop: TPanel;
    Web: TWebBrowser;
    PnlBottom: TPanel;
    Timer1: TTimer;
    BtnEnable: TSpeedButton;
    PnlLeft: TPanel;
    Spl1: TSplitter;
    PnlLTops: TPanel;
    PnlLogin: TPanel;
    BtnLogin: TSpeedButton;
    EdtName: TEdit;
    EdtPass: TEdit;
    LblName: TLabel;
    Label1: TLabel;
    PnlBTim: TPanel;
    UpDown1: TUpDown;
    EdtInterval: TEdit;
    LblTMin: TLabel;
    LblTInterval: TLabel;
    PnltTimer: TPanel;
    Mmo: TMemo;
    LblLRep: TLabel;
    BtnLRep1: TSpeedButton;
    BtnLRep2: TSpeedButton;
    BtnLRep3: TSpeedButton;
    BtnLRep4: TSpeedButton;
    BtnLRep5: TSpeedButton;
    BtnLRep6: TSpeedButton;
    procedure WebDocumentComplete(Sender: TObject; const pDisp: IDispatch;
      var URL: OleVariant);
    procedure BtnEnableClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure BtnLoginClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
    procedure EdtPassKeyPress(Sender: TObject; var Key: Char);
    procedure BtnLRepClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private

  public
    { Public declarations }
  end;

var
  FrmMain: TFrmMain;
  WebState,AppPath:String;
  StrUrlType:TStringList;
  IntSend,IntCount:Integer;
  Fini:TInifile;
  StrRep:array [0..5] of String;
  IntRepIndex,IntBtnIndex:Integer;

implementation
Uses BWebSet,BEnSet;

{$R *.dfm}

procedure TFrmMain.WebDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  If (WebState='Control') or (WebState='Control1') Then
    ValidateCon
  Else If WebState='Logining' Then
  Begin
    If PnlLogin.Visible Then Exit;
    WebLogin;
  End
  Else If WebState='Logined' Then
    WebAlaType
  Else If WebState='OneType' Then
    WebRandTips
  Else If WebState='OneTips' Then
    WebAnswerTips;
end;

procedure TFrmMain.BtnEnableClick(Sender: TObject);
begin
  Timer1.Enabled:=Not Timer1.Enabled;
  If Timer1.Enabled Then
    BtnEnable.Caption:='停止'
  Else
    BtnEnable.Caption:='启动';
end;

procedure TFrmMain.Timer1Timer(Sender: TObject);
begin
  Inc(IntCount);
  If IntCount>=Intsend Then
  Begin
    WebState:='Logined';
    Web.Navigate(UrlIndex);
    IntCount:=0;
  End;
  PnlBTim.Caption:=IntToStr((IntSend-IntCount)*10);
end;

procedure TFrmMain.BtnLoginClick(Sender: TObject);
begin
  PnlLogin.Hide;
  IntCount:=0;
  Timer1.Enabled:=True;
  FIni.WriteString('UseInfo','UseName',EdtName.Text);
  FIni.WriteString('UseInfo','Password',EdtPass.Text);
  If WebState='Logining' Then
  Begin
    WebLogin;
  End;
end;

procedure TFrmMain.FormCreate(Sender: TObject);
begin
  AppPath:=extractfiledir(paramstr(0));
  If AppPath[Length(AppPath)]<>'\' Then AppPath:=AppPath+'\';
  FIni:=TInifile.Create(AppPath+'Bai.ini');
  PnlLogin.Top:=0;
  PnlLogin.Left:=0;
  WebState:='Control';        //初始化时,先验证此版本是否可用;
  EdtName.Text:=FIni.ReadString('UseInfo','UseName','');
  EdtPass.Text:=FIni.ReadString('UseInfo','Password','');
  EdtInterval.Text:=FIni.ReadString('UseInfo','TimeVal','1');
  IntSend:=StrToInt(EdtInterval.Text) * 6;
  Timer1.Enabled:=False;
  Web.Navigate(UrlControl);
  ListRepStr;
  IntRepIndex:=1;
  IntBtnIndex:=1;
  PnlBottom.Caption:='读取版本信息,请稍等  >>>>>>';
end;

procedure TFrmMain.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
  IntSend:=StrToInt(EdtInterval.Text)*6;
end;

procedure TFrmMain.EdtPassKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 Then
    BtnLogin.Click;
end;

procedure TFrmMain.BtnLRepClick(Sender: TObject);
begin
  StrRep[IntBtnIndex]:=Mmo.Text;
  IntBtnIndex:=StrToInt(TSpeedButton(Sender).Caption)-1;
  Mmo.Text:=StrRep[IntBtnIndex];
end;

procedure TFrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
Var
  IntLoop:Integer;
  StrPath:String;
begin
  StrRep[IntRepIndex]:=Mmo.Text;
  For IntLoop:=0 To 5 Do
  Begin
    StrPath:=AppPath+'Rep'+IntToStr(IntLoop);
    Mmo.Text:=StrRep[IntLoop];
    Mmo.Lines.SaveToFile(StrPath);
    Sleep(100);
  End;
  Fini.WriteString('UseInfo','TimeVal',EdtInterval.Text);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -