Thema: Delphi Datei in Zip Archiv

Einzelnen Beitrag anzeigen

-Phantom-

Registriert seit: 26. Nov 2009
Ort: Bockhorst
319 Beiträge
 
Delphi 7 Enterprise
 
#1

Datei in Zip Archiv

  Alt 17. Dez 2010, 15:10
Hey Leute,

wie ihr vielleicht schon mitbekommen habt ich bin grade an einem Zip programm, läuft auch so weit gut. Im Programm kann man einstellen ob man den Verzeichnisnamen mit speichern will oder nicht. Nur wirds komisch ^^. Wenn man nun sagt verzeichnisnamen nicht mit Speichern und eine Datei hinzfügen will, die aber im selben Pfad ( unterordner usw ) auch vorhanden ist, bircht das Programm mit der Fehlermeldung "Duplicate Internal Name" ab. Wenn man aber sagt Verzeichnisnamen mit speichern klappt alles wunderbar und auch wenn die Datei im in selbern Pfad nicht vorhanden ist.

Hier mein Quelltext:
Delphi-Quellcode:
 begin
    i2 := add.Files.Count;
    for i := 0 to i2 - 1 do
    begin
      neudatei := Extractfilename(add.Files[i]);
      Item := Dateilist.Items.add;
      Item.Caption := neudatei;
      if feinstellungen.checkbox1.Checked then begin // Das hat nichts mit Hinzufügen der Datei zutun, nur das der Pfad richtig angezeigt wird
      posi := pos('\',add.Files[i]);
      teilstring := copy(add.Files[i],posi+1);
       Item.SubItems.add(Extractfilename(lblpfad.Caption) + '/' + teilstring);
      end ELSE
       Item.SubItems.add(Extractfilename(lblpfad.Caption) + '/' + neudatei);
      try
       fneu.zip.FSpecArgs.add(add.Files[i]);
        fneu.zip.add; // Mit f5 und f8 habe ich herrausgefunden, das hier das Problem liegt, aber welches?
       fneu.zip.ZipComment := fneu.smemo1.Text;
      except
        fehlerhin := True;
      end;
    end;
    for iz := 0 to Dateilist.Items.Count - 1 do
    begin
      Item2 := Dateilist.Items[iz];
      Item2.SubItems.add(inttostr(fneu.zip[iz].CompressedSize) + ' B');
      Item2.SubItems.add(datetostr(fneu.zip[iz].DateStamp));
    end;
    lblstatus.Caption := 'Dateien wurden hinzugefügt';
    if (dialogshow) and not(fehlerhin) then
      showmessage('Datei/en wurden erfolgreich hinzugefügt');
    Dateilist.Enabled := True;
    lblanzahl.Caption := inttostr(fneu.zip.Count);
    lblag.Caption := inttostr(fneu.zip.ZipFileSize div 1024) + ' KB';
    if fehlerhin then
      lblstatus.Caption := 'Fehler beim hinzufügen';
  end
  ELSE
    lblstatus.Caption := '-----';
Ich hoffe einer von euch hat die passende Antwort

PS: Ich benutze zum Hinzufügen der Dateien die Komponente : ZipMaster19

Gruß

Mathias Jansen
Mathias Jansen
  Mit Zitat antworten Zitat