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

📄 guipart.pas

📁 一个国外比较早的IOCP控件
💻 PAS
字号:
unit GUIPart;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls;

type
  TFrmGUI = class(TForm)
    Label1: TLabel;
    EdPort: TEdit;
    UDPort: TUpDown;
    Label2: TLabel;
    EdDocFolder: TEdit;
    BtStart: TButton;
    BtStop: TButton;
    procedure FormCreate(Sender: TObject);
    procedure BtStartClick(Sender: TObject);
    procedure BtStopClick(Sender: TObject);
  private
  public
    procedure ShowHeapStatus;
  end;

var
  FrmGUI: TFrmGUI;

implementation

uses HttpEnginePart;

{$R *.DFM}

procedure TFrmGUI.FormCreate(Sender: TObject);
begin
  BtStop.Enabled := False;
  //UDPort.Max := 65535;
  //UDPort.Min := 0;
  UDPort.Increment := 1;
end;

procedure TFrmGUI.BtStartClick(Sender: TObject);
begin
  try
    HttpEngine.Start(StrToInt(EdPort.Text), ExtractFilePath(ParamStr(0)) + EdDocFolder.Text);
    BtStart.Enabled := False;
    BtStop.Enabled := True;
    EdPort.Enabled := False;
    UDPort.Enabled := False;
    EdDocFolder.Enabled := False;
    //BtDocFolder.Enabled := False;
  except
    on E: Exception do
      HttpEngine.WriteToLog(E.Message);
  end;
end;

procedure TFrmGUI.BtStopClick(Sender: TObject);
begin
  try
    HttpEngine.Stop;
    BtStart.Enabled := True;
    BtStop.Enabled := False;
    EdPort.Enabled := True;
    UDPort.Enabled := True;
    EdDocFolder.Enabled := True;
    //BtDocFolder.Enabled := True;
  except
    on E: Exception do
      HttpEngine.WriteToLog(E.Message);
  end;
  //ShowHeapStatus;
end;

procedure TFrmGUI.ShowHeapStatus;
var
  HeapStatus: THeapStatus;
  Msg: String;
begin
  HeapStatus := GetHeapStatus;
  Msg :=  'Total: ' + IntToStr(HeapStatus.TotalAddrSpace) + #13#10 +
          'Uncommited:' + IntToStr(HeapStatus.TotalUncommitted) + #13#10 +
          'Commited:' + IntToStr(HeapStatus.TotalCommitted) + #13#10 +
          'Allocated:' + IntToStr(HeapStatus.TotalAllocated) + #13#10 +
          'Free:' + IntToStr(HeapStatus.TotalFree) + #13#10;
  Application.MessageBox(PChar(Msg), 'Info', 0); 
end;

end.

⌨️ 快捷键说明

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