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

📄 main.pas

📁 采集好私服工具,Delphi编写
💻 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 + -