Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Parola Korumalı Zip Dosyası İçeriğini Çıkarmak
#1
Forumda biraz araştırdım. İki bileşen buldum. TZip ve Zipforge. 
TZip ile parola korumalı bir dosyanın android için nasıl unzip yapılacağını bulamadım. Diğer bileşen de galiba sadece VCL için.
Eğer elinizde basit bir örnek varsa, bunu nasıl yapacağım konusunda yardımcı olursanız sevinirim.

Yapmak istediğm şey projemin ana dizininde bulunan, parola korumalı bir zip dosyasını TPath.GetDocumentsPath yoluna çıkarmak.
Cevapla
#2
Sanırım bu konu işiniziçözecektir.

https://www.delphican.com/showthread.php?tid=7640
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
(28-04-2024, Saat: 21:38)mcuyan Adlı Kullanıcıdan Alıntı: Sanırım bu konu işiniziçözecektir.

https://www.delphican.com/showthread.php?tid=7640

Galiba bu örnekler sadece VCL için. FMX için değil gibi.
Cevapla
#4
Embarcadero örneği: System.Zip.TZipFile.Extract - Extracting Password-protected Files
Begin : = end / 2;
Cevapla
#5
(28-04-2024, Saat: 23:38)RAD Coder Adlı Kullanıcıdan Alıntı: Embarcadero örneği: System.Zip.TZipFile.Extract - Extracting Password-protected Files

Bunu görmüştüm ama parola nereye giriliyor, dosyayı nereye açıyor hiçbir detay açıklamamışlar. TEncryptedZipFile isimli bir sınıf bulabildim en son. Benim projem için tam olarak çalıştıramadım. Çalışır hale geldiğinde buradan paylaşacağım. Teşekkürler...
Cevapla
#6
(28-04-2024, Saat: 23:38)RAD Coder Adlı Kullanıcıdan Alıntı: Embarcadero örneği: System.Zip.TZipFile.Extract - Extracting Password-protected Files

Sanırım buradaki olay; Parola yoksa direk açılıyor, parola var ise uygun algoritmaya göre sizin belirleyeceğiniz bileşen ile çözmeniz gerekiyor.
Cevapla
#7
(28-04-2024, Saat: 13:25)nehirnnn Adlı Kullanıcıdan Alıntı: Forumda biraz araştırdım. İki bileşen buldum. TZip ve Zipforge. 
TZip ile parola korumalı bir dosyanın android için nasıl unzip yapılacağını bulamadım. Diğer bileşen de galiba sadece VCL için.
Eğer elinizde basit bir örnek varsa, bunu nasıl yapacağım konusunda yardımcı olursanız sevinirim.

Yapmak istediğm şey projemin ana dizininde bulunan, parola korumalı bir zip dosyasını TPath.GetDocumentsPath yoluna çıkarmak.

Edit1 de Password yazılıdır...
Orayı okur Şifreler veya O Şifreye Göre Unzip yapar.
ZipForge bileşeniyle yapmıştım.
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ZipForge, ComCtrls;

type
 TForm1 = class(TForm)
   Archiver: TZipForge;
   Button1: TButton;
   Button2: TButton;
   ProgressBar1: TProgressBar;
   lblFile: TLabel;
   Button3: TButton;
   Button4: TButton;
   Edit1: TEdit;
   Label1: TLabel;
   Memo1: TMemo;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);



   procedure ZipForge1FileProgress(Sender: TObject; FileName: WideString;
     Progress: Double; Operation: TZFProcessOperation;
     ProgressPhase: TZFProgressPhase; var Cancel: Boolean);

   procedure ZipForge1OverallProgress(Sender: TObject; Progress: Double;
     Operation: TZFProcessOperation; ProgressPhase: TZFProgressPhase;
     var Cancel: Boolean);
   procedure Button3Click(Sender: TObject);
   procedure Button4Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

//- BURASI İŞLEMDE OLAN DOSYAYI VE PROGRESSBARI İŞLİYOR------
procedure TForm1.ZipForge1FileProgress(Sender: TObject;
 FileName: WideString; Progress: Double; Operation: TZFProcessOperation;
 ProgressPhase: TZFProgressPhase; var Cancel: Boolean);
 begin
 MEMO1.Clear;
 Memo1.Lines.Add ('Extracting: ' + FileName); // Dosya adını ve yolunu Memoya işliyor
 Application.ProcessMessages;
end;

procedure TForm1.ZipForge1OverallProgress(Sender: TObject;
 Progress: Double; Operation: TZFProcessOperation;
 ProgressPhase: TZFProgressPhase; var Cancel: Boolean);
begin
 ProgressBAR1.Position := Trunc(Progress);
 Application.ProcessMessages;
end;
//-----------------------

//**************************  ZİP İŞLEMLERİ *****************************
// Dosya Zip
procedure TForm1.Button1Click(Sender: TObject);
begin
 try
 with archiver do
 begin
     Password:=Edit1.Text;
   FileName := 'C:\test_FILE.zip';
   OpenArchive(fmCreate);
   BaseDir := 'C:\';
   AddFiles('c:\A.XLS');
   CloseArchive();
 end;
 except
 on E: Exception do
   begin
     Writeln('Exception: ', E.Message);
     Readln;
   end;
 end;  
end;


// Klasör ZİP 
procedure TForm1.Button2Click(Sender: TObject);
begin
 try
 with archiver do
 begin
   Password:=Edit1.Text;
   FileName := 'C:\test_FOLDERS.zip';
   OpenArchive(fmCreate);
   BaseDir := 'C:\';
   AddFiles('C:\PUAN\*.*');  // PUAN KLASÖRÜNÜ ZİPLE
   CloseArchive();
 end;
 except
 on E: Exception do
   begin
     Writeln('Exception: ', E.Message);
     Readln;
   end;
 END;

 END;



 //***************UNZİP İŞLEMLERİ *********************************

 // Dosya Unzip 
procedure TForm1.Button3Click(Sender: TObject);
begin
 try
 with archiver do
 begin
 PASSWORD:=edit1.Text;
   FileName := 'C:\test_FILE.zip';
   OpenArchive(fmOpenRead);
   BaseDir := 'C:\';
   ExtractFiles('*.*');
   CloseArchive();
 end;
 except
 on E: Exception do
   begin
     Writeln('Exception: ', E.Message);
     Readln;
   end;
 end;

end;


// Klasör Unzip
procedure TForm1.Button4Click(Sender: TObject);
begin
 try
 with archiver do
 begin
 PASSWORD:=Edit1.Text;
   FileName := 'C:\test_FOLDERS.zip';
   OpenArchive(fmOpenRead);
   BaseDir := 'C:\';
   ExtractFiles('*.*');
   CloseArchive();
 end;
 except
 on E: Exception do
   begin
     Writeln('Exception: ', E.Message);
     Readln;
   end;
 end;

end;



END.

__________________________
From Now I will only Reading.
Cevapla
#8
Zipforge web sitesinde şöyle yazıyor: "ZipForge is a fast and powerful VCL Zip component, written in Delphi."
FMX desteklemiyor galiba.
Cevapla
#9
Şöyle birşey gördüm.
https://www.uweraabe.de/Blog/2017/03/27/...ncryption/

Deneyebilirsiniz.
PostgreSQL - Linux - Delphi, Poliüretan
WWW
Cevapla
#10
(29-04-2024, Saat: 11:50)nehirnnn Adlı Kullanıcıdan Alıntı:
(28-04-2024, Saat: 23:38)RAD Coder Adlı Kullanıcıdan Alıntı: Embarcadero örneği: System.Zip.TZipFile.Extract - Extracting Password-protected Files

Bunu görmüştüm ama parola nereye giriliyor, dosyayı nereye açıyor hiçbir detay açıklamamışlar. TEncryptedZipFile isimli bir sınıf bulabildim en son. Benim projem için tam olarak çalıştıramadım. Çalışır hale geldiğinde buradan paylaşacağım. Teşekkürler...

   
Begin : = end / 2;
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Star FMX Projelerinizde Ses Dosyası Oynatma Abdullah ILGAZ 15 9.982 22-03-2024, Saat: 22:25
Son Yorum: xorpas
  Cihaza ipa dosyası yükleme emrahozten 13 2.331 27-10-2023, Saat: 17:13
Son Yorum: emrahozten
  Android 32-Bit Library Eklenen Jar Dosyası yilmazalp 4 721 10-09-2023, Saat: 01:01
Son Yorum: yilmazalp
  Simülatör İle .ipa Dosyası Oluşturulabilir Mi? glagher 12 3.143 08-04-2022, Saat: 20:36
Son Yorum: ahmet6513
  PAserver klasöründe tar.gz dosyası yok ve deployment de linux 64 bit görünmüyor. diseqc 4 1.148 09-03-2022, Saat: 08:09
Son Yorum: diseqc



Konuyu Okuyanlar: 1 Ziyaretçi