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

📄 一起解剖灰鸽子vip1.2源码.txt

📁 一起解剖灰鸽子VIP1.2源码.txt 非原创
💻 TXT
📖 第 1 页 / 共 5 页
字号:
    HgzVip.myinifile.writestring('FTP','Http',httpEdit.Text);
  end else begin
    HgzVip.myinifile.writestring('FTP','AutoSave','0');
    HgzVip.myinifile.writestring('FTP','FTPServer','');
    HgzVip.myinifile.writestring('FTP','FTPport','21');
    HgzVip.myinifile.writestring('FTP','FTPUser','');
    HgzVip.myinifile.writestring('FTP','Password','');
    HgzVip.myinifile.writestring('FTP','IpFile','ip.jpg');
    HgzVip.myinifile.writestring('FTP','Http','');
  end;
except
end;
try
if RadioBox2.Checked then
  begin
    HgzVip.myinifile.writestring('Yuming','AutoSave','1');
    HgzVip.Myinifile.writestring(YComboBox.Text, 'UserName', user126.Text);
    HgzVip.Myinifile.writestring(YComboBox.Text, 'Passwd', EnCryptStr(spSkinEdit2.Text,'HUIGEZI'));
  end else begin
    HgzVip.myinifile.writestring('Yuming','AutoSave','0');
    HgzVip.Myinifile.writestring(YComboBox.Text, 'UserName', '');
    HgzVip.Myinifile.writestring(YComboBox.Text, 'Passwd', '');
  end;
except
end;
try
if CheckRadioBox1.Checked then
  begin
    HgzVip.myinifile.writestring('DNSYuming','AutoSave','1');
    HgzVip.myinifile.writestring('DNSYuming','Dns',XwEdit.text);
    HgzVip.myinifile.writestring('DNSYuming','User',Xwuser.text);
    HgzVip.myinifile.writestring('DNSYuming','Password',EnCryptStr(Xwpass.text,'HUIGEZI'));
  end else begin
    HgzVip.myinifile.writestring('DNSYuming','AutoSave','0');
    HgzVip.myinifile.writestring('DNSYuming','User','');
    HgzVip.myinifile.writestring('DNSYuming','Password','');
  end;
except
end;
end;


  //这个按钮 就是 希网动态域名更新IP的按钮,同样后面也是用一个多线程对象(TXWDnsThread.Create(false);)来实现的

procedure TUpIpDate.XWButtonClick(Sender: TObject);
begin
if XwEdit.Text='' then
  begin
    Label1.Caption:=Translate('String18','对不起!好像您没有填写域名噢!请您填上吧!');
    Exit;
  end;
if Xwuser.Text='' then
  begin
    Label1.Caption:=Translate('String24','对不起!请填写用户名!');
    Exit;
  end;
if Xwpass.Text='' then
  begin
    Label1.Caption:=Translate('String21','对不起!请填写密码!');
    Exit;
  end;
XWButton.Enabled:=False;
Label1.Caption:=Translate('String25','开始更新IP地址到域名...');
TXWDnsThread.Create(false);
end;
//点相应连接,打开IE连接其
procedure TUpIpDate.Label16Click(Sender: TObject);
begin
ShellExecute(0, 'Open', pchar('http://www.3322.org'),nil, nil, SW_Show);
end;
//同样是保存信息到配置文件,看到了吧,要实现便捷的功能,作者要写很多语句来实现的哦,真实不得不感谢作者的辛苦
procedure TUpIpDate.CheckRadioBox1Click(Sender: TObject);
begin
try
if CheckRadioBox1.Checked then
  begin
    HgzVip.myinifile.writestring('DNSYuming','AutoSave','1');
    HgzVip.myinifile.writestring('DNSYuming','Dns',XwEdit.text);
    HgzVip.myinifile.writestring('DNSYuming','User',Xwuser.text);
    HgzVip.myinifile.writestring('DNSYuming','Password',EnCryptStr(Xwpass.text,'HUIGEZI'));
  end else begin
    HgzVip.myinifile.writestring('DNSYuming','AutoSave','0');
    HgzVip.myinifile.writestring('DNSYuming','User','');
    HgzVip.myinifile.writestring('DNSYuming','Password','');
  end;
except
end;
end;
//理解同上,不用我再打字了吧,累死了。。。。汗。。。
procedure TUpIpDate.Label11Click(Sender: TObject);
begin
ShellExecute(0, 'Open','http://my.126.com/',nil, nil, SW_Show);
end;
//如果输入框user126 有输入,就是变化啦,更新配置文件,
procedure TUpIpDate.user126Change(Sender: TObject);
begin
try
if RadioBox2.Checked then
  begin
    if YComboBox.ItemIndex =0 then
      HgzVip.Myinifile.writestring('.126.com', 'UserName', user126.Text);
    if YComboBox.ItemIndex =1 then
      HgzVip.Myinifile.writestring('.yeah.net', 'UserName', user126.Text);
  end;
