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

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

?? itigoptions.pas

?? autoupdate 1.02 source code
?? PAS
字號:
unit itigoptions;

interface

uses PostFile, Classes, wininet;

const
   DEFAULT_PORT = 0;
   SERVER = 'itig.it.swin.edu.au';

const SU_NO_CONNECTION = 'There is no connection available. Please connect to the internet and try again.';


const REG_APP = 'itig\autoupdate';
const REG_SERVER = 'HostName';
const REG_LAN = 'LAN';
const REG_ALWAYS_DIALUP = 'ADU';
const REG_LOW_SEC = 'unknownCA';

const REG_PR_USE_IE = 'prIE';
const REG_PR_ADDR = 'prAddr';
const REG_PR_PORT = 'prPort';
const REG_PR_LOGIN = 'prLogin';
const REG_PR_USER = 'prUser';
const REG_PR_HPASS = 'prHPass';
const REG_PR_PASS = 'prPass';

const REG_UID_PWD_PRE = 'pw_';
const REG_UID_SEC_PRE = 'sc_';
const REG_UID_SEC_1_PRE = 'scu_';

const PRKN_TIME_EST = 'Estimated time remaining ';

type
   TNoRefInterface = class(TObject, IUnknown)
    function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
    function _AddRef: Integer; stdcall;
    function _Release: Integer; stdcall;
   end;

   TGetProxyFunction = procedure(var AlwaysConnected : Boolean;
                                 var AlwaysConnect : Boolean;
                                 var UsingIESettings : Boolean;
                                 var ProxyAddress : String;
                                 var ProxyPort : Integer;
                                 var UsingProxyLogin : Boolean;
                                 var ProxyUsername : String;
                                 var UsingProxyPassword : Boolean;
                                 var ProxyPassword : String ) of object;


   TItigOptions = class(TNoRefInterface, IPostFileOptions)
   private

      //Internet Options
      ivAlwaysConnected: Boolean;
      ivAlwaysConnect: Boolean;
      ivUsingIESettings: Boolean;
      ivProxyAddress: String;
      ivProxyPort: Integer;
      ivUsingProxyLogin: Boolean;
      ivProxyPasswordNeeded: Boolean;
      ivProxyUsername: String;
      ivProxyPassword: String;

      ivHangup: Boolean;

      ivSSLStrength: String;

      Internet : HINTERNET;
   public

      HttpServerName : String;
      HttpServerPort : Integer;
      HttpServerSecure : Boolean;
      HttpServerSecureDebug : Boolean;
      HttpConnectUploadScript : String;
      HttpConnectDownloadScript : String;
      HttpScriptName : String;
      LowSecurity : Boolean;

      ServerVersion : Integer;
      ApplicationName : String;
      CurrentVersion : String;
      VersionNumber : Integer;
      Readme : String;

      Available : Boolean;
      DownloadedFile : String;
      GetProxyMethod : TGetProxyFunction;

      constructor Create;
      procedure SetURL(URL : String);

      // IPostFileOptions
      function GetUserAgent : String;
      function GetHostName : String;
      function GetPortNumber : Integer;
      function GetHttps : Boolean;
      function GetAllowWrongProperName : Boolean;
      function GetAllowExpiredCertificate : Boolean;
      function GetAllowUnknownCA : Boolean;

      //
      function GetTempPath : String;
      function GetScriptName : String;

      //Save Procedures

      procedure LoadInternet;
      procedure SaveInternet;

      //Internet Settings
      function isAlwaysConnected: Boolean;
      procedure setAlwaysConnected(b: Boolean);
      property AlwaysConnected: Boolean read isAlwaysConnected write setAlwaysConnected;

      function hasAlwaysConnect: Boolean;
      procedure setAlwaysConnect(b:Boolean);
      property AlwaysConnect: Boolean read hasAlwaysConnect write setAlwaysConnect;

      function isUsingIESettings: Boolean;
      procedure setUsingIESettings(b:boolean);
      property UsingIESettings: Boolean read isUsingIESettings write setUsingIESettings;

      function getProxyAddress: String;
      procedure setProxyAddress(pa: String);
      property ProxyAddress: String read getProxyAddress write SetProxyAddress;

      function GetProxyPort: Integer;
      procedure SetProxyPort(pp: Integer);
      property ProxyPort: Integer read GetProxyPort write SetProxyPort;

      function isUsingProxyLogin: Boolean;
      procedure setUsingProxyLogin(b:boolean);
      property UsingProxyLogin: Boolean read isUsingProxyLogin write setUsingProxyLogin;

      function isProxyPasswordNeeded: Boolean;
      procedure setProxyPasswordNeeded(b:boolean);
      property UsingProxyPassword: boolean read isProxyPasswordNeeded write setProxyPasswordNeeded;

      function getProxyUsername: String;
      procedure setProxyUsername(pu: String);
      property ProxyUsername: String read getProxyUserName write SetProxyUsername;

      function getProxyPassword: String;
      procedure setProxyPassword(pp: String);
      property ProxyPassword: String read getProxyPassword write SetProxyPassword;

      procedure setHangup(b: Boolean);
      function isHangup: Boolean;
      property Hangup: Boolean read isHangup write setHangup;

      Property SSLStrength: String Read ivSSLStrength Write ivSSLStrength;
      procedure setSSLStrength(Strength : Integer);

      function GetInternetHandle : HINTERNET;
      procedure SetInternetHandle(h : HINTERNET);

   end;

implementation

uses Windows, URegEdit, Forms, SysUtils;

function TNoRefInterface.QueryInterface(const IID: TGUID; out Obj): HResult;
const
  E_NOINTERFACE = HResult($80004002);
begin
  if GetInterface(IID, Obj) then Result := 0 else Result := E_NOINTERFACE;
end;

function TNoRefInterface._AddRef: Integer; stdcall;
begin
   Result := 1;
end;

function TNoRefInterface._Release: Integer; stdcall;
begin
   Result := 1;
end;


constructor TItigOptions.Create;
var
   Prefix : String;
begin

   HttpServerName := SERVER;
   HttpServerPort := DEFAULT_PORT;
   HttpServerSecure := False;
   HttpServerSecureDebug := True;
   LowSecurity := False;

   //Prefix := '/~jn/server/';
   Prefix := '/~itig/';
   HttpScriptName := Prefix + 'autoupdate.php';

   SSLStrength := 'Unknown';

   LoadInternet;

   Internet := nil;
end;

function TItigOptions.GetUserAgent : String;
begin
   Result := 'ITIG AutoUpgrade Agent (MSIE)';
end;


function TItigOptions.GetPortNumber : Integer;
begin
   if HttpServerPort = DEFAULT_PORT then
   begin
      if HttpServerSecure then
      begin
         Result := INTERNET_DEFAULT_HTTPS_PORT;
      end
      else
      begin
         Result := INTERNET_DEFAULT_HTTP_PORT;
      end;
   end
   else
   begin
      Result := HttpServerPort;
   end;
end;

function TItigOptions.GetHostName : String;
begin
   Result := HttpServerName;
end;

function TItigOptions.GetHttps : Boolean;
begin
   Result := HttpServerSecure;
end;

function TItigOptions.GetAllowWrongProperName : Boolean;
begin
   Result := HttpServerSecureDebug;
end;

function TItigOptions.GetAllowExpiredCertificate : Boolean;
begin
   Result := HttpServerSecureDebug;
end;

function TItigOptions.GetAllowUnknownCA : Boolean;
begin
   Result := LowSecurity;
end;

// this could check the available free space and pick another
// disk if necessary.
function TItigOptions.GetTempPath : String;
var
   L : Integer;
begin
   L := 256;
   SetLength(Result, L);
   L := Windows.GetTempPath(L, PChar(Result));
   SetLength(Result, L);
end;

function TItigOptions.GetScriptName : String;
begin
   Result := HttpScriptName;
end;

procedure TItigOptions.setSSLStrength(Strength : Integer);
begin
   if (Strength and SECURITY_FLAG_STRENGTH_STRONG) = SECURITY_FLAG_STRENGTH_STRONG then
   begin
      SSLStrength := '128 bit';
   end
   else if (Strength and SECURITY_FLAG_STRENGTH_MEDIUM) = SECURITY_FLAG_STRENGTH_MEDIUM then
   begin
      SSLStrength := '56 bit';
   end
   else if (Strength and SECURITY_FLAG_STRENGTH_WEAK) = SECURITY_FLAG_STRENGTH_WEAK then
   begin
      SSLSTrength := '40 bit';
   end
   else
   begin
      SSLStrength := 'Unknown';
   end;
end;

function TItigOptions.isAlwaysConnected: Boolean;
begin
   Result := ivAlwaysConnected;
end;

procedure TItigOptions.setAlwaysConnected(b: Boolean);
begin
   ivAlwaysConnected := b;
end;

function TItigOptions.hasAlwaysConnect: Boolean;
begin
   Result := ivAlwaysConnect;
end;

procedure TItigOptions.setAlwaysConnect(b:Boolean);
begin
   ivAlwaysConnect := b;
end;

function TItigOptions.isUsingIESettings: Boolean;
begin
   Result := ivUsingIESettings;
end;

procedure TItigOptions.setUsingIESettings(b:boolean);
begin
   ivUsingIESettings := b;
end;

function TItigOptions.GetProxyAddress: String;
begin
   Result := ivProxyAddress;
end;

procedure TItigOptions.SetProxyAddress(pa: String);
begin
   ivProxyAddress := pa;
end;

function TItigOptions.GetProxyPort: Integer;
begin
   Result := ivProxyPort;
end;

procedure TItigOptions.SetProxyPort(pp :Integer);
begin
   ivProxyPort := pp;
end;


function TItigOptions.isUsingProxyLogin: Boolean;
begin
   Result := ivUsingProxyLogin;
end;

procedure TItigOptions.setUsingProxyLogin(b:boolean);
begin
   ivUsingProxyLogin := b;
end;

function TItigOptions.isProxyPasswordNeeded: Boolean;
begin
   Result := ivProxyPasswordNeeded;
end;

procedure TItigOptions.setProxyPasswordNeeded(b:boolean);
begin
   ivProxyPasswordNeeded := b;
end;

function TItigOptions.getProxyUsername: String;
begin
   Result := ivProxyUSername;
end;

procedure TItigOptions.SetProxyUsername(pu: String);
begin
   ivProxyUsername := pu;
end;

function TItigOptions.getProxyPassword: String;
begin
   result := ivProxyPassword;
end;

procedure TItigOptions.SetProxyPassword(pp: String);
begin
   ivProxyPassword := pp;
end;

procedure TItigOptions.SaveInternet;
var
   reg: TRegEdit;
begin
   reg := TRegEdit.Create;

   try
      reg.AppName := REG_APP;

      //Internet Settings
      reg.WriteSetting(REG_SERVER, GetHostName);
      reg.WriteSetting(REG_LAN, AlwaysConnected);
      reg.WriteSetting(REG_ALWAYS_DIALUP, AlwaysConnect);

      //Proxy Settings
      reg.WriteSetting(REG_PR_USE_IE, UsingIESettings);
      reg.WriteSetting(REG_PR_ADDR, ProxyAddress);
      reg.WriteSetting(REG_PR_PORT, ProxyPort);
      reg.WriteSetting(REG_PR_LOGIN, UsingProxyLogin);
      reg.WriteSetting(REG_PR_USER, ProxyUsername);
      reg.WriteSetting(REG_PR_HPASS, UsingProxyPassword);
      reg.WriteSetting(REG_PR_PASS, ProxyPassword);

      reg.WriteSetting(REG_LOW_SEC, LowSecurity);
   finally
      reg.Free;
   end;
end;

procedure TItigOptions.LoadInternet;
var
   reg: TRegEdit;
begin

   reg := TRegEdit.Create;
   try
      reg.AppName := REG_APP;

      //Internet Settings
//      HttpServerName   := reg.ReadString(REG_SERVER, SERVER);
      AlwaysConnected  := reg.ReadBoolean(REG_LAN, False);
      AlwaysConnect    := reg.ReadBoolean(REG_ALWAYS_DIALUP, False);

      //Proxy Settings
      UsingIESettings    := reg.ReadBoolean(REG_PR_USE_IE, True );
      ProxyAddress       := reg.ReadString(REG_PR_ADDR, '' );
      ProxyPort          := reg.ReadInteger(REG_PR_PORT, 0 );
      UsingProxyLogin    := reg.ReadBoolean(REG_PR_LOGIN, False );
      ProxyUsername      := reg.ReadString(REG_PR_USER, '' );
      UsingProxyPassword := reg.ReadBoolean(REG_PR_HPASS, False );
      ProxyPassword      := reg.ReadString(REG_PR_PASS, '' );

      LowSecurity := True;

      if Assigned(GetProxyMethod) then
      begin
         GetProxyMethod(ivAlwaysConnected,
                        ivAlwaysConnect,
                        ivUsingIESettings,
                        ivProxyAddress,
                        ivProxyPort,
                        ivUsingProxyLogin,
                        ivProxyUsername,
                        ivProxyPasswordNeeded,
                        ivProxyPassword);
      end;
   finally
      reg.Free;
   end;
end;

procedure TItigOptions.setHangup(b: Boolean);
begin
   ivHangup := b;
end;

function TItigOptions.isHangup: Boolean;
begin
   Result := ivHangup;
end;

function TItigOptions.GetInternetHandle : HINTERNET;
begin
   Result := Internet;
end;

procedure TItigOptions.SetInternetHandle(h : HINTERNET);
begin
   Internet := h;
end;

procedure TItigOptions.SetURL(URL : String);
var
   p : Integer;
   p2 : Integer;
begin
   // chop up the url and work out the
   // protocol (http or https)
   // the hostname
   // the port number (optional)
   // the location
   // <protocol>://<hostname>[:<port>]/<location>

   if Pos('https://', URL) = 1 then
   begin
      HttpServerSecure := True;
      Delete(URL, 1, 8);
      HttpServerPort := DEFAULT_PORT;
   end
   else if Pos('http://', URL) = 1 then
   begin
      HttpServerSecure := False;
      Delete(URL, 1, 7);
      HttpServerPort := DEFAULT_PORT;
   end
   else
   begin
      // error
      exit;
   end;

   p := Pos('/', URL);
   p2 := Pos(':', URL);
   if (p2 > 0) and (p > p2) then
   begin
      // get the port number
      HttpServerName := Copy(URL, 1, p2 - 1);
      Delete(URL, 1, p2);
      p := Pos('/', URL);
      HttpServerPort := StrToIntDef(Copy(URL, 1, p - 1), HttpServerPort);
      Delete(URL, 1, p - 1);
   end
   else
   begin
      // just get the host name
      HttpServerName := Copy(URL, 1, p - 1);
      Delete(URL, 1, p - 1);
   end;

   HttpScriptName := URL;
end;


end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av电影天堂| 在线视频中文字幕一区二区| 99久久精品国产观看| 欧美日韩中字一区| 国产精品视频观看| 欧美bbbbb| 91精彩视频在线观看| 国产亚洲欧美色| 日韩 欧美一区二区三区| 99视频一区二区| 精品国产区一区| 秋霞电影一区二区| 91电影在线观看| 中文字幕一区不卡| 国产69精品久久777的优势| 69堂精品视频| 亚洲一二三四久久| av在线不卡电影| 国产精品天天看| 国产成人免费视频精品含羞草妖精 | 久久久久久久性| 日韩国产欧美三级| 欧美精品在欧美一区二区少妇| 亚洲日本青草视频在线怡红院| 国产精品一区二区免费不卡| 欧美精品一区二区三区很污很色的| 舔着乳尖日韩一区| 在线综合视频播放| 日韩精品每日更新| 欧美一级二级三级蜜桃| 日产欧产美韩系列久久99| 欧美二区乱c少妇| 日产精品久久久久久久性色| 日韩一区二区三区在线观看| 日本va欧美va瓶| 久久亚洲捆绑美女| 国产成人在线色| 成人免费在线播放视频| 色菇凉天天综合网| 午夜精品久久久久久久99樱桃| 欧美另类久久久品| 久久国产视频网| 中国av一区二区三区| 色综合久久久久| 一区二区三区日韩欧美| 欧美日韩久久久久久| 欧美aaaaaa午夜精品| 国产婷婷精品av在线| av不卡一区二区三区| 伊人一区二区三区| 91精品国产综合久久福利软件| 久久精品国产一区二区三区免费看| 精品国产乱码久久久久久浪潮 | 欧美在线一二三四区| 综合色天天鬼久久鬼色| 欧美色倩网站大全免费| 美女视频免费一区| 中日韩免费视频中文字幕| 在线免费观看日本欧美| 秋霞影院一区二区| 中文字幕一区二区在线播放| 91黄色在线观看| 精品一区二区三区在线视频| 国产精品天美传媒| 欧美高清激情brazzers| 国产91精品久久久久久久网曝门| 一区二区欧美视频| 日韩一区二区在线观看| 97se狠狠狠综合亚洲狠狠| 天天色图综合网| 国产精品美日韩| 日韩视频在线观看一区二区| 91免费看片在线观看| 青青青伊人色综合久久| 亚洲欧美福利一区二区| 精品国产百合女同互慰| 日本道精品一区二区三区| 韩国理伦片一区二区三区在线播放 | 精品欧美一区二区久久| 日本道在线观看一区二区| 国模少妇一区二区三区| 性做久久久久久免费观看欧美| 欧美激情艳妇裸体舞| 日韩美女在线视频| 欧美专区日韩专区| 粉嫩aⅴ一区二区三区四区 | 欧美电影免费观看完整版| 色88888久久久久久影院野外| 黑人精品欧美一区二区蜜桃| 亚洲国产日日夜夜| 亚洲欧洲日本在线| 欧美激情一区在线| 欧美大胆一级视频| 欧美人伦禁忌dvd放荡欲情| 色综合天天综合给合国产| 国产成a人亚洲精品| 久久精品国产亚洲高清剧情介绍 | 粉嫩嫩av羞羞动漫久久久| 日日夜夜免费精品视频| 亚洲午夜精品一区二区三区他趣| 久久久久国产精品免费免费搜索| 日韩视频在线一区二区| 91精品国产色综合久久ai换脸| 欧美日韩一级视频| 欧美手机在线视频| 91豆麻精品91久久久久久| 99精品视频一区二区三区| 国产成人av在线影院| 国产精品99久久久| 国产精品77777竹菊影视小说| 激情五月婷婷综合| 精品一区二区三区免费播放| 久久国产尿小便嘘嘘尿| 国产在线一区二区综合免费视频| 另类小说图片综合网| 日本vs亚洲vs韩国一区三区| 美女网站色91| 国产精品一区久久久久| 懂色av一区二区在线播放| 国产成人综合自拍| 不卡一区在线观看| 91在线观看美女| 欧美日韩国产一区二区三区地区| 欧美高清性hdvideosex| 欧美一区二区视频在线观看2020| 欧美一区二区三区小说| 26uuu国产日韩综合| 国产亚洲精品超碰| 亚洲欧美日韩国产另类专区| 亚洲一区免费视频| 蜜臀国产一区二区三区在线播放| 国内精品免费**视频| av高清久久久| 在线这里只有精品| 日韩欧美黄色影院| 国产精品午夜春色av| 亚洲一区二区四区蜜桃| 美日韩一区二区三区| 国产91色综合久久免费分享| 91网上在线视频| 欧美日本在线看| 国产婷婷色一区二区三区| 亚洲激情在线激情| 国内精品久久久久影院色| 成人黄色777网| 欧美日韩五月天| 国产日本一区二区| 一区二区三区美女| 经典一区二区三区| 色婷婷狠狠综合| wwww国产精品欧美| 一区二区久久久久| 国产精品99久久久久久久vr| 色乱码一区二区三区88| www成人在线观看| 亚洲一区二区三区国产| 国产成人aaa| 欧美一区二区三区爱爱| 亚洲视频电影在线| 久久精品国产第一区二区三区| 99免费精品在线观看| 日韩欧美黄色影院| 亚洲伊人色欲综合网| 成人av电影在线| 欧美va亚洲va| 日韩精品欧美精品| 91猫先生在线| 国产欧美精品一区二区三区四区 | 欧美一级日韩免费不卡| 国产精品福利av| 国内久久婷婷综合| 欧美一区三区二区| 亚洲影院久久精品| av一区二区久久| 日本一区二区三级电影在线观看| 免费看日韩精品| 欧美日韩国产影片| 亚洲国产日韩在线一区模特| 99国产精品国产精品久久| 国产视频911| 国产一区二区三区四区在线观看| 69av一区二区三区| 亚洲在线免费播放| 91国产视频在线观看| 亚洲欧洲日韩一区二区三区| 成人免费观看男女羞羞视频| 国产日韩精品一区二区三区| 黄网站免费久久| 久久影院视频免费| 国产毛片一区二区| 国产喂奶挤奶一区二区三区| 国产呦萝稀缺另类资源| 日韩免费一区二区| 乱中年女人伦av一区二区| 欧美成人乱码一区二区三区| 久久国产精品免费| 337p日本欧洲亚洲大胆精品 | 青青草国产成人99久久| 91精品国产美女浴室洗澡无遮挡| 日韩精品成人一区二区在线|