《千年神州》大型武侠游戏 千年公益服 手游电脑三端互通

 找回密码
 立即注册
查看: 225|回复: 0

Delphi制作千年私服通用登陆器(附源码下载)

[复制链接]

224

主题

234

帖子

1190

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1190
发表于 2022-2-25 15:46:12 | 显示全部楼层 |阅读模式
千年私服的ip地址都存在于Addr.dat文件中(早期版本为Addr.txt?)所以,操作这个就行了
本软件用Delphi Xe8编写(Delphi7修改相应的引用单元即可)

unction IsValidIP(Str: string): Boolean; // 检查IP地址合法性
var
  i, PartCount { 用多少段,以点号分开 } : Integer;
  Part: string;
begin
  PartCount := 0;
  while Str <> '' do
  begin
    i := Pos('.', Str);
    if i = 0 then
    begin
      Part := Str;
      Str := '';
    end
    else
    begin
      Part := Copy(Str, 1, i - 1);
      Delete(Str, 1, i);
    end;
    // IP分段必须是[0,255]的整数
    if not TryStrToInt(Part, i) or (i < 0) or (i > 255) then
    begin
      Result := False;
      Exit;
    end;
    Inc(PartCount);
  end;
  Result := PartCount = 4; // 必须要有4段
end;

procedure TForm3.Button1Click(Sender: TObject);
var
  CopyAdd: string;
begin
  if (Edit1.Text = '') or (Edit2.Text = '') or (Edit3.Text = '') or
    (Edit4.Text = '') then
    Showmessage('IP地址、端口、服务器名称、线路名称未填写完全,请认真填写!')
  else
  begin
    CopyAdd := Edit1.Text + ',' + Edit2.Text + ',' + Edit3.Text + ',' +
      Edit4.Text;
    Clipboard.AsText := CopyAdd;
    Showmessage('复制所有信息成功!');
  end;
end;

procedure TForm3.Button2Click(Sender: TObject);
var
  AddList: TStringList;
  i: Integer;
begin
  if IsValidIP(Edit1.Text) = False then
    Showmessage('IP地址不合法,请重新输入!')
  else
  begin
    AddList := TStringList.Create;
    try
      AddList.LoadFromFile(Form2.Label2.Caption);
      AddList.Insert(0, Edit1.Text + ',' + Edit2.Text + ',' + Edit3.Text + ',' +
        Edit4.Text);
      for i := 0 to AddList.Count - 1 do
        Form1.ComboBox1.Items.Clear;
      Form1.ComboBox1.Items := AddList;
      Form1.ComboBox1.ItemIndex := 0;
      AddList.SaveToFile(Form2.Label2.Caption);
    finally
      FreeAndNil(AddList);
    end;
    close;
  end;
end;

procedure TForm3.Button3Click(Sender: TObject);
begin
  if Edit1.Text = '' then
    Showmessage('尚未填写IP地址,请填写后再复制!')
  else if IsValidIP(Edit1.Text) = False then
    Showmessage('IP地址不合法,请重新输入!')
  else
  begin
    Edit1.SelectAll;
    Edit1.CopyToClipboard;
    Showmessage('复制成功!');
  end;
end;

procedure TForm3.Button4Click(Sender: TObject);
begin
  if Edit2.Text = '' then
    Showmessage('尚未填写端口地址,请填写后再复制!')
  else
  begin
    Edit2.SelectAll;
    Edit2.CopyToClipboard;
    Showmessage('复制成功!');
  end;
end;

procedure TForm3.Button6Click(Sender: TObject);
begin
  if Edit4.Text = '' then
    Showmessage('尚未填写服务器名称,请填写后再复制!')
  else
  begin
    Edit4.SelectAll;
    Edit4.CopyToClipboard;
    Showmessage('复制成功!');
  end;
end;

procedure TForm3.Button5Click(Sender: TObject);
begin
  if Edit3.Text = '' then
    Showmessage('尚未填写线路名称,请填写后再复制!')
  else
  begin
    Edit3.SelectAll;
    Edit3.CopyToClipboard;
    Showmessage('复制成功!');
  end;
end;

procedure TForm3.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if not(Key in ['0' .. '9']) then
  begin
    Showmessage('只能为数字,端口输入不合法,请重新输入!');
    Key := #0;
  end;
end;

本文字由千年3手游www.1000y2s.com千年私服发布
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|千年神州 |网站地图

GMT+8, 2022-5-24 12:59 , Processed in 0.148913 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表