XFRX use this class for creating output for Libre Office, Microsoft Office 2007 and XML Paper Specifications.
| Info |
|---|
Internal name is eqzip. The synonymum XFRX#ZIP is introduced in XFRX 22.0 |
Remarks
To version XFRX 22.x
XFRX use zlib.dll version 1.2.1 for VFP 5-9 and VFPA 32 bit. This version is old, but need MS VC ++ Runtime 4.0 only.
XFRX use zlib64.dll version 1.2.11 for VFPA 64 bit. This version is compiled from source code and need MS VC ++ Runtime 14.0.
Since version XFRX 2324.0
zlib.dll and zlib64.dll are compiled from source code and need MS VC ++ Runtime 10.0.
| UTF-8 | ZIP max size | File max size | UTF-8 | ZIP max size | File max size | ||
|---|---|---|---|---|---|---|---|
| Zlib version <1.2.5 | Zlib version >=1.2.5 | ||||||
| < XFRX 22.0 | XFRX 22.0 | ||||||
| VFP 5-9 VFP A 10.0 32 bit | No | 2GiB | 2GiB | Yes | >4GiB | 2GiB | >4GiB |
| VFP A 10.0 64 bit | - | Yes | >4GiB | 2GiB | >4GiB | ||
| VFP A 10.1 32 bit | No | 2GiB | 4GiB | Yes | >4GiB | >4GiB | >4GiB |
| VFP A 10.1 64 bit | - | Yes | >4GiB | >4GiB | >4GiB | ||
Examples
Use XFRX#ZIP before XFRX 22.0
| Code Block |
|---|
LOCAL m.loZIP, m.lcZIPFile, m.lcFile
m.lcZIPFile=SYS(2023)+"\test.zip"
m.lcFile="xfrx.h"
SET PROCEDURE TO xfrx.prg
m.loZIP = CREATEOBJECT("eqzip")
?"ZLIB version", m.loZIP.nzipVersion
IF m.loZip.openArchive(m.lcZIPFile)
m.loZip.appendFile(m.lcFile, JUSTFNAME(m.lcFile), .T.)
m.loZip.closearchive()
ENDIF
RELE m.loZIP |
Use XFRX#ZIP from XFRX 22.0
| Code Block |
|---|
LOCAL m.loZIP, m.lcZIPFile, m.lcFile
m.lcZIPFile=SYS(2023)+"\test.zip"
m.lcFile="xfrx.h"
m.loZIP = EVALUATE([xfrx("XFRX#ZIP")])
?"ZLIB version", m.loZIP.nzipVersion
IF m.loZip.openArchive(m.lcZIPFile)
m.loZip.appendFile(m.lcFile, JUSTFNAME(m.lcFile), .T.)
m.loZip.closearchive()
ENDIF
RELE m.loZIP |
| Code Block |
|---|
LOCAL m.loZIP, m.lcZIPFile, m.lcFile
m.lcZIPFile="c:\temp\_big.zip"
m.loZIP = EVALUATE([xfrx("XFRX#ZIP")])
IF m.loZip.openArchive(m.lcZIPFile)
m.lcData=SYS(0)+" "+TTOC(DATETIME())
m.loZip.OpenNewFile("myFile")
m.loZip.WriteData(m.lcData)
m.loZip.CloseFile()
m.lcData=SYS(0)+" "+TTOC(DATETIME())
m.loZip.OpenNewFile("myFile+Datetime", {^2022-01-01})
m.loZip.WriteData(m.lcData)
m.loZip.CloseFile()
m.lcData=SYS(0)+" "+TTOC(DATETIME())
m.loZip.OpenNewFile("myFile+Datetime+National+Characters - "+"bílý žluťoučký kůň", {^2022-01-01}, .T.)
m.loZip.WriteData(m.lcData)
m.loZip.CloseFile()
m.lcData=SYS(0)+" "+TTOC(DATETIME())
m.loZip.OpenNewFile("myFile+Datetime+ěščřž+password", {^2022-01-01}, .T., "mypwd", loZIP.SYS2007(m.lcData))
m.loZip.WriteData(m.lcData)
m.loZip.CloseFile()
m.lcData=SYS(0)+" "+TTOC(DATETIME())
m.loZip.OpenNewFile("myFile+Datetime+ěščřž+password+file comment", {^2022-01-01}, .T., "mypwd", loZIP.SYS2007(m.lcData), .F., "my file comment")
m.loZip.WriteData(m.lcData)
m.loZip.CloseFile()
m.loZip.closearchive("ěščřžýáíé")
ENDIF
RELE m.loZIP |