Windows Mobile üzerinde bir arşiv arşivini paket açmak için programlı olarak açmalıyım. Doğrudan kullanabileceğim bir API kullanımı var mı yoksa harici bir kütüphaneyle mi gitmeliyim?Windows Mobile'de .zip dosyası nasıl açılır?
cevap
.Net Compact Framework kullanıyorsanız http://www.icsharpcode.net/OpenSource/SharpZipLib ile devam edebilirsiniz. CF'de çalışmayı desteklediğine inanıyorum.
Harici bir kütüphaneye ihtiyacınız var. Zlibce.dll, C++ sizin thang ise kullanabileceğiniz bir yerel DLL var.
.NET sizin işinizdeyse, .NETCF 2.0 üzerinde çalışan ücretsiz, açık kaynak kodlu ve iyi bir belge olan iyi bir performansa sahip olan DotNetZip'u önerebilirim. DotNetZip kaynak dağıtımında, görüntüleyebileceğiniz ve derleyebileceğiniz bir CF-Unzipper projesi var; cihazdaki dosyaların nasıl açılacağını gösterir. Burada, cihaz uygulaması için view the code'u bulabileceğiniz bir bağlantı var.
Bu, kodun zip ile ilgili bölümlerinin bir parçasıdır. Adını zip dosyasından alan bir dizine (.zip uzantısı olmadan) çıkarılır.
private void UnzipSelectedFile()
{
string parent = System.IO.Path.GetDirectoryName(_selectedpath);
string dir = System.IO.Path.Combine(parent,
System.IO.Path.GetFileNameWithoutExtension(_selectedpath));
try
{
using (var zip1 = new Ionic.Zip.ZipFile(_selectedpath))
{
foreach (var entry in zip1)
{
entry.Extract(dir, true);
}
}
// re-populate the treeview with the extracted files:
AddChildren(tvFolders.SelectedNode.Parent);
}
catch (Exception ex)
{
MessageBox.Show("Exception! " + ex);
}
}
Kitaplık için an online version of the doc bağlantısı var.
Kullandığınız dilden bağımsız olarak, Info-ZIP'u harici bir yürütülebilir dosya olarak kullanabilirsiniz.
http://www.info-zip.org/FAQ.html#WinCE - 'e göre şu anda bir WinCE bağlantı noktası Zip yapma planımız bulunmamaktadır. Sonunda bir tane yapmak isteriz, ama sadece zaman izin verirse ve sekizden fazla (!) Yıl boyunca bekletildiyse. Nefesinizi tutmayın, değil mi? – The1nk