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

📄 uiforms.pas

📁 delphi完成端口Socks例子,纯Delphi做的
💻 PAS
字号:
unit UIForms;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, RzListVw, RzTabs, UDSocks, StdCtrls, RzLabel, RzButton,
  Mask, RzEdit;

type
  TForm1 = class(TForm)
    RzPageControl1: TRzPageControl;
    RzTabSheet1: TRzTabSheet;
    RzTabSheet2: TRzTabSheet;
    RzListView1: TRzListView;
    RzListView2: TRzListView;
    procedure RzListView2DblClick(Sender: TObject);
  private
    FService: TService;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

constructor TForm1.Create(AOwner: TComponent);
var
  I: Integer;
  Site: TSite;
begin
  inherited;
  FService := TService.Create;
  if FService.Sites <> nil then
  begin
    for I := 0 to Pred(FService.Sites.Count) do
    begin
      Site := FService.Sites[I];
      with RzListView1.Items.Add do
      begin
        Caption := Site.Name;
        SubItems.Add(Site.Address);
        SubItems.Add('Disconnected');
        Data := Site;
      end;
      with RzListView2.Items.Add do
      begin
        Caption := Site.Name;
        SubItems.Add(Site.Address);
        SubItems.Add('Disconnected');
        Data := Site;
      end;
    end;
  end;
  if FService.StartServer then
    Caption := Format('%s [Running]', [Caption]);
end;

destructor TForm1.Destroy;
begin
  FService.Free;
  inherited;
end;

procedure TForm1.RzListView2DblClick(Sender: TObject);
var
  Site: TSite;
  Data: Pointer;
begin
  if RzListView2.Selected <> nil then
  begin
    Site := RzListView2.Selected.Data;
    Data := GetMemory(256);
    try
      FillChar(Data^, 256, $20);
      FService.SendData(Site, Data, 256);
    finally
      FreeMem(Data);
    end;
  end;
end;

end.

⌨️ 快捷键说明

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