Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datei in einer zip löschen (https://www.delphipraxis.net/149445-datei-einer-zip-loeschen.html)

-Phantom- 21. Mär 2010 21:15

Re: Datei in einer zip löschen
 
@cookie
mach ich doch hier
Delphi-Quellcode:
begin
with slistview1 do
for i := 0 to Items.Count - 1 do
if Items[i].Selected then
begin
abzipper1.OpenArchive(openarchive);
delepf := items[i]..SubItems[0];
oder nicht?
:?:

mkinzler 21. Mär 2010 21:18

Re: Datei in einer zip löschen
 
Man kann aber nicht unbedingt davon ausgehen, das die Indizes der beiden Listen identisch sind

cookie22 21. Mär 2010 21:32

Re: Datei in einer zip löschen
 
gib es da nicht ne list die man befüllen kann? so kenn ich das von delzip, zipforge oder ziptv. ansonsten mußt du die datei namen abgleichen.

-Phantom- 21. Mär 2010 22:18

Re: Datei in einer zip löschen
 
Ja in der Komponente gibt es ne Abzipview. Aber ich benutze eine ganz normale Listview und möchte das auch beibehalten. Wie mache ich das den nun mit der ganz normalen Listview?

mkinzler 21. Mär 2010 22:20

Re: Datei in einer zip löschen
 
Du musst den passenden Eintrag suchen

-Phantom- 22. Mär 2010 17:48

Re: Datei in einer zip löschen
 
Ja wo den?

-Phantom- 23. Mär 2010 15:42

Re: Datei in einer zip löschen
 
Keiner ne Idee? Ich hab das gleiche Problem auch wenn ich Dateien die sich noch in der zip befinden ausführen will.
Wie muss ich das machen?

-Phantom- 23. Mär 2010 15:52

Re: Datei in einer zip löschen
 
das mit dem Ausführen hab ich nun hinbekommen
Delphi-Quellcode:
var
runfile : String;
i : Integer;
begin
for i := 0 to slistview1.Items.Count -1 do
begin
if slistview1.Items[i].Selected then
begin
abunzipper1.FileName := openpf;
abunzipper1.BaseDirectory := extractfilepath(openpf);
runfile := extractfilepath(openpf)+slistview1.Items[i].Caption;
abunzipper1.ExtractFiles(runfile);
abunzipper1.OpenArchive(openpf);
shellExecute(0,
        Nil,
        PChar(runfile),
        Pchar(''),
        Pchar('C:\StartDir'),
        SW_NORMAL);
        label2.Caption := runfile;
        end;
end;
end;

cookie22 23. Mär 2010 16:35

Re: Datei in einer zip löschen
 
Zitat:

Zitat von -Phantom-
das mit dem Ausführen hab ich nun hinbekommen
Delphi-Quellcode:
var
runfile : String;
i : Integer;
begin
for i := 0 to slistview1.Items.Count -1 do
begin
if slistview1.Items[i].Selected then
begin
abunzipper1.FileName := openpf;
abunzipper1.BaseDirectory := extractfilepath(openpf);
runfile := extractfilepath(openpf)+slistview1.Items[i].Caption;
abunzipper1.ExtractFiles(runfile);
abunzipper1.OpenArchive(openpf);
shellExecute(0,
        Nil,
        PChar(runfile),
        Pchar(''),
        Pchar('C:\StartDir'),
        SW_NORMAL);
        label2.Caption := runfile;
        end;
end;
end;

du solltest um dateien auszuführen ins temp verzeichnis von windows entpacken.

Zitat:

Zitat von -Phantom-
...und wie formatiere ich mein code den richtig?

wenn du deinen code nicht selbst formatieren magst, schau mal hier:
http://www.aew.wur.nl/UK/Delforexp/

-Phantom- 10. Apr 2010 17:50

Re: Datei in einer zip löschen
 
Ich habe es nun auch geschafft die Dateien zulöschen...
Delphi-Quellcode:
 
var
filesource, filedest,datei, d2,filen: String;
i : Integer;
begin
// bei vista öffnen
if (windowsversion = '6.0') and (slabel1.Caption = 'Öffnen') then begin
filesource := openpf;
createdir('C:\Program Files\Ultimate Zip\temp2\');
filen := 'C:\Program Files\Ultimate Zip\temp2\';
filedest := 'C:\Program Files\Ultimate Zip\temp2\'+Extractfilename(openpf);
CopyFile(PChar(fileSource), PChar(fileDest), True);
abzipper1.CloseArchive;
abunzipper1.CloseArchive;
deletefile(openpf);
abunzipper1.FileName := filedest;
abunzipper1.BaseDirectory := Extractfilepath(filedest);
abunzipper1.ExtractFiles('*.*');
abunzipper1.CloseArchive;
abzipper1.CloseArchive;
deletefile(filedest);
for i := 0 to slistview1.Items.Count -1 do
begin
if slistview1.Items[i].Selected then begin
datei := StringReplace(slistview1.Items[i].Caption,'/','\',[rfReplaceAll]);
d2 := filen+Extractfilename(datei);
label2.Caption := d2;
deletefile(d2);
zz2(openpf);
DeleteFile('C:\Program Files\Ultimate Zip\temp2\*.*');
slistview1.Items.Delete(i);
end;
end;
// ist nicht grade Elegant gelöst, aber gelöst


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:05 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz