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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? scktmain.pas

?? 在Midas數(shù)據(jù)庫(kù)編程中
?? PAS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
end;

procedure TSocketForm.SetItemIndex(Value: Integer);
var
  Selected: Boolean;
begin
  if (FCurItem <> Value) then
  try
    if ApplyAction.Enabled then ApplyAction.Execute;
  except
    PortList.ItemIndex := FCurItem;
    raise;
  end else
    Exit;
  if Value = -1 then Value := 0;
  PortList.ItemIndex := Value;
  FCurItem := PortList.ItemIndex;
  Selected := FCurItem <> -1;
  if Selected then
    with TSocketDispatcher(PortList.Items.Objects[FCurItem]) do
    begin
      PortUpDown.Position := Port;
      ThreadUpDown.Position := ThreadCacheSize;
      Self.InterceptGUID.Text := FInterceptGUID;
      TimeoutUpDown.Position := Timeout;
      ClearModifications;
    end;
  PortNo.Enabled := Selected;
  ThreadSize.Enabled := Selected;
  Timeout.Enabled := Selected;
  InterceptGUID.Enabled := Selected;
end;

function TSocketForm.GetSelectedSocket: TServerSocket;
begin
  Result := TServerSocket(PortList.Items.Objects[ItemIndex]);
end;

procedure TSocketForm.UIInitialize(var Message: TMessage);
begin
  Initialize(Message.WParam <> 0);
end;

procedure TSocketForm.Initialize(FromService: Boolean);

  function IE4Installed: Boolean;
  var
    RegKey: HKEY;
  begin
    Result := False;
    if RegOpenKey(HKEY_LOCAL_MACHINE, KEY_IE, RegKey) = ERROR_SUCCESS then
    try
      Result := RegQueryValueEx(RegKey, 'Version', nil, nil, nil, nil) = ERROR_SUCCESS;
    finally
      RegCloseKey(RegKey);
    end;
  end;

begin
  FFromService := FromService;
  NT351 := (Win32MajorVersion <= 3) and (Win32Platform = VER_PLATFORM_WIN32_NT);
  if NT351 then
  begin
    if not FromService then
      raise Exception.CreateRes(@SServiceOnly);
    BorderIcons := BorderIcons + [biMinimize];
    BorderStyle := bsSingle;
  end;
  ReadSettings;
  if FromService then
  begin
    miClose.Visible := False;
    N1.Visible := False;
  end;
  UpdateStatus;
  AddIcon;
  if IE4Installed then
    FTaskMessage := RegisterWindowMessage('TaskbarCreated') else
    UpdateTimer.Enabled := True;
end;

procedure TSocketForm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
var
  TimerEnabled: Boolean;
begin
  TimerEnabled := UpdateTimer.Enabled;
  UpdateTimer.Enabled := False;
  try
    CanClose := False;
    if ApplyAction.Enabled then ApplyAction.Execute;
    if FClosing and (not FFromService) and (ConnectionList.Items.Count > 0) then
    begin
      FClosing := False;
      if MessageDlg(SErrClose, mtConfirmation, [mbYes, mbNo], 0) <> idYes then
        Exit;
    end;
    WriteSettings;
    CanClose := True;
  finally
    if TimerEnabled and (not CanClose) then
      UpdateTimer.Enabled := True;
  end;
end;

procedure TSocketForm.FormDestroy(Sender: TObject);
var
  i: Integer;
begin
  UpdateTimer.Enabled := False;
  if not NT351 then
    Shell_NotifyIcon(NIM_DELETE, @FIconData);
  for i := 0 to PortList.Items.Count - 1 do
    PortList.Items.Objects[i].Free;
end;

procedure TSocketForm.AddIcon;
begin
  if not NT351 then
  begin
    with FIconData do
    begin
      cbSize := SizeOf(FIconData);
      Wnd := Self.Handle;
      uID := $DEDB;
      uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
      hIcon := Forms.Application.Icon.Handle;
      uCallbackMessage := WM_MIDASICON;
      StrCopy(szTip, PChar(Caption));
    end;
    Shell_NotifyIcon(NIM_Add, @FIconData);
  end;
end;

procedure TSocketForm.ReadSettings;
var
  Reg: TRegINIFile;

  procedure CreateItem(ID: Integer);
  var
    SH: TSocketDispatcher;
  begin
    SH := TSocketDispatcher.Create(nil);
    SH.ReadSettings(ID, Reg);
    PortList.Items.AddObject(IntToStr(SH.Port), SH);
    try
      SH.Open;
    except
      on E: Exception do
        raise Exception.CreateResFmt(@SOpenError, [SH.Port, E.Message]);
    end;
  end;

var
  Sections: TStringList;
  i: Integer;
begin
  Reg := TRegINIFile.Create('');
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.OpenKey(KEY_SOCKETSERVER, True);
    Sections := TStringList.Create;
    try
      Reg.ReadSections(Sections);
      if Sections.Count > 1 then
      begin
        for i := 0 to Sections.Count - 1 do
          if CompareText(Sections[i], csSettings) <> 0 then
            CreateItem(StrToInt(Sections[i]));
      end else
        CreateItem(-1);
      ItemIndex := 0;
      ShowHostAction.Checked := Reg.ReadBool(csSettings, ckShowHost, False);
      RegisteredAction.Checked := Reg.ReadBool(csSettings, ckRegistered, True);
    finally
      Sections.Free;
    end;
  finally
    Reg.Free;
  end;
end;

procedure TSocketForm.WriteSettings;
var
  Reg: TRegINIFile;
  Sections: TStringList;
  i: Integer;
begin
  Reg := TRegINIFile.Create('');
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.OpenKey(KEY_SOCKETSERVER, True);
    Sections := TStringList.Create;
    try
      Reg.ReadSections(Sections);
      for i := 0 to Sections.Count - 1 do
        TRegistry(Reg).DeleteKey(Sections[i]);
    finally
      Sections.Free;
    end;
    for i := 0 to PortList.Items.Count - 1 do
      TSocketDispatcher(PortList.Items.Objects[i]).WriteSettings(Reg);
    Reg.WriteBool(csSettings, ckShowHost, ShowHostAction.Checked);
    Reg.WriteBool(csSettings, ckRegistered, RegisteredAction.Checked);
  finally
    Reg.Free;
  end;
end;

procedure TSocketForm.miCloseClick(Sender: TObject);
begin
  FClosing := True;
  Close;
end;

procedure TSocketForm.WMMIDASIcon(var Message: TMessage);
var
  pt: TPoint;
begin
  case Message.LParam of
    WM_RBUTTONUP:
    begin
      if not Visible then
      begin
        SetForegroundWindow(Handle);
        GetCursorPos(pt);
        PopupMenu.Popup(pt.x, pt.y);
      end else
        SetForegroundWindow(Handle);
    end;
    WM_LBUTTONDBLCLK:
      if Visible then
        SetForegroundWindow(Handle) else
        miPropertiesClick(nil);
  end;
end;

procedure TSocketForm.miPropertiesClick(Sender: TObject);
begin
  ShowModal;
end;

procedure TSocketForm.FormShow(Sender: TObject);
begin
  Pages.ActivePage := Pages.Pages[0];
end;

procedure TSocketForm.UpdateStatus;
begin
  UserStatus.SimpleText := Format(SStatusLine,[ConnectionList.Items.Count]);
end;

procedure TSocketForm.AddClient(Thread: TServerClientThread);
var
  Item: TListItem;
begin
  Item := ConnectionList.Items.Add;
  Item.Caption := IntToStr(Thread.ClientSocket.LocalPort);
  Item.SubItems.Add(Thread.ClientSocket.RemoteAddress);
  if ShowHostAction.Checked then
  begin
    Item.SubItems.Add(Thread.ClientSocket.RemoteHost);
    if Item.SubItems[1] = '' then Item.SubItems[1] := SHostUnknown;
  end else
    Item.SubItems.Add(SNotShown);
  if Thread is TSocketDispatcherThread then
    Item.SubItems.Add(DateTimeToStr(TSocketDispatcherThread(Thread).LastActivity));
  Item.Data := Pointer(Thread);
  UpdateStatus;
end;

procedure TSocketForm.RemoveClient(Thread: TServerClientThread);
var
  Item: TListItem;
begin
  Item := ConnectionList.FindData(0, Thread, True, False);
  if Assigned(Item) then Item.Free;
  UpdateStatus;
end;

procedure TSocketForm.miDisconnectClick(Sender: TObject);
var
  i: Integer;
begin
  if MessageDlg(SQueryDisconnect, mtConfirmation, [mbYes, mbNo], 0) = mrNo then
    Exit;
  with SelectedSocket.Socket do
  begin
    Lock;
    try
      for i := 0 to ConnectionList.Items.Count - 1 do
        with ConnectionList.Items[i] do
          if Selected then
            TServerClientThread(Data).ClientSocket.Close;
    finally
      Unlock;
    end;
  end;
end;

procedure TSocketForm.miExitClick(Sender: TObject);
begin
  CheckValues;
  ModalResult := mrOK;
end;

procedure TSocketForm.ApplyActionExecute(Sender: TObject);
begin
  with TSocketDispatcher(SelectedSocket) do
  begin
    if Socket.ActiveConnections > 0 then
      if MessageDlg(SErrChangeSettings, mtConfirmation, [mbYes, mbNo], 0) = idNo then
        Exit;
    Close;
    Port := StrToInt(PortNo.Text);
    PortList.Items[ItemIndex] := PortNo.Text;
    ThreadCacheSize := StrToInt(ThreadSize.Text);
    InterceptGUID := Self.InterceptGUID.Text;
    Timeout := StrToInt(Self.Timeout.Text);
    Open;
  end;
  ClearModifications;
end;

procedure TSocketForm.ApplyActionUpdate(Sender: TObject);
begin
  ApplyAction.Enabled := PortNo.Modified or ThreadSize.Modified or
    Timeout.Modified or InterceptGUID.Modified;
end;

procedure TSocketForm.ClearModifications;
begin
  PortNo.Modified  := False;
  ThreadSize.Modified := False;
  Timeout.Modified := False;
  InterceptGUID.Modified := False;
end;

procedure TSocketForm.DisconnectActionUpdate(Sender: TObject);
begin
  DisconnectAction.Enabled := ConnectionList.SelCount > 0;
end;

procedure TSocketForm.ShowHostActionExecute(Sender: TObject);
var
  i: Integer;
  Item: TListItem;
begin
  ShowHostAction.Checked := not ShowHostAction.Checked;
  ConnectionList.Items.BeginUpdate;
  try
    for i := 0 to ConnectionList.Items.Count - 1 do
    begin
      Item := ConnectionList.Items[i];
      if ShowHostAction.Checked then
      begin
        Item.SubItems[1] := TServerClientThread(Item.Data).ClientSocket.RemoteHost;
        if Item.SubItems[1] = '' then Item.SubItems[1] := SHostUnknown;
      end else
        Item.SubItems[1] := SNotShown;
    end;
  finally
    ConnectionList.Items.EndUpdate;
  end;
end;

procedure TSocketForm.miAddClick(Sender: TObject);
var
  SD: TSocketDispatcher;
  Idx: Integer;
begin
  CheckValues;
  SD := TSocketDispatcher.Create(nil);
  SD.Port := PortUpDown.Position + 1;
  PortUpDown.Position := SD.Port;
  Idx := PortList.Items.AddObject(PortNo.Text,SD);
  PortNo.Modified := True;
  ItemIndex := Idx;
  Pages.ActivePage := Pages.Pages[0];
  PortNo.SetFocus;
end;

procedure TSocketForm.RemovePortActionUpdate(Sender: TObject);
begin
  RemovePortAction.Enabled := (PortList.Items.Count > 1) and (ItemIndex <> -1);
end;

procedure TSocketForm.RemovePortActionExecute(Sender: TObject);
begin
  CheckValues;
  PortList.Items.Objects[ItemIndex].Free;
  PortList.Items.Delete(ItemIndex);
  FCurItem := -1;
  ItemIndex := 0;
end;

procedure TSocketForm.UpDownClick(Sender: TObject; Button: TUDBtnType);
begin
  ((Sender as TUpDown).Associate as TEdit).Modified := True;
end;

procedure TSocketForm.PortListClick(Sender: TObject);
begin
  ItemIndex := PortList.ItemIndex;
end;

procedure TSocketForm.ConnectionListCompare(Sender: TObject; Item1,
  Item2: TListItem; Data: Integer; var Compare: Integer);
