[
  {
    "Id": "540878",
    "ThreadId": "239675",
    "Html": "\r\n<p>Hey guys!</p>\r\n<p>First: THANKS FOR THIS NICE LIBRARY! Really, much better than using external apps.</p>\r\n<p>Second: I've read the documentation. But I don't know enough VB.net to really understand it all. I'm doing the following:</p>\r\n<p>I'm creating a backup tool for a <strong>fixed</strong> folder. It don't change its location (apart from user profile folder), but the files inside it can change. And are a LOT of files, all of them really small. I've created almost everything: the forms,\r\n the controls, the savefile dialog and all. Now I want to add a progress bar that will increase after every file has been compressed, but I don't know how many files it has! And the maximum length of the progressbar will be the number of files, but I'm compressing\r\n a directory, not the files itselves.</p>\r\n<p><br>\r\nHow can I do this ? The lib can list all files and do a step everytime a file has been sucessfully added?</p>\r\n<p>Thanks in advance!</p>\r\n",
    "PostedDate": "2010-12-27T09:56:26.883-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "541426",
    "ThreadId": "239675",
    "Html": "\r\n<p>Hm... no one knows how can I handle the progress bar.. ?</p>\r\n<p>The example code seems very hard to understand to me, I didn't got it. I think that a variable that recieves how many files the folder has can do it easily, but I don't know how to set up this variable. Someone can help me?</p>\r\n",
    "PostedDate": "2010-12-28T17:02:06.817-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "545007",
    "ThreadId": "239675",
    "Html": "\r\n<p>Show some of your code, the code that uses the DotNetZip library, and I'll be able to make better suggestions.</p>\r\n<p>Yes, to show a progress bar for zipping up a large set of files, you need to know the number of files being zipped.</p>\r\n<p>In DotNetZip, normally you would call a method like ZipFile.AddDirectory().&nbsp; This adds entries for all the files in the specified directory into the ZipFile object.&nbsp; How many files is that?&nbsp; Easy: reference ZipFile.Entries.Count().&nbsp; This\r\n is the number of entries that will be saved when you call ZipFile.Save().</p>\r\n<p>Your progress bar logic should be attached to the SaveProgress event generated by DotNetZip.&nbsp; You can attach that logic after you call AddDirectory().&nbsp;</p>\r\n<p>Does this help?</p>\r\n<p>Good luck.</p>\r\n<p>&nbsp;</p>\r\n",
    "PostedDate": "2011-01-06T11:34:28.147-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "545188",
    "ThreadId": "239675",
    "Html": "\r\n<p>Helped a bit, but I don't know how to make it increase :P</p>\r\n<p>My code is here:</p>\r\n<p>&nbsp;</p>\r\n<div style=\"color:black; background-color:white\">\r\n<pre><span style=\"color:blue\">Imports</span> System.IO\r\n<span style=\"color:blue\">Imports</span> Ionic.Zip\r\n\r\n<span style=\"color:blue\">Public</span> <span style=\"color:blue\">Class</span> Main\r\n\r\n    <span style=\"color:green\">'Definie as vari�veis</span>\r\n    <span style=\"color:blue\">Dim</span> NomedoBackup <span style=\"color:blue\">As</span> <span style=\"color:blue\">String</span>\r\n    <span style=\"color:blue\">Dim</span> Pasta <span style=\"color:blue\">As</span> <span style=\"color:blue\">String</span>\r\n    <span style=\"color:blue\">Dim</span> NomeAntigo <span style=\"color:blue\">As</span> <span style=\"color:blue\">String</span>\r\n    <span style=\"color:blue\">Dim</span> NomePadrao <span style=\"color:blue\">As</span> <span style=\"color:blue\">String</span> = <span style=\"color:#a31515\">&quot;c:\\profile.zip&quot;</span>\r\n\r\n    <span style=\"color:green\">'Captura a pasta do perfil do usu�rio</span>\r\n    <span style=\"color:blue\">Dim</span> Perfil <span style=\"color:blue\">As</span> <span style=\"color:blue\">String</span> = Environment.GetEnvironmentVariable(<span style=\"color:#a31515\">&quot;UserProfile&quot;</span>)\r\n\r\n    <span style=\"color:green\">'Captura a localiza��o da pasta 'meus documentos/documentos'</span>\r\n    <span style=\"color:blue\">Dim</span> Documentos <span style=\"color:blue\">As</span> <span style=\"color:blue\">String</span> = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)\r\n\r\n\r\n    <span style=\"color:blue\">Private</span> <span style=\"color:blue\">Sub</span> Main_Load(<span style=\"color:blue\">ByVal</span> sender <span style=\"color:blue\">As</span> System.Object, <span style=\"color:blue\">ByVal</span> e <span style=\"color:blue\">As</span> System.EventArgs) <span style=\"color:blue\">Handles</span> <span style=\"color:blue\">MyBase</span>.Load\r\n\r\n        <span style=\"color:green\">'Define a pasta a que ser� comprimida</span>\r\n        Pasta = Perfil &amp; <span style=\"color:#a31515\">&quot;\\AppData\\Local\\Criterion Games&quot;</span>\r\n\r\n    <span style=\"color:blue\">End</span> <span style=\"color:blue\">Sub</span>\r\n\r\n    <span style=\"color:green\">'Janela procurar arquivo</span>\r\n    <span style=\"color:blue\">Private</span> <span style=\"color:blue\">Sub</span> Procurar_Click(<span style=\"color:blue\">ByVal</span> sender <span style=\"color:blue\">As</span> System.Object, <span style=\"color:blue\">ByVal</span> e <span style=\"color:blue\">As</span> System.EventArgs) <span style=\"color:blue\">Handles</span> Procurar.Click\r\n\r\n\r\n        <span style=\"color:green\">'Cria a janela de procurar arquivo</span>\r\n        <span style=\"color:blue\">Dim</span> Salvar <span style=\"color:blue\">As</span> <span style=\"color:blue\">New</span> SaveFileDialog()\r\n\r\n        <span style=\"color:green\">'Pasta inicial</span>\r\n        Salvar.InitialDirectory = Documentos\r\n        Salvar.Filter = <span style=\"color:#a31515\">&quot;Zip Files (*.zip)|*.zip&quot;</span>\r\n\r\n        <span style=\"color:green\">'Detecta quando o OK � pressionado</span>\r\n        <span style=\"color:blue\">If</span> Salvar.ShowDialog() = DialogResult.OK <span style=\"color:blue\">Then</span>\r\n\r\n            <span style=\"color:green\">'Define o nome do arquivo</span>\r\n            NomedoBackup = Salvar.FileName\r\n            Caminho.Text = NomedoBackup\r\n            NomeAntigo = Salvar.FileName\r\n\r\n        <span style=\"color:blue\">End</span> <span style=\"color:blue\">If</span>\r\n\r\n    <span style=\"color:blue\">End</span> <span style=\"color:blue\">Sub</span>\r\n\r\n    <span style=\"color:green\">'Bot�o de backup</span>\r\n    <span style=\"color:blue\">Private</span> <span style=\"color:blue\">Sub</span> Backup_Click(<span style=\"color:blue\">ByVal</span> sender <span style=\"color:blue\">As</span> System.Object, <span style=\"color:blue\">ByVal</span> e <span style=\"color:blue\">As</span> System.EventArgs) <span style=\"color:blue\">Handles</span> Backup.Click\r\n\r\n        <span style=\"color:green\">'Garante que n�o ir� gerar erro verificando se a vari�vel est� vazia</span>\r\n        <span style=\"color:blue\">If</span> NomedoBackup = <span style=\"color:#a31515\">&quot;&quot;</span> <span style=\"color:blue\">Then</span>\r\n            <span style=\"color:green\">'Define um nome padr�o</span>\r\n            NomedoBackup = NomePadrao\r\n\r\n            <span style=\"color:blue\">Using</span> zip <span style=\"color:blue\">As</span> ZipFile = <span style=\"color:blue\">New</span> ZipFile\r\n                <span style=\"color:green\">'Define a compress�o para a melhor poss�vel</span>\r\n                zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression\r\n                <span style=\"color:green\">'Adiciona a pasta previamente definida</span>\r\n                zip.AddDirectory(Pasta)\r\n                <span style=\"color:green\">'Salva o arquivo</span>\r\n                zip.Save(NomedoBackup)\r\n            <span style=\"color:blue\">End</span> <span style=\"color:blue\">Using</span>\r\n\r\n            <span style=\"color:green\">'Mensagem alertando que nenhum nome foi definido</span>\r\n            MsgBox(<span style=\"color:#a31515\">&quot;You didn't defined a name for the backup. By default, it has been saved to: &quot;</span> &amp; NomePadrao, MsgBoxStyle.Information, <span style=\"color:#a31515\">&quot;Warning!&quot;</span>)\r\n\r\n        <span style=\"color:blue\">Else</span>\r\n            <span style=\"color:blue\">Using</span> zip <span style=\"color:blue\">As</span> ZipFile = <span style=\"color:blue\">New</span> ZipFile\r\n                <span style=\"color:green\">'Define a compress�o para a melhor poss�vel</span>\r\n                zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression\r\n                <span style=\"color:green\">'Adiciona a pasta previamente definida</span>\r\n                zip.AddDirectory(Pasta)\r\n                <span style=\"color:green\">'Salva o arquivo</span>\r\n                zip.Save(NomedoBackup)\r\n            <span style=\"color:blue\">End</span> <span style=\"color:blue\">Using</span>\r\n        <span style=\"color:blue\">End</span> <span style=\"color:blue\">If</span>\r\n    <span style=\"color:blue\">End</span> <span style=\"color:blue\">Sub</span>\r\n\r\n\r\n<span style=\"color:blue\">End</span> <span style=\"color:blue\">Class</span>\r\n<br><br></pre>\r\n</div>\r\n<p>It doesn't refer to any progressbar because I removed it since I didn't knew how to work with it :P I have another question... how can I embed the DLL into my app and use it from there? I've searched a bit, but none seems to be clear :)<br>\r\n<br>\r\nAnd thanks for the response. I was almost losing my faith that someone would reply!</p>\r\n",
    "PostedDate": "2011-01-06T19:58:48.273-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "545341",
    "ThreadId": "239675",
    "Html": "\r\n<p>Regarding embedding assemblies, see this question and answer: <a href=\"http://stackoverflow.com/questions/222655/embedding-assemblies-inside-another-assembly/625115\">\r\nhttp://stackoverflow.com/questions/222655/embedding-assemblies-inside-another-assembly/625115</a></p>\r\n<p>Regarding the progressbar, you need to use a SaveProgress event.&nbsp;</p>\r\n<p>See this documentation: <a href=\"http://cheeso.members.winisp.net/DotNetZipHelp/html/2b8624b0-6823-7e33-a864-2c7bbd9835e7.htm\">\r\nhttp://cheeso.members.winisp.net/DotNetZipHelp/html/2b8624b0-6823-7e33-a864-2c7bbd9835e7.htm</a></p>\r\n<p>There are also examples in the DotNetZip source distribution.&nbsp;</p>\r\n<p>You can also look in the example code here: <a href=\"http://code.msdn.microsoft.com/DotNetZip/Wiki/View.aspx?title=VB%20WinForms%20Example\">\r\nhttp://code.msdn.microsoft.com/DotNetZip/Wiki/View.aspx?title=VB%20WinForms%20Example</a></p>\r\n<p>Good luck.</p>\r\n",
    "PostedDate": "2011-01-07T05:23:44.23-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "545743",
    "ThreadId": "239675",
    "Html": "\r\n<p>Got it working! Thanks!</p>\r\n<p>I'll only now rename all variables to names that make sense to me, so it will become even easier to understand (:</p>\r\n",
    "PostedDate": "2011-01-07T17:34:26.95-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "547693",
    "ThreadId": "239675",
    "Html": "\r\n<p>Glad to hear you got it working.</p>\r\n<p>&nbsp;</p>\r\n",
    "PostedDate": "2011-01-11T18:09:34.59-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]