except
end;
end;
//理解同上。。
procedure TUpIpDate.spSkinEdit2Change(Sender: TObject);
begin
try
if RadioBox2.Checked then
  begin
    if YComboBox.ItemIndex =0 then
      HgzVip.Myinifile.writestring('.126.com', 'Passwd', EnCryptStr(spSkinEdit2.Text,'HUIGEZI'));
    if YComboBox.ItemIndex =1 then
      HgzVip.Myinifile.writestring('.yeah.net', 'Passwd', EnCryptStr(spSkinEdit2.Text,'HUIGEZI'));
  end;
except
end;
end;
    //
procedure TUpIpDate.YComboBoxClick(Sender: TObject);
begin
try
if YComboBox.ItemIndex =0 then
  begin
    user126.Text:=HgzVip.myinifile.Readstring('.126.com', 'UserName', '');
    //这里值得讲一下的是,要用解密函数来进行解密保存在配置文件里的密码值,这里用的key是huigezi
    // spSkinEdit2 和 pass126 都是密码框它们一个只是做一致性匹配
    spSkinEdit2.Text:=DeCryptStr(HgzVip.myinifile.Readstring('.126.com', 'Passwd', ''),'HUIGEZI');
    pass126.Text:=DeCryptStr(HgzVip.myinifile.Readstring('.126.com', 'Passwd', ''),'HUIGEZI');
  end;
if YComboBox.ItemIndex =1 then
  begin
    user126.Text:=HgzVip.myinifile.Readstring('.yeah.net', 'UserName', '');
    spSkinEdit2.Text:=DeCryptStr(HgzVip.myinifile.Readstring('.yeah.net', 'Passwd', ''),'HUIGEZI');
    pass126.Text:=DeCryptStr(HgzVip.myinifile.Readstring('.yeah.net', 'Passwd', ''),'HUIGEZI');
  end;
except
end;
end;
//上传成功的处理,提示信息和断开连接
procedure TUpIpDate.NMFTP1Success(Trans_Type: TCmdType);
begin
//Label1.Caption :='成功.';
if Trans_Type=cmdUpload then
begin
  AfterGetFile(nil);
  //上面有定义好的,主要是用来上传后信息提示和声音播放的,还记得么?不记得看上面
  //疑点:定义的时候 参数类型是 TOBJECT 的,这里可以用nil做参数???
  NMFTP1.Disconnect; //断开ftp
end;
end;
//连接 ftp的时候的各种信息反馈
procedure TUpIpDate.NMFTP1Connect(Sender: TObject);
begin
  Label1.Caption :=Translate('String26','连接FTP成功.');
end;

procedure TUpIpDate.NMFTP1ConnectionFailed(Sender: TObject);
begin
  Label1.Caption :=Translate('String27','连接FTP失败.');;
end;

procedure TUpIpDate.NMFTP1Error(Sender: TComponent; Errno: Word;
  Errmsg: String);
begin
  Label1.Caption :='Error..';
end;


procedure TUpIpDate.NMFTP1Status(Sender: TComponent; Status: String);
begin
  Label1.Caption :=Status;
end;

end.

//咳,终于看完这个东西了,打字累死了,不过值得,因为又学了不少东西哇。
//首先 classname 原来是可以做全局变量获取一个类名称的
//然后学到的是加密字串的解密函数应用
//FTP控件的使用
//HTTP控件的运用
//还有配置文件的读写
//还有字符串函数的替换和查找。。。

//你收获了多少呢?




我们继续分解 看系统设置框的代码

unit SysInf;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DynamicSkinForm, SkinCtrls, StdCtrls, SkinBoxCtrls, ComCtrls,
  SkinTabs, Mask,mmsystem, LangFrm;

type
  TSysShezhi = class(TLangForm)
    PageControl1: TspSkinPageControl;
    spDynamicSkinForm1: TspDynamicSkinForm;
    TabSheet1: TspSkinTabSheet;
    RadioBox1: TspSkinCheckRadioBox;
    Label1: TspSkinStdLabel;
    Label2: TspSkinStdLabel;
    Label3: TspSkinStdLabel;
    Label5: TspSkinStdLabel;
    Label4: TspSkinStdLabel;
    Button1: TspSkinButton;
    Button2: TspSkinButton;
    Button3: TspSkinButton;
    Button4: TspSkinButton;
    Button5: TspSkinButton;
    FilenameEdit1: TspSkinEdit;
    FilenameEdit2: TspSkinEdit;
    FilenameEdit3: TspSkinEdit;
    FilenameEdit4: TspSkinEdit;
    FilenameEdit5: TspSkinEdit;
    OpenDialog1: TOpenDialog;
    TabSheet2: TspSkinTabSheet;
    Label6: TspSkinStdLabel;
    TimerEdit: TspSkinEdit;
    Label7: TspSkinStdLabel;
    spSkinStdLabel3: TspSkinStdLabel;
    Label8: TspSkinStdLabel;
    PortEdit: TspSkinEdit;
    Button6: TspSkinButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure FilenameEdit1Change(Sender: TObject);
    procedure FilenameEdit2Change(Sender: TObject);
    procedure FilenameEdit3Change(Sender: TObject);
    procedure FilenameEdit4Change(Sender: TObject);
    procedure FilenameEdit5Change(Sender: TObject);
    procedure RadioBox1Click(Sender: TObject);
    procedure FilenameEdit1ButtonClick(Sender: TObject);
    procedure FilenameEdit2ButtonClick(Sender: TObject);
    procedure FilenameEdit3ButtonClick(Sender: TObject);
    procedure FilenameEdit4ButtonClick(Sender: TObject);
    procedure FilenameEdit5ButtonClick(Sender: TObject);
    procedure Button6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  SysShezhi: TSysShezhi;

implementation
uses
  Main;
{$R *.dfm}
//这几个按钮是播放声音的,有没有发现,每次都要播放一次空文件?
//做用什么?不太明白,不管它,反正知道怎么用就好了
procedure TSysShezhi.Button1Click(Sender: TObject);
begin
try
sndplaysound('',snd_async);
sndplaysound(Pchar(FilenameEdit1.Text),snd_async);
except
end;
end;

procedure TSysShezhi.Button2Click(Sender: TObject);
begin
try
sndplaysound('',snd_async);
sndplaysound(Pchar(FilenameEdit2.Text),snd_async);
except
end;
end;

procedure TSysShezhi.Button3Click(Sender: TObject);
begin
try
sndplaysound('',snd_async);
sndplaysound(Pchar(FilenameEdit3.Text),snd_async);
except
end;
end;

procedure TSysShezhi.Button4Click(Sender: TObject);
begin
try
sndplaysound('',snd_async);
sndplaysound(Pchar(FilenameEdit4.Text),snd_async);
except
end;
end;

procedure TSysShezhi.Button5Click(Sender: TObject);
begin
try
sndplaysound('',snd_async);
sndplaysound(Pchar(FilenameEdit5.Text),snd_async);
except
end;
end;
  //当输入框有变化的时候,写入配置文件
procedure TSysShezhi.FilenameEdit1Change(Sender: TObject);
begin
try
  HgzVip.Myinifile.writestring('Operation', 'Sound1', FilenameEdit1.Text);
  HgzVip.OnSLine:= FilenameEdit1.Text;
except
end;
end;

procedure TSysShezhi.FilenameEdit2Change(Sender: TObject);
begin
try
  HgzVip.Myinifile.writestring('Operation', 'Sound2', FilenameEdit2.Text);
  HgzVip.OffSLine:=FilenameEdit2.Text;
except
end;
end;

procedure TSysShezhi.FilenameEdit3Change(Sender: TObject);
begin
try
  HgzVip.Myinifile.writestring('Operation', 'Sound3', FilenameEdit3.Text);
  HgzVip.UpIPok:=FilenameEdit3.Text;
except
end;
end;

procedure TSysShezhi.FilenameEdit4Change(Sender: TObject);
begin
try
  HgzVip.Myinifile.writestring('Operation', 'Sound4', FilenameEdit4.Text);
  HgzVip.FileSup:=FilenameEdit4.Text;
except
end;
end;

procedure TSysShezhi.FilenameEdit5Change(Sender: TObject);
begin
try
  HgzVip.Myinifile.writestring('Operation', 'Sound5', FilenameEdit5.Text);
  HgzVip.FileSDown:= FilenameEdit5.Text;
except
end;
end;
    //这里是判断打勾与否,然后改变HgzVip.isSound:=True;的值,
    //顺便把播放声音与否的选项配置写进配置文件里
procedure TSysShezhi.RadioBox1Click(Sender: TObject);
begin
if RadioBox1.Checked then
  begin
  HgzVip.isSound:=True;
  HgzVip.Myinifile.writestring('Operation', 'OnSound','1')
  end else begin
  HgzVip.isSound:=True;
  HgzVip.Myinifile.writestring('Operation', 'OnSound','0');
  end;
end;
  //这个是点击文本框右边的按钮事件,打开一个打开文件框 选定一个文件
procedure TSysShezhi.FilenameEdit1ButtonClick(Sender: TObject);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -