home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hot Shareware 32
/
hot34.iso
/
ficheros
/
9ZIP
/
TSUZDLL.ZIP
/
EXAM2
/
CLUZ.CPP
next >
Wrap
C/C++ Source or Header
|
1998-04-07
|
4KB
|
119 lines
//---------------------------------------------------------------------------
//Simple example how to use TopSpeed Unzip DLL in C++
//Compiled with Borland C++ Builder 1.0
//(c) TopSpeedSoft, 1998
//Be sure TSUZ.DLL is available in directory.
//---------------------------------------------------------------------------
#include <vcl\condefs.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <io.h>
#pragma hdrstop
USERES("cluz.res");
//declare TopSpeed API DLL functions
extern "C" {
__declspec(dllimport) int __stdcall zCloseZipFile(void);
__declspec(dllimport) int __stdcall zOpenZipFile(char *zipfilename);
__declspec(dllimport) char * __stdcall zGetLastErrorAsText(void);
__declspec(dllimport) int __stdcall zCloseZipFile(void);
__declspec(dllimport) int __stdcall zGetTotalFiles(void);
__declspec(dllimport) int __stdcall zGetTotalBytes(void);
__declspec(dllimport) int __stdcall zGetSelectedFiles(void);
__declspec(dllimport) int __stdcall zGetSelectedBytes(void);
__declspec(dllimport) char * __stdcall zGetLastErrorAsText(void);
__declspec(dllimport) int __stdcall zGetSkipedFiles(void);
__declspec(dllimport) bool __stdcall zGetRunTimeInfo(int &ProcessedFiles,int &ProcessedBytes);
__declspec(dllimport) bool __stdcall zCancelOperation(void);
__declspec(dllimport) int __stdcall zExtractOne(int ItemNo,char *ExtractDirectory,char *Password,
bool OverwriteExisting,bool UseFolders,bool TestOnly,void (__stdcall *RTInfoFunc)(void));
__declspec(dllimport) int __stdcall zExtractSelected(char *ExtractDirectory,char *Password,
bool OverwriteExisting,bool UseFolders,bool TestOnly,void (__stdcall *RTInfoFunc)(void));
__declspec(dllimport) int __stdcall zExtractAll(char *ExtractDirectory,char *Password,
bool OverwriteExisting,bool UseFolders,bool TestOnly,void (__stdcall *RTInfoFunc)(void));
__declspec(dllimport) char * __stdcall zGetFileName(int index);
__declspec(dllimport) char * __stdcall zGetFileExt(int index);
__declspec(dllimport) char * __stdcall zGetFilePath(int index);
__declspec(dllimport) int __stdcall zGetFileDate(int index);
__declspec(dllimport) int __stdcall zGetFileTime(int index);
__declspec(dllimport) int __stdcall zGetFileSize(int index);
__declspec(dllimport) int __stdcall zGetCompressedFileSize(int index);
__declspec(dllimport) bool __stdcall zFileIsEncrypted(int index);
__declspec(dllimport) char * __stdcall zGetLastOperResult(int index);
__declspec(dllimport) bool __stdcall zFileIsSelected(int index);
__declspec(dllimport) bool __stdcall zSelectFile(int index,bool how);
}
//show runtime info
void __stdcall ShowProgress(void)
{
int pf,pb;
zGetRunTimeInfo(pf,pb);
printf("Processed %u files, %u bytes\n",pf,pb);
}
int main(int argc, char **argv)
{
int i,numitems,tm,dt;
char s[80];
//file name of test zip file.
//change it to point to your zip file
char *zfn = "c:\\temp\\tst\\x.zip";
if (zOpenZipFile(zfn) != 0) {
printf("%s",zGetLastErrorAsText());
return 1;
}
//get number of items in zip file
numitems = zGetTotalFiles();
//show the contents of zip file
for (i=0; i<numitems; i++)
{
dt = zGetFileDate(i);
tm = zGetFileTime(i);
printf("%u %s %u",i,zGetFileName(i),zGetFileSize(i));
printf(" %u/%u/%u", (dt>>5)&0xf, dt&0x1f, (dt>>9)+1980);
printf(" %u:%u:%u\n", tm>>11,(tm>>5)&0x3f, (tm&0x1f)<<1);
}
printf("Press ENTER to continue...");
gets(s);
//extract all files to temp directory
if (zExtractAll("C:\\TEMP\\","",true,false,false,ShowProgress) != 0) {
printf("%s",zGetLastErrorAsText());
return 1;
}
//show the result for each file
for (i=0; i<numitems; i++)
printf("%u %s\n",i,zGetLastOperResult(i));
printf("Press ENTER to continue...");
gets(s);
//close zip file
zCloseZipFile();
return 0;
}