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

📄 isapimem.pas

📁 制作 Microsoft ISAPI Extention 应用程序的构件
💻 PAS
字号:
unit ISAPIMEM;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, MMyISAPI, U_Glob;

type
  TISAPI_MEMO = class(TMy_ISAPI_Module)
  private
    { Private declarations }
    curr_Pos  : LongInt;
    fHtmlMemo : TStringList;
    PROCEDURE SetHtmlMemo(Value : TStringList);
  protected
    { Protected declarations }
    FUNCTION Get_From_Stream : STRING; override;
    FUNCTION EOS : BOOLEAN;            override;
  public
    { Public declarations }
    CONSTRUCTOR Create(AOwner : TComponent); OVERRIDE;
    DESTRUCTOR  Destroy;                     OVERRIDE;
    PROCEDURE   PUT;                         OVERRIDE;
  published
    { Published declarations }
    Property HtmlMemo : TStringList read fHtmlMemo write SetHtmlMemo;
  end;

  TISAPI_FILER = class(TMy_ISAPI_Module)
  private
    { Private declarations }
    fFile_Name : STRING;
    File_Handler : Integer;
  protected
    { Protected declarations }
    FUNCTION Get_From_Stream : STRING; override;
    FUNCTION EOS : BOOLEAN;            override;
  public
    { Public declarations }
    CONSTRUCTOR Create(AOwner : TComponent); OVERRIDE;
    DESTRUCTOR  Destroy;                     OVERRIDE;
    PROCEDURE   PUT;                         OVERRIDE;
  published
    { Published declarations }
    PROPERTY File_Name : STRING read fFile_Name write fFile_Name;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('My_Stuff', [TISAPI_MEMO]);
  RegisterComponents('My_Stuff', [TISAPI_FILER]);
end;

CONSTRUCTOR TISAPI_MEMO.Create(AOwner : TComponent);

BEGIN
  INHERITED Create(AOwner);
  fHtmlMemo := TstringList.Create;
END;


DESTRUCTOR  TISAPI_MEMO.Destroy;

BEGIN
  fHtmlMemo.Free;
  Inherited Destroy;
END;


PROCEDURE TISAPI_MEMO.SetHtmlMemo(Value : TStringList);

BEGIN
  fHtmlMemo.Assign(Value);
END;

FUNCTION  TISAPI_MEMO.Get_From_Stream : STRING;

BEGIN
  REsult := fHtmlMemo.Strings[curr_Pos];
  Inc(curr_Pos);
END;

FUNCTION  TISAPI_MEMO.EOS : BOOLEAN;

BEGIN
  Result := curr_Pos >= fHtmlMemo.Count;
END;

PROCEDURE TISAPI_MEMO.PUT;

BEGIN
  curr_Pos := 0;
  Inherited Put;
END;


CONSTRUCTOR TISAPI_FILER.Create(AOwner : TComponent);

BEGIN
  Inherited Create(AOwner);
END;

DESTRUCTOR  TISAPI_FILER.Destroy;
BEGIN
  Inherited;
END;

FUNCTION    TISAPI_FILER.Get_From_Stream : STRING;

BEGIN
  Result := My_Readln(File_Handler);
END;

FUNCTION    TISAPI_FILER.EOS : BOOLEAN;

BEGIN
  REsult := My_EOF(File_Handler);
END;

PROCEDURE   TISAPI_FILER.PUT;

BEGIN
  IF NOT FileExists(fFile_Name) THEN
     BEGIN
       IF Isapi_Shell <> NIL THEN
          Isapi_Shell.PutLine('File not found : ' + fFile_Name);
       EXIT;
     END;
  File_Handler := My_Assign(fFile_Name, TRUE, FALSE);
  INHERITED PUT;
  My_Close(File_Handler);
END;

end.

⌨️ 快捷键说明

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