[delphizip] Re: original locations

  • From: "Justin" <justin@xxxxxxxxxxxxxx>
  • To: <delphizip@xxxxxxxxxxxxx>
  • Date: Thu, 10 Feb 2005 08:19:45 +0200

Thanks for the replies.

I'm actually taking a chance because I'm not using the ZipMaster component.
I'm using the TZip component from Angus Johnson - Is anybody using that?

So unfortunately your advise will not help - There is no OnSetAddName event
for the non-visual TZip Component. 

Sorry if I messed you around - but can anybody help me with this?

Thanks
Justin Behrendt.

-----Original Message-----
From: delphizip-bounce@xxxxxxxxxxxxx [mailto:delphizip-bounce@xxxxxxxxxxxxx]
On Behalf Of Roger Aelbrecht
Sent: 09 February 2005 08:24 PM
To: delphizip@xxxxxxxxxxxxx
Subject: [delphizip] Re: original locations

Justin wrote:
> Is it possible to store the original location (or at least the drive
> letter) of the file in the zip file.
> I need the user to able to extract the zip to it's original location
> (the user may not know where the original location is).
>
>
>
> Thanks
>
> Justin Behrendt.
>
>
>
> -----------
> To unsubscribe from this list, send an empty e-mail
> message to:
>   delphizip-request@xxxxxxxxxxxxx
> and put the word unsubscribe in the subject.


The original directory can be stored by setting AddDirNames
in the AddOptions to true, and leave the Root directory empty

The Drive letters are not stored with the actual zipping method.
The PKZip definition that we use does not allow that.

You can however use the OnSetAddName event to change the
filename just before it is stored in the archive and use that to
add the drive letter to the file name.

Presume all files from directory test are from "D" drive all other
from "C" drive then something like this can help ( code is not tested)


procedure TForm1.ZipMasterSetAddName(Sender: TObject;  var FileName: String;
    const ExtName: String; var IsChanged: Boolean)
begin

    if copy(FileName, 1, 5) = '\test' then
    begin

        FileName := 'C_' + FileName;
        IsChanged := True;
    end;

end;


When extracting use the OnSetExtName to strip off the drive
letter from the filename and use this in your application


HTH
-- 
Roger Aelbrecht
http://home.tiscali.be/driehoeksw



-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.8.6 - Release Date: 7/02/2005

-----------
To unsubscribe from this list, send an empty e-mail 
message to:
  delphizip-request@xxxxxxxxxxxxx 
and put the word unsubscribe in the subject.

-----------
To unsubscribe from this list, send an empty e-mail 
message to:
  delphizip-request@xxxxxxxxxxxxx 
and put the word unsubscribe in the subject.

Other related posts: