[gelöst] Txt-Datei mit Navision zippen?

15. November 2006 11:08

Guten Morgen zusammen,

gibt es eine Möglichkeit, eine per Dataport bzw. Report erzeugte Datei anschließend noch zu zippen? Hat das jemand schon einmal ausprobiert?

Danke für eure Tips.
Zuletzt geändert von fragglet am 17. November 2006 10:38, insgesamt 1-mal geändert.

15. November 2006 11:38

Ja, das geht grundsätzlich. Die Funktionen müssen programmiert werden. Ich schreibe die TXT-Datei jeweils in einen speziellen Ordner, von welchem ich sie dann in das zip-File übernehme.

Dazu habe ich eine Einrichtung, in welcher die zip-Einstellungen hinterlegt werden können, so in der Art (siehe Attachement):

Hier das Code-Beispiel, wie ich die Komprimierung gelöst habe:

Code:
WITH SendDocSetup DO BEGIN

  GET;

  DatenKomprProgrName := "ZIP Program Directory" + "ZIP Program Name";

  // Befehlszeile vorbereiten. Ohne/mit Verschlüsselung
  IF "Passwort ZIP Program" = '' THEN BEGIN
    Befehlszeile :=
      DatenKomprProgrName + ' ' +
      "Parameter ZIP Program" +' '+
      _ZielOrdner + _ZielDatei + ' ' +
      _QuellOrdner + _QuellDatei;
  END ELSE BEGIN
    Befehlszeile :=
      DatenKomprProgrName +' '+
      "Parameter ZIP Program" +' '+
      "Passwort ZIP Program" +' '+
      _ZielOrdner + _ZielDatei +' '+
      _QuellOrdner + _QuellDatei;
  END;

  BatDateiName := "Batchfile Directory" + 'Mail.bat';

  IF EXISTS(BatDateiName) THEN
    ERASE(BatDateiName);

  BatDatei.TEXTMODE := TRUE;
  BatDatei.WRITEMODE := TRUE;
  BatDatei.QUERYREPLACE := FALSE;
  IF NOT BatDatei.CREATE(BatDateiName) THEN
    ERROR('Batchdatei %1 konnte nicht angelegt werden.',BatDateiName);

  BatDatei.WRITE('@ECHO OFF');
  BatDatei.WRITE(Befehlszeile);
  BatDatei.CLOSE;

  // Datei zippen - ReturnValue für modale Ausführung
  ShellReturnCode := SHELL(BatDateiName);

END;
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

17. November 2006 10:15

Vielen Dank Rotsch!