📄 main.pas
字号:
unit Main;
{欢迎大家在http//www.shijinbo.com.cn交流}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, ComCtrls;
type
TArray = array[1..10] of string;
TForm1 = class(TForm)
IdHTTP1: TIdHTTP;
Button1: TButton;
Button2: TButton;
ListView1: TListView;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
private
{ Private declarations }
public
function GetStr(StrSource,StrBegin,StrEnd:string):string;
function GetsliptStr(var str: String;falg:String):string;
procedure trimchar(var S:string;ch:string);
procedure TC(var s:string;var sRet:TArray); //存储进数组
end;
var
Form1: TForm1;
Data_LR: array[1..100,1..10] of String;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
tmpStr,k : String;
i,j : integer;
s : Tarray;
begin
tmpStr:= idHTTP1.Get('http://www.haosf.com/');
for i := 1 to 100 do
begin
k := GetStr(tmpStr,',"http:\/\/',');</script>');
tmpStr := GetsliptStr(tmpStr,');</script>');
trimchar(k,' ');
trimchar(k,'"');
TC(k,s);
for j := 1 to 10 do
begin
Data_LR[i][j] := s[j];
end;
end;
messagebox(handle,'采集好私服信息完毕','提示',64);
button2.Enabled := True;
end;
function TForm1.GetStr(StrSource, StrBegin, StrEnd: string): string;
var
in_star,in_end:integer;
begin
in_star:=AnsiPos(strbegin,strsource)+length(strbegin);
in_end:=AnsiPos(strend,strsource);
result:=copy(strsource,in_star,in_end-in_star);
end;
function TForm1.GetsliptStr(var str: String;falg:String): string;
var
i : integer;
begin
i := AnsiPos(falg,str);
delete(str,1,i);
result := str;
end;
procedure TForm1.trimchar(var S:String ;ch: string);
var
i : integer;
begin
i:=pos(ch,s);
While i<>0 do
begin
delete(S,I,1);
i:=pos(ch,s);
end
end;
procedure TForm1.TC(var s: string; var sRet: TArray);
var
i,j : integer;
begin
for j := 1 to 10 do
begin
i := pos(',',s);
sRet[j] := copy(s,1,i-1);
delete(s,1,i);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
n,i,j : integer;
s : String;
Flag : boolean;
k : Array [0..5] of String;
begin
for i := 1 to 100 do
begin
with listview1.items.add do
begin
caption:=inttostr(listview1.items.Count);
//
subitems.add(Data_LR[i][2]);
subitems.add(Data_LR[i][3]);
subitems.add(Data_LR[i][4]);
subitems.add(Data_LR[i][5]);
subitems.add(Data_LR[i][6]);
subitems.add(Data_LR[i][1]);
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with listview1 do
begin
Columns.Add;
Columns.Add;
ViewStyle:=vsreport;
GridLines:=true;
columns.items[0].caption:='0';
columns.items[1].caption:='传奇服务器名';
columns.items[2].caption:='服务器IP';
columns.items[3].caption:='开放时间 年/月/日/时';
columns.items[4].caption:='线路类别';
columns.items[5].caption:='版本介绍';
columns.items[6].caption:='网址';
Columns.Items[0].Width:=30;
Columns.Items[1].Width:=130;
Columns.Items[2].Width:=140;
Columns.Items[3].Width:=165;
Columns.Items[4].Width:=100;
Columns.Items[5].Width:=140;
Columns.Items[6].Width:=150;
end;
end;
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
i: integer;
begin
i:= (Sender as TListView).Items.IndexOf(Item);
if odd(i) then
sender.Canvas.Brush.Color:= $02E0F0D7
else
sender.Canvas.Brush.Color:= $02F0EED7;
Sender.Canvas.FillRect(Item.DisplayRect(drIcon));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -