Importación inicial
git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.FastReport@13 475b051d-3a53-6940-addd-820bf0cfe0d7
135
internal/4.2/1/Dealers.rus.txt
Normal file
@ -0,0 +1,135 @@
|
||||
Дилеры
|
||||
|
||||
Россия
|
||||
|
||||
ЗАО "Софткей"
|
||||
|
||||
Жители России, Украины, Белоруссии, Казахстана, Эстонии, Литвы, Латвии, Болгарии, Польши, Израиля могут приобретать лицензии у крупнейшего регистратора СНГ - ЗАО "Софткей" и оплатить их в местной валюте.
|
||||
|
||||
129626, Россия, г. Москва, ул. Староалексеевская, д. 21, стр. 11, офис 411 Тел./факс (095) 775-1286 (многоканальный), (095) 991-7693
|
||||
|
||||
www.softkey.ru
|
||||
|
||||
|
||||
ООО "Айбэйз", Москва
|
||||
|
||||
ООО "Айбэйз" (iBase)
|
||||
Россия, Москва, 1-ый Новокузнецкий переулок, д. 10, п. 2, к. 1.
|
||||
тел (095) 953-13-34
|
||||
http://shop.ibase.ru/russia.htm
|
||||
sales@ibase.ru
|
||||
|
||||
|
||||
ООО "Сфера"
|
||||
|
||||
ООО "Сфера"
|
||||
Россия, Самара, ул. Арцыбушевская, 13, 4 этаж
|
||||
тел (8462) 72-57-56
|
||||
http://www.sphere-ltd.ru
|
||||
info@sphere-ltd.ru
|
||||
|
||||
|
||||
компания "СофтЛайн", Москва
|
||||
|
||||
Allsoft.ru
|
||||
E-mail:info@allsoft.ru
|
||||
119991, г. Москва, ул. Губкина, д. 8, компания "СофтЛайн"
|
||||
Тел.: 8-800-200-2233
|
||||
|
||||
|
||||
ООО "Программ плюс"
|
||||
|
||||
ООО "Программ плюс"
|
||||
тел.: (0932) 41-18-53
|
||||
e-mail: plus@kodeks37.ru
|
||||
сайт: www.vcl-soft.ru
|
||||
Адрес:
|
||||
153000, г. Иваново
|
||||
ул. Почтовая,6-А, офис 105
|
||||
|
||||
|
||||
|
||||
ООО "ЮСК:Дистрибьюция"
|
||||
|
||||
тел.: (863) 236-0483
|
||||
факс: (863) 236-8383
|
||||
e-mail: info@uskd.ru
|
||||
сайт: www.uskd.ru www.softcatalog.ru
|
||||
Адреса:
|
||||
400000, Волгоград, Профсоюзная, 12
|
||||
350000, Краснодар, Селезнева, 84
|
||||
355000, Ставрополь, Доваторцев, 57/1
|
||||
344004, Ростов-на-Дону, 2-я Володарского, 76/23а
|
||||
|
||||
|
||||
Украина
|
||||
|
||||
"Десктоп-Софт"
|
||||
|
||||
контактное лицо: Виталий Лысенко;
|
||||
тел./факс: 0522-29-51-42
|
||||
e-mail: vlysenko@dswsoft.com
|
||||
|
||||
|
||||
ООО "СОФТПРОМ"
|
||||
|
||||
тел./факс (044)242-53-00,
|
||||
zhdan@softprom.com
|
||||
http://www.softprom.com
|
||||
|
||||
|
||||
"I.T. Pro" Ltd.
|
||||
|
||||
03039, Kiev
|
||||
av.40 let Oktyabrya 50 of.65
|
||||
tel.+380 44 258 0528
|
||||
tel.+380 44 264 0598
|
||||
tel.+380 44 264 4427
|
||||
tel.+380 67 502 4800
|
||||
tel.+380 97 936 2011
|
||||
http://www.itpro.kiev.ua/
|
||||
|
||||
|
||||
ЗАО "Софткей"
|
||||
|
||||
Жители России, Украины, Белоруссии, Казахстана, Эстонии, Литвы, Латвии, Болгарии, Польши, Израиля могут приобретать лицензии у крупнейшего регистратора СНГ - ЗАО "Софткей" и оплатить их в местной валюте.
|
||||
|
||||
129626, Россия, г. Москва, ул. Староалексеевская, д. 21, стр. 11, офис 411 Тел./факс (095) 775-1286 (многоканальный), (095) 991-7693
|
||||
|
||||
www.softkey.com.ua
|
||||
|
||||
|
||||
Беларусь
|
||||
|
||||
ЗАО "Софткей"
|
||||
|
||||
Жители России, Украины, Белоруссии, Казахстана, Эстонии, Литвы, Латвии, Болгарии, Польши, Израиля могут приобретать лицензии у крупнейшего регистратора СНГ - ЗАО "Софткей" и оплатить их в местной валюте.
|
||||
|
||||
129626, Россия, г. Москва, ул. Староалексеевская, д. 21, стр. 11, офис 411 Тел./факс (095) 775-1286 (многоканальный), (095) 991-7693
|
||||
|
||||
www.softkey.by
|
||||
|
||||
|
||||
Туркмения
|
||||
|
||||
Хозяйственное общество "Инфоком"
|
||||
|
||||
744000, Туркменистан, г. Ашгабат, ул. Азади, 65
|
||||
тел: (+993 12) 35-79-54, 35-25-76
|
||||
contact@in4com.com
|
||||
|
||||
Казахстан
|
||||
|
||||
|
||||
ЗАО "Софткей"
|
||||
|
||||
Жители России, Украины, Белоруссии, Казахстана, Эстонии, Литвы, Латвии, Болгарии, Польши, Израиля могут приобретать лицензии у крупнейшего регистратора СНГ - ЗАО "Софткей" и оплатить их в местной валюте.
|
||||
|
||||
129626, Россия, г. Москва, ул. Староалексеевская, д. 21, стр. 11, офис 411 Тел./факс (095) 775-1286 (многоканальный), (095) 991-7693
|
||||
|
||||
www.softkey.kz
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
405
internal/4.2/1/Dealers.txt
Normal file
@ -0,0 +1,405 @@
|
||||
Dealers
|
||||
|
||||
1. United Kingdom
|
||||
1.1 QBS Software Ltd
|
||||
2. Germany
|
||||
2.1 BITA GmbH
|
||||
2.2 HK-Software
|
||||
3. Austria
|
||||
3.1 BITA GmbH
|
||||
4. Switzerland
|
||||
4.1 BITA GmbH
|
||||
5. Poland
|
||||
5.1 WebKomp
|
||||
5.2 Przedsiebiorstwo Komputerowo Obliczeniowe
|
||||
5.3 JSC "SoftKey"
|
||||
6. Czech
|
||||
6.1 Petr Zahradnik, Computer Laboratory
|
||||
6.2 HTK Pro s.r.o.
|
||||
7. Slovak
|
||||
7.1 HTK Pro s.r.o.
|
||||
8. Brazil
|
||||
8.1 EXPERTNET
|
||||
8.2 PRMAS SYSTEM
|
||||
9. South Korea
|
||||
9.1 DevTools Inc.
|
||||
9.2 Buysoft Inc.
|
||||
10. Taiwan, R.O.C.
|
||||
10.1 Crispin, Chen
|
||||
11. China
|
||||
11.1 Nora Xu
|
||||
11.2 CSTSOFT
|
||||
11.3 Chongqing Huidu Technology Co., Ltd.
|
||||
12. Nederland
|
||||
12.1 FastReport ook in Nederland verkrijgbaar
|
||||
13. Lithuania
|
||||
13.1 JSC "SoftKey"
|
||||
14. Latvia
|
||||
14.1 JSC "SoftKey"
|
||||
15. Estonia
|
||||
15.1 JSC "SoftKey"
|
||||
16. Bulgaria
|
||||
16.1 JSC "SoftKey"
|
||||
17. Colombia
|
||||
17.1 Luz Zapata Velasquez
|
||||
18. Latin America
|
||||
18.1 Danysoft
|
||||
19. Spain
|
||||
19.1 Danysoft
|
||||
20. Portugal
|
||||
20.1 Danysoft
|
||||
21. Israel
|
||||
21.1 Software Sources Ltd.
|
||||
|
||||
|
||||
|
||||
1. United Kingdom
|
||||
|
||||
1.1 QBS Software Ltd
|
||||
|
||||
QBS Software Ltd
|
||||
7 Wharfside
|
||||
Rosemont Rd
|
||||
Wembley HA0 4QB
|
||||
|
||||
Tel +44 (0) 8456 580 580
|
||||
Fax +44 (0) 20 8902 7600
|
||||
email: sales@qbssoftware.com
|
||||
http://www.qbssoftware.com/FASTREPORT
|
||||
|
||||
|
||||
2. Germany
|
||||
|
||||
2.1 BITA GmbH
|
||||
|
||||
BITA GmbH
|
||||
A-1070 Wien, Wimbergergasse 14/3-1-3
|
||||
E-mail: fastreport@bita.at
|
||||
Tel: +43 (1) 9832873
|
||||
Fax: +43 (1) 9832873-30
|
||||
www.bita.at
|
||||
Contact person: Robert Szuszkiewicz
|
||||
|
||||
3. Austria
|
||||
|
||||
3.1 BITA GmbH
|
||||
|
||||
BITA GmbH
|
||||
A-1070 Wien, Wimbergergasse 14/3-1-3
|
||||
E-mail: fastreport@bita.at
|
||||
Tel: +43 (1) 9832873
|
||||
Fax: +43 (1) 9832873-30
|
||||
www.bita.at
|
||||
Contact person: Robert Szuszkiewicz
|
||||
|
||||
4. Switzerland
|
||||
|
||||
4.1 BITA GmbH
|
||||
|
||||
BITA GmbH
|
||||
A-1070 Wien, Wimbergergasse 14/3-1-3
|
||||
E-mail: fastreport@bita.at
|
||||
Tel: +43 (1) 9832873
|
||||
Fax: +43 (1) 9832873-30
|
||||
www.bita.at
|
||||
Contact person: Robert Szuszkiewicz
|
||||
|
||||
|
||||
5. Poland
|
||||
|
||||
5.1 WebKomp
|
||||
|
||||
WebKomp:
|
||||
info@webkomp.net
|
||||
ul. Sosnowskiego 3/18
|
||||
02-784 Warszawa
|
||||
Poland
|
||||
tel.: +48 501 232 256
|
||||
fax. +48 22 750 96 80
|
||||
|
||||
http://www.webkomp.net
|
||||
|
||||
5.2 Przedsiebiorstwo Komputerowo Obliczeniowe
|
||||
|
||||
Przedsiebiorstwo Komputerowo Obliczeniowe
|
||||
30-415 Krakow ul. Wadowicka 12
|
||||
fastreport@pko.pl
|
||||
tel : +48 12 296 52 22
|
||||
fax: +48 12 296 52 23
|
||||
mobile: +48 602 801 659
|
||||
http://www.laptop.net.pl
|
||||
http://www.laptop.net.pl/fastreport
|
||||
|
||||
5.3 JSC "SoftKey"
|
||||
|
||||
Postal address: Zvezdny boulevard, 21, office 801,
|
||||
129085, Moscow, Russia
|
||||
|
||||
Tel./ fax: (095) 215-66-13, 797-26-64
|
||||
|
||||
www.softkey.net
|
||||
www.softkey.lt
|
||||
www.softkey.lv
|
||||
www.softkey.pl
|
||||
www.softkey.ee
|
||||
www.softkeybg.com
|
||||
email: sales@softkey.ru
|
||||
|
||||
|
||||
6. Czech
|
||||
|
||||
6.1 Petr Zahradnik, Computer Laboratory
|
||||
|
||||
Petr Zahradnik, Computer Laboratory
|
||||
Obvodova 740/14, CZ-40007 Usti nad Labem, Czech Republic
|
||||
Phones: +420-47-5500610, +420-47-5501627
|
||||
Fax: +420-47-5511338
|
||||
WWW: http://www.clexpert.cz, http://www.zahradnik.cz
|
||||
E-Mail: clexpert@clexpert.cz, petr@zahradnik.cz
|
||||
ICQ: 21215917
|
||||
|
||||
|
||||
6.2 HTK Pro s.r.o.
|
||||
|
||||
HTK Pro s.r.o.
|
||||
Prosecka 76a, Praha 9
|
||||
http://www.dev-shop.cz, http://www.dev-shop.sk
|
||||
tel : +420-2-83880361, fax : +420-2-86891391
|
||||
|
||||
|
||||
7. Slovak
|
||||
|
||||
7.1 HTK Pro s.r.o.
|
||||
|
||||
HTK Pro s.r.o.
|
||||
Prosecka 76a, Praha 9
|
||||
http://www.dev-shop.cz, http://www.dev-shop.sk
|
||||
tel : +420-2-83880361, fax : +420-2-86891391
|
||||
|
||||
|
||||
8. Brazil
|
||||
|
||||
8.1 EXPERTNET
|
||||
|
||||
EXPERTNET
|
||||
Phone: +55-11-9309-8017
|
||||
mailto:ndiay@expertnet.com.br
|
||||
WWW:www.expertnet.com.br
|
||||
|
||||
8.2 PRMAS SYSTEM
|
||||
|
||||
PRMAS SYSTEM
|
||||
Phone: 55-11-97489924
|
||||
web: http://www.prmas.com.br
|
||||
Email: vendas@prmas.com.br
|
||||
|
||||
|
||||
9. South Korea
|
||||
|
||||
9.1 DevTools Inc.
|
||||
|
||||
DevTools Inc.
|
||||
Tel : +82 (2) 521-7900
|
||||
Fac : +82 (2) 2297-7900
|
||||
email : midmee@devtools.co.kr
|
||||
http://www.devtools.co.kr
|
||||
|
||||
9.2 Buysoft Inc.
|
||||
|
||||
Buysoft Inc.
|
||||
10F HungEun bldg.,
|
||||
824-22 Yeoksam-Dong,
|
||||
Kangnam-Gu,
|
||||
Seoul,Korea
|
||||
|
||||
email: Irene Kwon
|
||||
http://www.buysoft.co.kr
|
||||
|
||||
|
||||
10. Taiwan, R.O.C.
|
||||
|
||||
|
||||
10.1 Crispin, Chen
|
||||
|
||||
Crispin, Chen
|
||||
Tel: (04)2358-8484
|
||||
Mobile Phone: (0918)427-079
|
||||
E-Mail: crispin@pchome.com.tw
|
||||
Web Site:
|
||||
http://www.jane.com.tw/bbs/default.asp
|
||||
|
||||
|
||||
11. China
|
||||
|
||||
11.1 Nora Xu
|
||||
|
||||
Nora Xu
|
||||
ViewSlip SoftWare
|
||||
mail:eric@viewslip.com
|
||||
http://www.viewslip.com
|
||||
Tel:+86-21-64069587
|
||||
|
||||
|
||||
11.2 CSTSOFT
|
||||
|
||||
CSTSOFT
|
||||
Tel:+86 10 88416081
|
||||
Fax:+86 10 68767223
|
||||
Email:cstsoft@public3.bta.net.cn
|
||||
http://www.cstsoft.com.cn
|
||||
|
||||
|
||||
11.3 Chongqing Huidu Technology Co., Ltd.
|
||||
|
||||
Chongqing Huidu Technology Co., Ltd.
|
||||
No.23, shixin Road, shiqiaopu,
|
||||
Chongqing
|
||||
China. 400039
|
||||
E-mail: sales@eVget.com
|
||||
Tel: +86- (0) 23- 68690297
|
||||
Fax: +86- (0) 23- 68623874
|
||||
www.eVget.com
|
||||
|
||||
|
||||
12. Nederland
|
||||
|
||||
12.1 FastReport ook in Nederland verkrijgbaar
|
||||
|
||||
FastReport producten worden in Nederland geleverd door TeoWin Software.
|
||||
Wij geven graag meer informatie over de FastReport producten of antwoorden op vragen die voortkomen uit de kennismaking met FastReport.
|
||||
Voor meer informatie
|
||||
email:info@teowin-software.nl
|
||||
|
||||
|
||||
13. Lithuania
|
||||
|
||||
|
||||
13.1 JSC "SoftKey"
|
||||
|
||||
Postal address: Zvezdny boulevard, 21, office 801,
|
||||
129085, Moscow, Russia
|
||||
|
||||
Tel./ fax: (095) 215-66-13, 797-26-64
|
||||
|
||||
www.softkey.net
|
||||
www.softkey.lt
|
||||
www.softkey.lv
|
||||
www.softkey.pl
|
||||
www.softkey.ee
|
||||
www.softkeybg.com
|
||||
email: sales@softkey.ru
|
||||
|
||||
|
||||
14. Latvia
|
||||
|
||||
|
||||
14.1 JSC "SoftKey"
|
||||
|
||||
Postal address: Zvezdny boulevard, 21, office 801,
|
||||
129085, Moscow, Russia
|
||||
|
||||
Tel./ fax: (095) 215-66-13, 797-26-64
|
||||
|
||||
www.softkey.net
|
||||
www.softkey.lt
|
||||
www.softkey.lv
|
||||
www.softkey.pl
|
||||
www.softkey.ee
|
||||
www.softkeybg.com
|
||||
email: sales@softkey.ru
|
||||
|
||||
|
||||
15. Estonia
|
||||
|
||||
15.1 JSC "SoftKey"
|
||||
|
||||
Postal address: Zvezdny boulevard, 21, office 801,
|
||||
129085, Moscow, Russia
|
||||
|
||||
Tel./ fax: (095) 215-66-13, 797-26-64
|
||||
|
||||
www.softkey.net
|
||||
www.softkey.lt
|
||||
www.softkey.lv
|
||||
www.softkey.pl
|
||||
www.softkey.ee
|
||||
www.softkeybg.com
|
||||
email: sales@softkey.ru
|
||||
|
||||
|
||||
16. Bulgaria
|
||||
|
||||
16.1 JSC "SoftKey"
|
||||
|
||||
Postal address: Zvezdny boulevard, 21, office 801,
|
||||
129085, Moscow, Russia
|
||||
|
||||
Tel./ fax: (095) 215-66-13, 797-26-64
|
||||
|
||||
www.softkey.net
|
||||
www.softkey.lt
|
||||
www.softkey.lv
|
||||
www.softkey.pl
|
||||
www.softkey.ee
|
||||
www.softkeybg.com
|
||||
email: sales@softkey.ru
|
||||
|
||||
|
||||
17. Colombia
|
||||
|
||||
17.1 Luz Zapata Velasquez
|
||||
|
||||
Luz Zapata Velasquez
|
||||
Tr. 41 #146 A 40 Interior 17 sala 501 City: Bogota - D.C
|
||||
Country: Colombia
|
||||
Tel/Fax: (+57)-1-625-3024
|
||||
mail: info@safsoft.com
|
||||
http://www.safsoft.com
|
||||
|
||||
|
||||
18. Latin America
|
||||
|
||||
18.1 Danysoft
|
||||
|
||||
Danysoft Internatioal S.L.
|
||||
Avda Industria 4, Edif 1,
|
||||
28108 Accobendaj-Ma-Spain
|
||||
email: sales@danysoft.com
|
||||
http://www.danysoft.com
|
||||
|
||||
|
||||
19. Spain
|
||||
|
||||
19.1 Danysoft
|
||||
|
||||
Danysoft Internatioal S.L.
|
||||
Avda Industria 4, Edif 1,
|
||||
28108 Accobendaj-Ma-Spain
|
||||
email: sales@danysoft.com
|
||||
http://www.danysoft.com
|
||||
|
||||
|
||||
20. Portugal
|
||||
|
||||
20.1 Danysoft
|
||||
|
||||
Danysoft Internatioal S.L.
|
||||
Avda Industria 4, Edif 1,
|
||||
28108 Accobendaj-Ma-Spain
|
||||
email: sales@danysoft.com
|
||||
http://www.danysoft.com
|
||||
|
||||
|
||||
|
||||
21. Israel
|
||||
|
||||
21.1 Software Sources Ltd.
|
||||
|
||||
Software Sources Ltd.
|
||||
64B Hasharon St.
|
||||
P.O.Box 639
|
||||
Ra'anana 43106
|
||||
Tel. +972-9-7714578
|
||||
Fax. +972-9-7712194
|
||||
email: chen@software-sources.co.il
|
||||
http://www.software-sources.co.il
|
||||
57
internal/4.2/1/Demos/ClientServer/CGI/fastreport.dpr
Normal file
@ -0,0 +1,57 @@
|
||||
|
||||
{******************************************}
|
||||
{ }
|
||||
{ FastReport v4.0 }
|
||||
{ FastReport CGI wrapper demo }
|
||||
{ }
|
||||
{ Copyright (c) 1998-2007 }
|
||||
{ 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;
|
||||
|
||||
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;
|
||||
c := TfrxCGIClient.Create;
|
||||
c.Host := FHost;
|
||||
c.Port := FPort;
|
||||
try
|
||||
c.Open;
|
||||
finally
|
||||
c.Free;
|
||||
end;
|
||||
end.
|
||||
3
internal/4.2/1/Demos/ClientServer/CGI/fastreport.ini
Normal file
@ -0,0 +1,3 @@
|
||||
[REPORTSERVER]
|
||||
Host=127.0.0.1
|
||||
Port=8097
|
||||
6
internal/4.2/1/Demos/ClientServer/CGI/index.html
Normal file
@ -0,0 +1,6 @@
|
||||
<html>
|
||||
<body>
|
||||
1. <a href="/cgi-bin/fastreport.exe">Connect to the FastReport Server through the Apache Web Server</a><br>
|
||||
2. <a href="http://127.0.0.1:8097/">Direct connect to the FastReport Server</a>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,14 @@
|
||||
program FRClient;
|
||||
|
||||
uses
|
||||
Forms,
|
||||
main in 'main.pas' {main};
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.Title := 'FastReport Client Demo';
|
||||
Application.CreateForm(TMainForm, MainForm);
|
||||
Application.Run;
|
||||
end.
|
||||
BIN
internal/4.2/1/Demos/ClientServer/Client/Advanced/FRClient.res
Normal file
BIN
internal/4.2/1/Demos/ClientServer/Client/Advanced/main.dfm
Normal file
463
internal/4.2/1/Demos/ClientServer/Client/Advanced/main.pas
Normal file
@ -0,0 +1,463 @@
|
||||
|
||||
{******************************************}
|
||||
{ }
|
||||
{ FastReport v4.0 }
|
||||
{ FastReport client demo }
|
||||
{ Copyright (c) 1998-2007 }
|
||||
{ by Alexander Fediachov, }
|
||||
{ Fast Reports Inc. }
|
||||
{ }
|
||||
{******************************************}
|
||||
|
||||
unit main;
|
||||
|
||||
{$I frx.inc}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, SysUtils, Classes, Controls, Forms,
|
||||
Dialogs, StdCtrls, ShellApi, frxClass, frxServerClient,
|
||||
frxGZip, frxDCtrl, frxChBox, frxCross, frxRich, frxChart,
|
||||
frxOLE, frxBarcode, ExtCtrls, frxExportPDF, frxExportImage,
|
||||
frxExportRTF, frxExportXML, frxExportXLS, frxExportHTML,
|
||||
frxExportTXT, frxGradient, Graphics, ComCtrls, Menus, ImgList
|
||||
{$IFDEF Delphi6}
|
||||
, Variants
|
||||
{$ENDIF}
|
||||
, frxExportMail, frxExportText, frxExportCSV;
|
||||
|
||||
type
|
||||
TMainForm = class(TForm)
|
||||
frxServerConnection1: TfrxServerConnection;
|
||||
TestBtn: TButton;
|
||||
Log: TMemo;
|
||||
Rep: TEdit;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
ShowBtn: TButton;
|
||||
CloseBtn: TButton;
|
||||
Label4: TLabel;
|
||||
Label5: TLabel;
|
||||
Port: TEdit;
|
||||
Threads: TEdit;
|
||||
Label6: TLabel;
|
||||
frxBarCodeObject1: TfrxBarCodeObject;
|
||||
frxOLEObject1: TfrxOLEObject;
|
||||
frxChartObject1: TfrxChartObject;
|
||||
frxRichObject1: TfrxRichObject;
|
||||
frxCrossObject1: TfrxCrossObject;
|
||||
frxCheckBoxObject1: TfrxCheckBoxObject;
|
||||
frxDialogControls1: TfrxDialogControls;
|
||||
Label7: TLabel;
|
||||
Login: TEdit;
|
||||
Label8: TLabel;
|
||||
Password: TEdit;
|
||||
StopBtn: TButton;
|
||||
Label9: TLabel;
|
||||
Label10: TLabel;
|
||||
Label11: TLabel;
|
||||
Image1: TImage;
|
||||
frxGradientObject1: TfrxGradientObject;
|
||||
frxHTMLExport1: TfrxHTMLExport;
|
||||
frxXLSExport1: TfrxXLSExport;
|
||||
frxXMLExport1: TfrxXMLExport;
|
||||
frxRTFExport1: TfrxRTFExport;
|
||||
frxBMPExport1: TfrxBMPExport;
|
||||
frxJPEGExport1: TfrxJPEGExport;
|
||||
frxTIFFExport1: TfrxTIFFExport;
|
||||
frxPDFExport1: TfrxPDFExport;
|
||||
ProxyHost: TEdit;
|
||||
Label12: TLabel;
|
||||
Label13: TLabel;
|
||||
ProxyPort: TEdit;
|
||||
Label14: TLabel;
|
||||
Label15: TLabel;
|
||||
Panel2: TPanel;
|
||||
Panel4: TPanel;
|
||||
Host: TEdit;
|
||||
ReportsTree: TTreeView;
|
||||
Description: TMemo;
|
||||
Label16: TLabel;
|
||||
Panel5: TPanel;
|
||||
ExportBtn: TButton;
|
||||
Label17: TLabel;
|
||||
Panel10: TPanel;
|
||||
ConnectBtn: TButton;
|
||||
Panel11: TPanel;
|
||||
Panel9: TPanel;
|
||||
Panel12: TPanel;
|
||||
Panel13: TPanel;
|
||||
Panel14: TPanel;
|
||||
Label18: TLabel;
|
||||
PopupMenu1: TPopupMenu;
|
||||
Clear1: TMenuItem;
|
||||
frxReportClient1: TfrxReportClient;
|
||||
ImageList1: TImageList;
|
||||
frxCSVExport1: TfrxCSVExport;
|
||||
frxSimpleTextExport1: TfrxSimpleTextExport;
|
||||
frxMailExport1: TfrxMailExport;
|
||||
procedure TestBtnClick(Sender: TObject);
|
||||
procedure CloseBtnClick(Sender: TObject);
|
||||
procedure ShowBtnClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
procedure StopBtnClick(Sender: TObject);
|
||||
procedure ListBox1DblClick(Sender: TObject);
|
||||
procedure ListBox1KeyDown(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
procedure Label11Click(Sender: TObject);
|
||||
procedure ConnectBtnClick(Sender: TObject);
|
||||
procedure Clear1Click(Sender: TObject);
|
||||
procedure ReportsTreeChange(Sender: TObject; Node: TTreeNode);
|
||||
procedure ReportsTreeCustomDrawItem(Sender: TCustomTreeView;
|
||||
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
|
||||
procedure ExportBtnClick(Sender: TObject);
|
||||
private
|
||||
ThreadList: TList;
|
||||
ReportsList: TStringList;
|
||||
procedure ClearThreads;
|
||||
end;
|
||||
|
||||
TfrxClientTestThread = class (TThread)
|
||||
protected
|
||||
procedure Execute; override;
|
||||
private
|
||||
CountRep: Integer;
|
||||
ErrorsCount: Integer;
|
||||
Log: TMemo;
|
||||
ThreadID: Integer;
|
||||
FConnection: TfrxServerConnection;
|
||||
FRepName: String;
|
||||
procedure AppendLog;
|
||||
procedure FinishLog;
|
||||
public
|
||||
Report: TfrxReportClient;
|
||||
Done: Boolean;
|
||||
constructor Create(C: TfrxServerConnection; RepName: String;
|
||||
Id: Integer; Rep: Integer; L: TMemo);
|
||||
end;
|
||||
|
||||
var
|
||||
MainForm: TMainForm;
|
||||
|
||||
implementation
|
||||
|
||||
{$IFDEF Delphi7}
|
||||
uses XPMan;
|
||||
{$ENDIF}
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
procedure TMainForm.TestBtnClick(Sender: TObject);
|
||||
var
|
||||
i, j, k: Integer;
|
||||
Thread: TfrxClientTestThread;
|
||||
s: String;
|
||||
begin
|
||||
frxServerConnection1.Host := Host.Text;
|
||||
frxServerConnection1.Port := StrToInt(Port.Text);
|
||||
frxServerConnection1.Login := Login.Text;
|
||||
frxServerConnection1.Password := Password.Text;
|
||||
if (Length(ProxyHost.Text) > 0) then
|
||||
begin
|
||||
frxServerConnection1.ProxyHost := ProxyHost.Text;
|
||||
frxServerConnection1.ProxyPort := StrToInt(ProxyPort.Text);
|
||||
end;
|
||||
ClearThreads;
|
||||
j := StrToInt(Threads.Text);
|
||||
k := StrToInt(Rep.Text);
|
||||
i := Integer(ReportsTree.Selected.Data);
|
||||
if i <> -1 then
|
||||
begin
|
||||
Log.Lines.Add('Start test');
|
||||
s := ReportsList[i + 1];
|
||||
for i := 1 to j do
|
||||
begin
|
||||
Thread := TfrxClientTestThread.Create(frxServerConnection1, s, i, k, Log);
|
||||
ThreadList.Add(Thread);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.CloseBtnClick(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TMainForm.ShowBtnClick(Sender: TObject);
|
||||
var
|
||||
t: Cardinal;
|
||||
tf: Double;
|
||||
i: Integer;
|
||||
begin
|
||||
frxServerConnection1.Host := Host.Text;
|
||||
frxServerConnection1.Port := StrToInt(Port.Text);
|
||||
frxServerConnection1.Login := Login.Text;
|
||||
frxServerConnection1.Password := Password.Text;
|
||||
if (Length(ProxyHost.Text) > 0) then
|
||||
begin
|
||||
frxServerConnection1.ProxyHost := ProxyHost.Text;
|
||||
frxServerConnection1.ProxyPort := StrToInt(ProxyPort.Text);
|
||||
end;
|
||||
i := Integer(ReportsTree.Selected.Data);
|
||||
if i <> -1 then
|
||||
begin
|
||||
frxReportClient1.LoadFromFile(ReportsList[i + 1]);
|
||||
t := GetTickCount;
|
||||
if frxReportClient1.PrepareReport then
|
||||
begin
|
||||
tf := (GetTickCount - t) / 1000;
|
||||
Log.Lines.Add(frxReportClient1.ReportName +
|
||||
' Time=' + FloatToStr(tf) + ' Size=' + IntToStr(frxReportClient1.Client.StreamSize));
|
||||
frxReportClient1.ShowPreparedReport;
|
||||
end;
|
||||
Log.Lines.AddStrings(frxReportClient1.Errors);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
Label14.Caption := #174;
|
||||
Label15.Caption := #169 + Label15.Caption;
|
||||
ThreadList := TList.Create;
|
||||
ReportsList := TStringList.Create;
|
||||
end;
|
||||
|
||||
procedure TMainForm.ClearThreads;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
for i := 0 to ThreadList.Count - 1 do
|
||||
if Assigned(TfrxClientTestThread(ThreadList[i])) then
|
||||
begin
|
||||
TfrxClientTestThread(ThreadList[i]).Terminate;
|
||||
TfrxClientTestThread(ThreadList[i]).Free;
|
||||
end;
|
||||
ThreadList.Clear;
|
||||
end;
|
||||
|
||||
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
begin
|
||||
ReportsList.Free;
|
||||
ClearThreads;
|
||||
ThreadList.Free;
|
||||
end;
|
||||
|
||||
procedure TMainForm.StopBtnClick(Sender: TObject);
|
||||
begin
|
||||
ClearThreads;
|
||||
end;
|
||||
|
||||
procedure TMainForm.ListBox1DblClick(Sender: TObject);
|
||||
begin
|
||||
ShowBtnClick(Sender);
|
||||
end;
|
||||
|
||||
procedure TMainForm.ListBox1KeyDown(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
begin
|
||||
if Key = 13 then
|
||||
ShowBtnClick(Sender);
|
||||
end;
|
||||
|
||||
procedure TMainForm.Label11Click(Sender: TObject);
|
||||
begin
|
||||
ShellExecute(GetDesktopWindow, 'open', PChar(Label11.Caption), nil, nil, SW_SHOW);
|
||||
end;
|
||||
|
||||
procedure TMainForm.ConnectBtnClick(Sender: TObject);
|
||||
var
|
||||
t: Cardinal;
|
||||
tf: Double;
|
||||
s, s1: String;
|
||||
AccessFlag: Boolean;
|
||||
i: Integer;
|
||||
Node: TTreeNode;
|
||||
TopNode: TTreeNode;
|
||||
OldName: String;
|
||||
|
||||
begin
|
||||
ReportsTree.Items.Clear;
|
||||
ReportsList.Clear;
|
||||
Log.Clear;
|
||||
|
||||
frxServerConnection1.Host := Host.Text;
|
||||
frxServerConnection1.Port := StrToInt(Port.Text);
|
||||
frxServerConnection1.Login := Login.Text;
|
||||
frxServerConnection1.Password := Password.Text;
|
||||
if (Length(ProxyHost.Text) > 0) then
|
||||
begin
|
||||
frxServerConnection1.ProxyHost := ProxyHost.Text;
|
||||
frxServerConnection1.ProxyPort := StrToInt(ProxyPort.Text);
|
||||
end;
|
||||
t := GetTickCount;
|
||||
Log.Lines.Text := Log.Lines.Text +
|
||||
frxReportClient1.GetServerVariable('SERVER_NAME');
|
||||
tf := (GetTickCount - t) / 1000;
|
||||
if frxReportClient1.Errors.Count = 0 then
|
||||
begin
|
||||
Log.Lines.Text := Log.Lines.Text +
|
||||
'Version: ' + frxReportClient1.GetServerVariable('SERVER_SOFTWARE');
|
||||
Log.Lines.Text := Log.Lines.Text +
|
||||
'From: ' + frxReportClient1.GetServerVariable('SERVER_LAST_UPDATE');
|
||||
Log.Lines.Text := Log.Lines.Text +
|
||||
'Uptime: ' + frxReportClient1.GetServerVariable('SERVER_UPTIME');
|
||||
Log.Lines.Add('Ping:' + FloatToStr(tf) + 'ms.');
|
||||
end;
|
||||
Log.Lines.AddStrings(frxReportClient1.Errors);
|
||||
|
||||
AccessFlag := frxReportClient1.Errors.Count = 0;
|
||||
|
||||
if AccessFlag then
|
||||
begin
|
||||
ReportsList.Text := frxReportClient1.GetServerVariable('SERVER_REPORTS_LIST');
|
||||
if ReportsList.Count > 0 then
|
||||
begin
|
||||
ReportsTree.Items.BeginUpdate;
|
||||
TopNode := nil;
|
||||
Oldname := '';
|
||||
for i := 0 to (ReportsList.Count div 3) - 1 do
|
||||
begin
|
||||
s := ReportsList[(i * 3) + 1];
|
||||
s := StringReplace(StringReplace(s, ExtractFileName(s), '', []), '\', ' ', [rfReplaceAll]);
|
||||
if s <> OldName then
|
||||
begin
|
||||
if s = '' then
|
||||
s1 := 'Reports'
|
||||
else
|
||||
s1 := s;
|
||||
Node := ReportsTree.Items.AddChild(nil, s1);
|
||||
Node.Data := Pointer(-1);
|
||||
Node.ImageIndex := 0;
|
||||
TopNode := Node;
|
||||
OldName := s;
|
||||
end;
|
||||
Node := ReportsTree.Items.AddChild(TopNode, ReportsList[i * 3]);
|
||||
Node.Data := Pointer((i * 3));
|
||||
Node.ImageIndex := 1;
|
||||
end;
|
||||
ReportsTree.Items.EndUpdate;
|
||||
ReportsTree.TopItem := ReportsTree.Items[0];
|
||||
ReportsTree.Selected := ReportsTree.Items[0];
|
||||
ReportsTree.SetFocus;
|
||||
end else
|
||||
Log.Lines.Add('Nothing reports is available or information restricted.');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.Clear1Click(Sender: TObject);
|
||||
begin
|
||||
Log.Clear;
|
||||
end;
|
||||
|
||||
procedure TMainForm.ReportsTreeChange(Sender: TObject; Node: TTreeNode);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
i := Integer(Node.Data);
|
||||
if i <> -1 then
|
||||
Description.Text := ReportsList[i + 2]
|
||||
else
|
||||
Description.Text := Node.Text;
|
||||
ShowBtn.Enabled := i <> -1;
|
||||
ExportBtn.Enabled := ShowBtn.Enabled;
|
||||
TestBtn.Enabled := ShowBtn.Enabled;
|
||||
end;
|
||||
|
||||
procedure TMainForm.ReportsTreeCustomDrawItem(Sender: TCustomTreeView;
|
||||
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
|
||||
begin
|
||||
if Node.Count <> 0 then
|
||||
ReportsTree.Canvas.Font.Style := [fsBold];
|
||||
end;
|
||||
|
||||
procedure TMainForm.ExportBtnClick(Sender: TObject);
|
||||
var
|
||||
t: Cardinal;
|
||||
tf: Double;
|
||||
i: Integer;
|
||||
begin
|
||||
frxServerConnection1.Host := Host.Text;
|
||||
frxServerConnection1.Port := StrToInt(Port.Text);
|
||||
frxServerConnection1.Login := Login.Text;
|
||||
frxServerConnection1.Password := Password.Text;
|
||||
if (Length(ProxyHost.Text) > 0) then
|
||||
begin
|
||||
frxServerConnection1.ProxyHost := ProxyHost.Text;
|
||||
frxServerConnection1.ProxyPort := StrToInt(ProxyPort.Text);
|
||||
end;
|
||||
i := Integer(ReportsTree.Selected.Data);
|
||||
if i <> -1 then
|
||||
begin
|
||||
frxReportClient1.LoadFromFile(ReportsList[i + 1]);
|
||||
t := GetTickCount;
|
||||
if frxReportClient1.PrepareReport then
|
||||
begin
|
||||
tf := (GetTickCount - t) / 1000;
|
||||
Log.Lines.Add(frxReportClient1.ReportName +
|
||||
' Time=' + FloatToStr(tf) + ' Size=' + IntToStr(frxReportClient1.Client.StreamSize));
|
||||
frxReportClient1.Export(frxPDFExport1);
|
||||
end;
|
||||
Log.Lines.AddStrings(frxReportClient1.Errors);
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TfrxClientTestThread }
|
||||
|
||||
constructor TfrxClientTestThread.Create(C: TfrxServerConnection; RepName: String;
|
||||
Id: Integer; Rep: Integer; L: TMemo);
|
||||
begin
|
||||
inherited Create(True);
|
||||
ErrorsCount := 0;
|
||||
ThreadId := Id;
|
||||
CountRep := Rep;
|
||||
FConnection := C;
|
||||
FRepName := RepName;
|
||||
Log := L;
|
||||
Done := False;
|
||||
Resume;
|
||||
end;
|
||||
|
||||
procedure TfrxClientTestThread.Execute;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Done := False;
|
||||
Report := TfrxReportClient.Create(nil);
|
||||
Report.EngineOptions.EnableThreadSafe := True;
|
||||
Report.ShowProgress := False;
|
||||
Report.EngineOptions.SilentMode := True;
|
||||
Report.Connection := FConnection;
|
||||
Report.ReportName := FRepName;
|
||||
i := 0;
|
||||
while (i < CountRep) and (not Terminated) do
|
||||
begin
|
||||
Report.Clear;
|
||||
Report.PrepareReport;
|
||||
Synchronize(AppendLog);
|
||||
ErrorsCount := ErrorsCount + Report.Errors.Count;
|
||||
Inc(i);
|
||||
end;
|
||||
Synchronize(FinishLog);
|
||||
Report.Free;
|
||||
Done := True;
|
||||
end;
|
||||
|
||||
procedure TfrxClientTestThread.AppendLog;
|
||||
begin
|
||||
if Assigned(Log) and (Report.Errors.Count > 0) then
|
||||
begin
|
||||
Log.Lines.Add('Thread#' + IntToStr(ThreadID));
|
||||
Log.Lines.AddStrings(Report.Errors);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrxClientTestThread.FinishLog;
|
||||
begin
|
||||
if Assigned(Log) and (not Terminated) then
|
||||
Log.Lines.Add('Thread#' + IntToStr(ThreadID) + ' finished. Errors:' + IntToStr(ErrorsCount));
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -0,0 +1,14 @@
|
||||
program FRClientSimple;
|
||||
|
||||
uses
|
||||
Forms,
|
||||
main in 'main.pas' {main};
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.Title := 'FastReport Simple Client Demo';
|
||||
Application.CreateForm(TMainForm, MainForm);
|
||||
Application.Run;
|
||||
end.
|
||||
BIN
internal/4.2/1/Demos/ClientServer/Client/Simple/main.dfm
Normal file
124
internal/4.2/1/Demos/ClientServer/Client/Simple/main.pas
Normal file
@ -0,0 +1,124 @@
|
||||
|
||||
{******************************************}
|
||||
{ }
|
||||
{ FastReport v4.0 }
|
||||
{ FastReport simple client demo }
|
||||
{ Copyright (c) 1998-2007 }
|
||||
{ by Alexander Fediachov, }
|
||||
{ Fast Reports Inc. }
|
||||
{ }
|
||||
{******************************************}
|
||||
|
||||
unit main;
|
||||
|
||||
{$I frx.inc}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, SysUtils, Classes, Controls, Forms,
|
||||
Dialogs, StdCtrls, ShellApi, frxClass, frxServerClient,
|
||||
frxGZip, frxDCtrl, frxChBox, frxCross, frxRich, frxChart,
|
||||
frxOLE, frxBarcode, ExtCtrls, frxExportPDF, frxExportImage,
|
||||
frxExportRTF, frxExportXML, frxExportXLS, frxExportHTML,
|
||||
frxExportTXT, frxGradient, Graphics
|
||||
{$IFDEF Delphi6}
|
||||
, Variants
|
||||
{$ENDIF};
|
||||
|
||||
type
|
||||
TMainForm = class(TForm)
|
||||
frxServerConnection1: TfrxServerConnection;
|
||||
frxReportClient1: TfrxReportClient;
|
||||
Memo1: TMemo;
|
||||
Label3: TLabel;
|
||||
ShowBtn: TButton;
|
||||
CloseBtn: TButton;
|
||||
Label4: TLabel;
|
||||
Label5: TLabel;
|
||||
Port: TEdit;
|
||||
frxBarCodeObject1: TfrxBarCodeObject;
|
||||
frxOLEObject1: TfrxOLEObject;
|
||||
frxChartObject1: TfrxChartObject;
|
||||
frxRichObject1: TfrxRichObject;
|
||||
frxCrossObject1: TfrxCrossObject;
|
||||
frxCheckBoxObject1: TfrxCheckBoxObject;
|
||||
frxDialogControls1: TfrxDialogControls;
|
||||
Label7: TLabel;
|
||||
Login: TEdit;
|
||||
Label8: TLabel;
|
||||
Password: TEdit;
|
||||
Label9: TLabel;
|
||||
Label10: TLabel;
|
||||
Label11: TLabel;
|
||||
Image1: TImage;
|
||||
Panel1: TPanel;
|
||||
frxHTMLExport1: TfrxHTMLExport;
|
||||
frxXLSExport1: TfrxXLSExport;
|
||||
frxRTFExport1: TfrxRTFExport;
|
||||
frxPDFExport1: TfrxPDFExport;
|
||||
Label14: TLabel;
|
||||
Label15: TLabel;
|
||||
Panel2: TPanel;
|
||||
Host: TEdit;
|
||||
Label1: TLabel;
|
||||
RepName: TEdit;
|
||||
Label2: TLabel;
|
||||
Label6: TLabel;
|
||||
Param1: TEdit;
|
||||
Param1Value: TEdit;
|
||||
Label12: TLabel;
|
||||
Label13: TLabel;
|
||||
Param2: TEdit;
|
||||
Param2Value: TEdit;
|
||||
procedure CloseBtnClick(Sender: TObject);
|
||||
procedure ShowBtnClick(Sender: TObject);
|
||||
procedure Label11Click(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
end;
|
||||
|
||||
var
|
||||
MainForm: TMainForm;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{$IFDEF Delphi7}
|
||||
uses XPMan;
|
||||
{$ENDIF}
|
||||
|
||||
procedure TMainForm.CloseBtnClick(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TMainForm.ShowBtnClick(Sender: TObject);
|
||||
begin
|
||||
frxServerConnection1.Host := Host.Text;
|
||||
frxServerConnection1.Port := StrToInt(Port.Text);
|
||||
frxServerConnection1.Login := Login.Text;
|
||||
frxServerConnection1.Password := Password.Text;
|
||||
frxReportClient1.LoadFromFile(RepName.Text);
|
||||
frxReportClient1.Variables.Clear;
|
||||
if Length(Param1Value.Text) > 0 then
|
||||
frxReportClient1.Variables[Param1.Text] := Param1Value.Text;
|
||||
if Length(Param2Value.Text) > 0 then
|
||||
frxReportClient1.Variables[Param2.Text] := Param2Value.Text;
|
||||
if frxReportClient1.PrepareReport then
|
||||
frxReportClient1.ShowPreparedReport;
|
||||
Memo1.Lines.AddStrings(frxReportClient1.Errors);
|
||||
end;
|
||||
|
||||
procedure TMainForm.Label11Click(Sender: TObject);
|
||||
begin
|
||||
ShellExecute(GetDesktopWindow, 'open', PChar(Label11.Caption), nil, nil, SW_SHOW);
|
||||
end;
|
||||
|
||||
procedure TMainForm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
Label14.Caption := #174;
|
||||
Label15.Caption := #169 + label15.Caption;
|
||||
end;
|
||||
|
||||
end.
|
||||
15
internal/4.2/1/Demos/ClientServer/Server/FRServer.dpr
Normal file
@ -0,0 +1,15 @@
|
||||
program FRServer;
|
||||
|
||||
uses
|
||||
Windows,
|
||||
Forms,
|
||||
Main in 'Main.pas' {main};
|
||||
|
||||
{$R *.RES}
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.Title := 'FastReport Server Demo';
|
||||
Application.CreateForm(TMainForm, MainForm);
|
||||
Application.Run;
|
||||
end.
|
||||
BIN
internal/4.2/1/Demos/ClientServer/Server/FRServer.res
Normal file
BIN
internal/4.2/1/Demos/ClientServer/Server/Main.dfm
Normal file
280
internal/4.2/1/Demos/ClientServer/Server/Main.pas
Normal file
@ -0,0 +1,280 @@
|
||||
|
||||
{******************************************}
|
||||
{ }
|
||||
{ FastReport v4.0 }
|
||||
{ FastReport Server demo }
|
||||
{ Copyright (c) 1998-2007 }
|
||||
{ by Alexander Fediachov, }
|
||||
{ Fast Reports Inc. }
|
||||
{ }
|
||||
{******************************************}
|
||||
|
||||
unit Main;
|
||||
|
||||
{$I frx.inc}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
|
||||
StdCtrls, Db, DBTables, frxDesgn, frxClass, frxDCtrl,
|
||||
frxChart, frxRich, frxBarcode, ImgList, ComCtrls, ExtCtrls, frxOLE,
|
||||
frxCross, frxServer, frxGradient, frxChBox, Menus, ShellApi,
|
||||
frxADOComponents, ADODB, frxGZip, Dialogs, frxMD5, frxServerUtils, IniFiles,
|
||||
frxServerStat, frxServerConfig;
|
||||
|
||||
type
|
||||
TMainForm = class(TForm)
|
||||
frBarCodeObject1: TfrxBarCodeObject;
|
||||
frRichObject1: TfrxRichObject;
|
||||
frChartObject1: TfrxChartObject;
|
||||
frDialogControls1: TfrxDialogControls;
|
||||
ImageList1: TImageList;
|
||||
Image1: TImage;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
frOLEObject1: TfrxOLEObject;
|
||||
frCrossObject1: TfrxCrossObject;
|
||||
frxCheckBoxObject1: TfrxCheckBoxObject;
|
||||
PopupMenu1: TPopupMenu;
|
||||
Close1: TMenuItem;
|
||||
ShowWin: TMenuItem;
|
||||
N1: TMenuItem;
|
||||
MinimizeBtn: TButton;
|
||||
CloseBtn: TButton;
|
||||
GroupBox1: TGroupBox;
|
||||
Label4: TLabel;
|
||||
LBActive: TLabel;
|
||||
LBInactive: TLabel;
|
||||
GroupBox2: TGroupBox;
|
||||
Label5: TLabel;
|
||||
ETotalSessions: TEdit;
|
||||
Label6: TLabel;
|
||||
ETotalReports: TEdit;
|
||||
Timer1: TTimer;
|
||||
Label7: TLabel;
|
||||
Label8: TLabel;
|
||||
EMaxReports: TEdit;
|
||||
EMaxSessions: TEdit;
|
||||
Label9: TLabel;
|
||||
Label10: TLabel;
|
||||
ECurrentReports: TEdit;
|
||||
ECurrentSessions: TEdit;
|
||||
Label11: TLabel;
|
||||
EErrors: TEdit;
|
||||
N2: TMenuItem;
|
||||
Start1: TMenuItem;
|
||||
Stop1: TMenuItem;
|
||||
StartBtn: TButton;
|
||||
StopBtn: TButton;
|
||||
DesignBtn: TButton;
|
||||
frxDesigner1: TfrxDesigner;
|
||||
OpenDialog1: TOpenDialog;
|
||||
Label12: TLabel;
|
||||
Uptime: TLabel;
|
||||
frxADOComponents1: TfrxADOComponents;
|
||||
Serv: TfrxReportServer;
|
||||
Label13: TLabel;
|
||||
DemoDatabase: TADOConnection;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
procedure MinimizeBtnClick(Sender: TObject);
|
||||
procedure ShutBtnClick(Sender: TObject);
|
||||
procedure ShowWinClick(Sender: TObject);
|
||||
procedure StartBtnClick(Sender: TObject);
|
||||
procedure StopBtnClick(Sender: TObject);
|
||||
procedure Timer1Timer(Sender: TObject);
|
||||
procedure DesignBtnClick(Sender: TObject);
|
||||
procedure Label3Click(Sender: TObject);
|
||||
protected
|
||||
procedure ControlWindow(var Msg:TMessage); message WM_SYSCOMMAND;
|
||||
procedure IconMouse(var Msg : TMessage); message WM_USER + 1;
|
||||
private
|
||||
Icon: TIcon;
|
||||
frReport1: TfrxReport;
|
||||
procedure TrayIcon(n: Integer; Icon: TIcon);
|
||||
end;
|
||||
|
||||
var
|
||||
MainForm: TMainForm;
|
||||
dbMd: String;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.DFM}
|
||||
|
||||
{$IFDEF Delphi7}
|
||||
uses XPMan;
|
||||
{$ENDIF}
|
||||
|
||||
var
|
||||
DATABASE_FILE: String;
|
||||
DBConnStr: String = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=';
|
||||
|
||||
procedure TMainForm.TrayIcon(n:Integer;Icon:TIcon);
|
||||
var
|
||||
Nim: TNotifyIconData;
|
||||
begin
|
||||
with Nim do
|
||||
begin
|
||||
cbSize:=SizeOf(Nim);
|
||||
Wnd:=Self.Handle;
|
||||
uID:=1;
|
||||
uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
|
||||
hicon:=Icon.Handle;
|
||||
uCallbackMessage:=WM_USER + 1;
|
||||
szTip:='FastReport Server';
|
||||
end;
|
||||
case n of
|
||||
1: Shell_NotifyIcon(Nim_Add,@Nim);
|
||||
2: Shell_NotifyIcon(Nim_Delete,@Nim);
|
||||
3: Shell_NotifyIcon(Nim_Modify,@Nim);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.ControlWindow(var Msg: TMessage);
|
||||
begin
|
||||
if Msg.WParam = SC_MINIMIZE then
|
||||
begin
|
||||
TrayIcon(1, Icon);
|
||||
ShowWindow(Application.Handle, SW_HIDE);
|
||||
ShowWindow(Handle, SW_HIDE);
|
||||
end else
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TMainForm.IconMouse(var Msg: TMessage);
|
||||
var
|
||||
p:tpoint;
|
||||
begin
|
||||
GetCursorPos(p);
|
||||
case Msg.LParam of
|
||||
WM_LBUTTONUP, WM_LBUTTONDBLCLK:
|
||||
ShowWinClick(nil);
|
||||
WM_RBUTTONUP:
|
||||
begin
|
||||
SetForegroundWindow(Handle);
|
||||
PopupMenu1.Popup(p.X, p.Y);
|
||||
PostMessage(Handle,WM_NULL,0,0)
|
||||
end;
|
||||
End;
|
||||
end;
|
||||
|
||||
procedure TMainForm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
Label13.Caption := #174;
|
||||
Icon := TIcon.Create;
|
||||
ImageList1.GetIcon(0, Icon);
|
||||
DemoDatabase.ConnectionString := DBConnStr + frxGetAbsPath(ServerConfig.GetValue('server.database.pathtodatabase'));
|
||||
try
|
||||
DemoDatabase.Open;
|
||||
except
|
||||
ShowMessage('Error database connection!');
|
||||
end;
|
||||
StartBtnClick(Sender);
|
||||
MinimizeBtnClick(Sender);
|
||||
end;
|
||||
|
||||
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
begin
|
||||
if Serv <> nil then
|
||||
StopBtnClick(Sender);
|
||||
TrayIcon(2, Icon);
|
||||
Icon.Free;
|
||||
if DemoDatabase.Connected then
|
||||
DemoDatabase.Close;
|
||||
end;
|
||||
|
||||
procedure TMainForm.MinimizeBtnClick(Sender: TObject);
|
||||
begin
|
||||
PostMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
|
||||
end;
|
||||
|
||||
procedure TMainForm.ShutBtnClick(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TMainForm.ShowWinClick(Sender: TObject);
|
||||
begin
|
||||
ShowWindow(Application.Handle, SW_SHOWNORMAL);
|
||||
ShowWindow(Handle, SW_SHOWNORMAL);
|
||||
end;
|
||||
|
||||
procedure TMainForm.StartBtnClick(Sender: TObject);
|
||||
begin
|
||||
if DemoDatabase.Connected then
|
||||
begin
|
||||
Screen.Cursor := crHourGlass;
|
||||
try
|
||||
Serv.Open;
|
||||
if Serv.Active then
|
||||
begin
|
||||
StartBtn.Enabled := False;
|
||||
StopBtn.Enabled := True;
|
||||
LBActive.Visible := True;
|
||||
LBInactive.Visible := False;
|
||||
Timer1.Enabled := True;
|
||||
ImageList1.GetIcon(0, Icon);
|
||||
TrayIcon(3, Icon);
|
||||
Start1.Enabled := False;
|
||||
Stop1.Enabled := True;
|
||||
end;
|
||||
finally
|
||||
Screen.Cursor := crDefault;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.StopBtnClick(Sender: TObject);
|
||||
begin
|
||||
Screen.Cursor := crHourGlass;
|
||||
try
|
||||
Timer1.Enabled := False;
|
||||
Serv.Close;
|
||||
StartBtn.Enabled := True;
|
||||
StopBtn.Enabled := False;
|
||||
LBActive.Visible := False;
|
||||
LBInactive.Visible := True;
|
||||
ImageList1.GetIcon(1, Icon);
|
||||
TrayIcon(3, Icon);
|
||||
Start1.Enabled := True;
|
||||
Stop1.Enabled := False;
|
||||
finally
|
||||
Screen.Cursor := crDefault;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.Timer1Timer(Sender: TObject);
|
||||
begin
|
||||
ETotalSessions.Text := IntToStr(ServerStatistic.TotalSessionsCount);
|
||||
ETotalReports.Text := IntToStr(ServerStatistic.TotalReportsCount);
|
||||
EMaxSessions.Text := IntToStr(ServerStatistic.MaxSessionsCount);
|
||||
EMaxReports.Text := IntToStr(ServerStatistic.MaxReportsCount);
|
||||
EErrors.Text := IntToStr(ServerStatistic.TotalErrors);
|
||||
ECurrentSessions.Text := IntToStr(ServerStatistic.CurrentSessionsCount);
|
||||
ECurrentReports.Text := IntToStr(ServerStatistic.CurrentReportsCount);
|
||||
Uptime.Caption := ServerStatistic.FormatUpTime;
|
||||
Label2.Caption := 'Version: ' + Serv.Variables.GetValue('SERVER_SOFTWARE');
|
||||
end;
|
||||
|
||||
procedure TMainForm.DesignBtnClick(Sender: TObject);
|
||||
begin
|
||||
OpenDialog1.InitialDir := Serv.Configuration.ReportPath;
|
||||
if OpenDialog1.Execute then
|
||||
begin
|
||||
frReport1 := TfrxReport.Create(nil);
|
||||
frReport1.LoadFromFile(OpenDialog1.FileName);
|
||||
frReport1.Variables['PathToDataBase'] := '''' + DATABASE_FILE + '''';
|
||||
frReport1.DesignReport;
|
||||
frReport1.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.Label3Click(Sender: TObject);
|
||||
begin
|
||||
ShellExecute(GetDesktopWindow, 'open', PChar(Label3.Caption), nil, nil, SW_SHOW);
|
||||
end;
|
||||
|
||||
end.
|
||||
0
internal/4.2/1/Demos/ClientServer/Server/allow.conf
Normal file
156
internal/4.2/1/Demos/ClientServer/Server/config.xml
Normal file
@ -0,0 +1,156 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<servers configversion="1.1">
|
||||
<server desc="FastReport Server configuration">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Name" value="FastReport Server" default="" type="string" desc=""/>
|
||||
<http desc="HTTP server settings">
|
||||
<set name="Port" value="80" default="80" type="number" desc="TCP/IP port for HTTP server"/>
|
||||
<set name="SessionTimeOut" value="600" default="600" type="number" desc="Report session timeout in seconds"/>
|
||||
<set name="SocketTimeOut" value="600" default="300" type="number" desc="Client connection timeout in seconds"/>
|
||||
<set name="NoCacheHeader" value="yes" default="yes" type="bool" desc="Disable of the caching document by the web browser"/>
|
||||
<set name="Compression" value="yes" default="yes" type="bool" desc="Allow GZIP compression"/>
|
||||
<set name="MIC" value="yes" default="yes" type="bool" desc="Allow MD5 message integrity check"/>
|
||||
<set name="RootPath" value=".\htdocs\" default=".\htdocs\" type="folder" desc="Public document folder for documents and results"/>
|
||||
<set name="IndexFile" value="index.html" default="index.html" type="string" desc="Index page filename"/>
|
||||
<!-- new -->
|
||||
<set name="TemplatesPath" value=".\templates\" default=".\templates\" type="folder" desc="Path to folder with templates"/>
|
||||
<!-- /new -->
|
||||
</http>
|
||||
<reports desc="Reporting engine settings">
|
||||
<set name="Path" value=".\reports\" default=".\reports\" type="folder" desc="Path to folder with the reports (*.fr3)"/>
|
||||
<set name="Temp" value="" default="" type="string" desc="Path to temporary folder"/>
|
||||
<set name="UseFileCache" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="MaxMemSize" value="10" default="10" type="number" desc=""/>
|
||||
</reports>
|
||||
<exports desc="Output formats settings">
|
||||
<html desc="HTML format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="FixedWidth" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Pictures" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="AllInOneFolder" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Styles" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Navigator" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="SinglePage" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Background" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="PicsFormat" value="gif" default="jpeg" type="bmp/jpeg/gif" desc=""/>
|
||||
</html>
|
||||
<!-- new -->
|
||||
<ods desc="Open Document Spreadsheet format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Continuous" value="no" default="yes" type="bool" desc=""/>
|
||||
<set name="PageBreaks" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Wysiwyg" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Background" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="EmptyLines" value="yes" default="yes" type="bool" desc=""/>
|
||||
</ods>
|
||||
<odt desc="Open Document Text format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Continuous" value="no" default="yes" type="bool" desc=""/>
|
||||
<set name="PageBreaks" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Wysiwyg" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Background" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="EmptyLines" value="yes" default="yes" type="bool" desc=""/>
|
||||
</odt>
|
||||
<!-- /new -->
|
||||
<pdf desc="Adobe Acrobat PDF format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="EmbeddedFonts" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="PrintOptimized" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Outline" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Background" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="HTMLTags" value="yes" default="yes" type="bool" desc=""/>
|
||||
</pdf>
|
||||
<rtf desc="Rich Text format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="PageBreaks" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Pictures" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Wysiwyg" value="yes" default="yes" type="bool" desc=""/>
|
||||
</rtf>
|
||||
<xml desc="XML format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Continuous" value="no" default="yes" type="bool" desc=""/>
|
||||
<set name="Styles" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="PageBreaks" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Wysiwyg" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Background" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="EmptyLines" value="yes" default="yes" type="bool" desc=""/>
|
||||
</xml>
|
||||
<bmp desc="BMP format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Crop" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Monochrome" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Resolution" value="72" default="72" type="number" desc="Resolution in dpi"/>
|
||||
<set name="SingleFile" value="no" default="no" type="bool" desc=""/>
|
||||
</bmp>
|
||||
<jpg desc="Jpeg format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Crop" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Monochrome" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Resolution" value="72" default="72" type="number" desc="Resolution in dpi"/>
|
||||
<set name="SingleFile" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Quality" value="90" default="90" type="number" desc="Jpeg quality"/>
|
||||
</jpg>
|
||||
<gif desc="GIF format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Crop" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Resolution" value="72" default="72" type="number" desc="Resolution in dpi"/>
|
||||
<set name="SingleFile" value="no" default="no" type="bool" desc=""/>
|
||||
</gif>
|
||||
<tiff desc="TIFF format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Crop" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Monochrome" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Resolution" value="72" default="72" type="number" desc="Resolution in dpi"/>
|
||||
<set name="SingleFile" value="no" default="no" type="bool" desc=""/>
|
||||
</tiff>
|
||||
<csv desc="CSV table text format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Separator" value=";" default=";" type="string" desc=""/>
|
||||
<set name="OEMCodepage" value="no" default="no" type="bool" desc=""/>
|
||||
</csv>
|
||||
<txt desc="Plain text format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="PageBreaks" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Frames" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="EmptyLines" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="OEMCodepage" value="no" default="no" type="bool" desc=""/>
|
||||
</txt>
|
||||
<fp3 desc="FastReport native format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
</fp3>
|
||||
</exports>
|
||||
<cache desc="Cache settings">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc="Enable caching of the reports with same parameters"/>
|
||||
<set name="Path" value=".\cache\" default=".\cache\" type="folder" desc="Path to the chache folder"/>
|
||||
<set name="DefaultLatency" value="300" default="300" type="number" desc="Default delay for cache of the report results in seconds"/>
|
||||
<set name="Target" value="memory" default="memory" type="memory/disk" desc="Target of cache spool placement"/>
|
||||
<set name="ReportsLatencyFile" value=".\cache.xml" default=".\cache.xml" type="file" desc="Path to file with custom latency of reports"/>
|
||||
</cache>
|
||||
<logs desc="Log settings">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc="Enable of log writing"/>
|
||||
<set name="Path" value=".\logs\" default=".\logs\" type="folder" desc="Path to folder with logs"/>
|
||||
<set name="RotateFiles" value="5" default="5" type="number" desc="Maximum log files in history"/>
|
||||
<set name="RotateSize" value="1024" default="1024" type="number" desc="Maximum log file size in Kb"/>
|
||||
<set name="AccessLog" value="access.log" default="access.log" type="string" desc="Access log"/>
|
||||
<set name="ErrorLog" value="error.log" default="error.log" type="string" desc="Errors log"/>
|
||||
<set name="AgentLog" value="agent.log" default="agent.log" type="string" desc="Agents log"/>
|
||||
<set name="RefererLog" value="referer.log" default="referer.log" type="string" desc="Referers log"/>
|
||||
<set name="ServerLog" value="server.log" default="server.log" type="string" desc="Server log"/>
|
||||
<set name="AuthLog" value="auth.log" default="auth.log" type="string" desc="Authentifications log"/>
|
||||
</logs>
|
||||
<security desc="Security settings">
|
||||
<set name="Login" value="" default="" type="string" desc="Login"/>
|
||||
<set name="Password" value="" default="" type="string" desc="Login"/>
|
||||
<set name="ReportsList" value="yes" default="yes" type="bool" desc="Allow list of the available reports"/>
|
||||
<set name="AllowFile" value=".\allow.conf" default="allow.conf" type="file" desc="File with list of allowed IP addreses"/>
|
||||
<set name="DenyFile" value=".\deny.conf" default="deny.conf" type="file" desc="File with list of denied IP addreses"/>
|
||||
<set name="UserAuth" value="no" default="no" type="bool" desc="Allow user authentification"/>
|
||||
<set name="UsersFile" value=".\users.xml" default=".\users.xml" type="file" desc="Path to file with users permissions"/>
|
||||
</security>
|
||||
<database desc="DB connection settings">
|
||||
<set name="Type" value="ADO" default="ADO" type="ADO" desc=""/>
|
||||
<set name="Connection" value="FR Demo Base" default="" type="string" desc=""/>
|
||||
<set name="PathToDataBase" value="..\..\main\demo.mdb" default="" type="string" desc="For backward FastReport Enterprise compatibility"/>
|
||||
</database>
|
||||
</server>
|
||||
</servers>
|
||||
135
internal/4.2/1/Demos/ClientServer/Server/config_demo.xml
Normal file
@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<servers configversion="1.0">
|
||||
<server desc="FastReport Server configuration">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Name" value="FastReport Server" default="" type="string" desc=""/>
|
||||
<http desc="HTTP server settings">
|
||||
<set name="Port" value="80" default="80" type="number" desc="TCP/IP port for HTTP server"/>
|
||||
<set name="SessionTimeOut" value="600" default="600" type="number" desc="Report session timeout in seconds"/>
|
||||
<set name="SocketTimeOut" value="600" default="300" type="number" desc="Client connection timeout in seconds"/>
|
||||
<set name="NoCacheHeader" value="yes" default="yes" type="bool" desc="Disable of the caching document by the web browser"/>
|
||||
<set name="Compression" value="yes" default="yes" type="bool" desc="Allow GZIP compression"/>
|
||||
<set name="MIC" value="yes" default="yes" type="bool" desc="Allow MD5 message integrity check"/>
|
||||
<set name="RootPath" value=".\htdocs\" default=".\htdocs\" type="folder" desc="Public document folder for documents and results"/>
|
||||
<set name="IndexFile" value="index.html" default="index.html" type="string" desc="Index page filename"/>
|
||||
</http>
|
||||
<reports desc="Reporting engine settings">
|
||||
<set name="Path" value=".\reports\" default=".\reports\" type="folder" desc="Path to folder with the reports (*.fr3)"/>
|
||||
<set name="Temp" value="" default="" type="string" desc="Path to temporary folder"/>
|
||||
<set name="UseFileCache" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="MaxMemSize" value="10" default="10" type="number" desc=""/>
|
||||
</reports>
|
||||
<exports desc="Output formats settings">
|
||||
<html desc="HTML format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="FixedWidth" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Pictures" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="AllInOneFolder" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Styles" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Navigator" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="SinglePage" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Background" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="PicsFormat" value="gif" default="jpeg" type="bmp/jpeg/gif" desc=""/>
|
||||
</html>
|
||||
<pdf desc="Adobe Acrobat PDF format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="EmbeddedFonts" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="PrintOptimized" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Outline" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Background" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="HTMLTags" value="yes" default="yes" type="bool" desc=""/>
|
||||
</pdf>
|
||||
<rtf desc="Rich Text format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="PageBreaks" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Pictures" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Wysiwyg" value="yes" default="yes" type="bool" desc=""/>
|
||||
</rtf>
|
||||
<xml desc="XML format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Continuous" value="no" default="yes" type="bool" desc=""/>
|
||||
<set name="Styles" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="PageBreaks" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Wysiwyg" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Background" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="EmptyLines" value="yes" default="yes" type="bool" desc=""/>
|
||||
</xml>
|
||||
<bmp desc="BMP format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Crop" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Monochrome" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Resolution" value="72" default="72" type="number" desc="Resolution in dpi"/>
|
||||
<set name="SingleFile" value="no" default="no" type="bool" desc=""/>
|
||||
</bmp>
|
||||
<jpg desc="Jpeg format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Crop" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Monochrome" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Resolution" value="72" default="72" type="number" desc="Resolution in dpi"/>
|
||||
<set name="SingleFile" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Quality" value="90" default="90" type="number" desc="Jpeg quality"/>
|
||||
</jpg>
|
||||
<gif desc="GIF format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Crop" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Resolution" value="72" default="72" type="number" desc="Resolution in dpi"/>
|
||||
<set name="SingleFile" value="no" default="no" type="bool" desc=""/>
|
||||
</gif>
|
||||
<tiff desc="TIFF format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Crop" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Monochrome" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="Resolution" value="72" default="72" type="number" desc="Resolution in dpi"/>
|
||||
<set name="SingleFile" value="no" default="no" type="bool" desc=""/>
|
||||
</tiff>
|
||||
<csv desc="CSV table text format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Separator" value=";" default=";" type="string" desc=""/>
|
||||
<set name="OEMCodepage" value="no" default="no" type="bool" desc=""/>
|
||||
</csv>
|
||||
<txt desc="Plain text format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="PageBreaks" value="yes" default="yes" type="bool" desc=""/>
|
||||
<set name="Frames" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="EmptyLines" value="no" default="no" type="bool" desc=""/>
|
||||
<set name="OEMCodepage" value="no" default="no" type="bool" desc=""/>
|
||||
</txt>
|
||||
<fp3 desc="FastReport native format">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc=""/>
|
||||
</fp3>
|
||||
</exports>
|
||||
<cache desc="Cache settings">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc="Enable caching of the reports with same parameters"/>
|
||||
<set name="Path" value=".\cache\" default=".\cache\" type="folder" desc="Path to the chache folder"/>
|
||||
<set name="DefaultLatency" value="300" default="300" type="number" desc="Default delay for cache of the report results in seconds"/>
|
||||
<set name="Target" value="memory" default="memory" type="memory/disk" desc="Target of cache spool placement"/>
|
||||
<set name="ReportsLatencyFile" value=".\cache.xml" default=".\cache.xml" type="file" desc="Path to file with custom latency of reports"/>
|
||||
</cache>
|
||||
<logs desc="Log settings">
|
||||
<set name="Active" value="yes" default="yes" type="bool" desc="Enable of log writing"/>
|
||||
<set name="Path" value=".\logs\" default=".\logs\" type="folder" desc="Path to folder with logs"/>
|
||||
<set name="RotateFiles" value="5" default="5" type="number" desc="Maximum log files in history"/>
|
||||
<set name="RotateSize" value="1024" default="1024" type="number" desc="Maximum log file size in Kb"/>
|
||||
<set name="AccessLog" value="access.log" default="access.log" type="string" desc="Access log"/>
|
||||
<set name="ErrorLog" value="error.log" default="error.log" type="string" desc="Errors log"/>
|
||||
<set name="AgentLog" value="agent.log" default="agent.log" type="string" desc="Agents log"/>
|
||||
<set name="RefererLog" value="referer.log" default="referer.log" type="string" desc="Referers log"/>
|
||||
<set name="ServerLog" value="server.log" default="server.log" type="string" desc="Server log"/>
|
||||
<set name="AuthLog" value="auth.log" default="auth.log" type="string" desc="Authentifications log"/>
|
||||
</logs>
|
||||
<security desc="Security settings">
|
||||
<set name="Login" value="" default="" type="string" desc="Login"/>
|
||||
<set name="Password" value="" default="" type="string" desc="Login"/>
|
||||
<set name="ReportsList" value="yes" default="yes" type="bool" desc="Allow list of the available reports"/>
|
||||
<set name="AllowFile" value=".\allow.conf" default="allow.conf" type="file" desc="File with list of allowed IP addreses"/>
|
||||
<set name="DenyFile" value=".\deny.conf" default="deny.conf" type="file" desc="File with list of denied IP addreses"/>
|
||||
<set name="UserAuth" value="no" default="no" type="bool" desc="Allow user authentification"/>
|
||||
<set name="UsersFile" value=".\users.xml" default=".\users.xml" type="file" desc="Path to file with users permissions"/>
|
||||
</security>
|
||||
<database desc="DB connection settings">
|
||||
<set name="Type" value="ADO" default="ADO" type="ADO" desc=""/>
|
||||
<set name="Connection" value="FR Demo Base" default="" type="string" desc=""/>
|
||||
<set name="PathToDataBase" value=".\demo.mdb" default="" type="string" desc="For backward FastReport Enterprise compatibility"/>
|
||||
</database>
|
||||
</server>
|
||||
</servers>
|
||||
0
internal/4.2/1/Demos/ClientServer/Server/deny.conf
Normal file
35
internal/4.2/1/Demos/ClientServer/Server/htdocs/about.html
Normal file
@ -0,0 +1,35 @@
|
||||
<!--#include virtual="header.html" --> || Short description
|
||||
<!--#include virtual="top.html" -->
|
||||
<font face="Tahoma" size="3"><a href="index.html"><b>Back to main page</b></a><b><br></b></font>
|
||||
<hr>
|
||||
<font face="Tahoma" size="4"><b>Short description</b><br>
|
||||
<p><font face="Tahoma" size="3"><b>1. Introduction</b></font></p>
|
||||
<p><font face="Tahoma" size="2">
|
||||
FastReport server provides many features for server side reporting in
|
||||
internet/intranet networks. FastReport 3 is the kernel of the
|
||||
reporting engine. Fast and poweful server engine use
|
||||
Hypertext Transfer Protocol (HTTP, RFC 2068). The FastReport Server
|
||||
completely autonomous and does not require using other HTTP server (Apache, IIS etc).
|
||||
Detailed expected features list you will to read <a href="features.html">here</a>.</font></p>
|
||||
<p><font face="Tahoma" size="3"><b>2. FastReport Server Purpose</b></font></p>
|
||||
<p><font face="Tahoma" size="2">
|
||||
<ul>
|
||||
<li>Internet/intranet reporting
|
||||
<li>Web-development
|
||||
<li>End-user solutions providing functionality for business analytics, financials, human capital management, operations, corporate services
|
||||
<li>Industrial client-server application
|
||||
</ul>
|
||||
</font><font face="Tahoma"> </font></p>
|
||||
<p><font face="Tahoma" size="3"><b>3. Requirements</b></font></p>
|
||||
<p><font face="Tahoma" size="2">Operation system: Microsoft Windows NT4/2000/2003
|
||||
Server.<br>
|
||||
Network: based on TCP/IP protocol.</font><br>
|
||||
</p>
|
||||
<p><font face="Tahoma" size="3"><b>4. Feedback</b></font></p>
|
||||
<p><font face="Tahoma" size="2">All wishes, bug-reports and opinions send to <a href="mailto:fediachov@fast-report.com">e-mail</a>.</font></p>
|
||||
<hr>
|
||||
<font face="Tahoma" size="3"><a href="index.html"><b>Back to main page</b></a><b><br>
|
||||
</b></font>
|
||||
<!--#include virtual="bottom.html" -->
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1 @@
|
||||
<hr>
|
||||
131
internal/4.2/1/Demos/ClientServer/Server/htdocs/default.css
Normal file
@ -0,0 +1,131 @@
|
||||
.copyright {
|
||||
font : 8pt Tahoma;
|
||||
}
|
||||
|
||||
.topcopyright {
|
||||
font : 8pt Tahoma;
|
||||
COLOR : #ffffff;
|
||||
}
|
||||
|
||||
a {
|
||||
font : 10pt Tahoma;
|
||||
COLOR : #2b4a7f;
|
||||
FONT-WEIGHT : bold;
|
||||
TEXT-DECORATION : none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
font : 10pt Tahoma;
|
||||
COLOR : #283e66;
|
||||
FONT-WEIGHT : bold;
|
||||
TEXT-DECORATION : underline;
|
||||
}
|
||||
|
||||
.nav {
|
||||
font : 9pt Tahoma;
|
||||
COLOR : white;
|
||||
FONT-WEIGHT : bold;
|
||||
TEXT-DECORATION : none;
|
||||
}
|
||||
|
||||
.nav:hover {
|
||||
font : 9pt Tahoma;
|
||||
COLOR : black;
|
||||
FONT-WEIGHT : bold;
|
||||
TEXT-DECORATION : underline;
|
||||
}
|
||||
|
||||
.bottomnav {
|
||||
font : 10pt Tahoma;
|
||||
COLOR : black;
|
||||
FONT-WEIGHT : bold;
|
||||
TEXT-DECORATION : none;
|
||||
}
|
||||
|
||||
.bottomnav:hover {
|
||||
font : 10pt Tahoma;
|
||||
COLOR : black;
|
||||
FONT-WEIGHT : bold;
|
||||
TEXT-DECORATION : underline;
|
||||
}
|
||||
|
||||
.txtbody
|
||||
{
|
||||
font : 10pt Tahoma;
|
||||
vertical-align: top ;
|
||||
height:100%;
|
||||
width :100%;
|
||||
}
|
||||
|
||||
.right {
|
||||
font : 9pt Tahoma;
|
||||
COLOR : black;
|
||||
FONT-WEIGHT : bold;
|
||||
padding-left : 8px;
|
||||
padding-right : 6px;
|
||||
text-align : center;
|
||||
}
|
||||
|
||||
.tit {
|
||||
font : 12pt Tahoma;
|
||||
COLOR : black;
|
||||
FONT-WEIGHT : bold;
|
||||
padding-left : 8px;
|
||||
padding-right : 6px;
|
||||
margin-left : 6px;
|
||||
margin-right : 4px;
|
||||
height : 20;
|
||||
background-color : #e2e2e2;
|
||||
}
|
||||
|
||||
|
||||
td.title {
|
||||
font : 9pt Tahoma;
|
||||
COLOR : white;
|
||||
FONT-WEIGHT : bold;
|
||||
TEXT-DECORATION : none;
|
||||
text-align : center;
|
||||
height : 18;
|
||||
background-color : #2b4a7f;
|
||||
}
|
||||
|
||||
td.down{
|
||||
font : 10pt Tahoma;
|
||||
}
|
||||
|
||||
th.down{
|
||||
font : 10pt Tahoma;
|
||||
FONT-WEIGHT : bold;
|
||||
}
|
||||
|
||||
|
||||
a.copyright {
|
||||
font : 8pt Tahoma;
|
||||
COLOR : black;
|
||||
TEXT-DECORATION : none;
|
||||
}
|
||||
|
||||
a.copyright:hover {
|
||||
font : 8pt Tahoma;
|
||||
COLOR : black;
|
||||
TEXT-DECORATION : underline;
|
||||
}
|
||||
|
||||
PRE{
|
||||
font : 10pt Curier;
|
||||
}
|
||||
|
||||
.pagetitle {
|
||||
font : 18pt Verdana;
|
||||
color : #ffffff;
|
||||
FONT-WEIGHT : bold;
|
||||
FONT-style: italic;
|
||||
|
||||
}
|
||||
|
||||
.pageheader
|
||||
{
|
||||
background-color : #2b4a7f;
|
||||
background-repeat: no-repeat;
|
||||
background-position:top left
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>6. Adapting your applications for client-server technology</title>
|
||||
<meta name="author" content="Fediachov Alexander" >
|
||||
<meta name="copyright" content="1998-2005 FastReports Inc" >
|
||||
<meta name="description" content="Adapting your applications for client-server technology" >
|
||||
<meta name="keywords" content="topic,manual,account,recommendations,server,client,applications,adapting" >
|
||||
<meta name="robots" content="all" >
|
||||
<meta name="distribution" content="global" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>6. Adapting your applications for client-server technology</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>When adapting previously developed applications to the client-server technology, use the following recommendations:</p><p>- Clearly define the interaction between client and server sides;</p><p>- Take into account the recommendations from topics
|
||||
<a href="Developing%20the%20reports/Some%20client-server%20restrictions.htm">4.1</a> and
|
||||
<a href="Developing%20the%20reports/Some%20advices%20concerning%20the%20design%20of%20a%20report.htm">4.2</a> of this manual;</p><p>- When working with databases, take into account the recommendations from
|
||||
<a href="The%20Report%20server/Database%20connections.htm">topic 3.10</a> of this manual;</p><p>- To improve the level information security, take into account the recommendations from
|
||||
<a href="Important%20security%20issues.htm">topic 8</a> of this manual.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Report client/Other clients.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Examples/Example of the simple client-server application/Example of a simple client-server application.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,54 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>2. Components of FastReport Enterprise Edition</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="single,report,palette,component,server,enterprise,fastreport,components" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>2. Components of FastReport Enterprise Edition</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>After you install the packages of FastReport 3 Enterprise, a bookmark
|
||||
"FastReport 3 Client/Server" in component palette IDE Delphi/C++Builder
|
||||
will be available.</p>
|
||||
<p><img src="../image/freepm_003.gif" width="399" height="127" border="0"></p>
|
||||
<p>Components of the "FastReport 3 Client/Server":</p>
|
||||
<p>- TfrxReportServer - a server component, report server and HTTP server in a single whole;</p>
|
||||
<p>- TfrxServerConnection - a client component, which contains information for connections with TfrxReportServer;</p>
|
||||
<p>- TfrxReportClient - client component (a TfrxReport analogue) inquires the report on the server, and then displays the resulting report on client side;</p><p>TfrxHTTPClient - client component, intended for requests of the files over HTTP protocol.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="../FastReport 3 Enterprise - Client-Server reporting tool.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="TfrxReportServer.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</font>
|
||||
|
||||
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,45 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>2.4. TfrxHTTPClient</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="actual,blank,qtget,password,authentication,filename,compression,disconnect,connect,procedure,errors,server,received,automatically,tstrings,checksum,answer,parsed,tfrxhttpserverfields,serverfields,below,described,header,request,fields,tfrxhttpclientfields,clientfields,seconds,retry,proxy,integer,default,address,string,query,boolean,properties,inherited,class,protocol,client,tfrxhttpclient" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>2.4. TfrxHTTPClient</font><FONT FACE="Arial" SIZE=2><p><img src="../image/freepm_007.png" width="24" height="24" border="0"> TfrxHTTPClient - client component for receiving any file via HTTP protocol.</p><p><strong>TfrxHTTPClient class inherited from TComponet</strong></p><p><strong><em>Properties:</em></strong></p><p>Active: Boolean - executes a query if "True" is set;</p><p>Host: String - host name or host IP address; "127.0.0.1" by default;</p><p>Port: Integer - host port, "80" by default;</p><p>ProxyHost: String - HTTP-proxy name or proxy IP address;</p><p>ProxyPort: Integer - proxy port;</p><p>RetryCount: Integer - retry count, default - 3;</p><p>RetryTimeOut: Integer - delay between retry in seconds, default - 5;</p><p>TimeOut: Integer - idle time in seconds, default - 30;</p><p>ClientFields: TfrxHTTPClientFields - fields the request's header; TfrxHTTPClientFields is described below;</p><p>ServerFields: TfrxHTTPServerFields - parsed answer header; TfrxHTTPServerFields is described below;</p><p>MIC: Boolean - checking the message's integrity checksum, "True" by default;</p><p>Header: TStrings - raw request header; it is filled in automatically from ClientFields;</p><p>Answer: TStrings - raw answer header, parsed fields will be stored in ServerFields;</p><p>Stream: TMemoryStream - data received from server;</p><p>Breaked: Boolean - sign of emergency disconnection;</p><p>Errors: TStrings - errors list.</p><p><strong><em>Methods:</em></strong></p><p>procedure Connect - connect to remote server and get the file, after disconnect;</p><p>procedure Disconnect - disconnect from server;</p><p>procedure Open -same as "Connect";</p><p>procedure Close - same as "Disconnect".</p><p><strong>TfrxHTTPClientFields class inherited from TPersistent</strong></p><p><strong><em>Properties:</em></strong></p><p>AcceptEncoding: String - accepted compression formats, default - 'gzip';</p><p>FileName: String - requested filename;</p><p>Host: String - address or client's hostname; fills automatically if empty;</p><p>HTTPVer: String - http protocol version, default - 'HTTP/1.1';</p><p>Login: String - user name for authentication;</p><p>Password: String - password for authentication;</p><p>QueryType: TfrxHTTPQueryType - query type, qtGet - GET query, qtPost - POST query; "qtGet" by default;</p><p>Referer: String - referencing document name; blank by default;</p><p>UserAgent: String - client program name, default - 'FastReport/3.0'.</p><p><strong>TfrxHTTPServerFields class inherited from TPersistent</strong></p><p><strong><em>Properties:</em></strong></p><p>AnswerCode: Integer - server response code;</p><p>ContentEncoding: String - received data compression format;</p><p>ContentMD5: String - MD5 checksum;</p><p>ContentLength: Integer - received data length;</p><p>Location: String - actual location of the document.</p>
|
||||
</FONT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="TfrxReportClient.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="../The Report server/The Report server.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</font>
|
||||
|
||||
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,44 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>2.3. TfrxReportClient</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="previews,result,requests,function,procedure,errors,variables,property,loadfromfile,report,requested,string,reportname,connection,tfrxserverconnection,server,component,client,tfrxreportclient" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>2.3. TfrxReportClient</font><FONT FACE="Arial" SIZE=2><p><img src="../image/freepm_006.png" width="24" height="24" border="0"> TfrxReportClient is a client component for query. It receives and shows the reports from the server. Required component: TfrxServerConnection. TfrxReportClient is analogy of TfrxReport in previous versions of the applications based on traditional architecture.</p><p><strong>TfrxReportClient class inherited from TfrxReport</strong></p><p><strong><em>Properties:</em></strong></p><p>Connection: TfrxServerConnection - link to object of TfrxServerConnection;</p><p>ReportName: String - name of the requested report, use method LoadFromFile for setting this property (see below).</p><p>Variables: TfrxVariables - contain report variables; can be used for variables transfer from client to server;</p><p>Errors: TStrings - errors list.</p><p><strong><em>Methods:</em></strong></p><p>procedure LoadFromFile(FileName: String) - set the name of the requested report to property ReportName; path to the file is ignored;</p><p>function PrepareReport: Boolean - performs connection to the report server, requests a report, transfers report variables to server, and downloads a report result, which then is put to the "PreviewPages" Property. Result of the function is "True" if the task is successfully accomplished, otherwise it becomes "False";</p><p>procedure ShowPreparedReport - previews the received report;</p><p>procedure ShowReport - requests and previews the report.</p>
|
||||
</FONT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="TfrxServerConnection.htm">< previous page</a>
|
||||
</td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="TfrxHTTPClient.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</font>
|
||||
|
||||
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,52 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>2.1. TfrxReportServer</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="totalerrors,maxsessionscount,simultaneously,maximum,sessions,defaultcachelatency,support,documents,compression,password,rootpath,reportpath,ïîñëå,deleted,expires,seconds,field,connection,number,programmer,details,query,transferred,tfrxvariables,const,directly,received,parameters,tfrxservergetvariablesevent,requested,tfrxreport,string,reportname,handler,files,reports,tfrxservergetreportevent,procedure,methods,tfrxservervariables,variables,information,statistics,tfrxserverstatistic,object,default,browser,print,allowed,empty,connect,forbidden,client,cases,address,contains,following,format,addresses,tstrings,changes,below,described,tfrxserverconfig,configuration,setting,which,value,boolean,active,properties,inherited,class,server,report,component,tfrxreportserver" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>2.1. TfrxReportServer</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p><img src="../image/freepm_004.png" width="24" height="24" border="0"> TfrxReportServer component plays the role of
|
||||
a report server and HTTP server. This component does not require any additional components.</p>
|
||||
<p><strong>TfrxReportServer class inherited from TComponent</strong></p>
|
||||
<p><strong><em>Properties:</em></strong></p>
|
||||
<p>Active: Boolean - the value, which indicates activity of the server.
|
||||
It may be used for starting the server by setting a value in "True";</p><p>Configuration: TfrxServerConfig - server configuration (TfrxServerConfig class is described below). Configuration changes become active only after you restart the server;</p><p>AllowIP: TStrings - list of authorized IP addresses. The format of the list is as following: one line contains one IP address. In cases when the server does not find a client's address in this list, the client will be forbidden to connect; if the list is empty, all addresses are allowed to connect;</p><p>DenyIP: TStrings - list of IP addresses forbidden to connect. The format of the list is as following: one line contains one IP address In cases when the server does not find a client's address in this list, the client will be forbidden to connect; if the list is empty, all addresses are allowed to connect;</p><p>PrintPDF: Boolean - pressing the "print" button in navigator's control panel (when viewing the resulting pages in a web browser) creates a PDF file, if this value is set to True. Otherwise, standard print action of the browser will be executed. Default setting is "True";</p><p><em>The following properties are inaccessible in object's inspector, but it is possible to access them from the code:</em></p><p>Statistic: TfrxServerStatistic - server statistics (TfrxServerStatistic is described below);</p><p>Totals: TStrings - readable form of server statistics information;</p><p>Variables: TfrxServerVariables - internal server variables (TfrxServerVariables is described below).</p><p><strong><em>Methods:</em></strong></p><p>constructor Create(AOwner: TComponent) - creation of an object;</p><p>procedure Open - startup of the server. At this moment all changes of configuration would be activated;</p><p>procedure Close - server shutdown;</p><p><strong><em>Event handlers:</em></strong></p><p>OnGetReport: TfrxServerGetReportEvent - may be used for loading the reports from any places (BLOB fields, files from any folders etc). Type of the handler:</p><p>TfrxServerGetReportEvent = procedure (ReportName: String; Report: TfrxReport) of object;</p><p>ReportName - name of the requested report; it may be used for identification of a specific report;</p><p>Report - an instance of the TfrxReport object, to which the report should be loaded.</p><p>OnGetVariables: TfrxServerGetVariablesEvent - can be used for manual processing of the parameters received from the client, as well as execution of any operations directly on a server.</p><p>TfrxServerGetVariablesEvent = procedure(const ReportName: String; Variables: TfrxVariables) of object;</p><p>ReportName - The name of the report transferred in query. It can be used for filtering one or another parameter directly in the handler;</p><p>Variables - The list of the parameters received from the client. See details about TfrxVariables in
|
||||
<a href="">"Programmer's guide FastReport 3" [8]</a>.</p><p><strong>TfrxServerConfig class inherited from TPersistent</strong></p><p>Object of this class contains information about server configuration.</p><p><strong><em>Properties:</em></strong></p><p>Port: Integer - TCP/IP port number for client connection, default value is 80;</p><p>IndexFileName: String - default filename, if the filename field in HTTP query is empty. Default value is 'index.html';</p><p>SessionTimeOut: Integer - time of storing report results on the server (in seconds). Default value is 300. As soon as the default time expires, the report results will be deleted. It is set depending on specificities of created reports and methods of client-server interaction;</p><p>âðåìÿ îæèäàíèÿ àêòèâíîñòè êëèåíòà ïîñëå åãî ïîäêëþ÷åíèÿ â ñåêóíäàõ, ïî óìîë÷àíèþ ðàâíî 60, ïî èñòå÷åíèè ýòîãî âðåìåíè ñåññèÿ êëèåíòà áóäåò óäàëåíà;</p><p>SocketTimeOut: Integer - timeout of waiting for client's response (in seconds). Default value is 60. When time expires, the session will be terminated.</p><p>Logging: Boolean - log writing, "True" - enabled, "False" - disabled, "True" is set by default;</p><p>LogPath: String - path to folder with logs; current folder by default;</p><p>ReportPath: String - path to folder with reports; current folder by default;</p><p>RootPath: String - path to folder with HTML files and reports results;</p><p>Login: String - user name for authentication. If line is empty - authentication is not required. Empty line is a default setting;</p><p>Password: String - password for authentication, empty line by default;</p><p>Compression: Boolean - compression of transferred documents, client support required; "True" by default;</p><p>MIC: Boolean - Message Integrity Checksum using MD5 algorithm. "True" by default;</p><p>NoCacheHeader: Boolean - document is not cached by client, "True" by default;</p><p>OutputFormats: TfrxServerOutputFormats - supported formats for requested reports, one or more from set (sfHTM, sfXML, sfXLS, sfRTF, sfTXT, sfPDF, sfJPG, sfFRP). By default, all elements of set are included;</p><p>ReportCaching: Boolean - enable the reports cache on a server (see details in <a href="../The%20Report%20server/Using%20the%20reports%20cache.htm" targer=frame2>section 3.11</a>);</p><p>ReportCachePath: String - path to a folder with reports cache;</p><p>DefaultCacheLatency: Integer - reports in cache default storage time (in seconds).</p><p><strong><em>Methods:</em></strong></p><p>procedure LoadFromFile(const FileName: String) - load configuration from a file;</p><p>procedure SaveToFile(const FileName: String) - save configuration to a file.</p><p><strong>TfrxServerStatistic class inherited from TPersistent</strong></p><p><strong><em>Properties:</em></strong></p><p>CurrentReportsCount: Integer - number of reports currently build;</p><p>CurrentSessionsCount: Integer - number of sessions currently connected;</p><p>MaxReportsCount: Integer - maximum number of reports simultaneously built;</p><p>MaxSessionsCount: Integer - maximum number of sessions simultaneously connected;</p><p>TotalErrors: Integer - number of errors;</p><p>TotalReportsCount: Integer - number of reports;</p><p>TotalSessionsCount: Integer - number of sessions;</p><p>UpTimeDays: Integer (days),</p><p>UpTimeHours: Integer (hours),</p><p>UpTimeMins: Integer (minutes),</p><p>UpTimeSecs: Integer (seconds) - up time of the report server.</p><p><strong>TfrxServerVariables class inherited from TCollection</strong></p><p>Contains server variables.</p><p>Used (reserved) names of the variables will describe in the <a href="../The%20Report%20server/Transferring%20parameters%20to%20the%20report.htm">part 3.4.</a></p><p><strong><em>Methods:</em></strong></p><p>function GetValue(const Name: String): String - returns value of the variable with Name;</p><p>procedure AddVariable(const Name: String; const Value: String) - adds a variable with Name and Value.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Components of FastReport Enterprise Edition.htm">< previous page</a>
|
||||
</td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="TfrxServerConnection.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</font>
|
||||
|
||||
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,46 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>2.2. TfrxServerConnection</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="boolean,seconds,password,authentication,proxy,integer,default,address,string,class,server,tfrxserverconnection" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>2.2. TfrxServerConnection</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p><img src="../image/freepm_005.png" width="24" height="24" border="0"> TfrxServerConnection - client component keeps information for connection to report server TfrxReportServer. Object of this class is required for working of one or several TfrxReportClient components.</p><p><strong>TfrxServerConnection class inherited from TComponent</strong></p><p><strong><em>Properties:</em></strong></p><p>Host: String - server host name or server IP address, by default - 127.0.0.1;</p><p>Port: Integer - server port; "80" by default;</p><p>ProxyHost: String - HTTP-proxy name or IP address, blank by default;</p><p>ProxyPort: Integer - HTTP-proxy port; "8080" by default;</p><p>Login: String - username for authentication;</p><p>Password: String - user password for authentication;</p><p>Timeout: Integer - idle time (in seconds); "120" by default;</p><p>RetryCount: Integer - retry count; "3" by default;</p><p>RetryTimeout: Integer - delay between retries in seconds, "3" by default;</p><p>Compression: Boolean - accept compressed files; "True" by default;</p><p>MIC: Boolean - checking of the message integrity checksum; "True" by default.</p>
|
||||
</FONT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="TfrxReportServer.htm">< previous page</a>
|
||||
</td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="TfrxReportClient.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</font>
|
||||
|
||||
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,49 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>10. Developers' contact information</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="report,contact" >
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>10. Developers' contact information</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>If you have any suggestions concerning improvement and development of FastReport Enterprise, please contact us</p><p>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="440">
|
||||
<tr>
|
||||
<td width="100">e-mail:</p><p>news:</p><p>web site:</td>
|
||||
<td><a href="fediachov@fast-report.com">fediachov@fast-report.com</a></p>
|
||||
<p><a href="http://fast-report.com/en/support/newsgroups.php" target=_blank>http://fast-report.com/en/support/newsgroups.php</a></p>
|
||||
<p><a href="http://www.fast-report.com" target=_blank>http://www.fast-report.com</a></td>
|
||||
</tr>
|
||||
</table></p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="References.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>4. Developing the reports</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="fastreport,developing" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>4. Developing the reports</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>Developing of the FastReport reports was described in the "FastReport 3 - user manual." [9]</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="../The Report server/Using the FastReport server together with other HTTP servers (Apache, IIS, etc).htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Some client-server restrictions.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head><title>4.2. Some advices concerning the design of a report</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="following,clipping,would,align,alignment,intersection,intend,limitations,increased,necessary,intersect,convert,filters,export,excel,there,layout,while,cells,server,reports,representation,style,table,formats" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>4.2. Some advices concerning the design of a report</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>Many of the document formats use table-style data representation. For representing of resulting reports, the server uses such formats as HTML, XLS, and RTF.</p><p>Table-style documents cannot have intersected cells, while FastReport document can. FastReport uses free-form data layout - there is no "lines", "table cells" like in Word, Excel or other such formats. FastReport export filters for table-style formats (RTF, HTML, and XLS) uses special algorithm to convert intersected cells into table cells and optimally arranges them. In places where FastReport objects intersect with each other, export filter may generate additional table rows and columns. It is necessary for better WYSIWYG, but may result in increased number of rows and columns in a resulting layout, which makes the table layout unusable for further analysis and slows down the export process.</p><p>Keep in mind these export limitations when developing a report, if you intend to export your report into such table-style formats. To avoid the objects' intersection, use alignment tools of the FastReport designer. Turn on the "grid align" option.</p><p>When creating tables in a report, put the table cells side-by-side, if possible, and avoid cells' intersection. If cells are intersected, the export algorithm would make clipping, and the export result may differ from the original report.</p><p>If possible, place objects along the horizontal and vertical guide lines. Use designer's guide lines to do this.</p><p>Following these instructions would help your reports to look perfect during exporting to any of the supported formats.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Some client-server restrictions.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="../Report client/Report client.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>4.1. Some client/server restrictions</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="components,access,common,should,forms,dialogue,handlers,event,cannot,reports,server,client" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>4.1. Some client/server restrictions</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>When developing reports for client-server application, please remember that:</p><p>- you cannot use script event handlers for dialogue forms' controls since dialogue forms are displayed as web forms in the browser;</p><p> - you cannot use event handlers of the TfrxReportClient component (for example, OnGetValue, OnUserFunction). All such handlers should be on the server side;</p><p>- you cannot use common data access components, such as TfrxDBDataSet (common components cannot be simultaneously used by several reports). Each report should have internal data access components, such as TfrxIBXTable, Query, and so on.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Developing the reports.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Some advices concerning the design of a report.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,47 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>7.1.3. Client side with threads</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="proxyport,proxyhost,compression,password,login,strtoint,frxserverconnection1,synchronize,terminated,memo1,server,inherited,string,repname,tfrxserverconnection,create,constructor,report,finishlog,appendlog,threadid,tmemo,errorscount,integer,countrep,override,execute,procedure,tfrxclienttestthread,class,thread,threads,tfrxreportclient,example,client" >
|
||||
|
||||
<style>
|
||||
.text {font-family: Courier; font-size: 12px; color: #000080;}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>7.1.3. Client side with threads</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>You can find all source files of this example in the <br>"\FastReport 3\Demos\ClientServer\Client\Advanced" folder.</p><p>This example shows how you can use the "TfrxReportClient" component in the threads.</p><p><img src="../../image/freepm_042.gif" width="292" height="321" border="0"></p><p>Thread class:</p><p class="text">TfrxClientTestThread = class (TThread)</p><p class="text">protected<dir class="text">procedure Execute; override;</dir></p><p class="text">private<dir class="text">CountRep: Integer;</p><p class="text">ErrorsCount: Integer;</p><p class="text">Log: TMemo;</p><p class="text">ThreadID: Integer;</p><p class="text">procedure AppendLog;</p><p class="text">procedure FinishLog;</dir></p><p class="text">public<dir class="text">Report: TfrxReportClient;</p><p class="text">constructor Create(C: TfrxServerConnection; RepName: String;</p><p class="text">Id: Integer; Rep: Integer; L: TMemo);</p><p class="text">destructor Destroy; override;</dir></p><p class="text">end;</p><p>Constructor of the TfrxClientTestThread class:</p><p class="text">constructor TfrxClientTestThread.Create(C: TfrxServerConnection; RepName: String;<dir class="text">Id: Integer; Rep: Integer; L: TMemo);</dir></p><p class="text">begin<dir class="text">inherited Create(True);</p><p class="text">FreeOnTerminate := False;</p><p class="text">ErrorsCount := 0;</p><p class="text">ThreadId := Id;</p><p class="text">CountRep := Rep;</p><p class="text">Log := L;</p><p class="text">Report := TfrxReportClient.Create(nil);</p><p class="text">Report.EngineOptions.ReportThread := Self;</p><p class="text">Report.Connection := C;</p><p class="text">Report.ReportName := RepName;</p><p class="text">Resume;</dir></p><p class="text">end;</p>
|
||||
<p>The method TfrxClientTestThread.Execute sends a request to the CountRep server. All resulting information is displayed in Memo1 by the "AppendLog" and "FinishLog" methods:</p><p class="text">procedure TfrxClientTestThread.Execute;</p><p class="text">var<dir class="text">i: Integer;</dir></p><p class="text">begin<dir class="text">inherited;</p><p>for i := 1 to CountRep do</p><p class="text">begin<br><br><dir class="text">if Terminated then break;</p><p>Report.PrepareReport;</p><p>if not Terminated then</p><p class="text">begin<br><br><dir class="text">Synchronize(AppendLog);</p><p>ErrorsCount := ErrorsCount + Report.Errors.Count;</dir></p><p class="text">end;</dir></p><p class="text">end;</p><p class="text">Synchronize(FinishLog);</dir></p><p class="text">end;</p><p>Before starting this program, launch the server application described above (topic 7.1.1.)</p><p>On press button "Thread test" execute the code below:</p><p class="text">procedure TMainForm.TestBtnClick(Sender: TObject);</p><p class="text">var<dir class="text">i, j, k: Integer;</p><p>Thread: TfrxClientTestThread;</dir></p><p class="text">begin<dir class="text">frxServerConnection1.Host := Host.Text;</p><p>frxServerConnection1.Port := StrToInt(Port.Text);</p><p>frxServerConnection1.Login := Login.Text;</p><p>frxServerConnection1.Password := Password.Text;</p><p>frxServerConnection1.Compression := Compression.Checked;</p><p>if (Length(ProxyHost.Text) > 0) then</p><p>begin<br><br><dir class="text">frxServerConnection1.PrxoyHost := ProxyHost.Text;</p><p>frxServerConnection1.ProxyPort := StrToInt(ProxyPort.Text);</dir></p><p>end;</p><p>ClearThreads;</p><p>Memo1.Lines.Add('Start test');</p><p>j := StrToInt(Threads.Text);</p><p>k := StrToInt(Rep.Text);</p><p>for i := 1 to j do</p><p>begin<br><br><dir class="text"></p><p>Thread := TfrxClientTestThread.Create(frxServerConnection1,<br><br><dir class="text">ReportsList[ListBox1.ItemIndex], i, k, Memo1);</dir></p><p>ThreadList.Add(Thread);</dir></p><p>end;</dir></p><p class="text">end;</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Client side.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="../../Important security issues.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,45 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>7.1.2. Client side</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="param2value,value,param1value,length,frxreportclient1,password,login,frxserverconnection1,program,server,variables,report,example,client,result,preview,request,successful,after,errors,addstrings,lines,memo1,showpreparedreport,preparereport,param2,param1,repname,loadfromfile,strtoint,below,execute,would,running,field,button,press,topic,above,described,application,launch,starting,before,transferring,component,tfrxreportclient,using,folder,simple,clientserver,demos,fastreport3,files,source" >
|
||||
<style>
|
||||
.text {font-family: Courier; font-size: 12px; color: #000080;}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="100%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>7.1.2. Client side</font>
|
||||
<FONT FACE="Arial" SIZE=2><p>You can find all source files of this example in the \FastReport3\Demos\ClientServer\Client\Simple folder.</p><p>This is an example of using the TfrxReportClient component and transferring report variables to the server.</p><p>Before starting this program, launch the server application described above (
|
||||
<a href="Server%20side.htm">topic 7.1.1.</a>)</p><p><img src="../../image/freepm_041.gif" width="257" height="225" border="0"></p><p>Press the "Show Report" button and type "1.fr3" in the "Report Name" field when running this example so that the program would execute the code below:</p><p class="text">frxServerConnection1.Host := Host.Text;</p><p class="text">frxServerConnection1.Port := StrToInt(Port.Text);</p><p class="text">frxServerConnection1.Login := Login.Text;</p><p class="text">frxServerConnection1.Password := Password.Text;</p><p class="text">frxReportClient1.LoadFromFile(RepName.Text);</p><p class="text">if Length(Param1Value.Text) > 0 then<dir class="text">with frxReportClient1.Variables.Add do</p><p class="text">begin<dir class="text">Name := Param1.Text;</p><p class="text">Value := Param1Value.Text;</dir></p><p class="text">end;</dir></p><p class="text">if Length(Param2Value.Text) > 0 then<dir class="text">with frxReportClient1.Variables.Add do</p><p class="text">begin<dir class="text">Name := Param2.Text;</p><p class="text">Value := Param2Value.Text;</dir></p><p class="text">end;</dir></p><p class="text">if frxReportClient1.PrepareReport then<dir class="text">frxReportClient1.ShowPreparedReport;</dir></p><p class="text">Memo1.Lines.AddStrings(frxReportClient1.Errors);</p><p>After successful report request, you see the preview of the result.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Server side.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Client side with threads.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head><title>7.1. Example of a simple client-server application</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="folder,clientserver,demos,stored,examples,demonstration,enterprise,fastreport,component,using,methods,familiarization,server,client,simple,example" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>7.1. Example of a simple client-server application</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>For familiarization with methods of using component FastReport Enterprise, see demonstration examples stored in the <br>"\FastReport 3\Demos\ClientServer" folder.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="../../Adapting your applications for client-server technology.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Server side.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,46 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>7.1.1. Server side</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="create,frreport1,powerful,denyip,application,apppath,store,denyfile,starts,program,after,deny_file,lines,allow,names,defaultlatency,delay,integrity,compression,rootpath,public,reportpath,maxlogfles,writelogs,indexfilename,sessiontimeout,session,which,stored,connection,database,tfrxreportserver,component,components,folder,fastreport,files,server" >
|
||||
|
||||
<style>
|
||||
.text {font-family: Courier; font-size: 12px; color: #000080;}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>7.1.1. Server side</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>You can find all source files of this example in the \FastReport 3\Demos\ClientServer\Server folder.</p><p>Components used in this demo: server component TfrxReportServer (Serv), database connection component TADOConnection and TfrxADOComponents, along with other add-on FastReport components.</p><p><img src="../../image/freepm_039.gif" width="259" height="249" border="0"></p><p>For the convenience of clients, data about configuration of the server is stored in a file, which is editable by the built-in editor.</p><p>File server.conf:</p><p class="text">[Server]</p><p class="text">; TCP/IP port for HTTP server</p><p class="text">Port=80</p><p class="text">; report session timeout in seconds</p><p class="text">SessionTimeOut=600</p><p class="text">; client connection timeout in seconds</p><p class="text">SocketTimeOut=600</p><p class="text">; index page filename</p><p class="text">IndexFileName=index.html</p><p class="text">; path to folder with logs</p><p class="text">LogPath=.\logs\</p><p class="text">; enable of log writing</p><p class="text">WriteLogs=1</p><p class="text">; maximum log files in history</p><p class="text">MaxLogFles=5</p><p class="text">; maximum log file size</p><p class="text">MaxLogSize=1024</p><p class="text">; path to folder with the reports (*.fr3)</p><p class="text">ReportPath=.\reports\</p><p class="text">; public document folder for documents and results</p><p class="text">RootPath=.\htdocs\</p><p class="text">; disable of the caching document by the web browser</p><p class="text">NoCacheHeader=1</p><p class="text">; GZIP compression enable</p><p class="text">Compression=1</p><p class="text">; MD5 message integrity check</p><p class="text">MIC=1</p><p class="text">; user login</p><p class="text">Login=</p><p class="text">; user password</p><p class="text">Password=</p><p class="text">[ReportsCache]</p><p class="text">; enable caching of the reports with same params</p><p class="text">Enabled=1</p><p class="text">; path to chache folder</p><p class="text">CachePath=.\cache\</p><p class="text">; dafault delay for cache of the report results in seconds</p><p class="text">DefaultLatency=300</p><p class="text">[ReportsLatency]</p><p class="text">; cache delay for the 1.fr3 report in seconds</p><p class="text">1.fr3=10</p><p class="text">; cache delay for the 1.fr3 report in seconds</p><p class="text">2.fr3=20</p><p class="text">; add below the any reports for the custom cache delay setup</p><p>Fields of the configuration file correspond to fields' names of the "TfrxReportServer.Configuration" property.</p><p>The "allow.conf" and "deny.conf" files contain lines with allowed and restricted addresses respectively.</p><p>Database file is stored in the "\database" folder.</p><p>In the main module, the constants with names of configuration files are defined:</p><p class="text">const<dir class="text">CONFIG_FILE = 'server.conf';<p>ALLOW_FILE = 'allow.conf';</p><p>DENY_FILE = 'deny.conf';</p></dir></p><p>After program starts, the database is connected via the MicrosoftJet OLE DB interface.</p><p>In variables ConfFile, AllowFile, DenyFile we a store path to configuration files:</p><p class="text">AppPath := ExtractFilePath(Application.ExeName);</p><p class="text">ConfFile := AppPath + CONFIG_FILE;</p><p class="text">AllowFile := AppPath + ALLOW_FILE;</p><p class="text">DenyFile := AppPath + DENY_FILE;</p><p>Load config files to the Serv component:</p><p class="text">Serv.Configuration.LoadFromFile(ConfFile);</p><p class="text">Serv.AllowIP.LoadFromFile(AllowFile);</p><p class="text">Serv.DenyIP.LoadFromFile(DenyFile);</p><p>Execute the server:</p><p class="text">Serv.Open;</p><p>After all work is done, you are ready to use a powerful report server. Launch the any web browser and type <a href="http://127.0.0.1">http://127.0.0.1</a> in address line</p><p><img src="../../image/freepm_040.gif" width="296" height="227" border="0"></p><p>You can design reports with the help of the internal FastReport designer:</p><p class="text">OpenDialog1.InitialDir := Serv.Configuration.ReportPath;</p><p class="text">if OpenDialog1.Execute then</p><p class="text">begin<dir class="text">frReport1 := TfrxReport.Create(nil);</p><p class="text">frReport1.LoadFromFile(OpenDialog1.FileName);</p><p class="text">frReport1.DesignReport;</p><p class="text">frReport1.Free;</dir></p><p class="text">end;</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Example of a simple client-server application.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Client side.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,48 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>1. FastReport 3 Enterprise - Client/Server reporting tool</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="access,additional,allows,apache,application,applications,based,between,browser,client,database,displaying,enterprise,existing,fastreport,hardware,increases,information,integrity,interaction,internet,navigator,necessity,network,power,prepared,processing,reducing,report,reports,requirements,response,server,servers,several,simultaneously,system,technology,traffic,without" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>1. FastReport 3 Enterprise - Client/Server reporting tool</font>
|
||||
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>The "client-server" technology is based on interaction between a client application (which inquires, analyzes, and displays requested information) and a server application that performs basic work related to various complex calculations.</p><p><img src="image/freepm_002.gif" width="487" height="282" border="0"></p><p>There are several serious advantages of using client-server technology in your applications:</p><p>- low hardware requirements for client PCs;</p><p>- reducing of network traffic due to reducing the amount of information transferred between a client's application and a database server;</p><p>- simplicity of system management of the existing client-server;</p><p>- higher level of information protection.</p><p>However, the client-server technology has some considerable disadvantages:</p><p>- high hardware requirements for a PC used as a server;</p><p>- certain difficulties in development of client-server applications.</p><p>When developing FastReport 3 Enterprise, we take into account all major requirements for client-server applications. FastReport 3 Enterprise allows you to:</p><p>- run any reports on the server side on client request, without necessity to directly connect the client to the database server;</p><p>- manage several client requests simultaneously in separate threads; it minimizes response time of the server;</p><p>- since we use HyperText transfer protocol (HTTP, RFC 2068 [2]), you can use different existing applications, such as web-browsers (Internet Explorer, Netscape Navigator, Mozilla, Opera etc), proxy-servers, web-servers (Internet Information Server, Apache etc), together with FastReport 3 Enterprise without any additional requirements;</p><p>- use data compression algorithms (GZip, RFC 1952 [6]). This reduces network traffic and increases client-server processing power;</p><p>- use of MD5 algorithm for the MIC (Message Integrity Checksum, RFC 1321 [4], RFC 1864 [5]) increases data integrity;</p><p>- compatibility with FastReport 3 report files (with some restrictions) allows you to easily redesign your application to use client-server technology;</p><p>- standalone server application (without necessity to apply IIS, Apache or other web-server technologies) has a high processing power, short response time, and economical use of system resources (in comparison with solutions based on CGI technology);</p><p>- you can use the server as a simple HTTP server for storing and displaying any HTML documents;</p><p>- application of the Server Side Include (SSI) technology allows you to use the server as an engine for your web-site;</p><p>- managing the connection logs, error logs, and/or any additional system information allows you to keep record of the work, quickly track down the bugs and unauthorized access attempts;</p><p>- usage of authentications and "allow/deny" IP lists allows you to restrict access to the server;</p><p>- you can use several database connections in one report simultaneously;</p><p>- you can use FastReport client components for interaction between a client application and the server. You can use any web-browser as well;</p><p>- your reports may have a dialogue forms that will be used for entering some values before running a report;</p><p>- supported formats of the prepared reports are: HTML, PDF, RTF, XML, XLS, JPEG, and Text;</p><p>- you can use several modes of displaying the prepared report in your web-browser: single-page document, page-separated with page navigator.</p>
|
||||
</FONT>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Introduction.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Components of FastReport Enterprise Edition/Components of FastReport Enterprise Edition.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,45 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>8. Important security issues</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="store,folder,reports,database,gateways,local,section,client,network,internet,server,report,security" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>8. Important security issues</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>1. When using a report server on Microsoft Windows platform over the Internet, it is recommended to use a firewall between server and internet network.</p><p>2. It is obligatory to use the authentication of the client program
|
||||
(<a href="The%20Report%20server/Authentication.htm">section 3.8</a>).</p><p>3. Use the "allow/deny IP" function in local network
|
||||
(<a href="The%20Report%20server/Access%20restriction%20by%20IP%20address.htm">section 3.9</a>).</p><p>4. If you have any gateways to Internet in local network, then include IP addresses of these gateways to the "deny" list of the report server (<a href="The%20Report%20server/Access%20restriction%20by%20IP%20address.htm">section 3.9</a>).</p><p>5. Do not pass parameters to database connection from client if you use reports with internal database components.</p><p>6. In reports folder, store only those reports, which you use in your application.</p><p>7. Do not store any private documents in the HTTP root folder.</p><p>9. If you find any bugs in security system of the FastReport Enterprise, send a note to the developers of the product.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Examples/Example of the simple client-server application/Client side with threads.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="References.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,64 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>Introduction</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="descriptions,rules,usage,concerning,properties,detailed,generator,additional,technology,server,client,allows,library,fastreport,information,guide" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
<FONT FACE="Arial" SIZE=5>Introduction</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>This programming guide contains information about FastReport library's extension.
|
||||
This extension allows to build reports on client-server technology with using of
|
||||
standard FastReport 3 components and additional components
|
||||
(that are intended for organization of interaction between client and server).</p>
|
||||
<p>FastReport 3 is a highly productive report generator with unique capabilities.
|
||||
Read detailed description of FastReport at
|
||||
<a href="http://fast-report.com/pbc_download/DeveloperManual-en.pdf">"FastReport 3 - developer's guide" [7]</a>,
|
||||
<a href="http://fast-report.com/pbc_download/ProgrammerManual-en.pdf">"FastReport 3 - programmer's guide" [8]</a>
|
||||
, <a href="http://fast-report.com/pbc_download/UserManual-en.pdf">"FastReport 3 - user's guide" [9]</a>.</p>
|
||||
<p><img src="image/freepm_001.gif" width="578" height="400" border="0"></p>
|
||||
<p>This guide describes the structure of client components and server components,
|
||||
their properties and methods, as well as architecture of a report server and
|
||||
the principles of its functioning. Furthermore, it gives recommendations concerning
|
||||
optimization and usage of new capabilities in already existing applications and
|
||||
those developed anew.</p>
|
||||
<p>The experienced FastReport users will be interested in recommendations
|
||||
about increasing server components' speed, optimization of reports for their
|
||||
correct export to various tabular formats, application of rules of information
|
||||
safety for application protection from non-authorized access.</p>
|
||||
<p>We have been constantly improving the FastReport 3 Enterprise components.
|
||||
That is why there is a probability that some capabilities are not mentioned
|
||||
in this manual. Descriptions of all changes will be necessarily included to
|
||||
the next version of this manual.</p></font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="center">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left> </td>
|
||||
<td>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="FastReport 3 Enterprise - Client-Server reporting tool.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>9. References</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="pbc_download,report,september,reports,manual,fastreport,tzyganenko,digest,january,october" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>9. References</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>1. Braden, R., "Requirements for Internet hosts - application and support", STD 3, RFC 1123, IETF, October 1989.</p><p>2. Berners-Lee, T., Fielding, R., and H. Frystyk, "Hypertext Transfer Protocol - HTTP/1.1" RFC 2068, January 1997.</p><p>3. Franks, J., Hallam-Baker, P., Hostetler, J., Leach, P., Luotonen, A., Sink, E., and L. Stewart, "An Extension to HTTP: Digest Access Authentication", RFC 2069, January 1997.</p><p>4. Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, April 1992.</p><p>5. Meyers, J., and M. Rose "The Content-MD5 Header Field", RFC 1864, Carnegie Mellon, Dover Beach Consulting, October, 1995.</p><p>6. Deutsch, P., "GZIP file format specification version 4.3." RFC 1952, Aladdin Enterprises, May 1996.</p><p>7. Tzyganenko, A., "FastReport 3 - Developer manual." Fast Reports Inc., September 2004.</p><p><a href="http://www.fast-report.com/pbc_download/DeveloperManual-en.pdf">http://www.fast-report.com/pbc_download/DeveloperManual-en.pdf</a></p><p>8. Tzyganenko, A., "FastReport 3 - Programmer manual." Fast Reports Inc., September 2004.</p><p><a href="http://www.fast-report.com/pbc_download/ProgrammerManual-en.pdf">http://www.fast-report.com/pbc_download/ProgrammerManual-en.pdf</a></p><p>9. Tzyganenko, A., "FastReport 3 - User manual." Fast Reports Inc., September 2004.</p><p><a href="http://www.fast-report.com/pbc_download/UserManual-en.pdf">http://www.fast-report.com/pbc_download/UserManual-en.pdf</a></p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Important security issues.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Developers contact information.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>5.2. Other clients</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="mozilla,appears,application,simple,report,running,looks,return,should,convert,reports,forms,dialogue,frames,tables,javascript,supports,browser,compatible,protocol,standard,using,program,client,choosing,opportunities,gives,server,fastreport,other" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>5.2. Other clients</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>The FastReport server gives you wide opportunities of choosing the client program due to using standard HTTP protocol. You can use any HTTP-compatible client such as</p><p><img src="../image/freepm_036.gif" width="224" height="150" border="0"></p><p>web-browser that supports JavaScript, tables, and frames.</p><p>When using dialogue forms in your reports, the server will convert them to web-forms and pass them to a client. Client should fill in the form and return it to the server.</p><p>This is how the dialogue form looks when running a report in a simple (non-client-server) application:</p><p><img src="../image/freepm_037.gif" width="207" height="223" border="0"></p><p>The same form appears in the Mozilla web-browser, when running a report in the client-server application.</p><p><img src="../image/freepm_038.gif" width="447" height="323" border="0"></p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="TfrxReportClient-based report client.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="../Adapting your applications for client-server technology.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>5. Report client</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="browsers,alone,stand,component,tfrxreportclient,applications,server,fastreport,clients,kinds,there,report" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>5. Report client</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>There are two kinds of clients of the FastReport server:</p><p>- applications that use TfrxReportClient component;</p><p>- any stand-alone HTTP-clients, such as web-browsers.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="../Developing the reports/Some advices concerning the design of a report.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="TfrxReportClient-based report client.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>5.1. TfrxReportClient-based report client</title>
|
||||
<meta name="keywords" content="resources,system,traffic,network,clients,optimal,solution,cases,components,filter,using,formats,supported,export,printed,displayed,fastreport,native,format,prepared,receives,variables,parameters,passing,server,querying,allows,applications,client,specially,designed,component,report,based,tfrxreportclient" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>5.1. TfrxReportClient-based report client</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>TfrxReportClient component is designed specially for client applications. This component allows querying a report from the server, passing some report parameters (variables) to the server. It receives prepared report in the FP3 format (native FastReport format). The prepared report can be displayed and printed on the client side. You can also export the prepared report to any of the supported formats, using export filter components. In most cases, this solution is optimal for client applications. Clients that use the TfrxReportClient component make low network traffic and use less server system resources.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Report client.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Other clients.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,62 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.9. Access restriction by IP address</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="allowp,cannot,range,local,examples,supported,masks,addresses,checks,included,connected,contains,while,connect,clients,empty,lists,example,allowed,allowip,restricted,contain,denyip,tfrxreportserver,property,address,client,supports,server,restriction,access" >
|
||||
|
||||
<style>
|
||||
.text {font-family: Courier; font-size: 12px; color: #000080;}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.9. Access restriction by IP address</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>The Server supports the restriction by client IP address.</p>
|
||||
<p>Property TfrxReportServer.DenyIP can contain list of the restricted client IPs'.</p>
|
||||
<p>Property TfrxReportServer.AllowIP can contain list of the allowed client IPs'.Each list must contain one IP address in one line.Here is an example of such list:</p>
|
||||
<p class="text">192.168.0.10</p><p class="text">192.168.0.12</p>
|
||||
<p class="text">192.168.0.54</p>
|
||||
<p>If the "DenyIP" and "AllowIP" lists are empty, then all clients are allowed to connect to the server.</p>
|
||||
<p>If the "DenyIP" list is empty, while the "AllowIP" list contains an IP address, then only one client with this IP address can connect to the server.</p>
|
||||
<p>If the IP address of a connected client is not included in the "DenyIP" list, then the server checks if this address is included in the "AllowIP" list.</p>
|
||||
<p>IP addresses' masks are not supported.</p>
|
||||
<p><b>Examples:</b></p>
|
||||
<p>1. Only local host can connect to the server:</p>
|
||||
<p>AllowIP:</p>
|
||||
<p class="text">127.0.0.1</p>
|
||||
<p>DenyIP is empty.</p><p>2. IP addresses 192.168.0.2 - 192.168.0.6 can connect to the server.</p>
|
||||
<p>AllowIP:</p><p class="text">192.168.0.2</p>
|
||||
<p class="text">192.168.0.3</p><p class="text">192.168.0.4</p><p class="text">192.168.0.5</p><p class="text">192.168.0.6</p><p>DenyIP is empty.</p><p>2. IP addresses from range 192.168.0.8 - 192.168.0.10 cannot be connected to the server.</p><p>AllowP is empty.</p><p>DenyIP:</p><p class="text">192.168.0.8</p><p class="text">192.168.0.9</p><p class="text">192.168.0.10</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Authentication.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Database connections.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,44 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.8. Authentication</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="window,dialog,shows,simply,browser,correct,query,sending,retry,coded,error,unauthorized,answer,receives,client,contain,header,request,properties,password,login,configuration,tfrxreportserver,property,activate,authentication,basic,supports,server" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.8. Authentication</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>The server supports basic HTTP authentication. To activate authentication, set property TfrxReportServer.Configuration.Login and TfrxReportServer.Configuration.Password. If you set this properties, then request header must contain authentication info (RFC 2068 [2]). If client receives answer from server with 401 "Unauthorized" error coded, then the client must retry sending the query with correct authentication data. At that, web browser simply shows dialog window with login and password request:</p><p><img src="../image/freepm_034.gif" width="202" height="179" border="0"></p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Logs.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Access restriction by IP address.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,44 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.10. Database connections</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="threads,several,working,problems,amount,great,recommended,creating,learn,manual,fastreport,servers,attempt,starts,because,functionality,recommend,different,tfrxadodatabase,other,below,described,through,simultaneous,support,single,using,thread,these,report,tfrxadoquery,tfrxadotable,components,access,internal,forms,application,tadoconnection,example,component,connection,specify,should,connect,databases,reports,database" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.10. Database connections</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>Most of reports use data from databases. To connect to a database, you should:</p><p>- specify the database connection component (for example, TADOConnection) in one of your application forms;</p><p>- use internal data access components (such as TfrxADOTable, TfrxADOQuery) in your report. To connect to the database, these components should use the application connection.</p><p>In this case, a report will be thread-safe, using single connection to the database. In case some data access components do not support simultaneous work with database through a single connection, you should use the way described below.</p><p>The other way is to use the database connection component (such as TfrxADODatabase) in each report. In this case, you will be able to connect to different databases at one time. We do not recommend this way if you do not need this functionality because each time when report starts, it will attempt to connect to the database (in some DB servers the connection may take a long time).</p><p>Read the "FastReport 3 - User manual" [9] to learn more about creating reports with internal data access components (page 134).</p><p>It is not recommended to use BDE to connect to a database. BDE has a great amount of problems when working with several threads.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Access restriction by IP address.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Using the reports cache.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,44 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.12. Increasing server's processing power</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="faster,memory,false,configuration,tfrxreportserver,checksum,developing,formats,other,export,perform,response,reducing,allows,format,native,works,application,client,tfrxreportclient,scripts,complex,traffic,network,reports,bitmaps,resolution,execution,longer,query,running,cases,queries,optimize,slows,considerably,tfrxgzipcompressor,component,compression,performance,report,increase,recommendations,following,processing,server,increasing" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.12. Increasing server's processing power</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>Use the following recommendations to increase the report server performance:</p><p>- do not use compression component (TfrxGZipCompressor). It considerably slows down the server;</p><p>- optimize your SQL queries. In some cases running the SQL query may take a longer time than the report execution;</p><p>- do not use high-resolution bitmaps in your reports - it will increase the report execution time and network traffic;</p><p>- do not use complex scripts in your reports;</p><p>- use TfrxReportClient component in your client application. It works with FP3 native format and allows reducing the server response time (server does not perform the export to HTML or other formats) and the network traffic.</p><p>- when developing a report, keep in mind recommendations from <a href="../Developing%20the%20reports/Some%20advices%20concerning%20the%20design%20of%20a%20report.htm">4.2</a>;</p><p>- turn off the checksum, TfrxReportServer.Configuration.MIC := False;</p><p>- increase the memory size, use the faster CPU on PC used as a report server.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Using the reports cache.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Using the FastReport server together with other HTTP servers (Apache, IIS, etc).htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,106 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.1. Internal architecture</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="according,inquired,saves,format,native,tfrxreportclient,redirection,waits,exports,prepares,parameters,delivers,instance,fastreport,browser,transaction,overview,graphical,stored,resulting,receives,number,saved,after,special,query,report,sends,client,request,created,server,displays,internal" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.1. Internal architecture</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>The scheme displays the server's internal structure:</p>
|
||||
<p><img src="../image/freepm_008.gif" width="465" height="731" border="0"></p>
|
||||
<p>The sessions with unique identifier are created when a request from client comes.
|
||||
The line of the request is analyzed. If the requested file exists, then the server sends
|
||||
a positive response with the file to the client. Logs are updated with new record about this event.
|
||||
If the request contains the report query, then a special report session is created.
|
||||
After the report is built, the result is saved to folder with session number as a name.
|
||||
The server responses to the client, and reports a new file location.
|
||||
The client sends a new request to the new file location, and receives the file with the result.
|
||||
Session with the resulting file is stored by server until session time expires.</p>
|
||||
<i><p>Below is a step-by-step graphical overview of the report query transaction with the web browser:</p></i>
|
||||
|
||||
<p>- client sends query; the report's title is "1.fr3"</p>
|
||||
<p><img src="../image/freepm_009.gif" width="489" height="90" border="0"></p>
|
||||
<p>- the server creates a new FastReport instance and delivers parameters of the request</p>
|
||||
<p><img src="../image/freepm_010.gif" width="504" height="90" border="0"></p>
|
||||
<p>- FastReport prepares the report and exports results to a html file into the folder, the name of the folder is the same as the session's number</p>
|
||||
<p><img src="../image/freepm_011.gif" width="330" height="90" border="0"></p>
|
||||
<p>- server waits for the results from FastReport</p>
|
||||
<p><img src="../image/freepm_012.gif" width="504" height="90" border="0"></p>
|
||||
<p>- client receives redirection to the location of the resulting file</p>
|
||||
<p><img src="../image/freepm_013.gif" width="489" height="90" border="0"></p>
|
||||
<p>- client sends a new query with the request of results file</p>
|
||||
<p><img src="../image/freepm_014.gif" width="489" height="90" border="0"></p>
|
||||
<p>- server delivers the resulting file to the client</p>
|
||||
<p><img src="../image/freepm_015.gif" width="489" height="90" border="0"></p>
|
||||
<i><p>Step-by-step graphical overview of the report query transaction with the FastReport (TfrxReportClient):</p></i>
|
||||
<p>- a client wants to show report "1.fr3":</p>
|
||||
<p><img src="../image/freepm_016.gif" width="190" height="69" border="0"></p>
|
||||
<p>- client component sends a query with the name of report "1.fr3" (native result format)</p>
|
||||
<p><img src="../image/freepm_017.gif" width="489" height="90" border="0"></p>
|
||||
<p align="center"><font size="+3"><b>...</b></font></p>
|
||||
<p>- FastReport prepares the report and saves the results to a native fp3; the name of the folder is the same as the session's number</p>
|
||||
<p><img src="../image/freepm_018.gif" width="355" height="90" border="0"></p>
|
||||
<p>- server waits for the results from FastReport</p>
|
||||
<p><img src="../image/freepm_019.gif" width="504" height="90" border="0"></p>
|
||||
<p>- client receives redirection to the location of the resulting file</p>
|
||||
<p><img src="../image/freepm_020.gif" width="489" height="90" border="0"></p>
|
||||
<p align="center"><font size="+3"><b>...</b></font></p>
|
||||
<p>- server sends the result file to the client</p>
|
||||
<p><img src="../image/freepm_021.gif" width="489" height="90" border="0"></p>
|
||||
<p>- client displays the report</p>
|
||||
<p><img src="../image/freepm_022.gif" width="335" height="82" border="0"></p>
|
||||
<i><p>If the inquired report contains any forms, the process becomes more complicated:</p></i>
|
||||
<p>- client client component sends a query with the name of report "1.fr3"</p>
|
||||
<p><img src="../image/freepm_023.gif" width="489" height="90" border="0"></p>
|
||||
<p>- the server creates a new FastReport instance and transfers parameters of the request</p>
|
||||
<p><img src="../image/freepm_024.gif" width="504" height="90" border="0"></p>
|
||||
<p>- FastReport prepares report and saves the web-form into the folder name according to the session number</p>
|
||||
<p><img src="../image/freepm_025.gif" width="320" height="90" border="0"></p>
|
||||
<p>- server wait the results from FastReport</p>
|
||||
<p><img src="../image/freepm_026.gif" width="504" height="90" border="0"></p>
|
||||
<p>- server redirects the client to the web-form file</p>
|
||||
<p><img src="../image/freepm_027.gif" width="489" height="90" border="0"></p>
|
||||
<p>- client receives the web-form, while FastReport waits</p>
|
||||
<p><img src="../image/freepm_028.gif" width="493" height="119" border="0"></p>
|
||||
<p>- client sends of the web-form dialog controls states to the server</p>
|
||||
<p><img src="../image/freepm_029.gif" width="489" height="90" border="0"></p>
|
||||
<p>- the server transfers the values of the control elements to the server</p>
|
||||
<p><img src="../image/freepm_030.gif" width="505" height="90" border="0"></p>
|
||||
<p>- server delivers the received information to FastReport</p>
|
||||
<p><img src="../image/freepm_031.gif" width="489" height="111" border="0"></p>
|
||||
<p>Format of the server request line, logging, authentication and other issues concerning server's functioning, are described below.</p>
|
||||
</FONT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="The Report server.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Supported formats of the report results.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</font>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,44 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.5. Internal server variables</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="getvalue,frrepotserver1,totals,variable,getting,example,generations,report,server_max_reports,simultaneous,number,maximal,server_max_sessions,errors,server_total_errors,reports,server_total_reports,sessions,total,server_total_sessions,server_uptime,update,server_last_update,version,server_software,copyright,server_copyright,server_name,updated,created,automatically,following,contains,property,variables,tfrxreportserver,working,during,server,internal" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.5. Internal server variables</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>During server's working, the "TfrxReportServer.Variables" property contains the following automatically created and updated variables:</p><p>SERVER_NAME - server name;</p><p>SERVER_COPYRIGHT - copyright;</p><p>SERVER_SOFTWARE - server version;</p><p>SERVER_LAST_UPDATE -last update date;</p><p>SERVER_UPTIME - up time of the server;</p><p>SERVER_TOTAL_SESSIONS - sum total of sessions;</p><p>SERVER_TOTAL_REPORTS - sum total of reports;</p><p>SERVER_TOTAL_ERRORS - sum total of errors;</p><p>SERVER_MAX_SESSIONS - maximal number of simultaneous sessions;</p><p>SERVER_MAX_REPORTS - maximal number of simultaneous report generations.</p><p><i>Example of getting a variable SERVER_TOTAL_REPORTS:</i></p><p>Totals := frRepotServer1.Variables.GetValue('SERVER_TOTAL_REPORTS');</p>
|
||||
</FONT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Transferring parameters to the report.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Using HTML documents.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,47 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.7. Logs</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="archive,forget,reports,error,errors,referer,referencing,windows,compatible,agent,result,session,information,contains,server,property,configuration,tfrxreportserver" >
|
||||
|
||||
<style>
|
||||
.text {font-family: Courier; font-size: 12px; color: #000080;}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.7. Logs</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>If the TfrxReportServer.Configuration.Logging property setting is "True," then the server writes logs to folder described in the "TfrxReportServer.Configuration.LogPath" property.</p><p>The server supports 5 logs:<br>- log of the accessed clients "access.log" - contains information about date, time, session id, IP and query line. Log fragment:</p><p class="text">10/26/2004 23:56:19 sid_f1672494035 192.168.0.2 result?report=3.fr3:</p><p class="text">10/26/2004 23:56:23 sid_f1340767011 192.168.0.2 sid_f1672494035/index.html:</p><p class="text">10/26/2004 23:56:23 sid_f1949776310 192.168.0.2 sid_f1672494035/index.nav.html:</p><p class="text">10/26/2004 23:56:23 sid_f1150188690 192.168.0.2 sid_f1672494035/index.1.html</p><p>- log of the connected program type "agent.log", contains information about date, time, IP, and program name. Log fragment:</p><p class="text">10/26/2004 23:56:19 192.168.0.2 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)</p><p class="text">10/26/2004 23:56:23 192.168.0.2 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)</p><p class="text">10/26/2004 23:56:23 192.168.0.2 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)</p><p>- log of the referencing URLs "referer.log", contains information about date, time, IP and referencing URL. Log fragment:</p><p class="text">10/26/2004 23:56:19 192.168.0.2 http://192.168.0.1/</p><p class="text">10/26/2004 23:56:23 192.168.0.2 http://192.168.0.1/</p><p class="text">10/26/2004 23:56:23 192.168.0.2 http://192.168.0.1/sid_f1672494035/index.html</p><p>- errors log "error.log", contains information about errors:</p><p class="text">10/25/2004 13:30:52 192.168.0.2 588864044016/index.1.html document not found</p><p class="text">10/26/2004 0:03:11 192.168.0.2 Software caused connection abort.(10053)</p><p class="text">10/26/2004 0:43:42 192.168.0.2 Connection reset by peer.(10054)</p><p>- server log "server.log", contains summary server information:</p><p class="text">10/25/2004 19:38:15 Started</p><p class="text">10/25/2004 19:38:15 HTTP server created</p><p class="text">10/25/2004 19:58:57 HTTP server closed</p><p class="text">10/25/2004 19:58:57 Stopped</p><p class="text">Uptime: 0 days 0 hours 20 minutes 42 seconds</p><p class="text">Total sessions: 654</p><p class="text">Total reports: 327</p><p class="text">Total errors: 0</p><p class="text">Max sessions: 84</p><p class="text">Max reports: 42</p><p>Do not forget to archive the log files.</p>
|
||||
</FONT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Using HTML documents.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Authentication.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,77 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.3. Query syntax</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="acrobat,adobe,available,browser,client,contain,correct,default,displaying,enable,example,excel,fastreport,format,formats,frames,generated,image,inaccessible,internal,javascript,multipage,navigator,option,ordinary,pagenav,pagerange,pages,param,parameter,parameters,prepared,presented,query,range,report,required,result,resulting,setting,several,single,support,table,using,value" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.3. Query syntax</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>When using an ordinary web-browser as a client,
|
||||
you can use parameters of the query line:</p><p><strong>report=<i>name</i></strong></p>
|
||||
<p><i>name</i> - name of the report available on server</p><p>Example: <i>/report=1.fr3
|
||||
</i> (query report 1.fr3, resulting format - HTML).</p>
|
||||
<p><strong>format=<i>name</i></strong></p>
|
||||
<p><i>name</i> - format of the required file, available formats: <b>HTM</b> (HTML),
|
||||
<b>XML</b> (xml table), <b>XLS</b> (Excel table), <b>RTF</b> (rich-text document),
|
||||
<b>TXT</b> (text file), <b>PDF</b>(Adobe Acrobat file), <b>JPG</b> (jpeg image),
|
||||
<b>FRP</b> (internal FastReport prepared report format).</p>
|
||||
<p>By default format is <b>HTM</b> (HTML).</p><p>Example: <i>/report=1.fr3&format=TXT</i>
|
||||
(query report 1.fr3, resulting format - text file).</p>
|
||||
<p><strong>pagerange=<i>value</i></strong></p>
|
||||
<p><i>value</i> - result page range (for FRP this option is inaccessible).</p>
|
||||
<p>Example of the page range: 1,3,5-12.</p><p>
|
||||
Example of the query line: <i>/report=3.fr3&pagerange=20-25</i>
|
||||
(query report 3.fr3, pages from 20 to 25, resulting format - HTML).</p>
|
||||
<p><strong>multipage=param</strong></p>
|
||||
<p>Only for HTM format. If param value is "1", then the resulting report
|
||||
will be presented as several pages (one file on each page).
|
||||
If param set as "0", then a single resulting page will be
|
||||
generated that will contain all report pages.
|
||||
Default parameter value setting is "1".</p>
|
||||
<p>Example: <i>/report=3.fr3&multipage=0</i>
|
||||
(query report 3.fr3, resulting format - HTML,
|
||||
all pages on one HTML page).</p>
|
||||
<p><strong>pagenav=<i>param</i></strong></p>
|
||||
<p>Only for HTM format. To enable page navigator, set param value as "1".
|
||||
If param value is "0", then page navigator is off.
|
||||
For correct page displaying, use web-browser
|
||||
with javascript and frames support. Default setting of this parameter is "1".</p>
|
||||
<p>Example: <i>/report=9.fr3&multipage=0&pagenav=0</i>
|
||||
(query report 9.fr3, resulting format - HTML,
|
||||
all result pages on one HTML page, page navigator is off).</p>
|
||||
</FONT>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Supported formats of the report results.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Transferring parameters to the report.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,46 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.2. Supported formats of the report results</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="spreadsheets,opened,richtext,printpdf,reader,makes,designed,scroll,which,navigator,resolution,previewing,connection,since,components,images,transferred,cases,printing,appropriate,tfrxreportclient,between,transaction,during,format,fastreport,native,report,formats" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.2. Supported formats of the report results</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>FR3 is a native FastReport 3 format. It is represented as a XML document. FR3 is used during transaction between TfrxReportServer and TfrxReportClient. This format is the most appropriate one for document printing. In most cases, use of this format reduces both transaction time and size of the transferred files (except reports containing high quality images).</p><p>It is undesirable to use additional compression components (TfrxGZipCompressor) on server side, since it reduces overall server performance, especially when the traffic compression option is activated (TfrxReportServer.Configuration.Compression := True; TfrxReportClient.Connection.Compression := True).</p><p>HTML format used by most web-sites in the Internet network is intended for previewing document in low resolution. It is quite difficult to perform high-quality printing of document using this format. HTML format is convenient for most web-browsers. If you use a web-browser as a client, then this format is appropriate for you (see details in <a href="../Report%20client/Other%20clients.htm">topic 5.2</a>).
|
||||
FastReport server creates web pages with a report navigator, with the help of which you can scroll the pages.</p></p><p><img src="../image/freepm_032.gif" width="273" height="170" border="0">
|
||||
<p>PDF format by Adobe is designed specially for documents intended for printing.</p><p>FastReport makes high-quality export to this format. For viewing and printing PDF documents, you should install Adobe Acrobat Reader program on your computer.</p><p>If property "TfrxReportServer.PrintPDF := True" is set, then, during previewing HTML pages with report results, a file in this format is generated (by pressing the "Print" button on report navigator panel).</p><p><img src="../image/freepm_033.gif" width="280" height="203" border="0"></p><p>The Server also supports the following formats:</p><p>- RTF format. A RichText document can be opened in most text processors;</p><p>- XLS and XML. These are the Excel spreadsheets formats;</p><p>- text file (required for dot-matrix printing);</p><p>- graphic file jpeg.</p><p>The set of the formats allowed to use in queries is configured by the "TfrxReportServer.Configuration.OutputFormats" property, which may contain one or several values from the following set: sfHTM - HTML format, sfXML - XML format, sfXLS - Excel format, sfRTF - RichText format, sfTXT - text file, sfPDF - Adobe Acrobat format, sfJPG - jpeg picture, sfFRP - native FastReport 3 (FR3) format.</p><p>If type of a returned format is not specified during request, then the server generates the result in HTML format.</p>
|
||||
</FONT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Internal architecture.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Query syntax.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,45 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3. The Report server</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="statistics,collecting,events,logging,simultaneously,reports,several,transact,generating,capability,autonomous,represented,component,tfrxreportserver,server,report" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3. The Report server</font>
|
||||
<FONT FACE="Arial" SIZE=2><p>Server side (TfrxReportServer component) is represented as an autonomous HTTP server with a capability of report generating. The Report server is able to transact several reports simultaneously, logging any events, and collecting the statistics.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="../Components of FastReport Enterprise Edition/TfrxHTTPClient.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Internal architecture.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.4. Transferring parameters to the report</title>
|
||||
<meta name="keywords" content="automatically,tfrxreportclient,contained,variables,script,these,please,frxserverutils,declared,htmlcodestr,untf8encode,function,standard,compatible,format,unicode,converted,strings,transferred,concerning,restrictions,below,world,setting,query,20world,hello,param1,myreport,example,variable,fastreport,internal,report,building,interprets,server,above,listed,request,presented,other,parameters,transferring" >
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.4. Transferring parameters to the report</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>If other parameters are presented in the request line (not listed above), then server interprets them as parameters for building a report as internal FastReport variable.</p><p><b>Example:</b></p><p>/report=myreport.fr3&param1=Hello%20World! (query report "myreport.fr3", FastReport variable "param1" setting is "Hello World!")</p><p><em>Below are some restrictions concerning parameters transferred:</em></p><p>- all strings can be converted in Unicode UTF-8 format and can be compatible with HTTP query standard (use of standard function Untf8Encode and function HTMLCodeStr declared in frxServerUtils.pas file);</p><p>- all parameters are transferred to report as strings. Please keep in mind this when you use these parameters in the report script;</p><p>- all variables contained in TfrxReportClient.Variables are automatically sent to the server.</p>
|
||||
</FONT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Query syntax.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Internal server variables.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,47 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.6. Using HTML documents</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="server_total_reports,server_total_sessions,sessions,uptime,width,right,align,variable,value,header,example,position,current,filename,description,commands,correspondingly,indexfilename,specified,default,rootpath,configuration,tfrxreportserver,property,folder,documents,server" >
|
||||
|
||||
<style>
|
||||
.text {font-family: Courier; font-size: 12px; color: #000080;}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.6. Using HTML documents</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>The Server can be used as a simple HTTP server for viewing any HTML documents or any other files.</p><p>Place the HTML documents to any folder, and then correctly set the property TfrxReportServer.Configuration.RootPath.</p><p>Name of the default document must be specified in the TfrxReportServer.Configuration.IndexFileName property (default index.html). Correspondingly, a document with this name must exist in the root folder.</p><p><strong>SSI (Server Side Include) commands description.</strong></p><p><em>Include any file in document.</em></p><p><!--#include virtual="filename.html" --></p><p>Include the file with name filename.html in current document position. Path to file is specified from RootPath.</p><p>Example:</p><p class="text"><!--#include virtual="header.html" --> || Command line help</p><p class="text"><!--#include virtual="top.html" --></p><p class="text"><font face="Tahoma" size="3"><a href="index.html"><b>Back to main page</b></a><b><br></p><p class="text"></b></font></p><p class="text"><hr></p><p class="text">...</p><p><em>Insert value of server variable.</em></p><p><!--#echo var="VARIABLE"--></p><p>Insert the value of variable with the "VARIABLE" name in current document position.</p><p>Example:</p><p class="text">...</p><p class="text"><tr> <td align="right" width="200"><b>Uptime:</b></td></p><p class="text"><td width="300"><!--#echo var="SERVER_UPTIME"--></td></tr></p><p class="text"><tr> <td align="right"><b>Total sessions:</b></td></p><p class="text"><td><!--#echo var="SERVER_TOTAL_SESSIONS"--></td></tr></p><p class="text"><tr> <td align="right"><b>Total reports:</b></td></p><p class="text"><td><!--#echo var="SERVER_TOTAL_REPORTS"--></td></tr></p><p class="text"><tr> <td align="right"><b>Max sessions:</b></td></p><p class="text"><td><!--#echo var="SERVER_MAX_SESSIONS"--></td></tr></p><p class="text"><tr> <td align="right"><b>Max reports:</b></td></p><p class="text"><td><!--#echo var="SERVER_MAX_REPORTS"--></td></tr></p><p class="text">...</p><p>Use of SSI commands optimizes website development.</p><p>Example of the site with SSI you can see in the "\FastReport 3\Demos\ClientServer\Server\htdocs" folder.</p>
|
||||
</FONT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Internal server variables.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Logs.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,46 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.13. Using the FastReport server together with other HTTP servers (Apache, IIS, etc)</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="multipage,launch,missed,manual,application,configure,folder,wrapper,example,results,query,computers,reports,built,possible,already,apache,servers,other,server,fastreport,using" >
|
||||
<style>
|
||||
.text {font-family: Courier; font-size: 12px; color: #000080;}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.13. Using the FastReport server together with other HTTP servers (Apache, IIS, etc)</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>To use already existing solutions based on other HTTP servers, their integration with the FastReport server is possible by means of the "CGI" mechanism. It gives an advantage in comparison with using a built-in HTTP server FastReport. Reports can be built in an already-working system (site). HTTP server and a server of reports can work on different computers. Usage "SSL" encoding for operation with HTTP a server is possible (this possibility is unavailable in HTTP server FastReport yet).</p><p>Applying such method, CGI becomes an intermediate for tranfering a query to the "FastReport" server, obtaining results from a server of reports, and return of the results to the client.</p><p><img src="../image/freepm_035.gif" width="487" height="286" border="0"></p><p>You can found example of CGI wrapper in the "Demos\ClientServer\CGI" folder.</p><p><strong>To us the CGI wrapper:</strong></p><p><li>compile and copy file fastreport.exe to the folder /cgi-bin of the HTTP server;</li></p><p><li>configure the HTTP server (Apache, IIS or other) to execute the CGI application. Read more about this in HTTP server user manual;</li></p><p><em>If HTTP and reports servers work on same computer:</em></p><p><li>if TCP/IP port 80 is used by HTTP server configure the FastReport server on other port 8097 (this port is used by CGI application by default if configuration file is missed), if you want to use other TCP/IP port, read below about using the configuration file of the CGI application;</li></p><p><em>If HTTP and FastReport servers work on separate computers:</em></p><p><li>create the configuration file of the CGI application in folder /cgi-bin with name fastreport.ini:</li></p><p class="text">[REPORTSERVER]</p><p class="text">; IP address of the FastReport server</p><p class="text">Host=192.168.0.34</p><p class="text">; IP port of the FastReport server</p><p class="text">Port=80</p><p><li>launch the FastReport server and check work of the CGI application.</li></p><p>Report query example with using of CGI application:<br><a href="http://127.0.0.1/cgi-bin/fastreport.exe?report=67.fr3&multipage=0&pagenav=0">http://127.0.0.1/cgi-bin/fastreport.exe?report=67.fr3&multipage=0&pagenav=0</a></p><p>Read more about query line syntax in <a href="Query%20syntax.htm">3.3 topic</a>. Replace the "result" keyword in this point at "cgi-bin/fastreport.exe" construction.</p><p>Attention: to restrict direct access to the report server from clients, it is necessary to specify an IP address of the HTTP server, on which CGI application works (127.0.0.1 or other).</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Increasing servers processing power.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="../Developing the reports/Developing the reports.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,49 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head><title>3.11. Using the reports cache</title>
|
||||
<meta name="author" content="Alexander Fediachov fediachov@fast-report.com" >
|
||||
<meta name="copyright" content="Copyright (c) 1998-2005 by Fast Reports Inc" >
|
||||
<meta name="keywords" content="defaultlatency,results,enabled,false,reportcaching,become,would,enough,activity,period,storage,requested,format,client,during,report,cache,result,after,configuration,depending,server,prepared,caching,reports" >
|
||||
|
||||
<style>
|
||||
.text {font-family: Courier; font-size: 12px; color: #000080;}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%" height="92%">
|
||||
<tr>
|
||||
<td height="97%" valign="top">
|
||||
|
||||
<FONT FACE="Arial" SIZE=4>3.11. Using the reports cache</font>
|
||||
<FONT FACE="Arial" SIZE=2>
|
||||
<p>Caching of reports allows achieving high efficiency because of saving prepared reports in temporary files of the server. Depending on server configuration, after preparation the result can be placed in cache.</p><p>After specified time, the result of the report will be removed from the cache.</p><p>If during this time a query with the <em>same name of the report and the same values of parameters</em> is received from a client, the response will be immediately returned to it. The reply will be based on the result saved in cache, and will be represented in the format requested by the client.</p><p>In that case, the server will waste time only on conversion of the prepared report in the requested format without building a report. It considerably increases the productivity.</p><p>Depending on tasks performed by a server, it is possible to assign an individual storage time in cache for each particular report.</p><p>Time value is set by the administrator of a server, according to actuality of a report, after certain period of time.</p><p>For example, the annual report about activity of an enterprise can be stored in cache long enough, since the information will be relevant for a long period of time, and it would not become outdated very soon. On the contrary, a report about a large commercial organization warehouse would be relevant during a small period, and therefore it consequently should be stored in cache not too long.</p><p>Reports cache properties:</p><p>TfrxServer.Configuration.ReportCaching - enable the cache (True/False);</p><p>TfrxServer.Configuration.ReportCachePath - path to the cache folder;</p><p>TfrxServer.Configuration.DefaultCacheLatency - latency timeout, default setting is 300 seconds.</p><p>Server configurations file parameters:</p><p class="text">[ReportsCache]</p><p class="text">; enable caching of the reports with same params</p><p class="text">Enabled=1</p><p class="text">; path to chache folder</p><p class="text">CachePath=.\cache\</p><p class="text">; dafault delay for cache of the report results in seconds</p><p class="text">DefaultLatency=300</p><p>The additional section of a configuration file of a server [ReportsLatency] is for customization of a storage time in cache results of one or another report:</p><p class="text">[ReportsLatency]</p><p class="text">; cache delay for the 1.fr3 report in seconds
|
||||
</p><p class="text">1.fr3=10</p><p class="text">; cache delay for the 2.fr3 report in seconds
|
||||
</p><p class="text">2.fr3=20</p><p class="text">; add below the any reports for the custom cache delay setup</p><p>Correction of parameters configuration will minimize time of working clients and will reduce total traffic on the server.</p>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="3%" align="center" valign="bottom"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<FONT FACE="Arial">
|
||||
<table cellspacing="0" cellpadding="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td width="5"></td>
|
||||
<td align=left>
|
||||
<a href="Database connections.htm">< previous page</a>
|
||||
</td>
|
||||
<td>
|
||||
<td><a href="../index.html" align="center" target=_top>main page</a>
|
||||
</td>
|
||||
<td align=right>
|
||||
<a href="Increasing servers processing power.htm">next page ></a>
|
||||
</td>
|
||||
<td width="5"></td>
|
||||
</table>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</html>
|
||||
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<HTML><HEAD><TITLE>FastReport 3 Enterprise - on-line Guide</TITLE>
|
||||
<META content="FastReport - professional report generator. Best reporting tool." name=Description>
|
||||
</HEAD>
|
||||
<BODY bgColor=#f2f2f2>
|
||||
<TABLE height=56 cellSpacing=0 cellPadding=0 width="100%" bgColor=#99bbdd border=0>
|
||||
<TR>
|
||||
<TD width="10"> </TD>
|
||||
<TD align=left>
|
||||
<FONT face=Verdana color=#000077 size=4><B>FastReport 3 Enterprise</B></FONT><br>
|
||||
<FONT face=Verdana color=#FFFFFF size=3><B>Programmer's manual</B></FONT><br>
|
||||
</TD>
|
||||
<TD>
|
||||
<DIV align=right><FONT face=Verdana color=#FFFFFF size=5><B><I>On-line guide</B></I></FONT><BR>
|
||||
<FONT face=Tahoma color=#000077 size=1>Copyright © 1998-2005 by Fast Reports Inc</DIV></FONT></TD>
|
||||
<TD width=10></TD></TR>
|
||||
</TABLE>
|
||||
</BODY></HTML>
|
||||
@ -0,0 +1,51 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<HTML><HEAD><TITLE>Contents</TITLE>
|
||||
<STYLE>A {
|
||||
FONT: bold 8pt Tahoma; COLOR: #586e96
|
||||
}
|
||||
A:hover {
|
||||
FONT: bold 8pt Tahoma; COLOR: #283e66; TEXT-DECORATION: underline
|
||||
}
|
||||
</STYLE>
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY link=gray><FONT face="Times New Roman">
|
||||
<a href="Introduction.htm" target="frame2">Introduction</a>
|
||||
<br><br><a href="FastReport 3 Enterprise - Client-Server reporting tool.htm" target="frame2">1. FastReport 3 Enterprise - Client-Server reporting tool</a>
|
||||
<br><br><a href="Components of FastReport Enterprise Edition/Components of FastReport Enterprise Edition.htm" target="frame2">2. Components of FastReport Enterprise Edition</a>
|
||||
<br> <a href="Components of FastReport Enterprise Edition/TfrxReportServer.htm" target="frame2">2.1. TfrxReportServer</a>
|
||||
<br> <a href="Components of FastReport Enterprise Edition/TfrxServerConnection.htm" target="frame2">2.2. TfrxServerConnection</a>
|
||||
<br> <a href="Components of FastReport Enterprise Edition/TfrxReportClient.htm" target="frame2">2.3. TfrxReportClient</a>
|
||||
<br> <a href="Components of FastReport Enterprise Edition/TfrxHTTPClient.htm" target="frame2">2.4. TfrxHTTPClient</a>
|
||||
<br><br><a href="The Report server/The Report server.htm" target="frame2">3. The Report server</a>
|
||||
<br> <a href="The Report server/Internal architecture.htm" target="frame2">3.1. Internal architecture</a>
|
||||
<br> <a href="The Report server/Supported formats of the report results.htm" target="frame2">3.2. Supported formats of the report results</a>
|
||||
<br> <a href="The Report server/Query syntax.htm" target="frame2">3.3. Query syntax</a>
|
||||
<br> <a href="The Report server/Transferring parameters to the report.htm" target="frame2">3.4. Transferring parameters to the report</a>
|
||||
<br> <a href="The Report server/Internal server variables.htm" target="frame2">3.5. Internal server variables</a>
|
||||
<br> <a href="The Report server/Using HTML documents.htm" target="frame2">3.6. Using HTML documents</a>
|
||||
<br> <a href="The Report server/Logs.htm" target="frame2">3.7. Logs</a>
|
||||
<br> <a href="The Report server/Authentication.htm" target="frame2">3.8. Authentication</a>
|
||||
<br> <a href="The Report server/Access restriction by IP address.htm" target="frame2">3.9. Access restriction by IP address</a>
|
||||
<br> <a href="The Report server/Database connections.htm" target="frame2">3.10. Database connections</a>
|
||||
<br> <a href="The Report server/Using the reports cache.htm" target="frame2">3.11. Using the reports cache</a>
|
||||
<br> <a href="The Report server/Increasing servers processing power.htm" target="frame2">3.12. Increasing server's processing power</a>
|
||||
<br> <a href="The Report server/Using the FastReport server together with other HTTP servers (Apache, IIS, etc).htm" target="frame2">3.13. Using the FastReport server together with other HTTP servers (Apache, IIS, etc)</a>
|
||||
<br><br><a href="Developing the reports/Developing the reports.htm" target="frame2">4. Developing the reports</a>
|
||||
<br> <a href="Developing the reports/Some client-server restrictions.htm" target="frame2">4.1. Some client/server restrictions</a>
|
||||
<br> <a href="Developing the reports/Some advices concerning the design of a report.htm" target="frame2">4.2. Some advices concerning the design of a report</a>
|
||||
<br><br><a href="Report client/Report client.htm" target="frame2">5. Report client</a>
|
||||
<br> <a href="Report client/TfrxReportClient-based report client.htm" target="frame2">5.1. TfrxReportClient-based report client</a>
|
||||
<br> <a href="Report client/Other clients.htm" target="frame2">5.2. Other clients</a>
|
||||
<br><br><a href="Adapting your applications for client-server technology.htm" target="frame2">6. Adapting your applications for client-server technology</a>
|
||||
<br><br><a href="Examples/Example of the simple client-server application/Example of a simple client-server application.htm" target="frame2">7. Examples</a>
|
||||
<br> <a href="Examples/Example of the simple client-server application/Example of a simple client-server application.htm" target="frame2">7.1. Example of a simple client-server application</a>
|
||||
<br> <a href="Examples/Example of the simple client-server application/Server side.htm" target="frame2">7.1.1. Server side</a>
|
||||
<br> <a href="Examples/Example of the simple client-server application/Client side.htm" target="frame2">7.1.2. Client side</a>
|
||||
<br> <a href="Examples/Example of the simple client-server application/Client side with threads.htm" target="frame2">7.1.3. Client side with threads</a>
|
||||
<br><br><a href="Important security issues.htm" target="frame2">8. Important security issues</a>
|
||||
<br><br><a href="References.htm" target="frame2">9. References</a>
|
||||
<br><br><a href="Developers contact information.htm" target="frame2">10. Developers' contact information</a>
|
||||
<br><br><br>
|
||||
</FONT></BODY></HTML>
|
||||
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 798 B |
|
After Width: | Height: | Size: 958 B |
|
After Width: | Height: | Size: 998 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |