what do I have to do to manage compeling testzip.prg ?
We got this errors.
hbzip.lib is not included in harbour package.
Where can we get the tools which solve the our Problem ?
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄż
ł FiveWin for Harbour 8.01 - Jan. 2008 Harbour development power łÜ
ł (c) FiveTech, 1993-2008 for Microsoft Windows 95/98/NT/2000/ME/XP/Vista łŰ
ŔÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄŮŰ
˙ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
Harbour Beta build 0.99-3 Intl.
Copyright 1999-2007, http://www.harbour-project.org/
Compiling 'testzip.prg'...
Lines 3690, Functions/Procedures 4
Generating C source output to 'testzip.c'... Done.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
testzip.c:
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_ZIPFILE' referenced from V:\FWH\SAMPLES\TESTZIP.OBJ
Error: Unresolved external '_HB_FUN_ZIPTYPE' referenced from V:\FWH\SAMPLES\TESTZIP.OBJ
Error: Unresolved external '_HB_FUN_ZIPBLOCK' referenced from V:\FWH\SAMPLES\TESTZIP.OBJ
Error: Unresolved external '_HB_FUN_ZIPMSG' referenced from V:\FWH\SAMPLES\TESTZIP.OBJ
* There are errors
zip unzip problem
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
ztibor,
samples\TestZip.prg is for 16 bits only.
You have to use xHarbour/Harbour provided HBZIP.lib library
Here you have a working sample:
samples\TestZip.prg is for 16 bits only.
You have to use xHarbour/Harbour provided HBZIP.lib library
Here you have a working sample:
Code: Select all
//
// $Id: testzip.prg,v 1.6 2003/09/15 02:57:10 paultucker Exp $
//
// Requires samples.lib for gauge support
//
#include "common.ch"
#include "setcurs.ch"
proc Main()
Local aFiles, aGauge, nLen, aDir
Local aSaveFiles
Local aGaugeFile
// This is the 'safe' thing to do until Alert() is given focus.
SetMode( 50,80 )
ZipCreate( "TEST.ZIP", "testzip.prg" )
aFiles := {"testzip.prg",GetEnv("windir")+ "\win.ini"}
nLen := Len(afiles)
ZipCreate( "TEST1.ZIP", aFiles[2] )
ZipCreate( "TEST2.ZIP", aFiles, 8, {|cFile,nPos| qout("Added " + cFile)})
// something here is not clipper compatible
// (These can be removed after the box drawing is corrected)
?;?;?
?
?;?;?
aGauge := GaugeNew( row()-6, 5, row()-4,74 , "W/B", "W+/B" ,'²')
GaugeDisplay( aGauge )
aGaugeFile := GaugeNew( row()+2, 5, row()+4,74 , "W/B", "W+/B" ,'²')
GaugeDisplay( aGaugeFile )
aFiles := {}
aDir := Directory( "*.prg" )
Aeval( aDir, {|a| aadd( aFiles, a[1]) })
/* lets add an new bigger files on this example*/
aDir := Directory( "*.map" )
Aeval( aDir, {|a| aadd( aFiles, a[1]) })
aDir := Directory( "*.c" )
Aeval( aDir, {|a| aadd( aFiles, a[1]) })
nLen := Len(afiles)
// Lets save aFile Array for later usage
aSaveFiles := aFiles
set cursor off
ZipCreate("test3.zip", aFiles, 8, ;
{|cFile,nPos| GaugeUpdate(aGauge,nPos/nLen) },,'hello',,,;
{|nPos,nCur| GaugeUpdate(aGaugeFile,nPos/nCur)})
set cursor on
? str( nlen ) +" files were added to the zip"
// method 1
aFiles := hb_GetFilesInZip( "test3.zip" )
if aFiles != NIL
? str( Len( aFiles ) ) + " files are in the zip"
endif
// or simpler, method 2
? str( hb_GetFileCount("test3.zip" ) ) + " files using alternate method"
ZipHasPassword( "TEST1.ZIP" )
ZipHasPassword( "test3.zip" )
//ok, now we create an file on an floppy
? "Put a formatted Floppy/Zip disk in drive A: and press any key - (ESC) to skip"
? "Existing files will not be deleted!"
Inkey( 0 )
if lastkey() != 27
Cls
// no need for all the qout's after a cls.
aGauge := GaugeNew( row(), 5, row()+2,74 , "W/B", "W+/B" ,'²')
GaugeDisplay( aGauge )
?;?
aGaugeFile := GaugeNew( row(), 5, row()+2,74 , "W/B", "W+/B" ,'²')
GaugeDisplay( aGaugeFile )
HB_SETDISKZIP( { | x | Alert( "Please insert disk no " + Str( x , 3 ) ) } )
set cursor off
ZipCreateToFloppy("test4.zip", aSaveFiles, 9, ;
{|cFile,nPos| GaugeUpdate(aGauge,nPos/nLen) },,'hello',,,;
{|nPos,nCur| GaugeUpdate(aGaugeFile,nPos/nCur)})
set cursor on
endif
function ZipCreate(cFile, uContents, nLevel, bUpdate, lOverwrite, password,;
lPath, lDrive, bFileUpdate)
Local lRet
Default lOverwrite to .t.
Default lPath to .t.
IF ( lRet := HB_ZIPFILE( cFile, uContents, nLevel, bUpdate, lOverwrite,;
password, lPath, lDrive, bFileUpdate) )
? cFile + " was successfully created"
ENDIF
Return lRet
function ZipCreateToFloppy(cFile, uContents, nLevel, bUpdate, lOverwrite, password,;
lPath, lDrive, bFileUpdate)
Local lRet
Default lOverwrite to .t.
Default lPath to .t.
IF ( lRet := HB_ZIPFILEBYPKSPAN ( "a:\" + cFile, uContents, nLevel, bUpdate, lOverwrite,;
password, lPath, lDrive, bFileUpdate) )
? cFile + " was successfully created"
ENDIF
Return lRet
Function ZipHasPassword( cFile )
Local lRet
? cFile + " has " + iif(lRet := hb_ZipWithPassword(cFile),"a","no" )+ " password"
Return lRet