📄 main.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 + -