📄 getoutsideip.pas
字号:
unit GetOutSideIP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdHTTP, StdCtrls,FileIni, ExtCtrls;
type
Tfrm_getIP = class(TForm)
Edit_Url: TEdit;
Label1: TLabel;
btn_GetIP: TButton;
http: TIdHTTP;
Edit_CurIP: TEdit;
Edit_OldIP: TEdit;
Label2: TLabel;
Label3: TLabel;
Memo_Notice: TMemo;
btn_SetIP: TButton;
Label4: TLabel;
Edit_Timer: TEdit;
Timer1: TTimer;
CB_Timer: TCheckBox;
procedure btn_GetIPClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btn_SetIPClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure CB_TimerClick(Sender: TObject);
private
{ Private declarations }
public
FileIni:TFileIni;
G_Timer :Integer;
end;
var
frm_getIP: Tfrm_getIP;
implementation
{$R *.dfm}
procedure Tfrm_getIP.btn_GetIPClick(Sender: TObject);
var
s, s1: TStringStream;
Inicial,Final: Integer;
ss:String;
begin
s := TStringStream.Create('');
s1 := TStringStream.Create('');
http.Request.ContentType := 'application/x-www-form-urlencoded';
try
http.Post(Edit_Url.Text, s, s1)
except
http.Get(http.Response.Location, s1);
end;
// ss:=s1.ReadString;
Inicial := 1;//Pos('ipbegin:',s1.DataString)+8; //获得文本框开头文本
Final := s1.Size+1;// Pos('ipend',s1.DataString); //获得文本框结尾
ss := Copy(s1.DataString,Inicial,Final-Inicial);
Edit_CurIP.Text := Utf8Toansi(ss);
if Edit_CurIP.Text = Edit_OldIP.Text then
begin
Memo_Notice.Visible := false;
end else begin
Memo_Notice.Visible := true;
//self.Show;
end;
end;
procedure Tfrm_getIP.FormCreate(Sender: TObject);
begin
FileIni := TFileIni.Create(ExtractFilePath(Application.ExeName) + 'Config.ini');
Edit_Url.Text := FileIni.web_url;
Edit_OldIP.Text := FileIni.web_oldip;
Edit_Timer.Text := IntToStr(FileIni.web_timer);
CB_Timer.Checked := FileIni.web_AutoGet;
Timer1.Enabled := FileIni.web_AutoGet;
end;
procedure Tfrm_getIP.btn_SetIPClick(Sender: TObject);
begin
FileIni.web_url := Edit_Url.Text;
FileIni.web_oldip := Edit_OldIP.Text;
FileIni.web_timer := StrToInt(Edit_Timer.Text);
FileIni.web_AutoGet := CB_Timer.Checked;
FileIni.WriteConfig;
end;
procedure Tfrm_getIP.Timer1Timer(Sender: TObject);
begin
if g_Timer < FileIni.web_timer then
begin
g_Timer := g_timer + 1;
end else
begin
g_Timer := 0;
btn_GetIP.Click;
end;
end;
procedure Tfrm_getIP.CB_TimerClick(Sender: TObject);
begin
Timer1.Enabled := CB_Timer.Checked;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -