added lazdbexport.lpk from Michael Van Canneyt

git-svn-id: trunk@12802 -
This commit is contained in:
mattias 2007-11-09 20:02:56 +00:00
parent 8a8085d7af
commit 327b173ede
24 changed files with 2450 additions and 0 deletions

23
.gitattributes vendored
View File

@ -176,6 +176,29 @@ components/daemon/lazdaemon.lpk svneol=native#text/plain
components/daemon/lazdaemon.pas svneol=native#text/plain
components/daemon/lazdaemonapp.pp svneol=native#text/plain
components/daemon/reglazdaemon.pp svneol=native#text/plain
components/dbexport/README.txt svneol=native#text/plain
components/dbexport/dbexportimg.lrs svneol=native#text/plain
components/dbexport/fpdataexporter.pp svneol=native#text/plain
components/dbexport/frmbaseconfigexport.lfm svneol=native#text/plain
components/dbexport/frmbaseconfigexport.lrs svneol=native#text/plain
components/dbexport/frmbaseconfigexport.pp svneol=native#text/plain
components/dbexport/frmexportprogress.lfm svneol=native#text/plain
components/dbexport/frmexportprogress.lrs svneol=native#text/plain
components/dbexport/frmexportprogress.pp svneol=native#text/plain
components/dbexport/frmselectexportformat.lfm svneol=native#text/plain
components/dbexport/frmselectexportformat.lrs svneol=native#text/plain
components/dbexport/frmselectexportformat.pp svneol=native#text/plain
components/dbexport/lazdbexport.lpk svneol=native#text/plain
components/dbexport/lazdbexport.pas svneol=native#text/plain
components/dbexport/regdbexport.pp svneol=native#text/plain
components/dbexport/tcsvexporter.xpm svneol=native#text/plain
components/dbexport/tfixedlengthexporter.xpm svneol=native#text/plain
components/dbexport/tfpdataexporter.xpm svneol=native#text/plain
components/dbexport/tfpdbfexport.xpm svneol=native#text/plain
components/dbexport/tsimplejsonexporter.xpm svneol=native#text/plain
components/dbexport/tsimplexmlexporter.xpm svneol=native#text/plain
components/dbexport/tsqlexporter.xpm svneol=native#text/plain
components/dbexport/tstandardexportformats.xpm svneol=native#text/plain
components/editortoolbar/editortoolbar.lpk svneol=native#text/plain
components/editortoolbar/editortoolbar.lrs svneol=native#text/plain
components/editortoolbar/editortoolbar.pas svneol=native#text/plain

View File

@ -0,0 +1,24 @@
This is the Lazarus support for the Free Pascal DBExport units.
These units provide exports from any TDataset to various file formats.
The package registers on the tab 'Data Export' the following components:
TSCVExporter - Export to CSV (Comma Separated Values) file.
TFixedLengthExporter - Export to Fixed Length format file.
TSimpleXMLExporter - Export to XML file (no UTF-8, just ASCII)
TSimpleJSONExporter - Export to JSON file (no UTF-8, just ASCII)
TSQLExporter - Export data as a series of SQL insert/update statements.
TFPDBFEport - Export to a DBF file.
TDataExporter - Dialog component which allows to select a registered export
format, configures the export settings, and exports the data. Right-click on
the component and select 'Execute' from the component editor menu to try
this in the designer.
TStandardExports - Drop this on a form to register standard export types in
your application.

View File

@ -0,0 +1,184 @@
LazarusResources.Add('tcsvexporter','XPM',[
'/* XPM */'#10'static char *tcccsvexporter[]={'#10'"22 23 45 1",'#10'"a c #00'
+'0000",'#10'"t c #000008",'#10'"s c #000010",'#10'"b c #000400",'#10'"c c #0'
+'00408",'#10'"u c #000410",'#10'"F c #000800",'#10'"v c #000810",'#10'"G c #'
+'000c00",'#10'"# c #080408",'#10'"P c #080800",'#10'"O c #080808",'#10'"r c '
+'#080c00",'#10'"z c #296929",'#10'"i c #bdbebd",'#10'"n c #bdbec5",'#10'"q c'
+' #c5c2bd",'#10'"f c #c5c2c5",'#10'"o c #c5c2cd",'#10'"d c #c5c6c5",'#10'"h '
+'c #c5c6cd",'#10'"N c #c5c6d5",'#10'"p c #c5cabd",'#10'"E c #c5cad5",'#10'"m'
+' c #c5ceb4",'#10'"w c #c5cec5",'#10'"j c #cdc6cd",'#10'"k c #cdcacd",'#10'"'
+'g c #cdcad5",'#10'"l c #cdceb4",'#10'"D c #cdcec5",'#10'"e c #cdcecd",'#10
+'"C c #de1c10",'#10'"L c #eee6ff",'#10'"B c #eeeaff",'#10'"M c #eeeeff",'#10
+'"y c #f6f2ff",'#10'"A c #f6f6ee",'#10'"H c #f6f6ff",'#10'"J c #f6faff",'#10
+'"K c #f6ffff",'#10'"I c #fff6ff",'#10'"Q c #fffaf6",'#10'"x c #fffaff",'#10
+'". c #ffffff",'#10'".#aaaaaaabaaabacaabaa.",'#10'".adbefghhiejklmnoplqa.",'
+#10'".braassstabaaabuvtabb.",'#10'".awa.xyx..kzzzzzzzz.a.",'#10'".aAb.xxBx.d'
+'zCCCCCCz.b.",'#10'".aDb.zzzz.EzCCCCCCz.a.",'#10'".FAG.HyII.EzzzzzCCz.a.",'
+#10'".awaJzzzz.E..KKzCCzHF.",'#10'".a.c.xLIMxN..H.zCCz.a.",'#10'".OdaJzzzz.E'
+'HJ..zCCz.a.",'#10'".a.c.xxMI.o.zzzzzzzzzz",'#10'".Pda.zzzzHh.yzCCCCCCzx",'
+#10'".aJc..H...nQ.xzCCCCzax",'#10'".aea.x.H.xk.x..zCCzxc.",'#10'".aaOaaacttt'
+'taaaazzaac.",'#10'"......................",'#10'"...CC...CC..C...C.....",'
+#10'"..C..C.C..C.C...C.....",'#10'"..C.....C...C...C.....",'#10'"..C......C.'
+'.C...C.....",'#10'"..C..C.C..C..C.C......",'#10'"...CC...CC....C.......",'
+#10'"......................"};'#10
]);
LazarusResources.Add('tfixedlengthexporter','XPM',[
'/* XPM */'#10'static char *tfixedexporter[]={'#10'"22 23 45 1",'#10'"a c #00'
+'0000",'#10'"t c #000008",'#10'"s c #000010",'#10'"b c #000400",'#10'"c c #0'
+'00408",'#10'"u c #000410",'#10'"F c #000800",'#10'"v c #000810",'#10'"G c #'
+'000c00",'#10'"# c #080408",'#10'"P c #080800",'#10'"O c #080808",'#10'"r c '
+'#080c00",'#10'"z c #296929",'#10'"i c #bdbebd",'#10'"n c #bdbec5",'#10'"q c'
+' #c5c2bd",'#10'"f c #c5c2c5",'#10'"o c #c5c2cd",'#10'"d c #c5c6c5",'#10'"h '
+'c #c5c6cd",'#10'"N c #c5c6d5",'#10'"p c #c5cabd",'#10'"E c #c5cad5",'#10'"m'
+' c #c5ceb4",'#10'"w c #c5cec5",'#10'"j c #cdc6cd",'#10'"k c #cdcacd",'#10'"'
+'g c #cdcad5",'#10'"l c #cdceb4",'#10'"D c #cdcec5",'#10'"e c #cdcecd",'#10
+'"C c #de1c10",'#10'"L c #eee6ff",'#10'"B c #eeeaff",'#10'"M c #eeeeff",'#10
+'"y c #f6f2ff",'#10'"A c #f6f6ee",'#10'"H c #f6f6ff",'#10'"J c #f6faff",'#10
+'"K c #f6ffff",'#10'"I c #fff6ff",'#10'"Q c #fffaf6",'#10'"x c #fffaff",'#10
+'". c #ffffff",'#10'".#aaaaaaabaaabacaabaa.",'#10'".adbefghhiejklmnoplqa.",'
+#10'".braassstabaaabuvtabb.",'#10'".awa.xyx..kzzzzzzzz.a.",'#10'".aAb.xxBx.d'
+'zCCCCCCz.b.",'#10'".aDb.zzzz.EzCCCCCCz.a.",'#10'".FAG.HyII.EzzzzzCCz.a.",'
+#10'".awaJzzzz.E..KKzCCzHF.",'#10'".a.c.xLIMxN..H.zCCz.a.",'#10'".OdaJzzzz.E'
+'HJ..zCCz.a.",'#10'".a.c.xxMI.o.zzzzzzzzzz",'#10'".Pda.zzzzHh.yzCCCCCCzx",'
+#10'".aJc..H...nQ.xzCCCCzax",'#10'".aea.x.H.xk.x..zCCzxc.",'#10'".aaOaaacttt'
+'taaaazzaac.",'#10'".....J...............x",'#10'".CCCCJC.C..C.CCCC.CCCx",'
+#10'".C..JJC.C.JC.C....C.xC",'#10'".CCCJ.C..C.J.CC...C.xC",'#10'".C....C...C'
+'.JC....C.xC",'#10'".C....C.C..C.C....C.xC",'#10'".C....C.C..C.CCCC.CCCx",'
+#10'"..................JJJx"};'#10
]);
LazarusResources.Add('tfpdataexporter','XPM',[
'/* XPM */'#10'static char *tdataexporter[]={'#10'"24 24 10 1",'#10'". c None'
+'",'#10'"b c #000000",'#10'"g c #000080",'#10'"c c #0000ff",'#10'"e c #30303'
+'0",'#10'"f c #808000",'#10'"# c #808080",'#10'"h c #c0c000",'#10'"d c #c0c0'
+'c0",'#10'"a c #ffffff",'#10'"........................",'#10'"..............'
+'..........",'#10'".######################.",'#10'".#abccccccccccccccbabab."'
+','#10'".#bbbbbbbbbbbbbbbbbbbbb.",'#10'".#ddddddddddddddddddddb.",'#10'".#de'
+'eeeeeeeeedddddddddb.",'#10'".#deddddddddedddddddddb.",'#10'".#deeeeeeeddedd'
+'dddddddb.",'#10'".#deddddddddedddddddddb.",'#10'".#deeeeeeeddedddddddddb.",'
+#10'".#deddddddddedddddddddb.",'#10'".#deddddddddedddddddddb.",'#10'".#deeee'
+'eeeeeeddffffffdb.",'#10'".#dddddgdddgdddfhffhfdb.",'#10'".#ddddd#gddggddfhh'
+'hhfdb.",'#10'".#dddddd#gggggdfhhhhfdb.",'#10'".#dddddddddggddffffffdb.",'#10
+'".#dddddddddgdddfhhhhfdb.",'#10'".#dddddddddddddfhffhfdb.",'#10'".#dddddddd'
+'dddddffffffdb.",'#10'".#bbbbbbbbbbbbbbbbbbbbb.",'#10'".....................'
+'...",'#10'"........................"};'#10
]);
LazarusResources.Add('tfpdbfexport','XPM',[
'/* XPM */'#10'static char *tdbfexporter[]={'#10'"22 23 45 1",'#10'"a c #0000'
+'00",'#10'"t c #000008",'#10'"s c #000010",'#10'"b c #000400",'#10'"c c #000'
+'408",'#10'"u c #000410",'#10'"F c #000800",'#10'"v c #000810",'#10'"G c #00'
+'0c00",'#10'"# c #080408",'#10'"P c #080800",'#10'"O c #080808",'#10'"r c #0'
+'80c00",'#10'"z c #296929",'#10'"i c #bdbebd",'#10'"n c #bdbec5",'#10'"q c #'
+'c5c2bd",'#10'"f c #c5c2c5",'#10'"o c #c5c2cd",'#10'"d c #c5c6c5",'#10'"h c '
+'#c5c6cd",'#10'"N c #c5c6d5",'#10'"p c #c5cabd",'#10'"E c #c5cad5",'#10'"m c'
+' #c5ceb4",'#10'"w c #c5cec5",'#10'"j c #cdc6cd",'#10'"k c #cdcacd",'#10'"g '
+'c #cdcad5",'#10'"l c #cdceb4",'#10'"D c #cdcec5",'#10'"e c #cdcecd",'#10'"C'
+' c #de1c10",'#10'"L c #eee6ff",'#10'"B c #eeeaff",'#10'"M c #eeeeff",'#10'"'
+'y c #f6f2ff",'#10'"A c #f6f6ee",'#10'"H c #f6f6ff",'#10'"J c #f6faff",'#10
+'"K c #f6ffff",'#10'"I c #fff6ff",'#10'"Q c #fffaf6",'#10'"x c #fffaff",'#10
+'". c #ffffff",'#10'".#aaaaaaabaaabacaabaa.",'#10'".adbefghhiejklmnoplqa.",'
+#10'".braassstabaaabuvtabb.",'#10'".awa.xyx..kzzzzzzzz.a.",'#10'".aAb.xxBx.d'
+'zCCCCCCz.b.",'#10'".aDb.zzzz.EzCCCCCCz.a.",'#10'".FAG.HyII.EzzzzzCCz.a.",'
+#10'".awaJzzzz.E..KKzCCzHF.",'#10'".a.c.xLIMxN..H.zCCz.a.",'#10'".OdaJzzzz.E'
+'HJ..zCCz.a.",'#10'".a.c.xxMI.o.zzzzzzzzzz",'#10'".Pda.zzzzHh.yzCCCCCCzx",'
+#10'".aJc..H...nQ.xzCCCCzax",'#10'".aea.x.H.xk.x..zCCzxc.",'#10'".aaOaaacttt'
+'taaaazzaac.",'#10'".....J...............x",'#10'".HHHCCCHHCCCHHCCCCHHHH",'
+#10'".HHHCHHCHCHCHHCHHHHHHH",'#10'".HHHCHHCHCCCCHCCCHHHHH",'#10'".HHHCHHCHCH'
+'HCHCHHHHHHH",'#10'".HHHCHHCHCHHCHCHHHHHHH",'#10'".HHHCCCHHCCCCHCHHHHHHH",'
+#10'"..................JJJx"};'#10
]);
LazarusResources.Add('tsimplejsonexporter','XPM',[
'/* XPM */'#10'static char *tjsonexporter[]={'#10'"22 23 45 1",'#10'"a c #000'
+'000",'#10'"t c #000008",'#10'"s c #000010",'#10'"b c #000400",'#10'"c c #00'
+'0408",'#10'"u c #000410",'#10'"F c #000800",'#10'"v c #000810",'#10'"G c #0'
+'00c00",'#10'"# c #080408",'#10'"P c #080800",'#10'"O c #080808",'#10'"r c #'
+'080c00",'#10'"z c #296929",'#10'"i c #bdbebd",'#10'"n c #bdbec5",'#10'"q c '
+'#c5c2bd",'#10'"f c #c5c2c5",'#10'"o c #c5c2cd",'#10'"d c #c5c6c5",'#10'"h c'
+' #c5c6cd",'#10'"N c #c5c6d5",'#10'"p c #c5cabd",'#10'"E c #c5cad5",'#10'"m '
+'c #c5ceb4",'#10'"w c #c5cec5",'#10'"j c #cdc6cd",'#10'"k c #cdcacd",'#10'"g'
+' c #cdcad5",'#10'"l c #cdceb4",'#10'"D c #cdcec5",'#10'"e c #cdcecd",'#10'"'
+'C c #de1c10",'#10'"L c #eee6ff",'#10'"B c #eeeaff",'#10'"M c #eeeeff",'#10
+'"y c #f6f2ff",'#10'"A c #f6f6ee",'#10'"H c #f6f6ff",'#10'"J c #f6faff",'#10
+'"K c #f6ffff",'#10'"I c #fff6ff",'#10'"Q c #fffaf6",'#10'"x c #fffaff",'#10
+'". c #ffffff",'#10'".#aaaaaaabaaabacaabaa.",'#10'".adbefghhiejklmnoplqa.",'
+#10'".braassstabaaabuvtabb.",'#10'".awa.xyx..kzzzzzzzz.a.",'#10'".aAb.xxBx.d'
+'zCCCCCCz.b.",'#10'".aDb.zzzz.EzCCCCCCz.a.",'#10'".FAG.HyII.EzzzzzCCz.a.",'
+#10'".awaJzzzz.E..KKzCCzHF.",'#10'".a.c.xLIMxN..H.zCCz.a.",'#10'".OdaJzzzz.E'
+'HJ..zCCz.a.",'#10'".a.c.xxMI.o.zzzzzzzzzz",'#10'".Pda.zzzzHh.yzCCCCCCzx",'
+#10'".aJc..H...nQ.xzCCCCzax",'#10'".aea.x.H.xk.x..zCCzxc.",'#10'".aaOaaacttt'
+'taaaazzaac.",'#10'".....J...............x",'#10'".HHHCHH.CCHHHCCHHCHHCH",'
+#10'".HHHCH.CHHCHCHHCHCHHCH",'#10'".HHHCHHHCHHHCHHCHCCHCH",'#10'".HHHCHHHHCH'
+'HCHHCHCHCCH",'#10'".CHHCHHCHHCHCHHC.CHHCH",'#10'".HCCHHHHCCHHHCC.HCHHCH",'
+#10'"..................JJJx"};'#10
]);
LazarusResources.Add('tsimplexmlexporter','XPM',[
'/* XPM */'#10'static char *txmlexporter[]={'#10'"22 23 45 1",'#10'"a c #0000'
+'00",'#10'"t c #000008",'#10'"s c #000010",'#10'"b c #000400",'#10'"c c #000'
+'408",'#10'"u c #000410",'#10'"F c #000800",'#10'"v c #000810",'#10'"G c #00'
+'0c00",'#10'"# c #080408",'#10'"P c #080800",'#10'"O c #080808",'#10'"r c #0'
+'80c00",'#10'"z c #296929",'#10'"i c #bdbebd",'#10'"n c #bdbec5",'#10'"q c #'
+'c5c2bd",'#10'"f c #c5c2c5",'#10'"o c #c5c2cd",'#10'"d c #c5c6c5",'#10'"h c '
+'#c5c6cd",'#10'"N c #c5c6d5",'#10'"p c #c5cabd",'#10'"E c #c5cad5",'#10'"m c'
+' #c5ceb4",'#10'"w c #c5cec5",'#10'"j c #cdc6cd",'#10'"k c #cdcacd",'#10'"g '
+'c #cdcad5",'#10'"l c #cdceb4",'#10'"D c #cdcec5",'#10'"e c #cdcecd",'#10'"C'
+' c #de1c10",'#10'"L c #eee6ff",'#10'"B c #eeeaff",'#10'"M c #eeeeff",'#10'"'
+'y c #f6f2ff",'#10'"A c #f6f6ee",'#10'"H c #f6f6ff",'#10'"J c #f6faff",'#10
+'"K c #f6ffff",'#10'"I c #fff6ff",'#10'"Q c #fffaf6",'#10'"x c #fffaff",'#10
+'". c #ffffff",'#10'".#aaaaaaabaaabacaabaa.",'#10'".adbefghhiejklmnoplqa.",'
+#10'".braassstabaaabuvtabb.",'#10'".awa.xyx..kzzzzzzzz.a.",'#10'".aAb.xxBx.d'
+'zCCCCCCz.b.",'#10'".aDb.zzzz.EzCCCCCCz.a.",'#10'".FAG.HyII.EzzzzzCCz.a.",'
+#10'".awaJzzzz.E..KKzCCzHF.",'#10'".a.c.xLIMxN..H.zCCz.a.",'#10'".OdaJzzzz.E'
+'HJ..zCCz.a.",'#10'".a.c.xxMI.o.zzzzzzzzzz",'#10'".Pda.zzzzHh.yzCCCCCCzx",'
+#10'".aJc..H...nQ.xzCCCCzax",'#10'".aea.x.H.xk.x..zCCzxc.",'#10'".aaOaaacttt'
+'taaaazzaac.",'#10'".....J...............x",'#10'".JJCJJCJCJJJCJCJJJJJJJ",'
+#10'".JJCJJCJCCJCCJCJJJJJJJ",'#10'".JJJCJJJCJC.CJCJJJJJJJ",'#10'".JJJJCJJCJJ'
+'.CJCJJJJJJJ",'#10'".JJCJJCJCJJJCJCJJJJJJJ",'#10'".JJCJJCJCJJJCJCCCCJJJJ",'
+#10'"..................JJJx"};'#10
]);
LazarusResources.Add('tsqlexporter','XPM',[
'/* XPM */'#10'static char *tsqlexporter[]={'#10'"22 23 45 1",'#10'"a c #0000'
+'00",'#10'"t c #000008",'#10'"s c #000010",'#10'"b c #000400",'#10'"c c #000'
+'408",'#10'"u c #000410",'#10'"F c #000800",'#10'"v c #000810",'#10'"G c #00'
+'0c00",'#10'"# c #080408",'#10'"P c #080800",'#10'"O c #080808",'#10'"r c #0'
+'80c00",'#10'"z c #296929",'#10'"i c #bdbebd",'#10'"n c #bdbec5",'#10'"q c #'
+'c5c2bd",'#10'"f c #c5c2c5",'#10'"o c #c5c2cd",'#10'"d c #c5c6c5",'#10'"h c '
+'#c5c6cd",'#10'"N c #c5c6d5",'#10'"p c #c5cabd",'#10'"E c #c5cad5",'#10'"m c'
+' #c5ceb4",'#10'"w c #c5cec5",'#10'"j c #cdc6cd",'#10'"k c #cdcacd",'#10'"g '
+'c #cdcad5",'#10'"l c #cdceb4",'#10'"D c #cdcec5",'#10'"e c #cdcecd",'#10'"C'
+' c #de1c10",'#10'"L c #eee6ff",'#10'"B c #eeeaff",'#10'"M c #eeeeff",'#10'"'
+'y c #f6f2ff",'#10'"A c #f6f6ee",'#10'"H c #f6f6ff",'#10'"J c #f6faff",'#10
+'"K c #f6ffff",'#10'"I c #fff6ff",'#10'"Q c #fffaf6",'#10'"x c #fffaff",'#10
+'". c #ffffff",'#10'".#aaaaaaabaaabacaabaa.",'#10'".adbefghhiejklmnoplqa.",'
+#10'".braassstabaaabuvtabb.",'#10'".awa.xyx..kzzzzzzzz.a.",'#10'".aAb.xxBx.d'
+'zCCCCCCz.b.",'#10'".aDb.zzzz.EzCCCCCCz.a.",'#10'".FAG.HyII.EzzzzzCCz.a.",'
+#10'".awaJzzzz.E..KKzCCzHF.",'#10'".a.c.xLIMxN..H.zCCz.a.",'#10'".OdaJzzzz.E'
+'HJ..zCCz.a.",'#10'".a.c.xxMI.o.zzzzzzzzzz",'#10'".Pda.zzzzHh.yzCCCCCCzx",'
+#10'".aJc..H...nQ.xzCCCCzax",'#10'".aea.x.H.xk.x..zCCzxc.",'#10'".aaOaaacttt'
+'taaaazzaac.",'#10'".....J...............x",'#10'"....CC...CC..C.......J",'
+#10'"...C..C.C..C.C.......J",'#10'"....C...C..C.C.......J",'#10'".....C..C..'
+'C.C.......J",'#10'"...C..C.C.CHHC.......J",'#10'"....CC...CHC.CCCC....J",'
+#10'"..........HHHH....JJJx"};'#10
]);
LazarusResources.Add('tstandardexportformats','XPM',[
'/* XPM */'#10'static char *tstandardexports[]={'#10'"22 23 45 1",'#10'"a c #'
+'000000",'#10'"t c #000008",'#10'"s c #000010",'#10'"b c #000400",'#10'"c c '
+'#000408",'#10'"u c #000410",'#10'"F c #000800",'#10'"v c #000810",'#10'"G c'
+' #000c00",'#10'"# c #080408",'#10'"P c #080800",'#10'"O c #080808",'#10'"r '
+'c #080c00",'#10'"z c #296929",'#10'"i c #bdbebd",'#10'"n c #bdbec5",'#10'"q'
+' c #c5c2bd",'#10'"f c #c5c2c5",'#10'"o c #c5c2cd",'#10'"d c #c5c6c5",'#10'"'
+'h c #c5c6cd",'#10'"N c #c5c6d5",'#10'"p c #c5cabd",'#10'"E c #c5cad5",'#10
+'"m c #c5ceb4",'#10'"w c #c5cec5",'#10'"j c #cdc6cd",'#10'"k c #cdcacd",'#10
+'"g c #cdcad5",'#10'"l c #cdceb4",'#10'"D c #cdcec5",'#10'"e c #cdcecd",'#10
+'"C c #de1c10",'#10'"L c #eee6ff",'#10'"B c #eeeaff",'#10'"M c #eeeeff",'#10
+'"y c #f6f2ff",'#10'"A c #f6f6ee",'#10'"H c #f6f6ff",'#10'"J c #f6faff",'#10
+'"K c #f6ffff",'#10'"I c #fff6ff",'#10'"Q c #fffaf6",'#10'"x c #fffaff",'#10
+'". c #ffffff",'#10'".#aaaaaaabaaabacaabaa.",'#10'".adbefghhiejklmnoplqa.",'
+#10'".braassstabaaabuvtabb.",'#10'".awa.xyx..kzzzzzzzz.a.",'#10'".aAb.xxBx.d'
+'zCCCCCCz.b.",'#10'".aDb.zzzz.EzCCCCCCz.a.",'#10'".FAG.HyII.EzzzzzCCz.a.",'
+#10'".awaJzzzz.E..KKzCCzHF.",'#10'".a.c.xLIMxN..H.zCCz.a.",'#10'".OdaJzzzz.E'
+'HJ..zCCz.a.",'#10'".a.c.xxMI.o.zzzzzzzzzz",'#10'".Pda.zzzzHh.yzCCCCCCzx",'
+#10'".aJc..H...nQ.xzCCCCzax",'#10'".aea.x.H.xk.x..zCCzxc.",'#10'".aaOaaacttt'
+'taaaazzaac.",'#10'".....J...............x",'#10'"....CC..CCCCC.CCC....J",'
+#10'"...C..C.H.CH..C..C...J",'#10'"....C...H.CH..C..C...J",'#10'".....C..H.C'
+'H..C..C...J",'#10'"...C..C.H.CHH.C..C...J",'#10'"....CC...HCH..CCC....J",'
+#10'"..........HHHH....JJJx"};'#10
]);

View File

@ -0,0 +1,164 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2007 by Michael Van Canneyt, member of the
Free Pascal development team
TFPDataExporter dialog component.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
unit fpdataexporter;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, DB, fpdbexport,
forms, controls, dialogs, frmexportprogress;
Type
{ TFPDataExporter }
TFPDataExporter = Class(TComponent)
Private
FDataset : TDataset;
FExportCount : Integer;
FShowProgress: Boolean;
FShowResult: Boolean;
FExporter : TCustomDatasetExporter;
FProgress : TExportProgressForm;
procedure SetDataset(const AValue: TDataset);
procedure DoCancel(Sender : TObject);
Procedure Doprogress(Sender : TObject; Const ItemNo : Integer);
public
Constructor Create(AOWner : TComponent); override;
Function Execute : Boolean;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Property ExportCount : Integer Read FExportCount;
Property Exporter : TCustomDatasetExporter Read FExporter;
Published
Property Dataset : TDataset Read FDataset Write SetDataset;
Property ShowProgress : Boolean Read FShowProgress Write FShowProgress default true;
Property ShowResult : Boolean Read FShowResult Write FShowResult default true;
end;
implementation
uses frmSelectExportFormat, frmBaseConfigExport;
Resourcestring
SNRecordsExported = 'Succesfully exported %d records.';
SCancelRecordsExported = 'Exported %d before user canceled.';
procedure TFPDataExporter.SetDataset(const AValue: TDataset);
begin
If (AValue<>FDataset) then
begin
If Assigned(FDataset) then
FDataset.RemoveFreeNotification(Self);
FDataset:=AValue;
If Assigned(FDataset) then
FDataset.FreeNotification(Self);
end;
end;
procedure TFPDataExporter.DoCancel(Sender: TObject);
begin
FExporter.Cancel;
end;
procedure TFPDataExporter.Doprogress(Sender: TObject; const ItemNo: Integer);
begin
If Assigned(FProgress) then
FProgress.StepIt;
end;
Constructor TFPDataExporter.Create(AOWner : TComponent);
begin
Inherited;
If (AOwner is TDataset) then
Dataset:=AOwner as TDataset;
FShowProgress:=True;
FShowResult:=True;
end;
Function TFPDataExporter.Execute : Boolean;
Var
FI : TExportFormatItem;
begin
FI:=Nil;
FProgress:=Nil;
With TSelectExportFormatForm.Create(Self) do
try
Result:=(ShowModal=mrOK);
If Result then
begin
FI:=SelectedFormat;
Result:=FI<>Nil;
end;
finally
Free;
end;
If Result then
begin
RegisterBaseExportConfigForm;
FExporter:=FI.ExportClass.Create(Self);
Try
FExporter.Dataset:=Self.Dataset;
Result:=Exporter.ShowConfigDialog;
if Result then
begin
Dataset.First;
If ShowProgress then
begin
FProgress:=TExportProgressForm.Create(Self);
FProgress.FreeNotification(Self);
FProgress.OnCancel:=@self.DoCancel;
FExporter.OnProgress:=@self.DoProgress;
FProgress.Show;
end;
Try
FExportCount:=FExporter.Execute;
finally
If Assigned(Fprogress) then
FProgress.Free;
end;
If FShowResult then
If FExporter.Canceled then
ShowMessage(Format(SCancelRecordsExported,[FExportCount]))
else
ShowMessage(Format(SNRecordsExported,[FExportCount]));
end;
Finally
FreeAndNil(FExporter);
end;
end;
end;
procedure TFPDataExporter.Notification(AComponent: TComponent;
Operation: TOperation);
begin
inherited Notification(AComponent, Operation);
If (Operation=opRemove) then
begin
If (AComponent=FDataset) then
FDataset:=Nil
else if (AComponent=FProgress) then
FProgress:=Nil;
end;
end;
end.

View File

@ -0,0 +1,418 @@
object BaseConfigExportForm: TBaseConfigExportForm
Left = 440
Height = 413
Top = 284
Width = 544
HorzScrollBar.Page = 543
VertScrollBar.Page = 412
ActiveControl = PButtons.OKButton
Caption = 'Configure data export'
ClientHeight = 413
ClientWidth = 544
OnCreate = FormCreate
OnDestroy = FormDestroy
Position = poScreenCenter
object PButtons: TButtonPanel
Left = 6
Height = 42
Top = 371
Width = 532
Align = alBottom
AutoSize = True
ButtonOrder = boCloseCancelOK
TabOrder = 0
ShowButtons = [pbOK, pbCancel]
ShowGlyphs = [pbOK, pbCancel]
end
object PFileName: TPanel
Height = 32
Width = 544
Align = alTop
BevelOuter = bvNone
ClientHeight = 32
ClientWidth = 544
TabOrder = 1
object LEFileName: TLabel
Left = 10
Height = 13
Top = 8
Width = 61
Caption = '&Filename'
FocusControl = EFileName
ParentColor = False
end
object EFileName: TFileNameEdit
Left = 72
Height = 23
Top = 2
Width = 405
ButtonWidth = 23
NumGlyphs = 1
Anchors = [akTop, akLeft, akRight]
ParentColor = False
TabOrder = 0
end
end
object PCFields: TPageControl
Height = 339
Top = 32
Width = 544
ActivePage = TSFields
Align = alClient
TabIndex = 0
TabOrder = 2
object TSFields: TTabSheet
Caption = 'Fields'
ClientHeight = 309
ClientWidth = 540
object PFieldsTop: TPanel
Height = 28
Width = 540
Align = alTop
BevelOuter = bvNone
ClientHeight = 28
ClientWidth = 540
TabOrder = 0
object LCLBFields: TLabel
Left = 6
Height = 13
Top = 4
Width = 130
Caption = 'Select fi&elds to export'
FocusControl = CLBFields
ParentColor = False
end
object Label2: TLabel
Left = 206
Height = 13
Top = 4
Width = 156
Caption = 'Properties for selected field:'
ParentColor = False
end
end
object PFieldProps: TPanel
Left = 175
Height = 281
Top = 28
Width = 365
Align = alClient
BevelOuter = bvNone
ClientHeight = 281
ClientWidth = 365
TabOrder = 1
object GFieldProps: TTIPropertyGrid
Height = 281
Width = 365
Align = alClient
ValueFont.Color = clMaroon
end
end
object SplitterFields: TSplitter
Left = 170
Height = 281
Top = 28
Width = 5
end
object PExportFieldList: TPanel
Height = 281
Top = 28
Width = 170
Align = alLeft
BevelOuter = bvNone
ClientHeight = 281
ClientWidth = 170
TabOrder = 2
object CLBFields: TCheckListBox
Left = 31
Height = 281
Width = 139
Align = alClient
OnClick = CLBFieldsClick
OnClickCheck = CLBFieldsClickCheck
OnItemClick = CLBFieldsItemClick
OnKeyUp = CLBFieldsKeyUp
TabOrder = 0
TopIndex = -1
end
object PUPDown: TPanel
Height = 281
Width = 31
Align = alLeft
BevelOuter = bvNone
ClientHeight = 281
ClientWidth = 31
TabOrder = 1
object SBup: TSpeedButton
Left = 4
Height = 22
Hint = 'Move selected field up'
Top = 7
Width = 23
Action = AUp
Color = clBtnFace
Glyph.Data = {
0A0D00002F2A2058504D202A2F0A7374617469632063686172202A206F62656E
5F78706D5B5D203D207B0A223235203235203132312032222C0A222020096320
4E6F6E65222C0A222E2009632023464646464646222C0A222B20096320234535
45354535222C0A22402009632023453345334533222C0A222320096320234242
42424242222C0A22242009632023423242324232222C0A222520096320234433
44334433222C0A22262009632023354635463546222C0A222A20096320233838
38383838222C0A223D2009632023463146314631222C0A222D20096320234538
45384538222C0A223B2009632023454345434543222C0A223E20096320234539
45394539222C0A222C2009632023454245424542222C0A222720096320234534
45344534222C0A22292009632023453245324532222C0A222120096320234544
45444544222C0A227E2009632023454145414541222C0A227B20096320234630
46304630222C0A225D2009632023454645464546222C0A225E20096320234639
46394639222C0A222F2009632023463446344634222C0A222820096320234638
46384638222C0A225F2009632023333033303330222C0A223A20096320233844
38443844222C0A223C2009632023444644464446222C0A225B20096320234444
44444444222C0A227D2009632023454545454545222C0A227C20096320234641
46414641222C0A22312009632023463346334633222C0A223220096320233839
38393839222C0A22332009632023324632463246222C0A223420096320234536
45364536222C0A22352009632023453145314531222C0A223620096320234530
45304530222C0A22372009632023443944394439222C0A223820096320234438
44384438222C0A22392009632023453745374537222C0A223020096320234635
46354635222C0A22612009632023383438343834222C0A226220096320233943
39433943222C0A22632009632023383338333833222C0A226420096320234238
42384238222C0A22652009632023333133313331222C0A226620096320233831
38313831222C0A22672009632023354235423542222C0A226820096320233336
33363336222C0A22692009632023414141414141222C0A226A20096320234443
44434443222C0A226B2009632023463246324632222C0A226C20096320233332
33323332222C0A226D2009632023384138413841222C0A226E20096320233239
32393239222C0A226F2009632023323432343234222C0A227020096320234136
41364136222C0A22712009632023444544454445222C0A227220096320233842
38423842222C0A22732009632023373137313731222C0A227420096320233134
31343134222C0A22752009632023333933393339222C0A227620096320233945
39453945222C0A22772009632023383638363836222C0A227820096320234336
43364336222C0A22792009632023313931393139222C0A227A20096320233639
36393639222C0A22412009632023414341434143222C0A224220096320234337
43374337222C0A22432009632023393039303930222C0A224420096320233136
31363136222C0A22452009632023334333433343222C0A224620096320233944
39443944222C0A22472009632023414441444144222C0A224820096320234436
44364436222C0A22492009632023343134313431222C0A224A20096320233141
31413141222C0A224B2009632023364136413641222C0A224C20096320234233
42334233222C0A224D2009632023423142314231222C0A224E20096320234145
41454145222C0A224F2009632023424542454245222C0A225020096320233138
31383138222C0A22512009632023393839383938222C0A225220096320234234
42344234222C0A22532009632023414641464146222C0A225420096320234138
41384138222C0A22552009632023383538353835222C0A225620096320233843
38433843222C0A22572009632023443244324432222C0A225820096320233432
34323432222C0A22592009632023313531353135222C0A225A20096320234230
42304230222C0A22602009632023383238323832222C0A22202E096320233845
38453845222C0A222E2E09632023314531453145222C0A222B2E096320233245
32453245222C0A22402E09632023393339333933222C0A22232E096320234139
41394139222C0A22242E09632023413741374137222C0A22252E096320234434
44344434222C0A22262E09632023353335333533222C0A222A2E096320233137
31373137222C0A223D2E09632023354335433543222C0A222D2E096320233846
38463846222C0A223B2E09632023343834383438222C0A223E2E096320233537
35373537222C0A222C2E09632023434543454345222C0A22272E096320233837
38373837222C0A22292E09632023443544354435222C0A22212E096320233746
37463746222C0A227E2E09632023464346434643222C0A227B2E096320234642
46424642222C0A225D2E09632023464446444644222C0A225E2E096320234645
46454645222C0A222F2E09632023324432443244222C0A22282E096320234341
43414341222C0A225F2E09632023364236423642222C0A223A2E096320234236
42364236222C0A223C2E09632023353835383538222C0A225B2E096320233333
33333333222C0A227D2E09632023333833383338222C0A227C2E096320233931
39313931222C0A222E202E202E202E202E202E202E202E202E202E202E202E20
2E202E202E202E202E202E202E202E202E202E202E202B204020222C0A222E20
2E202E202E202E202E202E202E202E202E202E202E202E202E202E202E202E20
2E202E202E202E202E202E2023202420222C0A222E202E202E202E202E202E20
2E202E202E202E202E202E202E202E202E202E202E202E202E202E202E202E20
252026202A20222C0A222E202E202E203D202D203B203E202C203B2027202920
21207E203D202C203B203B207B205D205E202F2028202A205F203A20222C0A22
2E202E202E203C207B205B2021202D202C2021202D207D202D203D207B202C20
21207E203D205D207C203120322033202A20222C0A222E202E202E2034203520
5D2036203D203B2021203720372038203C202D2021205D202D205D2039203020
3B20322033206120222C0A222E202E202E203C203B203E2034203D203B202C20
6220632064203720402034202D2039207E207E207D202120322065206620222C
0A222E202E202E2034203E2040203E202C202120342067206820692040203E20
5B206A202B2034206B207E2031202A206C206D20222C0A222E202E202E203420
2C203D2021205D207B2064206E206F2070206A206A2071207E202B2040207E20
40207D206D2065207220222C0A222E202E202E202B203E205D207E203B203B20
73207420752076203C20712029202D20342027207E2036203E2077205F203A20
222C0A222E202E202E2034202C203D207D207B207820652079207A2041204220
272029207E202C207E207B20342021202A2065204320222C0A222E202E202E20
40203E203D207B202F206620442045204620412047203520362036202B202720
2C202B203B20772065203A20222C0A222E202E202E206A2029202C203B204820
49204A204B204C204D204E204F203620382029207120342039207D2077205F20
2A20222C0A222E202E202E205B2035207E207E20322050203320512052202420
532054206A2035203420362039207E203D2055205F205620222C0A222E202E20
2E20352034207D20572058205920672047205A20532041204120422040202720
5B2040202B207E2060203320202E222C0A222E202E202E2035202D207B205120
2E2E2B2E402E53204120232E242E232E4120252E2B203520392039203B206320
65202A20222C0A222E202E202E20392034203820262E2A2E3D2E4E205A204C20
24206920242E232E4C20252057203C202D203B2077206C202D2E222C0A222E20
2E202E2034202B205A203B2E3E2E2C2E7E207E207E207E207E207E207E207E20
2E202E2040203C203920272E6C206120222C0A222E202E202E202B2029206420
402E292E2E202E202E202E202E202E202E202E202E202E202E20282071203420
63205F206120222C0A222E202E202E2040203C20252E36202E202E202E202E20
2E202E202E202E202E202E202E202E202E202B204020212E33202A20222C0A22
2E202E202E202920712035206B202E202E202E202E202E202E207E2E7B2E2E20
5D2E28202E205E2E7E204020212E33206120222C0A222E202E202E2029203620
29202D203B2031203D207B207B207D203E202B202B203E207E207B203B202C20
212060202F2E6320222C0A222E207C20282E6020632063206320612063203220
202E72207720602063205520272E552077205520272E32205F2E65206120222C
0A223D203A2E3C2E2B2E5F205F2033202B2E65205F205F2065205B2E6C205F20
2B2E5F203320652065205F2033206C207D2E7720222C0A22362023206D203220
772055206620272E55207220772077205520612072202A20722072203A204320
7C2E3A203220202E5A20227D3B0A
}
NumGlyphs = 0
end
object SBDown: TSpeedButton
Left = 4
Height = 22
Hint = 'Move selected field down'
Top = 31
Width = 23
Action = ADown
Color = clBtnFace
Glyph.Data = {
7B0D00002F2A2058504D202A2F0A7374617469632063686172202A20756E7465
6E5F78706D5B5D203D207B0A223235203235203132382032222C0A2220200963
204E6F6E65222C0A222E2009632023464646464646222C0A222B200963202345
3545354535222C0A22402009632023453345334533222C0A2223200963202342
4242424242222C0A22242009632023423242324232222C0A2225200963202344
3344334433222C0A22262009632023354635463546222C0A222A200963202338
3838383838222C0A223D2009632023463146314631222C0A222D200963202345
3845384538222C0A223B2009632023454345434543222C0A223E200963202345
3945394539222C0A222C2009632023454245424542222C0A2227200963202345
3445344534222C0A22292009632023453245324532222C0A2221200963202345
4445444544222C0A227E2009632023454145414541222C0A227B200963202346
3046304630222C0A225D2009632023454645464546222C0A225E200963202346
3946394639222C0A222F2009632023463446344634222C0A2228200963202346
3846384638222C0A225F2009632023333033303330222C0A223A200963202338
4438443844222C0A223C2009632023444644464446222C0A225B200963202344
4444444444222C0A227D2009632023454545454545222C0A227C200963202346
4146414641222C0A22312009632023463346334633222C0A2232200963202338
3938393839222C0A22332009632023324632463246222C0A2234200963202345
3645364536222C0A22352009632023453145314531222C0A2236200963202344
3444344434222C0A22372009632023414441444144222C0A2238200963202341
4641464146222C0A22392009632023414141414141222C0A2230200963202341
4241424142222C0A22612009632023413641364136222C0A2262200963202341
3141314131222C0A22632009632023413241324132222C0A2264200963202341
3741374137222C0A22652009632023423442344234222C0A2266200963202344
4344434443222C0A22672009632023463546354635222C0A2268200963202338
3438343834222C0A22692009632023434643464346222C0A226A200963202337
3437343734222C0A226B2009632023353335333533222C0A226C200963202334
4134413441222C0A226D2009632023343934393439222C0A226E200963202334
3534353435222C0A226F2009632023343834383438222C0A2270200963202334
3434343434222C0A22712009632023343634363436222C0A2272200963202334
3734373437222C0A22732009632023394339433943222C0A2274200963202345
3045304530222C0A22752009632023333133313331222C0A2276200963202338
3138313831222C0A22772009632023444144414441222C0A2278200963202337
3737373737222C0A22792009632023344434443444222C0A227A200963202336
3636363636222C0A22412009632023363836383638222C0A2242200963202336
3136313631222C0A22432009632023363536353635222C0A2244200963202336
3436343634222C0A22452009632023394239423942222C0A2246200963202333
3233323332222C0A22472009632023384138413841222C0A2248200963202339
4639463946222C0A22492009632023353635363536222C0A224A200963202339
3539353935222C0A224B2009632023413041304130222C0A224C200963202341
3541354135222C0A224D2009632023413441344134222C0A224E200963202342
3542354235222C0A224F2009632023463646364636222C0A2250200963202338
4238423842222C0A22512009632023443044304430222C0A2252200963202336
3736373637222C0A22532009632023374437443744222C0A2254200963202341
4341434143222C0A22552009632023433043304330222C0A2256200963202338
3638363836222C0A22572009632023363936393639222C0A2258200963202342
3042304230222C0A22592009632023413941394139222C0A225A200963202339
3039303930222C0A22602009632023443844384438222C0A22202E0963202337
4237423742222C0A222E2E09632023423142314231222C0A222B2E0963202341
4541454145222C0A22402E09632023354335433543222C0A22232E0963202342
3342334233222C0A22242E09632023444544454445222C0A22252E0963202345
3745374537222C0A22262E09632023433543354335222C0A222A2E0963202338
3738373837222C0A223D2E09632023423642364236222C0A222D2E0963202343
3743374337222C0A223B2E09632023383538353835222C0A223E2E0963202338
4338433843222C0A222C2E09632023394439443944222C0A22272E0963202338
3238323832222C0A22292E09632023384538453845222C0A22212E0963202342
4642464246222C0A227E2E09632023353935393539222C0A227B2E0963202343
4543454345222C0A225D2E09632023464446444644222C0A225E2E0963202338
3338333833222C0A222F2E09632023463746374637222C0A22282E0963202337
3037303730222C0A225F2E09632023393339333933222C0A223A2E0963202338
4638463846222C0A223C2E09632023423742374237222C0A225B2E0963202346
4246424642222C0A227D2E09632023374637463746222C0A227C2E0963202332
4432443244222C0A22312E09632023434143414341222C0A22322E0963202336
4236423642222C0A22332E09632023353835383538222C0A22342E0963202332
4532453245222C0A22352E09632023333333333333222C0A22362E0963202333
3833383338222C0A22372E09632023393139313931222C0A222E202E202E202E
202E202E202E202E202E202E202E202E202E202E202E202E202E202E202E202E
202E202E202E202B204020222C0A222E202E202E202E202E202E202E202E202E
202E202E202E202E202E202E202E202E202E202E202E202E202E202E20232024
20222C0A222E202E202E202E202E202E202E202E202E202E202E202E202E202E
202E202E202E202E202E202E202E202E20252026202A20222C0A222E202E202E
203D202D203B203E202C203B202720292021207E203D202C203B203B207B205D
205E202F2028202A205F203A20222C0A222E202E202E203C207B205B2021202D
202C2021202D207D202D203D207B202C2021207E203D205D207C203120322033
202A20222C0A222E202E202E2034203520362037203820392030206120302062
20632064203020372065206620342067203B20322033206820222C0A222E202E
202E203C203B2069206A206B206C206D206E206F2070207020712072206B2073
20742067207D202120322075207620222C0A222E202E202E2034203E20772078
2079207A2041204220432044207A207A204220452028202E202E207E2031202A
2046204720222C0A222E202E202E2034202C207B20482049204A2064204B204B
204C204C204D204E2040202E202E204F2040207D20472075205020222C0A222E
202E202E202B203E205D20512052205320542054203020542030203020552028
202E202E207E2074203E2056205F203A20222C0A222E202E202E2034202C203D
2021204520572045205820382054205920232066202E202E205D207B20342021
202A2075205A20222C0A222E202E202E2040203E203D207B2060204420202E58
202E2E37202B2E552028202E202E2027202C202B203B20562075203A20222C0A
222E202E202E20662029202C203B207B203220402E7320232E2E2E552040202E
202E202D20242E3420252E7D2056205F202A20222C0A222E202E202E205B2035
207E207E207D20262E42202A2E232E3D2E2D2E2E202E202E20252E7420252E7E
203D203B2E5F203E2E222C0A222E202E202E20352034207D203B207D207E202A
2041202C2E552040202E202E2029203420242E40202B207E20272E3320292E22
2C0A222E202E202E2035202D207B203B2021202120212E7E2E68207B2E2E202E
205D2E27202C204020252E252E3B205E2E75202A20222C0A222E202E202E2025
2E34202B202C2031202F2E3420282E5F2E3D202E202E2035203E207720772074
202D203B20562046203A2E222C0A222E202E202E2034202B2027202D207D203E
2028203C2E2D2E2E202E202E207E202720252E3B2040203C20252E2A2E462068
20222C0A222E202E202E202B20292027202D202C205D204F2029202D202E202E
205D2029202B202720252E3C20242E34205E2E5F206820222C0A222E202E202E
2040203C2040207E207D2031207B203B207B205B2E67202D203E202D2066205B
2029202B2040207D2E33202A20222C0A222E202E202E202920242E29202C207B
2028207B207D2031205D202B2027202120342035207E2021207E2040207D2E33
206820222C0A222E202E202E202920742029202D203B2031203D207B207B207D
203E202B202B203E207E207B203B202C202120272E7C2E5E2E222C0A222E207C
20312E272E5E2E5E2E5E2E68205E2E3220292E50205620272E5E2E3B2E2A2E3B
2E56203B2E2A2E3220322E75206820222C0A223D203D2E332E342E5F205F2033
20342E75205F205F207520352E46205F20342E5F203320752075205F20332046
20362E5620222C0A22742023204720322056203B2E76202A2E3B2E5020562056
203B2E682050202A20502050203A205A20372E3A203220292E5820227D3B0A
}
NumGlyphs = 0
end
end
end
end
object TSFormatting: TTabSheet
Caption = 'Formatting'
ClientHeight = 338
ClientWidth = 544
object GFormatting: TTIPropertyGrid
Height = 338
Width = 544
Align = alClient
PrefferedSplitterX = 200
SplitterX = 200
ValueFont.Color = clMaroon
end
end
end
object ALFields: TActionList
left = 14
top = 170
object AUp: TAction
DisableIfNoHandler = True
Hint = 'Move selected field up'
OnExecute = nil
OnUpdate = AUpUpdate
ShortCut = 49237
end
object ADown: TAction
DisableIfNoHandler = True
Hint = 'Move selected field down'
OnExecute = nil
OnUpdate = ADownUpdate
ShortCut = 49220
end
end
end

View File

@ -0,0 +1,175 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TBaseConfigExportForm','FORMDATA',[
'TPF0'#21'TBaseConfigExportForm'#20'BaseConfigExportForm'#4'Left'#3#184#1#6'H'
+'eight'#3#157#1#3'Top'#3#28#1#5'Width'#3' '#2#18'HorzScrollBar.Page'#3#31#2
+#18'VertScrollBar.Page'#3#156#1#13'ActiveControl'#7#17'PButtons.OKButton'#7
+'Caption'#6#21'Configure data export'#12'ClientHeight'#3#157#1#11'ClientWidt'
+'h'#3' '#2#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#8'Pos'
+'ition'#7#14'poScreenCenter'#0#12'TButtonPanel'#8'PButtons'#4'Left'#2#6#6'He'
+'ight'#2'*'#3'Top'#3's'#1#5'Width'#3#20#2#5'Align'#7#8'alBottom'#8'AutoSize'
+#9#11'ButtonOrder'#7#15'boCloseCancelOK'#8'TabOrder'#2#0#11'ShowButtons'#11#4
+'pbOK'#8'pbCancel'#0#10'ShowGlyphs'#11#4'pbOK'#8'pbCancel'#0#0#0#6'TPanel'#9
+'PFileName'#6'Height'#2' '#5'Width'#3' '#2#5'Align'#7#5'alTop'#10'BevelOuter'
+#7#6'bvNone'#12'ClientHeight'#2' '#11'ClientWidth'#3' '#2#8'TabOrder'#2#1#0#6
+'TLabel'#10'LEFileName'#4'Left'#2#10#6'Height'#2#13#3'Top'#2#8#5'Width'#2'='
+#7'Caption'#6#9'&Filename'#12'FocusControl'#7#9'EFileName'#11'ParentColor'#8
+#0#0#13'TFileNameEdit'#9'EFileName'#4'Left'#2'H'#6'Height'#2#23#3'Top'#2#2#5
+'Width'#3#149#1#11'ButtonWidth'#2#23#9'NumGlyphs'#2#1#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#11'ParentColor'#8#8'TabOrder'#2#0#0#0#0#12'TPageCont'
+'rol'#8'PCFields'#6'Height'#3'S'#1#3'Top'#2' '#5'Width'#3' '#2#10'ActivePage'
+#7#8'TSFields'#5'Align'#7#8'alClient'#8'TabIndex'#2#0#8'TabOrder'#2#2#0#9'TT'
+'abSheet'#8'TSFields'#7'Caption'#6#6'Fields'#12'ClientHeight'#3'5'#1#11'Clie'
+'ntWidth'#3#28#2#0#6'TPanel'#10'PFieldsTop'#6'Height'#2#28#5'Width'#3#28#2#5
+'Align'#7#5'alTop'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2#28#11'Clien'
+'tWidth'#3#28#2#8'TabOrder'#2#0#0#6'TLabel'#10'LCLBFields'#4'Left'#2#6#6'Hei'
+'ght'#2#13#3'Top'#2#4#5'Width'#3#130#0#7'Caption'#6#24'Select fi&elds to exp'
+'ort'#12'FocusControl'#7#9'CLBFields'#11'ParentColor'#8#0#0#6'TLabel'#6'Labe'
+'l2'#4'Left'#3#206#0#6'Height'#2#13#3'Top'#2#4#5'Width'#3#156#0#7'Caption'#6
+#30'Properties for selected field:'#11'ParentColor'#8#0#0#0#6'TPanel'#11'PFi'
+'eldProps'#4'Left'#3#175#0#6'Height'#3#25#1#3'Top'#2#28#5'Width'#3'm'#1#5'Al'
+'ign'#7#8'alClient'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#3#25#1#11'Cl'
+'ientWidth'#3'm'#1#8'TabOrder'#2#1#0#15'TTIPropertyGrid'#11'GFieldProps'#6'H'
+'eight'#3#25#1#5'Width'#3'm'#1#5'Align'#7#8'alClient'#15'ValueFont.Color'#7#8
+'clMaroon'#0#0#0#9'TSplitter'#14'SplitterFields'#4'Left'#3#170#0#6'Height'#3
+#25#1#3'Top'#2#28#5'Width'#2#5#0#0#6'TPanel'#16'PExportFieldList'#6'Height'#3
+#25#1#3'Top'#2#28#5'Width'#3#170#0#5'Align'#7#6'alLeft'#10'BevelOuter'#7#6'b'
+'vNone'#12'ClientHeight'#3#25#1#11'ClientWidth'#3#170#0#8'TabOrder'#2#2#0#13
+'TCheckListBox'#9'CLBFields'#4'Left'#2#31#6'Height'#3#25#1#5'Width'#3#139#0#5
+'Align'#7#8'alClient'#7'OnClick'#7#14'CLBFieldsClick'#12'OnClickCheck'#7#19
+'CLBFieldsClickCheck'#11'OnItemClick'#7#18'CLBFieldsItemClick'#7'OnKeyUp'#7
+#14'CLBFieldsKeyUp'#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0#6'TPanel'#7'PUPDow'
+'n'#6'Height'#3#25#1#5'Width'#2#31#5'Align'#7#6'alLeft'#10'BevelOuter'#7#6'b'
+'vNone'#12'ClientHeight'#3#25#1#11'ClientWidth'#2#31#8'TabOrder'#2#1#0#12'TS'
+'peedButton'#4'SBup'#4'Left'#2#4#6'Height'#2#22#4'Hint'#6#22'Move selected f'
+'ield up'#3'Top'#2#7#5'Width'#2#23#6'Action'#7#3'AUp'#5'Color'#7#9'clBtnFace'
+#10'Glyph.Data'#10#14#13#0#0#10#13#0#0'/* XPM */'#10'static char * oben_xpm['
+'] = {'#10'"25 25 121 2",'#10'" '#9'c None",'#10'". '#9'c #FFFFFF",'#10'"+ '
+#9'c #E5E5E5",'#10'"@ '#9'c #E3E3E3",'#10'"# '#9'c #BBBBBB",'#10'"$ '#9'c #B'
+'2B2B2",'#10'"% '#9'c #D3D3D3",'#10'"& '#9'c #5F5F5F",'#10'"* '#9'c #888888"'
+','#10'"= '#9'c #F1F1F1",'#10'"- '#9'c #E8E8E8",'#10'"; '#9'c #ECECEC",'#10
+'"> '#9'c #E9E9E9",'#10'", '#9'c #EBEBEB",'#10'"'' '#9'c #E4E4E4",'#10'") '#9
+'c #E2E2E2",'#10'"! '#9'c #EDEDED",'#10'"~ '#9'c #EAEAEA",'#10'"{ '#9'c #F0F'
+'0F0",'#10'"] '#9'c #EFEFEF",'#10'"^ '#9'c #F9F9F9",'#10'"/ '#9'c #F4F4F4",'
+#10'"( '#9'c #F8F8F8",'#10'"_ '#9'c #303030",'#10'": '#9'c #8D8D8D",'#10'"< '
+#9'c #DFDFDF",'#10'"[ '#9'c #DDDDDD",'#10'"} '#9'c #EEEEEE",'#10'"| '#9'c #F'
+'AFAFA",'#10'"1 '#9'c #F3F3F3",'#10'"2 '#9'c #898989",'#10'"3 '#9'c #2F2F2F"'
+','#10'"4 '#9'c #E6E6E6",'#10'"5 '#9'c #E1E1E1",'#10'"6 '#9'c #E0E0E0",'#10
+'"7 '#9'c #D9D9D9",'#10'"8 '#9'c #D8D8D8",'#10'"9 '#9'c #E7E7E7",'#10'"0 '#9
+'c #F5F5F5",'#10'"a '#9'c #848484",'#10'"b '#9'c #9C9C9C",'#10'"c '#9'c #838'
+'383",'#10'"d '#9'c #B8B8B8",'#10'"e '#9'c #313131",'#10'"f '#9'c #818181",'
+#10'"g '#9'c #5B5B5B",'#10'"h '#9'c #363636",'#10'"i '#9'c #AAAAAA",'#10'"j '
+#9'c #DCDCDC",'#10'"k '#9'c #F2F2F2",'#10'"l '#9'c #323232",'#10'"m '#9'c #8'
+'A8A8A",'#10'"n '#9'c #292929",'#10'"o '#9'c #242424",'#10'"p '#9'c #A6A6A6"'
+','#10'"q '#9'c #DEDEDE",'#10'"r '#9'c #8B8B8B",'#10'"s '#9'c #717171",'#10
+'"t '#9'c #141414",'#10'"u '#9'c #393939",'#10'"v '#9'c #9E9E9E",'#10'"w '#9
+'c #868686",'#10'"x '#9'c #C6C6C6",'#10'"y '#9'c #191919",'#10'"z '#9'c #696'
+'969",'#10'"A '#9'c #ACACAC",'#10'"B '#9'c #C7C7C7",'#10'"C '#9'c #909090",'
,#10'"D '#9'c #161616",'#10'"E '#9'c #3C3C3C",'#10'"F '#9'c #9D9D9D",'#10'"G '
+#9'c #ADADAD",'#10'"H '#9'c #D6D6D6",'#10'"I '#9'c #414141",'#10'"J '#9'c #1'
+'A1A1A",'#10'"K '#9'c #6A6A6A",'#10'"L '#9'c #B3B3B3",'#10'"M '#9'c #B1B1B1"'
+','#10'"N '#9'c #AEAEAE",'#10'"O '#9'c #BEBEBE",'#10'"P '#9'c #181818",'#10
+'"Q '#9'c #989898",'#10'"R '#9'c #B4B4B4",'#10'"S '#9'c #AFAFAF",'#10'"T '#9
+'c #A8A8A8",'#10'"U '#9'c #858585",'#10'"V '#9'c #8C8C8C",'#10'"W '#9'c #D2D'
+'2D2",'#10'"X '#9'c #424242",'#10'"Y '#9'c #151515",'#10'"Z '#9'c #B0B0B0",'
+#10'"` '#9'c #828282",'#10'" .'#9'c #8E8E8E",'#10'"..'#9'c #1E1E1E",'#10'"+.'
+#9'c #2E2E2E",'#10'"@.'#9'c #939393",'#10'"#.'#9'c #A9A9A9",'#10'"$.'#9'c #A'
+'7A7A7",'#10'"%.'#9'c #D4D4D4",'#10'"&.'#9'c #535353",'#10'"*.'#9'c #171717"'
+','#10'"=.'#9'c #5C5C5C",'#10'"-.'#9'c #8F8F8F",'#10'";.'#9'c #484848",'#10
+'">.'#9'c #575757",'#10'",.'#9'c #CECECE",'#10'"''.'#9'c #878787",'#10'").'#9
+'c #D5D5D5",'#10'"!.'#9'c #7F7F7F",'#10'"~.'#9'c #FCFCFC",'#10'"{.'#9'c #FBF'
+'BFB",'#10'"].'#9'c #FDFDFD",'#10'"^.'#9'c #FEFEFE",'#10'"/.'#9'c #2D2D2D",'
+#10'"(.'#9'c #CACACA",'#10'"_.'#9'c #6B6B6B",'#10'":.'#9'c #B6B6B6",'#10'"<.'
+#9'c #585858",'#10'"[.'#9'c #333333",'#10'"}.'#9'c #383838",'#10'"|.'#9'c #9'
+'19191",'#10'". . . . . . . . . . . . . . . . . . . . . . . + @ ",'#10'". . '
+'. . . . . . . . . . . . . . . . . . . . . # $ ",'#10'". . . . . . . . . . .'
+' . . . . . . . . . . . % & * ",'#10'". . . = - ; > , ; '' ) ! ~ = , ; ; { ]'
+' ^ / ( * _ : ",'#10'". . . < { [ ! - , ! - } - = { , ! ~ = ] | 1 2 3 * ",'
+#10'". . . 4 5 ] 6 = ; ! 7 7 8 < - ! ] - ] 9 0 ; 2 3 a ",'#10'". . . < ; > 4'
+' = ; , b c d 7 @ 4 - 9 ~ ~ } ! 2 e f ",'#10'". . . 4 > @ > , ! 4 g h i @ > '
+'[ j + 4 k ~ 1 * l m ",'#10'". . . 4 , = ! ] { d n o p j j q ~ + @ ~ @ } m e'
+' r ",'#10'". . . + > ] ~ ; ; s t u v < q ) - 4 '' ~ 6 > w _ : ",'#10'". . .'
+' 4 , = } { x e y z A B '' ) ~ , ~ { 4 ! * e C ",'#10'". . . @ > = { / f D E'
+' F A G 5 6 6 + '' , + ; w e : ",'#10'". . . j ) , ; H I J K L M N O 6 8 ) q'
+' 4 9 } w _ * ",'#10'". . . [ 5 ~ ~ 2 P 3 Q R $ S T j 5 4 6 9 ~ = U _ V ",'
+#10'". . . 5 4 } W X Y g G Z S A A B @ '' [ @ + ~ ` 3 .",'#10'". . . 5 - { '
+'Q ..+.@.S A #.$.#.A %.+ 5 9 9 ; c e * ",'#10'". . . 9 4 8 &.*.=.N Z L $ i $'
+'.#.L % W < - ; w l -.",'#10'". . . 4 + Z ;.>.,.~ ~ ~ ~ ~ ~ ~ ~ . . @ < 9 '''
+'.l a ",'#10'". . . + ) d @.).. . . . . . . . . . . ( q 4 c _ a ",'#10'". . '
+'. @ < %.6 . . . . . . . . . . . . . + @ !.3 * ",'#10'". . . ) q 5 k . . . .'
+' . . ~.{.. ].( . ^.~ @ !.3 a ",'#10'". . . ) 6 ) - ; 1 = { { } > + + > ~ { '
+'; , ! ` /.c ",'#10'". | (.` c c c a c 2 .r w ` c U ''.U w U ''.2 _.e a ",'
+#10'"= :.<.+._ _ 3 +.e _ _ e [.l _ +._ 3 e e _ 3 l }.w ",'#10'"6 # m 2 w U f'
+' ''.U r w w U a r * r r : C |.: 2 .Z "};'#10#9'NumGlyphs'#2#0#0#0#12'TSpee'
+'dButton'#6'SBDown'#4'Left'#2#4#6'Height'#2#22#4'Hint'#6#24'Move selected fi'
+'eld down'#3'Top'#2#31#5'Width'#2#23#6'Action'#7#5'ADown'#5'Color'#7#9'clBtn'
+'Face'#10'Glyph.Data'#10''#13#0#0'{'#13#0#0'/* XPM */'#10'static char * unt'
+'en_xpm[] = {'#10'"25 25 128 2",'#10'" '#9'c None",'#10'". '#9'c #FFFFFF",'
+#10'"+ '#9'c #E5E5E5",'#10'"@ '#9'c #E3E3E3",'#10'"# '#9'c #BBBBBB",'#10'"$ '
+#9'c #B2B2B2",'#10'"% '#9'c #D3D3D3",'#10'"& '#9'c #5F5F5F",'#10'"* '#9'c #8'
+'88888",'#10'"= '#9'c #F1F1F1",'#10'"- '#9'c #E8E8E8",'#10'"; '#9'c #ECECEC"'
+','#10'"> '#9'c #E9E9E9",'#10'", '#9'c #EBEBEB",'#10'"'' '#9'c #E4E4E4",'#10
+'") '#9'c #E2E2E2",'#10'"! '#9'c #EDEDED",'#10'"~ '#9'c #EAEAEA",'#10'"{ '#9
+'c #F0F0F0",'#10'"] '#9'c #EFEFEF",'#10'"^ '#9'c #F9F9F9",'#10'"/ '#9'c #F4F'
+'4F4",'#10'"( '#9'c #F8F8F8",'#10'"_ '#9'c #303030",'#10'": '#9'c #8D8D8D",'
+#10'"< '#9'c #DFDFDF",'#10'"[ '#9'c #DDDDDD",'#10'"} '#9'c #EEEEEE",'#10'"| '
+#9'c #FAFAFA",'#10'"1 '#9'c #F3F3F3",'#10'"2 '#9'c #898989",'#10'"3 '#9'c #2'
+'F2F2F",'#10'"4 '#9'c #E6E6E6",'#10'"5 '#9'c #E1E1E1",'#10'"6 '#9'c #D4D4D4"'
+','#10'"7 '#9'c #ADADAD",'#10'"8 '#9'c #AFAFAF",'#10'"9 '#9'c #AAAAAA",'#10
+'"0 '#9'c #ABABAB",'#10'"a '#9'c #A6A6A6",'#10'"b '#9'c #A1A1A1",'#10'"c '#9
+'c #A2A2A2",'#10'"d '#9'c #A7A7A7",'#10'"e '#9'c #B4B4B4",'#10'"f '#9'c #DCD'
+'CDC",'#10'"g '#9'c #F5F5F5",'#10'"h '#9'c #848484",'#10'"i '#9'c #CFCFCF",'
+#10'"j '#9'c #747474",'#10'"k '#9'c #535353",'#10'"l '#9'c #4A4A4A",'#10'"m '
+#9'c #494949",'#10'"n '#9'c #454545",'#10'"o '#9'c #484848",'#10'"p '#9'c #4'
+'44444",'#10'"q '#9'c #464646",'#10'"r '#9'c #474747",'#10'"s '#9'c #9C9C9C"'
+','#10'"t '#9'c #E0E0E0",'#10'"u '#9'c #313131",'#10'"v '#9'c #818181",'#10
+'"w '#9'c #DADADA",'#10'"x '#9'c #777777",'#10'"y '#9'c #4D4D4D",'#10'"z '#9
+'c #666666",'#10'"A '#9'c #686868",'#10'"B '#9'c #616161",'#10'"C '#9'c #656'
+'565",'#10'"D '#9'c #646464",'#10'"E '#9'c #9B9B9B",'#10'"F '#9'c #323232",'
+#10'"G '#9'c #8A8A8A",'#10'"H '#9'c #9F9F9F",'#10'"I '#9'c #565656",'#10'"J '
+#9'c #959595",'#10'"K '#9'c #A0A0A0",'#10'"L '#9'c #A5A5A5",'#10'"M '#9'c #A'
+'4A4A4",'#10'"N '#9'c #B5B5B5",'#10'"O '#9'c #F6F6F6",'#10'"P '#9'c #8B8B8B"'
,','#10'"Q '#9'c #D0D0D0",'#10'"R '#9'c #676767",'#10'"S '#9'c #7D7D7D",'#10
+'"T '#9'c #ACACAC",'#10'"U '#9'c #C0C0C0",'#10'"V '#9'c #868686",'#10'"W '#9
+'c #696969",'#10'"X '#9'c #B0B0B0",'#10'"Y '#9'c #A9A9A9",'#10'"Z '#9'c #909'
+'090",'#10'"` '#9'c #D8D8D8",'#10'" .'#9'c #7B7B7B",'#10'"..'#9'c #B1B1B1",'
+#10'"+.'#9'c #AEAEAE",'#10'"@.'#9'c #5C5C5C",'#10'"#.'#9'c #B3B3B3",'#10'"$.'
+#9'c #DEDEDE",'#10'"%.'#9'c #E7E7E7",'#10'"&.'#9'c #C5C5C5",'#10'"*.'#9'c #8'
+'78787",'#10'"=.'#9'c #B6B6B6",'#10'"-.'#9'c #C7C7C7",'#10'";.'#9'c #858585"'
+','#10'">.'#9'c #8C8C8C",'#10'",.'#9'c #9D9D9D",'#10'"''.'#9'c #828282",'#10
+'").'#9'c #8E8E8E",'#10'"!.'#9'c #BFBFBF",'#10'"~.'#9'c #595959",'#10'"{.'#9
+'c #CECECE",'#10'"].'#9'c #FDFDFD",'#10'"^.'#9'c #838383",'#10'"/.'#9'c #F7F'
+'7F7",'#10'"(.'#9'c #707070",'#10'"_.'#9'c #939393",'#10'":.'#9'c #8F8F8F",'
+#10'"<.'#9'c #B7B7B7",'#10'"[.'#9'c #FBFBFB",'#10'"}.'#9'c #7F7F7F",'#10'"|.'
+#9'c #2D2D2D",'#10'"1.'#9'c #CACACA",'#10'"2.'#9'c #6B6B6B",'#10'"3.'#9'c #5'
+'85858",'#10'"4.'#9'c #2E2E2E",'#10'"5.'#9'c #333333",'#10'"6.'#9'c #383838"'
+','#10'"7.'#9'c #919191",'#10'". . . . . . . . . . . . . . . . . . . . . . .'
+' + @ ",'#10'". . . . . . . . . . . . . . . . . . . . . . . # $ ",'#10'". . '
+'. . . . . . . . . . . . . . . . . . . . % & * ",'#10'". . . = - ; > , ; '' '
+') ! ~ = , ; ; { ] ^ / ( * _ : ",'#10'". . . < { [ ! - , ! - } - = { , ! ~ ='
+' ] | 1 2 3 * ",'#10'". . . 4 5 6 7 8 9 0 a 0 b c d 0 7 e f 4 g ; 2 3 h ",'
+#10'". . . < ; i j k l m n o p p q r k s t g } ! 2 u v ",'#10'". . . 4 > w x'
+' y z A B C D z z B E ( . . ~ 1 * F G ",'#10'". . . 4 , { H I J d K K L L M '
+'N @ . . O @ } G u P ",'#10'". . . + > ] Q R S T T 0 T 0 0 U ( . . ~ t > V _'
+' : ",'#10'". . . 4 , = ! E W E X 8 T Y # f . . ] { 4 ! * u Z ",'#10'". . . '
+'@ > = { ` D .X ..7 +.U ( . . '' , + ; V u : ",'#10'". . . f ) , ; { 2 @.s '
+'#...U @ . . - $.4 %.} V _ * ",'#10'". . . [ 5 ~ ~ } &.B *.#.=.-.. . . %.t %'
+'.~ = ;._ >.",'#10'". . . 5 4 } ; } ~ * A ,.U @ . . ) 4 $.@ + ~ ''.3 ).",'#10
+'". . . 5 - { ; ! ! !.~.h {.. . ].'' , @ %.%.; ^.u * ",'#10'". . . %.4 + , 1'
+' /.4 (._.= . . 5 > w w t - ; V F :.",'#10'". . . 4 + '' - } > ( <.-.. . . ~'
+' '' %.; @ < %.*.F h ",'#10'". . . + ) '' - , ] O ) - . . ] ) + '' %.< $.4 ^'
+'._ h ",'#10'". . . @ < @ ~ } 1 { ; { [.g - > - f [ ) + @ }.3 * ",'#10'". . '
+'. ) $.) , { ( { } 1 ] + '' ! 4 5 ~ ! ~ @ }.3 h ",'#10'". . . ) t ) - ; 1 = '
+'{ { } > + + > ~ { ; , ! ''.|.^.",'#10'". | 1.''.^.^.^.h ^.2 ).P V ''.^.;.*.'
+';.V ;.*.2 2.u h ",'#10'"= =.3.4._ _ 3 4.u _ _ u 5.F _ 4._ 3 u u _ 3 F 6.V "'
+','#10'"t # G 2 V ;.v *.;.P V V ;.h P * P P : Z 7.: 2 ).X "};'#10#9'NumGlyph'
+'s'#2#0#0#0#0#0#0#9'TTabSheet'#12'TSFormatting'#7'Caption'#6#10'Formatting'
+#12'ClientHeight'#3'R'#1#11'ClientWidth'#3' '#2#0#15'TTIPropertyGrid'#11'GFo'
+'rmatting'#6'Height'#3'R'#1#5'Width'#3' '#2#5'Align'#7#8'alClient'#18'Preffe'
+'redSplitterX'#3#200#0#9'SplitterX'#3#200#0#15'ValueFont.Color'#7#8'clMaroon'
+#0#0#0#0#11'TActionList'#8'ALFields'#4'left'#2#14#3'top'#3#170#0#0#7'TAction'
+#3'AUp'#18'DisableIfNoHandler'#9#4'Hint'#6#22'Move selected field up'#9'OnEx'
+'ecute'#13#8'OnUpdate'#7#9'AUpUpdate'#8'ShortCut'#4'U'#192#0#0#0#0#7'TAction'
+#5'ADown'#18'DisableIfNoHandler'#9#4'Hint'#6#24'Move selected field down'#9
+'OnExecute'#13#8'OnUpdate'#7#11'ADownUpdate'#8'ShortCut'#4'D'#192#0#0#0#0#0#0
]);

View File

@ -0,0 +1,351 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2007 by Michael Van Canneyt, member of the
Free Pascal development team
fpDBExport basic configuration dialog.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
unit frmBaseConfigExport;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls, ButtonPanel, EditBtn, CheckLst, ComCtrls, RTTIGrids, fpdbexport,
Buttons, ActnList;
type
{ TBaseConfigExportForm }
TBaseConfigExportForm = class(TForm)
AUp: TAction;
ADown: TAction;
ALFields: TActionList;
CLBFields: TCheckListBox;
EFileName: TFileNameEdit;
LEFileName: TLabel;
Label2: TLabel;
LCLBFields: TLabel;
PExportFieldList: TPanel;
PUPDown: TPanel;
PFieldProps: TPanel;
PFieldsTop: TPanel;
PCFields: TPageControl;
PFileName: TPanel;
PButtons: TButtonPanel;
GFormatting: TTIPropertyGrid;
SBup: TSpeedButton;
SBDown: TSpeedButton;
TSFields: TTabSheet;
TSFormatting: TTabSheet;
SplitterFields: TSplitter;
GFieldProps: TTIPropertyGrid;
FExporter: TCustomDatasetExporter;
procedure ADownExecute(Sender: TObject);
procedure ADownUpdate(Sender: TObject);
procedure AUpExecute(Sender: TObject);
procedure AUpUpdate(Sender: TObject);
procedure CLBFieldsClick(Sender: TObject);
procedure CLBFieldsClickCheck(Sender: TObject);
procedure CLBFieldsItemClick(Sender: TObject; Index: integer);
procedure CLBFieldsKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState
);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure SetExporter(const AValue: TCustomDatasetExporter);
Procedure OnOKClick(Sender : TObject);
procedure ExporterToForm;
private
{ private declarations }
FFieldMap : TExportFields;
FFormatting : TCustomExportFormatSettings;
procedure FormToExporter;
procedure MoveFieldDown;
function MoveFieldUp: Boolean;
procedure SelectField(F: TExportFieldItem);
procedure ShowSelectedField;
public
{ public declarations }
Property Exporter : TCustomDatasetExporter Read FExporter Write SetExporter;
end;
var
BaseConfigExportForm: TBaseConfigExportForm;
Procedure RegisterBaseExportConfigForm;
implementation
uses typinfo,lcltype;
Type
{ TShowBaseConfigDialog }
TShowBaseConfigDialog = Class(TObject)
Public
Function ShowConfig (AExporter : TCustomDatasetExporter) : Boolean;
end;
{ TShowBaseConfigDialog }
function TShowBaseConfigDialog.ShowConfig(AExporter: TCustomDatasetExporter
): Boolean;
begin
With TBaseConfigExportForm.Create(Application) do
Try
Exporter:=AExporter;
Result:=(ShowModal=mrOK);
Finally
Free;
end;
end;
Var
DLG : TShowBaseConfigDialog;
Procedure RegisterBaseExportConfigForm;
Var
EF : TExportFormats;
I : Integer;
begin
EF:=ExportFormats;
For I:=0 to EF.Count-1 do
begin
If Not assigned(EF[i].OnConfigureDialog) then
begin
If DLG=Nil then
DLG:=TShowBaseConfigDialog.Create;
EF[i].OnConfigureDialog:=@DLG.ShowConfig;
end;
end;
end;
{ TBaseConfigExportForm }
procedure TBaseConfigExportForm.SetExporter(const AValue: TCustomDatasetExporter
);
begin
if (FExporter=AValue) then
exit;
FExporter:=AValue;
If Assigned(FExporter) then
ExporterToForm;
end;
procedure TBaseConfigExportForm.OnOKClick(Sender: TObject);
begin
FormToExporter;
end;
procedure TBaseConfigExportForm.CLBFieldsItemClick(Sender: TObject;
Index: integer);
begin
CLBFields.ItemIndex:=Index;
ShowSelectedField;
With CLBFields do
If (ItemIndex<>-1) then
begin
FFieldMap[ItemIndex].Enabled:=Checked[ItemIndex];
GFieldProps.PropertyEditorHook.RefreshPropertyValues;
end;
end;
procedure TBaseConfigExportForm.CLBFieldsKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Shift=[ssShift] then
begin
If (Key=VK_UP) then
MoveFieldUp
else if (Key=VK_DOWN) then
MoveFieldDown
end;
end;
procedure TBaseConfigExportForm.CLBFieldsClick(Sender: TObject);
begin
ShowSelectedField;
end;
procedure TBaseConfigExportForm.ShowSelectedField;
begin
If (CLBFields.ItemIndex=-1) then
SelectField(Nil)
else
SelectField(FFieldMap[CLBFields.ItemIndex]);
end;
procedure TBaseConfigExportForm.AUpExecute(Sender: TObject);
begin
MoveFieldUp;
end;
Function TBaseConfigExportForm.MoveFieldUp : Boolean;
begin
With CLBFields do
If (ItemIndex>0) then
begin
Items.Exchange(ItemIndex,ItemIndex-1);
FFieldMap.Items[ItemIndex].Index:=ItemIndex-1;
ItemIndex:=ItemIndex-1;
end;
end;
procedure TBaseConfigExportForm.ADownExecute(Sender: TObject);
begin
MoveFieldDown;
end;
procedure TBaseConfigExportForm.MoveFieldDown;
begin
With CLBFields do
If (ItemIndex<Items.Count-1) then
begin
Items.Exchange(ItemIndex,ItemIndex+1);
FFieldMap.Items[ItemIndex].Index:=ItemIndex+1;
ItemIndex:=ItemIndex+1;
end;
end;
procedure TBaseConfigExportForm.ADownUpdate(Sender: TObject);
begin
With CLBFields do
(Sender as Taction).Enabled:=(Itemindex<Items.Count-1);
end;
procedure TBaseConfigExportForm.AUpUpdate(Sender: TObject);
begin
(Sender as Taction).Enabled:=(CLBFields.Itemindex>0)
end;
procedure TBaseConfigExportForm.CLBFieldsClickCheck(Sender: TObject);
begin
end;
procedure TBaseConfigExportForm.FormCreate(Sender: TObject);
begin
PButtons.OKButton.OnClick:=@OnOKClick;
end;
procedure TBaseConfigExportForm.SelectField(F : TExportFieldItem);
begin
GFieldProps.TIObject:=F;
GFieldProps.Enabled:=(F<>Nil);
end;
procedure TBaseConfigExportForm.FormDestroy(Sender: TObject);
begin
FreeAndNil(FFieldMap);
FreeAndNil(FFormatting);
end;
procedure TBaseConfigExportForm.ExporterToForm;
Var
B : Boolean;
EF : TExportFieldItem;
I,J : Integer;
FS : TCustomExportFormatSettings;
begin
B:=Exporter is TCustomFileExporter;
B:=B or (FindPropInfo(Exporter,'FileName')<>Nil);
PFileName.Visible:=B;
If B then
begin
if Exporter is TCustomFileExporter then
EFileName.FileName:=TCustomFileExporter(Exporter).FileName
else
EFileName.FileName:=GetStrProp(Exporter,'FileName');
EFileName.Filter:=ExportFormats.ConstructFilter(Exporter);
end;
{ The following construct means that only explicitly added
can be configured, or all fields. }
FreeAndNil(FFieldMap);
FFieldMap:=TExportFields.Create(Exporter.ExportFields.ItemClass);
If (Exporter.ExportFields.Count=0) then
Exporter.BuildDefaultFieldMap(FFieldMap)
else
For I:=0 to Exporter.ExportFields.Count-1 do
FFieldMap.Add.Assign(Exporter.ExportFields[i]);
For I:=0 to FFieldMap.Count-1 do
begin
EF:=FFieldMap[i];
J:=CLBFields.Items.AddObject(EF.FieldName,EF);
CLBFields.Checked[J]:=EF.Enabled;
end;
If (CLBFields.Items.Count>0) then
begin
CLBFields.ItemIndex:=0;
SelectField(FFieldMap[0])
end
else
begin
CLBFields.ItemIndex:=-1;
SelectField(Nil);
end;
B:=FindPropInfo(Exporter,'FormatSettings')<>Nil;
TSFormatting.TabVisible:=B;
If B then
begin
FS:=TCustomExportFormatSettings(GetObjectProp(Exporter,'FormatSettings'));
FFormatting:=TCustomExportFormatSettingsClass(FS.ClassType).Create(False);
FFormatting.Assign(FS);
GFormatting.TIObject:=FFormatting;
end
else
FreeAndNil(FFormatting);
end;
procedure TBaseConfigExportForm.FormToExporter;
Var
I : Integer;
FS : TCustomExportFormatSettings;
begin
If PFileName.Visible then
if (Exporter is TCustomFileExporter) then
TCustomFileExporter(Exporter).FileName:=EFileName.FileName
else
SetStrProp(Exporter,'FileName',EFileName.FileName);
If (Exporter.ExportFields.Count=0) then
begin
For I:=0 to FFieldMap.Count-1 do
Exporter.ExportFields.Add.Assign(FFieldMap[i]);
end
else
For I:=0 to FFieldMap.Count-1 do
Exporter.ExportFields[I].Assign(FFieldMap[i]);
If Assigned(FFormatting) then
begin
FS:=TCustomExportFormatSettings(GetObjectProp(Exporter,'FormatSettings'));
FS.Assign(FFormatting);
end;
end;
initialization
{$I frmbaseconfigexport.lrs}
Finalization
FreeAndNil(DLG);
end.

View File

@ -0,0 +1,44 @@
object ExportProgressForm: TExportProgressForm
Left = 323
Height = 36
Top = 365
Width = 471
HorzScrollBar.Page = 470
VertScrollBar.Page = 35
BorderIcons = [biSystemMenu, biMaximize]
BorderStyle = bsToolWindow
Caption = 'Export progress'
ClientHeight = 36
ClientWidth = 471
Position = poScreenCenter
object LProgress: TLabel
Height = 13
Top = 7
Width = 152
Alignment = taRightJustify
AutoSize = False
Caption = 'Exporting %d records'
Layout = tlCenter
ParentColor = False
end
object BCancel: TButton
Left = 392
Height = 25
Top = 3
Width = 75
Anchors = [akTop, akRight]
BorderSpacing.InnerBorder = 4
Caption = '&Cancel'
TabOrder = 0
end
object PBExport: TProgressBar
Left = 160
Height = 23
Top = 3
Width = 224
Anchors = [akTop, akLeft, akRight]
Max = 1000
Smooth = True
Step = 1
end
end

View File

@ -0,0 +1,15 @@
LazarusResources.Add('TExportProgressForm','FORMDATA',[
'TPF0'#19'TExportProgressForm'#18'ExportProgressForm'#4'Left'#3'C'#1#6'Height'
+#2'$'#3'Top'#3'm'#1#5'Width'#3#215#1#18'HorzScrollBar.Page'#3#214#1#18'VertS'
+'crollBar.Page'#2'#'#11'BorderIcons'#11#12'biSystemMenu'#10'biMaximize'#0#11
+'BorderStyle'#7#12'bsToolWindow'#7'Caption'#6#15'Export progress'#12'ClientH'
+'eight'#2'$'#11'ClientWidth'#3#215#1#8'Position'#7#14'poScreenCenter'#0#6'TL'
+'abel'#9'LProgress'#6'Height'#2#13#3'Top'#2#7#5'Width'#3#152#0#9'Alignment'#7
+#14'taRightJustify'#8'AutoSize'#8#7'Caption'#6#20'Exporting %d records'#6'La'
+'yout'#7#8'tlCenter'#11'ParentColor'#8#0#0#7'TButton'#7'BCancel'#4'Left'#3
+#136#1#6'Height'#2#25#3'Top'#2#3#5'Width'#2'K'#7'Anchors'#11#5'akTop'#7'akRi'
+'ght'#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#7'&Cancel'#8'TabOrder'
+#2#0#0#0#12'TProgressBar'#8'PBExport'#4'Left'#3#160#0#6'Height'#2#23#3'Top'#2
+#3#5'Width'#3#224#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#3'Max'#3
+#232#3#6'Smooth'#9#4'Step'#2#1#0#0#0
]);

View File

@ -0,0 +1,79 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2007 by Michael Van Canneyt, member of the
Free Pascal development team
DataExport progress bar form.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
unit frmexportprogress;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
ComCtrls;
type
{ TExportProgressForm }
TExportProgressForm = class(TForm)
BCancel: TButton;
LProgress: TLabel;
PBExport: TProgressBar;
private
{ private declarations }
FCount : Integer;
function GetOnCancel: TNotifyEvent;
procedure SetOnCancel(const AValue: TNotifyEvent);
public
{ public declarations }
Procedure StepIt;
Property OnCancel : TNotifyEvent Read GetOnCancel Write SetOnCancel;
end;
var
ExportProgressForm: TExportProgressForm;
implementation
resourcestring
SProgress = 'Exporting %d records';
{ TExportProgressForm }
function TExportProgressForm.GetOnCancel: TNotifyEvent;
begin
Result:=BCancel.OnClick;
end;
procedure TExportProgressForm.SetOnCancel(const AValue: TNotifyEvent);
begin
BCancel.OnClick:=AValue;
end;
procedure TExportProgressForm.StepIt;
begin
Inc(FCount);
LProgress.Caption:=Format(SProgress,[FCount]);
If (PBExport.Position>=PBExport.Max) then
PBExport.Position:=0;
PBExport.StepIt;
Application.ProcessMessages;
end;
initialization
{$I frmexportprogress.lrs}
end.

View File

@ -0,0 +1,44 @@
object SelectExportFormatForm: TSelectExportFormatForm
Left = 608
Height = 295
Top = 254
Width = 400
HorzScrollBar.Page = 399
VertScrollBar.Page = 294
ActiveControl = BPButtons.CancelButton
Caption = 'Select data export Format'
ClientHeight = 295
ClientWidth = 400
OnShow = FormShow
Position = poScreenCenter
object RGFormats: TRadioGroup
Left = 8
Height = 224
Top = 8
Width = 376
Anchors = [akTop, akLeft, akRight, akBottom]
AutoFill = True
Caption = 'Available export formats:'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
OnClick = RGFormatsClick
TabOrder = 0
end
object BPButtons: TButtonPanel
Left = 6
Height = 42
Top = 253
Width = 388
Align = alBottom
AutoSize = True
TabOrder = 1
ShowButtons = [pbOK, pbCancel]
ShowGlyphs = [pbOK, pbCancel]
end
end

View File

@ -0,0 +1,21 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TSelectExportFormatForm','FORMDATA',[
'TPF0'#23'TSelectExportFormatForm'#22'SelectExportFormatForm'#4'Left'#3'`'#2#6
+'Height'#3''''#1#3'Top'#3#254#0#5'Width'#3#144#1#18'HorzScrollBar.Page'#3#143
+#1#18'VertScrollBar.Page'#3'&'#1#13'ActiveControl'#7#22'BPButtons.CancelButt'
+'on'#7'Caption'#6#25'Select data export Format'#12'ClientHeight'#3''''#1#11
+'ClientWidth'#3#144#1#6'OnShow'#7#8'FormShow'#8'Position'#7#14'poScreenCente'
+'r'#0#11'TRadioGroup'#9'RGFormats'#4'Left'#2#8#6'Height'#3#224#0#3'Top'#2#8#5
+'Width'#3'x'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8'A'
+'utoFill'#9#7'Caption'#6#25'Available export formats:'#28'ChildSizing.LeftRi'
+'ghtSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.Enlarge'
+'Horizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7
+#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScale'
+'Childs'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.'
+'Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'
+#2#1#7'OnClick'#7#14'RGFormatsClick'#8'TabOrder'#2#0#0#0#12'TButtonPanel'#9
+'BPButtons'#4'Left'#2#6#6'Height'#2'*'#3'Top'#3#253#0#5'Width'#3#132#1#5'Ali'
+'gn'#7#8'alBottom'#8'AutoSize'#9#8'TabOrder'#2#1#11'ShowButtons'#11#4'pbOK'#8
+'pbCancel'#0#10'ShowGlyphs'#11#4'pbOK'#8'pbCancel'#0#0#0#0
]);

View File

@ -0,0 +1,106 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2007 by Michael Van Canneyt, member of the
Free Pascal development team
Select export format from available formats.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
unit frmSelectExportFormat;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
ButtonPanel, fpdbexport;
type
{ TSelectExportFormatForm }
TSelectExportFormatForm = class(TForm)
BPButtons: TButtonPanel;
RGFormats: TRadioGroup;
procedure FormShow(Sender: TObject);
function GetSelected: TExportFormatItem;
procedure RGFormatsClick(Sender: TObject);
procedure SetSelected(const AValue: TExportFormatItem);
private
{ private declarations }
public
{ public declarations }
Procedure FillFormats;
Property SelectedFormat : TExportFormatItem Read GetSelected Write SetSelected;
end;
var
SelectExportFormatForm: TSelectExportFormatForm;
implementation
{ TSelectExportFormatForm }
procedure TSelectExportFormatForm.FormShow(Sender: TObject);
begin
FillFormats;
end;
function TSelectExportFormatForm.GetSelected: TExportFormatItem;
begin
With RGFormats do
If (ItemIndex=-1) then
Result:=Nil
else
Result:=Items.Objects[ItemIndex] as TExportFormatItem;
end;
procedure TSelectExportFormatForm.RGFormatsClick(Sender: TObject);
begin
end;
procedure TSelectExportFormatForm.SetSelected(const AValue: TExportFormatItem);
begin
With RGFormats do
begin
If (Items.Count=0) then
FillFormats;
If (AValue=Nil) then
ItemIndex:=-1
else
ItemIndex:=Items.IndexOfObject(AValue);
end;
end;
procedure TSelectExportFormatForm.FillFormats;
Var
F : TExportFormats;
I : Integer;
FI : TExportFormatItem;
begin
F:=ExportFormats;
For I:=0 to F.Count-1 do
begin
FI:=F[i];
RGFormats.Items.AddObject(FI.Description,FI);
end;
If RGFormats.Items.Count>0 then
RGFormats.ItemIndex:=0;
end;
initialization
{$I frmselectexportformat.lrs}
end.

View File

@ -0,0 +1,92 @@
<?xml version="1.0"?>
<CONFIG>
<Package Version="3">
<Name Value="lazdbexport"/>
<Author Value="Michael Van Canneyt"/>
<CompilerOptions>
<Version Value="5"/>
<SearchPaths>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Description Value="Standard TDataset Export objects from FCL"/>
<License Value="Modified LGPL"/>
<Version Major="1"/>
<Files Count="11">
<Item1>
<Filename Value="regdbexport.pp"/>
<HasRegisterProc Value="True"/>
<UnitName Value="regdbexport"/>
</Item1>
<Item2>
<Filename Value="fpdataexporter.pp"/>
<UnitName Value="fpdataexporter"/>
</Item2>
<Item3>
<Filename Value="frmselectexportformat.lfm"/>
<Type Value="LFM"/>
</Item3>
<Item4>
<Filename Value="frmselectexportformat.lrs"/>
<Type Value="LRS"/>
</Item4>
<Item5>
<Filename Value="frmselectexportformat.pp"/>
<UnitName Value="frmSelectExportFormat"/>
</Item5>
<Item6>
<Filename Value="frmexportprogress.lfm"/>
<Type Value="LFM"/>
</Item6>
<Item7>
<Filename Value="frmexportprogress.lrs"/>
<Type Value="LRS"/>
</Item7>
<Item8>
<Filename Value="frmexportprogress.pp"/>
<UnitName Value="frmexportprogress"/>
</Item8>
<Item9>
<Filename Value="frmbaseconfigexport.lfm"/>
<Type Value="LFM"/>
</Item9>
<Item10>
<Filename Value="frmbaseconfigexport.lrs"/>
<Type Value="LRS"/>
</Item10>
<Item11>
<Filename Value="frmbaseconfigexport.pp"/>
<UnitName Value="frmBaseConfigExport"/>
</Item11>
</Files>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="4">
<Item1>
<PackageName Value="RunTimeTypeInfoControls"/>
</Item1>
<Item2>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="IDEIntf"/>
</Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)/"/>
</UsageOptions>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
</PublishOptions>
</Package>
</CONFIG>

View File

@ -0,0 +1,22 @@
{ This file was automatically created by Lazarus. Do not edit!
This source is only used to compile and install the package.
}
unit lazdbexport;
interface
uses
regdbexport, fpdataexporter, frmSelectExportFormat, frmexportprogress,
frmBaseConfigExport, LazarusPackageIntf;
implementation
procedure Register;
begin
RegisterUnit('regdbexport', @regdbexport.Register);
end;
initialization
RegisterPackage('lazdbexport', @Register);
end.

View File

@ -0,0 +1,154 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2007 by Michael Van Canneyt, member of the
Free Pascal development team
Registration of components and property editors for dbexport package.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
unit regdbexport;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, lresources, dbPropEdits, propedits,
componenteditors, fpdataexporter, dialogs;
Type
{ TExportFieldProperty }
TExportFieldProperty = class(TFieldProperty)
Public
procedure FillValues(const Values: TStringList); override;
end;
{ TDataExporterComponentEditor }
TDataExporterComponentEditor = class(TComponentEditor)
private
procedure ExecuteExporter(Ex: TFPDataExporter);
public
function GetVerbCount: Integer; override;
function GetVerb(Index: Integer): string; override;
procedure ExecuteVerb(Index: Integer); override;
end;
Resourcestring
SExecute = 'Execute...';
SErrNoDatasetAssigned = 'DataExporter has no Dataset assigned.';
SErrOpeningDataset = 'Could not open dataset for exporting: %s';
Procedure Register;
implementation
uses
fpdbexport,
fpstdExports,
fpcsvexport,
fpfixedexport,
fpsimplexmlexport,
fpsimplejsonexport,
fpsqlexport,
fpdbfexport;
{ TDataExporterComponentEditor }
function TDataExporterComponentEditor.GetVerbCount: Integer;
begin
Result:=1;
end;
function TDataExporterComponentEditor.GetVerb(Index: Integer): string;
begin
Case Index of
0: Result:=SExecute;
else
Result:=Inherited GetVerb(Index)
end;
end;
procedure TDataExporterComponentEditor.ExecuteExporter(Ex : TFPDataExporter);
Var
B: Boolean;
begin
If Assigned(Ex) then
If Not Assigned(Ex.Dataset) then
ShowMessage(SErrNoDatasetAssigned)
else
begin
B:=Not Ex.Dataset.Active;
If B then
Try
Ex.Dataset.Open;
except
On E : Exception do
begin
ShowMessage(Format(SErrOpeningDataset,[E.Message]));
Exit;
end;
end;
Try
Ex.Execute;
Finally
If B then Ex.Dataset.Close;
end;
end;
end;
procedure TDataExporterComponentEditor.ExecuteVerb(Index: Integer);
Var
E : TFPDataExporter;
begin
Case Index of
0 : ExecuteExporter(GetComponent as TFPDataExporter);
else
Inherited
end
end;
{ TExportFieldProperty }
procedure TExportFieldProperty.FillValues(const Values: TStringList);
Var
FI : TExportFieldItem;
begin
FI:=TExportFieldItem(GetComponent(0));
If Assigned(FI.Exporter) and Assigned(FI.Exporter.Dataset) then
FI.Exporter.Dataset.GetFieldNames(Values);
end;
Procedure Register;
begin
RegisterComponents('Data Export',[TCSVExporter,
TFixedLengthExporter,
TSQLExporter,
TSimpleXMLExporter,
TSimpleJSONExporter,
TFPDBFExport,
TStandardExportFormats,
TFPDataExporter]);
RegisterPropertyEditor(TypeInfo(string), TExportFieldItem, 'FieldName', TExportFieldProperty);
RegisterComponentEditor(TFPDataExporter,TDataExporterComponentEditor) ;
end;
initialization
{$i dbexportimg.lrs}
end.

View File

@ -0,0 +1,71 @@
/* XPM */
static char *tcccsvexporter[]={
"22 23 45 1",
"a c #000000",
"t c #000008",
"s c #000010",
"b c #000400",
"c c #000408",
"u c #000410",
"F c #000800",
"v c #000810",
"G c #000c00",
"# c #080408",
"P c #080800",
"O c #080808",
"r c #080c00",
"z c #296929",
"i c #bdbebd",
"n c #bdbec5",
"q c #c5c2bd",
"f c #c5c2c5",
"o c #c5c2cd",
"d c #c5c6c5",
"h c #c5c6cd",
"N c #c5c6d5",
"p c #c5cabd",
"E c #c5cad5",
"m c #c5ceb4",
"w c #c5cec5",
"j c #cdc6cd",
"k c #cdcacd",
"g c #cdcad5",
"l c #cdceb4",
"D c #cdcec5",
"e c #cdcecd",
"C c #de1c10",
"L c #eee6ff",
"B c #eeeaff",
"M c #eeeeff",
"y c #f6f2ff",
"A c #f6f6ee",
"H c #f6f6ff",
"J c #f6faff",
"K c #f6ffff",
"I c #fff6ff",
"Q c #fffaf6",
"x c #fffaff",
". c #ffffff",
".#aaaaaaabaaabacaabaa.",
".adbefghhiejklmnoplqa.",
".braassstabaaabuvtabb.",
".awa.xyx..kzzzzzzzz.a.",
".aAb.xxBx.dzCCCCCCz.b.",
".aDb.zzzz.EzCCCCCCz.a.",
".FAG.HyII.EzzzzzCCz.a.",
".awaJzzzz.E..KKzCCzHF.",
".a.c.xLIMxN..H.zCCz.a.",
".OdaJzzzz.EHJ..zCCz.a.",
".a.c.xxMI.o.zzzzzzzzzz",
".Pda.zzzzHh.yzCCCCCCzx",
".aJc..H...nQ.xzCCCCzax",
".aea.x.H.xk.x..zCCzxc.",
".aaOaaacttttaaaazzaac.",
"......................",
"...CC...CC..C...C.....",
"..C..C.C..C.C...C.....",
"..C.....C...C...C.....",
"..C......C..C...C.....",
"..C..C.C..C..C.C......",
"...CC...CC....C.......",
"......................"};

View File

@ -0,0 +1,71 @@
/* XPM */
static char *tfixedexporter[]={
"22 23 45 1",
"a c #000000",
"t c #000008",
"s c #000010",
"b c #000400",
"c c #000408",
"u c #000410",
"F c #000800",
"v c #000810",
"G c #000c00",
"# c #080408",
"P c #080800",
"O c #080808",
"r c #080c00",
"z c #296929",
"i c #bdbebd",
"n c #bdbec5",
"q c #c5c2bd",
"f c #c5c2c5",
"o c #c5c2cd",
"d c #c5c6c5",
"h c #c5c6cd",
"N c #c5c6d5",
"p c #c5cabd",
"E c #c5cad5",
"m c #c5ceb4",
"w c #c5cec5",
"j c #cdc6cd",
"k c #cdcacd",
"g c #cdcad5",
"l c #cdceb4",
"D c #cdcec5",
"e c #cdcecd",
"C c #de1c10",
"L c #eee6ff",
"B c #eeeaff",
"M c #eeeeff",
"y c #f6f2ff",
"A c #f6f6ee",
"H c #f6f6ff",
"J c #f6faff",
"K c #f6ffff",
"I c #fff6ff",
"Q c #fffaf6",
"x c #fffaff",
". c #ffffff",
".#aaaaaaabaaabacaabaa.",
".adbefghhiejklmnoplqa.",
".braassstabaaabuvtabb.",
".awa.xyx..kzzzzzzzz.a.",
".aAb.xxBx.dzCCCCCCz.b.",
".aDb.zzzz.EzCCCCCCz.a.",
".FAG.HyII.EzzzzzCCz.a.",
".awaJzzzz.E..KKzCCzHF.",
".a.c.xLIMxN..H.zCCz.a.",
".OdaJzzzz.EHJ..zCCz.a.",
".a.c.xxMI.o.zzzzzzzzzz",
".Pda.zzzzHh.yzCCCCCCzx",
".aJc..H...nQ.xzCCCCzax",
".aea.x.H.xk.x..zCCzxc.",
".aaOaaacttttaaaazzaac.",
".....J...............x",
".CCCCJC.C..C.CCCC.CCCx",
".C..JJC.C.JC.C....C.xC",
".CCCJ.C..C.J.CC...C.xC",
".C....C...C.JC....C.xC",
".C....C.C..C.C....C.xC",
".C....C.C..C.CCCC.CCCx",
"..................JJJx"};

View File

@ -0,0 +1,37 @@
/* XPM */
static char *tdataexporter[]={
"24 24 10 1",
". c None",
"b c #000000",
"g c #000080",
"c c #0000ff",
"e c #303030",
"f c #808000",
"# c #808080",
"h c #c0c000",
"d c #c0c0c0",
"a c #ffffff",
"........................",
"........................",
".######################.",
".#abccccccccccccccbabab.",
".#bbbbbbbbbbbbbbbbbbbbb.",
".#ddddddddddddddddddddb.",
".#deeeeeeeeeedddddddddb.",
".#deddddddddedddddddddb.",
".#deeeeeeeddedddddddddb.",
".#deddddddddedddddddddb.",
".#deeeeeeeddedddddddddb.",
".#deddddddddedddddddddb.",
".#deddddddddedddddddddb.",
".#deeeeeeeeeeddffffffdb.",
".#dddddgdddgdddfhffhfdb.",
".#ddddd#gddggddfhhhhfdb.",
".#dddddd#gggggdfhhhhfdb.",
".#dddddddddggddffffffdb.",
".#dddddddddgdddfhhhhfdb.",
".#dddddddddddddfhffhfdb.",
".#dddddddddddddffffffdb.",
".#bbbbbbbbbbbbbbbbbbbbb.",
"........................",
"........................"};

View File

@ -0,0 +1,71 @@
/* XPM */
static char *tdbfexporter[]={
"22 23 45 1",
"a c #000000",
"t c #000008",
"s c #000010",
"b c #000400",
"c c #000408",
"u c #000410",
"F c #000800",
"v c #000810",
"G c #000c00",
"# c #080408",
"P c #080800",
"O c #080808",
"r c #080c00",
"z c #296929",
"i c #bdbebd",
"n c #bdbec5",
"q c #c5c2bd",
"f c #c5c2c5",
"o c #c5c2cd",
"d c #c5c6c5",
"h c #c5c6cd",
"N c #c5c6d5",
"p c #c5cabd",
"E c #c5cad5",
"m c #c5ceb4",
"w c #c5cec5",
"j c #cdc6cd",
"k c #cdcacd",
"g c #cdcad5",
"l c #cdceb4",
"D c #cdcec5",
"e c #cdcecd",
"C c #de1c10",
"L c #eee6ff",
"B c #eeeaff",
"M c #eeeeff",
"y c #f6f2ff",
"A c #f6f6ee",
"H c #f6f6ff",
"J c #f6faff",
"K c #f6ffff",
"I c #fff6ff",
"Q c #fffaf6",
"x c #fffaff",
". c #ffffff",
".#aaaaaaabaaabacaabaa.",
".adbefghhiejklmnoplqa.",
".braassstabaaabuvtabb.",
".awa.xyx..kzzzzzzzz.a.",
".aAb.xxBx.dzCCCCCCz.b.",
".aDb.zzzz.EzCCCCCCz.a.",
".FAG.HyII.EzzzzzCCz.a.",
".awaJzzzz.E..KKzCCzHF.",
".a.c.xLIMxN..H.zCCz.a.",
".OdaJzzzz.EHJ..zCCz.a.",
".a.c.xxMI.o.zzzzzzzzzz",
".Pda.zzzzHh.yzCCCCCCzx",
".aJc..H...nQ.xzCCCCzax",
".aea.x.H.xk.x..zCCzxc.",
".aaOaaacttttaaaazzaac.",
".....J...............x",
".HHHCCCHHCCCHHCCCCHHHH",
".HHHCHHCHCHCHHCHHHHHHH",
".HHHCHHCHCCCCHCCCHHHHH",
".HHHCHHCHCHHCHCHHHHHHH",
".HHHCHHCHCHHCHCHHHHHHH",
".HHHCCCHHCCCCHCHHHHHHH",
"..................JJJx"};

View File

@ -0,0 +1,71 @@
/* XPM */
static char *tjsonexporter[]={
"22 23 45 1",
"a c #000000",
"t c #000008",
"s c #000010",
"b c #000400",
"c c #000408",
"u c #000410",
"F c #000800",
"v c #000810",
"G c #000c00",
"# c #080408",
"P c #080800",
"O c #080808",
"r c #080c00",
"z c #296929",
"i c #bdbebd",
"n c #bdbec5",
"q c #c5c2bd",
"f c #c5c2c5",
"o c #c5c2cd",
"d c #c5c6c5",
"h c #c5c6cd",
"N c #c5c6d5",
"p c #c5cabd",
"E c #c5cad5",
"m c #c5ceb4",
"w c #c5cec5",
"j c #cdc6cd",
"k c #cdcacd",
"g c #cdcad5",
"l c #cdceb4",
"D c #cdcec5",
"e c #cdcecd",
"C c #de1c10",
"L c #eee6ff",
"B c #eeeaff",
"M c #eeeeff",
"y c #f6f2ff",
"A c #f6f6ee",
"H c #f6f6ff",
"J c #f6faff",
"K c #f6ffff",
"I c #fff6ff",
"Q c #fffaf6",
"x c #fffaff",
". c #ffffff",
".#aaaaaaabaaabacaabaa.",
".adbefghhiejklmnoplqa.",
".braassstabaaabuvtabb.",
".awa.xyx..kzzzzzzzz.a.",
".aAb.xxBx.dzCCCCCCz.b.",
".aDb.zzzz.EzCCCCCCz.a.",
".FAG.HyII.EzzzzzCCz.a.",
".awaJzzzz.E..KKzCCzHF.",
".a.c.xLIMxN..H.zCCz.a.",
".OdaJzzzz.EHJ..zCCz.a.",
".a.c.xxMI.o.zzzzzzzzzz",
".Pda.zzzzHh.yzCCCCCCzx",
".aJc..H...nQ.xzCCCCzax",
".aea.x.H.xk.x..zCCzxc.",
".aaOaaacttttaaaazzaac.",
".....J...............x",
".HHHCHH.CCHHHCCHHCHHCH",
".HHHCH.CHHCHCHHCHCHHCH",
".HHHCHHHCHHHCHHCHCCHCH",
".HHHCHHHHCHHCHHCHCHCCH",
".CHHCHHCHHCHCHHC.CHHCH",
".HCCHHHHCCHHHCC.HCHHCH",
"..................JJJx"};

View File

@ -0,0 +1,71 @@
/* XPM */
static char *txmlexporter[]={
"22 23 45 1",
"a c #000000",
"t c #000008",
"s c #000010",
"b c #000400",
"c c #000408",
"u c #000410",
"F c #000800",
"v c #000810",
"G c #000c00",
"# c #080408",
"P c #080800",
"O c #080808",
"r c #080c00",
"z c #296929",
"i c #bdbebd",
"n c #bdbec5",
"q c #c5c2bd",
"f c #c5c2c5",
"o c #c5c2cd",
"d c #c5c6c5",
"h c #c5c6cd",
"N c #c5c6d5",
"p c #c5cabd",
"E c #c5cad5",
"m c #c5ceb4",
"w c #c5cec5",
"j c #cdc6cd",
"k c #cdcacd",
"g c #cdcad5",
"l c #cdceb4",
"D c #cdcec5",
"e c #cdcecd",
"C c #de1c10",
"L c #eee6ff",
"B c #eeeaff",
"M c #eeeeff",
"y c #f6f2ff",
"A c #f6f6ee",
"H c #f6f6ff",
"J c #f6faff",
"K c #f6ffff",
"I c #fff6ff",
"Q c #fffaf6",
"x c #fffaff",
". c #ffffff",
".#aaaaaaabaaabacaabaa.",
".adbefghhiejklmnoplqa.",
".braassstabaaabuvtabb.",
".awa.xyx..kzzzzzzzz.a.",
".aAb.xxBx.dzCCCCCCz.b.",
".aDb.zzzz.EzCCCCCCz.a.",
".FAG.HyII.EzzzzzCCz.a.",
".awaJzzzz.E..KKzCCzHF.",
".a.c.xLIMxN..H.zCCz.a.",
".OdaJzzzz.EHJ..zCCz.a.",
".a.c.xxMI.o.zzzzzzzzzz",
".Pda.zzzzHh.yzCCCCCCzx",
".aJc..H...nQ.xzCCCCzax",
".aea.x.H.xk.x..zCCzxc.",
".aaOaaacttttaaaazzaac.",
".....J...............x",
".JJCJJCJCJJJCJCJJJJJJJ",
".JJCJJCJCCJCCJCJJJJJJJ",
".JJJCJJJCJC.CJCJJJJJJJ",
".JJJJCJJCJJ.CJCJJJJJJJ",
".JJCJJCJCJJJCJCJJJJJJJ",
".JJCJJCJCJJJCJCCCCJJJJ",
"..................JJJx"};

View File

@ -0,0 +1,71 @@
/* XPM */
static char *tsqlexporter[]={
"22 23 45 1",
"a c #000000",
"t c #000008",
"s c #000010",
"b c #000400",
"c c #000408",
"u c #000410",
"F c #000800",
"v c #000810",
"G c #000c00",
"# c #080408",
"P c #080800",
"O c #080808",
"r c #080c00",
"z c #296929",
"i c #bdbebd",
"n c #bdbec5",
"q c #c5c2bd",
"f c #c5c2c5",
"o c #c5c2cd",
"d c #c5c6c5",
"h c #c5c6cd",
"N c #c5c6d5",
"p c #c5cabd",
"E c #c5cad5",
"m c #c5ceb4",
"w c #c5cec5",
"j c #cdc6cd",
"k c #cdcacd",
"g c #cdcad5",
"l c #cdceb4",
"D c #cdcec5",
"e c #cdcecd",
"C c #de1c10",
"L c #eee6ff",
"B c #eeeaff",
"M c #eeeeff",
"y c #f6f2ff",
"A c #f6f6ee",
"H c #f6f6ff",
"J c #f6faff",
"K c #f6ffff",
"I c #fff6ff",
"Q c #fffaf6",
"x c #fffaff",
". c #ffffff",
".#aaaaaaabaaabacaabaa.",
".adbefghhiejklmnoplqa.",
".braassstabaaabuvtabb.",
".awa.xyx..kzzzzzzzz.a.",
".aAb.xxBx.dzCCCCCCz.b.",
".aDb.zzzz.EzCCCCCCz.a.",
".FAG.HyII.EzzzzzCCz.a.",
".awaJzzzz.E..KKzCCzHF.",
".a.c.xLIMxN..H.zCCz.a.",
".OdaJzzzz.EHJ..zCCz.a.",
".a.c.xxMI.o.zzzzzzzzzz",
".Pda.zzzzHh.yzCCCCCCzx",
".aJc..H...nQ.xzCCCCzax",
".aea.x.H.xk.x..zCCzxc.",
".aaOaaacttttaaaazzaac.",
".....J...............x",
"....CC...CC..C.......J",
"...C..C.C..C.C.......J",
"....C...C..C.C.......J",
".....C..C..C.C.......J",
"...C..C.C.CHHC.......J",
"....CC...CHC.CCCC....J",
"..........HHHH....JJJx"};

View File

@ -0,0 +1,71 @@
/* XPM */
static char *tstandardexports[]={
"22 23 45 1",
"a c #000000",
"t c #000008",
"s c #000010",
"b c #000400",
"c c #000408",
"u c #000410",
"F c #000800",
"v c #000810",
"G c #000c00",
"# c #080408",
"P c #080800",
"O c #080808",
"r c #080c00",
"z c #296929",
"i c #bdbebd",
"n c #bdbec5",
"q c #c5c2bd",
"f c #c5c2c5",
"o c #c5c2cd",
"d c #c5c6c5",
"h c #c5c6cd",
"N c #c5c6d5",
"p c #c5cabd",
"E c #c5cad5",
"m c #c5ceb4",
"w c #c5cec5",
"j c #cdc6cd",
"k c #cdcacd",
"g c #cdcad5",
"l c #cdceb4",
"D c #cdcec5",
"e c #cdcecd",
"C c #de1c10",
"L c #eee6ff",
"B c #eeeaff",
"M c #eeeeff",
"y c #f6f2ff",
"A c #f6f6ee",
"H c #f6f6ff",
"J c #f6faff",
"K c #f6ffff",
"I c #fff6ff",
"Q c #fffaf6",
"x c #fffaff",
". c #ffffff",
".#aaaaaaabaaabacaabaa.",
".adbefghhiejklmnoplqa.",
".braassstabaaabuvtabb.",
".awa.xyx..kzzzzzzzz.a.",
".aAb.xxBx.dzCCCCCCz.b.",
".aDb.zzzz.EzCCCCCCz.a.",
".FAG.HyII.EzzzzzCCz.a.",
".awaJzzzz.E..KKzCCzHF.",
".a.c.xLIMxN..H.zCCz.a.",
".OdaJzzzz.EHJ..zCCz.a.",
".a.c.xxMI.o.zzzzzzzzzz",
".Pda.zzzzHh.yzCCCCCCzx",
".aJc..H...nQ.xzCCCCzax",
".aea.x.H.xk.x..zCCzxc.",
".aaOaaacttttaaaazzaac.",
".....J...............x",
"....CC..CCCCC.CCC....J",
"...C..C.H.CH..C..C...J",
"....C...H.CH..C..C...J",
".....C..H.CH..C..C...J",
"...C..C.H.CHH.C..C...J",
"....CC...HCH..CCC....J",
"..........HHHH....JJJx"};