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