begin
  if Data = -1 then
    Compare := AnsiCompareText(Item1.Caption, Item2.Caption) else
    Compare := AnsiCompareText(Item1.SubItems[Data], Item2.SubItems[Data]);
end;

procedure TSocketForm.ConnectionListColumnClick(Sender: TObject;
  Column: TListColumn);
begin
  FSortCol := Column.Index - 1;
  ConnectionList.CustomSort(nil, FSortCol);
end;

procedure TSocketForm.IntegerExit(Sender: TObject);
begin
  try
    StrToInt(PortNo.Text);
  except
    ActiveControl := PortNo;
    raise;
  end;
end;

procedure TSocketForm.RegisteredActionExecute(Sender: TObject);
begin
  RegisteredAction.Checked := not RegisteredAction.Checked;
  ShowMessage(SNotUntilRestart);
end;

procedure TSocketForm.AllowXMLExecute(Sender: TObject);
begin
  AllowXML.Checked := not AllowXML.Checked;
end;

procedure TSocketForm.About2Click(Sender: TObject);
begin
{
  ShowMessage('This Software is no original from borland, this is a beta version'#13 +
              'Please if you get erros send report to Manuel Parma mparma@usa.net'#13 +
              'Disclaimer: This program is provided "as is"! only for testing.'#13 +
              'The author takes no responsibility for use or misuse of this program. Use the program at your own risk.'#13 +
              'The code and text in this program is not associated with Borland.'#13 +
              'License: The program may not be distributed, as it is bound by the terms and conditions of Borland product license.'#13 +
              'Manuel Parma mparma@usa.net'#13'2002-07-05');     }
end;

procedure TSocketForm.FormActivate(Sender: TObject);
begin
  About2Click(sender);
end;

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久免费观看| 精品国产乱码久久久久久闺蜜| 91精品国产综合久久精品麻豆| 国产欧美一区二区精品秋霞影院| 午夜日韩在线电影| 97精品国产露脸对白| 2020国产成人综合网| 视频在线观看91| 91在线视频官网| 国产欧美日韩精品一区| 麻豆精品在线播放| 欧美视频一区二| 亚洲日韩欧美一区二区在线| 国产91精品欧美| 精品国精品自拍自在线| 日韩高清一区在线| 欧美在线免费视屏| 综合久久久久综合| 成人午夜视频福利| 久久免费偷拍视频| 久久99精品国产91久久来源| 在线播放亚洲一区| 亚洲综合一二区| 色婷婷久久99综合精品jk白丝| 国产色综合久久| 极品少妇xxxx偷拍精品少妇| 欧美一区二区高清| 日韩综合在线视频| 欧美视频一区在线观看| 亚洲最大成人综合| 色综合久久中文综合久久97| 国产精品国产自产拍高清av王其| 国产在线精品一区二区夜色| 日韩视频免费观看高清完整版| 午夜视黄欧洲亚洲| 在线电影国产精品| 视频一区中文字幕| 欧美一三区三区四区免费在线看| 五月婷婷综合在线| 欧美日韩激情一区二区三区| 亚洲电影一级黄| 欧美日韩久久久| 亚洲成av人**亚洲成av**| 精品视频全国免费看| 亚洲综合视频网| 欧美三级视频在线播放| 丝袜亚洲另类欧美| 欧美一区二区播放| 精品中文av资源站在线观看| 久久久久国产精品麻豆ai换脸| 国产在线播放一区| 国产视频一区二区在线| 成人激情文学综合网| 最近中文字幕一区二区三区| 日本乱人伦aⅴ精品| 亚洲美女免费在线| 欧美性大战xxxxx久久久| 调教+趴+乳夹+国产+精品| 欧美一区二区三区喷汁尤物| 国内久久精品视频| 中文字幕第一区| 色婷婷av一区二区三区软件 | 欧美色老头old∨ideo| 亚洲综合在线第一页| 欧美一区在线视频| 国产乱子伦一区二区三区国色天香| 久久蜜桃香蕉精品一区二区三区| 国产盗摄视频一区二区三区| 日韩码欧中文字| 欧美精品乱人伦久久久久久| 精品一区二区三区日韩| 国产精品私房写真福利视频| 91免费看`日韩一区二区| 亚洲1区2区3区4区| 精品国产精品网麻豆系列| 成人午夜激情影院| 亚洲一区二区3| 欧美成人一区二区三区在线观看| 成人综合在线观看| 亚洲香肠在线观看| 久久综合网色—综合色88| 91亚洲午夜精品久久久久久| 婷婷成人激情在线网| 国产日韩欧美高清在线| 欧美性猛片aaaaaaa做受| 国内精品伊人久久久久影院对白| 亚洲三级久久久| 欧美不卡一区二区三区| 97aⅴ精品视频一二三区| 日韩电影在线免费看| 中文成人av在线| 91精品国产乱| 99综合影院在线| 日韩av在线发布| 国产精品久久久久影院色老大| 欧美日韩中文字幕一区| 国产成人福利片| 亚洲成人av在线电影| 亚洲国产成人私人影院tom| 欧美日韩成人激情| 成人一道本在线| 日韩国产精品91| 亚洲精品国产成人久久av盗摄| 日韩视频免费观看高清完整版 | 91精品国产综合久久香蕉麻豆| 国产河南妇女毛片精品久久久| 亚洲国产精品久久一线不卡| 久久久精品国产99久久精品芒果| 欧美日韩视频在线第一区 | 久久精品999| 亚洲欧美日韩国产成人精品影院| 日韩精品一区二区在线观看| 91在线视频观看| 国产传媒久久文化传媒| 亚洲一区二区高清| 中文字幕一区二区视频| 亚洲精品一区二区三区福利| 欧美日韩精品电影| 91视频在线观看| 国产精品中文字幕日韩精品| 亚洲3atv精品一区二区三区| 国产精品电影一区二区| 亚洲精品一区二区三区四区高清| 欧美猛男超大videosgay| 99精品国产热久久91蜜凸| 国产中文字幕精品| 轻轻草成人在线| 亚洲国产aⅴ天堂久久| 亚洲三级在线观看| 中文字幕 久热精品 视频在线| 欧美成人国产一区二区| 欧美三级中文字幕在线观看| 日本道精品一区二区三区| 成人sese在线| 国产不卡高清在线观看视频| 久草中文综合在线| 蜜桃视频一区二区三区| 日日骚欧美日韩| 亚州成人在线电影| 亚洲一二三区视频在线观看| 亚洲欧美激情在线| 中文字幕在线观看不卡视频| 亚洲国产精品ⅴa在线观看| 久久精品在线免费观看| 久久这里都是精品| 欧美精品一区二区高清在线观看| 日韩一区二区三区在线| 91麻豆精品国产综合久久久久久| 欧美日韩精品一区二区三区四区 | 日韩欧美黄色影院| 正在播放一区二区| 欧美一区二区三区在| 91麻豆精品国产91久久久久| 欧美日韩国产小视频在线观看| 在线观看欧美日本| 在线观看成人免费视频| 欧美中文字幕一区二区三区 | 国产 欧美在线| 粉嫩嫩av羞羞动漫久久久| 国产91精品久久久久久久网曝门| 丁香啪啪综合成人亚洲小说| 成人网男人的天堂| 成人av先锋影音| 97久久精品人人爽人人爽蜜臀| 色综合久久综合| 欧美私模裸体表演在线观看| 欧美久久久久久久久中文字幕| 欧美日韩亚洲国产综合| 91精品国产黑色紧身裤美女| 日韩一本二本av| 精品国产凹凸成av人网站| 久久在线观看免费| 国产精品免费看片| 亚洲激情中文1区| 视频一区视频二区中文| 久久国产生活片100| 国产黄人亚洲片| 91亚洲精品久久久蜜桃网站| 欧美中文字幕一区| 欧美夫妻性生活| 精品av久久707| 国产精品美女久久久久久2018| 亚洲视频资源在线| 亚洲午夜激情网站| 另类综合日韩欧美亚洲| 国产精品一区二区久久精品爱涩| 成人在线视频一区| 在线观看成人小视频| 日韩视频一区二区三区在线播放| 国产视频一区在线播放| 亚洲婷婷综合色高清在线| 图片区小说区国产精品视频| 国产综合色产在线精品| 色综合久久久久久久久久久| 欧美日本精品一区二区三区| 欧美mv和日韩mv的网站| 国产精品网友自拍| 午夜精品在线看| 国产精品99久久久久久宅男| 色狠狠桃花综合|