unit webmodul;
{$mode delphi}
interface
uses
Classes, SysUtils, Math, //StdCtrls,
//Graphics,
fphttpserver, HTTPDefs, httpprotocol, fphttpapp, fpwebfile, webserver, fpmimetypes,
htmlconttype, {...};
TWebModul = class(TObject)
private
FServer1 : THTTPServerThread;
procedure DoHandleRequest (Sender: TObject; var ARequest: TFPHTTPConnectionRequest; var AResponse : TFPHTTPConnectionResponse);
procedure DoHandReqError(Sender : TObject; E : Exception);
procedure DoAcceptIdle (Sender: TObject);
protected
{...}
public
constructor Create(AdatModule: TDataModule1);overload;
destructor Destroy; override;
published
end;
implementation
{ TWebModul }
constructor TWebModul.Create(AdatModule: TDataModule1); //AdatModule is the database related unit
begin
inherited Create;
FServer1 := THTTPServerThread.Create(AdatModule1.WebPort,DoHandleRequest,DoHandReqError,DoAcceptIdle); //AdatModule1.WebPort:=8080
end;
{...}
//***********************************************************************************
procedure TWebModul.DoHandleRequest(Sender: TObject; var ARequest: TFPHTTPConnectionRequest; var AResponse: TFPHTTPConnectionResponse);
var
file1: TMemoryStream;
begin
file1 := TMemoryStream.Create;
{...}
if {ARequest.ContentFields.Values=} true
then
begin
fromspreadsheet(file1); //from the spreadsheet unit
AResponse.FreeContentStream:= true;
AResponse.ContentStream :=file1;
AResponse.ContentType:=htmlcontenttype('.html'); //:='text/html;charset=utf-8'
AResponse.Code:=200;
AResponse.SendContent;
end;
{...}
file1.Free;
end;