📄 isapimem.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 + -