亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unit1.pas

?? delphi 外掛管理器 原代碼 包含delphi控件
?? PAS
字號:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, OleCtrls, MSHTML_TLB, ImgList,MySqlClass,
  IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdFTP,IdFTPCommon, ztvregister, ztvBase,ztvGbls,
  ztvUnRar,Shellapi, Menus,DES, WinSkinData;

const
//unRArPassword='kellen'; //解壓密碼
  wm_traynotify=wm_user+1000;//自定義消息
  msg1='配置文件出錯,請將新的配置提交給hostyi@hotmail.com !';
  msg2='未能連接MySQL服務器,請檢查服務器是否啟動或本機網絡故障 !';
  msg3='缺少libMySQL.dll支持庫,請與hostyi@hotmail.com聯系 !';
  msg4='對不起,你還未添加任何游戲外掛類別 !';
  msg5='對不起,沒有查詢到該外掛 !';
  msg6='未能連接FTP服務器,請檢查服務器是否啟動或本機網絡故障 !';
  msg7='對不起,在FTP服務器沒有發現該外掛 !';

type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    StatusBar1: TStatusBar;
    Scriptlet2: TScriptlet;
    ImageList1: TImageList;
    Scriptlet1: TScriptlet;
    ProgressBar1: TProgressBar;
    IdFTP1: TIdFTP;
    IdAntiFreeze1: TIdAntiFreeze;
    UnRar1: TUnRar;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    SkinData1: TSkinData;
    procedure FormCreate(Sender: TObject);
    procedure TreeView1DblClick(Sender: TObject);
    procedure DownloadRarFile(FtpClient:TIdFTP;SourceFile,DestFile:string);
    procedure IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    procedure IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCountMax: Integer);
    procedure IdFTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    Procedure ExtractRarFile(Sourcefile,DestPath:String);
    procedure UnRar1Progress(Sender: TObject; ByFile, ByArchive: Byte);
    procedure UnRar1GetPassword(Sender: TObject; FileName: String;
      var Password: String; var TryAgain: Boolean);
    procedure N1Click(Sender: TObject);
  private
    { Private declarations }
    Tray_icon:TnotifyIconData; //托盤變量
    procedure wmmytrayiconcallback(var msg:tmessage); message wm_traynotify; //消息處理
    procedure LoadWaiGuaList();
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  dbhost,dbuser,dbpw,dbname:String;    //MySQL數據庫信息
  ftphost,ftpuser,ftppw,ftpport:String;//FTP服務器信息
  BytesToTransfer: LongWord; //下載文件大小
implementation

{$R *.dfm}
function GetSysDir:String; //獲取系統目錄 C:\windows\system32
var p:Pchar;
begin
GetMem(P,255);
GetSystemDirectory(p,254);
Result := p;
Freemem(p); 
end;
function TheFile(DownFile:string):string;
var
  FileVal:string;
begin
  FileVal:=DownFile;
  repeat
    FileVal:=Copy(FileVal,Pos('/',FileVal)+1,length(FileVal));
  until Pos('/',FileVal)=0;
 TheFile:=FileVal;
end;
procedure ShowMsg(Msg:string);
begin
 showmessage(Msg);
  if Form1.IdFTP1.Connected then
   begin
      Form1.IdFTP1.Abort;
      Form1.IdFTP1.Quit;
   end;
Application.Terminate;
end;
procedure CheckStatus(); //檢查啟動程序的環境
begin
 //判斷WaiGua目錄是否存在
 if Not DirectoryExists('WaiGua') then Mkdir('WaiGua');
 //檢查MySQL支持庫
 if (Not FileExists(GetSysDir+'\libMySQL.dll')) then ShowMsg(msg3);
end;
Procedure CheckRarPath(Path:string); //檢查并建立目錄
var
dirname:string;
pos1:integer;
begin
// D:\測試文件夾\發布程序\WaiGua\傳奇外掛\赤月霜楓3.0 => WaiGua\傳奇外掛\赤月霜楓3.0
 dirname:= ExtractFilePath(Paramstr(0)); //取當前目錄名
 Path:=StringReplace(Path,dirname,'',[rfReplaceAll]); //把當前目錄名刪掉
 repeat
   pos1:=pos('\',Path); // 第一個'\'字符的位置
   dirname:=Copy(Path,1,pos1-1); //取出目錄名
   if DirectoryExists(dirname) then Chdir(dirname)
   else
     begin
       MkDir(dirname); //建立目錄
       ChDir(dirname); //轉到目錄
     end;
   Path:=Copy(Path,pos1+1,length(Path)); //取下一個目錄名
 until pos('\',Path)=0;
end;
//獲取連接MySQL與FTP服務器的信息
procedure GetConnectInf(var dbhost,dbuser,dbpw,dbname,ftphost,ftpuser,ftppw,ftpport:String);
var
  Readcfg:Text;
  ReadVal:String;
  ReadStr: array[1..8] of String;
  i:integer;
begin
  AssignFile(Readcfg,'Config.cfg');
  Reset(Readcfg);
  Read(Readcfg,ReadVal);
  ReadVal:=DESryStrHex(ReadVal,'xushuyi');
  for i:=1 to 8 do
    begin
      ReadStr[i]:=Copy(ReadVal,1,pos(';',ReadVal)-1);
      ReadVal:=Copy(ReadVal,pos(';',ReadVal)+1,length(ReadVal));
    end;
  for i:=1 to 8 do
    if ReadStr[i]='' then ShowMsg(msg1); //顯示出錯信息1,退出程序 [以后加入對服務器有效的檢查函數
  dbhost :=Readstr[1];
  dbuser :=ReadStr[2];
  dbpw   :=ReadStr[3];
  dbname :=ReadStr[4];
  ftphost:=ReadStr[5];
  ftpuser:=ReadStr[6];
  ftppw  :=ReadStr[7];
  ftpport:=ReadStr[8];
  CloseFile(Readcfg);
end;

procedure TForm1.LoadWaiGuaList(); //載入外掛列表
var
 MySQLCls: TMySQLClass;
 SQLString:String;
 QueryResult:integer;
 strName:string;
 myNode:TTreeNode;
 MainStr:TStringList;
 i:integer;
begin
MySQLCls:=TMySQLClass.Create(dbhost,dbuser,dbpw,dbname,3306); //連接MySQL服務器
if (Not MySQLCls.IsConnected) then ShowMsg(msg2); //顯示出錯信息2,退出程序
//查詢主類
SQLString:='SELECT distinct MainItem FROM WaiGua';
QueryResult:=MySQLCls.Query(SQLString);
if QueryResult<=0 then ShowMsg(msg4); //未添加游戲外掛類別,退出程序

MainStr:=TStringList.Create; //保存主類列表
While not MySQLCls.IsEof do //如果上面的查詢得出,記錄不在數據庫末端
  begin
    MainStr.Add(MySQLCls.FieldByName('MainItem'));
    MySQLCls.Next;    //移至下一條記錄
  end;

for i:=0 to MainStr.Count-1 do
  begin
  //添加主類
   myNode:=TreeView1.Items.Add(Treeview1.Selected,MainStr[i]);
  //查詢分類
  SQLString:='SELECT * FROM WaiGua where MainItem='+chr(39)+MainStr[i]+chr(39);
  QueryResult:=MySQLCls.Query(SQLString);
  if QueryResult<=0 then  myNode.selected:=false
  else  myNode.selected:=true;
  While not MySQLCls.IsEof do //如果上面的查詢得出,記錄不在數據庫末端
    begin
     //添加分類
      strName:=MySQLCls.FieldByName('SubItem');
      myNode:=TreeView1.Items.AddChild(Treeview1.Selected,strName);

      myNode.ImageIndex:=2;
      myNode.StateIndex:=2;
      //選擇時要判斷是否存在這個外掛,否則顯示其他圖標
      myNode.SelectedIndex:=2;

      //移至下一條記錄
     MySQLCls.Next;
    end;
  myNode.selected:=false;
  end;
 MySQLCls.Destroy; //關閉數據庫連接
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
//對托盤圖標進程操作
 with Tray_icon do
  begin
    cbsize:=sizeof(tnotifyicondata);
    wnd:=handle;
    uid:=1;
    uflags:=nif_message or nif_icon or nif_tip;
    ucallbackmessage:=wm_traynotify;
    //hicon:=loadicon(0,idi_winlogo);
    hicon:=Application.Icon.Handle;
    sztip:='游戲外掛管理程序 --和貴網絡中心專用';
  end;
  shell_notifyicon(nim_add,@Tray_icon);
LoadWaiGuaList();  //顯示外掛列表
end;
//下載壓縮文件到本地
procedure TForm1.DownloadRarFile(FtpClient:TIdFTP;SourceFile,DestFile:string);
begin
  if FtpClient.Connected then
   begin
     FtpClient.Abort;
     FtpClient.Quit;
   end;
  With FtpClient do //設置好后連接FTP服務器
    Try
      Host:=ftphost;
      Port:=StrToInt(ftpport);
      Username:=ftpuser;
      Password:=ftppw;
      Connect;
      ChangeDir('/');
      TransferType:=ftASCII;
    Except
      If Not Connected then ShowMsg(msg6); //連接不上FTP,顯示出錯信息,退出程序
    end;
   BytesToTransfer := FtpClient.Size(SourceFile); //獲取下載文件大小: /外掛程序/傳奇外掛/赤月霜楓3.0.rar
   try
     FtpClient.Get(SourceFile,DestFile,true,false);
   except
     DeleteFile(DestFile); //刪除出錯的文件
     ShowMsg(msg7); //沒有發現下載外掛,退出程序
   end;
end;
Procedure TForm1.ExtractRarFile(Sourcefile,DestPath:String); //解壓函數
begin
   UnRAR1.ArchiveFile :=Sourcefile; //源文件
   UnRAR1.ArcType:=atRaR;
   UnRAR1.ConfirmOverwrites:=False;
   UnRAR1.CreateStoredDirs:=True;//自動建立目錄
   UnRAR1.ExtractDir := DestPath; //目標目錄
   UnRAR1.FileSpec.Clear();
   UnRAR1.FileSpec.Add('*.*');
   UnRAR1.OverwriteMode := omOverwrite;
   UnRAR1.UseStoredDirs := True;
   UnRAR1.DateAttribute := daFileDate;
   UnRAR1.RestoreFileAttr := False;
   UnRAR1.TranslateOemChar := True;
   UnRAR1.RecurseDirs := True;
   UnRAR1.VolumeName := '';
   UnRAR1.Extract(); //執行解壓
   ProgressBar1.Visible:=True; //顯示
   ProgressBar1.Min:=0;
   ProgressBar1.Max:=UnRAR1.FilesToExtract;
   ProgressBar1.Visible:=False;
   if FileExists(Sourcefile) then DeleteFile(Sourcefile); //解壓完后刪除源文件
end;
procedure TForm1.TreeView1DblClick(Sender: TObject);
var
 MySQLCls: TMySQLClass;
 SQLString:String;
 QueryResult:integer;
 SearchKey:String;
 DownFile:String;  //外掛下載路徑
 UnRarFile:String;//解壓文件名
 UnRArPath:String;  //解壓路徑
 ExeFilename:String; //執行程序名
begin
if (Treeview1.Selected.Parent.Index > -1 ) then
begin
  SearchKey:=TreeView1.Selected.Text; //將選中的文本寫入查詢關鍵值
  MySQLCls:=TMySQLClass.Create(dbhost,dbuser,dbpw,dbname,3306); //連接MySQL服務器
  if (Not MySQLCls.IsConnected) then ShowMsg(msg2); //顯示出錯信息2,退出程序
  //查詢選中的項,在數據庫中是否有此外掛
  SQLString:='SELECT DISTINCT * FROM WaiGua WHERE SubItem='+chr(39)+SearchKey+chr(39);
  QueryResult:=MySQLCls.Query(SQLString);
  if QueryResult=0 then ShowMsg(msg5); //顯示出錯信息沒有查詢到該外掛,退出程序

  While not MySQLCls.IsEof do //如果上面的查詢得出結果
  begin
    if StrComp(pchar(MySQLCls.FieldByName('SubItem')),pchar(Searchkey))=0 then
       begin
        DownFile:=MySQLCls.FieldByName('DownPath');
        UnRArPath:='WaiGua\'+MySQLCls.FieldByName('MainItem')+'\'+MySQLCls.FieldByName('SubItem')+'\';
        ExeFilename:=MySQLCls.FieldByName('ExecName');
        break;
       end;
    //移至下一條記錄
    MySQLCls.Next;
  end;
  MySQLCls.Destroy; //關閉數據庫連接
  //顯示選擇的外掛
	if DownFile<>'' then
       begin
         TreeView1.Enabled:=False;
         UnRarFile:= ExtractFilePath(Paramstr(0))+TheFile(DownFile);
         UnRarPath:= ExtractFilePath(Paramstr(0))+UnRarPath;
         ExeFilename:=UnRarPath+ExeFilename;
         if (Not FileExists(ExeFilename)) then
            begin
				  DownloadRarFile(idFTP1,DownFile,ExtractFilePath(Paramstr(0))+TheFile(DownFile));  //下載所選擇的外掛
              chdir(ExtractFilePath(Paramstr(0)));
              CheckRarPath(UnRarPath); //解壓之前先建立目錄
				  ExtractRarFile(UnRarFile,UnRarPath); //如果執行程序不存在,則解壓
            end;
         if  FileExists(UnRarFile) then DeleteFile(UnRarFile); //如果解壓后壓縮文件仍然存在,則刪除它。
        // showmessage('解壓縮文件名'+UnRarFile);
         //showmessage('解壓縮目錄名'+UnRarPath);
         //showmessage('執行程序名'+UnRarPath+ExeFilename);
          //showmessage(TheFile(DownFile));
         //showmessage(DownFile);
         visible:=not visible;
         application.ShowMainForm:=visible;
         setforegroundwindow(application.handle);
         TreeView1.Enabled:=True;
         WinExec(pchar(ExeFilename),sw_normal); //執行程序
       end
   else ShowMsg(msg5); //顯示出錯信息沒有查詢到該外掛,退出程序
end;

end;
//當FTP下載/上傳時
procedure TForm1.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
ProgressBar1.Position := AWorkCount;
end;
//下載/上傳開始
procedure TForm1.IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
ProgressBar1.Visible:=True;
TreeView1.Selected.ImageIndex:=1;
TreeView1.Selected.StateIndex:=1;
if AWorkCountMax > 0 then ProgressBar1.Max := AWorkCountMax
else ProgressBar1.Max := BytesToTransfer;
end;
//下載/上傳結束
procedure TForm1.IdFTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
ProgressBar1.Position := 0;
ProgressBar1.Visible:=False;
//TreeView1.Enabled:=True;
TreeView1.Selected.ImageIndex:=2;
TreeView1.Selected.StateIndex:=2;
end;
procedure TForm1.UnRar1Progress(Sender: TObject; ByFile, ByArchive: Byte);
begin
ProgressBar1.Position:=UnRAR1.Count; //進度
end;

procedure TForm1.UnRar1GetPassword(Sender: TObject; FileName: String;
  var Password: String; var TryAgain: Boolean);
begin
Password:='';//解壓密碼
end;
//托盤消息處理
procedure TForm1.wmmytrayiconcallback(var msg:tmessage);
var
  cursorpos:tpoint;
begin
  case msg.LParam of
    wm_lbuttondown:
      begin
        visible:=not visible;
        application.ShowMainForm:=visible;
        setforegroundwindow(application.handle);
      end;
    wm_rbuttondown:
      begin
        getcursorpos(cursorpos);
        popupmenu1.Popup(cursorpos.x,cursorpos.y);
      end;
  end;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
if MessageDlg('你真的要退出程序嗎?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Close;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//釋放建立的托盤
shell_notifyicon(nim_delete,@Tray_icon);

if idFTP1.Connected then
	begin
		idFTP1.Abort;
		idFTP1.Quit;
   end;
end;

//主程序
begin
// 一系列的程序條件檢查
CheckStatus();

//程序主要過程
GetConnectInf(dbhost,dbuser,dbpw,dbname,ftphost,ftpuser,ftppw,ftpport);






end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩经典一区二区| 欧美在线色视频| 色婷婷av一区| 亚洲精品一区二区三区精华液| 亚洲欧美国产三级| 91啪亚洲精品| 日韩一级片在线播放| 1区2区3区欧美| 国产成人99久久亚洲综合精品| 欧美性大战久久| 亚洲欧美在线视频观看| 精品写真视频在线观看| 欧美日本一区二区| 亚洲欧美日韩在线不卡| 成人av网站在线观看免费| 欧美成人官网二区| 日韩国产一二三区| 717成人午夜免费福利电影| 亚洲欧美福利一区二区| av电影在线观看完整版一区二区| 一区二区三区欧美| 青青草97国产精品免费观看 | 九九视频精品免费| 欧美日韩在线观看一区二区 | 国产麻豆91精品| 91麻豆精品91久久久久同性| 亚洲激情一二三区| www.视频一区| 国产精品不卡一区| 99久久777色| 国产精品国产三级国产普通话99| 国产高清精品在线| 日本一区二区在线不卡| 国产不卡一区视频| 久久久精品一品道一区| 国产精品一区二区不卡| 国产三级欧美三级日产三级99 | 日韩电影在线观看一区| 4438x亚洲最大成人网| 日韩电影免费在线| 69堂国产成人免费视频| 日本在线不卡一区| 亚洲精品在线观| 国产成人av在线影院| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 中文欧美字幕免费| 99久久777色| 亚洲妇熟xx妇色黄| 日韩免费高清电影| 精品亚洲国产成人av制服丝袜 | 成人在线视频首页| 日韩一区日韩二区| 欧美视频完全免费看| 日韩**一区毛片| 久久久久久久国产精品影院| 成人av小说网| 亚洲高清免费在线| 久久久久99精品一区| 色综合久久88色综合天天6| 亚洲小说春色综合另类电影| 日韩一区二区三区av| 成年人网站91| 婷婷久久综合九色综合绿巨人| 欧美一区二区三区四区久久| 国产成人高清视频| 偷拍自拍另类欧美| 国产欧美日韩视频一区二区| 91精品欧美综合在线观看最新| 国产专区综合网| 亚洲精品中文字幕乱码三区| 欧美一级一级性生活免费录像| 成人精品电影在线观看| 免费看欧美女人艹b| 亚洲天堂2014| www欧美成人18+| 在线观看区一区二| 国产成人精品免费| 捆绑紧缚一区二区三区视频| 亚洲三级理论片| 欧美成人欧美edvon| 欧美视频中文字幕| 99久久精品免费看国产| 国内精品嫩模私拍在线| 亚洲宅男天堂在线观看无病毒 | 51精品秘密在线观看| 91视频精品在这里| 国产精品自拍一区| 日韩成人午夜精品| 一区二区三区精品视频| 国产欧美日韩综合精品一区二区| 欧美区在线观看| 欧美四级电影在线观看| 97久久人人超碰| 国产91在线看| 韩国v欧美v日本v亚洲v| 免费人成在线不卡| 亚洲国产精品麻豆| 亚洲最快最全在线视频| 亚洲欧美一区二区三区国产精品| 国产视频亚洲色图| 久久久久久久久伊人| 久久综合五月天婷婷伊人| 91麻豆精品国产91| 欧美日韩精品高清| 欧美三级午夜理伦三级中视频| 色一情一乱一乱一91av| 暴力调教一区二区三区| 不卡视频在线观看| 99久久精品国产毛片| 91丨porny丨首页| eeuss鲁片一区二区三区| 成人福利电影精品一区二区在线观看| 国产精品77777竹菊影视小说| 国产精品一区久久久久| 国产91精品一区二区麻豆亚洲| 国产一二精品视频| 成人a级免费电影| 99天天综合性| 色噜噜狠狠色综合中国| 日本电影亚洲天堂一区| 欧美视频自拍偷拍| 日韩精品一区二区三区swag| 欧美不卡123| 欧美激情一区二区三区在线| 亚洲视频在线一区观看| 亚洲欧洲成人精品av97| 一区二区理论电影在线观看| 亚洲成人精品影院| 精品综合久久久久久8888| 激情亚洲综合在线| 成人av资源下载| 在线观看免费亚洲| 91精品国产福利| 国产亚洲美州欧州综合国| 亚洲欧洲无码一区二区三区| 亚洲高清免费观看高清完整版在线观看| 午夜精品久久久久| 国产一区二区三区电影在线观看| 高清视频一区二区| 欧美性大战xxxxx久久久| 欧美成人一区二区三区在线观看| 久久精品这里都是精品| 一区二区在线观看av| 免费在线观看一区二区三区| 成人高清视频在线观看| 欧美狂野另类xxxxoooo| 国产午夜精品福利| 一区二区三区 在线观看视频| 久久99日本精品| 91色九色蝌蚪| 亚洲精品一区二区精华| 亚洲黄色小说网站| 久久se这里有精品| 色女孩综合影院| www激情久久| 亚洲一区二区在线免费观看视频| 韩国成人福利片在线播放| 色婷婷精品大在线视频| 精品对白一区国产伦| 一区二区三区在线视频播放| 日韩电影网1区2区| 色狠狠色狠狠综合| 久久久久久久久久久电影| 亚洲国产cao| 91丨porny丨国产| 国产亚洲欧洲997久久综合 | 成人一级黄色片| 91精品在线观看入口| 亚洲视频在线一区| 国产成人综合精品三级| 欧美久久久一区| 日本伊人色综合网| 91久久精品网| 中文av一区二区| 国产高清精品网站| 欧美一区二区三区四区五区| 亚洲国产中文字幕在线视频综合| 福利视频网站一区二区三区| 日韩亚洲欧美在线| 午夜在线成人av| 在线观看国产精品网站| 亚洲欧洲av色图| 成人avav影音| 国产精品久久久久久久久久免费看| 久久99精品一区二区三区| 欧美日韩国产123区| 亚洲免费伊人电影| www.视频一区| 亚洲欧洲99久久| 成人av在线资源| 国产精品美日韩| 成人国产电影网| 亚洲视频在线一区二区| 91在线精品秘密一区二区| 国产精品欧美经典| 99国产精品一区| 一二三区精品福利视频| 欧洲精品在线观看| 亚洲成人久久影院| 欧美一区二区三区视频在线观看 |