Componentes.Terceros.FastRe.../official/4.8.11/Demos/ClientServer/CGI/fastreport.dpr
2009-10-21 13:40:53 +00:00

72 lines
1.7 KiB
ObjectPascal

{******************************************}
{ }
{ FastReport v4.0 }
{ FastReport CGI wrapper demo }
{ Copyright (c) 1998-2006 }
{ by Alexander Fediachov, }
{ Fast Reports Inc. }
{ }
{******************************************}
program fastreport;
{$APPTYPE CONSOLE}
uses
Windows, SysUtils, Classes, frxCGIClient, IniFiles, frxServerUtils;
const
CONFIG_FILENAME = 'fastreport.ini';
DEFAULT_CONFIG_PATH = '';
DEFAULT_PORT = 8097;
DEFAULT_HOST = '127.0.0.1';
var
FHost: String;
FPort: Integer;
FIni: TIniFile;
c: TfrxCGIClient;
s: String;
PostData: String;
PostLength: Integer;
i: Integer;
begin
if DEFAULT_CONFIG_PATH = '' then
s := ExtractFilePath(ParamStr(0)) + CONFIG_FILENAME
else
s := DEFAULT_CONFIG_PATH + CONFIG_FILENAME;
if FileExists(s) then
begin
FIni := TIniFile.Create(s);
FHost := FIni.ReadString('REPORTSERVER', 'Host', DEFAULT_HOST);
FPort := FIni.ReadInteger('REPORTSERVER', 'Port', DEFAULT_PORT);
FIni.Free;
end
else begin
FHost := DEFAULT_HOST;
FPort := DEFAULT_PORT;
end;
if (GetEnvVar('REQUEST_METHOD') = 'POST') then
begin
Postlength := StrToInt(GetEnvVar('CONTENT_LENGTH'));
if Postlength > 0 then
begin
SetLength(PostData, PostLength);
for i := 1 to PostLength do
read(PostData[i]);
end;
end;
c := TfrxCGIClient.Create;
c.PostData := PostData;
c.Host := FHost;
c.Port := FPort;
try
c.Open;
finally
c.Free;
end;
end.